学习情景2 数据库的设计_第1页
学习情景2 数据库的设计_第2页
学习情景2 数据库的设计_第3页
学习情景2 数据库的设计_第4页
学习情景2 数据库的设计_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

学习情景2数据库的设计ER图的组成元素

ER模型是一种用图形表示数据及其联系的方法,ER模型通过ER图来表示。ER图包括三个组成元素,分别是实体、联系和属性。ER图绘制简单,图符较少,简单易懂,可以快速建立待开发系统的概念模型。ER图的组成元素

实体实体(Entity)是现实世界中客观存在的,而且可以相互区别的事物或活动的抽象。例如,一个公司,一门课程,一名学生、一次比赛。在ER图中,实体用矩形框表示,矩形框内写明实体的名称。

ER图的组成元素

属性属性(Attribute)是描述实体或联系中的一种特征。一个实体或联系通常具有多个特征,需要多个相应属性来描述。码(Key)或键是属性的一种,它是实体间相互区别的一种惟一标识。在ER图中,属性用椭圆形表示,椭圆形内写明属性的名称,用无向边将其与相应的实体连接起来,一般用下划线标注作为主键的属性。

ER图的组成元素

联系实体内部的联系(Relationship)通常指组成实体的各个属性之间的关系,实体外部的联系通常指不同实体间的关系。在ER图中联系用菱形表示,菱形内写明联系的名称,用无向边分别与实体连接起来,在无向边上注明联系的类型(1:1,1:n,m:n)如果联系有属性,则这些属性同样用椭圆表示,用无向边与联系连接起来。

ER图的组成元素

联系一对一联系(One-to-One)如果一个实体A至多与一个实体B发生关系,反之亦然,则A与B两个实体之间具有一对一联系,简单记为1:1。

ER图的组成元素

联系一对多联系(One-to-Many)如果一个实体A可以与多个(包含0个)实体B发生关系,而一个实体B至多与一个实体A发生关系,则A与B两个实体之间具有一对多联系,简单记为1:n。

ER图的组成元素

联系多对多的联系(Many-to-Many)如果一个实体A可以与多个(包含0个)实体B发生关系,而一个实体B也可以与多个(包含0个)实体A发生关系,则A与B两个实体之间具有多对多的联系,简单记为m:n。

课程ER图的组成元素

联系除了实体之间存在联系外,有时实体内部也可能存在联系。

ER图的组成元素

联系在某些情况下,还可能出现多个实体(大于两个实体)之间存在联系,这种联系称为多元联系,这与两个实体之间的二元联系相对应。

ER图的组成元素

ER图实例

课程编号课程ER图的组成元素思考1.请用ER图表示下列关系,并在实体图上标明属性。购买(顾客编号,商品编号,购买数量,购买时间)顾客(顾客编号,顾客姓名,电话,地址)商品(商品编号,商品名称,价格)2.一个教室可以容纳多个班级上课,但是一个班级只能在一个教室上课。识别其中的实体及联系,并绘制相应的ER图。实体联系模型的创建

实体联系模型的创建过程分为两个步骤局部ER图设计全局ER图设计及优化实体联系模型的创建

局部ER图设计实体联系模型的创建

确定范围在设计局部时首先要确定局部ER图设计的范围,规模较大的软件系统包括多个子系统。为了降低数据库设计的难度,可以先设计每个子系统的数据库,绘制局部的ER图,一个范围即对应一个相对独立的子系统。实体联系模型的创建

识别实体在确定的范围内,寻找和识别实体,确定实体的键。在需求文档中根据人员、组织、物品、事件等名词来寻找实体;实体找到后,给实体取一个合适的名称,给实体正确命名时,可以发现实体之间的差别;根据实体的特点,标识实体的主键。实体在哪里?实体联系模型的创建

确定联系对于识别出的实体,进行两两组合,判断实体之间是否存在联系,联系的类型是1:1,1:n,m:n,如果是m:n的实体,考虑是否可以分解,增加关联实体,使之成为1:n的联系。实体联系模型的创建

定义属性属性是描述实体的特征和组成相同实体的属性应该具有相同的数量、名称和数据类型在实体的属性中,去掉软件系统不需要的属性必要时,需要人为地增加属性例如:当实体缺少明确的主键,需要人为地设置主键如果实体和属性之间没有明显的区别,能作为属性对待的,尽量作为属性对待定义属性的基本原则是:属性是不可再分的数据项属性不能与其它实体产生联系实体联系模型的创建

全局ER图设计及优化局部ER图设计好后,需要将所有的局部ER图集成起来,形成一个全局ER图。实体联系模型的创建

全局ER图设计及优化合并不同的局部ER图面向不同的应用,可能由不同的人进行设计或同一个人不同时间进行设计各个局部ER图可能存在许多不一致的地方,称之为冲突合并局部ER图的主要目的是消除冲突实体联系模型的创建

全局ER图设计及优化什么是冲突?属性冲突:相同的属性在不同的ER图中属性值的类型、取值范围或单位不同。命名冲突:相同的实体或属性在不同的局部ER图中有不同的名字,不同的实体或属性有相同的名字。结构冲突:同一事物在不同的局部ER图中,有的作为实体,有的作为属性;相同的实体在不同的局部ER图中属性的个数不一致;同一实体的在局部ER图中键不同;实体间的联系在不同的局部ER图中联系的类型不同。实体联系模型的创建思考在某数据库的设计过程中,商品价格在有些地方使用“元”为单位,有些地方使用“万元”为单位,这种不一致现象称为A.属性冲突B.命名冲突C.结构冲突D.实体冲突实体联系模型的创建

全局ER图设计及优化重构重构的目的是消除不必要的冗余冗余属性是指可以用其他属性导出的属性。冗余联系是指可以通过其他实体之间的联系导出的联系。冗余属性和冗余联系容易破坏数据库的完整性,给数据库的维护增加困难,应该予以消除。以刚才学生信息和选课为例:大学生李四,是一名男生,1989.7出生,就读于计算机071他选过计算机技术基础和程序设计基础两门课程,成绩为70和80E-R图实例课堂实践步骤一:确定实体(Entity)学生课程E-R图实例课堂实践(Cont)步骤二:确定实体的属性和码学生课程学号姓名出生年月专业班级性别课程编号课程名称课程性质学分E-R图实例课堂实践(Cont)步骤三:确定实体之间的关系与属性学生课程学号姓名出生年月专业班级性别课程编号课程名称课程性质学分选课成绩mnE-R图实例课堂实践(Cont)步骤四:将多对多转化成多个一对多学生课程学号姓名出生年月专业班级性别课程编号课程名称课程性质学分成绩m1选课学号课程编号选择1拥有n一个实例用E-R图表示某个工厂物资管理的概念模型实体仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称

实体之间的联系如下:

(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对多的联系ER模型与关系模型的映射ER模型与关系模型的映射

概念模型(ER模型)向关系模型的转化就是将用ER图表示的实体、实体属性和实体联系映射为关系模式,具体而言就是映射为关系型数据库系统(RDBMS)所支持的数据库对象,构造系统的逻辑数据模型。ER模型与关系模型映射的目的是根据ER模型生成关系(表),并确定关系的属性(列)。ER模型与关系模型的映射

映射原则实体映射每个独立实体映射为一个关系,即二维表,关系的键即为实体的键。学生(学号,姓名,性别,年龄,学分)\学号姓名性别年龄学分S001白玉芬女19123S002唐嘉芝女1867S003刘健鹏男21120S004田洋男1997S005申一雅男1862ER模型与关系模型的映射

映射原则联系映射一对一联系:在一对一联系中,两个实体转换为关系,在两实体对应的任一关系中多设一个属性作为外键(此外键是与之关联的实体的主键)。ER模型与关系模型的映射

映射原则联系映射一对一联系系主任编号姓名性别年龄职称DD001李强生男46教授DD002赵德胜男42教授DD003王海洋男38高级工程师DD004刘玉明女45教授系编号系名联系电话地址系主任编号D001外语系87323123BigCollege大道123号DD001D002工商系87323234BigCollege大道234号DD002D003计算机系87323688BigCollege大道688号DD003D004建筑系87323666BigCollege大道666号DD004ER模型与关系模型的映射

映射原则联系映射一对多联系:在一对多联系中,两个实体转换为关系,把“一”方实体的主键加入“多”方实体对应的关系中作为外键,若联系包含属性,则将联系的属性也加入“多”方实体对应的关系中。ER模型与关系模型的映射

映射原则联系映射一对多联系专业编号专业名专业带头人姓名M001日语王金宝M002英语陈龙M003阿拉伯语何炅新M004工商管理任德华学号姓名性别年龄专业编号S001白玉芬女19M001S002唐嘉芝女18M001S003刘健鹏男21M001S004田洋男19M002S005申一雅男18M002S006范力男19M003S007高红女20M004实体联系模型的创建思考为什么不将学生表中的学号移至专业表?ER模型与关系模型的映射

映射原则联系映射多对多联系:在多对多联系中,两个实体转换为关系,再为联系单独建立一个关系,联系的属性即为对应的关系的属性,该关系中包含联系双方实体的主键,关系的主键为各实体主键的组合。ER模型与关系模型的映射

映射原则联系映射多对多联系学号姓名性别年龄已获学分S001白玉芬女19123S002唐嘉芝女1867S003刘健鹏男21120S004田洋男1997课程编号课程名称开课时间学分C001微观经济学2009-3-12C002大学英语2009-3-14C003建筑艺术2009-3-163C004计算机网络2009-3-252学号课程编号考试成绩S001C00190S001C00254S002C00367S002C00167S003C00266S004C00498课程编号课程ER模型与关系模型的映射

映射原则联系映射多元联系:如果存在多元联系,则联系单独转换成一个关系,且该关系中包含各个关联实体的主键和联系的属性,关系的主键为各关联实体主键的组合。ER模型与关系模型的映射

映射原则关系合并如果存在主键相同的关系,为了减少系统中关系表的个数,可以合并这些关系。关系规范化——范式关系规范化的目的和意义一个好的数据库设计所遵循的标准:每个表应提供一个惟一的标识符,用来区分不同的行每个表应当存储单个实体类型的数据每个表不应该出现值全部相同的行(或列)尽量避免接受NULL值(空值)的列尽量避免值重复关系规范化过程用形式更为简洁、结构更加规范的关系模式取代原有关系模式的过程关系规范化的目的和意义实例分析将专业和系两个实体存放在一个表内majorNomajorNamemajorLeaderdepNamedepDeanNameM001日语王金宝外语系李强生M002英语陈龙外语系李强生M003阿拉伯语何炅新外语系李强生M004工商管理任德华工商系赵德胜M005金融张学斌工商系赵德胜M006国际贸易李东生工商系赵德胜M007经济学钱海波工商系赵德胜M008软件工程朱晓明计算机系王海洋M009计算机网络刘少云计算机系王海洋M010建筑学白意愿建筑系刘玉明关系规范化的目的和意义实例分析数据冗余:数据在数据库中的重复存放称为数据冗余数据冗余导致的问题:浪费存储空间可能造成数据的不一致性,产生插入、删除和更新异常增加了插入、删除和更新数据的时间majorNomajorNamemajorLeaderdepNamedepDeanNameM001日语王金宝外语系李强生M002英语陈龙外语系李强生M003阿拉伯语何炅新外语系李强生数据重复关系规范化的目的和意义实例分析插入异常:在不规范的数据表中插入数据时,由于实体完整性约束要求主键非空的限制,将会出现一些有用数据无法插入的情况majorNomajorNamemajorLeaderdepNamedepDeanNameM001日语王金宝外语系李强生M002英语陈龙外语系李强生历史系张大同主键不能为空,插入失败关系规范化的目的和意义实例分析删除异常在不规范的数据表中,删除某条记录会将其中一部分有用数据一起删除有用数据被删除majorNomajorNamemajorLeaderdepNamedepDeanNameM009计算机网络刘少云计算机系王海洋M010建筑学白意愿建筑系刘玉明关系规范化的目的和意义实例分析更新异常在不规范的数据表中修改某条记录的特定分量,而其它记录中的等值分量不能同步更新,则会导致数据不一致majorNomajorNamemajorLeaderdepNamedepDeanNameM001日语王金宝外语系李强生M002英语陈龙外语系李强生M003阿拉伯语何炅新外语系刘强生数据不一致关系规范化的目的和意义设计数据库的方法:凭借经验和常识可以进行数据库初步设计使用一些系统方法(如:规范化理论)来降低冗余,从而使数据库设计更为合理关系规范化是数据库逻辑设计的指南,它是基于函数依赖和范式的函数依赖数据依赖属性之间相互依赖、相互制约的关系被称为数据依赖

关系模式中的最常见的数据依赖为:函数依赖函数依赖(FunctionalDependencies)学生关系(学号,姓名,性别,年龄,专业编号,已取得总学分)

学号→姓名学号→性别学号→年龄学号→专业编号学号→已取得总学分函数依赖函数依赖的定义已知:X和Y是关系R中两个属性(或属性组)若对于X的任何一个值,只有一个Y的值与之对应,则称Y函数依赖于X,记为:X→Y,X被称为决定因子任何属性都函数依赖于候选键,所有候选键都是决定因子例子:定义1设R=R(A1,A2,…,An)是一个关系模式(A1,A2,…,An是R的属性),X∈{A1,A2,…,An},Y∈{A1,A2,…,An},即X和Y是R的属性子集,T1、T2是R的两个任意元组,即T1=T1(A1,A2,…,An),T2=T2(A1,A2,…,An),如果当T1(X)=T2(X)成立时,总有T1(Y)=T2(Y),则称X决定Y,或称Y函数依赖于X。记为:X→Y。函数依赖的基本概念定义2R,X,Y如定义1所设,如果X→Y成立,但对X的任意真子集X1,都有X1→Y不成立,称Y完全函数依赖于X,否则,称Y部分函数依赖于X。定义3设X,Y,Z是关系模式R的不同属性集,若X→Y(并且Y→X不成立),Y→Z,称X传递决定Z,或称Z传递函数依赖于X。范式范式的定义范式(NormalFormula:NF)是表结构在优化时必须满足的一些规则最重要的范式包括:第一范式(1NF)第二范式(2NF)第三范式(3NF)Boyce-Code范式(BCNF)范式范式的特征E.F.Codd把关系模式应满足的规则划分成几级,每一级称为一个范式范式的等级越高,应满足的条件也越严规范化一个低级范式的关系模式,通过分解(投影)方法可以转换成若干高一级范式的关系模式,这个过程称为规范化1NF

2NF

3NF

BCNF

第一范式第一范式定义若关系R中的每个属性(列)都是不可再分的,并且每个属性都是单值的,则称关系R满足第一范式,记为:R∈1NF属性不可再分:1NF中不能出现子属性属性值为单值:每个单元格中不允许出现一个以上的数据1NF是对关系的最低要求,不满足1NF的关系是非规范化的关系第一范式实例分析提出/分析问题

teacherNoteacherNameteacherTitleteacherTelofficeTelhomeTelT001夏玉明讲师8123498181231231T002李娟教授8123498688712136T003王筱琳讲师8123498188245178T004刘明辉刘明浩副教授8123498186570081T005唐勇副教授8123498283226315T006黄洁讲师8123498282225743T007曾惠副教授8123498288710038T008赵文波教授8123498688461136非规范化第一范式实例分析问题求解

teacherNoteacherNameteacherTitleofficeTelhomeTelT001夏玉明讲师8123498181231231T002李娟教授8123498688712136T003王筱琳讲师8123498188245178T004刘明辉副教授8123498186570081T005唐勇副教授8123498283226315T006黄洁讲师8123498282225743T007曾惠副教授8123498288710038T008赵文波教授8123498688461136T009刘明浩副教授8123498186570081第二范式第二范式定义若关系R∈1NF,并且每个非主属性都函数依赖于整个候选键,而不是依赖于部分候选键,则称关系R满足第二范式,记为:R∈2NF1NF转化为2NF:优先判断主键的规范性将依赖部分键的非主属性和所依赖部分键组成一个关系将依赖整个键的非主属性和整个键组成另一个关系第二范式实例分析提出问题:满足1NF,不满足2NF

stuNostuNamestuSexstuAgeclassNoclassCourseNameclassStartTimescoreS001白玉芬女19C001微观经济学2008-3-178S001白玉芬女19C002大学英语2008-3-167S001白玉芬女19C005操作系统2009-4-6S002唐嘉芝女18C001微观经济学2008-3-192S003刘健鹏男21C006数据库原理2009-4-897S004田洋男19C001微观经济学2008-3-166S004田洋男19C002大学英语2008-3-165S004田洋男19C003建筑艺术2008-3-1663S004田洋男19C004计算机网络2008-3-2571S005申一雅男18C004计算机网络2008-3-2559S005申一雅男18C005操作系统2009-4-6S006范力男19C005操作系统2009-4-6S007高红女20C005操作系统2009-4-6S008张埔涛男18C005操作系统2009-4-6S009蒲惠妃女19C005操作系统2009-4-6第二范式实例分析分析问题:插入异常:在一个学生未选择任何课程时,该学生信息不能被插入更新异常:对于给定的学生,学号、性别、姓名和年龄重复多次;对于给定的班级,课程名称、开课时间重复多次删除异常:当需要删除某个学生的信息时,与该学生相关的班级信息将被删除;删除班级信息时,选该班级课程的学生信息也将被删除,这种删除将造成一些信息的丢失第二范式实例分析问题求解stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18S006范力男19S007高红女20S008张埔涛男18S009蒲惠妃女19classNoclassCourseNameclassStartTimeC001微观经济学2008-3-1C002大学英语2008-3-1C003建筑艺术2008-3-16C004计算机网络2008-3-25C005操作系统2009-4-6C006数据库原理2009-4-8stuNoclassNoscoreS001C00178S001C00267S001C005S002C00192S003C00697S004C00166S004C00265S004C00363S004C00471S005C00459S005C005S006C005S007C005S008C005S009C005满足2NF第二范式

思考在按照2NF要求分解之后的关系模式中,确定学生表、班级表和选课表的主键和外键。第三范式第三范式定义若关系R∈2NF,并且它的非主属性只函数依赖于候选键,而不依赖于其它非主属性,则称R满足第三范式,记为:R∈3NF2NF转化为3NF:将不只依赖于键的非主属性和所依赖的非主属性组成一个关系原有关系中去掉那些不只依赖于键的非主属性,剩余部分组成一个关系第三范式实例分析提出问题:满足2NF,不满足3NFstuNostuNamestuSexstuAgemajorNomajorNamemajorLeaderS001白玉芬女19M001日语王金宝S002唐嘉芝女18M001日语王金宝S003刘健鹏男21M001日语王金宝S004田洋男19M001日语王金宝S005申一雅男18M001日语王金宝S006范力男19M002英语陈龙S007高红女20M002英语陈龙S008张埔涛男18M002英语陈龙S009蒲惠妃女19M003阿拉伯语何炅新第三范式实例分析分析问题插入异常:如果一个专业没有学生时不能插入该专业的信息更新异常:对于给定的专业,专业名称和专业带头人姓名重复多次出现,产生了数据冗余,如果一个专业的专业带头人姓名发生变更,则与该专业相关的所有记录都要更新,否则将造成同一专业其带头人不一致,引发更新异常。删除异常:当一个专业只有一个学生时,在删除该学生信息的时候会将该专业的信息全部删除,造成有效数据的丢失,引发删除异常。第三范式实例分析问题求解stuNostuNamestuSexstuAgemajorNoS001白玉芬女19M001S002唐嘉芝女18M001S003刘健鹏男21M001S004田洋男19M001S005申一雅男18M001S006范力男19M002S007高红女20M002S008张埔涛男18M002S009蒲惠妃女19M003满足3NFmajorNomajorNamemajorLeaderM001日语王金宝M002英语陈龙M003阿拉伯语何炅新第三范式思考在按照3NF要求分解之后的关系模式中,确定学生表和专业表的主键和外键。BC范式BC范式定义若关系R∈1NF,并且它的决定因子都是候选键,则称R满足BC范式,记为:R∈BCNFBC范式实例分析提出问题:满足3NF,不满足BCNFdepNodepNameproductNoaccountD001外语系P001100D001外语系P002120D001外语系P0032D001外语系P0046D002工商系P00180D002工商系P002100D003计算机系P00178D003计算机系P002160D004建筑系P00162BC范式实例分析分析问题该关系中存在如下函数依赖:(depNo,productNo)→account(depName,productNo)→accountdepNo→depNamedepName→depNo候选键包括:(depNo,productNo)和(depName,productNo)主属性包括:depNo、depName和productNo非主属性包括:accountBC范式实例分析分析问题——BCNF转换方法将产生函数依赖关系的主属性组成一个新关系组合剩余的属性,合并相同的元组BC范式实例分析问题求解depNoproductNoaccountD001P001100D001P002120D001P0032D001P0046D002P00180D002P002100D003P00178D003P002160D004P00162满足BCNFdepNodepNameD001外语系D002工商系D003计算机系D004建筑系逆规范化通过规范化可以分解得到一些结构简单的表,但是在查询时可能需要连接多个表,这造成了大量的数据库逻辑运算,从而降低了查询效率为了提高查询效率,可以在特定的表中引入一些额外的属性数据库设计允许存在合理的冗余逆规范化逆规范化的定义将两个或多个满足高范式的关系模式通过自然连接,重新合并成一个满足较低范式的关系模式的过程称为逆规范化规范化和逆规范化是相互矛盾的,何时进行规范化、何时进行逆规范化、进行到什么程度,在具体的应用环境中,需要数据库设计者仔细分析和平衡逆规范化需要设计者在关系中有意地引入一些冗余以改进系统的查询性能逆规范化实例分析提出问题

stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18stuNoCourseNoscoreS001C00178S001C00267S001C00356S002C00192CourseNoCourseNameCourseStartTimeCourseCreditC001微观经济学2008-3-12C002大学英语2008-3-14C003建筑艺术2008-3-162

计算stuNo=‘S001’学生的已获学分,需要对三个表进行连接逆规范化实例分析分析问题查询和计算过程在经过数据库编译后,将会变成一个比较繁琐的程序在后台运行,尤其在数据库记录非常多、用户访问量很大的情况下将会造成用户难以忍受的延迟。在表中适当增加一定冗余,可以减少数据库服务器的负荷,提高查询速度,如果需要经常查询和统计学生已获得学分,可以在原来的学生表中增加一个新的字段stuTotalCredi来表示已取得的总学分,虽然这样设计在一定程度上会导致数据的冗余,但是可以极大提高查询速度。逆规范化实例分析问题求解stuNostuNamestuSexstuAgestuTotalCreditS001白玉芬女196S002唐嘉芝女182增加一个新列来存储学生已获总学分小结设计不合理的数据库存在数据冗余、插入异常、删除异常和更新异常等一系列问题。

一个关系数据库中的关系都应满足一定的规范,才能构造出好的关系数据模式,关系规范化的目的就是实现关系数据库设计的优化。函数依赖涉及到平凡函数依赖、非平凡函数依赖、完全函数依赖、部分函数依赖、传递函数依赖等概念。根据一个关系模式的语义,可以求出其最小函数依赖集,确定各属性之间的函数依赖关系,并求出关系的候选键。关系模式应满足的规范化程度分为几级,每一级称为一个范式。第一范式是一个关系的最低规范化级别,第一范式要求属性不能再分,即所有的属性都是单值属性。小结第二范式要求消除所有非主属性对主属性的部分函数依赖。如果满足第一范式的关系中所有候选键都是单属性,则满足第二范式。第三范式要求消除非主属性对主属性的传递函数依赖。在关系规范化过程中,通常是先消除传递函数依赖,再消除部分函数依赖。BC范式要求消除关系中所有属性对候选键的部分函数依赖和传递函数依赖。如果一个关系满足第三范式,且它只有单个候选键,或者它的每个候选键都是单属性,则该关系自然达到了BC范式。将两个或多个满足高范式的关系模式通过自然连接,重新合并成一个满足较低范式的关系模式的过程称为逆规范化。逆规范化的目的是提高查询效率,但势必会增加关系表的个数,因此需要对规范化和逆规范化进行折衷考虑,做到数据库系统整体性能的最佳。关系数据库关系模型的基本概念

关系(Relation)元组(Tuple)属性(Attribute)关键字(Key)域(Domain)分量关系模式关系名(属性1,属性2,……属性n)。关系数据库实现数据模型什么是关系模型?关系模型的几大基本元素和数据结构?用二维表格结构来表示实体及实体间联系的模型行元组学号姓名性别专业班级出生年月0001张三男计算机0711987.20002李楠女计算机0731988.3(主)关键字(主)码属性值域属性值列实体关系(表)学生表关系数据结构关系(Relation)就是二维表每个单元格中只有一个值stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18关系关系数据结构属性(Attribute)

关系中的列称为属性stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18属性关系数据结构元数(Arity)

关系中属性的个数称为元数(列数)stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18元数=4关系数据结构元组(Tuple)

关系中每一行称作一个元组,也称为记录stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18元组关系数据结构分量(Component)

元组中每一个属性值称为元组的一个分量(单元格),一个元组是由n个元组分量组成stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18分量关系数据结构基数(Cordinality)

关系中元组的个数称为基数(行数)stuNostuNamestuSexstuAgeS001白玉芬女19S002唐嘉芝女18S003刘健鹏男21S004田洋男19S005申一雅男18基数=5关系数据结构域(Domain)

属性的取值范围和取值类型称为域性别={男,女}学生年龄={10,11,12,13,14,15,……,28,29,30}关系数据结构键(Key)

键又称为码,由一个或多个属性组成候选键(CandidateKey)

在关系中能唯一标识元组的最小属性(或属性组)一个关系可能有多个候选键主键(PrimaryKey)从候选键中任选一个来惟一标识元组一个关系只能有一个主键用户可以根据需要在候选键中选择合适的作为主键关系数据结构

思考

指出下面关系的候选键和主键stuNostuIdentity(身份证号码)stuNamestuSexstuAgeS001342245198906054522白玉芬女19S002165834199012054058唐嘉芝女18S003455245198808046027刘健鹏男21S004246248199006164311田洋男19S005172565198911055021申一雅男18关系数据结构键(Key)

备用键(AlternateKey)除了主键外的其它候选键一个关系可以没有备用键,也可以有一个或多个备用键外键(ForeignKey)如果关系R1中的一个属性(或属性组),其值均取自于另一个关系R2的主键值,则称该属性(或属性组)为R1的外键关系数据结构外键majorNomajorNamemajorLe

温馨提示

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

评论

0/150

提交评论