候选码:如果一组属性集能唯一地标识一个关系中的元组而又不含有多余的属性,则称该属性集为该关系的候选码 。(候选码可能不止有一个)
主码:用户选定的那个候选键称为主键
例子:邮寄地址(城市名,街道名,邮政编码,单位名,收件人)
它有两个候选键:{城市名,街道名} 和 {街道名,邮政编码}
如果我选取{城市名,街道名}作为唯一标识实体的属性,那么{城市名,街道名} 就是主码
关系模式关系名和其属性集合的组合称之为关系模式。
关系模式例子:课程关系表(课程号,课程名,学时)
提示:关系模型就是关系模式组成的集合
域关系模型要求元组的每一个分量都是原子性的,也就是说,它必须属于某种元素类型,如Integer、String等等,不能是列,集合,记录,数组!
域就代表着该元组中每个分量的类型,从上面的图我们可以看出,它的域是这样的:课程号:string,课程名:string,学时:int
数据库体系内部结构数据库的体系内部结构我们可以分为三层:
外模式
逻辑模式
内模式
三级模式的位置:
三级模式的作用:
逻辑模式逻辑模式是对数据库全部数据的整体逻辑结构的描述。
例子:现在我有一个数据库,操作权限、角色、用户之间的关系
于是有了以下的关系模式
权限关系(权限编号,权限名称,权限描述)
角色关系(角色编号,角色名称,角色描述)
用户关系(用户编号,用户名称,用户密码)
在数据库中所有关系模式的集合就组成了逻辑模式!
外模式外模式是对数据库用户能看见和使用的局部数据逻辑结构的描述,是与某一应用有关的数据的逻辑表示。
外模式是可以有多个的,外模式是用户和DBAS的接口,是对局部逻辑结构的描述!
当用户应用程序只需要显示用户名称和密码时:
用户关系(用户名称,用户密码)
在数据库中操作局部逻辑结构就称作为外模式!
内模式内模式是对数据库表物理存储结构的描述。它定义了数据的内部记录类型、记录寻址技术、索引和文件的组织方式及数据控制方面的内容
DB内部体系结构的两级映像两级映像分别是:
外模式和逻辑模式的映像
逻辑模式和内模式的映像
提出两级映射的概念有什么用呢?为什么需要有这两级映像呢??
当数据库的逻辑模式结构因某种原因修改时,只要没有改变逻辑模式中与外模式定义有关的属性及与其关系模式名的隶属关系,就可使外模式保持不变,从而不需修改应用程序。