《数据库实用技术》PPT课件.ppt

上传人:tia****nde 文档编号:13094729 上传时间:2020-06-05 格式:PPT 页数:68 大小:1.43MB
返回 下载 相关 举报
《数据库实用技术》PPT课件.ppt_第1页
第1页 / 共68页
《数据库实用技术》PPT课件.ppt_第2页
第2页 / 共68页
《数据库实用技术》PPT课件.ppt_第3页
第3页 / 共68页
点击查看更多>>
资源描述
第一章数据库设计,2/68,内容,数据模型数据库设计,3/68,数据模型,什么是数据模型数据模型的分类数据模型的组成要素概念模型关系模型,4/68,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现,5/68,两大类数据模型,数据模型分为两类(分属两个不同的层次)(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)逻辑模型和物理模型逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。,6/68,两大类数据模型(续),客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的逻辑模型。,7/68,两大类数据模型(续),DBMS支持的数据模型,概念模型,认识抽象,信息世界,机器世界,现实世界中客观对象的抽象过程,现实世界,8/68,数据模型的组成要素,数据结构数据操作完整性约束条件,9/68,一、数据结构,什么是数据结构描述数据库的组成对象,以及对象之间的联系描述的内容与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述,10/68,二、数据操作,数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型查询更新(包括插入、删除、修改),11/68,数据操作(续),数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述,12/68,三、数据的完整性约束条件,数据的完整性约束条件一组完整性规则的集合。完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,13/68,概念模型,信息世界中的基本概念两个实体型之间的联系两个以上实体型之间的联系单个实体型内的联系概念模型的一种表示方法一个实例,14/68,概念模型,概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解,15/68,一、信息世界中的基本概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(例如,C+Primer)(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。,16/68,信息世界中的基本概念(续),(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(EntitySet)同一类型实体的集合称为实体集,17/68,信息世界中的基本概念(续),(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系实体之间的联系通常是指不同实体集之间的联系,18/68,二、两个实体型之间的联系,用图形来表示两个实体型之间的这三类联系,19/68,二、两个实体型之间的联系(续),一对一联系(1:1)实例一个班级只有一个正班长一个班长只在一个班中任职定义:如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1,20/68,两个实体型之间的联系(续),一对多联系(1:n)实例一个班级中有若干名学生,每个学生只在一个班级中学习定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n,21/68,两个实体型之间的联系(续),多对多联系(m:n)实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n,22/68,三、两个以上实体型之间的联系,两个以上实体型之间一对多联系若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的,23/68,两个以上实体型之间的联系(续),实例课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用,24/68,两个以上实体型之间的联系(续),多个实体型间的一对一联系两个以上实体型间的多对多联系实例供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给,25/68,四、单个实体型内的联系,一对多联系实例职工实体型内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系请举例,26/68,单个实体型内的联系,多对多联系请举例,27/68,五、概念模型的一种表示方法,实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型,28/68,E-R图,实体型用矩形表示,矩形框内写明实体名。属性用椭圆形表示,并用无向边将其与相应的实体连接起来,学生,教师,29/68,E-R图(续),联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),30/68,联系的表示方法,31/68,联系的表示方法示例,32/68,联系的属性,联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,33/68,六、一个实例,用E-R图表示某个工厂物资管理的概念模型实体仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称,34/68,一个实例,实体之间的联系如下:(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对多的联系,35/68,一个实例,36/68,最常用的数据模型,非关系模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)对象关系模型(ObjectRelationalModel),37/68,关系模型,关系数据库系统采用关系模型作为数据的组织方式1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型计算机厂商新推出的数据库管理系统几乎都支持关系模型,38/68,一、关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,学生登记表,属性,元组,39/68,关系数据模型的数据结构(续),关系(Relation)一个关系对应通常说的一张表元组(Tuple)表中的一行即为一个元组属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名,40/68,关系数据模型的数据结构(续),主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级),41/68,关系数据模型的数据结构(续),例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点),42/68,关系数据模型的数据结构(续),例2学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩),43/68,关系数据模型的数据结构(续),关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表图1.27中工资和扣除是可分的数据项,不符合关系模型要求,图1.27一个工资表(表中有表)实例,44/68,关系数据模型的数据结构(续),表1.2术语对比,45/68,二、关系数据模型的操纵与完整性约束,数据操作是集合操作,操作对象和操作结果都是关系查询插入删除更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,46/68,关系数据模型的操纵与完整性约束(续),关系的完整性约束条件实体完整性参照完整性用户定义的完整性,47/68,三、关系数据模型的存储结构,实体及实体间的联系都用表来表示表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构,48/68,四、关系数据模型的优缺点,优点建立在严格的数学概念的基础上概念单一实体和各类联系都用关系来表示对数据的检索结果也是关系关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作,49/68,关系数据模型的优缺点(续),缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发DBMS的难度,50/68,数据库设计,概念结构设计逻辑结构设计物理结构设计,51/68,两个实体集A和B之间的联系可能是以下三种情况之一。1一对一的联系(1:1)A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。例如:“班级”与“正班长”这两个实体集之间的联系是一对一的联系,因为一个班只有一个正班长,反过来,一个正班长只属于一个班。“班级”与“正班长”两个实体集的E-R模型如图1.4所示。,图1.4“班级”与“正班长”两个实体集E-R模型,概念结构设计,52/68,2一对多的联系(1:n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如:“班级”与“学生”这两个实体集之间的联系是一对多的联系,因为,一个班可有若干学生,反过来,一个学生只能属于一个班。“班级”与“学生”两个实体集的E-R模型如图1.5所示。,图1.5“学生”与“班级”两个实体集的E-R模型,概念结构设计,53/68,3多对多的联系(m:n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。例如:“学生”与“课程”这两个实体集之间的联系是多对多的联系,因为,一个学生可选多门课程,反过来,一门课程可被多个学生选修,每个学生选修了一门课以后都有一个成绩。则“学生”与“课程”两个实体集的E-R模型如图1.6所示。,图1.6“学生”与“课程”两个实体集的E-R模型,概念结构设计,54/68,1(1:1)联系的E-R图到关系模式的转换对于(11)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。例如,图1.4描述的“班级(BJB)”与“正班长(BZB)”实体集通过“属于(SYB)”联系的E-R模型可设计如下关系模式(下画线表示该字段为主码):BJB(班级编号,院系,专业,人数)BZB(学号,姓名)SYB(学号,班级编号)(2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。例如,图1.4的E-R模型可设计如下关系模式:BJB(班级编号,院系,专业,人数)BZB(学号,姓名,班级编号)或者BJB(班级编号,院系,专业,人数,学号)BZB(学号,姓名),逻辑结构设计,55/68,2(1:n)联系的E-R图到关系模式的转换对于(1n)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。例如,图1.5描述的“班级(BJB)”与“学生(XSB)”实体集的E-R模型可设计如下关系模式:BJB(班级编号,院系,专业,人数)XSB(学号,姓名,性别,出生时间,专业,总学分,备注)SYB(学号,班级编号)(2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。例如,图1.5“班级(BJB)”与“学生(XSB)”实体集E-R模型可设计如下关系模式:BJB(班级编号,院系,专业,人数)XSB(学号,姓名,性别,出生时间,专业,总学分,备注,班级编号),逻辑结构设计,56/68,3(m:n)联系的E-R图到关系模式的转换对于(m:n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。例如,图1.6描述的“学生(XSB)”与“课程(KCB)”实体集之间的联系可设计如下关系模式:XSB(学号,姓名,性别,出生时间,专业,总学分,备注)KCB(课程号,课程名称,开课学期,学时,学分)CJB(学号,课程号,成绩)关系模式CJB的主码是由“学号”和“课程号”两个属性组合起来构成的一个主码,一个关系模式只能有一个主码。,逻辑结构设计,57/68,数据库的物理结构设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。,物理结构设计,58/68,小结,数据模型数据库设计,59/68,作业:逻辑结构设计,60/68,上机实验,实现层次模型实现网状模型,61/68,层次模型,层次模型是数据库系统中最早出现的数据模型层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系,62/68,层次数据模型的数据结构(续),图1.16一个层次模型的示例,63/68,打印出每个结点的层次,打印出每个结点的孩子结点,64/68,提示,65/68,网状数据模型,网状模型满足下面两个条件的基本层次联系的集合:1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。,66/68,网状数据模型的数据结构,图1.24学生/选课/课程的网状数据模型,打印出每个结点的父结点,和每个结点的孩子结点,67/68,68/68,提示,图1.25学生/选课/课程的网状数据库实例,学生记录,课程记录,选课记录,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!