数据库建模模型精品文稿.ppt
《数据库建模模型精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据库建模模型精品文稿.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库建模模型数据库建模模型第1页,本讲稿共87页目目 录录4.6数据库设计过程 4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型第2页,本讲稿共87页数据库设计过程概述数据库设计即是数据建模过程。数据库设计即是数据建模过程。数据模型数据模型就是对现实世界的模拟。就是对现实世界的模拟。通过数据模型可以对现实世界的数据特征进行通过数据模型可以对现实世界的数据特征进行抽象抽象 根据数据抽象的不同级别,将数据模型划分为根据数据抽象的不同级别,将数据模型划分为3
2、类:类:n概念模型概念模型:概念层次的数据模型,也称为信息模型:概念层次的数据模型,也称为信息模型n逻辑模型逻辑模型:用于描述数据库数据的整体逻辑结构:用于描述数据库数据的整体逻辑结构 n物物理理模模型型:用用来来描描述述数数据据的的物物理理存存储储结结构构和和存存取取方方法法 概念模型信息世界图1-6 现实世界中客观对象的抽象过程现实世界认识抽象DBMS支持的逻辑模型DBMS支持的物理模型逻辑机器世界物理机器世界第3页,本讲稿共87页数据库设计过程概述数据库设计过程概述第4页,本讲稿共87页需求分析需求分析 n整个数据库设计过程的基础,也是最困难和整个数据库设计过程的基础,也是最困难和耗时的
3、一步。耗时的一步。n目标:了解和分析系统将要提供的目标:了解和分析系统将要提供的功能功能及未及未来数据库用户的来数据库用户的数据需求数据需求,包括:,包括:n功能需求功能需求n存储的数据存储的数据n第5页,本讲稿共87页n数据使用业务规则数据使用业务规则n数据联系及约束数据联系及约束n性能需求性能需求n方法:数据库设计者同应用领域的专家方法:数据库设计者同应用领域的专家和用户进行深入沟通和交流。和用户进行深入沟通和交流。n结果:形成用户的结果:形成用户的需求规格说明书需求规格说明书。需求分析 第6页,本讲稿共87页概念设计概念设计 n概念设计是根据需求分析中得到的信息,运用适当的概念设计是根据
4、需求分析中得到的信息,运用适当的工具工具将将这些需求转化为这些需求转化为数据库的概念模型数据库的概念模型。nE-RE-R模型模型是是Peter ChenPeter Chen于于19761976年提出的一种年提出的一种语义模型语义模型。该模。该模型是基于对现实世界的这样一种认识:型是基于对现实世界的这样一种认识:世界由一组称作世界由一组称作实体的基本对象及这些对象间的联系组成实体的基本对象及这些对象间的联系组成。由于它能将现由于它能将现实世界中概念的含义和相互关联映射到数据库概念模型,实世界中概念的含义和相互关联映射到数据库概念模型,因此许多数据库设计工具都利用了因此许多数据库设计工具都利用了E
5、-RE-R模型的概念。模型的概念。第7页,本讲稿共87页n本章本章基于基于E-RE-R模型模型进行进行数据库概念设计数据库概念设计,其目,其目的是通过的是通过实体实体、联系联系、属性属性等概念和工具精确等概念和工具精确地描述系统的数据需求、数据联系及约束规则。地描述系统的数据需求、数据联系及约束规则。n结果:结果:E-RE-R图(实体、联系及属性)图(实体、联系及属性)概念设计 第8页,本讲稿共87页逻辑设计逻辑设计 n本步骤是将数据库的概念设计转化为所选择本步骤是将数据库的概念设计转化为所选择的数据库管理系统支持的的数据库管理系统支持的逻辑数据模型逻辑数据模型,即,即数据库模式数据库模式。n
6、常见逻辑模型常见逻辑模型n层次,网状,关系数据库层次,网状,关系数据库(本书重点讨论)(本书重点讨论)n面向对象面向对象nXMLXML第9页,本讲稿共87页物理设计 n考虑数据库要支持的负载和应用需求,为逻考虑数据库要支持的负载和应用需求,为逻辑数据库选取一个最适合现实应用的物理结辑数据库选取一个最适合现实应用的物理结构,包括构,包括:n数据库文件组织格式数据库文件组织格式n内部存储结构内部存储结构n建立索引建立索引n表的聚集表的聚集n 第10页,本讲稿共87页 模式求精模式求精n模式求精模式求精的任务是的任务是分析并发现逻辑模式存在的问题,分析并发现逻辑模式存在的问题,并进行改进和优化。并进
7、行改进和优化。n需求分析与概念设计是根据需求分析与概念设计是根据主观认识主观认识进行的,但模式求进行的,但模式求精则是基于精则是基于关系理论关系理论对相关逻辑模式进行优化。对相关逻辑模式进行优化。第11页,本讲稿共87页应用与安全设计 一个数据库系统必须指出n哪些用户可以访问数据库?n他们通过哪些存储过程访问数据库?n每个用户在每个过程中扮演什么样的角色?n对于每个角色,他们能够存取数据库的哪些部分和不能存取哪些部分?完整的数据库设计是不可能一蹴而就的,完整的数据库设计是不可能一蹴而就的,它往往是上述它往往是上述6 6个步骤的不断反复的过程个步骤的不断反复的过程!第12页,本讲稿共87页 本章
8、内容第五章第七章第九章 第13页,本讲稿共87页目目 录录4.6数据库设计过程 4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型第14页,本讲稿共87页实体与实体集实体与实体集 n实体实体是是客观世界中可区别于其他事物的客观世界中可区别于其他事物的“事物事物”或或“对象对象”。n实体特征:实体特征:n独立存在。独立存在。n可区别于其它实体。可区别于其它实体。n实体可以是实体可以是有形的、实在的有形的、实在的事物,如一名事物,如一名教师教师、一本、一本书书
9、等;等;n也可以是也可以是抽象的、概念上抽象的、概念上的事物,如一门的事物,如一门课程课程、一个、一个专业专业,以及一次,以及一次订货订货、借书借书、选课选课、存款存款或或取款取款等业务产生的等业务产生的单据单据。n但是,二者都应是组织或机构但是,二者都应是组织或机构“感兴趣感兴趣”的事物。的事物。n实体集实体集是是具有相同类型及相同性质具有相同类型及相同性质(或属性或属性)的实体组成的集合的实体组成的集合第15页,本讲稿共87页 属属 性性 n属性属性是是实体集中每个实体都具有的特征描述实体集中每个实体都具有的特征描述。n一实体集中所有实体都具有相同的属性。一实体集中所有实体都具有相同的属性
10、。n例如,例如,学生学生实体集中的每个实体都具有:实体集中的每个实体都具有:学号、学号、姓名、性别、出生日期、年龄、所学专业、电姓名、性别、出生日期、年龄、所学专业、电话号码、家庭住址、所在班级话号码、家庭住址、所在班级等属性。等属性。n对每个属性来说,一个实体都拥有自己的对每个属性来说,一个实体都拥有自己的属性值属性值。n每个属性所允许的取值范围或集合称为该每个属性所允许的取值范围或集合称为该属性的域属性的域。第16页,本讲稿共87页图4-1 学生实体集的属性域及学生李小勇的属性值 属性名属性类别域及约束实例 学号主码char(10),10位数字组成,其中第1位数字代表学生类别,如:1-本科
11、生,2-硕士研究生,3-博士研究生,4-独立学院本科生,5-专科生;接下来4位数字代表入学年份;最后5位数字为序号。不允许取空值 1201100258 姓名 varchar(20),不允许取空值 李小勇 性别 char(2),取值范围:男,女 男 出生日期 datetime,取值范围:1900-01-01当前 1992-09-09 年龄 派生属性 smallint,取值范围:1080 19 所学专业 varchar(30)计算机科学与技术 电话号码 多值属性 varchar(13),每个电话号码由数字字符加连字符-组成 027-87009999 家庭地址 复合属性 varchar(60)湖北省
12、武汉市中山路56号 所在班级 char(8),前4位数字代表年级 20110803第17页,本讲稿共87页属性分类属性分类n简单属性和复合属性简单属性和复合属性 n简单属性简单属性是指不能再分为更小部分的属性。是指不能再分为更小部分的属性。n复合属性复合属性是指可以进一步划分为更小部分的属性。是指可以进一步划分为更小部分的属性。n学生学生实体集的实体集的家庭住址家庭住址可以进一步设计成包括可以进一步设计成包括省份、省份、城市、街道城市、街道等成分的属性。等成分的属性。第18页,本讲稿共87页属性分类属性分类n单值属性和多值属性单值属性和多值属性 n如果某属性对一个特定实体任何时候都只能有单如果
13、某属性对一个特定实体任何时候都只能有单独的一个值,则称该属性为独的一个值,则称该属性为单值属性单值属性,否则为,否则为多多值属性值属性。n学号学号为为单值属性单值属性。n由于一个学生可能有由于一个学生可能有0 0个、个、1 1个或多个电话号码个或多个电话号码(如如实验实验室电话、宿舍电话、移动电话室电话、宿舍电话、移动电话等等),因此,因此学生学生实体集的实体集的电话号码电话号码为为多值属性。多值属性。第19页,本讲稿共87页属性分类属性分类n派生属性派生属性 n派生属性派生属性的值可以从其它相关的值可以从其它相关属性属性或或实体实体(集集)派派生出来。生出来。n一个一个学生学生的的年龄年龄属
14、性的值,可以由该学生的属性的值,可以由该学生的出生日出生日期期属性的值和属性的值和当前日期当前日期计算得到。计算得到。n学生学生实体集的实体集的已修学分已修学分(表示表示该学生所选修课程的学该学生所选修课程的学分合计分合计)属性的值,它可以通过统计该学生属性的值,它可以通过统计该学生所选修所选修所所有有课程课程实体的实体的学分学分之和来获得。之和来获得。第20页,本讲稿共87页属性分类属性分类n空值空值(NULL)(NULL)n当实体在某个属性上没有值时可使用当实体在某个属性上没有值时可使用NULLNULL值,表值,表示属性的值是示属性的值是未知的未知的或或不存在不存在。n不知道某学生的专业不
15、知道某学生的专业(所学专业所学专业的值未知的值未知)或该学生还或该学生还没有分配专业没有分配专业(所学专业所学专业的值不存在的值不存在),则该学生,则该学生所所学专业学专业的值为的值为NULLNULL。n某学生的某学生的出生日期出生日期为为NULLNULL,则认为该值是缺失的,则认为该值是缺失的(即即值未知值未知)。第21页,本讲稿共87页实体集及属性的实体集及属性的E-RE-R图表示图表示n在在E-RE-R图中,实体集和属性分别表示如下:图中,实体集和属性分别表示如下:n实体集实体集矩阵矩阵n属性属性椭圆椭圆n多值属性多值属性双椭圆双椭圆n派生属性派生属性虚线椭圆虚线椭圆n属性与实体之间属性
16、与实体之间连线连线 第22页,本讲稿共87页图4-2 学生实体集 E-R图表示图4-3 课程实体集 E-R图表示家庭住址省份城市街道学生电话号码学号姓名性别出生日期年龄所在班级所学专业课程课程名称课程号学分课时数先修课程号第23页,本讲稿共87页多值属性的变换多值属性的变换n将多值属性转换为多个单值属性进行建模。将多值属性转换为多个单值属性进行建模。例如,可将多值属例如,可将多值属性性电话号码电话号码建模为建模为移动电话、宿舍电话、实验室电话、家庭电话移动电话、宿舍电话、实验室电话、家庭电话4 4个单值属性,如图个单值属性,如图4-44-4所示。所示。第24页,本讲稿共87页学生家庭住址省份城
17、市街道移动电话宿舍电话实验室电话家庭电话学号姓名性别出生日期年龄所在班级所学专业图4-4 学生实体集中的多值属性转换为多个单值属性表示 第25页,本讲稿共87页联系与联系集联系与联系集 n联系联系(relationship)(relationship)是指多个实体间的相互关联,例如学生是指多个实体间的相互关联,例如学生李小勇李小勇选修了选修了数据库系统原理数据库系统原理课程。课程。n联系集联系集是同类联系的集合。是同类联系的集合。n形式化地说,形式化地说,联系集联系集是是n n(n n2)2)个实体集上的个实体集上的数学关系数学关系。nE-RE-R图图用菱形表示联系用菱形表示联系(集集)。联系
18、可具有自身的描述属性。联系可具有自身的描述属性。学生课程选课成绩第26页,本讲稿共87页多联系与联系中的实体角色多联系与联系中的实体角色 n多联系多联系:在相同的实体集上可能存在多个不同的联系集在相同的实体集上可能存在多个不同的联系集。如。如教教师师与与学生学生实体集之间同时存在实体集之间同时存在授课授课、指导指导联系集。联系集。n角色角色:实体在联系中的作用实体在联系中的作用。如。如课程课程实体集中的实体集中的2 2门课程实体门课程实体C1C1、C2C2之间存在之间存在先修要求先修要求联系,其中联系,其中C1C1、C2C2扮演不同的扮演不同的角色角色,C1C1代表代表主课程主课程,C2C2代
19、表代表先修课程先修课程,分别表示实体所扮演的,分别表示实体所扮演的角色角色。教师学生授课指导课程先修要求主课程先修课程第27页,本讲稿共87页目目 录录4.6数据库设计过程 4.1E-R模型基本概念及表示4.2约束4.3数据库概念设计实例数据库概念设计实例大学选课系统大学选课系统4.7E-R建模问题4.8逻辑设计逻辑设计E-R模型转化为关系模型模型转化为关系模型第28页,本讲稿共87页约约 束束nE-RE-R模型的约束主要有:模型的约束主要有:n 映射约束映射约束 n 码约束码约束 n 依赖约束依赖约束(不作要求不作要求)n 参与约束参与约束 (不作要求不作要求)第29页,本讲稿共87页映射约
20、束(实体联系)映射约束(实体联系)n映射基数映射基数n实体集中的一个实体通过一个联系集能同时与另一个实实体集中的一个实体通过一个联系集能同时与另一个实体集相体集相联系的实体数目联系的实体数目。n在二元联系中,共有在二元联系中,共有4 4种映射基数:种映射基数:n1:11:1(一对一)(一对一)n1:m1:m(一对多)(一对多)nm:1m:1(多对一)(多对一)nm:nm:n(多对多)(多对多)第30页,本讲稿共87页一对一联系(1:1)实体集A中的每一个实体,若实体集B中至多只有一个实体与之联系,反之亦然,则称实体集A与B是一对一的联系,记作1:1。第31页,本讲稿共87页一对多联系(1:n)
21、实体集A中一个实体可以同B中任意数目(可以为0)的实体相联系,而B中一个实体至多(允许不)同A中一个实体相联系。第32页,本讲稿共87页多对多联系(m:n)n实体集A中的每一个实体,若实体集B中有n(n=0)个实体与之联系,反之,实体集B中的每一个实体,实体集A中有m(m=0)个实体与之联系,则称实体集A与B是多对多联系,记作n:m。第33页,本讲稿共87页例如:篮球比赛中球队与场上队长之间具有一对一的联系;队长与队员之间具有一对多的联系;队员与裁判之间为多对多的联系。第34页,本讲稿共87页n在在E-R图中,为了反映联系集的映射基数,采用图中,为了反映联系集的映射基数,采用“”表示表示指向参
22、与联系集中的指向参与联系集中的“一一”方实体集,线段方实体集,线段“”表示参表示参与联系集中的与联系集中的“多多”方实体集。方实体集。映射基数的表示映射基数的表示销货单开发票发票(a)一对一联系集开发票班级包含学生(b)一对多联系集包含课程归属学院(c)多对一联系集归属学院聘用教师聘用日期第35页,本讲稿共87页码约束与联系集的属性安置码约束与联系集的属性安置 n实体集的码实体集的码 n超码超码(super key)(super key)若一超码的任意真子集都不能成为超码,则称若一超码的任意真子集都不能成为超码,则称该该最小超码最小超码为为候选码候选码(candidate key)(candi
23、date key)。n给定一组属性集,可能存在多个候选码。给定一组属性集,可能存在多个候选码。n假设假设学生学生实体集中不存在同名的学生,则实体集中不存在同名的学生,则学号学号和和姓名姓名都都可以用来唯一区分学生可以用来唯一区分学生 ,因此它们都可以作为,因此它们都可以作为学生学生实实体集的候选码。体集的候选码。n学号学号和和姓名姓名的组合是候选码吗?的组合是候选码吗?第36页,本讲稿共87页码约束与联系集的属性安置码约束与联系集的属性安置 n候选码候选码和和超码超码是实体集是实体集客观存在的特性客观存在的特性,它们表示实体集中任意,它们表示实体集中任意两个实体不允许在码属性上有相同的值。两个
24、实体不允许在码属性上有相同的值。n主码主码是是被数据库设计者主观选中、用来区分同一实体集中不同实被数据库设计者主观选中、用来区分同一实体集中不同实体的候选码体的候选码。第37页,本讲稿共87页码约束与联系集的属性安置码约束与联系集的属性安置 n当一实体集存在多个候选码时,主码选择原则:当一实体集存在多个候选码时,主码选择原则:n选择选择属性长度最短属性长度最短的候选码;的候选码;n选择选择包含单个属性包含单个属性的码,而不是复合候选码;的码,而不是复合候选码;n选择在数据库系统生命周期内选择在数据库系统生命周期内属性值最少变化属性值最少变化的的候选码;候选码;n选择在数据库系统生命周期内选择在
25、数据库系统生命周期内更可能包含唯一值更可能包含唯一值的候选码。的候选码。第38页,本讲稿共87页码约束与联系集的属性安置码约束与联系集的属性安置 每一个每一个联系集联系集,也要求必须存在,也要求必须存在候选码候选码,并选择其中的一,并选择其中的一个候选码作为个候选码作为主码主码,用于唯一标识该联系集中的一个联系用于唯一标识该联系集中的一个联系。n联系集的码联系集的码 n假设假设R R是一个涉及实体集是一个涉及实体集E E1 1,E E2 2,E En n的的联系集联系集,PKPK(E Ei i)代表构成代表构成实体集实体集E Ei i的的主码主码属性的集合,而属性的集合,而(e e1 1,e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 建模 模型 精品 文稿
限制150内