大学计算机基础(第六版)课件 06数据库技术基础_第1页
大学计算机基础(第六版)课件 06数据库技术基础_第2页
大学计算机基础(第六版)课件 06数据库技术基础_第3页
大学计算机基础(第六版)课件 06数据库技术基础_第4页
大学计算机基础(第六版)课件 06数据库技术基础_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

第6章数据库技术基础01数据管理技术概述02数据模型03数据库系统的体系结构04关系数据库Contents目录05关系数据库语言SQL06数据库设计07数据库新技术01数据管理技术概述在系统地学习数据库技术之前,下面先了解数据管理技术分发展。计算机数据管理发展阶段:

1、人工管理

2、文件系统

3、数据库系统

6.1.1数据管理技术的由来和发展1.人工管理这一时期计算机数据管理的特点是:数据不保存。数据只在计算时将数据输入,计算结束后即将结果数据输出。数据不共享。数据是面向应用的,一组数据只对应一个程序。程序与程序之间存在大量的重复数据,称为数据冗余。数据不具有独立性。数据面向程序,依赖于程序。依靠应用程序来管理数据。6.1.1数据管理技术的由来和发展1.人工管理阶段人工管理阶段,应用程序和数据之间的关系:6.1.1数据管理技术的由来和发展应用程序1应用程序2应用程序n……数据集1数据集2……数据集n2.文件系统阶段这一时期计算机数据管理的特点是:数据以“文件”形式长期保存。数据共享性差,冗余度大。文件系统中的数据文件是为了特定业务需要而设计的,服务于某一特定应用程序。。数据独立性差。数据还是一定程度上依赖于应用程序。6.1.1数据管理技术的由来和发展2.文件系统文件系统阶段,应用程序和数据之间的关系:文件系统应用程序2应用程序n……数据文件1数据文件n数据文件2……应用程序16.1.1数据管理技术的由来和发展3.数据库系统数据库系统,应用程序和数据之间的关系:数据库管理系统应用程序n……应用程序1数据库6.1.1数据管理技术的由来和发展数据结构化数据共享性高,数据冗余减少数据处理独立性高数据统一管理和控制6.1.2数据库系统的特点1、数据库(DB)数据库是指长期存储在计算机内的、有组织的、可共享的数据的集合。2、数据库管理系统(DBMS)DBMS是位于用户与操作系统之间的一层数据管理软件。其主要功能包括:数据定义功能,数据操纵功能,数据组织、存储和管理功能,数据库的事务管理和运行管理。目前,常见的数据库管理系统有:Access、Oracle、SQLServer、MySQL、Sybase、DB2等。6.1.3数据库常用概念3、数据库应用系统(DBAS)数据库应用系统是指系统开发人员利用数据库系统进行开发的面向某一类实际应用的软件系统。例如,教务管理系统、图书管理系统、财务管理系统、人事管理系统、生产管理系统等。6.1.3数据库常用概念4、

数据库系统相关人员分三类人员:数据库管理员、应用程序开发人员和用户。数据库管理员是数据库系统中的专门人员或管理机构,负责监督和管理数据库系统。应用程序开发人员是开发数据库应用系统的人员,可以使用数据库管理系统的所有功能。用户指通过数据库应用系统的用户接口使用数据库的最终用户。6.1.3数据库常用概念5、数据库系统(DBS)DBS是实现有组织、动态存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的人-机系统。一般由5部分组成:硬件系统、数据库、数据库管理系统、数据库应用程序和数据库相关人员。6.1.3数据库常用概念02数据模型数据模型是数据库系统的核心和基础,了解数据模型的基本概念是学习数据库的基础。目前广泛使用的数据库系统大都是基于某种数据模型的。数据模型的作用是将现实世界的事物反映到计算机数据库中的物理世界。从客观现实到计算机的描述的转换过程如图:6.2.1数据模型的基本概念机器实现数据转换认识抽象用户需求概念模型DBMS支持的数据模型现实世界信息世界计算机世界物理模型数据模型的3个部分:数据结构:描述数据库的组成对象以及对象之间的联系,描述数据的类型、内容、性质及数据间的联系等。

数据操作:描述数据结构上的操作类型与操作方式。

数据约束:描述数据结构内数据间的语法、语义联系,它们之间的制约与依赖关系,以及数据动态变化的规则,以保证数据的正确、有效与相容。6.2.1数据模型的基本概念根据模型应用的目的不同,数据模型分成3种:(1)概念数据模型简称概念模型,它是一种面向客观世界、面向用户的模型,与具体的数据库管理系统和计算机平台无关。目前,常见的概念摸型有E-R模型、扩充的E-R模型、面向对象模型及谓词模型等。(2)逻辑数据模型又称数据模型,它提供了表示和组织数据的方法,描述的是数据的逻辑结构。常见的有层次模型、网状模型、关系模型、面向对象模型等。(3)物理数据模型又称物理模型,它是是对最底层数据的抽象,描述数据在计算机系统内部的表示方法和存储方法。6.2.1数据模型的基本概念1、基本概念(1)实体、实体集客观存在并相互区别的事物称为实体(Entity)。实体可以是实际的人、事、物,也可以是抽象的概念或联系。例如,银行客户、学生、老师,这些属于具体事物实体;银行账户,学生借阅图书等属于抽象事物实体。具有共性的实体可组成一个集合称为实体集。例如,全体学生就是一个实体集。6.2.2E-R模型(2)属性、码和实体型实体所具有的某一特性称为属性。例如,学生实体用学号、姓名、性别、出生日期、班级、入学时间等属性来描述。唯一标识实体的属性集称为码。例如,学号是学生实体的码,课程号是课程实体的码。具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性集合来抽象和描述同类实体,称为实体型。6.2.2E-R模型例如,学生(学号,姓名,性别,出生日期、班级,入学时间)就是一个实体型;全体学生就是一个实体集;(202312341101,王娟,女,200501,01,2023)表示某位学生;学号可作为码。6.2.2E-R模型(3)联系一对一联系例如,如果班级和班级导师之间的联系,一个班级和一个班级导师相互是一一对应的,记为l:l。一对多联系例如,班级与班内学生之间的联系,一个班级内有多位学生,记为1:N。多对多联系例如,学生和课程之间的联系,一个学生可以选修多门课程,一门课程可以被多位学生选修,记为M:N。6.2.2E-R模型2.E-R图矩形表示实体、椭圆表示属性、菱形表示联系6.2.2E-R模型N

M

学生

班级入学时间课程

课程号课程名学分

选课出生日期成绩图6-5E-R图实例学号姓名

性别

先修课号

层次模型是数据库系统中最早出现的数据模型,它用树状结构表示各类实体以及实体间联系。层次模型具有如下特征:6.2.3逻辑数据模型(1)有且仅有一个结点,没有父结点,它就是根结点;(2)除了根节点,其它结点有且仅有一个父结点。不能表示多对多的关系祖父爸爸我弟弟哥哥叔叔根结点兄弟结点叶结点叶结点叶结点图6-6层次模型示例用网状结构表示各类实体以及实体间的联系的数据模型称为网状数据模型。网状数据模型的特征如下:(1)一个结点可以有多于一个的父结点。(2)可以有一个以上的结点没有父结点。6.2.3逻辑数据模型专业学生课程教师班级教研室图6-7网状模型示例院系用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。在关系数据模型中,操作的对象和结果都是二维表,这种二维表就是关系。6.2.3逻辑数据模型学号姓名性别出生日期班号202312341101王娟女2005-1-3001202212561105刘硕男2004-1-1502202132341210周鹏男2003-5-0603需要满足以下条件:(1)二维表中的每个属性值是不可再分的最小数据项,即表中不允许有子表。(2)二维表中的每一列(属性)是类型相同的数据。(3)二维表中不允许出现相同的属性名。(4)二维表中不允许出现相同的行(元组)。(5)二维表中的行、列顺序可以任意交换。6.2.3逻辑数据模型学号姓名分项成绩总成绩平时成绩上机成绩期末成绩202312341101王娟85909089表6-2不符合要求示例——成绩表03数据库系统的体系结构数据库系统内部的体系结构上采用三级模式与两级映射6.3数据库系统的体系结构概念模式(概念数据库)外模式2(用户数据库)内模式(物理数据库)数据库应用n外模式-概念模式映射概念模式-内模式映射应用2应用1外模式n(用户数据库)外模式1(用户数据库)………(1)外模式,也称子模式或用户模式是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。(2)概念模式,也称为逻辑模式是数据库系统中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。概念模式为全局模式,而外模式为局部模式,一个数据库只有一个概念模式,但可以有若干个外模式。6.3.1三级模式(3)内模式又称物理模式是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。内模式对一般用户是透明的,但它的设计直接影响数据库系统的性能。6.3.1三级模式外模式到概念模式的映射外模式是用户的局部模式,而概念模式是全局模式。对应一个概念模式可以定义多个外模式,而每个外模式只是概念模式的一个视图。这种映射一般是由DBMS实现。保证了数据与程序的逻辑独立性。6.3.2两级映射概念模式到内模式的映射该映射给出了数据的全局逻辑结构到物理存储结构间的对应关系。这种映射一般也由DBMS实现,保证了数据与程序的物理独立性。6.3.2两级映射04关系数据库关系数据库系统是支持关系模型的数据库系统,关系模型已经成为当今主流的数据模型。(1)关系:一个关系就是一张二维表,每个关系有一个关系名。(2)属性:表中的一列就是一个属性,也称为字段。

(3)域:属性的取值范围。(4)元组:关系中的一行数据就是一个元组,也称为记录。6.4.1关系数据结构(5)分量:元组中的一个属性值称为元组的一个分量,即行列交叉的值。(6)关系模式:对关系的描述称为关系模式,它对应一个关系的结构。其格式为:关系名(属性1,属性2,……,属性N)如:“学生”关系表的关系模式为:学生(学号,姓名,性别,班号)6.4.1关系数据结构(7)主关键字:若关系某一最小属性组的值能够唯一标识一个元组,则称该属性组为候选码或候选关键字。若一个关系中有多个候选码,则从中选择一个作为主码或主关键字,简称为主键。(8)外部关键字:如果关系R中的属性A是关系S中是的主键,那么属性A在关系R中就称为外部关键字,简称为外键。

6.4.1关系数据结构1、传统的集合运算包括并(∪)、差(-)、交(∩)、广义笛卡儿积(×)4种2、专门的关系运算包括选择、投影、连接和除运算6.4.2关系运算关系表R和S的并运算将产生一个包含R、S中所有不同元组的新关系表(消除重复元组),记作:R∪S。要求:R和S必须有相同的属性,并且对应属性有相同的域并运算ABCa12b21c31ABCd32a12ABCa12b21c31d32RSR∪S关系表R和S的差运算将产生一个包含所有属于R但不属于S的元组成的新关系表,记作:R-S。要求:R和S必须有相同的属性,并且对应属性有相同的域差运算ABCa12b21c31ABCd32a12RSR-SABCb21c31关系表R和S的交运算将产生一个包含属于R而且也属于S的元组组成的新关系表,记作:R∩S。要求:R和S必须有相同的属性,并且对应属性有相同的域。交运算ABCa12b21c31ABCd32a12RSR∩SABCa12关系表R和S的笛卡尔积将产生一个包含R中每个元组与S中每个元组连接组成的新关系表。记作:R×S笛卡尔积运算ABCa12b21c31ABCd32a12R(m)S(n)R.AR.BR.CS.AS.BS.Ca12d32a12a12b21d32b21a12c31d32c31a12R×S(m*n)从一个关系表R中找出满足条件F的元组的操作称为选择,是对关系的元组进行筛选。记作σF(R),F是选择条件选择运算学号姓名性别班号202312341101王娟女01202212561105刘硕男02202132341210周鹏男03表6-3

学生σ性别=‘男’(学生)表6-8选择运算学号姓名性别班号202212561105刘硕男02202132341210周鹏男03从一个关系表R中选出若干属性列组成新的关系表称为投影,是对关系的属性进行筛选。记作∏A(R)。A为关系R的属性列表,各个属性以逗号分隔投影运算表6-9投影运算π学号,姓名,性别(学生)学

号姓

名性别202312341101王娟女202212561105刘硕男202132341210周鹏男学号姓名性别班号202312341101王娟女01202212561105刘硕男02202132341210周鹏男03表6-3

学生

连接运算连接运算学号姓名性别班号202312341101王娟女01202212561105刘硕男02202132341210周鹏男03表6-3

学生表6-4班级班号班级名班级导师01计231-1陈建国02数221-1刘鹏03机211-2邓志勇04外222-1赵静学号姓名性别学生.班号班级班号班级班级导师202312341101王娟女0101计231-1陈建国202212561105刘硕男0202数221-1刘鹏202132341210周鹏男0303机211-2邓志勇

学生

班级学号姓名性别班号班级班级导师202312341101王娟女01计231-1陈建国202212561105刘硕男02数221-1刘鹏202132341210周鹏男03机211-2邓志勇设关系表R除以关系表S的结果为关系表T,则T包含所有存在于R中但不存在于S中的属性及其值,且T的元组和S的元组的所有组合都在R中。记作:R÷S或R/S除运算ABCDa122b213C311d125BC12ADa2d5RSR÷S1.实体完整性(对主键的约束)主键不能取空值或重复的值2.参照完整性(对外键的约束)参照完整性是指关系中的外键和主键之间依赖关系的完整性约束“班号”在“学生”关系表中为外键,在“班级”关系表中为主键,则“学生”关系表中的“班号”可以取空值(表示学生尚未选择某个院),或者取“班级”表中已有的一个班号值。6.4.3关系的完整性3.用户定义的完整性(对任意字段)比如,“成绩”关系表中的“成绩”采用百分制整数,取值范围为0~100。6.4.3关系的完整性05关系数据库语言SQLSQL已成为数据库领域中的主流语言,意义重大。1974年,Boyce和Chamberlin提出SEQUEL,后来简称为SQL。1986年10月,美国国家标准协会批准SQL作为关系数据库语言的美国标准。1987年国际标准化组织将SQL采纳为国际标准。6.5.1SQL的产生和发展数据定义语言(DDL):用于定义数据库的模式、基本表、视图等结构。数据操纵语言(DML):用于实现对数据的查询、插入、删除和修改等操作。数据控制语言(DCL):用于对基本表和视图的授权、完整性规则的描述、事务控制等。嵌入式SQL语言的使用规定:确定将SQL语句嵌入到主语言程序中的规则。6.5.2SQL的组成其主要特点:综合统一高度非过程化面向集合的操作方式以同一种语法结构提供命令和嵌入两种使用方式语言简洁,易学易用6.5.3SQL的特点(1)数据定义:创建数据库或表Create,删除数据库或表Drop,修改表的列或主键Alter;(2)数据查询:从表中查询数据Select;(3)数据操纵:插入记录Insert,修改记录Update,删除记录Delete;(4)数据控制:授予用户对数据库对象的访问权限Grant,取消授权Revoke。只用9个命令就可完成4大类功能06数据库设计本节以基于关系数据库管理系统的关系数据库的设计为例,讨论数据库设计(即前4个阶段)的设计内容、设计方法和工具等。数据库的设计和开发是指数据库应用系统从设计、实施到运行和维护的全过程,也属于一个软件系统的设计开发过程。仿照软件生存期的概念,数据库系统的生存期划分为以下几个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。6.6数据库设计需求分析的任务数据结构分析:分析各种数据的结构,主要是指用户方的业务数据。数据定义分析:针对需求,确定需要定义哪些数据库主要内容。数据操纵分析:确定用户那哪些数据需要增删查改(数据完整性控制)。数据安全分析:哪些数据可以被哪些角色用户操作,数据加密存储等。数据完整性分析:数据的约束,数据之间,用户表关系之间的约束等。并发处理分析:分析数据并发处理的需求和可能性。6.6.1需求分析数据字典是各类数据描述的集合,而不是数据本身。它通常包括以下几部分:① 数据项,是数据的最小单位;② 数据结构,是若干数据项有意义的集合,反映数据之间的组合关系;③ 数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;④ 数据存储,是数据结构停留或保存的地方,也是数据流的来源和去向之一,可以是手工凭证、手工文档或计算机文档。⑤ 处理过程。6.6.1需求分析概念结构设计就是将需求分析得到的用户需求抽象为概念模型的过程,是整个数据库设计的关键。概念结构设计阶段,首先要对需求分析阶段收集到的数据进行分类,确定实体及其属性、实体间的联系,形成局部E-R图,然后将它们综合集成,得到全局E-R图。在E-R图的综合集成过程中,主要是合并各局部E-R图,并消除不必要的冗余。6.6.2概念结构设计任务:把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。1.从E-R图向关系模式转换(1)实体转换为关系模型(2)联系转换为关系模型若实体间的联系是1∶1,则可以与任意一端对应的关系模式合并。若实体间的联系是1∶n,则可以与“n”端对应的关系模式合并。若实体间的联系是m∶n,则可以把联系类型也转换成关系模式。6.6.3逻辑结构设计2.数据模型的优化——规范化进行规范化的依据是关系属性之间的函数依赖。函数依赖就是一个属性集依赖于其它的属性集,或者一个属性集决定其它的属性集。属性集Y依赖于属性集X,记为X→Y。第一范式(1NF):关系模式中的每个属性都是不可再分的最小数据项。第一范式是最基本的范式,都必须满足。比如:学生(学号,姓名,出生日期,班级,班级导师,课程号,课程名,成绩)满足第一范式6.6.3逻辑结构设计第二范式(2NF):如果关系模式R为第一范式,且R中每个非主属性完全函数依赖于R的某个候选键,则称其满足第二范式。如:学生(学号,姓名,出生日期,班级,班级导师,课程号,课程名,成绩)可以进行

温馨提示

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

评论

0/150

提交评论