《数据库课件1%-国防科大 1-第一章:数据库引言(2)》由会员分享,可在线阅读,更多相关《数据库课件1%-国防科大 1-第一章:数据库引言(2)(40页珍藏版)》请在金锄头文库上搜索。
1、本讲简要说明 授课目的与要求:知道怎样把一个现实世界的 问题用实体模型描述出来,供数据库应用系 统开发使用。 授课重点:实体模型的基本概念 授课难点:实体的联系 阅读章节:第1.2节 作业安排:p.30 第8-11题上讲要点 数据管理技术发展历史 什么是数据库技术 本门课程学习什么A/Q1 A/Q2 A/Q3 DBMS 数据库 DBA 数据库系统 存储的数据 存储数据的定义 (元数据) tools :Form,Window,Query ,Report,Editor 处理查询 / 程序的软件 访问存储数据的软件我们可能担任的角色: Database Administrators(DBA) Dat
2、abase Designers System Analysts and Application Programmer DBMS Designers and Implementors Tool Developers Operators and Maintenance Personnel软件生命周期 需求分析 概要设计 详细设计 实现 可行性研究 组装测试 确认测试 使用 维护 退役 软件定义: 软件开发: 软件使用与维护 1.2 现实世界的数据建模 1.2.1 信息系统的建模过程1.2.2 实体模型 运用图形化呈現设计元素。有两个用途:一是用于 与用户沟通,明确需求;另一是作为下一步数据库 设计
3、的基础。 实体模型一般是用ER图构造一个纯粹反映现实世界 实体之间内在联系的模型,然后再将此模型转换成 选定的DBMS上的数据模型。 Entity-Relationship Modeling Notition Chen Notation Crows Feet Notation UML Notation1.2.2 实体模型 1.实体与实体类型 实体:可以区分的客观 事物和概念。 实体类型:具有共性的 一类实体。 在ER图中实体类型用带 名字的矩形框表示。某公司数据库需求说明: 1. 公司分若干部门,每个部门有一个名字,一个编号和 一个管理该部门的雇员 ( 经理)并记录下该雇员开始 管理该部门的日
4、期,一个部门可以分散在几个地点。 2. 一个部门控制若干项目,每个项目有一个名字,一个 编号和一个单独的地点。 3. 保存每个雇员的名字、雇员ID 号、地址、工资、性别 和出生日期。一个雇员隶属一个部门但可在由不同部 门控制的几个项目中工作,要求记录雇员每周在各个 项目中工作的时数,并指明其上司。 4. 保存雇员的所有赡养人的信息,包括姓名、性别、出 生日期及与雇员之间的关系。 1.2.2 实体模型“公司”例子中的四个实体类型: Department Project Employee Dependent 1.2.2 实体模型2. 属性 属性:实体特征的描述。在ER 图中用方框内的属性名称 表示
5、。同一实体类型的实体具有相同的属性 。 域:属性取值的范围。 同一类型的不同实体在各个属性上的取值可能不同。 原子属性:域由简单值组成。 组合属性:由原子属性和其他组合属性构成,域为结构值 组成。 单值属性:域中的元素为单个值。 多值属性:域中的元素为集合。 候选关键字:能唯一标识实体的属性或极小属性组。 主关键字 组合关键字 1.2.2 实体模型某公司数据库需求说明: 1. 公司分若干部门,每个部门有一个名字,一个编号和一 个管理该部门的雇员(经理)并记录下该雇员开始管理 该部门的日期,一个部门可以分散在几个地点 。5 2. 一个部门控制若干项目,每个项目有一个名字,一个编 号 和一个单独的
6、地点 。4 3. 保存每个雇员的名字 、 雇员ID 号 、 地址 、 工资 、 性别 和 出生日期。一个雇员隶属一个部门但可在由不同部门 控制的几个项目中工作,要求记录雇员每周在各个项目 中工作的时数,并指明其上司 。9 4. 保存雇员的所有赡养人的信息,包括姓名、性别、出生 日期及与雇员之间的关系 。5 1.2.2 实体模型“Employee”类型的属性: ID PK name fname minit lname sex birthdate address department supervisor salary workOn1.3 project hours Employee 组合属性 多
7、值属性 主关键字 Employee ID PK 带主属性的实体类型 带属性的实体类型某公司数据库需求说明: 1. 公司分若干部门,每个部门有一个名字,一个编号和一 个管理该部门的雇员(经理)并记录下该雇员开始管理 该部门的日期,一个部门可以分散在几个地点 。5 2. 一个部门控制若干项目,每个项目有一个名字,一个编 号 和一个单独的地点 。4 3. 保存每个雇员的名字、雇员ID 号 、地址、工资、性别 和出生日期。一个雇员隶属一个部门但可在由不同部门 控制的几个项目中工作,要求记录雇员每周在各个项目 中工作的时数,并指明其上司 。9 4. 保存雇员的所有赡养人的信息,包括姓名、性别、出生 日期
8、及与雇员之间的关系 。5 1.2.2 实体模型“Department”类型的属性: Department number PK name location manager managerStartDate 1.2.2 实体模型某公司数据库需求说明: 1. 公司分若干部门,每个部门有一个名字,一个编号和一 个管理该部门的雇员(经理)并记录下该雇员开始管理 该部门的日期,一个部门可以分散在几个地点 。5 2. 一个部门控制若干项目,每个项目有一个名字,一个 编 号 和一个单独的地点 。4 3. 保存每个雇员的名字、雇员ID 号 、地址、工资、性别 和出生日期。一个雇员隶属一个部门但可在由不同部门 控
9、制的几个项目中工作,要求记录雇员每周在各个项目 中工作的时数,并指明其上司 。9 4. 保存雇员的所有赡养人的信息,包括姓名、性别、出生 日期及与雇员之间的关系 。5 1.2.2 实体模型“Project”类型的属性: Project Number PK name location controllingDepartment 1.2.2 实体模型3. 联系类型 Department Project Control 设D 、P为两个实体类型,C 为它们之间 的联系,那么 C D P 。 1.2.2 实体模型 对于实体间关联性的表示 在ER图中用方框之间的连线表示联系的度 度 : 参与联系的实体类
10、型的数目(n)。 R E 1 E 2 E n 二元联系(n=2 ) 多元联系(n2 ) 1.2.2 实体模型在一个特定联系中,一个参与实体类型的 某个实例,可能与另一参与实体类型的实例发 生关联的个数(或范围)。 E R D e 1 r 1 d 1 e 2 r 2 d 2 e3 r3 d3 e n r p d m 联系的约束 1.2.2 实体模型 min.max ,0 min max min.max ,0 min max多元联系 Instructor Semester Course Offers 0.3 0.* 0.2 多元关系多样性:在一个n元关系中,当其中(n-1) 个实体类型的值确定后,
11、另一个参与实体类型可能参 与联系的实例的数目(或范围)。 1.2.2 实体模型二元联系的基数约束 一对一(1:1 ) 一对多(1:* ) 多对多(*:* ) 1.2.2 实体模型1) 一对一联系(1 1 ) 如果A中的任一实体至多对应于B中的一个实体; 反过来,B中的任一实体,也至多对应于A中的一 个实体,则称A 对B是一对一的联系。 1.2.2 实体模型2) 一对多联系(1 N ) 如果A 中至少有一个实体对应于B中一个以上实 体;但B 中 任一个实体至多对应于A中的一个实体, 则称A 与B是一对多联系。 1.2.2 实体模型3) 多对多联系(M N ) 如果A 中至少有一个 实体对应于B中
12、一个以上实 体;反过来B 中也 至少有 一个实体对应于A中一个以 上实体,则称A 与B 是多对多联系。 1.2.2 实体模型 Employee Project Work-on 1:* 0:3参与约束 参与:确定是否所有的实体实例还有只有一部分实体 实例参与一个联系。参与约束表示是否一个实体类 型的所有实例都参与一个特定的联系(称为强制参 与)或只有一部分实体实例参与(称为可选参 与)。 Min=0:另一方为部分参与,否则为完全参与。 1.2.2 实体模型 Employee Project Work-on 1:* 0:3递归联系 Employee Supervisee Supervisor 角色
13、名 1.2.2 实体模型联系的属性 Project Employee Work_on hours SSN number 1.2.2 实体模型4. 弱实体类型与弱实体联系 现实世界中存在一类特殊的实体,其 存在依赖于另一实体,且本身不具有关键 属性,这类实体称为弱实体。弱实体有时 也称为子实体,依赖实体或从属实体。强 实体则称为父实体,属主实体或支配实 体。 在具体设计实体模型,对此类弱实 体,即可处理为实体,亦可作为所有者实 体的一个多值组合属性。 1.2.2 实体模型Dependent Employee 前例 Depentsof 1.2.2 实体模型前例联系 DEPARTMENT PROJECT EMPLOYEE DEPENDENT manages Work_for control Depentsof supervision Work_on 1.1 0.* 1.* 0.3 1.1 0.* 1.2.2 实体模型