大学数据库原理与技术(第二版)-程学先-课件PPT
收藏
资源目录
压缩包内文档预览:
编号:21835831
类型:共享资源
大小:15.97MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
数据库
原理
技术
第二
程学先
课件
ppt
- 资源描述:
-
大学数据库原理与技术(第二版)-程学先-课件PPT,大学,数据库,原理,技术,第二,程学先,课件,ppt
- 内容简介:
-
数据库原理与技术(第二版) 程学先 程传慧 曾 玲 陈永辉 郑秋华 杨晓艳信息:是以数据为载体的客观世界实际存在的事物、事件或概念在人们头脑中的反映。数据:是用来表示信息的一组符号。信息系统:是以计算机为核心,以数据库为基础,对信息进行收集、组织、存储、加工、传播、管理和使用的系统。第一章 数据库基础知识数据管理是指:数据的收集、整理、组织、存储、查询、维护和传送等各种操作,是数据处理的基本环节,是任何数据处理任务必有的共性部分。数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。第一章 数据库基础知识数 据 处 理数 据 库 技 术数据库的数据结构与存贮结构索 引 文 件 组 织退 出本 章 要 点数据管理的发展阶段人工管理阶段(50年代中期以前)文件系统阶段(50年代后期-60年代中期)数据库系统阶段(60年代后期开始)数 据 处 理数据管理的发展阶段_1、人工管理阶段计算机主要用于科学计算软件采用机器语言编写数据量小数据不需要共享有了磁盘、磁鼓等直接存取设备出现了操作系统及高级语言出现了文件系统计算机应用也从单纯科学计算、控制,扩大到电子数据处理系统人们利用文件系统将数据从程序中分离出来形成专门的数据文件数据管理的发展阶段_2、文件系统阶段R # include “stdio.h”main() FILE *fp; fp = fopen(“Commodity.c”,”w”); fputs(“Silverware ”,fp); fputs (“Wwmottle ”,fp); putw(40,fp); fputs(“11111111 ”,fp);fputs(“Chinaware ”,fp);fputs(“Popularware ”,fp); putw(100,fp); fputs(“222222222222 ”,fp);fclose(fp);【例1.1】 C语言中将Commodity的有关数据: WareName、Specification、Unitprice、Illuminate等数据输入到一个文件中的程序:数据管理的发展阶段_2、文件系统阶段 #include “stdio.h”#define SIZE 2struct Commodity _type char WareName 12;char Specification 16; int Unitprice;char Illuminate 20; studSIZE;【例1.2】显示文件Commodity.c中的数据:数据管理的发展阶段_2、文件系统阶段main() int i; FILE *fp; fp=fopen(“Commodity.c”,”r”); for(i=0;iSIZE;i+) fread(&studi, sizeof(struct Commodity_type),1,fp); printf(“%28s%20s %8d %200s %n”, studi.WareName, studi.Specification, studi.Unitprice, studi. Illuminate); 数据管理的发展阶段_2、文件系统阶段数据处理全过程如下图:数据管理的发展阶段_2、文件系统阶段数据文件的优点是实现了数据的物理独立即数据与程序分离,分别采用两个文件各自存放数据与程序。这就使程序设计变得简单,而且可对数据文件进行管理,单独对数据进行使用或维护。 缺点是如果要使用和维护数据,必须知道数据存放的格式,即要知道数据存取的逻辑结构。数据和程序之间缺少逻辑独立性。数据管理的发展阶段_2、文件系统阶段同一数据在多个地方同时存放,那么同一数据在不同存放地的值可能不相同,称为数据不一致,这将会降低信息价值,甚至造成重大损失。数据共享是指同一数据能为同一用户或不同用户的相同或不同程序所使用。数据管理的发展阶段_2、文件系统阶段数据管理的发展阶段_3、数据库系统阶段计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)外存有了大容量磁盘,光盘软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低开始提出和考虑分布处理为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,就出现了数据库技术出现了统一管理数据的专门软件系统:DBMS数据管理的发展阶段_3、数据库系统阶段当前关系数据库管理系统的产品主要有 Oracle、DB2、Informix、Sybase ASE、SQL Server、MYSQL、达梦、Access、Visual FoxPro等,Oracle是大型数据库,SQL Server是可以应用于网络上的小型数据库,Access、Visual FoxPro是桌面式数据库,达梦是我国自行开发的国产数据库管理系统等。从实例看数据库的数据处理技术如果在SQL Server中要完成前述任务,首先要建立数据存储结构。可先建立数据库,例如建立名为Waremanage的数据库,当打开该数据库后,可使用下述命令建立空表结构:CREATE TABLE Commodity(WareName char(12),Secfcaton char (16),Unitprice int,Illuminate text);从实例看数据库的数据处理技术如要存入两件商品数据,可使用下述命令:INSERT INTO Commodity VALUES(“Silverware”, “Wwmottle”,40, “11111111111111”);INSERT INTO Commodity VALUES(“Chinaware”, “Popularware”,100, “22222222222222222222”);从实例看数据库的数据处理技术从实例看数据库的数据处理技术与 C 语言程序不同,在输入商品名称、规格、说明等数据时,数据值的宽度不到预定的字符宽度时,无须加填空格;在数据维护过程中对数据格式要求已经不是那么严格了。例如要显示表Commodity中的内容,可使用下述命令:SELECT * FROM Commodity 从实例看数据库的数据处理技术如要求按一定条件显示某一定范围内的内容,例如只显示单价为40的商品的名称、规格与单价,可使用下述命令:SELECT WareName,Secfcaton, Unitprice FROM Commodity WHERE Unitprice =40从实例看数据库的数据处理技术数据库系统管理软件有以下优点:(1)程序极为简单(2)程序中不需要了解数据的数量和顺序(3)可直接对数据的某一部分分量进行操作,而无须知道全面的数据结构及其他分量的个数、名字和数据类型。(4)只要初始定义的数据结构中你所需的那一部分分量的名字和数据类型不发生变化,程序将无须随数据结构改变而修改。从实例看数据库的数据处理技术在SQL Server 2000中利用SQL Server管理工具中企业管理器建立数据库waremanage之后会产生:主数据文件waremanage_Data.MDF日志文件waremanage_Data.LDF两个文件如果在其中用上述CREATE建立数据表“Commodity”之后,我们查看waremanage_Data.MDF中的内容,可以看到,其中包含了如下内容(如图1.2所示)从实例看数据库的数据处理技术图1.2 数据表文件MDF中关于表结构定义的内容的示意在存放数据时,数据库将数据分为不同类型,不同类型的数据存放格式不同、将来允许进行的处理不相同。数据在计算机内存放有二进制与ASCII码二种形式。SQL Server2000数据库中数据类型及意义如表1.1 所示。从实例看数据库的数据处理技术从实例看数据库的数据处理技术 数据库中一般数据按记录以等长形式顺序存放,各数据项在各记录中占据宽度相同,这样一种结构可形象看作一个由行和列构成的二维表格,每一数据项为一列,称为字段,每一行称为一条记录,包括一件事物的有关数据,以这种形式组织数据的数据库,我们称为关系数据库。例如一个关于商品的关系数据库数据表的结构与内容如表1.2所示。从实例看数据库的数据处理技术从实例看数据库的数据处理技术从实例看数据库的数据处理技术 通过前述定义表与存入数据后,如果查看waremanage_Data.MDF中的内容,可以看到,文件中包含了上述表中数据,如图1.3 所示。从实例看数据库的数据处理技术从实例看数据库的数据处理技术 SQL Server数据库对某一个数据表而言,数据库文件分成多个相关部分,其中有一部分存放数据结构的描述,再有一部分按顺序存放数据,还有一部分以链表结构形式存放文本类型等数据。 为了不同的处理需要(例如索引、视图、日志等),SQL Server中同一数据与关于数据结构的描述往往多处出现,如图所示只是在数据库主文件waremanage_Data.MDF内存放情况之一,另外,在日志文件waremanage_Data.LDF中还有类似的存放。从实例看数据库的数据处理技术 Access是微软公司Office产品套件中的产品,能适应Web环境,适用于微型机环境,其数据存储方式与SQL Server类似,数据以数据库为单位形成文件存放。从实例看数据库的数据处理技术 在我国曾广泛使用过的一种单机上的数据库Visual FoxPro(简称VFP),是一种不完全的关系数据库,其数据存储方式有所不同,数据以表为单位形成一个文件存放,包括对数据结构的定义与等长记录的数据;如果有文本或图形类字段,还将另外建立一个文件链表结构的文件。从实例看数据库的数据处理技术 图1.4 描述了VFP中一个学生表结构定义及数据存储情况:其字段包括姓名:NAME,字符类型,宽度为8,以ASCII码形式存放;学号:NUM,整数类型,以二进制形式存放;年龄:AGE,整数类型,以二进制形式存放。从实例看数据库的数据处理技术从实例看数据库的数据处理技术 Oracle是一种大型数据库产品,其较新版本是Oracle 10g,除具有关系数据库功能外,还有较强的数据仓库功能,适应性很广。它的数据存储容量可达8TB,从目前情况看,实际数据容量只受操作系统限制。其数据存储方式与SQL Server不同,数据库下设表空间(一种逻辑结构),表空间内包括多个文件,表、索引、数据字典分布在这些文件中。数据字典存放关于数据逻辑结构的定义。从实例看数据库的数据处理技术 数据库都要求预先定义数据逻辑结构,并用专门文件或指定文件的一部分存储关于结构的描述,程序员编写程序时就无须了解数据的全局结构,而只需关心他所涉及的那部分数据项,其他事可利用数据库管理系统软件(DBMS)来帮助完成。 初步实现数据与数据逻辑结构描述(称为模式)的分离。这是数据逻辑独立的基础。 从实例看数据库的数据处理技术 DBMS可以分析数据全局与各数据项结构,分析一条记录总长度,及每一个数据项的名字、类型、从第几个字节开始及共占据多少宽度等等,之后就可自动从数据区中根据需要提取数据。数据库:有组织的、动态地存储的、结构化的、相互关联的数据的集合。是通过综合多个用户的文件中的数据,除去不必要的冗余,使之相互联系之后建立的数据存储库。集成、共享、存储、信息是数据库的要素,其重要特点是联系。数据库系统一般由数据库、支持数据库运行的软件与硬件、数据库管理系统、应用系统、数据库管理员和用户构成。 数据库技术设计一个数据库应用系统,需要:了解系统对数据和功能的需求对全系统涉及的所有数据进行分析和整理、分析数据之间的联系,用一定的数据模型来表示;求得系统全局的数据结构,用一定语言加以表示及定义;考虑数据的存放位置、数据量大小、对安全保密性 、数据正确性、防错纠错措施等方面的要求 ,设计并在计算机中建立数据库结构 数据库系统要尽可能减少数据冗余。所谓数据冗余是指同一数据在多个不同的地方存放。另外,如果一组数据在一个表中多次重复,也是冗余。数据冗余不仅导致数据量的增加,使系统处理速度变慢,效率降低,而且易发生错误。在实际设计中,应尽量减少数据冗余,控制冗余度。需要正确定义全局数据结构。 数据库系统用某一种数据库语言对全局数据结构的定义称为这种数据库的概念模式,简称模式。例如设计关于“学生”数据,定义为二维结构的表,表名为Student,包括name,num,age三个数据分量,数据类型分别为字符型、整型、整型,所占宽度分别为8、4、4个字节。这些内容就是对关系数据库“学生”的模式定义的主要内容。 数据库系统关系数据库的模式除包括数据库名,数据结构方式,记录的构成等内容外,还包括记录的标识性数据分量、数据范围及使用权限等内容。在关系数据库中标识性数据分量指能唯一标志一条记录的数据分量。模式常常简单地被表示为:模式名(数据项1,数据项2,),例:Student (name, num, age)。上述数据分量我们称之为字段,数据分量名称为字段名,每条记录该数据分量的值称为字段值。标识性数据分量称关键字。 数据库系统要增强数据的共享性、尽量减少数据冗余,还需要进一步提高数据的逻辑独立性,减少应用程序对全局性数据结构的依赖,让应用程序只和局部数据结构相关。为此,可进一步定义概念模式的逻辑子集,称为子模式。 数据库系统在数据库系统管理软件中,有专门定义数据模式的语句,例如,建立学生(学号,姓名,年龄)和成绩(学号,课名,分数)两个表(名字均改用英文单词表示)的语句:CREATE TABLE Student (Num i, Name c(8), age i)CREATE TABLE Result (Num i, LessonName c(28), Fraction i) 数据库系统在数据库系统管理软件中,还有建立视图的语句。例如欲建立视图SR,列举所有不及格的学生,可以用一条语句实现:CREATE VIEW SR AS SELECT Student.Name,Result.LessonName,Result.Fraction FROM Student, Result (WHERE Student.Num =Result.Num AND Result.Fraction 60) 数据库系统有了这个视图之后,在关系数据库系统中可将SR视同一般表,通过它对源表“Student”和“Result”进行查询操作。该视图实现了两个源表的联系,相当于源表模式的子集。它使用的字段名可以与源表不同,以后若源库结构发生变化,包括上述相应字段名变化,我们可修改视图定义来局部适应这些变化,而不需要修改程序。视图和表不同之处在于它并没有真正地存储数据,它所存取的数据必须依附于所关联的数据表,是一种虚的映射关系。 数据库系统还有一些数据库,在关于全局数据结构的子集定义中允许改变对应的数据类型、宽度,还可加入关于权限控制方面的内容,这种用一定数据库语言对局部数据结构的描述称为子模式或外模式。子模式是对用户所看到的数据结构的描述,用户看到的数据结构称为用户视图或外部视图或称I/O视图。 数据库系统在一些数据库中,关于数据结构的定义还需加入所存储文件名及类型、数据存储形式(顺序文件或链表结构文件)、采用的指针、索引文件的结构乃至于存储设备,物理块大小等。这些有关存储方式、物理结构等的描述称为存储模式或内模式,数据库通过存储模式再借助于操作系统实现对数据存储文件的操作。 数据库系统以上形式将数据库分为不同层次,各个层次面对不同类型的人员。最终用户面对的是应用程序,程序员所见到的数据库形式称外部视图或称I/O视图。数据库管理员DBA面向数据全局结构,即概念模式和存储模式,包括了所有部门、各类人员所有数据的按一定规则的集合。系统管理员关心的是各个数据库及其他文件在系统中的存储和管理,面对的是各个数据库的存储模式,他看到的部分称为内部视图。 数据库系统 美国ANSI/X3/SPARC(美国国家标准协会的计算机与信息处理委员会中的标准计划与需求委员会)数据库小组关于数据库系统三层结构:外部级,概念级,内部级划分视图层次的方案见图1.5。 数据库系统数据库的视图层次 数据库系统基于模式可以进一步定义视图,它相当于面向应用程序的子模式,使程序与数据进一步分离。这样的结构要求应用程序中使用的有关数据库中数据的名字经子模式翻译解释后与概念模式中的命名对应,称为模式到程序的逻辑映像,模式定义的数据结构通过存储模式并经操作系统解释与实际操作数据的存储相对应,称为物理映像。 数据库系统模式到程序的逻辑映像使程序与数据逻辑结构定义以及数据尽可能分离,当程序使用数据的要求发生变化时不一定要求改变数据的全局结构,反过来数据结构在一定范围内变化时,通过子模式调节,不一定要求改变程序,称之为数据的逻辑独立性。 数据库系统当数据实际存储位置等物理存储结构改变时,可由存储模式适应这种变化,而不要求改变数据的全局结构,更不要求修改程序,称之为数据的物理独立。数据的逻辑独立与数据的物理独立合称为数据独立。数据独立是数据共享的必备条件。而数据共享又为减少数据冗余、保证数据的一致性提供了条件。 数据库系统数据库系统还应有统一的数据控制功能,包括数据的安全性控制和数据的完整性控制。数据的安全性指不同用户各自在一定权限范围内控制使用数据。其目的是防止数据遭到人为破坏或泄密。数据的完整性指数据的正确性、有效性和相容性。数据的完整性控制指在数据库的使用过程中,防止错误或不恰当的数据进入数据库。 数据库系统有效性是指数据的合法性。数据:现实世界中实际存在的客观事物、概念或事件的反映和抽象。实体:现实世界中客观存在的可标识的事物、概念或事件。属性:可以描述与标识实体的不同的特性。属性值:用具体的数据来描述属性。记录:对应一个实体的所有属性值的集合。 数据库系统实体集:具有相同属性描述的实体的集合。实体型:一个实体集的属性名的集合。关键字(主码):某一个或某几个属性可以唯一区别一个实体。实体完整性:是否存在关键字、关键字在所有数据中是否能唯一标识一条记录。常作为数据有效的标准之一。 数据库系统相容性是指表示同一个事实的两个数据应当相同。在不同实体集之间有时有特定的联系。在关系数据库中,为了实现表与表之间的联系,有时需将一个表的主码作为数据之间联系的纽带放到另一个表中,这些在另外一个表中起联系作用的属性称为外关键字(外码)。通过外码实现关系之间的约束称为参照完整性。 数据库系统正确性是指数据应当客观真实地表现周围事物。每个属性的数据在实际生活中常具有一定范围,属性的取值范围称作域。数据应当满足所规定的有效范围。数据库技术可识别一个数据是否在一定范围内,在限定范围内的数据被认为是正确的,不在限定范围内的数据输入则是错误的。R 数据库系统 数据库管理系统(DBMS)DataBase Management System:DBMS是数据库系统的核心组成部分。任何数据操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在DBMS统一管理下进行的。DBMS是用户与数据库的接口,应用程序只有通过DBMS 才能和数据库打交道。 数据库管理系统(DBMS)DBMS的功能主要包括:(1)数据定义和映射 (2)数据操纵(3)数据库运行控制(4)数据库的建立和维护(5)数据组织、存储和管理(6)数据通信接口 数据库管理系统(DBMS)DBMS由4部分组成:(1)数据定义语言及其翻译处理程序(2)数据操纵语言,机器编译(或解释)程序(3)数据库运行控制程序 (4)实用程序 传统的数据库有三类:层次数据库、网状数据库和关系数据库。它们分别采用树、图和线性表三种不同数据结构。数据库的数据结构及存储结构【例1.3】一个学校有许多系:电系、机系、化工系,每个系通过系代码,系名,系地址,系电话,系专业设置,等数据来描述。每个系下辖多个教研室。例如电系下辖计算机,电子信息,自动控制等教研室;机系下辖机械制造,质检,制图等教研室;化工系下辖化工材料,有机化工等教研室。每个教研室由室代码,室名,室电话等数据描述。每个教研室负责管理老师,学生。链 表 式 数 据 结 构可以使用链表将所有数据如图1.6连接进行存储,其中每个框表示一个实体型,包括各有关数据项。图1.6 链式数据结构链 表 式 数 据 结 构链 表 式 数 据 结 构关 系 数 据 库 结 构关 系 数 据 库 结 构表1.3 系部数据表 关 系 数 据 库 结 构表1.4 教研室数据表 关 系 数 据 库 结 构表1.5 老师数据表 关 系 数 据 库 结 构表1.6 学生数据表 关系数据库采用的每一表称为一个关系表的每一行称为一条记录,代表一个实体 每一列称为字段或数据项,代表实体一个属性。关 系 数 据 库 结 构在学生的学籍与成绩管理系统中,涉及关于学生与课程关系的许多问题,如某个学生学习了哪些课程,各自成绩等。学生到课程之间关联关系如下图所示:关 系 数 据 库 结 构如果进一步要问某门课程有哪些学生学及其成绩,就需建立反向的课程到学生之间关联关系,如图1.8所示。关 系 数 据 库 结 构采用线性表结构解决上述问题,可在前面所举各表基础上增加课程表包括课程号,课程名,开课单位等。结构如表1.7所示:关 系 数 据 库 结 构再设计一个联系表,如表1.8所示的成绩表:关 系 数 据 库 结 构如此,便可以回答许多关于学生与课程关系的问题,例如要查找学生A学习了哪些课程及其成绩:关 系 数 据 库 结 构关 系 数 据 库 结 构数据库采用索引文件组织,目的在于提高检索效率。一、 索引文件用户检索要求总是针对某一个属性或某几个属性进行。称查找所针对的属性或属性组为查找字。索引文件由索引项构成,具有唯一性的索引文件的索引项由关键字值和指针组成,结构为:(关键字值,指针)。而不具有唯一性的索引文件的索引项由查找字值和指针组成,结构为:(查找字值,指针)。索引文件组织由索引项构成且按查找字排序的文件称索引文件。对每条记录生成一个索引项的索引文件又称稠密索引。如果内外存交换数据的单位为块,又一个索引文件的大小大于块的大小,不能一次将索引文件调入内存,可再建立高一层索引:将原索引文件分段,取每段最末一个索引项的关键字值及其在索引文件中的地址指针构成该级索引项,这样构成的索引文件称稀疏索引。索 引 文 件二、非关键字索引文件对于查找的内容会有许多相同的取值,或检索目标涉及多个属性的情况,采用
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。