数据库基础入门精通篇

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一章数据库系统的世界数据库系统的发展数据库管理系统的结构未来的数据库系统2§1.1数据库系统的发展c一、术语1.数据库是长期储存在计算机内的、有组织的、可共享的数据的集合。32.数据库管理系统数据库系统基础教程AFirstCourseinDatabaseSystemsDBMS-DataBaseManagementSystem是处理数据库访问的软件。提供数据库的用户接口。DBMS的目的:提供一个可以方便地、有效地存取数据库信息的环境53.数据库系统是指在计算机系统中引入数据库后的系统6数据库最终用户应用系统应用开发工具DBMS操作系统数据库管理员DBA数据库系统构成应用程序员7保存信息的两种不同方法:永久性的系统文件、数据库系统。文件方式的问题:数据的冗余和不一致数据访问困难数据孤立完整性问题原子性问题并发访问异常安全性问题二、文件系统与数据库系统8数据库方法能较好地解决以上的问题数据的独立性有效地访问数据减少应用程序的开发时间数据的一致性和安全性统一的数据管理并发的数据访问三、为什么用数据库9几种模型:基于树的层次模型基于图的网状模型物理相关、无高级查询语言基于表的关系模型物理无关、支持高级查询语言,基于对象的面向对象模型OOOR四、数据库模型的发展定长记录10关系数据库系统accountNOBalanceType123451000.00Savings678902846.92Checking………属性元组11关查询语言SQL语言SELECTbalanceFROMAccountsWHEREaccountNO=67890;关系数据库系统12DBMS的组成数据、元数据存储管理程序事务管理程序查询处理程序§1.2数据库管理系统的结构数据元数据存储管理程序查询处理程序事务管理程序模式更新更新查询13数据、元数据关于数据结构的信息(关于数据的数据)索引(INDEX)DBMS的组成14存储管理程序文件管理程序缓冲区管理查程序DBMS的组成15查询处理程序查询优化磁盘访问,是查询的主要代价;索引是查询优化的利器DBMS的组成16事务管理程序事务:是用户定义的一个数据库操作序列事务的四个特性原子性A一致性C隔离性I持久性DDBMS的组成17客户-服务器程序体系结构浏览器-服务器体系结构DBMS的组成18客户-服务器程序体系结构浏览器-服务器体系结构§1.3未来的数据库系统第二章数据库建模DatabaseModeling20数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构设计物理结构物理实现21数据库的设计步骤需求收集和分析用户关心什么用户要什么结果设计概念结构设计逻辑结构设计物理结构物理实现22数据库的设计步骤需求收集和分析设计概念结构存什么关系(联系)如何ODL或E/R图,是各种数据模型的共同基础设计逻辑结构设计物理结构物理实现23数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构用什么数据模型数据库的模式(databaseschema)用户子模式设计物理结构物理实现24数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构设计物理结构数据怎么存根据DBMS产品、环境特点物理实现25数据库的设计步骤需求收集和分析设计概念结构设计逻辑结构设计物理结构物理实现运行DDL装入测试数据应用程序26数据库的设计步骤想法需求ODLE/R关系RDBMSOODBMS27§2.1ODL对象定义语言ObjectDefinitionLanguage以面向对象的观点、方法,说明数据库的概念结构可方便地直接转换成OODBMS的说明经过努力,可以转换成RDBMS的说明28面向对象的设计对象标识—OID对象与对象的区别类具有相同特性的对象归为一类对象的归并必须有意义属于同一类的对象其特性必须相同29面向对象的设计对象的三个特性属性:特性联系:引用方法:函数接口说明interface名字{特性表}30属性对象某方面的特征,属性就是数据只由基本数据类型构成属性的类型,不能是类、也不能从类中构造InterfaceMovie{//MovieClass的ODL说明attributestringtitle;attributeintegeryear;attributeintegerlength;attributeenumFilm{color,blackAndWhite}filmType;};31InterfaceStar{attributestringname;attributeStructAddr{stringstreet,stringcity}address;};记录结构类型32联系对象的引用对象的关联对象集合的引用(1:N)RelationshipSetStarstars;单一对象集合的引用(1:1)RelationshipStarstarOf;33反向联系ODL要求显式表示存在的反向联系InterfaceMovie{//MovieClass的ODL说明attributestringtitle;attributeintegeryear;attributeintegerlength;attributeenumFilm{color,blackAndWhite}filmType;relationshipSetStarstarsinverseStar::starredIn;//Star与Movie的联系};34联系的多重性N:N在联系中,每个C都和D的集合有关,而在反向联系中,每个D都和C的集合有关N:1在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和C的集合有关1:1在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和唯一的C有关35InterfaceMoive{……relationshipSetStarstarsinverseStar::staredIn;relationshipStudioownedByinverseStudio::owns;};InterfaceStar{……relationshipSetMoivestaredIninverseMoive::stars;};InterfaceStudio{……relationshipSetMoiveownsinverseMoive::ownedBy;};NNN136ODL中的类型基本类型原子类型接口类型结构类型,可由以下类型组合而成集合•无重复,次序无关包•可重复,次序无关列表•可重复,次序相关数组结构37§2.2实体联系图(E/R)用图形的方法,描述实体及实体间的联系世界由一组称作实体的基本对象及这些对象间的联系组成元素实体(Entity)客观存在并可相互区别的事件或物体对应于ODL中的对象实体集(EntitySet)同类(具有相同类型、相同性质)实体的集合对应于ODL中的类用矩形表示38§2.2实体联系图(E/R)元素属性(Attribute)实体所具有的某一特性用与实体集相连的椭圆表示联系(Relationship)实体集之间的关联可涉及多个实体集可表示双向的联系用与相应的实体集相连的菱形表示39MoviesStarsStars-inlenghtfilmTypetitleyearnameaddress40E/R联系的多重性N与1的表示MoviesStarsStars-inStudiosPresidentsRunsMoviesStudiosOwns41联系的多向性E/R图能方便地描述两个以上实体集间的联系StarsMoviesContractsStudios一个制片公司与一位特定的影星签约来演一部特定的电影42联系中的角色实体集在联系中的作用参与联系的实体集互异只标注联系名同一实体集在一个联系中多次出现标注联系名及角色名Sequel-ofMoviesOriginalSequelStarsMoviesContractsStudiosStudioofstarProducingstudio43联系中的属性联系中可以包含属性由联系而产生的属性可为由联系产生的属性建立实体集StarsMoviesContractsStudiossalary44将多向联系转换成二元联系新增连接实体集引入连接实体集至原实体集的多对一的联系45§2.3设计原则真实性设计应当忠于规范存什么避免冗余任何事物只表达一次避免引入过多的元素选择合适的元素类型属性?类/实体集?联系集?46§2.4子类特殊化与概括子类与超类属性的继承47ODL中的子类子类继承其超类的所有特性属性联系InterfaceCartoon:Movie{relationshipsetStarvoices;}48ODL中的多重继承类的层次一个类可以有多个超类InterfaceMurderMystery:Movie{attributestringweapon;}InterfaceCartoon-MurderMystery:Cartoon,MurderMystery{}49E/R中的子类IsaE/R中的继承50§2.5对约束的建模建模包含对现实世界的对象及联系的描述,也包含对它们的一些约束键码单值约束参照完整性约束域的约束一般约束51键码在类的范围内唯一标识一个对象(或者在实体集的范围内唯一标识一个实体)的属性或属性集一个类中的两个对象(或一个实体集中的两个实体)在构成键码的属性集上取值不能相同ODL中键码的表示interfaceMovie(key(title,year)){……}52超码一个或多个属性的集合,能在一个实体集中唯一地标识一个实体一个类(或实体集)中可能有多个超码候选码其任意真子集都不为超码的超码一个类(或实体集)中可能有多个候选码主码从候选码中选取的一个,一个类(实体集)中只有一个主码E/R图中只能表示主码:主码属性名加上下划线53单值约束要求某个角色的值是唯一的,如键码当一个属性为单值时可以要求该属性值存在(notnull)可以允许该属性值任选(null)构成键码的属性,必须有值存在(notnull)54参照完整性约束要求由某个对象引用的值在数据库中确实存在参照与被参照、引用与被引用参照完整性约束的操作(各产品不同)禁止删除被引用的对象级联删除/修改E/R图中参照完整性的表示MoviesStudiosOwns55§2.6弱实体集弱实体集的属性不足以形成主码有主码的实体集称为强实体集弱实体集只有作为一对多联系的一部分(多)才有意义弱实体集与其拥有者之间的联系是标识性联系CrewsUnit-ofStudiosnumbernameaddr56§2.7关于联系集联系集的成份参加联系的实体集的主码联系集的属性联系中属性的决策(二元联系)1:1联系集的属性:放到任意一端1:N联系集的属性:放到N端N:M联系集的属性:只能留在联系集中57联系集的取舍(二元联系)1:1联系:将一端的主码作为另一端的属性1:N联系:将一端的主码作为N端的属性N:M联系:必须保留联系集联系集的键码(二元联系)1:1联系:任意一端的主码1:N联系:N端的主码N:M联系:参加联系的所有实体集的主码58ODL、E/R建模关心:存什么数据、关系如何不关心:用什么数学模型、DBMS产品透过E/R图,便于与用户交流59作业思考所有带*的练习,并上网查阅解答练习2.1.7/2.2.8/2.3.2/2.5.3/2.5.4/2.6.4(a)第三章关系数据模型TheRelationalDataModel61ODL、E/R到关系模型的转换关系模型的设计理论62§3

1 / 508
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功