第一数据库系统概论_第1页
第一数据库系统概论_第2页
第一数据库系统概论_第3页
第一数据库系统概论_第4页
第一数据库系统概论_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

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

文档简介

第一数据库系统概论第1页,共126页,2023年,2月20日,星期一课程教学内容总学时36学时,分为两大部分:A、课堂教学:(24学时)介绍数据库的基本概念、原理、相关的理论和技术方法。B、实验教学:(12学时)第2页,共126页,2023年,2月20日,星期一课程教学内容(续)第一章数据库系统概论第二章关系数据库系统第三章关系数据库的规范化理论第四章SQLServer数据库基础第五章SQLServer数据库建立第六章SQLServer数据库应用第七章SQLServer数据库编程第八章SQLServer数据库保护第九章SQLServer数据库开发实例(后台)第十章SQLServer数据库开发实例(前台)第3页,共126页,2023年,2月20日,星期一实验教学内容1.安装、启动MicrosoftSQLServer2000,创建数据库2.创建和管理数据表

3.创建索引及表之间关系4.数据检索/查询5.创建视图6.数据保护7.创建触发器、存储过程及事务第4页,共126页,2023年,2月20日,星期一实验课内考核为20分,根据实验出勤、态度、程序设计、实验报告等评定实验成绩。评分标准如下:1.实验预习(4分)实验准备充分,能正确回答指导教师提出的相关问题(随机进行)。缺席实验课,该次考核成绩为0分计。2.实验操作(12分)实验操作方法正确,设计正确,能独立解决实验中出现的一般问题,实验结果正确,计12分(有问题酌情扣分)。3.实验总结报告(4分)内容全面,字迹清晰工整,数据记录、处理正确。对实验中出现的问题分析正确。如果实验总结报告有雷同均以0分计。4.实验三次不合格者,实验成绩以0分计,并取消该门理论期末考试资格。5.特殊情况(事假、病假)必须由本人提出申请,学院主管领导批准,待期末考试前统一补做。实验考核标准第5页,共126页,2023年,2月20日,星期一上机时间安排上机地点:扬帆楼201实验室上机时间:第6、8、10、12、14、16周周三3-4节第6页,共126页,2023年,2月20日,星期一学习方式听课读书

(预习、复习)实践

(上机、综合练习)第7页,共126页,2023年,2月20日,星期一考核方法笔试(60分);

实验成绩占20分;平时成绩占20分(作业、课堂练习)。第8页,共126页,2023年,2月20日,星期一教材及参考书教材:

[1]《数据库技术与应用》,李延珩朱鸣华主编,大连理工大学出版社2008年3月参考书目:1.《数据库系统概论》(第4版)王珊萨师煊主编,高等教育出版社2006年5月2.《SQLSERVER2000数据库及应用》徐人风主编,高等教育出版社20043.《数据库技术与应用》清华大学刘红岩主编,清华大学出版社4.《信息系统开发教程-使用C#和SQLServer2005》马威等主编,清华大学出版社第9页,共126页,2023年,2月20日,星期一教学基本要求通过本门课程的学习,学生应达到下列要求:掌握数据库系统的基本概念术语、基础理论和数据库系统的体系结构;了解关系数据库基础理论:关系运算理论和关系规范理论;熟练掌握SQLServer的基本使用;熟练掌握数据库标准语言SQL的基本使用;熟练掌握各种数据库对象的基本操作;了解数据库应用系统的开发步骤,在理论和实践上为学生的后续发展打下坚实基础。

第10页,共126页,2023年,2月20日,星期一第1章数据库系统概论§1.1数据库及相关概念§1.2数据管理技术的发展§1.3数据模型§1.4数据库系统的结构§1.5数据库管理系统第11页,共126页,2023年,2月20日,星期一§1.1数据库及相关概念

1、数据(Data)2、数据库(Database,DB)

3、数据库管理系统(DataBaseManagementSystem,DBMS)

4、数据库系统(DataBaseSystem,DBS)

5、数据库应用系统(DatabaseApplicationSystem,DBAS)第12页,共126页,2023年,2月20日,星期一1、数据(Data)数据的定义数据是描述事物的符号记录。数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据与其语义是不可分的数据的含义称为数据的语义第13页,共126页,2023年,2月20日,星期一数据举例例如:93

语义1:某个学生某门课的成绩语义2:某人的体重语义3:计算机系2003级学生人数语义4:请同学给出。。。第14页,共126页,2023年,2月20日,星期一数据举例(李明,男,1972,江苏,计算机系,1990)语义:这是大学生档案中的一个学生信息,每一项数据的语义分别是:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系请给出另一个解释和语义籍贯=>家庭住址?大学生记录?高中毕业记录?教师记录?第15页,共126页,2023年,2月20日,星期一2、数据库(Database,DB)数据库的定义数据库(Database,简称DB)是长期存储在计算机内,有组织的、可共享的大量数据集合。数据库的基本特征数据按一定的数据模型组织、描述和存储,可为各种用户共享具有较小的冗余度,较高的数据独立性和易扩展性。第16页,共126页,2023年,2月20日,星期一数据库举例人事、工资、资产、设备、产品学生、教师、论文、图书、档案人口、犯罪、案件中国人民银行个人信用数据库中国期刊全文数据库、万方数据库ACMDL、DBLP、CiteSeer、Springer国家科学数据共享工程(交通、医学等数据库)第17页,共126页,2023年,2月20日,星期一3、数据库管理系统(DataBaseManagementSystem,DBMS)定义一组用于数据管理的通用化软件所组成的软件系统,位于用户与操作系统之间,是数据库系统的核心。用途数据组织数据操纵数据维护数据控制第18页,共126页,2023年,2月20日,星期一DBMS举例国外DBMSOracle10gIBMDB29Sybase12.5MSSQLServer2005MySQLPostgreSQL国内DBMS人大金仓:KingbaseES华工达梦:DM神舟软件:OSCAR东软:OpenBase第19页,共126页,2023年,2月20日,星期一4、数据库系统

(DataBaseSystem,DBS)定义由数据库、数据库管理系统、数据库管理员(DBA)和用户组成的计算机系统的总称指使用数据库技术后的计算机系统。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库管理员(DataBaseAdministrator):专门从事数据库设计、管理和维护的工作人员第20页,共126页,2023年,2月20日,星期一数据库系统的构成用户1用户2用户n应用系统应用开发工具数据库管理系统操作系统数据库数据库管理员图1-1数据库系统(DBS)

第21页,共126页,2023年,2月20日,星期一五、数据库应用系统(DataBaseApplicationSystem,DBAS)定义:指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的软件系统。如财务管理系统、人事管理系统、图书管理系统等。构成:由数据库系统、应用软件和应用界面三者组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。第22页,共126页,2023年,2月20日,星期一§1.2数据管理技术的发展什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据管理技术发展经历了三个阶段:

1、人工管理阶段(40年代中--50年代中)

2、文件系统阶段(50年代末--60年代中)

3、数据库系统阶段(60年代末--现在)

第23页,共126页,2023年,2月20日,星期一1、人工管理阶段特点:u

数据不保存u

应用程序管理数据20世纪50年代中期以前(1946~1955)应用程序1数据集1应用程序2应用程序n数据集2数据集n人工管理阶段应用程序与数据之间的对应关系规定数据逻辑结构,设计物理结构、存储结构、存取方法、输入方式等。(程序员负担很重)数据的逻辑结构或物理结构发生变化后,必须对应用程序做对应的修改,从而进一步加重编程负担u

数据不共享u

数据不具有独立性

第24页,共126页,2023年,2月20日,星期一人工管理阶段的数据组织模式应用程序应用程序首部数据类&结构定义部分函数与过程定义部分主程序定义部分数据结构数据输入语句组:赋值语句交互式输入数据输出数据管理部分第25页,共126页,2023年,2月20日,星期一2、

文件系统阶段20世纪50年代后期~60年代中期。特点:

u数据长期保存u由文件系统管理数据u数据共享性差、冗余度大u数据独立性差:物理独立性、逻辑独立性均差。第26页,共126页,2023年,2月20日,星期一应用程序与数据的对应关系(文件系统)应用程序1数据集1应用程序2应用程序n数据集2数据集n存取方法顺序存取随机存取图1-2文件系统阶段应用程序与数据之间的对应关系第27页,共126页,2023年,2月20日,星期一文件系统中数据的结构记录内有结构。数据的结构是靠程序定义和解释的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。数据的最小存取单位是记录。第28页,共126页,2023年,2月20日,星期一文件系统中数据的结构举例学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩学生文件student的记录结构:课程文件courset的记录结构:选课文件sc的记录结构:第29页,共126页,2023年,2月20日,星期一3、数据库系统阶段20世纪60年代后期以来。特点:(1)数据结构化

(2)数据的共享性高,冗余度低,易扩充。(3)数据的独立性高。(4)由DBMS统一管理和控制数据。第30页,共126页,2023年,2月20日,星期一(1)数据结构化数据结构化是数据库与文件系统的主要区别文件系统:文件的记录内部有结构,但记录之间没有联系数据的最小存取单位是记录,粒度不能细到数据项数据库:实现的是数据的真正结构化不仅数据内部结构化,整体是结构化的,数据之间具有联系数据的最小存取单位是数据项,存取方式灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录第31页,共126页,2023年,2月20日,星期一文件系统中数据的结构举例学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩学生文件student的记录结构:课程文件courset的记录结构:选课文件sc的记录结构:第32页,共126页,2023年,2月20日,星期一数据库系统中数据的结构举例学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩学生基本记录:课程基本记录:选课基本记录:第33页,共126页,2023年,2月20日,星期一(2)数据的共享性高,冗余度低,易扩充数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。数据的高共享性的好处:减少数据冗余,节省存储空间。避免数据之间的不相容性与不一致性。使系统易于扩充数据不一致性:

是指同一数据不同拷贝的值不一样。第34页,共126页,2023年,2月20日,星期一(3)数据独立性高数据独立性:逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的。也即,数据的逻辑结构改变了,用户程序也可以不变。物理独立性:是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。也即,用户程序无须了解DBMS是如何管理数据库以及数据在磁盘上是如何存储的,只须处理数据的逻辑结构。因此,当数据的物理存储改变了,用户程序不用改变。数据与程序独立的作用:把数据的定义从程序中分离出来,加上数据的存取又由DBMS负责,从而大大简化了应用程序的编制,大大减少了应用程序的维护和修改。第35页,共126页,2023年,2月20日,星期一(4)数据由DBMS统一管理和控制管理功能:数据定义数据组织、存储和管理数据操纵数据库的建立和维护

DBMS还必须提供以下几方面的数据控制功能:数据的安全性(Security)保护数据的完整性(Integrity)检查并发(Concurrency)控制数据库恢复(Recovery)第36页,共126页,2023年,2月20日,星期一A.数据的安全性(Security)保护数据的安全性,是指保护数据以防止不合法的使用造成的数据的泄露和破坏。使每个用户只能按规定,对某些数据以某种方式进行使用和处理。第37页,共126页,2023年,2月20日,星期一B.数据的完整性(Integrity)检查数据的完整性,是指数据的正确性、有效性和相容性。完整性检查,将数据控制在有效的范围内,或保证数据之间满足一定的关系。第38页,共126页,2023年,2月20日,星期一C.并发(Concurrency)控制当多个用户的并发进程(指正在执行的程序)同时存取、修改数据库时,可能会发生相互干扰,而得到错误的结果或使得数据库的完整性遭到破坏因此,必须对多个用户的并发操作加以控制和协调。第39页,共126页,2023年,2月20日,星期一D.数据库恢复(Recovery)计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏,也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(亦即为完整状态或一致状态)的功能,这就是数据库的恢复功能。第40页,共126页,2023年,2月20日,星期一数据库系统阶段的数据组织模式图1-3数据库系统阶段应用程序与数据之间的对应关系应用程序1应用程序2应用程序n数据库管理系统(DBMS)数据库第41页,共126页,2023年,2月20日,星期一§1.3数据模型§1.3.0数据模型基本概念§1.3.1数据模型的要素§1.3.2概念模型与表示法§1.3.3数据模型第42页,共126页,2023年,2月20日,星期一§1.3.0数据模型基本概念

模型:现实世界特征的模拟和抽象。数据模型:用事物的本质属性或人们关心的属性对事物的一种描述。是对现实世界数据特征的抽象,一组概念的集合。第43页,共126页,2023年,2月20日,星期一数据模型的类型(1)概念模型也称信息模型是面向客观世界、面向用户的模型,与具体的数据库系统和计算机平台无关。着重于客观世界复杂事物的结构描述及它们之间的内在联系的描述。(2)逻辑模型面向数据库系统的模型着重于DBMS实现。(3)物理模型

是面向计算机物理表示的模型,描述数据在系统内部的表示方式和存取方法第44页,共126页,2023年,2月20日,星期一§1.3.1数据模型(逻辑模型)的要素

数据模型要描述系统的l

静态特性、l

动态特性和l

完整性约束条件。数据模型的三要素:1、数据结构2、数据操作和3、数据的约束条件(完整性约束)。第45页,共126页,2023年,2月20日,星期一1、数据结构什么是数据结构描述数据库的组成对象,以及对象之间的联系描述的内容与数据类型、内容、性质有关的对象(如关系模型中的关系、属性、域等)与数据之间联系有关的对象数据库系统中,按照其数据结构类型来命名数据模型,数据结构是对系统静态特性的描述。第46页,共126页,2023年,2月20日,星期一2、数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据模型必须定义:这些操作的确切含义操作符号操作规则以及实现操作的语言数据操作对系统动态特性描述。

数据库操作的类型:检索更新(包括插入、删除、修改)第47页,共126页,2023年,2月20日,星期一3、数据的约束条件是一组完整性规则的集合。完整性规则:是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效、相容。第48页,共126页,2023年,2月20日,星期一数据的约束条件(续)数据模型应反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。(如:关系模型中的实体完整,参照完整性)数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。第49页,共126页,2023年,2月20日,星期一§1.3.2概念模型与表示法E-R模型的基本概念概念模型的表示方法(E-R图)一个实例第50页,共126页,2023年,2月20日,星期一1.E-R模型的基本概念1)实体(Entity)客观存在并可相互区别的事物。可以是具体的人、事、物,或抽象的概念或联系。如:一个学生(95004,王小明,198809,女,95),一门课(1,数据库,72),学生的一次选课(95004,1,85),部门的一次订货(工程部,挖掘机,2008-10-20,10),某位老师与某个院系的关系(王立,数学系,2003)第51页,共126页,2023年,2月20日,星期一1.E-R模型的基本概念(续)2)属性(Attribute)实体所具有的某一特性称为属性。实体由若干个属性值来刻画。如:一个学生实体可以用学号、姓名、性别、出生年月、入学时间等属性对应的值(95004,王小明,女,198809,95)组成。3)实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体。如:学生(学号,姓名,性别,出生年月,所在系,入学时间)4)实体集(EntitySet)同类型实体的集合第52页,共126页,2023年,2月20日,星期一1.E-R模型的基本概念(续)5)联系(Relationship)事物内部的联系实体内部的联系组成实体的各属性之间的联系如:学生的学号制约了该学生的专业事物之间的联系实体之间的联系如:一个学生可以选修多门课程,一门课程可以被多个学生选修。第53页,共126页,2023年,2月20日,星期一两个实体型之间的联系两个实体型之间的联系有三种:一对一联系,1:1一对多联系,1:n多对多联系,m:n第54页,共126页,2023年,2月20日,星期一两个实体型之间的联系(续)一对一联系(1:1)

实例一个班级只有一个学生是正班长,一个班长(学生)只在一个班中任职。定义:

如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1班级班级-班长学生111:1联系第55页,共126页,2023年,2月20日,星期一两个实体型之间的联系(续)一对多联系(1:n)实例一个班级中有若干名学生,每个学生只在一个班级中学习。定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n班级组成学生1N1:n联系第56页,共126页,2023年,2月20日,星期一两个实体型之间的联系(续)多对多联系(m:n)实例课程与学生之间的联系:一门课程同时有若干个学生选修,一个学生可以同时选修多门课程。定义:

如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n课程选修学生MNm:n联系第57页,共126页,2023年,2月20日,星期一两个以上实体型之间的联系两个以上实体型之间一对多联系若实体集E1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的第58页,共126页,2023年,2月20日,星期一两个以上实体型之间的联系(续)课程教员参考书讲授1mn实例

课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用。第59页,共126页,2023年,2月20日,星期一两个以上实体型之间的联系(续)多个实体型间的一对一联系两个以上实体型间的多对多联系实例

供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给。供应商项目零件供应pmn第60页,共126页,2023年,2月20日,星期一单个实体型内的联系一对多联系实例

职工实体型内部具有领导与被领导的联系:某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导,这是一对多的联系。职工领导1n单个实体型内部1:n联系第61页,共126页,2023年,2月20日,星期一单个实体型内的联系(续)一对一联系请举例学生同桌11单个实体型内的1:1联系第62页,共126页,2023年,2月20日,星期一单个实体型内的联系(续)学生同乡mn单个实体型内的m:n联系多对多联系请举例课程预修mn第63页,共126页,2023年,2月20日,星期一2.概念模型的表示方法实体-联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型第64页,共126页,2023年,2月20日,星期一E-R图属性用椭圆形表示,并用无向边将其与相应的实体连接起来。学生教师学生学号年龄性别姓名实体型用矩形表示,矩形框内写明实体名。第65页,共126页,2023年,2月20日,星期一E-R图(续)联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)

第66页,共126页,2023年,2月20日,星期一联系的表示方法实体型A联系名实体型B111:1联系实体型A联系名1n1:n联系实体型A实体型B联系名mnm:n联系实体型B第67页,共126页,2023年,2月20日,星期一联系的表示方法示例班级班级-班长学生111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系第68页,共126页,2023年,2月20日,星期一联系的属性课程选修学生mn成绩联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来

第69页,共126页,2023年,2月20日,星期一一个实例用E-R图表示学生教务管理的概念模型实体型学生:学号、姓名、性别、年龄班级:班级编号、所属专业系课程:课程号、课程名、学分教师:职工号、姓名、性别、年龄、职称参考书:书号、书名、内容提要、价格第70页,共126页,2023年,2月20日,星期一一个实例(续)学生学号年龄性别姓名教师职工号年龄性别姓名职称参考书书号价格内容提要书名学分课程号课程名课程所属专业系班级编号班级第71页,共126页,2023年,2月20日,星期一学生人数学号年龄性别姓名所属专业系班级编号学分课程号课程名职工号年龄性别姓名职称书号价格内容提要书名领导1n组成1n讲授1mn一个实例(续)班级学生课程选修mn教师参考书成绩第72页,共126页,2023年,2月20日,星期一练习题[题目]有三个实体型:供应商、项目和零件,其中各实体的属性如下:供应商(Sno,Sname,Status,City)项目(Jno,Jname,City)零件(Pno,Pname,Color,Weight)(1)请描述供应商、项目和零件三个实体型间的多对多联系的语义,并画出其E-R模型。(2)供应商、项目和零件三个实体型间的多对多联系和两两之间多对多联系是否相同?(3)请描述供应商、项目和零件三个实体型两两之间多对多联系的语义,并画出其E-R模型。第73页,共126页,2023年,2月20日,星期一题解[解答](1)一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可以由不同的供应商供给。因此,可以看出,供应商、项目和零件三个实体型间的供应联系(SCW)是一个多对多的联系。SnoSnameStatusCityJnoJnameCityPnoPnameColorWeight供应量供应商项目零件SCWpnm第74页,共126页,2023年,2月20日,星期一题解(续)

[解答]

(2)不相同,因为供应商、项目和零件三个实体型间多对多联系的语义和两两之间多对多联系的语义是不相同的。

(3)供应商、项目和零件三个实体型两两之间多对多联系的语义为:供应商与项目两个实体之间的“服务”联系,表示供应商为哪几个项目提供了服务。供应商与零件两个实体之间的“销售”联系,表示供应商销售哪几种零件。项目与零件两个实体之间的“使用”联系,表示一个项目使用几种零件。第75页,共126页,2023年,2月20日,星期一题解(续)SnoSnameStatusCityJnoJnameCityPnoPnameColorWeightNumNumDate供应商项目零件使用nm服务mn销售mn第76页,共126页,2023年,2月20日,星期一

§1.3.3常用的数据模型非关系模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)

面向对象模型(ObjectOrientedModel)对象关系模型(ObjectRelationalModel)第77页,共126页,2023年,2月20日,星期一最常用的数据模型(续)在非关系模型中:实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系,在非关系模型中,转换成为记录之间的两两联系。非关系模型中数据结构的单位是基本层次联系。第78页,共126页,2023年,2月20日,星期一最常用的数据模型(续)基本层次联系,是指两个记录以及它们之间的一对多(包括一对一)的联系。

双亲/父节点(parent)子女节点(child)联系名RiRjLij图1.16基本层次联系(P21)

第79页,共126页,2023年,2月20日,星期一1.层次模型层次模型是数据库系统中最早出现的数据模型层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系第80页,共126页,2023年,2月20日,星期一层次数据模型的数据结构层次模型的特征1.有且只有一个结点没有双亲结点,这个结点称为根结点;2.根以外的其它结点有且只有一个双亲结点,使得只能直接处理一对多的实体联系。3.任何记录值只有按其路径查看时,才能显出它的全部意义,没有一个记录值能够脱离双亲记录值而独立存在层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点第81页,共126页,2023年,2月20日,星期一层次数据模型的数据结构(续)图1.16一个层次模型的示例R1R2R3R4R5根结点兄弟结点叶子结点叶子结点兄弟结点叶子结点第82页,共126页,2023年,2月20日,星期一2.网状模型网状数据库系统采用网状模型作为数据组织方式典型代表是DBTG系统:亦称CODASYL系统70年代由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术实际系统CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE第83页,共126页,2023年,2月20日,星期一网状数据模型的数据结构数据库中,满足下列条件基本层次联系的集合称为网状模型。允许一个以上的结点无双亲。一个结点可以有多于一个的双亲。实例:学生选课的网状模型学生课程选课网状模型的例子联结记录1

n1n第84页,共126页,2023年,2月20日,星期一网状数据模型的数据结构(续)网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例第85页,共126页,2023年,2月20日,星期一3.关系模型关系模型,是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。l

1970年由IBM的E.F.Codd首次提出数据库系统的关系模型;l

20世纪80年代以来,计算机厂商推出的DBMS几乎都支持关系模型;l

数据库领域当前的研究工作也都是以关系方法为基础。第86页,共126页,2023年,2月20日,星期一关系模型的特点l

关系模型是建立在严格的数学概念的基础上的(与以往的模型不同)。l在用户观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。

第87页,共126页,2023年,2月20日,星期一关系模型中的术语(1)关系:关系是一张二维表,由行和列组成。(2)关系模式:二维表的框架结构,即对关系的描述,一般表示为:关系名(属性集)或关系名(属性1,属性2,……,属性n)关系students的关系模式为:

Students(学号,姓名,性别,婚否,籍贯,专业,出生年月,奖学金)关系Scores的关系模式为:

Scores(学号,课程,成绩)第88页,共126页,2023年,2月20日,星期一关系模型中的术语(续)(3)元组:表中的一行即为一个元组。记录(4)属性:表中的一列即为一个属性。字段(5)码:在二维表中,能唯一标识一个元组的某个属性或属性组,称为码或键。(6)候选码:二维表中可能有若干个码或键,它们称为该表的候选码或候选键。(7)主码:从二维表的所有候选码中选取一个作为用户使用的码称为主码或主键。(8)值域:属性的取值范围。(9)分量:元组中的一个属性值。第89页,共126页,2023年,2月20日,星期一关系模型中的术语(续)元组分量属性名第90页,共126页,2023年,2月20日,星期一关系模型中的要求关系模型中,实体型及实体型间的联系都是用关系模式表示。实体型:直接用关系模式表示。属性:用属性名表示。一对一联系:隐含在实体型对应的关系模式中。一对多联系:隐含在实体型对应的关系模式中。多对多联系:直接用关系模式表示。第91页,共126页,2023年,2月20日,星期一关系模型中的要求(续)例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别)系(系号,系名,办公地点)学生学号年龄性别姓名系系号办公地点系名包含1n,系号第92页,共126页,2023年,2月20日,星期一关系模型中的要求(续)例2系、系主任、系与系主任间的一对一联系系(系号,系名,办公地点)系主任(工号,姓名,性别,年龄)系主任工号年龄性别姓名系系号办公地点系名包含11,工号系(系号,系名,办公地点)系主任(工号,姓名,性别,年龄),系号或,系主任)第93页,共126页,2023年,2月20日,星期一关系模型中的要求(续)例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别)课程(课程号,课程名,学分)选修(学号,课程号,成绩)学生学号年龄性别姓名课程课程号学分课程名选修mn成绩第94页,共126页,2023年,2月20日,星期一关系的特点关系的每一个属性必须是一个不可分的数据项,不允许表中还有表职工号姓名职称工资扣除实发基本津贴职务房租水电86051陈平讲师13051200501601122283不符合关系模型要求各列定义不同的名字各行不应重复行列次序无关紧要第95页,共126页,2023年,2月20日,星期一4、术语对比关系术语概念模型术语一般表格的术语关系名实体名表名关系模式实体型表头(表格的描述)关系实体集(一张)二维表元组实体记录或行属性属性列属性名属性名列名属性值属性值列值分量一个实体的一个属性值一条记录中的一个列值非规范关系表中套表第96页,共126页,2023年,2月20日,星期一§1.4数据库系统的结构

是对数据的三级抽象从数据库最终用户(End-User)看,数据库系统结构分为:单用户结构主从式结构分布式结构客户/服务器浏览器/应用服务器/数据库服务器多层结构等这是数据库系统的外部体系结构。

从DBMS角度看,数据库系统通常采用三级模式结构:

内模式;模式;外模式。这是DBMS内部的系统结构。第97页,共126页,2023年,2月20日,星期一数据库系统结构(续)§1.4.1数据库系统的三级模式结构§1.4.2数据库的二级映像第98页,共126页,2023年,2月20日,星期一§1.4.1数据库系统的三级模式结构ABCDE外模式1外模式2外模式3模式内模式数据库全局逻辑结构模式描述语言模式DLL第99页,共126页,2023年,2月20日,星期一1.模式(Schema)模式也称逻辑模式或概念模式数据库系统中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求,并将这些需求有机地结合成一个整体。(整体性原则)反映的是数据库系统整体结构。一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关第100页,共126页,2023年,2月20日,星期一模式(续)定义模式数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求第101页,共126页,2023年,2月20日,星期一2.外模式(ExternalSchema)外模式也称为子模式(Subschema)或用户模式。它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。它是数据库用户的数据视图,是与某一应用有关的数据逻辑表示。第102页,共126页,2023年,2月20日,星期一外模式(续)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同第103页,共126页,2023年,2月20日,星期一外模式(续)外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。第104页,共126页,2023年,2月20日,星期一3.内模式(InternalSchema)内模式也称存储模式(StorageSchema),是数据库物理结构和存储方式的描述;是数据在数据库内部的表示方式。记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式DBMS提供内模式描述语言(内模式DDL、存储模式DDL)。第105页,共126页,2023年,2月20日,星期一内模式(续)例如学生记录,如果按堆存储,则插入一条新记录总是放在学生记录存储的最后,如右图所示第106页,共126页,2023年,2月20日,星期一内模式(续)如果按学号升序存储,则插入一条记录就要找到它应在的位置插入,如图1.29(b)所示如果按照学生年龄聚簇存放,假如新插入的S3是16岁,则应插入的位置如图1.29(c)所示

图1.29记录不同的存储方式示意图第107页,共126页,2023年,2月20日,星期一三级结构的优点(1)保证数据的独立性。将模式和内模式分开,保证了数据的物理独立性;将外模式和模式分开,保证了数据的逻辑独立性。(2)简化了用户接口。按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。(3)有利于数据共享。在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。(4)利于数据的安全保密。在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。第108页,共126页,2023年,2月20日,星期一§1.4.2数据库的二级映象三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换外模式/模式映像模式/内模式映像第109页,共126页,2023年,2月20日,星期一1.外模式/模式映象模式:描述的是数据的全局逻辑结构外模式:描述的是数据的局部逻辑结构同一个模式可以有任意多个外模式每一个外模式,数据库

温馨提示

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

评论

0/150

提交评论