数据库系统课件_第1页
数据库系统课件_第2页
数据库系统课件_第3页
数据库系统课件_第4页
数据库系统课件_第5页
已阅读5页,还剩593页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

第一章数据库概论

数据库技术已成为计算机科学与技术学科的一个重要分支第一章数据库概论

第一章数据库概论什么是数据库技术?

数据库技术是数据管理的最新技术,研究数据库的结构、存储、管理和使用

数据库技术巳是现代计算机信息系统和计算机应用系统的基础和核心

产品:Oracle、DB2、Sybase、Informix、SQLServer、

Foxpro、Access都是数据库管理系统

数据库的规模、性能、信息量大小、使用频度已成为衡量一个国家信息化程度的重要标志用户:借阅图书、存取款、购票、上WWW、全球通、…后台:MIS、OIS、GIS、CIMS什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

--对该数据所属类型的描述数据有可施加的操作数据有语法

语义数据有逻辑结构

物理结构数据有型

值1.1引言

一、数据和信息

第一章数据库概论1.1引言信息是关于现实世界事物存在方式或运动状态的反映

数据是对事物描述的符号记录,它描述事物中人们所感兴趣的特征,它能被计算机识别、存储和处理。是信息的载体。

--型的一个实例--数据的含义--数据的格式--数据及其联系在计算机内的表示(存储结构)--反映数据之间的联系-在逻辑结构上定义,在存储结构上实现什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

1.2数据库的由来和发展

一、人工管理阶段

第一章数据库概论1.2数据库的由来和发展数据存储介质:

软件技术:

用途:

特点:

20世纪50年代中期前

磁带、卡片、纸带

机器语言、汇编语言

科学计算

数据不保存在计算机内无专用软件对数据进行管理数据面向程序,数据不共享

应用程序完全依赖于数据,数据不独立

只有程序概念,没有文件概念

第一章数据库概论1.2数据库的由来和发展二、文件系统阶段

数据存储介质:软件技术:用途:思路:◆数据按内容和用途组织成若干个相互独立的文件

◆用文件系统管理数据,存取由OS提供支持20世纪50年代后期~60年代中期磁盘、磁鼓等直接存取设备高级语言、操作系统(OS)

科学计算、信息管理

第一章数据库概论1.2数据库的由来和发展例如:图书馆文件管理系统

*OS只提供文件的打开、关闭、读、写,用程序实现增、删、改*文件结构变→应用程序变(独立性差)

。*应用程序功能重复(查F2)。*文件的设计和划分难,数据冗余→浪费存储空间,造成数据不一致*一般不支持对文件的并发访问。读者文件应用程序→

A1A3书目文件出借文件A2A4F1F3F2图书借阅读者增删改催还通知新书入库

第一章数据库概论1.2数据库的由来和发展◆对数据的操作以记录为单位,文件操作由程序实现◆数据面向应用,数据独立性差◆数据可长期保存在外存上

◆文件组织多样化,但文件之间相互独立、缺乏联系文件系统特点:

◆数据的逻辑结构与物理结构有了区别,有设备独立性

◆数据冗余

◆数据联系弱文件系统缺陷:

◆数据不一致

第一章数据库概论1.2数据库的由来和发展三、数据库系统阶段20世纪60年代末期~大容量、快速存取磁盘、光盘

数据库管理软件(DBMS)

信息管理↘(MIS、OIS、CAD、CAM、CIMS、GIS、电子商务等)数据存储介质:

软件技术:

用途:

思路:◆数据由数据库管理系统(DBMS)软件统一管理◆采用复杂的数据模型组织、描述和存储数据

第一章数据库概论1.2数据库的由来和发展年代研究成果名称研制者意义1963IDS(IntegratedDataStore)美国通用电气公司C.W.Bachman等第一个DBMS73年获图灵奖1968IMS(InformationManagementSystem)美国IBM公司和Rockwell公司合作第一个实用数据库管理系统(里程碑1)1969数据库建议书(数据描述语言DDL)(数据操纵语言DML)美国数据系统语言委员会的数据库任务组DBTG提供了网状数据库完整的系统设计和语言规范(里程碑2)1970论文(ARelationalModelofDataforSharedDataBanks)IBM公司SanJose研究所的E.F.Codd提出关系模型,为关系数据库的开发奠定了理论基础(里程碑3)1981年获图灵奖类型网状数据库层次数据库网状数据库关系数据库产生过程:↘

第一章数据库概论1.2数据库的由来和发展特点:◆

采用数据模型表示复杂的数据结构◆为用户提供方便的用户接口:非过程的、过程的主要特征:实现了数据的集中管理和数据的共享与文件系统根本区别:通过所有存取路径表示自然的数据联系◆增加了系统的灵活性◆

数据独立性较高

数据独立性——应用程序与数据库的数据结构之间相互独立P8◆具有数据库保护功能数据库的并发控制、数据库的恢复、数据的完整性、数据安全性

◆共享性好

第一章数据库概论1.2数据库的由来和发展四、高级数据库技术阶段20世纪80年代~1.分布式数据库系统2.对象数据库系统3.开放数据库互联技术特点:◆数据物理上分布,逻辑上是一个整体

◆各场地既局部自治,又支持全局应用

◆各地计算机由数据通信网络相联系集中管理、分布处理特点:◆对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归的联系

◆封装性、继承性提高了软件可重用性中间件:是网络环境中保证不同的操作系统、通信协议和

DBMS之之间进行对话、互操作的软件系统。屏蔽复杂性。如:ODBC、JDBC

第一章数据库概论1.2数据库的由来和发展数据库技术的发展阶段(三个)阶段年代主流产品功能特征新成果第一阶段20世纪70年代以网状和层次数据库为代表的第一代数据库系统集中控制与数据共享关系DB原型SystemR和Ingres

第二阶段

20世纪80年代关系数据库为代表的第二代数据库•Oracle、SybaseInformix•dBASE、Foxpro•集中控制与数据共享•较高的数据独立性•高级的非过程语言接口分布式DB第三阶段20世纪80年代未开始以面向对象数据库为代表的第三代数据库处理非常规数据(图形、图像、声音、时态、空间)•O-RDBMS•OO数据模型•基于逻辑的数据模型*

第一、二代DBS称为传统数据库,以处理常规数据和事务数据为主*

90年代数据库新的应用不断出现:数据仓库/联机分析处理/数据挖掘什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

是一个单位或组织需要管理的全部数据的集合

数据按一定的数据模型组织、描述和存储

一、数据库(DataBase→DB)

数据库是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB具有能为各种用户共享,具有较小冗余度、数据间联系紧密又有较高数据独立性等特点。

第一章数据库概论1.3数据库、数据库管理系统与数据库系统定义1.3数据库、数据库管理系统与数据库系统定义

第一章数据库概论1.3数据库、数据库管理系统与数据库系统定义二、数据库管理系统(DataBaseManagementSystem→DBMS)

数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问

DB的方法,包括DB的建立、查询、更新及各种数据控制数据库中的数据由DBMS统一管理,数据库的创建、运行和维护在DBMS的控制下实现。DBMS总是基于某种数据模型。DBMS产品必须提供一些基本功能用户DBMSOSDB

第一章数据库概论1.3数据库、数据库管理系统与数据库系统定义三、数据库系统

(DBS—DataBaseSystem)数据库系统是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软、硬件和数据资源组成的系统,即它是采用数据库技术的计算机系统。什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

第一章数据库概论1.4数据模型1.4数据模型(DataModel)一、数据模型的定义①数据模型--是用来描述数据的一组概念和定义,

是对现实世界数据特征的抽象②能表示实体类型及实体间联系的模型称为“数据模型”2.对现实世界的抽象

现实世界中的具体事物→计算机可处理的数据

现实世界中的具体事物==>

某一DBMS支持的数据模型1.定义(2)对现实世界的两层抽象现实世界

信息世界概念数据模型

数据世界DBMS支持的数据模型认识抽象

现实世界中事物的抽象过程物理数据模型逻辑数据模型

第一章数据库概论1.4数据模型转换

第一章数据库概论1.4数据模型客观世界中的问题域:学生选修课程个体:学生课程联系:选修概念模型用ER图表达逻辑模型用关系模型表达STUDENT(SNO,SNAME,SEX)SC(SNO,CNO,GRADE)COURSE(CNO,CNAME,CREDIT,PCNO)物理模型用Oracle或SQLServer或其它关系数据库产品来实现概念数据模型――面向客观世界,面向用户,与DBMS无关的数据模型。例如:E-R模型、扩充的E-R模型逻辑数据模型――用户从数据库所看到的模型,与

DBMS有关,既面向用户又面向实现。反映数据的逻辑结构(文件、记录等)例:网状的、层次的、关系的、面向对象

有三个要素,提供数据库语言物理数据模型――反映数据存储结构(物理块、指针、索引等)的数据模型,不仅与DBMS有关,还与操作系统和硬件有关。

主要用于数据库设计用于DB设计DBMS实现

第一章数据库概论1.4数据模型1)DBMS通常按所采用的逻辑数据模型来分类常用的逻辑数据模型:层次模型、网状模型、关系模型2)概念模型表示的数据=>逻辑模型表示的数据=>DBMS中实现↓层次数据库↓网状数据库↓关系数据库说明:

第一章数据库概论1.4数据模型*两类:查询、更新(插入I、删除D、修改U)*数据模型要为这些操作定义确切的含义、操作规则和实现操作的语言――数据的基本结构、数据间的联系和数据中的约束――定义在数据上的操作3.数据模型的基本组成

数据模型描述数据的:(2)动态特性(1)静态特性逻辑数据模型的三要素:

数据结构数据操作

数据完整性约束――对实体类型和实体间联系的表达和实现

――指对数据操作的实现

――数据及其联系应具有的制约和依赖规则是一组完整性规则的集合*在数据库系统中通常按照数据结构的类型来命名数据模型。

第一章数据库概论1.4数据模型

4.数据模式(补充)

(1)数据模式(DataSchema)

是用给定的数据模型对具体数据的静态特性的描述

(2)数据模式与数据模型的关系

数据模型是描述数据的手段(程序设计语言)

数据模式是用数据模型对一个单位的模拟(程序)

数据模式仅是数据模型中有关数据结构及其相

互关系、约束的描述

第一章数据库概论1.4数据模型二、实体-联系模型(E-R数据模型)概念模型:

◆是数据库设计人员进行数据库设计的重要工具

◆是数据库设计人员和用户之间进行交流的语言

◆直接模拟现实世界、直观、自然、易理解

◆广泛使用的是E-R数据模型(Entity-Relationshipdatamodel)

第一章数据库概论1.4数据模型P.P.Chen于1976年提出目的:

(1)建立一个统一的数据模型,以概括三种传统的数据模型(2)作为三种传统的数据模型互相转换的中间模型(3)作为超脱DBMS的一种概念数据模型以自然而有效的方式模拟现实世界E-R数据模型用了三个抽象概念

1.E-R模型的基本概念

1)实体实体(Entity)――

客观存在的且可以区别的事物具体事物抽象概念实体集(EntitySets)――具有相同性质的实体的集合也称实体类型学生的集合→学生实体集Es

全体教师→教师实体集Et

所有课程→课程实体集Ec有生命无生命――>某位学生、教师,某门课――>爱好

第一章数据库概论1.4数据模型2)联系(Relationship)、联系集或联系类型联系(Relationship)――实体集之间关系的抽象表示

例如:Es与Ec之间的“选课”联系联系的类型:二元联系、多元联系、自反联系

Et与Ec之间的“任课”联系Et与Es之间的“教学”联系

第一章数据库概论1.4数据模型例如:(1)工厂与厂长(2)公司与职工(3)教师与学生(a)二元联系--只有两个实体集参与的联系,包括:

1:1联系:E1中的每个实体至多与E2中的一个实体有联系,反之亦然

1:n联系:E1中每个实体与E2中任意个实体(包括零个)相联系,而E2中每个实体至多和E1中一个实体有联系m:n联系:E1、E2中的每一个实体都和另一个实体集中任意个实体(包括零个)有联系1:1m:n1:n

第一章数据库概论1.4数据模型(b)多元联系――

是参与联系的实体集的个数≥3的联系也可以区分为1:1、1:n和m:n三种例如:学生书店图书

m:n:p(c)自反联系――

是同一实体集内两部分实体之间的联系也可以区分为1:1、1:n和m:n三种例如:实体集“人”中夫与妻

1:1是一种特殊的二元联系

思考:职工实体集中领导与普通职工是什么联系?

第一章数据库概论1.4数据模型•

每个属性值都有一定的变化范围,称为属性的域(Domain)

3)属性(Attribute)――实体或联系所具有的特征

一个实体集(或联系集)可有若干个属性,在数据库设计中只选需要的属性例如:

成绩属性域――>0~100性别属性域――>男、女

第一章数据库概论1.4数据模型↓空缺符(属性值未知)

属性值可以是:单值,多值,NULL↓年龄

↓所获学位

不能再细分的属性称为原子属性通信地址街区地址市省邮编街名号码公寓号码•

属性可以是单域的简单属性或多域的组合属性

第一章数据库概论1.4数据模型

实体键:

能唯一标识实体的属性或属性组学号,姓名,性别,…

?实体键学号也称:实体标识符――>E-R数据模式

2.E-R图(E-RDiagram)

对一个单位用E-R数据模型模拟E-R数据模式用图形表示――>E-R图

表示方法:

实体集――>矩形框,框中标明实体集名•

联系――>菱形框,框内标明联系名

属性――>椭圆•

相关图形间用无向边连接,在联系与实体集的连线上要标明联系类型(如:1:n等),在实体标识符下画线

可以使用略去了属性的E-R简图来突出各实体集之间的联系学生课程选课学号nm

第一章数据库概论1.4数据模型(1)画出实体(2)画出联系(3)写出属性(4)连线(5)标出联系类型(6)标出实体键

第一章数据库概论1.4数据模型例1:用E-R图描述学校与教师实体集及其联系聘任日期聘任教师学校地址名称学校代码性别职称教师编号姓名1n例2:几个E-R简图二元联系E-R简图系部教师聘任1n校长学校负责11课程教师讲授nm自反联系E-R简图人夫妻11课程先修nm项目供应商供应mp零件n三元联系

第一章数据库概论1.4数据模型补充:抽象方法•

对现实世界进行抽象时,实体、联系和属性的区分不是绝对的•

某个具体的数据对象确定为实体、联系或属性,取决于应用背景和用户观点•

通常实体――>需求描述中的名词(需再被描述)

属性――>需求描述中的名词和形容词

联系――>需求描述中的动词说明:E-R数据模型只描述了数据的静态特性

第一章数据库概论1.4数据模型课堂练习某图书管理数据库系统拟管理图书信息,读者信息和借阅情况。图书有图书编号、书名、作者、出版单位等信息;读者有借书证号、姓名等信息;对读者的每次借阅都登记借阅日期。每本图书的编号唯一,每位读者的借书证号唯一。每位读者可借多种图书,每种图书可被多个读者借阅。请为该系统画E-R图。(注:答案均用中文描述)

第一章数据库概论课堂练习习题一1、解释DB,DBMS,DBS三个概念。2、何为数据模型,有哪几种(级)数据模型,各自的特点和作用是什么?何为数据模式?

第一章数据库概论习题一什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

第一章数据库概论1.5数据库的体系结构1.5数据库的体系结构(从DBMS来看)一、数据库的三级体系结构一个数据库结构从逻辑上划分为三个层次

•外模式(ExternalSchema)

•概念模式(ConceptualSchema)

•内模式(InternalSchema)

用户11用户1i用户n1

用户njDB外部级(单个用户的视图)概念级(全局视图)内部级(存储视图)

外模式1

外模式n

逻辑模式

内模式

外模式/模式映象模式/内模式映象

第一章数据库概论1.5数据库的体系结构三级体系结构概念模式――是数据库中全局数据的整体逻辑结构的描述。用逻辑数据模型。二、体系结构中的五个要素

第一章数据库概论1.5数据库的体系结构•

简称模式

一个数据库只有一个概念模式

不涉及物理存储、硬件环境、应用程序、程序设计语言•

概念模式设计是数据库设计的基本任务,当定义数据库的层次结构时,应首先定义概念模式•

由DBMS提供的模式定义语言(模式DDL)来定义和描述•

由概念记录组成,也包括:记录间的联系/完整性/安全性•

是DB所有用户的公共数据视图,是装配数据的结构框架

比如:createtable…语句

外模式――是用逻辑数据模型对用户用到的数据的描述是用户与数据库系统的接口•

是数据库的用户视图,用户与DB的接口•

一个数据库可以有多个外模式•

是概念模式的一个逻辑子集或由概念模式推导而来

由DBMS提供的外模式定义语言来定义和描述

也称子模式或用户模式

第一章数据库概论1.5数据库的体系结构•

比如:createview…语句

第一章数据库概论1.5数据库的体系结构内模式――是对数据的物理结构和存储方式的描述,定义所有的物理记录类型、索引和文件的组织方式,以及数据控制方面的细节•

一个数据库只有一个内部模式•

对一般的数据库用户透明•

内模式的设计直接影响数据库的性能•

由DBMS提供的内模式定义语言(内模式DDL)来定义和描述•

也称存储模式

比如:索引createindex…语句簇集、分区等是一种对应规则,指出映象双方怎样进行转换

第一章数据库概论1.5数据库的体系结构模式/内模式映象―-用于定义概念模式和内模式之间的对应性

在概念级和内部级之间

一般在内模式中描述

外模式/模式映象―-用于定义外模式与概念模式之间的对应性/命名、组成等

在概念级和外部级之间

一般在外模式中描述当需要改变内模式(比如选用了另一种存储结构)时,可由DBA对逻辑模式/内部模式映象作相应改变,使逻辑模式保持不变,从而外模式不变,应用程序也不变

说明:数据库的三级模式结构是一个理想的结构,在目前现有的DBMS商品软件中,不同系统的数据独立性程度不同。三、两级数据独立性pp.25逻辑独立性――应用程序独立于逻辑模式的变化当需要改变逻辑模式时(增加新的关系、属性等),由DBA对各个外模式/逻辑模式映象作相应改变以保持外模式不变,从而不必修改或重写应用程序物理独立性――应用程序独立于内模式的变化逻辑数据独立性与物理数据独立性统称为数据独立性

数据独立性――应用程序和数据库的数据结构之间相互独立,不受影响

第一章数据库概论1.5数据库的体系结构•

外模式的作用

-简化了用户接口。用户无需了解数据的存储结构,只需按照外模式的规定编写应用程序或在终端上键入操作命令,便可实现所需的操作-有利于数据共享。可以从同一逻辑模式产生出不同的外模式,减少了数据的冗余度-有利于数据安全和保密。用户不易接触与己无关的数据,保密性好。同时使程序错误传播的范围缩小保证了其它数据的安全性。-保证数据的独立性。通过模式间的映象保证数据库数据的独立性。

第一章数据库概论1.5数据库的体系结构四、用户用户――使用数据库的应用程序或联机终端用户•

主语言:编写应用程序的高级程序设计语言也称宿主语言•

交互型DML:可自成系统,在终端上直接对数据库进行操作的DML•

嵌入型DML:可嵌入在主语言中使用的DML

第一章数据库概论1.5数据库的体系结构什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

第一章数据库概论1.6数据库管理系统1.6数据库管理系统(DBMS)pp.27DB物理数据库DBMS

操作系统(OS)用户DBMS是DBS中对数据进行管理的软件系统,是DBMS的核心组成部分,是用户的应用程序与物理数据库之间的桥梁。用户对DB操作时:DBMS将操作从应用程序带入外部级→逻辑级→内部级,再通过OS操纵存储器上物理数据库中的数据。DBMS类似于一个操作命令解释器,又像一个向导

第一章数据库概论1.6数据库管理系统一、DBMS的工作模式(pp.26)1)接受应用程序的数据请求和处理请求2)将用户的数据请求转换成复杂的机器代码3)实现对数据库的操作4)从对数据库的操作中接受查询结果5)对查询结果进行处理6)将处理结果返回给用户应用程序DBMSDB数据请求低层指令数据(查询结果)数据(处理结果)对存储路径的选择应用程序数据库语言语句语法树执行计划与存取原语系统调用I/O命令磁盘并发控制存取机制恢复机制应用1语义分析和查询处理与优化(DDL、QL、DML、DCL)授权检查词法及语法分析器应用i………应用j应用n…接口m接口1操作系统是一些基本操作命令:打开、关闭文件,取一记录,建立索引。由存取机制执行。DBMS的执行单位是事务检查用户是否有权访问语法树中涉及的数据对象发生故障时使DB恢复到某个一致状态防止多用户并发访问数据库时引起数据不一致补充:解释执行的RDBMS的结构及处理过程:

第一章数据库概论1.6数据库管理系统DBMS是OS的用户,分配内存、创建或撤销进程、访问磁盘时需通过系统调用来请求OS的服务(1)

数据库定义(2)

数据库操纵二、DBMS的主要功能

外模式、逻辑模式、内模式、及模式间映象的定义;

数据库完整性定义;

存取路径等的定义

定义存储在数据字典中,是DBMS运行的基本依据

检索(查询)

更新(插入、删除、修改)

第一章数据库概论1.6数据库管理系统——DML实现过程性DML:做什么+怎么做(层次、网状)非过程性DML:做什么(关系)——DDL实现(3)数据库的保护(4)

数据库的维护

恢复——在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态

并发控制——在多个用户同时对同一个数据进行操作时,系统应能加以控制,防止数据库中数据被破坏

完整性控制——保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作

安全性控制——防止未经授权的用户存取数据库中的数据,以免数据的泄露、更改或破坏

数据载入、转换、转储、数据库改组、性能监控

由专门的实用程序完成(非核心部分)

第一章数据库概论1.6数据库管理系统(5)数据字典(DataDictionary):是数据库系统中存放三级结构定义的数据库

或:是一组关于DB中数据的数据

存放有关DB中数据的定义。

存放数据库运行时的统计信息。

对DB的操作都要通过DD来实现。

称数据字典中的数据为元数据(Meta-Data),组成数据字典文件的属性称为元属性。

是DBMS存取和管理数据的基本依据,主要由系统管理和使用。

管理数据字典的子系统称为“数据字典系统”

第一章数据库概论1.6数据库管理系统

第一章数据库概论1.6数据库管理系统三、DBMS的模块组成(自学)查询处理器数据库管理系统DDL编译器DML编译器嵌入式DML预编译器查询运行核心程序存储管理器权限和完整性管理器事务管理器文件管理器缓冲区管理器什么是数据库技术?1.1引言1.2数据库的由来和发展1.3数据库、数据库管理系统与数据库系统定义1.4数据模型1.5数据库的体系结构1.6数据库管理系统1.7数据库系统第一章数据库概论

第一章数据库概论1.7数据库系统1.7数据库系统(DBS)PP.29一、DBS的组成

DBS由数据库、硬件、软件和数据库管理员组成1.数据库:与一个企业组织各项应用有关的全部数据的集合包括:物理数据库——应用数据的集合,是DB主体描述数据库——各级数据结构的描述,由DD系统管理2.硬件包括:CPU、内存、外存、I/O设备等要求:足够内存 足够的磁盘等直接存取设备 较高的通道能力,提高数据传输速率支持联网的能力

第一章数据库概论1.7数据库系统3.软件包括:DBMS OS(支持DBMS运行的操作系统)

各种主语言(与DB有接口的高级语言及编译系统)

应用开发支撑软件(VB/Delphi/PB)

4.数据库管理员

定义:DBA是控制数据整体结构的一组人员,负责

DBS的正常运行,承担创建、监控和维护数据库结构的责任

第一章数据库概论1.7数据库系统主要职责:定义模式(逻辑模式)

定义内模式 与用户的联络:定义外模式/应用程序设计/培训 定义安全性规则,对用户访问数据库的授权 定义完整性规则,监督数据库的运行 数据库的转储与恢复

DBA的工具:实用程序→装载/重组/日志/恢复/统计分析

DD系统→整个系统的工作情况DBA的素质:熟悉/了解/系统分析员/业务/资历…补充:DBS组成的另一种定义

由数据库(DB)

数据库管理系统(DBMS)

应用程序数据库管理员(DBA)

第一章数据库概论1.7数据库系统第一章总结本章介绍了:◆数据管理的四个发展阶段和

◆数据库、数据库管理系统、数据库系统、数据独立性、共享性、冗余等概念◆DBS的特点

第一章数据库概论第一章总结◆数据模型的概念◆数据模型的三要素、三级别◆

概念模型及其三个抽象概念(实体、属性和联系)◆E-R图的画法

第二章关系模型和关系运算理论关系模型是当前的主流逻辑数据模型

首先由IBM公司的高级研究员E.F.Codd于1970年提出

应用广泛的原因:

单一的数据建模概念

坚实的数学理论基础

提供高级接口:数据库语言SQL

第二章关系模型和关系运算理论2.1关系模型的基本概念

2.1.1关系模型的数据结构

2.1.2关系的定义和性质

2.1.3关系模型的数据约束

2.1.4E-R模型向关系模型的转换

2.1.5关系模型的数据操作

2.1.6关系模型的三级模式和优点2.2关系代数2.3关系演算概述2.4关系代数表达式的优化第二章关系模型和关系运算理论2.1关系模型的基本概念

第二章关系模型和关系运算理论2.1关系模型的基本概念关系模型的定义:

用二维表格(table)表示实体集及其间联系,用关键码(或键)进行数据导航的数据模型关系数据模型属逻辑数据模型,具有三要素理论基础:集合论中的关系(Relation)概念:课程号课程名0001局域网0002数据库::学分23:开课时间春季秋季…

学号课号成绩984101000185:::学号姓名984101王一984102赵二::性别男女:出生日期1980/06/031981/04/28:…

第二章关系模型和关系运算理论2.1关系模型的基本概念E-R图学生课程选修mn成绩课号……学号学号课程号成绩9841010001859841020001902.1.1关系模型的数据结构

一、从用户的角度看关系数据库由二维表组成

第二章关系模型和关系运算理论2.1关系模型的基本概念每张二维表中的:(2)

一行对应一条记录

一列对应一个字段每个字段反映事物的一个特征每个字段都有字段名和字段值

2二.理论术语

关系数据库由关系组成

一个关系由一张二维表表示关系由元组(Tuple)组成,一个元组对应表中的一行(Row).

元组由属性组成,一属性一列(Clumn),属性有名/值.属性的取值范围(所有可取值的集合)――>属性域Domain(A).每个关系都有关系名.关系名及其各属性名――>关系模式(RelationSchema).关系中属性的个数――>关系的目或元数关系中元组的个数――>关系的基数

关系中各元组用关键字(Keyword—简称键)来标识.选课3

第二章关系模型和关系运算理论2.1关系模型的基本概念成绩:0-100选课(学号,课程号,成绩)说明:表与关系、元组与记录、属性与列/字段等术语可以通用学号课程号成绩984101000185984102000190选课(学号,课程号,成绩)主属性――包含在任何一个候选键中的属性

非主属性――不包含在任何一个候选键中的属性

例3:选课(学号,课程号,成绩)(2)候选键:不含多余属性的超键。

或:其值能唯一地决定关系中其它所有属性的值、而它的任何真子集无此性质的属性或属性组。三.键(Key)

――

数据间关系的描述(表内的、表间的)

第二章关系模型和关系运算理论2.1关系模型的基本概念(1)超键(SupperKey)

――其值能唯一地决定其它所有属性的值的属性集Y

?学号,姓名

――>例1:STUDENT(学号,姓名,性别,出生日期,籍贯)――>×

学号例2:STUDENT(学号,姓名,性别,出生日期,籍贯)候选键?

?学号,姓名

第二章关系模型和关系运算理论2.1关系模型的基本概念(3)主键

(PrimaryKey)

――用户选作元组标识的候选键,称为主键(PK),简称键

(4)候补键(AlternateKey)

――主键之外的候选键

例4:

设在STUDENT关系中,学生姓名唯一

则学号、姓名都为STUDENT的候选健

若定义学号为主键,则姓名就为候补健

(5)全键

――由关系的所有属性构成的主键

n例5:

SUPPLY(供应商,零件名,工程名)

项目供应mp零件供应商(6)外键(ForeignKey)

①如果模式R中的属性K是其它模式的主键,那么K

在模式R中称为外键,记做(FK)

。②不是本关系的键,却引用了其它关系或本关系的键的属性或属性组,记做(FK)

例6:

关系STUDENT(学号,姓名,性别,出生日期,籍贯)

关系COURSE(课程名,课程号,学分,开课时间,先修课号)

关系SC(学号,课程号,成绩)

PK学号PK课程号PK学号FK课程号FK*关系数据模型中实体间(表间)的联系是用外键隐含地表示的

第二章关系模型和关系运算理论2.1关系模型的基本概念思考:

第二章关系模型和关系运算理论2.1关系模型的基本概念

在关系COURSE(课程名,课程号,学分,开课时间,先修课号)

中先修课号是什么键,与课程号的关系如何

?

第二章关系模型和关系运算理论2.1关系模型的基本概念2.1.2关系的定义和性质二.性质

关系模型中属性无序(不同于集合)R(A1,A2)=R(A2,A1)

关系模型中元组无序•

关系中的每一个属性值都是不可分解的,即关系的属性域是原子数据的集合•

同一关系中不允许有相同元组

一.定义关系是一个属性数目(目)相同的元组的集合

有限关系:元组数目(基数)有限

第二章关系模型和关系运算理论2.1关系模型的基本概念语法上的规定:每个元组属性都取域中的值语义上的限制:完整性约束规则在对DB进行更新(I/D/U)操作时检查保证数据与现实世界的一致性关系模型有三类完整性规则:实体完整性规则(EntityIntegrityConstrain)参照(引用)完整性规则(ReferenceIntegrityConstrain)用户定义的完整性规则2.1.3关系模型的完整性约束

PP.41

第二章关系模型和关系运算理论2.1关系模型的基本概念一.实体完整性规则•

每个关系都应有一个主键•

每个元组的主键的值应当唯一•

主键值不能为NULL(主属性不为NULL)(1)作用:关系内的约束

(2)规定:关系SC

(学号,课程号,成绩)

↑↑

notnullnotnull

第二章关系模型和关系运算理论2.1关系模型的基本概念(1)作用:不同关系或同一关系的不同元组间的约束

二.参照完整性规则•外键要么引用实际存在的主键值,要么是NULL

即:不允许引用不存在的实体•几点说明:

①外键与主键只需值域相同,可不同名→注意SQL的书写

COURSE(课程号,…,先修课号)

②外键值是否为空,酌情而定→若为主属性则不可为空

SC

(学号,课程号,成绩)

③若属性集K是关系R2的外键,它引用关系R1的主键,则常称:R1为参照关系、主表、父表学生STUDENTR2为依赖关系、副表、子表选课SC④若引用本关系的键,则表示关系内不同元组间的联系(2)规定

第二章关系模型和关系运算理论2.1关系模型的基本概念三.用户定义的完整性规则说明:

各种DBMS产品对完整性约束的支持程度不同

数据库中完整性约束检查,由DBMS实现或由用户负责

(1)作用:和数据的具体内容有关的约束

(2)需显式说明:CHECK()子句、触发器、断言、过程…2.1.4E-R模型向关系模型的转换PP.168

第二章关系模型和关系运算理论2.1关系模型的基本概念(1)实体集:*每个实体集转换成一个关系模式

*实体集的属性即为关系模式的属性

*实体健即为关系模式的键(2)联系集:1:1的联系集

1:n的联系集

m:n的联系集目标:把E-R图转换为关系模式的集合规则:R学校与R校长通过校长的“校长职工号”(外键)关联1:1的联系集→联系集的属性归入两个关系模式的任一个之中(消除联系集),并在该关系模式中引用另一个关系的键(公共属性,成为本关系的外键)在R学校中引入“任职年月”属性在R学校引用校长的“职工号”R学校(学校代号,校名,…)R校长(职工号,姓名,年龄,…)*校长学校负责11任职年月例如:

第二章关系模型和关系运算理论2.1关系模型的基本概念R学校(学校代号,校名,校长职工号,任职年月…)1:n的联系集→联系集的属性归入n方关系模式中

(消联系集),在n方的关系模式中

引用1方关系中的键在R教师中引入“聘期”属性

聘用聘期系

教师1nR教师(职工号,姓名,性别,…)R教师与R系通过外键“系号”关联R系(系号,系名,地址,…)

第二章关系模型和关系运算理论2.1关系模型的基本概念聘期,系号,m:n的联系集―>用联系集的属性和两个实体集的键单独构成一个新关系,新关系的键由两个实体集的键组合而成学生课程选课mn成绩STUDENT(学号,姓名,性别,出生日期,籍贯)

COURSE(课程名,课程号,学分,开课时间,先修课号)

关系SC(学号,课程号,成绩)

第二章关系模型和关系运算理论2.1关系模型的基本概念2.1.5关系模型的数据操作

(1)关系数据库的数据操作有两大类:•

查询――对数据的检索•

更新――数据的插入(I)、删除(D)和修改(U)

更新以查询为基础(2)

关系数据模型提供一组完备的关系运算(操作定义),以支持对数据库的查询等操作

第二章关系模型和关系运算理论2.1关系模型的基本概念(4)关系运算理论基础分为三大类:关系代数

关系演算

――查询操作以集合操作为基础,又分为:

关系专用操作:选择、投影、连接、除

传统集合操作:并、交、差、笛卡儿积――查询操作以谓词演算为基础,又按谓词变量分为:元组关系演算

域关系演算

(3)关系运算以一个或多个关系为运算对象,运算后形成新的关系,提供用户所需数据

第二章关系模型和关系运算理论2.1关系模型的基本概念关系逻辑――以一阶逻辑表达关系的操作(if-then)。

第二章关系模型和关系运算理论2.1关系模型的基本概念一、关系模型的三级模式:对应数据库的三级体系结构数据库的

关系模型的

定义的内容逻辑模式关系模式模式名/属性名/值域/主键等外模式子模式用的数据/与关系模式数据的联系/操作权限内模式存储模式存储关系的方式:索引/散列2.1.6关系模型的三级模式和优点

PP.42

第二章关系模型和关系运算理论2.1关系模型的基本概念数据结构数据操作数据完整性规则――关系(二维表)――提供完备的高级关系运算*关系代数*关系演算*关系逻辑――实体完整性参照完整性用户定义的完整性关系模型:二、关系模型的优点关系运算的完备性和设计规范化理论关系模型的基本结构是二维表;数据表示统一、简明、精确,便于在计算机中实现;向用户提供的是独立于数据存储方式的关系模式;易于掌握和运用。

第二章关系模型和关系运算理论2.1关系模型的基本概念优点:逻辑结构及相应操作独立于数据存储方式存取路径对用户透明*有坚实的理论基础*有很强的表达能力*数据独立性高*数据结构简单二维表能方便地表示实体集和实体集间的联系补充缺点:

*查询效率不如非关系数据模型由于存取路径对用户透明,查询优化处理依靠系统完成,加重了系统的负担。

第二章关系模型和关系运算理论2.1关系模型的基本概念2.1关系模型的基本概念

2.1.1关系模型的数据结构

2.1.2关系的定义和性质

2.1.3关系模型的数据约束

2.1.4E-R模型向关系模型的转换

2.1.5关系模型的数据操作

2.1.6关系模型的三级模式和优点2.2关系代数2.3关系演算概述2.4关系代数表达式的优化第二章关系模型和关系运算理论2.2关系代数关系代数是以关系为运算对象的一组高级运算的集合。关系代数表达式由运算符和作为运算分量的关系构成关系代数的运算分为两大类:

传统的集合运算(并、交、差、笛卡尔积)

专门的关系运算

*选取部分数据的运算(选择、投影等)*组合两个关系元组的操作(连接运算等)

第二章关系模型和关系运算理论2.2关系代数:::课程号课程名学分开课时间…0001局域网2春季

0002数据库3秋季

:学号课号成绩984101000185:::学号姓名性别出生日期…984101王一男1980/06/03

984102赵二女1981/04/28

::::

学生课程选修mnE-R简图举例用的表和数据:

第二章关系模型和关系运算理论2.2关系代数STUDENT、SC、COURSE或S、SC、C

第二章关系模型和关系运算理论2.2关系代数F:命题公式F有两种成份:

运算对象:‘常数’,元组分量(属性名或列序号)

运算符:算术比较运算符θ(<,<=,>,>=,=,<>或

)

逻辑运算符(∧,∨,┐)一.选择操作(σ)

一元操作•

目的:在关系中选出符合条件的元组(行)→水平分割•

定义:

σF(R)≡{t|t

R∧F(t)=true}选出R中使F为真的元组•

表示:σ<选择条件>(<关系名>)→σF(R),F是命题公式

2.2.1

五个基本操作--关系代数的完备操作集

∪、-、×、

σ、Π

A

B

C

a

b

c

d

a

f

c

b

d

关系R

A

B

C

ab

c

c

b

dσB=‘b’(R)

或σ2=‘b’(R)

结果:结果:全部属性,部分元组构成的关系

第二章关系模型和关系运算理论2.2关系代数选择操作的结果是其作用的关系的子集•例如:在STUDENT表中:(1)查询王彤同学的情况(2)查询1975出生的江苏学生的情况

(3)查询1975年之后出生的男生的情况

第二章关系模型和关系运算理论2.2关系代数σ姓名=‘王彤’(STUDENT)σ籍贯=‘江苏’∧YEAR(出生日期)=’1975’(STUDENT)σ性别=‘男’

∧YEAR(出生日期)>=‘1976’(STUDENT)•

性质:(a)σ<F1>(σ<F2>(R))≡σ<F2>(σ<F1>(R))(b)σ<F1>σ<F2>(

…(σ<Fn>(R)))

≡σ<F1>∧<F2>∧…∧<Fn>(R)STUDENT(学号,姓名,性别,出生日期,籍贯)(1)σ姓名=‘王彤’(STUDENT)学号姓名性别出生日期籍贯934103王彤男1976/01/05福建(2)σ籍贯=‘江苏’∧出生年份=’1975’(STUDENT)(3)σ性别=‘男’∧出生年份>=‘1976’

(STUDENT)学号姓名性别出生日期籍贯934101王一男1975/06/03江苏934102赵二女1976/04/28江苏934103王彤男1976/01/05福建934104陈三女1975/06/03安徽934105李四男1975/06/03浙江

第二章关系模型和关系运算理论2.2关系代数•

一元操作

目的:选取关系中感兴趣的列,重排列顺序即:对关系垂直分割

•结果:

ABCabcdafcbd

关系RΠA,C(R)Π1,3(R)•

形式定义:

Πi1,…,im(R)≡{t|t=<ti1,…,tim>∧<t1,…,tk>

R}

第二章关系模型和关系运算理论2.2关系代数•表示:Π<属性或序号列表>(<关系名>)二.投影操作(Π)ACacdfcd投影结果:部分属性全部元组•

当属性列表中不含候选键时,投影结果可能有重复元组(消除)

•性质:Π<属性表1>(Π<属性表2>(R))≡Π<属性表1>(R)

属性表1∈属性表2•

应用:

STUDENT(学号,姓名,性别,出生日期,籍贯)

学号姓名性别出生日期籍贯934101王一男1975/06/03江苏934102赵二女1976/04/28江苏934103王彤男1976/01/05

福建姓名籍贯王一江苏赵二江苏王彤

福建姓名籍贯姓名赵二姓名

第二章关系模型和关系运算理论2.2关系代数例1:Π姓名,籍贯(STUDENT)

查询所有学生的姓名和籍贯例2:投影与选择结合Π<姓名>(σ<性别>=‘女’(STUDENT))三.并

二元操作

——

对二个关系的操作

前提:并兼容――两关系具有相同的目,对应属性域相同

且两个关系的属性排列次序一样

温馨提示

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

评论

0/150

提交评论