《MSSQL数据库培训-数据库建模.pptx》由会员分享,可在线阅读,更多相关《MSSQL数据库培训-数据库建模.pptx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MS SQL数据库开发培训数据库开发培训数据库建模数据库建模主讲人:黄浩主讲人:黄浩内容数据库建模概述数据库建模概述1数据库数据库E-R图图2数据库范式数据库范式3完整性约束完整性约束4建模工具介绍建模工具介绍5建模的实质建模的实质u数据库的结构,也称为数据库模式u将现实世界中客观存在的事物以数据形式存储到计算机中并进行处理,就需要对其进行分析、抽象、进而确定数据的结构以及数据间的内在联系,这一过程称为数据建模u模型是对不能直接观察的事物进行形象的描述和模拟u数据库建模步骤:建模的实质建模的实质信息信息结构化结构化数据数据人人是无是无羽毛羽毛的的两足两足动物动物姓名姓名性性别出生年月出生年月血
2、型血型籍籍贯张小美小美美女美女1988-08-08AB杭州杭州建模的问题建模的问题我怎么知道建立哪些模型?我怎么知道建立哪些模型?模型和模型之间是否存在关系?模型和模型之间是否存在关系?如何有效的将信息结构化模型?如何有效的将信息结构化模型?模型的属性如何正确确认?模型的属性如何正确确认?如何有效的管理模型?如何有效的管理模型?建模的那些问题建模的那些问题内容数据库建模概述数据库建模概述1数据库数据库E-R图图2数据库范式数据库范式3完整性约束完整性约束4建模工具介绍建模工具介绍5E-R图u实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的
3、方法,用来描述现实世界的概念模型具有相同属性的具有相同属性的实体具有相同的实体具有相同的特征和性质,用特征和性质,用实体名及其属性实体名及其属性名集合来抽象和名集合来抽象和刻画同类实体刻画同类实体联系也称关系,联系也称关系,信息世界中反映信息世界中反映实体内部或实体实体内部或实体之间的联系。实之间的联系。实体内部的联系通体内部的联系通常是指组成实体常是指组成实体的各属性之间的的各属性之间的联系;实体之间联系;实体之间的联系通常是指的联系通常是指不同实体集之间不同实体集之间的联系的联系联系联系联系联系要素要素要素要素属性属性属性属性实体型实体型实体型实体型实体所具有实体所具有的某一特性,的某一特
4、性,一个实体可一个实体可由若干个属由若干个属性来刻画性来刻画联系的类型丈丈 夫夫妻妻 子子婚婚 姻姻父父 亲亲生生 育育子子 女女教教 师师教教 学学学学 生生一个一个简单的大学的大学选课数据数据库,涉及如下数据:,涉及如下数据:学生Student:学号SNo、姓名Sname、年龄Age、性别Ssex、系别Dept;课程Course:课程号Cno、课程名CName、课程学分Credit;教师Teacher:教师姓名Tname、教师性别Tsex、职称Post;系别Dept:系别编号Dno,系别名DName、系别电话DTel,系别地址DAddr;一个学生可以选修多门课,每门课可以由多个学生选修;一
5、位教师可讲授多门课程,每门课程可由多位教师讲授,学生在选课的同时可以选老师,学生选修课程会有成绩Score。E-R图举例CNoSNSNoScoreCNStudentCourseBelongTeachSupplyDepartTeacherChoose内容数据库建模概述数据库建模概述1数据库数据库E-R图图2数据库范式数据库范式3完整性约束完整性约束4建模工具介绍建模工具介绍5范式范式综述述无重复的列非码属性必须完全依赖于码非主属性不依赖于其它非主属性任何非主属性不能对主键子集依赖禁止主键列和非主键列一对多关系不受约束将表分割成尽可能小的块,为了排除在表中所有的冗余消除了数据冗余、更消除了数据冗余
6、、更新异常、插入异常和新异常、插入异常和删除异常除异常第一范式u所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性u在任何一个关系数据库中,第一范式(1NF)是对关系模式的设计基本要求,一般设计中都必须满足第一范式(1NF)第二范式u在一范式(1NF)的基础上,非码属性必须完全依赖于码u第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识。u第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一
7、部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。u第二范式就是在第一范式的基础上属性完全依赖于主键第二范式应用举例u把所有信息放到一个表中(学号,课程)(姓名,年龄,成绩,学分)(学号,学生姓名、年龄、性别、课程、课程学分、系别、学科成绩,系办地址、系办电话)同一门课程由n个学生选修,学分就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次若调整了某门课程的学分,数据表中所有行的学分值都要更新假设一批学生已经完成课程的选修,这些选修记录就应该从数据库
8、表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常更新异常更新异常删除异常删除异常数据冗余数据冗余第二范式举例(学号,姓名、年龄、性别、课程、课程学分、系别、学科成绩、系办地址、系办电话)(学号,姓名、年龄、性别、系别、系办地址、系办电话)学生:学生:(课程、课程学分)课程:课程:(学号,课程、学科成绩)成绩:成绩:第三范式u在1NF基础上,任何非主属性不依赖于其它非主属性u第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。u第三范式就是属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传递依赖于主属性。(学号,姓名、
9、年龄、性别、系别、系办地址、系办电话)学生:学生:(学号,姓名、年龄、性别、系别)学生:学生:(系别、系办地址、系办电话)院院系:系:内容数据库建模概述数据库建模概述1数据库数据库E-R图图2数据库范式数据库范式3完整性约束完整性约束4建模工具介绍建模工具介绍5完整性约束域域要求某个属性的值必须处于特定的范围内或者取自特性值的集合实体实体在实体集的范围内唯一标识一个实体的属性或属性集。一个类中的任何两个对象在构成键码的属性集上的取值决不能相同参照参照一个实体中某个特定属性或属性集(通常称为外键码)的取值,如果不是空值,则只能引用另一个确实存在的键码属性或属性集的值内容数据库建模概述数据库建模概述1数据库数据库E-R图图2数据库范式数据库范式3完整性约束完整性约束4建模工具介绍建模工具介绍5建模工具uSybase PowerDesigner-一个高端数据建模工具。uERWin-一个高端数据建模工具。uRational Rose Enterprise-一个高端UML工具,恰如其分的数据库建模支持。uVisio Professional-一个价格低廉的绘图工具,可用来生成数据模型、UML图等。企业版还支持针对各种数据库的双向工程能力。uERD Tool List-u 一个关于各种数据库和UML建模工具的链接和资源的清单。联系交流方式:联系交流方式:uEmail:u手机:手机: