Access数据库第2课ER模型和创建数据库

数据库技术及应用-Access 第2课 ER模型 Access数据库 2.1 概念模型及其表示方法 1、概念模型的定义 概念模型是对显示世界的抽象反映,它不依赖于具体的计算机系统,是现实世界到机器世界的一个中间层次。 2、信息实体的概念 实体(Entity):客观存在并可以相互区分的事物。既可以是具体的事物也可以是抽象的概念或者事物间的联系。 属性(Attribute):实体所具有的某一特征,一个实体可以由若干个属性来刻画。 键(Key):又称为码,唯一标识实体的属性集,也叫关键字。 域(Domain):某个(些)属性的取值范围。 联系(Relationship):两类 实体内部的联系,如组成实体的属性之间的联系。 实体之间的联系。 3、实体之间的联系 1对1联系 例子:部门 ------- 经理 1对多联系 例子:部门 ------- 职工 多对多联系 例子:项目 ------- 职工 5、ER模型的图形描述 使用长方形来表示实体型,框内写上实体名。 椭圆型表示实体的属性,并用无向边把实体和属性连接起来。 用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型,若实体之间联系也具有属性,则把属性和菱形也用无向边连接上。 6、概念模型示例 举例:用E-R图表示某个工厂的物资管理的概念模型 实体有: 仓库:属性有仓库号、仓库面积、电话号码。 零件:属性有零件号、名称、规格、单价、描述。 供应商:属性有供应商号、姓名、地址、电话号、帐号。 项目:属性有项目号、预算、开工日期。 职工:属性有职工号、姓名、年龄、职称。 概念模型示例(续) 实体之间的联系如下: 一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。某种零件在某个仓库中的数量用库存量描述。 一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。 概念模型示例(续) 如果某个部门的概念模型中涉及的实体和实体属性较多,可以把实体及其属性在另一个图上画出 概念模型示例(续) 2.2 概念模型设计 局部ER图设计 合成全局ER图 1 局部概念模型设计 明确局部应用的范围 选择实体,确定实体的属性及关键字 将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、属性、实体的码 确定实体之间的联系,产生局部ER模型 确定实体之间的联系及其类型(1:1,1:n,m:n) 集成局部E-R图的步骤 消除冲突,合并各分ER模型 属性冲突 命名冲突 结构冲突 消除冗余,得到基本ER模型 (一)消除冲突 两类属性冲突 属性域冲突:属性值的类型、取值范围或取值集合不同。 例, 由于学号是数字,因此某些部门(将学号定义为整数形式,而另一些部门(将学号定义为字符型形式。 (2)命名冲突 两类命名冲突 同名异义:不同意义的对象在不同的局部应用中具有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间 异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材 (3)结构冲突 三类结构冲突 同一对象在不同应用中具有不同的抽象 例,“课程”在某一局部应用中被当作实体 在另一局部应用中则被当作属性 2.3 ER图转换为关系 转换原则 ⒈ 一个实体型转换为一个关系模式。 关系的属性:实体型的属性 关系的码:实体型的码 例,学生实体可以转换为如下关系模式:   学生(学号,姓名,出生日期,所在系, 年级,平均成绩) 性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。 ⒉ 一个m:n联系转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:各实体码的组合 例,“选修”联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:   选修(学号,课程号,成绩) ⒊ 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 1) 转换为一个独立的关系模式 关系的属性:与该联系相连的各实体的码以及联系本身的属性 关系的码:n端实体的码 2) 与n端对应的关系模式合并 合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性 合并后关系的码:不变 可以减少系统中的关系个数,一般情况下更倾向于采用这种方法 例,“组成”联系为1:n联系。 将其转换为关系模式的两种方法: 1)使其成为一个独立的关系模式:   组成(学号,班级号) 2)将其学生关系模式合并: 学生(学号,姓名,出