数据库建模模型_第1页
数据库建模模型_第2页
数据库建模模型_第3页
数据库建模模型_第4页
数据库建模模型_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库建模模型第一页,共八十七页,2022年,8月28日目录4.6数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例——大学选课系统4.7E-R建模问题4.8逻辑设计——E-R模型转化为关系模型第二页,共八十七页,2022年,8月28日数据库设计过程概述数据库设计即是数据建模过程。数据模型就是对现实世界的模拟。通过数据模型可以对现实世界的数据特征进行抽象

根据数据抽象的不同级别,将数据模型划分为3类:概念模型:概念层次的数据模型,也称为信息模型逻辑模型:用于描述数据库数据的整体逻辑结构物理模型:用来描述数据的物理存储结构和存取方法

概念模型信息世界图1-6现实世界中客观对象的抽象过程现实世界认识抽象DBMS支持的逻辑模型DBMS支持的物理模型逻辑机器世界物理机器世界第三页,共八十七页,2022年,8月28日数据库设计过程概述需求分析物理设计

概念设计

逻辑设计

模式求精

应用与安全设计

第四页,共八十七页,2022年,8月28日需求分析

整个数据库设计过程的基础,也是最困难和耗时的一步。目标:了解和分析系统将要提供的功能及未来数据库用户的数据需求,包括:功能需求存储的数据……第五页,共八十七页,2022年,8月28日数据使用业务规则数据联系及约束性能需求方法:数据库设计者同应用领域的专家和用户进行深入沟通和交流。结果:形成用户的需求规格说明书。需求分析

第六页,共八十七页,2022年,8月28日概念设计

概念设计是根据需求分析中得到的信息,运用适当的工具将这些需求转化为数据库的概念模型。E-R模型是PeterChen于1976年提出的一种语义模型。该模型是基于对现实世界的这样一种认识:世界由一组称作实体的基本对象及这些对象间的联系组成。由于它能将现实世界中概念的含义和相互关联映射到数据库概念模型,因此许多数据库设计工具都利用了E-R模型的概念。第七页,共八十七页,2022年,8月28日本章基于E-R模型进行数据库概念设计,其目的是通过实体、联系、属性等概念和工具精确地描述系统的数据需求、数据联系及约束规则。结果:E-R图(实体、联系及属性)概念设计第八页,共八十七页,2022年,8月28日逻辑设计

本步骤是将数据库的概念设计转化为所选择的数据库管理系统支持的逻辑数据模型,即数据库模式。常见逻辑模型层次,网状,关系数据库(本书重点讨论)面向对象XML第九页,共八十七页,2022年,8月28日物理设计

考虑数据库要支持的负载和应用需求,为逻辑数据库选取一个最适合现实应用的物理结构,包括: 数据库文件组织格式内部存储结构建立索引表的聚集……

第十页,共八十七页,2022年,8月28日

模式求精模式求精的任务是分析并发现逻辑模式存在的问题,并进行改进和优化。需求分析与概念设计是根据主观认识进行的,但模式求精则是基于关系理论对相关逻辑模式进行优化。第十一页,共八十七页,2022年,8月28日应用与安全设计

一个数据库系统必须指出哪些用户可以访问数据库?他们通过哪些存储过程访问数据库?每个用户在每个过程中扮演什么样的角色?对于每个角色,他们能够存取数据库的哪些部分和不能存取哪些部分?完整的数据库设计是不可能一蹴而就的,它往往是上述6个步骤的不断反复的过程!第十二页,共八十七页,2022年,8月28日

需求分析物理设计

概念设计

逻辑设计

模式求精

应用与安全设计

本章内容第五章第七章第九章第十三页,共八十七页,2022年,8月28日目录4.6数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例——大学选课系统4.7E-R建模问题4.8逻辑设计——E-R模型转化为关系模型第十四页,共八十七页,2022年,8月28日实体与实体集

实体是客观世界中可区别于其他事物的“事物”或“对象”。实体特征:独立存在。可区别于其它实体。实体可以是有形的、实在的事物,如一名教师、一本书等;也可以是抽象的、概念上的事物,如一门课程、一个专业,以及一次订货、借书、选课、存款或取款等业务产生的单据。但是,二者都应是组织或机构“感兴趣”的事物。实体集是具有相同类型及相同性质(或属性)的实体组成的集合第十五页,共八十七页,2022年,8月28日

属性

属性是实体集中每个实体都具有的特征描述。一实体集中所有实体都具有相同的属性。例如,学生实体集中的每个实体都具有:学号、姓名、性别、出生日期、年龄、所学专业、电话号码、家庭住址、所在班级等属性。

对每个属性来说,一个实体都拥有自己的属性值。每个属性所允许的取值范围或集合称为该属性的域。第十六页,共八十七页,2022年,8月28日图4-1

学生实体集的属性域及学生李小勇的属性值属性名属性类别域及约束实例学号主码char(10),10位数字组成,其中第1位数字代表学生类别,如:1-本科生,2-硕士研究生,3-博士研究生,4-独立学院本科生,5-专科生;接下来4位数字代表入学年份;最后5位数字为序号。不允许取空值1201100258姓名varchar(20),不允许取空值李小勇性别char(2),取值范围:{′男′,′女′}男出生日期datetime,取值范围:1900-01-01~当前1992-09-09年龄派生属性smallint,取值范围:10~8019所学专业varchar(30)计算机科学与技术电话号码多值属性varchar(13),每个电话号码由数字字符加连字符‘-’组庭地址复合属性varchar(60)湖北省武汉市中山路56号所在班级char(8),前4位数字代表年级20110803第十七页,共八十七页,2022年,8月28日属性分类简单属性和复合属性

简单属性是指不能再分为更小部分的属性。复合属性是指可以进一步划分为更小部分的属性。学生实体集的家庭住址可以进一步设计成包括省份、城市、街道等成分的属性。第十八页,共八十七页,2022年,8月28日属性分类单值属性和多值属性如果某属性对一个特定实体任何时候都只能有单独的一个值,则称该属性为单值属性,否则为多值属性。学号为单值属性。由于一个学生可能有0个、1个或多个电话号码(如实验室电话、宿舍电话、移动电话等),因此学生实体集的电话号码为多值属性。第十九页,共八十七页,2022年,8月28日属性分类派生属性

派生属性的值可以从其它相关属性或实体(集)派生出来。一个学生的年龄属性的值,可以由该学生的出生日期属性的值和当前日期计算得到。学生实体集的已修学分(表示该学生所选修课程的学分合计)属性的值,它可以通过统计该学生所选修所有课程实体的学分之和来获得。第二十页,共八十七页,2022年,8月28日属性分类空值(NULL)当实体在某个属性上没有值时可使用NULL值,表示属性的值是未知的或不存在。不知道某学生的专业(所学专业的值未知)或该学生还没有分配专业(所学专业的值不存在),则该学生所学专业的值为NULL。某学生的出生日期为NULL,则认为该值是缺失的(即值未知)。第二十一页,共八十七页,2022年,8月28日实体集及属性的E-R图表示在E-R图中,实体集和属性分别表示如下:实体集——矩阵属性——椭圆多值属性——双椭圆派生属性——虚线椭圆属性与实体之间——连线

第二十二页,共八十七页,2022年,8月28日图4-2

学生实体集E-R图表示图4-3课程实体集E-R图表示家庭住址省份城市街道学生电话号码学号姓名性别出生日期年龄所在班级所学专业课程课程名称课程号学分课时数先修课程号第二十三页,共八十七页,2022年,8月28日多值属性的变换将多值属性转换为多个单值属性进行建模。例如,可将多值属性电话号码建模为移动电话、宿舍电话、实验室电话、家庭电话4个单值属性,如图4-4所示。

第二十四页,共八十七页,2022年,8月28日学生家庭住址省份城市街道移动电话宿舍电话实验室电话家庭电话学号姓名性别出生日期年龄所在班级所学专业图4-4

学生实体集中的多值属性转换为多个单值属性表示

第二十五页,共八十七页,2022年,8月28日联系与联系集

联系(relationship)是指多个实体间的相互关联,例如学生李小勇选修了数据库系统原理课程。联系集是同类联系的集合。形式化地说,联系集是n(n≥2)个实体集上的数学关系。E-R图用菱形表示联系(集)。联系可具有自身的描述属性。学生课程选课成绩第二十六页,共八十七页,2022年,8月28日

多联系与联系中的实体角色

多联系:在相同的实体集上可能存在多个不同的联系集。如教师与学生实体集之间同时存在授课、指导联系集。角色:实体在联系中的作用。如课程实体集中的2门课程实体C1、C2之间存在先修要求联系,其中C1、C2扮演不同的角色,C1代表主课程,C2代表先修课程,分别表示实体所扮演的角色。教师学生授课指导课程先修要求主课程先修课程第二十七页,共八十七页,2022年,8月28日目录4.6数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例——大学选课系统4.7E-R建模问题4.8逻辑设计——E-R模型转化为关系模型第二十八页,共八十七页,2022年,8月28日约束E-R模型的约束主要有:

映射约束

码约束依赖约束(不作要求)

参与约束(不作要求)

第二十九页,共八十七页,2022年,8月28日映射约束(实体联系)

映射基数实体集中的一个实体通过一个联系集能同时与另一个实体集相联系的实体数目。在二元联系中,共有4种映射基数:1:1(一对一)1:m(一对多)m:1(多对一)m:n(多对多)第三十页,共八十七页,2022年,8月28日一对一联系(1:1)

实体集A中的每一个实体,若实体集B中至多只有一个实体与之联系,反之亦然,则称实体集A与B是一对一的联系,记作1:1。第三十一页,共八十七页,2022年,8月28日一对多联系(1:n)实体集A中一个实体可以同B中任意数目(可以为0)的实体相联系,而B中一个实体至多(允许不)同A中一个实体相联系。第三十二页,共八十七页,2022年,8月28日多对多联系(m:n)实体集A中的每一个实体,若实体集B中有n(n>=0)个实体与之联系,反之,实体集B中的每一个实体,实体集A中有m(m>=0)个实体与之联系,则称实体集A与B是多对多联系,记作n:m。

第三十三页,共八十七页,2022年,8月28日例如:篮球比赛中球队与场上队长之间具有一对一的联系;队长与队员之间具有一对多的联系;队员与裁判之间为多对多的联系。第三十四页,共八十七页,2022年,8月28日在E-R图中,为了反映联系集的映射基数,采用“”表示指向参与联系集中的“一”方实体集,线段“——”表示参与联系集中的“多”方实体集。映射基数的表示销货单开发票发票(a)一对一联系集开发票班级包含学生(b)一对多联系集包含课程归属学院(c)多对一联系集归属学院聘用教师聘用日期第三十五页,共八十七页,2022年,8月28日码约束与联系集的属性安置

实体集的码

超码(superkey)若一超码的任意真子集都不能成为超码,则称该最小超码为候选码(candidatekey)。给定一组属性集,可能存在多个候选码。假设学生实体集中不存在同名的学生,则学号和姓名都可以用来唯一区分学生,因此它们都可以作为学生实体集的候选码。学号和姓名的组合是候选码吗?第三十六页,共八十七页,2022年,8月28日码约束与联系集的属性安置

候选码和超码是实体集客观存在的特性,它们表示实体集中任意两个实体不允许在码属性上有相同的值。主码是被数据库设计者主观选中、用来区分同一实体集中不同实体的候选码。第三十七页,共八十七页,2022年,8月28日码约束与联系集的属性安置

当一实体集存在多个候选码时,主码选择原则:选择属性长度最短的候选码;选择包含单个属性的码,而不是复合候选码;选择在数据库系统生命周期内属性值最少变化的候选码;选择在数据库系统生命周期内更可能包含唯一值的候选码。第三十八页,共八十七页,2022年,8月28日码约束与联系集的属性安置

每一个联系集,也要求必须存在候选码,并选择其中的一个候选码作为主码,用于唯一标识该联系集中的一个联系。联系集的码

假设R是一个涉及实体集E1,E2,…,En的联系集,PK(Ei)代表构成实体集Ei的主码属性的集合,而(e1,e2,e3,…,en)是R的一个联系,那么PK(E1)

PK(E2)…

PK(En)构成联系集的一个超码。第三十九页,共八十七页,2022年,8月28日码约束与联系集的属性安置

二元联系集的主码选择,依赖于联系集的映射基数一对一:主码可以使用参与联系集中的任何一方实体集的主码;一对多(多对一):主码由“多”的一方实体集的主码组成;多对多:主码由参与联系集中所有实体集的主码组成。第四十页,共八十七页,2022年,8月28日码约束与联系集的属性安置

联系集的属性安置一对一联系集的属性:可安置于任一边的实体集上;一对多联系集的属性:可安置于联系集上,也可安置在多的那一边的实体集上;多对多联系集的属性:它是描述相关联实体集间的交互性语义,因此,联系属性只能安置于联系集上,不能放到相关联的实体集上去。第四十一页,共八十七页,2022年,8月28日目录4.6数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例——大学选课系统4.7E-R建模问题4.8逻辑设计——E-R模型转化为关系模型第四十二页,共八十七页,2022年,8月28日E-R建模的基本原则忠实性设计应忠实于应用需求,这是首要的也是最重要的原则。即实体集、属性、联系集都应当反映现实世界及根据所了解的现实世界去建模。例如,教师与开课班之间的联系集任教,是一对多还是多对多的联系集?如果规定一个开课班可能安排多名教师共同任教,则任教就是多对多联系集,联系属性为任教角色(如“主讲”、“指导实验”、“辅导”等)。教师任教教师任教(a)一对多的任教联系集(b)多对多的任教联系集任教角色开课班开课班第四十三页,共八十七页,2022年,8月28日E-R建模的基本原则忠实性设计应忠实于应用需求,这是首要的也是最重要的原则。即实体集、属性、联系集都应当反映现实世界及根据所了解的现实世界去建模。简单性除非有绝对需要,否则不要在设计中增加更多成分;只需要对数据库使用者所关心、感兴趣的属性建模。避免冗余

原则:一个对象只存放在一个地方第四十四页,共八十七页,2022年,8月28日选择实体集还是属性

通常满足下述两条规则,均可作为属性对待:作为属性,不能再具有要描述的性质;属性不能和其它实体相联系。如,开课班弱实体集中的上课地点,如果除了教室编号之外,还需要描述更多信息,如所在教学楼、电话号码、教室类型、教室容量等,则需将属性上课地点转化为实体集教室,以实现教室管理功能。课程排课开课班开课班号年份学期教室排时间教室教室编号所在教学楼电话号码教室类型教室容量上课时间第四十五页,共八十七页,2022年,8月28日选择实体集还是属性选择实体集还是属性常犯两个错误:将一实体集的主码作为另一实体集的属性,而不是使用联系;将相关实体集的主码属性作为联系集的属性。因为联系集已隐含了实体集的主码属性。第四十六页,共八十七页,2022年,8月28日选择实体集还是联系集

一事物是描述为实体集还是联系集并没有一个绝对的标准。通常原则:实体对应于现实世界中实际存在的事物,是名词。如学生、教师和课程是名词,可作为实体集建模。联系对应的概念一般为一种动作,即描述实体间的一种行为。如选课、授课是动词,因此作为联系集建模。第四十七页,共八十七页,2022年,8月28日E-R模型总结数据库设计过程E-R模型实体、属性与实体集(复合、多值属性)联系、联系属性与联系集、主码映射基数(1:1、1:n、m:1、m:n联系)E-R模型设计原则忠实性、简单性、避免冗余选择实体集还是属性?选择实体集还是联系集?需求分析物理设计

概念设计

逻辑设计

模式求精

应用与安全设计

第四十八页,共八十七页,2022年,8月28日目录4.6数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3概念设计实例——大学选课系统4.7E-R建模问题4.8逻辑设计——E-R模型转化为关系模型第四十九页,共八十七页,2022年,8月28日

概念设计任务

概念设计(即E-R模型设计)主要是根据需求分析规格说明书完成如下任务:定义实体集及属性,实体集的主码,用E-R图及数据字典描述被建模的实体集;定义联系集及属性,联系集的主码,联系的映射基数及参与约束,实体的角色,并用E-R图描述被建模的联系集;第五十页,共八十七页,2022年,8月28日

概念设计任务

E-R图三要素:实体集、属性和联系集。用长方形表示实体椭圆形表示属性,并用无向边把实体与其属性连接起来菱形表示实体间的联系联系的种类:

1:1、1:n、n:1或m:n“”表示指向参与联系集中的“一”方实体集,线段“——”表示参与联系集中的“多”方实体集。第五十一页,共八十七页,2022年,8月28日大学选课管理系统需求分析

系统需求分析系统目标及边界功能需求分析

数据需求及业务规则分析数据约束分析第五十二页,共八十七页,2022年,8月28日大学选课管理系统的目标及边界

本系统面向全体师生,对排课(每门课程开几个教学班?谁来任教?上课时间与教室安排)、选修及成绩进行集中管理,以实现排课、选课及成绩管理的科学化、系统化和自动化,最大限度地为老师和学生提供方便和提高管理效率。第五十三页,共八十七页,2022年,8月28日大学选课管理系统的功能需求分析学院基本信息管理:学院基本信息录入、维护与查询班级基本信息管理:班级基本信息录入、维护与查询学生基本信息管理:学生基本信息录入、维护与查询教师基本信息管理:教师基本信息录入、维护与查询课程基本信息管理:课程基本信息录入、维护与查询教室基本信息管理:教室基本信息录入、维护与查询第五十四页,共八十七页,2022年,8月28日大学选课管理系统的功能需求分析排课管理:根据开课计划实现自动或半自动的排课学生选课:提供选课、退选和改选功能课表查询:提供不同人员以不同方式查询选课信息成绩管理:学生考试成绩录入、修改及查询第五十五页,共八十七页,2022年,8月28日数据需求及业务规则分析

学院(学院编号、学院名称、学院地址)教师(教师编号、教师姓名、职称、学位)班级(班级编号、班级名称、年级、班级人数)班级人数为派生属性,它的值可通过统计学生实体集中属于该班学生的人数而得到学生(学号、姓名、性别、出生日期、家庭住址、电话号码)电话号码可能有多个,如宿舍电话、实验室电话、移动电话等——多值属性;第五十六页,共八十七页,2022年,8月28日数据需求及业务规则分析

家庭住址由省份、城市、街道组成——复合属性;年龄可由生日推算出来——派生属性,不作为存储属性学生可进一步分本科生和研究生两类,本科生需记录个人兴趣,研究生需记录研究方向一个班级有多名学生,但一个学生只能属于某一个班级一个教师可以指导多名研究生,但一个研究生只能安排一名指导教师第五十七页,共八十七页,2022年,8月28日数据需求及业务规则分析

课程(课程号、课程名称、课时、学分)一个学院可管理多门课程,但一门课程只能归属一个学院课程之间需设置先修要求,一门主课程至多可以指定一门先修课程,但一门先修课程可对应于多门主课程

第五十八页,共八十七页,2022年,8月28日数据需求及业务规则分析

开课班(开课班号、年份、学期)一个开课班可安排多名教师任教,需明确教师任教开课班的任教角色;一名教师也可同时任教多个开课班一个开课班被多名学生选修,每个学生可选修多个开课班一个学生同一学期不能选修同一门课程的同一个开课班多次;也不能选修同一门课程的多个不同开课班第五十九页,共八十七页,2022年,8月28日数据需求及业务规则分析教室(教室编号、所在教学楼、电话号码、教室类型、教室容量)一个教室可安排多个开课班,一个开课班可安排多个时间和教室上课,且每次上课可能安排在相同或不同的教室一个教室在同一时间段不允许安排多个开课班上课(同一任课教师的同一门课程的多个开课班除外:合班)第六十页,共八十七页,2022年,8月28日数据需求及业务规则分析一个学生在同一时间段不允许选修多个开课班

(重修课程是否除外?)同一名教师不允许在同一时间段安排多个不同课程的开课班或非合班上课的相同课程的开课班教师在所任教的开课班考试结束后,需在规定的时间内将所任教学生的成绩录入系统,并要求记录登分日期第六十一页,共八十七页,2022年,8月28日主要业务的局部建模主要实体集有:学院、班级、学生、教师、课程、教室观察学生选修某学期的某门课程,只能从该学期该课程实际开设的若干个开课班中进行选修;教师安排教学任务,也是针对需开设的开课班进行分配;学生通过选修某个开课班来明确是哪位(些)教师给其授课;一个学生可能会出现多次选修同一门课程的情况(如重修)。即学生与课程之间的选课联系是多值联系。学生课程选课-任教教师多对多的三元联系集第六十二页,共八十七页,2022年,8月28日学生、课程、教师之间的建模引入开课班弱实体集,它依赖于课程实体集学生选修课程是指选择为其所开设的某个开课班某个开课班需要安排任课教师。因此,学生与教师之间的授课联系就转化为通过开课班与教师之间的任教联系来间接关联教师学生Enroll课程排课CourseClass任教选修授课选课开课班教师主要业务的局部建模第六十三页,共八十七页,2022年,8月28日上课时间、上课地点的建模假设一个开课班可能安排多个时间上课,且不同时间可能安排在相同的或不同的教室上课,则排时间教室联系集可能是多值联系。主要业务的局部建模课程排课开课班开课班号年份学期教室排时间教室教室编号所在教学楼电话号码教室类型教室容量上课时间开课班教室排时间教室编号所在教学楼电话号码教室类型教室容量时间安排排教室上课时间年份学期开课班号第六十四页,共八十七页,2022年,8月28日学生实体集的类层次及研究生指导的建模主要业务的局部建模学生本科生研究生研究方向兴趣爱好ISA教师指导第六十五页,共八十七页,2022年,8月28日“录入成绩”联系集的聚合建模主要业务的局部建模学生选课教师录入成绩录入日期学生选课教师录入成绩录入日期(a)直接表示聚合的E-R建模(b)通过联系实体集的E-R建模成绩成绩开课班开课班第六十六页,共八十七页,2022年,8月28日

定义实体集及属性

学院:学院编号、学院名称、学院地址班级:班级编号、班级名称、年级、班级人数。班级人数为派生属性教师:教师编号、教师姓名、职称、学位学生:学号、姓名、性别、出生日期、家庭住址、电话号码复合属性:家庭住址——省份、城市、街道多值属性:电话号码本科生、研究生,它们具有学生的所有属性,此外本科生:个人兴趣研究生:研究方向第六十七页,共八十七页,2022年,8月28日

定义实体集及属性

教室:教室编号、所在教学楼、电话号码、教室类型、教室容量课程:课程编号、课程名称、学分、课时数开课班:开课班号、年份、学期、教室容量、选课人数开课班号为部分码,能够区分同一门课程在不同学期及同一学期所开设的不同开课班教室容量、选课人数是派生属性时间安排:上课时间上课时间为部分码,能够区分同一个开课班的不同上课时间第六十八页,共八十七页,2022年,8月28日

定义联系集及属性

设置联系集:实体集学院与班级之间的一对多联系集表明一个学院可设置多个班级,但一个班级只属于一个学院归属联系集:实体集课程与学院之间的多对一联系集表明一门课程只归属于一个学院,但一个学院可管理多门课程聘用联系集:实体集学院与教师之间的一对多联系集表明一个学院可聘用多名教师,但一名教师只能受聘于一个学院联系属性为聘用日期

包含联系集:实体集班级与学生之间的一对多联系集表明一个班级可包含多名学生,但一名学生只属于一个班级第六十九页,共八十七页,2022年,8月28日定义联系集及属性排课标识联系集:课程与开课班弱实体集之间的一对多联系集表明一门课程可安排多个开课班,开课班号为部分码选课联系集:学生与开课班之间的多对多联系集表明一个学生可选修多个开课班,且一个开课班可包括多名学生联系属性为成绩任教联系集:教师与开课班之间的多对多联系集表明一教师可任教多个开课班,且一开课班可安排多名教师任教联系属性为任教角色排时间标识联系集:开课班与时间安排弱实体集之间的一对多联系集表明一个开课班可安排多个上课时间,上课时间为部分码第七十页,共八十七页,2022年,8月28日定义联系集及属性排教室联系集:弱实体集时间安排与教室之间的多对一联系集表明多个上课时间可安排在同一个教室上课,但一个教室在一个上课时间只能安排一个开课班上课指导联系集:实体集教师与研究生之间的一对多联系集表明一教师可指导多名研究生,但一名研究生只能安排一名指导教师先修要求联系集:由具有先修课程角色和具有主课程角色的课程实体之间的一对多联系集表明一门主课程至多指定一门先修课程,但一门先修课程可对应于多门主课程

录入成绩联系集:实体集教师与联系集选课之间的一对多联系集联系属性为录入日期第七十一页,共八十七页,2022年,8月28日ISA本科生研究生选课录入成绩录入日期包含班级设置图4-38

简化的大学选课系统E-R图时间安排排时间教师任教任教角色聘用聘用日期学院归属开课班排课课程先修要求主课程先修课程指导排教室教室学生成绩选课第七十二页,共八十七页,2022年,8月28日

定义数据字典

学院(Institute)实体集的数据字典如图4-39所示属性名含义类别域及约束实例instituteNo学院编号主码char(2),由2位字母组成,代表学院的缩写。不允许取空值CSinstituteName学院名称varchar(30),不允许取空值计算机学院instituteAddress学院地址varchar(40)麦庐校园荟庐楼图4-39

学院(Institute)实体集的数据字典第七十三页,共八十七页,2022年,8月28日

定义数据字典

学生(Student)实体集的数据字典如图4-41所示属性名含义类别域及约束实例studentNo学号主码char(10),由10位数字字符组成,其中第1位数字代表学生类别,如:1-本科生,2-硕士研究生,3-博士研究生,4-独立学院本科生,5-专科生;接下来4位数字代表入学年份,最后5位数字为序号。不允许取空值1201100258studentName姓名varchar(20),不允许取空值李小勇sex性别char(2),取值范围:{′男′,′女′}男birthday出生日期datetime1992-09-09phoneNumber电话号码多值varchar(13),每个电话号码由数字字符加连字符‘-’组成186079199999rovince省份复合varchar(20),复合属性家庭住址的成分湖北省city城市复合varchar(20),复合属性家庭住址的成分武汉市street街道复合varchar(20),复合属性家庭住址的成分中山路56号图4-41

学生(Student)实体集的数据字典第七十四页,共八十七页,2022年,8月28日

定义数据字典

选课(Enroll)联系集的数据字典如图4-47所示属性名含义类别域及约束实例score成绩smallint,0~100之间的整数95recordDate录入日期联系datetime,它是选课联系集与教师实体集之间的多对一联系集录入成绩的联系属性2011-07-08图4-47

选课(Enroll)联系集的数据字典第七十五页,共八十七页,2022年,8月28日目录4.6数据库设计过程4.1E-R模型基本概念及表示4.2约束4.3概念设计实例——大学选课系统4.7E-R建模问题4.8逻辑设计——E-R模型转化为关系模型第七十六页,共八十七页,2022年,8月28日ISA本科生研究生学生选课成绩录入成绩录入日期包含班级设置图4-38

简化的大学选课系统E-R图时间安排排时间教师任教任教角色聘用聘用日期学院归属开课班排课课程先修要求主课程先修课程指导排教室教室第七十七页,共八十七页,2022年,8月28日E-R模型转化方法

E-R模型(概念建模)和关系模型(逻辑建模)都是对现实世界的抽象。而E-R模型只是描述数据库的概念模型,若要被关系数据库所接受,必须进行信息转化,即将E-R模型转化为关系数据库所支持的逻辑模型——关系模式。

第七十八页,共八十七页,2022年,8月28日E-R模型转化方法实体集转化方法将实体集映射成关系模式很直接,只需将实体集的每个属性对应为关系模式的属性,实体集的码作为关系模式的码。设强实体集E具有a1,a2,…,an属性,其转化的关系模式定义如下:关系模式名:E;属性集:a1,a2,…,an;主码:实体集E的主码;外码:无。第七十九页,共八十七页,2022年,8月28日E-R模型转化方法例如,由实体集课程Course转化的关系模式为(加下划线的属性表示它是主码成员):Course(courseNo,courseName,creditHour,courseHour)

第八十页,共八十七页,2022年,8月28日E-R模型转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论