




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第第4 4章章 数据库建模数据库建模 ( (实体实体- -联系模型联系模型) ) 目目 录录4.6数据库设计过程数据库设计过程 4.1E-R模型基本概念及表示模型基本概念及表示4.2约束约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型数据库设计过程数据库设计过程概述概述数据库设计即是数据建模过程。数据库设计即是数据建模过程。数据模型数据模型就是对现实世界的模拟。就是对现实世界的模拟。通过数据模型可以对现实世界的数据特征进行通过数据模型可以对现实世界的数据特征进行抽象抽象 根据数据
2、抽象的不同级别,将数据模型划分为根据数据抽象的不同级别,将数据模型划分为3类:类:n概念模型概念模型:概念层次的数据模型,也称为信息模型:概念层次的数据模型,也称为信息模型n逻辑模型逻辑模型:用于描述数据库数据的整体逻辑结构:用于描述数据库数据的整体逻辑结构 n物理模型物理模型:用来描述数据的物理存储结构和存取方法:用来描述数据的物理存储结构和存取方法 概念模型信息世界图1-6 现实世界中客观对象的抽象过程现实世界认识抽象DBMS支持的逻辑模型DBMS支持的物理模型逻辑机器世界物理机器世界数据库设计过程概述数据库设计过程概述需求分析需求分析物理设计物理设计 概念设计概念设计 逻辑设计逻辑设计
3、模式求精模式求精 应用与安全设计应用与安全设计 需求分析需求分析 n整个数据库设计过程的基础,也是最困难和整个数据库设计过程的基础,也是最困难和耗时的一步。耗时的一步。n目标:了解和分析系统将要提供的目标:了解和分析系统将要提供的功能功能及未及未来数据库用户的来数据库用户的数据需求数据需求,包括:,包括:n功能需求功能需求n存储的数据存储的数据nn数据使用业务规则数据使用业务规则n数据联系及约束数据联系及约束n性能需求性能需求n方法:数据库设计者同应用领域的专家方法:数据库设计者同应用领域的专家和用户进行深入沟通和交流。和用户进行深入沟通和交流。n结果:形成用户的结果:形成用户的需求规格说明书
4、需求规格说明书。需求分析需求分析 概念设计概念设计 n概念设计是根据需求分析中得到的信息,运用适当的概念设计是根据需求分析中得到的信息,运用适当的工具工具将这些需求转化为将这些需求转化为数据库的概念模型数据库的概念模型。nE-R模型模型是是Peter Chen于于1976年提出的一种年提出的一种语义模语义模型型。该模型是基于对现实世界的这样一种认识:。该模型是基于对现实世界的这样一种认识:世界世界由一组称作实体的基本对象及这些对象间的联系组成由一组称作实体的基本对象及这些对象间的联系组成。由于它能将现实世界中概念的含义和相互关联映射到由于它能将现实世界中概念的含义和相互关联映射到数据库概念模型
5、,因此许多数据库设计工具都利用了数据库概念模型,因此许多数据库设计工具都利用了E-R模型的概念。模型的概念。n本章本章基于基于E-R模型模型进行进行数据库概念设计数据库概念设计,其目,其目的是通过的是通过实体实体、联系联系、属性属性等概念和工具精确等概念和工具精确地描述系统的数据需求、数据联系及约束规则。地描述系统的数据需求、数据联系及约束规则。 n结果:结果:E-R图(实体、联系及属性)图(实体、联系及属性) 概念设计概念设计 逻辑设计逻辑设计 n本步骤是将数据库的概念设计转化为所选择本步骤是将数据库的概念设计转化为所选择的数据库管理系统支持的的数据库管理系统支持的逻辑数据模型逻辑数据模型,
6、即,即数据库模式数据库模式。n常见逻辑模型常见逻辑模型n层次,网状,关系数据库层次,网状,关系数据库(本书重点讨论)(本书重点讨论)n面向对象面向对象nXML物理设计物理设计 n考虑数据库要支持的负载和应用需求,为逻考虑数据库要支持的负载和应用需求,为逻辑数据库选取一个最适合现实应用的物理结辑数据库选取一个最适合现实应用的物理结构,包括构,包括:n数据库文件组织格式数据库文件组织格式n内部存储结构内部存储结构n建立索引建立索引n表的聚集表的聚集n 模式求精模式求精n模式求精模式求精的任务是的任务是分析并发现逻辑模式存在的问题,分析并发现逻辑模式存在的问题,并进行改进和优化。并进行改进和优化。n
7、需求分析与概念设计是根据需求分析与概念设计是根据主观认识主观认识进行的,但模进行的,但模式求精则是基于式求精则是基于关系理论关系理论对相关逻辑模式进行优化。对相关逻辑模式进行优化。 应用与安全设计应用与安全设计 一个数据库系统必须指出一个数据库系统必须指出n哪些用户可以访问数据库?哪些用户可以访问数据库?n他们通过哪些存储过程访问数据库?他们通过哪些存储过程访问数据库?n每个用户在每个过程中扮演什么样的角色?每个用户在每个过程中扮演什么样的角色?n对于每个角色,他们能够存取数据库的哪些部分对于每个角色,他们能够存取数据库的哪些部分和不能存取哪些部分?和不能存取哪些部分?完整的数据库设计是不可能
8、一蹴而就的,完整的数据库设计是不可能一蹴而就的,它往往是上述它往往是上述6 6个步骤的不断反复的过程个步骤的不断反复的过程! ! 需求分析需求分析物理设计物理设计 概念设计概念设计 逻辑设计逻辑设计 模式求精模式求精 应用与安全设计应用与安全设计 本章内容本章内容第五章第七章第九章 目目 录录4.6数据库设计过程数据库设计过程 4.1E-R模型基本概念及表示模型基本概念及表示4.2约束约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型实体与实体集实体与实体集 n实体实体是是客观世界中
9、可区别于其他事物的客观世界中可区别于其他事物的“事物事物”或或“对象对象”。n实体特征:实体特征:n独立存在。独立存在。n可区别于其它实体。可区别于其它实体。n实体可以是实体可以是有形的、实在的有形的、实在的事物,如一名事物,如一名教师教师、一本、一本书书等;等;n也可以是也可以是抽象的、概念上抽象的、概念上的事物,如一门的事物,如一门课程课程、一个、一个专业专业,以,以及一次及一次订货订货、借书借书、选课选课、存款存款或或取款取款等业务产生的等业务产生的单据单据。n但是,二者都应是组织或机构但是,二者都应是组织或机构“感兴趣感兴趣”的事物。的事物。 n实体集实体集是是具有相同类型及相同性质具
10、有相同类型及相同性质(或属性或属性)的实体组成的集合的实体组成的集合 属属 性性 n属性属性是是实体集中每个实体都具有的特征描述实体集中每个实体都具有的特征描述。n一实体集中所有实体都具有相同的属性。一实体集中所有实体都具有相同的属性。n例如,例如,学生学生实体集中的每个实体都具有:实体集中的每个实体都具有: 学号、学号、姓名、性别、出生日期、年龄、所学专业、电姓名、性别、出生日期、年龄、所学专业、电话号码、家庭住址、所在班级话号码、家庭住址、所在班级等属性。等属性。 n对每个属性来说,一个实体都拥有自己的对每个属性来说,一个实体都拥有自己的属性值属性值。 n每个属性所允许的取值范围或集合称为
11、该每个属性所允许的取值范围或集合称为该属性的域属性的域。图图4-1 学生学生实体集的属性域及学生李小勇的属性值实体集的属性域及学生李小勇的属性值 属性名属性名属性类别属性类别域及约束域及约束实例实例 学号学号主码主码char(10),10位数字组成位数字组成,其中第其中第1位数字代表学位数字代表学生类别,如:生类别,如:1-本科生,本科生,2-硕士研究生,硕士研究生,3-博士研究博士研究生,生,4-独立学院本科生,独立学院本科生,5-专科生;接下来专科生;接下来4位数字代位数字代表入学年份;最后表入学年份;最后5位数字为序号。不允许取空值位数字为序号。不允许取空值 1201100258 姓名姓
12、名 varchar(20),不允许取空值,不允许取空值 李小勇李小勇 性别性别 char(2),取值范围:,取值范围:男男, 女女 男男 出生日期出生日期 datetime,取值范围:,取值范围:1900-01-01当前当前 1992-09-09 年龄年龄 派生属性派生属性 smallint,取值范围:,取值范围:1080 19 所学专业所学专业 varchar(30) 计算机科学与技术计算机科学与技术 电话号码电话号码 多值属性多值属性 varchar(13),每个电话号码由数字字符加,每个电话号码由数字字符加连字符连字符-组成组成家庭地址家庭地址 复合属性复合属
13、性 varchar(60) 湖北省武汉市中山湖北省武汉市中山路路56号号 所在班级所在班级 char(8),前,前4位数字代表年级位数字代表年级 20110803属性分类属性分类n简单属性和复合属性简单属性和复合属性 n简单属性简单属性是指不能再分为更小部分的属性。是指不能再分为更小部分的属性。n复合属性复合属性是指可以进一步划分为更小部分的属性。是指可以进一步划分为更小部分的属性。n学生学生实体集的实体集的家庭住址家庭住址可以进一步设计成包括可以进一步设计成包括省省份、城市、街道份、城市、街道等成分的属性。等成分的属性。 属性分类属性分类n单值属性和多值属性单值属性和多值属性 n如果某属性对
14、一个特定实体任何时候都只能有单如果某属性对一个特定实体任何时候都只能有单独的一个值,则称该属性为独的一个值,则称该属性为单值属性单值属性,否则为,否则为多多值属性值属性。 n学号学号为为单值属性单值属性。n由于一个学生可能有由于一个学生可能有0个、个、1个或多个电话号码个或多个电话号码(如如实验室电话、宿舍电话、移动电话实验室电话、宿舍电话、移动电话等等),因,因此此学生学生实体集的实体集的电话号码电话号码为为多值属性。多值属性。属性分类属性分类n派生属性派生属性 n派生属性派生属性的值可以从其它相关的值可以从其它相关属性属性或或实体实体(集集)派派生出来。生出来。n一个一个学生学生的的年龄年
15、龄属性的值,可以由该学生的属性的值,可以由该学生的出出生日期生日期属性的值和属性的值和当前日期当前日期计算得到。计算得到。 n学生学生实体集的实体集的已修学分已修学分(表示表示该学生所选修课该学生所选修课程的学分合计程的学分合计)属性的值,它可以通过统计该属性的值,它可以通过统计该学生学生所选修所选修所有所有课程课程实体的实体的学分学分之和来获得。之和来获得。 属性分类属性分类n空值空值(NULL)n当实体在某个属性上没有值时可使用当实体在某个属性上没有值时可使用NULL值,表值,表示属性的值是示属性的值是未知的未知的或或不存在不存在。n不知道某学生的专业不知道某学生的专业(所学专业所学专业的
16、值未知的值未知)或该或该学生还没有分配专业学生还没有分配专业(所学专业所学专业的值不存在的值不存在),则该学生则该学生所学专业所学专业的值为的值为NULL。 n某学生的某学生的出生日期出生日期为为NULL,则认为该值是缺失,则认为该值是缺失的的(即即值未知值未知)。实体集及属性的实体集及属性的E-R图表示图表示n在在E-R图中,实体集和属性分别表示如下:图中,实体集和属性分别表示如下:n实体集实体集矩阵矩阵n属性属性椭圆椭圆n多值属性多值属性双椭圆双椭圆n派生属性派生属性虚线椭圆虚线椭圆n属性与实体之间属性与实体之间连线连线 图图4-2 学生学生实体集实体集 E-R图表示图表示图图4-3 课程
17、课程实体集实体集 E-R图表示图表示家庭住址省份城市街道学生学生电话号码学号学号姓名性别出生日期年龄所在班级所学专业课程课程课程名称课程号课程号学分课时数先修课程号多值属性的变换多值属性的变换n将多值属性转换为多个单值属性进行建模。将多值属性转换为多个单值属性进行建模。例如,可将例如,可将多值属性多值属性电话号码电话号码建模为建模为移动电话、宿舍电话、实验室电移动电话、宿舍电话、实验室电话、家庭电话话、家庭电话4个单值属性,如图个单值属性,如图4-4所示。所示。 学生学生家庭住址省份城市街道移动电话宿舍电话实验室电话家庭电话学号学号姓名性别出生日期年龄所在班级所学专业图图4-4 学生学生实体集
18、中的实体集中的多值属性多值属性转换为多个转换为多个单值属性单值属性表示表示 联系与联系集联系与联系集 n联系联系(relationship)是指多个实体间的相互关联,是指多个实体间的相互关联,例如学生例如学生李小勇李小勇选修了选修了数据库系统原理数据库系统原理课程。课程。n联系集联系集是同类联系的集合。是同类联系的集合。 n形式化地说,形式化地说,联系集联系集是是n (n2)个实体集上的个实体集上的数学数学关系关系。nE-R图图用菱形表示联系用菱形表示联系(集集)。联系可具有自身的描。联系可具有自身的描述属性。述属性。学生学生课程课程选课选课成绩多联系与联系中的实体角色多联系与联系中的实体角色
19、 n多联系多联系:在相同的实体集上可能存在多个不同的联系集在相同的实体集上可能存在多个不同的联系集。如。如教师教师与与学生学生实体集之间同时存在实体集之间同时存在授课授课、指导指导联系集。联系集。 n角色角色:实体在联系中的作用实体在联系中的作用。如。如课程课程实体集中的实体集中的2门课程实门课程实体体C1、C2之间存在之间存在先修要求先修要求联系,其中联系,其中C1、C2扮演不同的扮演不同的角色角色,C1代表代表主课程主课程,C2代表代表先修课程先修课程,分别表示实体所,分别表示实体所扮演的扮演的角色角色。 教师教师学生学生授课授课指导指导课程课程先修要求先修要求主课程主课程先修课程先修课程
20、目目 录录4.6数据库设计过程数据库设计过程 4.1E-R模型基本概念及表示模型基本概念及表示4.2约束约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型约约 束束nE-R模型的约束主要有:模型的约束主要有:n 映射约束映射约束 n 码约束码约束 n 依赖约束依赖约束(不作要求不作要求) n 参与约束参与约束 (不作要求不作要求) 映射约束(实体联系)映射约束(实体联系) n映射基数映射基数n实体集中的一个实体通过一个联系集能同时与另一实体集中的一个实体通过一个联系集能同时与另一个实
21、体集相个实体集相联系的实体数目联系的实体数目。n在二元联系中,共有在二元联系中,共有4种映射基数:种映射基数:n1:1(一对一)(一对一)n1:m(一对多)(一对多)nm:1(多对一)(多对一)nm:n(多对多)(多对多)一对一联系(一对一联系(1 1:1 1) 实体集实体集A A中的每一个实体,若实体集中的每一个实体,若实体集B B中中至多至多只有一个实体与之联系,反之亦然,则只有一个实体与之联系,反之亦然,则称实体集称实体集A A与与B B是一对一的联系,记作是一对一的联系,记作1:11:1。 一对多联系(一对多联系(1 1:n n) 实体集实体集A A中一个实体可以同中一个实体可以同B
22、B中任意数目中任意数目( (可以为可以为0)0)的实体相联系,而的实体相联系,而B B中一个实体中一个实体至多至多( (允许不允许不) )同同A A中一个实体相联系。中一个实体相联系。多对多联系(多对多联系(m m:n n)n实体集实体集A A中的每一个实体,若实体集中的每一个实体,若实体集B B中有中有n(n=0)n(n=0)个实体与之联系,反之,实体集个实体与之联系,反之,实体集B B中的每一个实体,实体集中的每一个实体,实体集A A中有中有m(m=0)m(m=0)个个实体与之联系,则称实体集实体与之联系,则称实体集A A与与B B是多对多是多对多联系,记作联系,记作n:mn:m。 例如:
23、篮球比赛中球队与场上队长之间具有一对一的联系;球队与场上队长之间具有一对一的联系;n队长与队员之间具有一对多的联系;队长与队员之间具有一对多的联系;n队员与裁判之间为多对多的联系。队员与裁判之间为多对多的联系。n 在在E-R图中,为了反映联系集的映射基数,采用图中,为了反映联系集的映射基数,采用“”表表示指向参与联系集中的示指向参与联系集中的“一一”方实体集,线段方实体集,线段“”表表示参与联系集中的示参与联系集中的“多多”方实体集。方实体集。 映射基数的表示映射基数的表示销货单销货单开发票开发票发票发票(a) 一对一联系集一对一联系集开发票开发票班级班级包含包含学生学生(b) 一对多联系集一
24、对多联系集包含包含课程课程归属归属学院学院(c) 多对一联系集多对一联系集归属归属学院学院聘用聘用教师教师聘用日期码约束与联系集的属性安置码约束与联系集的属性安置 n实体集的码实体集的码 n超码超码(super key) 若一超码的任意真子集都不能成为若一超码的任意真子集都不能成为超码,则称该超码,则称该最小超码最小超码为为候选码候选码(candidate key)。n给定一组属性集,可能存在多个候选码。给定一组属性集,可能存在多个候选码。n假设假设学生学生实体集中不存在同名的学生,则实体集中不存在同名的学生,则学号学号和和姓名姓名都都可以用来唯一区分学生可以用来唯一区分学生 ,因此它们都可以
25、作为,因此它们都可以作为学生学生实实体集的候选码。体集的候选码。 n学号学号和和姓名姓名的组合是候选码吗?的组合是候选码吗?码约束与联系集的属性安置码约束与联系集的属性安置 n候选码候选码和和超码超码是实体集是实体集客观存在的特性客观存在的特性,它们表示实体集,它们表示实体集中任意两个实体不允许在码属性上有相同的值。中任意两个实体不允许在码属性上有相同的值。n主码主码是是被数据库设计者主观选中、用来区分同一实体集中被数据库设计者主观选中、用来区分同一实体集中不同实体的候选码不同实体的候选码。码约束与联系集的属性安置码约束与联系集的属性安置 n当一实体集存在多个候选码时,主码选择原则:当一实体集
26、存在多个候选码时,主码选择原则:n选择选择属性长度最短属性长度最短的候选码;的候选码;n选择选择包含单个属性包含单个属性的码,而不是复合候选码;的码,而不是复合候选码;n选择在数据库系统生命周期内选择在数据库系统生命周期内属性值最少变化属性值最少变化的的候选码;候选码;n选择在数据库系统生命周期内选择在数据库系统生命周期内更可能包含唯一值更可能包含唯一值的候选码。的候选码。码约束与联系集的属性安置码约束与联系集的属性安置 每一个每一个联系集联系集,也要求必须存在,也要求必须存在候选码候选码,并选择其中的,并选择其中的一个候选码作为一个候选码作为主码主码,用于唯一标识该联系集中的一个用于唯一标识
27、该联系集中的一个联系联系。 n联系集的码联系集的码 n假设假设R是一个涉及实体集是一个涉及实体集E1,E2, ,En的的联系集联系集,PK(Ei)代表构成实体集代表构成实体集Ei的的主码主码属性的集合,而属性的集合,而(e1, e2, e3, , en)是是R的一个的一个联系联系,那么,那么PK(E1) PK(E2) PK(En)构构成成联系集联系集的一个的一个超码超码。码约束与联系集的属性安置码约束与联系集的属性安置 n二元联系集二元联系集的的主码主码选择,依赖于选择,依赖于联系集的映射基数联系集的映射基数n一对一:一对一:主码可以使用参与联系集中的主码可以使用参与联系集中的任何一方任何一方
28、实体集的主码实体集的主码;n一对多一对多(多对一多对一):主码由主码由“多多”的一方实体集的的一方实体集的主码主码组成;组成;n多对多:多对多:主码由参与联系集中主码由参与联系集中所有实体集的主码所有实体集的主码组成。组成。码约束与联系集的属性安置码约束与联系集的属性安置 n联系集的属性安置联系集的属性安置 n一对一联系集的属性:一对一联系集的属性:可安置于任一边的实体集可安置于任一边的实体集上;上; n一对多联系集的属性:一对多联系集的属性:可安置于联系集上,也可可安置于联系集上,也可安置在多的那一边的实体集上;安置在多的那一边的实体集上; n多对多联系集的属性:多对多联系集的属性:它是描述
29、相关联实体集间它是描述相关联实体集间的交互性语义,因此,联系属性只能安置于联系的交互性语义,因此,联系属性只能安置于联系集上,不能放到相关联的实体集上去。集上,不能放到相关联的实体集上去。 目目 录录4.6数据库设计过程数据库设计过程 4.1E-R模型基本概念及表示模型基本概念及表示4.2约束约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型E-R建模的基本原则建模的基本原则n忠实性忠实性n设计应设计应忠实于应用需求忠实于应用需求,这是首要的也是最重要,这是首要的也是最重要的原则。即
30、实体集、属性、联系集都的原则。即实体集、属性、联系集都应当反映现应当反映现实世界实世界及根据所了解的现实世界去建模。及根据所了解的现实世界去建模。 n例如,例如,教师教师与与开课班开课班之间的联系集之间的联系集任教任教,是,是一对一对多多还是还是多对多多对多的联系集?的联系集?如果规定一个开课班可如果规定一个开课班可能安排多名教师共同任教,能安排多名教师共同任教,则则任教任教就是就是多对多多对多联联系集,联系属性为系集,联系属性为任教角色任教角色 (如如“主讲主讲”、“指指导实验导实验”、“辅导辅导”等等)。 教师教师任任教教教师教师任任教教(a) 一对多一对多的的任教任教联系集联系集(b)
31、多对多多对多的的任教任教联系集联系集任教角色开课班开课班开课班开课班E-R建模的基本原则建模的基本原则n 忠实性忠实性l设计应设计应忠实于应用需求忠实于应用需求,这是首要的也是最重要的原则。,这是首要的也是最重要的原则。即实体集、属性、联系集都即实体集、属性、联系集都应当反映现实世界应当反映现实世界及根据所了及根据所了解的现实世界去建模。解的现实世界去建模。 n 简单性简单性l除非有绝对需要,否则不要在设计中增加更多成分;除非有绝对需要,否则不要在设计中增加更多成分;l只需要对数据库使用者只需要对数据库使用者所关心、感兴趣的属性建模所关心、感兴趣的属性建模 。n 避免冗余避免冗余 l原则:原则
32、:一个对象只存放在一个地方一个对象只存放在一个地方选择实体集还是属性选择实体集还是属性 n通常满足下述两条规则,均可作为属性对待:通常满足下述两条规则,均可作为属性对待:n作为属性,不能再具有要描述的性质;作为属性,不能再具有要描述的性质;n属性不能和其它实体相联系属性不能和其它实体相联系。n如,如,开课班开课班弱实体集中的弱实体集中的上课地点上课地点,如果除了,如果除了教室编教室编号号之外,还需要描述更多信息,如之外,还需要描述更多信息,如所在教学楼、电话所在教学楼、电话号码、教室类型、教室容量号码、教室类型、教室容量等,则需将属性等,则需将属性上课地点上课地点转化为实体集转化为实体集教室教
33、室,以实现教室管理功能。,以实现教室管理功能。课程课程排课排课开课班开课班开课班号开课班号年份学期教室教室排时间排时间教室教室教室编号教室编号所在教学楼电话号码教室类型教室容量上课时间选择实体集还是属性选择实体集还是属性n选择实体集还是属性常犯选择实体集还是属性常犯两个错误两个错误:n将一实体集的主码作为另一实体集的属性将一实体集的主码作为另一实体集的属性,而不是,而不是使用使用联系联系;n将相关实体集的主码属性作为将相关实体集的主码属性作为联系集的属性联系集的属性。因为。因为联系集已隐含了实体集的主码属性。联系集已隐含了实体集的主码属性。选择实体集还是联系集选择实体集还是联系集 n一事物是描
34、述为实体集还是联系集并没有一个绝对一事物是描述为实体集还是联系集并没有一个绝对的标准。的标准。n通常原则通常原则:n实体对应于现实世界中实际存在的事物实体对应于现实世界中实际存在的事物,是名词。,是名词。n如如学生学生、教师教师和和课程课程是名词,可作为实体集建是名词,可作为实体集建模。模。n联系对应的概念一般为一种动作,即描述实体间联系对应的概念一般为一种动作,即描述实体间的一种行为的一种行为。n如如选课、授课选课、授课是动词,因此作为联系集建模。是动词,因此作为联系集建模。E-R模型总结模型总结n数据库设计过程数据库设计过程nE-R模型模型n实体、属性与实体集(实体、属性与实体集(复合、多
35、值属性复合、多值属性)n联系、联系属性与联系集、主码联系、联系属性与联系集、主码n映射基数(映射基数(1:1、1:n、m:1、m:n联系)联系)nE-R模型设计原则模型设计原则n忠实性、简单性、避免冗余忠实性、简单性、避免冗余n选择选择实体集实体集还是还是属性属性?n选择选择实体集实体集还是还是联系集联系集?需求分析需求分析物理设计物理设计 概念设计概念设计 逻辑设计逻辑设计 模式求精模式求精 应用与安全设计应用与安全设计 目目 录录4.6数据库设计过程数据库设计过程 4.1E-R模型基本概念及表示模型基本概念及表示4.2约束约束4.3概念设计实例概念设计实例大学选课系统大学选课系统4.7E-
36、R建模问题建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型 概念设计任务概念设计任务 n概念设计概念设计(即即E-R模型设计模型设计)主要是根据主要是根据需求分需求分析规格说明书析规格说明书完成如下任务完成如下任务:n定义定义实体集实体集及属性,实体集的及属性,实体集的主码主码,用,用E-R图及图及数据字典数据字典描述被建模的实体集;描述被建模的实体集;n定义定义联系集联系集及属性,联系集的及属性,联系集的主码主码,联系的映射,联系的映射基数及参与约束,实体的角色,基数及参与约束,实体的角色,并用并用E-R图描述图描述被建模的联系集;被建模的联系集; 概念设计任务概念设
37、计任务 nE-R图三要素:实体集、属性和联系集。图三要素:实体集、属性和联系集。n用长方形表示实体用长方形表示实体n椭圆形表示属性,并用无向边把实体与其属性连接椭圆形表示属性,并用无向边把实体与其属性连接起来起来n菱形表示实体间的联系菱形表示实体间的联系n联系的种类:联系的种类: 1:1、1:n、n:1或或m:n “”表示指向参与联系集中的表示指向参与联系集中的“一一”方实体集,线方实体集,线段段“”表示参与联系集中的表示参与联系集中的“多多”方实体集。方实体集。 大学选课管理系统需求分析大学选课管理系统需求分析 n系统需求分析系统需求分析n系统目标及边界系统目标及边界n功能需求分析功能需求分
38、析 n数据需求及业务规则分析数据需求及业务规则分析n数据约束分析数据约束分析大学选课管理系统的目标及边界大学选课管理系统的目标及边界 本系统本系统面向全体师生面向全体师生,对,对排课排课( (每门课程开几每门课程开几个教学班?谁来任教?上课时间与教室安排个教学班?谁来任教?上课时间与教室安排) )、选修及成绩进行集中管理选修及成绩进行集中管理,以实现,以实现排课、选课排课、选课及成绩管理的科学化、系统化和自动化,最大及成绩管理的科学化、系统化和自动化,最大限度地为老师和学生提供方便和提高管理效率限度地为老师和学生提供方便和提高管理效率。 大学选课管理系统的功能需求分析大学选课管理系统的功能需求
39、分析n学院学院基本信息管理:基本信息管理:学院基本信息录入、维护与查询学院基本信息录入、维护与查询n班级基本信息管理:班级基本信息管理:班级基本信息录入、维护与查询班级基本信息录入、维护与查询n学生基本信息管理:学生基本信息管理:学生基本信息录入、维护与查询学生基本信息录入、维护与查询n教师基本信息管理:教师基本信息管理:教师基本信息录入、维护与查询教师基本信息录入、维护与查询n课程基本信息管理:课程基本信息管理:课程基本信息录入、维护与查询课程基本信息录入、维护与查询n教室基本信息管理:教室基本信息管理:教室基本信息录入、维护与查询教室基本信息录入、维护与查询大学选课管理系统的功能需求分析大
40、学选课管理系统的功能需求分析n排课管理:排课管理:根据开课计划实现自动或半自动的排课根据开课计划实现自动或半自动的排课n学生选课:学生选课:提供选课、退选和改选功能提供选课、退选和改选功能n课表查询:课表查询:提供不同人员以不同方式查询选课信息提供不同人员以不同方式查询选课信息n成绩管理:成绩管理:学生考试成绩录入、修改及查询学生考试成绩录入、修改及查询数据需求及业务规则分析数据需求及业务规则分析 n学院学院(学院编号学院编号、学院名称学院名称、学院地址)学院地址)n教师(教师(教师编号教师编号、教师姓名教师姓名、职称职称、学位)学位)n班级(班级(班级编号班级编号、班级名称班级名称、年级年级
41、、班级人数)班级人数)n班级人数班级人数为派生属性,它的值可通过统计学生实体集中属为派生属性,它的值可通过统计学生实体集中属于该班学生的人数而得到于该班学生的人数而得到 n学生(学生(学号学号、姓名姓名、性别性别、出生日期出生日期、家庭住址家庭住址、电话号电话号码)码)n电话号码电话号码可能有多个,如可能有多个,如宿舍电话宿舍电话、实验室电话实验室电话、移动电移动电话话等等多值属性多值属性;数据需求及业务规则分析数据需求及业务规则分析 n家庭住址家庭住址由由省份省份、城市城市、街道街道组成组成复合属性复合属性;n年龄年龄可由生日推算出来可由生日推算出来派生属性,不作为存储属性派生属性,不作为存
42、储属性n学生学生可进一步分可进一步分本科生本科生和和研究生研究生两类,两类,本科生本科生需记录需记录个人个人兴趣兴趣,研究生研究生需记录需记录研究方向研究方向n一个一个班级班级有多名有多名学生学生,但一个,但一个学生学生只能属于某一个只能属于某一个班级班级n一个一个教师教师可以指导多名可以指导多名研究生研究生,但一个,但一个研究生研究生只能安排一只能安排一名指导名指导教师教师数据需求及业务规则分析数据需求及业务规则分析 n课程(课程(课程号课程号、课程名称课程名称、课时课时、学分)学分)n一个一个学院学院可管理多门可管理多门课程课程,但一门,但一门课程课程只能归属一只能归属一个个学院学院n课程
43、课程之间需设置之间需设置先修要求先修要求,一门,一门主课程主课程至多可以指至多可以指定一门定一门先修课程先修课程,但一门,但一门先修课程先修课程可对应于多门可对应于多门主主课程课程 数据需求及业务规则分析数据需求及业务规则分析 n开课班(开课班(开课班号开课班号、年份年份、学期学期)n一个一个开课班开课班可安排多名可安排多名教师教师任教,需明确任教,需明确教师教师任任教教开课班开课班的的任教角色任教角色;一名;一名教师教师也可同时任教多也可同时任教多个个开课班开课班n一个一个开课班开课班被多名被多名学生学生选修,每个选修,每个学生学生可选修多可选修多个个开课班开课班n一个一个学生学生同一学期同
44、一学期不能选修不能选修同一门课程同一门课程的同一个的同一个开课班开课班多次多次;也不能选修也不能选修同一门课程同一门课程的多个不同的多个不同开课班开课班数据需求及业务规则分析数据需求及业务规则分析n教室(教室(教室编号教室编号、所在教学楼所在教学楼、电话号码、教室类型、电话号码、教室类型、教室容量)教室容量)n一个一个教室教室可安排多个可安排多个开课班开课班,一个,一个开课班开课班可安排可安排多个多个时间时间和和教室教室上课,且上课,且每次上课每次上课可能安排在相可能安排在相同或不同的同或不同的教室教室n一个一个教室教室在在同一时间段同一时间段不允许安排多个不允许安排多个开课班开课班上上课课
45、(同一任课教师同一任课教师的的同一门课程同一门课程的多个的多个开课班开课班除外:除外:合班合班)数据需求及业务规则分析数据需求及业务规则分析n一个一个学生学生在在同一时间段同一时间段不允许选修多个不允许选修多个开课班开课班 (重修课程是否除外?重修课程是否除外?)n同一名同一名教师教师不允许在不允许在同一时间段同一时间段安排多个安排多个不同课程不同课程的的开课班开课班或或非合班上课非合班上课的的相同课程相同课程的的开课班开课班n教师教师在所任教的在所任教的开课班开课班考试结束后,需在规定的时考试结束后,需在规定的时间内将所任教学生的成绩录入系统,并要求记录间内将所任教学生的成绩录入系统,并要求
46、记录登登分日期分日期主要业务的局部建模主要业务的局部建模n主要实体集有:主要实体集有:学院、班级、学院、班级、学生学生、教师教师、课程课程、教室、教室n观察观察n学生学生选修某学期的某门选修某学期的某门课程课程,只能从该学期该,只能从该学期该课程课程实际开设实际开设的若干个的若干个开课班开课班中进行选修;中进行选修;n教师教师安排教学任务,也是针对需开设的安排教学任务,也是针对需开设的开课班开课班进行分配;进行分配;n学生学生通过选修某个通过选修某个开课班开课班来明确是哪位来明确是哪位(些些)教师教师给其授课;给其授课;n一个一个学生学生可能会出现多次选修同一门可能会出现多次选修同一门课程课程
47、的情况的情况(如重修如重修)。即即学生学生与与课程课程之间的之间的选课选课联系是联系是多值联系多值联系。学生学生课程课程选课选课- -任教任教教师教师多对多的三元联系集多对多的三元联系集n 学生学生、课程课程、教师教师之间的建模之间的建模l引入引入开课班开课班弱实体集,它依赖于弱实体集,它依赖于课程课程实体集实体集l学生学生选修选修课程课程是指选择为其所开设的某个是指选择为其所开设的某个开课班开课班l某个某个开课班开课班需要安排任课需要安排任课教师教师。因此,。因此,学生学生与与教师教师之间之间的授课联系就转化为通过的授课联系就转化为通过开课班开课班与教师之间的任教联系与教师之间的任教联系来间
48、接关联来间接关联教师教师学生学生Enroll课程课程排课排课CourseClass任教任教选修选修授课授课选课选课开课班开课班教师教师主要业务的局部建模主要业务的局部建模n 上课时间上课时间、上课地点上课地点的建模的建模l假设一个开课班可能安排多个时间上课,且不同时间可能假设一个开课班可能安排多个时间上课,且不同时间可能安排在相同的或不同的教室上课,安排在相同的或不同的教室上课,则则排时间教室排时间教室联系集可联系集可能是能是多值联系多值联系。主要业务的局部建模主要业务的局部建模课程课程排课排课开课班开课班开课班号开课班号年份学期教室教室排时间排时间教室教室教室编号教室编号所在教学楼电话号码教
49、室类型教室容量上课时间开课班开课班教室教室排时间排时间教室编号教室编号所在教学楼电话号码教室类型教室容量时间安排时间安排排教室排教室上课时间上课时间年份学期开课班号开课班号n 学生学生实体集的实体集的类层次类层次及研究生及研究生指导指导的建模的建模主要业务的局部建模主要业务的局部建模学生学生本科生本科生研究生研究生研究方向兴趣爱好ISA教师教师指导指导n “录入成绩录入成绩”联系集的联系集的聚合聚合建模建模主要业务的局部建模主要业务的局部建模学生学生选课选课教师教师录入成绩录入成绩录入日期学生学生选课选课教师教师录入成绩录入成绩录入日期(a) 直接表示直接表示聚合聚合的的E-R建模建模(b)
50、通过通过联系实体集联系实体集的的E-R建模建模成绩成绩开课班开课班开课班开课班 定义实体集及属性定义实体集及属性 n学院学院:学院编号学院编号、学院名称学院名称、学院地址学院地址n班级班级:班级编号班级编号、班级名称班级名称、年级年级、班级人数班级人数。n班级人数班级人数为派生属性为派生属性 n教师教师:教师编号教师编号、教师姓名教师姓名、职称职称、学位学位n学生学生:学号学号、姓名姓名、性别性别、出生日期出生日期、家庭住址家庭住址、电话号码电话号码n复合属性:复合属性:家庭住址家庭住址省份省份、城市城市、街道街道n多值属性:多值属性:电话号码电话号码n本科生本科生、研究生研究生,它们具有,它
51、们具有学生学生的所有属性,此外的所有属性,此外n本科生本科生:个人兴趣个人兴趣n研究生研究生:研究方向研究方向 定义实体集及属性定义实体集及属性 n教室教室:教室编号教室编号、所在教学楼所在教学楼、电话号码电话号码、教室类型教室类型、教室容量教室容量n课程课程:课程编号课程编号、课程名称课程名称、学分学分、课时数课时数n开课班开课班:开课班号开课班号、年份年份、学期学期、教室容量教室容量、选课人数选课人数n开课班号开课班号为为部分码部分码,能够区分,能够区分同一门同一门课程课程在不同学期及同一学在不同学期及同一学期期所开设的所开设的不同不同开课班开课班n教室容量教室容量、选课人数选课人数是派生
52、属性是派生属性 n时间安排时间安排:上课时间上课时间n上课时间上课时间为为部分码部分码,能够区分,能够区分同一个同一个开课班开课班的的不同上课时间不同上课时间 定义联系集及属性定义联系集及属性 n设置设置联系集联系集:实体集:实体集学院学院与与班级班级之间的之间的一对多一对多联系集联系集n表明一个表明一个学院学院可设置多个可设置多个班级班级,但一个,但一个班级班级只属于一个只属于一个学院学院n归属归属联系集联系集:实体集:实体集课程课程与与学院学院之间的之间的多对一多对一联系集联系集n表明一门表明一门课程课程只归属于一个只归属于一个学院学院,但一个,但一个学院学院可管理多门可管理多门课程课程n
53、聘用聘用联系集联系集:实体集学院与教师之间的:实体集学院与教师之间的一对多一对多联系集联系集n表明一个表明一个学院学院可聘用多名可聘用多名教师教师,但一名,但一名教师教师只能受聘于一个只能受聘于一个学院学院n联系属性为联系属性为聘用日期聘用日期 n包含包含联系集联系集:实体集:实体集班级班级与与学生学生之间的之间的一对多一对多联系集联系集n表明一个表明一个班级班级可包含多名可包含多名学生学生,但一名,但一名学生学生只属于一个只属于一个班级班级 定义联系集及属性定义联系集及属性 n排课排课标识标识联系集联系集:课程课程与与开课班开课班弱实体集之间的弱实体集之间的一对多一对多联系集联系集n表明一门
54、表明一门课程课程可安排多个可安排多个开课班开课班,开课班号开课班号为为部分码部分码n选课选课联系集联系集:学生与开课班之间的:学生与开课班之间的多对多多对多联系集联系集n表明一个表明一个学生学生可选修多个可选修多个开课班开课班,且一个,且一个开课班开课班可包括多名可包括多名学生学生n联系属性为联系属性为成绩成绩n任教任教联系集联系集:教师教师与与开课班开课班之间的之间的多对多多对多联系集联系集n表明一表明一教师教师可任教多个可任教多个开课班开课班,且一,且一开课班开课班可安排多名可安排多名教师教师任教任教n联系属性为联系属性为任教角色任教角色n排时间排时间标识标识联系集联系集:开课班开课班与与
55、时间安排时间安排弱实体集之间的弱实体集之间的一对多一对多联系集联系集n表明一个表明一个开课班开课班可安排多个可安排多个上课时间上课时间,上课时间上课时间为为部分码部分码 定义联系集及属性定义联系集及属性 n排教室排教室联系集联系集:弱实体集:弱实体集时间安排时间安排与与教室教室之间的之间的多对一多对一联系集联系集n表明多个表明多个上课时间上课时间可安排在同一个可安排在同一个教室教室上课,但一个上课,但一个教室教室在一个在一个上课时间上课时间只能安排一个只能安排一个开课班开课班上课上课n指导指导联系集联系集:实体集:实体集教师教师与与研究生研究生之间的之间的一对多一对多联系集联系集n表明一表明一
56、教师教师可指导多名可指导多名研究生研究生,但一名,但一名研究生研究生只能安排一名指导只能安排一名指导教师教师n先修要求先修要求联系集联系集:由:由具有具有先修课程先修课程角色和具有角色和具有主课程主课程角色的角色的课程课程实体之间的实体之间的一对多一对多联系集联系集n表明一门表明一门主课程主课程至多指定一门至多指定一门先修课程先修课程,但一门,但一门先修课程先修课程可对应可对应于多门于多门主课程主课程 n录入成绩录入成绩联系集联系集:实体集实体集教师教师与联系集与联系集选课选课之间的之间的一对多一对多联系集联系集 n联系属性为联系属性为录入日期录入日期ISA本科生本科生研究生研究生选课选课录入
57、成绩录入成绩录入日期包含包含班级班级设置设置图图4-38 简化的大学选课系统简化的大学选课系统E-R图图时间安排时间安排排时间排时间教师教师任教任教任教角色 聘用聘用聘用日期学院学院归属归属开课班开课班排课排课课程课程先修要求先修要求主课程先修课程指导指导排教室排教室教室教室学生学生成绩选课选课 定义数据字典定义数据字典 n学院学院(Institute)实体集的数据字典如图实体集的数据字典如图4-39所示所示 属性名属性名含义含义类别类别域及约束域及约束实例实例instituteNo学院编号学院编号 主码主码char(2),由2位字母组成,代表学院的缩写。不允许取空值CSinstituteNa
58、me学院名称学院名称varchar(30),不允许取空值计算机学院instituteAddress学院地址学院地址varchar(40)麦庐校园荟庐楼图图4-39 学院学院(Institute)实体集的数据字典实体集的数据字典 定义数据字典定义数据字典 n学生学生(Student)实体集的数据字典如图实体集的数据字典如图4-41所所示示 属性名属性名含义含义类别类别域及约束域及约束实例实例studentNo学号学号主码主码char(10),由10位数字字符组成,其中第1位数字代表学生类别,如:1-本科生,2-硕士研究生,3-博士研究生,4-独立学院本科生,5-专科生;接下来4位数字代表入学年份
59、,最后5位数字为序号。不允许取空值1201100258studentName姓名姓名varchar(20),不允许取空值李小勇sex性别性别char(2),取值范围:男, 女男birthday出生日期出生日期datetime1992-09-09phoneNumber电话号码电话号码多值多值varchar(13),每个电话号码由数字字符加连字符-组成186079199999rovince省份省份复合复合varchar(20),复合属性家庭住址的成分湖北省city城市城市复合复合varchar(20),复合属性家庭住址的成分武汉市street街道街道复合复合varcha
60、r(20),复合属性家庭住址的成分中山路56号图图4-41 学生学生(Student)实体集的数据字典实体集的数据字典 定义数据字典定义数据字典 n选课选课(Enroll)联系集的数据字典如图联系集的数据字典如图4-47所示所示 属性名属性名含义含义类别类别域及约束域及约束实例实例score成绩成绩smallint,0100之间的整数95recordDate录入日期录入日期 联系联系datetime,它是选课选课联系集与教师教师实体集之间的多对一联系集录入成绩录入成绩的联系属性2011-07-08图图4-47 选课选课(Enroll)联系集的数据字典联系集的数据字典目目 录录4.6数据库设计过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省遂宁市高中2025年高三下学期联合考试化学试题含解析
- 回忆齐白石先生
- 河北省邢台八中2025届高三第二次联考化学试卷含解析
- 慢性心力衰竭护理常规
- 护理发展史讲座
- 浙江省杭州市江南实验学校2025届高三下学期第六次检测化学试卷含解析
- 统编版六年级语文第一单元过关检测密卷(含答案)
- 期中评估检测题( B 卷)(1-4单元测试)无答案六年级下册数学冀教版
- 2024-2025学年度河南省信阳市光山县第二高级中学高一第二学期第一次月考历史试卷(含答案)
- 2025年太阳能空调系统项目建议书
- 医疗器械生产监督管理办法逐条解读
- 浙江省教育考试院2025届高三第二次调研数学试卷含解析
- 国家开放大学Python程序设计形考任务实验一-Python基础基础环境熟悉
- 大学人工智能+教学试点课程立项建设申报书
- 居住权合同协议书范本简易
- 时间轴时间线课件图表
- 物业小区危险源识别
- 矿山应急管理培训
- 一年级家长会课件2024-2025学年
- DB43T 874-2016 履带自走式旋耕机
- DB15T 435-2020 公路风吹雪雪害防治技术规程
评论
0/150
提交评论