数据库的模式(Schema)是对现实世界的抽象,是对数据的逻辑结构和特征的描述。
A,三级模式:外模式,模式和内模式。
1,与数据库结构的对应
模式 => 概念级:面向建立和维护数据库人员;
外模式 => 用户级:面向用户或应用程序员;
内模式 => 物理级:面向系统程序员;
2,分类
模式:数据库设计者综合所有用户的数据,是对数据库中全部数据的逻辑结构和特征的总体描述。由DDL描述定义;
DDL(CRUD):Create,Drop,Alter,Grant,Revoke,Truncate etc;
外模式:某个或几个用户的数据库视图,是与某一应用有关的数据逻辑的表示,是模式的一个子集。由DML描述定义;
DML(CRUD):Create,Read,Update,Delete;
内模式:描述数据在存储介质上存储方式的物理结构,对应实际存储在外存储介质上的数据库。
B,二级映像:外模式和模式映像,模式和内模式映像
1,作用:DBMS实现三个模式之间的联系和转换;
2,分类
外模式和模式映像:保证数据与程序的逻辑独立性。定义外模式与模式之间的关系。
映像定义在外模式的描述中,模式改变,DBA对相关映像做出改变,以使外模式不变,因为应用程序是依据数据的外模式编写,所以,外模式不变,程序就不需改变;
模式和内模式映像:保证数据与程序的物理独立性。定义数据库全局逻辑结构与存储结构之间的关系。
映像定义在模式的描述中,数据库的存储结束,DBA对相关映像做出改变,以使模式不变。模式不变,与模式没有直接联系的应用程序也不会改变。
C:范式:设计关系型数据库的准则
首先,数据库有比较通用的3种模型: 层次结构模型,网状结构模型,关系结构模型。
第一范式:数据表中的字段都是单一属性的,不可再分。
例:身份证号,电话号码{固机号码,手机号码} => 身份证号,固机号码,手机号码
第二范式:数据库表中不存在非关键字段对任一候选关键字段部分函数依赖。
组合主键(AB)中的A或B与其他字段C不能存在组合重复,即,A和B是主键,那么就不能存在C由A或是B纯粹的决定
第三范式:数据库表中不存在非关键字段对任一候选关键字段的传递函数依赖。
传递函数依赖,如果存在A决定B,B决定C的关系,则C传递函数依赖于A.