《数据库理论课教案.ppt》由会员分享,可在线阅读,更多相关《数据库理论课教案.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统及应用数据库系统及应用2004年3月杜 红数据库系统及应用n教学目的与要求n教学安排n先修课n教材及参考书2教学目的n通过本课程的学习,能对数据库技术及其应用系统有一个较全面的认识。n了解数据库系统的基本概念和体系结构。n掌握关系模型的关系运算理论和关系数据库SQL语言的使用技术。n了解和掌握关系数据库的规范化理论及数据库设计的全过程,能进行数据库结构的设计和简单应用系统的设计。n了解数据库系统的保护措施。n了解分布式数据库及面向对象特征的数据库的基本概念。3教学基本要求n上课认真听讲n课上做好笔记n跟上进度,完成课堂习题n课下复习,完成课后作业n上机前做好准备4教材及参考书n数据库
2、系统及应用 高等教育出版社 崔巍n数据库原理 经济科学出版社 丁宝康n数据库原理自学考试题典经济科学出版社 丁宝康n数据库系统概论高教出版社 萨师煊、王珊编著5数据与信息数据与信息n数据:是描述客观事物的一组文字、数字和符号,它是客观事物的反映和记录。n信息:是潜在于数据中的意义,它反映了客观世界中各种事物的状态与特征,它能增长人的知识,影响接受者的行为。信息成为社会发展的基础和主导力量,这是社会信息化的必然结果,是人类社会进步的标志。6数据库定义n数据库技术就是数据管理的技术。n数据库技术所研究的问题是如何科学地组织和存储数据,如何高效地获取和处理数据。n数据库技术是当代计算机系统的重要组成
3、部分。7 数据处理是对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的是从大量的原始数据中抽取对人类有价值的信息,以作为行动和决策的依据。数数 据据 处处 理理8第一章 数据库概论n1.1 数据管理技术的发展n1.2 数据描述n1.3 数据模型n1.4 数据库的体系结构n1.3 数据库管理系统n1.4 数据库系统91.1 数据管理的发展n数据管理:数据处理的一系列活动中,数据收集、整理、存储、维护、检索、传送等操作作为基本操作,这些基本操作环节称为数据管理。n数据管理技术是解决上述基本环节的,数据技术管理的优劣,将直接影响数据处理的效率.101.1 数据管理的发展n随着计算机
4、硬件和软件的发展。数据管理经历了人工管理,文件系统和数据库系统三个发展阶段:n人工管理阶段n文件系统阶段n数据库阶段111.1.1 人工管理阶段人工管理阶段n时间:50年代中期以前n背景:计算机主要用于科学计算n硬件:磁带、卡片、纸带,没有磁盘n软件:没有操作系统,没有管理数据的软件。只有汇编语言。n特点:1数据不保存在机器中(算时输入,算后输出)2没有软件系统对数据进行管理 3只有程序概念,没有文件的概念 4一组数据对应一个程序,数据是面向应用的121.1.1 人工管理阶段应用程序1应用程序2应用程序n数据1数据2数据n.数据与程序之间的关系131.1.2 文件系统阶段n时间:50年代后期到
5、60年代中期n背景:计算机不仅用于科学计算,而且用于数据处理n硬件:磁盘、磁鼓n软件:操作系统中已经有了专门的管理数据的软件(即文件系统)141.1.2 文件系统阶段n特点:n数据以文件的形式长期保存在外存的磁盘上n数据的物理结构与逻辑结构有了区别(程序不必关心数据的物理位置)n文件形式多样化n数据不再属于某个特定的应用,可以重复使用151.1.2 文件系统阶段n缺点:1.数据冗余度(Redundancy)大:数据面向应用,无法共享2.数据的不一致性3.数据联系弱(文件间相互独立,缺乏联系)应用程序1文件1.文件2应用程序2.应用程序n文件n文件系统数据与程序之间的关系P2重点16习题:文件系
6、统阶段在数据管理方面有哪些缺陷,请举例说明。n文件系统有数据冗余、数据不一致和数据联系弱三个缺点。工号:123;职工姓名:张三;职工电话:67890123工号:124;职工姓名:李四;职工电话:67543210工号:125;职工姓名:张三;职工电话:65467890工号:123;职工工资:2230元;职工电话:62345000工号:124;职工工资:3500元;职工电话:67543210工号:125;职工工资:2400元;职工电话:65467890职工档案文件职工工资文件冗余,且可能不一致原因:文件中数据没有联系171.1.3 数据库阶段n时间:60年代后期-n背景:数据管理规模更为庞大,应用
7、更广泛,数据量剧增,共享要求(多种应用、多种语言互相覆盖地共享数据集合)更强n硬件:有了大容量和快速存取磁盘n指导思想:对所有的数据实行统一的、集中的、独立的管理,使数据存储独立于使用数据的程序,实现数据共享。181.1.3 数据库阶段Database Management System数据库管理系统数据库管理系统应用程序1应用程序2.应用程序nDBMSDBMS数据库数据库数据库系统简图191.1.3 数据库阶段特点:1、采用复杂的数据模型表示数据结构。n按照某种数据模型,将整个组织的全部数据组织成一个结构化的数据整体n数据模型不仅描述数据本身,还描述了数据之间的联系.201.1.3 数据库阶
8、段特点:2.数据独立性n物理独立性、逻辑独立性n具有较高的数据和程序的独立性数据描述、定义从应用程序中分离出来,独立于应用程序而存在,相互独立,互不依赖211.1.3 数据库阶段特点:3.具有良好的用户接口,用户可方便地开发和使用数据库。221.1.3 数据库阶段特点:4.统一数据控制控能n共享一般是并发的,多个用户同时使用数据库,应提供如下功能:n数据安全控制n数据完整性控制(正确性、有效性、相容性)n并发控制n数据恢复231.1.3 数据库阶段n特点:n5、对数据的操作不一定以记录为单位,可以以数据项为单位,增加了系统的灵活性。n问题:文件系统对数据的操作以什么为单位?241.1.3 数据
9、库阶段6.数据共享n共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合。n可以实现文件级、记录级、数据项级的数据共享251.1.3 数据库阶段特点:7.可控数据冗余度n数据存储不必重复存储,节省存储空间,保证数据的一致性n理论上可做到冗余度为零n可有意安排若干冗余,由用户控制,称为可控冗余度261.1.3 数据库阶段n什么是数据库:n数据库是统一管理的相关数据的集合,它可以为各种用户共享且具有最小的冗余度,数据间联系密切,而又有较高的数据独立性。n信息系统以数据库为核心n信息系统的研制从围绕加工数据的程序为中心,转移到以共享数据库的设计为中心271.1.3 数据库阶段输入程序输出文件传统
10、方式:系统功能设计为中心;程序处于主导地位,数据起着服从程序设计需要的作用;281.1.3 数据库阶段数据库查询处理程序联机终端要求报表输入输出输入输出报表生成程序应用程序应用程序 数据库处理方式:数据占据了中心位置 数据的结构设计成为中心问题,而利用这些数据的应用程序的设计退居于次要地位.29基本概念n1、数据(Data)n数据实际上就是描述事物的符号记录。n2、数据库(Database,简称DB)n数据库是长期存储在计算机内有结构的大量的共享的数据集合。n3、数据库管理系统(Database Management System,简称DBMS)n数据库管理系统是位于用户与操作系统之间的一层数
11、据管理软件。n4、数据库系统(Database System,简称DBS)n数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。301.1.4 数据库应用实例及比较n学生信息管理系统实例n该系统用来管理学生的基本情况,开设课程情况,学生的选课情况及成绩;n数据库:以表格的形式储存了学生,课程,选课的记录;n数据管理系统(DBMS)负责存储和检索这些表格的数据;n建立相关的应用程序,负责处理数据输入,数据查询和产生报表31数据表的例子:32数据输入的例子:33数据查询的例子:34数据输出的例子:351.1.4 数据库
12、应用实例及比较n几种数据库应用比较:361.1.4 数据库应用实例及比较n数据库应用的一般结构用户数据库用户与数据库应用交互;数据库应用通过DBMS访问数据库中的数据;用户需要的不只是数据库,而是基于这些数据的表格,报表和查询.37习题1.1:1、下列四项中,不属于数据库特点的是()A.数据共享 B.数据完整性C.数据冗余很高 D.数据独立性高2.下列四项中说法不正确的是()A.数据库减少了数据冗余 B.数据库中的数据可以共享C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性答案:1、C 2、C38习题1.1(续1):与文件结构相比,数据库结构有什么不同?n(1)数据的结构化:文件
13、由记录组成,但各个文件间缺乏联系。数据库中数据在磁盘中虽然以文件形式组织,但这些文件间有广泛的联系。n(2)数据独立性:文件只有设备独立性,而数据库还具有逻辑独立性和物理独立性。n(3)访问数据的单位:访问文件中的数据,以记录为单位,访问数据库中的数据,以字段为单位。39习题1.1(续2):数据库系统的特点?1.采用复杂的数据模型表示数据结构。2.面向企业或部门以数据为中心组织数据,形成综合性的数据库,为各应用共享。3.数据冗余小,节省存储空间,有利于保持数据的一致性4.程序和数据有较高的独立性,数据易修改,易扩充。5.具有良好的用户接口,用户可方便地开发和使用数据库。6.提供了数据的安全性、
14、完整性,以及并发控制。401.2 数据描述n1.2.1 数据描述的三个领域n从事物的特性到计算机中的数据表示,n经历了三个领域:现实世界现实世界信息世界信息世界 概念模型概念模型机器世界机器世界DBMS支持的数据模型支持的数据模型认识抽象认识抽象转换411.2.1 数据描述的三个领域n(1)现实世界:存在于人们头脑之外的客观世界。n数据库技术中最原始的数据。n数据库设计者对这些原始数据进行综合,取出数据库所研究的数据。421.2.1 数据描述的三个领域n(2)信息世界:是现实世界在人们头脑中的反映,人们把它用文字和符号记载下来。n信息世界中的基本概念:(1)实体(Entity):客观存在并可相
15、互区别的事物称为实体。实体可以是具体的对象(一个学生、一辆汽车),也可以是抽象的事件(一次借书,一次比赛)。(2)实体集(Entity Set)性质相同的同类实体的集合,称为实体集。所有男生、全国足球赛的所有比赛。431.2.1 数据描述的三个领域(3)属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画,每个属性有一个值域和类型(年龄为整数型)。(4)实体标识符:唯一标识实体的属性或属性集,或简称为码(Key)。441.2.1 数据描述的三个领域n(3)机器世界:信息世界的信息在机器世界以数据形式存储。n机器世界术语:n(1)字段:标记实体属性的命名单位。
16、n(2)记录:字段的有序集合称为记录。n(3)文件:同一类记录的汇集称为文件。n(4)关键码:能唯一标识文件中每个记录的字段或字段集。451.2.1 数据描述的三个领域信息世界机器世界实体记录属性字段(数据项)实体集文件实体标识符关键码461.2.2 物理存储介质及数据描述高速缓存主 存快闪存储器磁盘存储器光存储器磁盘存储器存储器设备层次47数据库系统中物理存储介质层次n6个层次:高速缓存、主存、快闪存、磁盘、光盘和磁带。n高速缓存和主存:访问速度最快,价格最贵,掉电或系统崩溃时,数据立即丢失。n快闪存和磁盘(辅助存储器):数据容量大,掉电或系统崩溃时,数据不会丢失。n光盘和磁带(脱机存储器)
17、:访问速度最慢,价格最便宜,用作备份。481.2.2 物理存储介质及数据描述n(2)物理存储中的数据描述n位位:bitn字节字节:8bitn字字:若干字节组成字,不同计算机字长不同n块块:内存和外存交换信息的最小单位,块的大小通常为28212字节。n桶桶:外存的逻辑单位,一个桶可以包含一个物理块或多个在空间上不连续的物理块。n卷卷:一台输入输出设备能装载的全部有用信息。例如:磁带机的一盘磁带就是一卷。49数据库技术的发展nDB的初级阶段:DB的出现及应用。计算机用于管理。先后出现层次和网状数据库(数据模型)。n关系数据库出现:不单是新的数据模型数据模型的出现,而且因为以一定的理论、数学为基础,
18、标志着DB技术走向成熟。n下一步发展:面向对象的DB(不强调程序与数据的独立性,把二者结合起来)、知识库501.3 数据库管理系统(DBMS)n是指数据库系统中管理数据的软件系统。n用户使用的各种数据库的命令及应用程序的执行,都要通过DBMS。(DBMS是用户和数据库的接口)n提供并完成三级模式和两级转换,把用户在外模式上对数据库的操作转化到存储数据库中去执行。511.3 数据库管理系统(DBMS)n用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级,在导向内部级,进而操作存储器中的数据。nDBMS总是基于某种数据模型,根据数据模型的不同,DBMS可以分成层次型、网状型、关系
19、型、面向对象型。521.3 数据库管理系统(DBMS)n数据库管理系统的主要功能:1.数据库定义功能nDBMS一般提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、模式和内模式及相互之间的映象;定义数据的完整性、安全控制等约束。n这些定义存于数据字典中,是DBMS存储和管理数据的依据。DBMS根据这些定义,从物理记录导出全局逻辑记录,又从全局逻辑记录导出用户所检索的记录。nDDLData Definition Language531.3数据库管理系统(DBMS)2.数据库的操纵功能nDBMS一般提供数据操纵语言(DML)实现对数据库数据的基本操作检索和更新(插入、修改和删除)nDML
20、Data Manipulation LanguagenDML有两类:n过程性DML:嵌入在主语言中使用n非过程性DML:交互式命令语言,语法简单,可以独立使用541.3 数据库管理系统(DBMS)3.数据库的保护功能nDBMS一般提供对数据的保护,包括数据库的恢复,并发控制、存取控制、完整性约束条件的检查和执行n所有的操作都要在这些控制程序的统一管理下进行,保证数据库的正确有效551.3 数据库管理系统(DBMS)n4、数据库的存储功能nDBMS存储管理子系统的功能是把各种DML语句转换为低层的文件系统命令,起到数据的存储、检索和更新的作用。561.3 数据库管理系统(DBMS)5.数据库的维
21、护功能n包括数据库的装载、数据库的转储、恢复、重组织、系统性能监视、分析等功能n由DBMS的实用程序来完成571.3数据库管理系统(DBMS)6.数据字典(Data dictionary)n数据库系统中存放三级结构定义的数据库称为数据字典(DD)n对数据库的操作都要通过访问DD才能实现n访问DD中的数据是由DD系统实现的581.3 数据库管理系统(DBMS)程序工作区返回状态DB的系统缓冲区数据库DBMS应用程序A对应的外模式模式内模式数据字典应用程序AOS运行日志12345678910用户访问数据的过程591.3 数据库管理系统(DBMS)应用程序A通过DBMS读取数据库中记录的过程:n程序
22、A运行时,DBMS为程序开辟一个数据库的系统缓冲区,用于数据的传输和格式的转换;n三级结构的定义在DD中.1.用户在应用程序中安排一条读记录的DML语句,当计算机执行该语句时,启动DBMS,并把读记录的命令传给DBMS2.DBMS接到命令后,加以分析,并从DD中调出程序A对应的外模式,检查该操作是否在合法的授权范围内,决定是否执行该命令601.3数据库管理系统(DBMS)3.执行A命令后,DBMS调出相应的模式,并从外模式映象到模式,确定概念模式应读入哪些记录4.DBMS调出相应的内模式描述,并从模式映象到内模式,确定应读入哪些物理记录以及相应的地址信息5.DBMS向操作系统(OS)发出从指定
23、地址读取物理记录的命令6.OS执行读命令,按指定地址从数据库把记录读入DB的系统缓冲区,并在操作结束后向DBMS作出回答7.DBMS将读入DB的系统缓冲区中的数据转换成概念记录、外部记录611.3 数据库管理系统(DBMS)8.DBMS把导出的外部记录从系统缓冲区送到应用程序A的变量区中9.DBMS向运行日志数据库写入读一条记录的信息,以备以后查阅使用数据库的使用情况10.DBMS将读记录操作成功与否信息返回程序A11.应用程序A根据返回的状态信息决定是否使用程序变量区中的数据62习题n1.数据库管理系统的保护功能中,不包括的是()n A.控制数据冗余 B.并发控制 n C.完整性保护 D.故
24、障恢复n2.数据库管理系统(DBMS)通常提供_、数据操纵、数据控制和数据库维护。答案:1、A 2、数据库的定义631.4 数据库系统n1.4.1 数据库系统(DBS)的组成n数据库系统:n采用了数据库技术的计算机系统,可以实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软件,硬件和数据资源组成的系统.n数据库系统是数据库、硬件、软件和用户的集合体。641.4 数据库系统-数据库n它是数据库系统的工作对象,数据库由DBMS处理;n数据库包含:用户数据,元数据,索引和应用数据n用户数据:大多数数据库把用户数据表示为关系,可以简单地把关系看作数据表;n元数据:数据库是自描述的,它自身包
25、含了它的结构的描述,这种关于结构的描述称为元数据;n索引:用于改进数据库的性能和可访问性,可以用来排序,快速访问数据;651.4 数据库系统-数据库n应用元数据:用来存储用户表格,报表,查询和其他形式的应用组件,一般不直接访问应用元数据.661.4 数据库系统-用户n存在一组使用数据库的用户,即指存储、维护和检索数据的各类请求,主要由四类用户n1.最终用户(End User)n是指从计算机联机终端存取数据库的人员n2.应用程序员(Application Programmer)n是指负责设计和编制应用程序的人员n使用高级语言编写应用程序,以对数据库进行存取操作n3、专业用户:数据库设计中的上层人
26、士(系统分析员)671.4 数据库系统-用户n3.数据库管理员(Date Base Administrator)DBAn主要职责:n监控DB的运行(是否正常运行及运行效率)n日常维护(后备/恢复,重组)n权限管理,确保DB的完整性与安全性。n文档管理。n参与DB的设计(概念模式定义和内模式定义)。681.4 数据库系统-软件n主要是指负责数据库存取、维护和管理的软件系统,通常叫做数据库管理系统(Data Base Management System)(DBMS)n数据库系统的核心软件;nDBMS是位于用户与操作系统之间的一层数据管理软件;n数据库系统的各类用户对DB的各种操作请求,都是由DBMS完成的,包括DB的建立、查询、更新及各种数据控制。691.4 数据库系统-硬件n是指存储数据库和运行数据库管理系统(操作系统)的硬件资源n足够大的内存n足够大的外存n足够大的通道能力701.4 数据库系统层次结构图硬件硬件操作系统操作系统DBMS应用软件开发工具应用软件开发工具应用系统应用系统71习题一:1.试述数据库、数据库管理系统、数据库系统三个概念的含义及联系。72