软件设计师之数据库系统
1.数据库模式
1.1三级模式-两级映射
- 三级模式
- 模式: 模式又称概念模式或逻辑模式,是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。
- 外模式:又称子模式;它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行处理。外模式反映了数据库的用户观(视图、查出数据的表)。
- 内模式:又称存储模式;它是数据库中全体数据的内部表示或底层描述,它描述了数据在存储介质上的存储方式及物理结构(顺序存储、按照B树结构存储还是按hash方法存储),对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
- 两级映射
- 外模式一模式映射:定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变。
- 模式一内模式映射:定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。
1.2数据库设计过程
2.ER模型
方框表示实体,椭圆表示属性,菱形表示联系。
一般都是先画局部的,然后再集成全部的ER图
- 集成的方法:
- 多个局部ER图一次集成
- 逐步集成,用累加的方式一次集成两个局部ER
- 集成产生的冲突及解决办法:
- 属性冲突:包括属性域冲突和属性取值冲突
- 命名冲突:包括同名异议和属性取值冲突
- 结构冲突:包括同一对象在不同应用中具有不用的抽象,以及同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同 。
联系:
- 一个实体型转换为一个关系模式
- 1:1联系:一个实体转成一个关系模式,把联系放在任何一个实体记录下来
- 1:n联系:每个实体要转成一个单独的关系模式,可以把联系单独转成一个关系模式,这个做法不是必须的。也可以把联系放到多的那一端。
- m:n联系:每个实体要转成一个单独的关系模式,联系也要转成一个关系模式。
- 三个以上实体间的一个多元联系
3.关系代数与元组演算
主要以选择题出现
并,交,差,笛卡尔积,投影,选择,联接
并:把两个内容合在一起,并将一样的内容只显示一次
交:把两个内容相同的,显示出来。
差:我有的你没有
笛卡尔积:前面的几个字段来自于S1,后面的几个字段来自于S2。把参与笛卡尔积的属性一一列出来。记录的产生是S1的第一条记录要和S2的所有记录进行一次组合形成一条组合。
笛卡尔积不会把相同的部分去掉
投影和选择:
投影是选列的操作,
选择的是选行的操作
联接:
联接会把相同的部分去掉
等值联接:S1 Sno = S2 Sno