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