版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1数据库系统概论数据库系统概论An Introduction to Database Systems贵州大学计算机科学与信息学院贵州大学计算机科学与信息学院 马马 丹丹2学习本课程的目的n通过本课程学习,使大家系统地掌握数据库系统的基本原理和基本技术。n要求在掌握数据库系统基本概念的基础上,能熟练使用SQL语言在某一个数据库管理系统上进行数据库操作;掌握数据库设计方法和步骤,具有设计数据库模式以及开发数据库应用系统的基本能力。 3考评成绩考评成绩n期末成绩=平时成绩30% +期末考试成绩 70% :n平时成绩占30%;(包括上课点名,作业完成情况,课堂提问)n期末考试成绩占70%。4数据库课程
2、设计安排59周:n学习SQL SERVER数据库管理系统的一些基本操作。n熟悉一门数据库前台开发工具,例如:c+ builder, powerbuilder, delphi,VC+,ASP,C#等。n学习数据库系统的设计步骤。第10-12周:利用sql server 结合前台开发工具开发一个数据库系统。课程设计要求:分组完成,2人一组。需要演示系统,答辩,并给出实验报告。5数据库课程设计的考评成绩考评成绩n期末成绩=系统演示40% +答辩40% +实验报告 20%6两个问题n数据库系统=操作系统?n你使用过或接触过哪些数据库系统?请举例说明。8主要内容:n数据库系统基本概念n数据管理的发展过程
3、n数据库系统的特点n常用的数据模型n数据库系统结构n数据库系统的组成第一章第一章 绪论绪论9基本概念1、数据(Data) 数据实际上就是描述事物的符号记录。数据的表现形式数据的表现形式可用可用多种多种不同的数据形式表示同一信息,而信息不同的数据形式表示同一信息,而信息不随数据形式的不同而改变。不随数据形式的不同而改变。数据的概念在数据处理领域中已大大地拓宽了,数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括其表现形式不仅包括数字数字和和文字文字,还包括,还包括图形图形、图象图象、声音声音等。这些数据可以经过数字化后存入等。这些数据可以经过数字化后存入计算机。计算机。102、数据库(
4、Database,简称DB) 数据库是长期存储在计算机内有组织的大量可共享的数据集合。 它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。114、数据库管理系统(Database Management System,简称DBMS)数据库管理系统是位于用户与操作系统之间的一层数据管理软件。其主要功能:1、数据定义功能2、数据组织、存储和管理2、数据操纵功能3、数据库的事务管理和运行管理4、数据库的建立和维护功能125、数据库系统(Database System,简称DBS)数据库系统是指在计算机系统中引入数据库后
5、的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。13数据库系统在整个计算机系统中的地位如下图:数据库系统在整个计算机系统中的地位如下图:由上图看出:由上图看出: DBMS在操作系统(在操作系统(OS)的支持下工作,的支持下工作, 应用程序在应用程序在DBMS支持下才能使用数据库。支持下才能使用数据库。14由右图看出:由右图看出: DBMS在操作在操作系统(系统(OS)的的支持下工作。支持下工作。 应用系统在应用系统在DBMS支持下支持下才能使用数据才能使用数据库。库。151.1.2 数据管理技术的发展n随着计算机硬件和软件的发展。数据管理经历了人工管
6、理,文件系统和数据库系统三个发展阶段:n人工管理阶段n文件系统阶段n数据库阶段16一一 人工管理阶段人工管理阶段n时间: 50年代中期以前n背景:计算机主要用于科学计算n硬件:磁带、卡片、纸带,没有磁盘n软件:没有操作系统,没有管理数据的软件。只有汇编语言。17人工管理阶段的特点如下:人工管理阶段的特点如下:1. 数据不保存数据不保存因为当时计算机主要用于科学计算,对于数据保存的需求因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。尚不迫切。2. 系统没有专用的软件对数据进行管理系统没有专用的软件对数据进行管理每个应用程序都要包括数据的存储结构、存取方法、输入每个应用程序都要包括数据
7、的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。因此程序员负担很重。工号:工号:123123;职工姓名:张三;职工姓名:张三;职工电话:职工电话: 62345000 62345000工号:工号:124124;职工姓名:李四;职工姓名:李四;职工电话:职工电话:6754321067543210工号:工号:125125;职工姓名:张三;职工姓名:张三;职工电话:职工电话:6546789065467890职工档案数据应用程序13. 数据不共享数据不共享数据是面向程序的,一组数据只能对应一个程序。
8、数据是面向程序的,一组数据只能对应一个程序。多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。有大量的冗余数据。应用程序2工号:工号:123123;职工姓名:张三;职工姓名:张三;职工电话:职工电话: 62345000 62345000工号:工号:124124;职工姓名:李四;职工姓名:李四;职工电话:职工电话:6754321067543210工号:工号:125125;职工姓名:张三;职工姓名:张三;职工电话:职工电话:6546789065467890职工档案数据194. 数据不具有独立性n程序依赖于数
9、据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。在人工管理阶段,程序与数据之间的关系可用图表示。 应用程序1数据集1应用程序2数据集2数据集3应用程序3 图图1.1 人工管理阶段人工管理阶段20二 文件系统阶段n时间:50年代后期到60年代中期n背景:计算机不仅用于科学计算,而且用于数据处理n硬件:磁盘、磁鼓n软件:操作系统中已经有了专门的管理数据的软件(即文件系统)21n系统提供一定的数据管理功能n存取方法(索引文件、链接文件、直接存取文件、倒排文件等)n支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节n数据与程序有了一定
10、的独立性n程序和数据之间由文件系统提供存取方法进行转换,使得程序员可以不必过多地考虑物理细节。22数据1数据2数据n存取方式程序1程序2程序n23与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:1. 数据共享性差,冗余度大n各数据文件之间没有有机的联系,一个文件基本上对应于一个应用程序,数据不能共享。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据。2. 数据独立性低n数据和程序相互依赖,一旦改变数据的逻辑结构,比如想对现有的数据增加一些新的应用,必须修改相应的应用程序。n而应用程序发生变化,如改
11、用另一种程序设计语言来编写程序,也需修改数据结构。243.数据一致性差n由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致性。 25n文件系统有数据冗余、数据不一致和数据联系弱三个缺点。工号:123;职工姓名:张三;职工电话: 62345000工号:124;职工姓名:李四;职工电话:67543210工号:125;职工姓名:张三;职工电话:65467890工号:123;职工工资:2230元;职工电话:62345000工号:124;职工工资:3500元;职工电话:67543210工号:125;职工工资:2400元;职工电话:65467890职工档案文件职工工资文件冗余,且可能
12、不一致原因:文件中数据没有联系26三 数据库阶段n时间:60年代后期 -n背景:数据管理规模更为庞大,应用更广泛,数据量剧增,共享要求(多种应用、多种语言互相覆盖地共享数据集合)更强n硬件:有了大容量和快速存取磁盘n指导思想:对所有的数据实行统一的、集中的、独立的管理,使数据存储独立于使用数据的程序,实现数据共享。27应用程序1应用程序2. . . .应用程序nDBMSDBMS数据库数据库Database Management System数据库管理系统数据库管理系统数据库系统简图281.1.3数据库系统的特点1. 数据结构化n按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整
13、个组织的数据不是一盘散沙,可表示出数据之间的有机关联。292. 数据共享性高、冗余少n数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小n节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性30每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求学号姓名性别系别年龄住址出身学位学分补贴学籍科房产科人事科劳资科31工号:123;职工姓名:张三;职工电话: 62345000工号:124;职工姓名:李四;职工电话:67543210工号:125;职工姓名:张三;职工电话:65467890工号:123;职工工资:2230元工号
14、:124;职工工资:3500元工号:125;职工工资:2400元职工档案文件职工工资文件共享,可避免数据之间的不一致性323. 数据独立性高n数据的独立性是指逻辑独立性和物理独立性。n数据的逻辑独立性是指数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。n例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。n数据的物理独立性是指数据的物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,也就是说,数据在磁盘上的数据库中怎样存储是有DBMS管理的,用户程序不需要了解
15、,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。n例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。334. 有统一的数据控制功能n为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。34(1)数据的安全性(security)控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密;n例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。(2)数据的完整性(integrity)控制:系统
16、通过设置一些完整性规则以确保数据的正确性、有效性和相容性。35n正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,9,不能含字母或特殊符号;n有效性是指数据是否在其定义的有效范围,如月份只能用112之间的正整数表示;n相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能同时有两个年龄。(3)并发(concurrency)控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。36(4)数据恢复()数据恢复(recovery):当数据库被破坏当数据库被破坏或数据不可靠时,系统有能力将数据库从错误或数据不可靠时,系统有能力将数据库从错误
17、状态恢复到最近某一时刻的正确状态。状态恢复到最近某一时刻的正确状态。371.2 1.2 数据模型数据模型1.2.11.2.1两类数据模型两类数据模型1. 1. 三个世界的划分三个世界的划分现实世界:存在于人们头脑之外的客观世界。现实世界:存在于人们头脑之外的客观世界。信息世界:是现实世界在人们头脑中的反映,人们把它用文信息世界:是现实世界在人们头脑中的反映,人们把它用文字和符号记载下来。字和符号记载下来。机器世界:信息世界的信息在机器世界以数据机器世界:信息世界的信息在机器世界以数据 形式存储。形式存储。38数据抽象数据抽象现实世界信息世界计算机世界概念化形式化用户计算机39n为了把现实世界中
18、的具体事物抽象、组织为某为了把现实世界中的具体事物抽象、组织为某一一DBMSDBMS支持的数据模型,在实际的数据处理过支持的数据模型,在实际的数据处理过程中,程中,n首先将现实世界的事物及联系抽象成信息世首先将现实世界的事物及联系抽象成信息世界的界的信息模型信息模型(也称为(也称为概念模型概念模型)n然后再抽象成计算机世界的然后再抽象成计算机世界的数据模型数据模型。40现实世界现实世界信息世界信息世界 概念模型概念模型机器世界机器世界DBMS支持的数据模型支持的数据模型认识抽象认识抽象转换 从现实世界中从现实世界中的事物到计算的事物到计算机中的数据表机中的数据表示,经历了三示,经历了三个领域:
19、个领域:用户观点计算机系统的观点41根据应用目的,模型分为两个层次:根据应用目的,模型分为两个层次:n概念模型概念模型( (信息模型信息模型) ):从用户观点来看,要:从用户观点来看,要求概念简单,表达清晰,易于理解,是对现求概念简单,表达清晰,易于理解,是对现实世界的第一层抽象。实世界的第一层抽象。n数据模型数据模型( (网状、层状、关系网状、层状、关系) ):从计算机观:从计算机观点来看,要求有严格语法和语义的语言对数点来看,要求有严格语法和语义的语言对数据进行严格的形式化定义、限制和规定,以据进行严格的形式化定义、限制和规定,以便将其转变为计算机可以理解的格式。便将其转变为计算机可以理解
20、的格式。421.2.2 数据模型的组成要素n数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成。1. 数据结构:数据结构:(最重要最重要)n研究对象类型的集合n分为两类:A.与数据类型、内容、性质有关的对象B.与数据之间联系有关的对象n数据模型的命名一般是由数据结构决定的,如网状、层状、关系432. 2. 数据操作:数据操作:n指对数据库中各种对象的实例允许执行的操作的集合,包括操作和相关的操作规则n操作分为两大类:检索和更新(删除、插入、更改)44 3. 数据的约束条件n数据的约束条件是一组完整性规则的集合。n完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定
21、符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。n例如,在学生数据库中,学生的年龄不得超过40岁。451.2.3 概念模型概念模型一、信息世界中的基本概念一、信息世界中的基本概念在信息世界中,常用的主要概念如下:在信息世界中,常用的主要概念如下:1. 实体(实体(Entity)客观存在并且可以相互区别的“事物”称为实体。实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的概念,如一次选课,一次比赛等。2. 属性属性(Attributes)实体的某一特性称为属性。实体的某一特性称为属性。v如学生实体有学号、姓名、年龄、性别、系等方面的属性。463. 实体型(
22、实体型(Entity Type)n具有相同属性的实体必然具有共同的特征和性具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。类实体,称为实体型。n如学生(学号,姓名,年龄,性别,系)就是一个如学生(学号,姓名,年龄,性别,系)就是一个实体型。实体型。4. 实体集实体集(Entity Set)n同型实体的集合称为实体集。同型实体的集合称为实体集。n如所有的学生、所有的课程等。如所有的学生、所有的课程等。47举例说明举例说明实体实体、实体型实体型以及以及实体集实体集的区别。的区别。例例1:项目(项目编号,项目
23、名,负责人,资金)项目(项目编号,项目名,负责人,资金) 001, 辅助诊断系统,辅助诊断系统, 张三,张三,50万万 002 , 公交定位系统,李四,公交定位系统,李四,25万万 003, 人事管理系统,王五,人事管理系统,王五,10万万 实体型任意一条记录是一实体实体集48学号学号姓名姓名年龄年龄 性别性别 系系9901 张三 17 男 计科9902 王五 18 男 化学9903 李华 18 女 化学这个框架表示的就是实体型每一条记录表示一个实体所有记录的集合形成一个实体集例例2:学生学生495. 码(码(Key)n能能唯一标识一个实体唯一标识一个实体的的属性属性或或属性集属性集称为实体的
24、码。称为实体的码。n如学生的学号,学生的姓名可能有重名,不能作为学如学生的学号,学生的姓名可能有重名,不能作为学生实体的码。生实体的码。系系 性别性别 年龄年龄姓名姓名学号学号9901 张三 17 男 计科9902 王五 18 男 化学9903 李华 18 女 化学学号学号课程名课程名 成绩成绩9901数学889902化学609902数学879903外语60码:学号码:学号,课程名506. 域(域(Domain)n属性值的取值范围称为该属性的域。属性值的取值范围称为该属性的域。n如如学号的域学号的域为为6位整数,位整数,姓名的域姓名的域为字符串集合,为字符串集合,年龄的域年龄的域为小于为小于4
25、0的整数,的整数,性别的域性别的域为(男,女)。为(男,女)。51上次课内容回顾n几个概念n data, DB,DBMS,DBSn数据管理经历的几个阶段以及各个阶段的特点n两大独立性n数据模型的三个组成部分n概念模型中的几个概念:n实体,属性,码,域,实体型,实体集527. 联系(联系(Relationship)n在现实世界中,事物内部以及事物之间是有联系的,这在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,些联系同样也要抽象和反映到信息世界中来,n在信息世界中将被抽象为实体内部的联系和实体之间的在信息世界中将被抽象为实体内部的联系和实体之间的联系。联系
26、。n实体内部的联系通常是指组成实体的各属性之间的联系;实体内部的联系通常是指组成实体的各属性之间的联系;n实体之间的联系通常是指不同实体集之间的联系。实体之间的联系通常是指不同实体集之间的联系。53两个实体之间的联系有如下三种类型:两个实体之间的联系有如下三种类型:(1)一对一联系()一对一联系(1:1)n若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。n如:班级与班主任,观众与座位,病人与床位。如:班级与班主任,观众与座位,病人与床位。(2)一对多联系()一对多联系(1:n) 若对于实体集A中的每一个实体,实体集B中
27、有n个实体(n0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。如:班级与学生、公司与职员、省与市。如:班级与学生、公司与职员、省与市。54因此,用图形表示1:1,1:n, n:m的联系分别为:的联系分别为:实体型实体型A联系名联系名实体型实体型B11实体型实体型A联系名联系名实体型实体型B1n实体型实体型A联系名联系名实体型实体型Bmn领导领导系主任系主任系系11包括包括班级班级学生学生1N选课选课学生学生课程课程MN55概念模型的表示方法 -实体联系模型ERn概念模型的表示方法最常用的是实体-联系方法(
28、 (Entity-Relationship Approach)Entity-Relationship Approach),是P.P.S. ChenP.P.S. Chen于19761976年提出的,该方法是用E-RE-R图来描述某一组织的概念模型。nE-R方法是抽象和描述现实世界的有力工具。56(3)多对多()多对多(m:n)若对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。如:教师与学生如:教师与学生,学生与课程,工厂与产品。学生与课程,工厂与产品。
29、57用E-R图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法: n实体型:用矩形表示,矩形框内写明实体名实体名。 n属性属性:用椭圆形表示,并用直线将其与相应的实体连接起来。 58举例:实体型“学生”具有学号、姓名、年龄、性别、系、年级属性。请用ER模型表示。学生学号姓名年龄性别系年级59联系:用菱形表示,菱形框内写明联系名联系名,并用直 线分别与有关实体连接起来。学生学生课程课程选修选修姓名姓名学号学号系别系别课程名课程名先修课先修课 主讲老师主讲老师成绩成绩实体实体联系联系属性属性mn60有三个实体型:供应商、项目、零件。一个供应商可以供给多个项目多个零件,而每个项目
30、可以使用多个供应商供应的零件,每种零件可由不同供应商供给,这三个实体型之间是什么关系?供应商项目零件供应pmn三个实体型之间的多对多关系一般地,两个以上实体型之间也存在着一对一、一对多和多对多的联系。一般地,两个以上实体型之间也存在着一对一、一对多和多对多的联系。61两个以上实体型之间也存在着一对一、一对多和多对多两个以上实体型之间也存在着一对一、一对多和多对多的联系。的联系。三个实体型之间的多对多联系与三个实体型两两之间多三个实体型之间的多对多联系与三个实体型两两之间多对多的联系有什么区别?对多的联系有什么区别?62供应商项目零件供应pmn供应商项目零件供应pm生产nq需要rs63职工领导1
31、n同一实体集内同一实体集内一对多联系一对多联系n同一实体集内的各实体之间可以有1:1,1:n,m:n的联系职工实体集内部具有领导和被领导的联系64用E-R图表示某事物概念模型的过程E-R图设计过程实际是对数据进行归纳、分析,把企业的全部用户按他们对数据和功能需求进行分组。然后从局部入手,对每一类用户,建立局部E-R模型,再综合成总体E-R模型n确定实体型n确定联系和联系类型n设计出由E-R图表示的模型n确定属性n将E-R图优化65课程号课程号选课选课学生学生课程课程MN学号学号姓名姓名性别性别学分学分课程名课程名成绩成绩用用ER模型来表示学生选课的概念模型。其模型来表示学生选课的概念模型。其中
32、一个学生可以选多门课程,一门课程可供中一个学生可以选多门课程,一门课程可供多个学生选修。多个学生选修。涉及的实体型有:学生、课程学生的属性有:学号、姓名、性别课程的属性有:课程号、课程名、学分联系有:选课,学生与课程之间的联系是m:n选课的属性有:成绩ER模型66举例:为仓库管理设计一个举例:为仓库管理设计一个E-RE-R模型模型, ,该仓库主要管理零该仓库主要管理零件的入库、出库和采购等事项。仓库根据需要向外面件的入库、出库和采购等事项。仓库根据需要向外面厂家订购零件,而许多工程项目需要仓库供应零件。厂家订购零件,而许多工程项目需要仓库供应零件。实体有:实体有:n仓库:属性有仓库号、仓库面积
33、、电话号码。n零件:属性有零件号、名称、规格、单价、描述。n供应商:属性有供应商号、姓名、地址、电话号、帐号。n项目:属性有项目号、预算、开工日期。n职工:属性有职工号、姓名、年龄、职称。67实体之间的联系如下:实体之间的联系如下:n一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。某种零件在某个仓库中的数量用库存量描述。n一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。n职工之间具有领导被领导的关系,即仓库主任领导若干保管员。 n一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供给的零件,每种零件可以由不同的供应商供给。68供应商项目零件供应供应量库存仓库库存
34、量职工领导工作mnpmn1n1n实体及其联系图在此基础上需要加上实体的属性,此ER图才完整691.2.4介绍几种最常用的数据模型介绍几种最常用的数据模型n层次模型(Hierarchical Model)n网状模型(Network Model) n关系模型(Relational Model) n面向对象模型(Object Oriented Model)n对象关系模型 (Object Relational Model)70关系模型n关系模型是发展较晚的一种模型,n1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。n他发表了题为“大型共享数据银行数据的关系模型”(A R
35、elation Model of Data for Large Shared Data Banks),在文中解释了关系模型,定义了某些关系代数运算,研究了数据的函数相关性,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究,n他为此获得了1981年的图灵奖。n此后许多人把研究方向转到关系方法上,陆续出现了关系数据库系统。71n关系模型有严格的数学基础及在此基础上发展起来的关系数据理论。这里我们只简单勾画一下关系模型, 在用户的观点下,关系模型中,数据的逻辑结构就是一张二维表二维表。它以行和列组成。下面以一个学生登记表为例,介绍关系模型中的一些术语。72姓名年龄性别系年级82
36、021张平18男计算机282022王英17女计算机182030李强17男物理1主码整数字符串1,2,3,4,5域元组关系关系名:学生登记表关系模式:学生(学号,姓名,年龄.)一个关系就是一张表表中的一行属性表中的一列可唯一标识元组的属性或属性集属性的取值范围82030分量元组中的一个属性值学号73(7)关系模式)关系模式对关系的描述,一般表示为:关系名(属性对关系的描述,一般表示为:关系名(属性1,属性属性2,属性属性n),),如:学生(学号,姓名,性如:学生(学号,姓名,性别,年龄,系别)。别,年龄,系别)。74n1、在关系模型中,实体型是用关系来表示的,如:n学生(学号,姓名,性别,年龄,
37、系别)n课程(课程号,课程名,课时)n实体型间的联系也是用关系来表示的,如:n学生和课程之间的联系n选课关系(学号,课程号,成绩)关系模型的特点:关系模型的特点:选课选课学生学生课程课程MN75n2. 关系必须是规范化的关系n指在关系模型中,每一个关系模式要满足一定的要求或者称为规范条件n其最基本的要求是每一个分量是一个不可分的数据项,也就是说,不允许表中还有表。系系 性别性别 年龄年龄姓名姓名学号学号9901 张三 17 男 计科9902 王五 18 男 化学9903 李华 18 女 化学 地址地址省省 市市 县县762. 关系模型的数据操纵与完整性约束关系模型的数据操纵与完整性约束n数据操
38、纵数据操纵主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件,即实体完整性、实体完整性、参照完整性和用户定义的完整性参照完整性和用户定义的完整性。有关完整性的具体含义将在下一章介绍。n关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合;n用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户的生产率。77二、关系数据模型的存储结构在关系数据模型中,实体型及他们之间的联系都用表来表示。在数据库的物理组织中,表以文件的形式存储,有的系统一个表对应一个操作系统文件,有的系统自己设计文件结构。3、关系模型的优缺点n关系
39、模型的优点主要有:(1) 它有较强的数学理论根据。(2) 概念单一,不仅用关系描述实体,而且用关系描述实体间的联系。(3) 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。n关系模型的缺点主要有:n由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。 它属于非关系模型,在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。n用树结构表示实体之间联系的模型叫层次模型n树由节点和连线组成n节点代表实体型n连线表示两实体型间的一对多
40、联系n树的特性n每棵树有且仅有一个节点无父节点,称为树的根n树中的其它节点都有且仅有一个父节点层次模型80n图1.9是层次模型有向树的示意图。结点A为根结点,,F,E为叶结点,B,C为兄结点 图1.9 层次模型有向树的示意图 ABCDEF81 网状模型的特征网状模型的特征(1)有一个以上的结点没有双亲;)有一个以上的结点没有双亲;(2)至少有一个结点可以有多于一个双亲。)至少有一个结点可以有多于一个双亲。 即允许两个或两个以上的结点没有双亲结点,允许某个结点即允许两个或两个以上的结点没有双亲结点,允许某个结点有多个双亲结点,则此时有向树变成了有向图,该有向图描有多个双亲结点,则此时有向树变成了
41、有向图,该有向图描述了网状模型。述了网状模型。 网状模型中每个结点表示一个记录型(实体),每个记录型网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实体的属性),结点间的连线表示记录可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的类型(实体)间的1:n的父子关系。对于每个联系都需要命的父子关系。对于每个联系都需要命名。名。科室科室医生医生病房病房病人病人实体型1 : N联系网状模型(排除树结构)L1L2L3L4821.31.3数据库系统结构数据库系统结构在数据模型中有“型型”和“值值”的概念。“型型”(Type)和和“值值”(Value)的概念。的概念
42、。n型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如:记录型学生(学号,姓名,系别) 而(9902,张三,计科)则是该记录型的一个记录值。831、数据库系统模式的概念、数据库系统模式的概念模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体的值称为模式的一个实例。同一个模式有很多实例。 模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及联系,而实例反映的是数据库某一时刻的状态。84n模式的分级n为了提高数据的物理独立性和逻辑独立性,使用户看到的数据库,与实际存储的数据库区分开来,数据库系统的模式是分级的。n数据库系统三
43、级模式结构nCODASYL(Conference On Data System Language,美国数据系统语言协会)提出模式、外模式、内模式三级模式的概念。这三级模式是对数据的三个抽象级别。三级模式之间有两级映象数据库系统的三级模式结构数据库系统的三级模式结构85数据库数据库内模式内模式模模 式式外模式外模式2 2外模式外模式3 3外模式外模式1 1应用应用A A应用应用B B应用应用C C应用应用D D应用应用E E外模式外模式/ /模式映象模式映象模式模式/ /内模式映象内模式映象数据库系统三级模式结构n用户的数据视图用户的数据视图n是数据的局部逻是数据的局部逻辑结构,模式的辑结构,模
44、式的子集子集n所有用户的公共数据所有用户的公共数据视图视图n是数据库中全体数据是数据库中全体数据的全局逻辑结构和特性的全局逻辑结构和特性的描述的描述n又称存储模式又称存储模式n是数据的物理结构是数据的物理结构及存储方式及存储方式861. 1. 模式:(概念模式)模式:(概念模式)n数据库中全部数据的逻辑结构和特性的描述,数据库中全部数据的逻辑结构和特性的描述,是所有用户的公共数据视图。是所有用户的公共数据视图。n它不涉及数据的物理存储细节和硬件环境,它不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用开发也与具体的应用程序,与所使用的应用开发工具及高级程序设计语言无关。工具
45、及高级程序设计语言无关。 n一个数据库只有一个模式一个数据库只有一个模式n用模式描述语言(模式用模式描述语言(模式DDLDDL)描述数据在逻描述数据在逻辑上的视图。辑上的视图。872. 2. 外模式:外模式:n是数据库用户看到的数据视图,即与某一应用有关是数据库用户看到的数据视图,即与某一应用有关的数据的逻辑表示。的数据的逻辑表示。n一个数据库可以有多个外模式。一个数据库可以有多个外模式。n外模式通常是模式的子集,不同用户的外模式的描外模式通常是模式的子集,不同用户的外模式的描述可以不同。述可以不同。n不同用户的外模式可以互相覆盖,同一外模式可以不同用户的外模式可以互相覆盖,同一外模式可以为某
46、一用户的多个应用所启用,一个应用程序只能为某一用户的多个应用所启用,一个应用程序只能启用一个外模式。启用一个外模式。n用外模式描述语言用外模式描述语言( (外模式外模式DDL)DDL)描述用户数据视图。描述用户数据视图。88S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)S(S#,SNAME,SEX,AGE,ADDRESS,CREDIT,DEGREE)S(S#,SNAME,ADDRESS)S(S#,SNAME,ADDRESS)学籍科学籍科S(S#,SNAME,CREDIT)S(S#,SNAME,CREDIT)房产科房产科外模式外模式1 1外模式外模式2模式模式
47、893. 3. 内模式:内模式:n一个数据库只有一个内模式。一个数据库只有一个内模式。n是数据在数据库系统内部的表示,是对数据是数据在数据库系统内部的表示,是对数据的 物 理 结 构 和 存 储 方 式 的 描 述 。的 物 理 结 构 和 存 储 方 式 的 描 述 。例如:记录是顺序存储还是按照例如:记录是顺序存储还是按照B B树结构存树结构存储,或是按照储,或是按照hashhash方法存储,索引的组织方方法存储,索引的组织方式是什么,数据是否压缩、是否加密,数据式是什么,数据是否压缩、是否加密,数据的存储记录结构的规定等。的存储记录结构的规定等。n用内模式描述语言用内模式描述语言( (内
48、模式内模式DDL)DDL)来描述和定来描述和定义。义。90n外模式/模式映象n定义某一个外模式和模式之间的对应关系,映象定义通常定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中包含在各外模式中n当模式改变时,修改外模式当模式改变时,修改外模式/ /模式映象,使外模式保持不模式映象,使外模式保持不变,从而应用程序可以保持不变,称为数据的逻辑独立性变,从而应用程序可以保持不变,称为数据的逻辑独立性n模式/内模式映象n定义数据全局逻辑结构与存储结构之间的对应关系定义数据全局逻辑结构与存储结构之间的对应关系n存储结构改变时,修改模式存储结构改变时,修改模式/ /内模式映象,使模式保持
49、不内模式映象,使模式保持不变,从而应用程序可以保持不变,称为数据的物理独立性变,从而应用程序可以保持不变,称为数据的物理独立性两级映射:两级映射:91不同模式之间的映象不同模式之间的映象n数据库系统的三级模式结构在数据的三个数据库系统的三级模式结构在数据的三个抽象级上提供了两个层次的映象抽象级上提供了两个层次的映象n内模式到模式的映象内模式到模式的映象 提供了数据的物理独提供了数据的物理独立性。立性。n模式到外模式的映象模式到外模式的映象 提供了数据的逻辑独提供了数据的逻辑独立性。立性。n把用户看到和使用的逻辑数据和实际存储把用户看到和使用的逻辑数据和实际存储的物理数据完全分开了,使应用程序开发的物理数据完全分开了,使应用程序开发时摆脱了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年强制降解研究中候选药与参照药降解途径降解速率一致性
- 2026年文化产品进出口许可与境外文化机构准入指引
- 2026年十五五数据安全治理体系与合规监管前瞻
- 2026年智能冰箱变频电路故障诊断与快速维修指南
- 2025年临床执业《外科》模拟测试
- 物流企业CIO招聘面试常见问题
- 教育机构校长新学期工作计划及安排
- 高分酒店工程技术标(bim图表A4版)2025年
- 电子支付领域销售总监的专业知识及面试要点
- 餐饮行业产品经理面试要点解析
- 服装手工艺钩针教学课件
- 新课标初中物理词典
- 医疗质量与安全管理委员会会议专家讲座
- 外研版中考英语复习课件
- GB/T 41498-2022纤维增强塑料复合材料用剪切框测定面内剪切应力/剪切应变响应和剪切模量的试验方法
- GB/T 28733-2012固体生物质燃料全水分测定方法
- FZ/T 08001-2021羊毛絮片服装
- 博弈策略的生活解读 课件
- PSP问题分析与解决能力训练课件
- 综合实践六年级下册和灯做朋友-完整版课件
- 数字化仿真概述课件
评论
0/150
提交评论