数据库系统基本概念及其设计_第1页
数据库系统基本概念及其设计_第2页
数据库系统基本概念及其设计_第3页
数据库系统基本概念及其设计_第4页
数据库系统基本概念及其设计_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统原理第1章数据库系统基本概念第2章数据模型与概念模型第3章数据库设计第4章关系数据库第5章关系数据库标准语言——SQL第7章关系数据库理论第8章数据库保护10/1/制作人:张宇敬数据库系统基本概念及其设计第1页第1章数据库系统基本概念1.1数据库作用及相关概念一.数据、数据库、数据库管理系统(1)数据(Data)数据实际上就是描述事物符号统计。数据形式本身并不能完全表示其内容,需要经过语义解释。数据与其语义是不可分。(2)数据库(DB)数据库是长久存放在计算机内有结构大量共享数据集合。它能够供各种用户共享、含有最小冗余度和较高数据独立性。(3)数据库管理系统(DBMS)数据库管理系统是位于用户与操作系统之间一层数据管理软件。数据库管理系统使用户能方便地定义数据和操纵数据,并能够确保数据安全性、完整性、多用户对数据并发使用及发生故障后系统恢复。

10/1/制作人:张宇敬数据库系统基本概念及其设计第2页(4)数据库系统(DBS)数据库系统是指在计算机系统中引入数据库后系统组成,普通由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户组成。(5)数据库系统管理员(DBA)数据库系统管理员负责数据库建立、使用和维护专门人员。二.数据库管理系统

DBMS是数据库系统关键。它建立在操作系统基础上,是位于操作系统与用户之间一层数据管理软件,负责对数据库进行统一管理和控制。1、DBMS功效(1)数据定义定义数据库模式、存放模式和外模式,定义各个外模式与模式之间映射,定义模式与存放模式之间映射,定义相关约束条件。10/1/制作人:张宇敬数据库系统基本概念及其设计第3页(2)数据操纵数据操纵包含对数据库数据检索、插入、修改和删除等基本操作。(3)数据库运行管理包含对数据库进行并发控制、安全性检验、完整性约束条件检验和执行数据库内部维护(如索引、数据字典自动维护)等。(4)数据组织、存放和管理对数据字典、用户数据、存取路径等数据进行分门别类地组织、存放和管理,确定以何种文件结构和存取方式物理地组织这些数据,怎样实现数据之间联络,方便提升存放空间利用率以及提升随机查找、次序查找、增、删、改等操作时间效率。(5)数据库建立和维护建立数据库包含数据库初始数据输入与数据转换等。维护数据库包含数据库转储与恢复、数据库重组织与重结构、性能监视与分析等。(6)数据通信接口DBMS需要提供与其它软件系统进行通信功效。比如提供与其它DBMS或文件系统接口,从而能够将数据转换为另一个DBMS或文件系统能够接收格式,或者接收其它DBMS或文件系统数据。10/1/制作人:张宇敬数据库系统基本概念及其设计第4页2、DBMS组成(1)数据定义语言及其翻译处理程序(2)数据操纵语言及其翻译解释程序数据操纵语言(DataManipulationLanguage,简称DML)用来实现对数据库检索、插入、修改、删除等基本操作。(3)数据运行控制程序数据定义语言(DataDefinitionLanguage,简称DDL)供用户定义数据库模式、存放模式、外模式、各级模式间映射、相关约束条件等。系统运行控制程序负责数据库运行过程中控制与管理(包含系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检验程序、并发控制程序、事务管理程序、运行日志管理程序等)。(4)实用程序包含数据初始装入程序、数据转储程序、数据库恢复程序、性能监测程序、数据库再组织程序、数据转换程序、通信程序等。10/1/制作人:张宇敬数据库系统基本概念及其设计第5页3.DBMS工作过程(1)应用程序A向DBMS发出从数据库中读数据统计命令;(2)DBMS对该命令进行语法检验、语义检验,并调用应用程序A对应子模式,检验A存取权限,决定是否执行该命令。假如拒绝执行,则向用户返回错误信息;(3)在决定执行该命令后,DBMS调用模式,依据子模式/模式映象定义,确定应读入模式中哪些统计;(4)DBMS调用物理模式,依据模式/物理模式映象定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理统计;(5)DBMS向操作系统发出执行读取所需物理统计命令;(6)操作系统执行读数据相关操作;(7)操作系统将数据从数据库存放区送至系统缓冲区;(8)DBMS依据子模式/模式映象定义,导出应用程序A所要读取统计格式;(9)DBMS将数据统计从系统缓冲区传送到应用程序A用户工作区;(10)DBMS向应用程序A返回命令执行情况状态信息。10/1/制作人:张宇敬数据库系统基本概念及其设计第6页1.2数据库技术产生与发展

10/1/制作人:张宇敬数据库系统基本概念及其设计第7页1.3数据库系统结构

数据库系统三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。10/1/制作人:张宇敬数据库系统基本概念及其设计第8页

(1)模式模式是数据库中全体数据逻辑结构和特征描述。数据库模式以某一个数据模型为基础。定义模式时不但要定义数据逻辑结构(比如数据统计由哪些数据项组成,数据项名字、类型、取值范围等),而且要定义与数据相关安全性、完整性要求,定义这些数据之间联络。(2)外模式外模式也称子模式或用户模式,它是数据库用户(包含应用程序员和最终用户)看见和使用局部数据逻辑结构和特征描述,是数据库用户数据视图,是与某一应用相关数据逻辑表示。(3)内模式内模式也称存放模式,它是数据物理结构和存放结构描述,是数据在数据库内部表示方式(比如,统计存放方式是次序存放、按照B树结构存放还是按hash方法存放;索引按照什么方式组织;数据是否压缩存放,是否加密;数据存放统计结构有何要求)。一个数据库只有一个内模式。10/1/制作人:张宇敬数据库系统基本概念及其设计第9页

3、数据库二级映象功效与数据独立性对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间对应关系。当模式改变时,由数据库管理员对各个外模式/模式映象作对应改变,能够使外模式保持不变,从而应用程序无须修改,确保了数据逻辑独立性。数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一,它定义了数据全局逻辑结构与存放结构之间对应关系。当数据库存放结构改变了,由数据库管理员对模式/内模式映象作对应改变,能够使模式保持不变,从而确保了数据物理独立性。10/1/制作人:张宇敬数据库系统基本概念及其设计第10页4.数据库系统体系结构(1)单用户数据库系统整个数据库系统,包含应用程序、DBMS、数据,都装在一台计算机上,为一个用户独占,不一样机器之间不能共享数据。(2)主从式结构数据库系统指一个主机带多个终端多用户结构。在这种结构中,数据库系统,包含应用程序、DBMS、数据,都集中存放在主机上,全部处理任务都由主机来完成,各个用户经过主机终端并发地存取数据库,共享数据资源。(3)分布式结构数据库系统分布式结构数据库系统是指数据库中数据在逻辑上是一个整体,但物理地分布在计算机网络不一样结点上。网络中每个结点都能够独立处理当地数据库中数据,执行局部应用;同时也能够同时存取和处理多个异地数据库中数据,执行全局应用。

(4)客户/服务器结构数据库系统服务器:网络中某个(些)结点上计算机专门用于执行DBMS功效,称为数据库服务器。客户机:其它结点上计算机安装DBMS外围应用开发工具,支持用户应用,称为客户机。回首页10/1/制作人:张宇敬数据库系统基本概念及其设计第11页第2章数据模型与概念模型

2.1信息三种世界1.数据模型基本概念数据模型用来抽象、表示和处理现实世界中数据和信息。即数据模型就是现实世界模拟。数据模型应满足三个方面要求:比较真实模拟现实世界;轻易为人们了解;便于计算机表示。数据模型分成两个不一样层次:(1)概念模型,它是按用户观点来对数据和信息建模。(2)数据模型,主要包含网状模型、层次模型、关系模型等,它是按计算机系统观点对数据建模。2.数据模型三要素(1)数据结构(2)数据操作(3)数据约束条件10/1/制作人:张宇敬数据库系统基本概念及其设计第12页2.2.概念模型及其特点1.概念模型:概念模型用于信息世界建模。概念模型不依赖于某一个DBMS支持数据模型。概念模型能够转换为计算机上某一DBMS支持特定数据模型。概念模型特点:(1)含有较强语义表示能力,能够方便、直接地表示应用中各种语义知识.(2)应该简单、清楚、易于用户了解,是用户与数据库设计人员之间进行交流语言。2.实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。3.实体集(EntitySet)同型实体集合称为实体集。4.联络(Relationship)现实世界中事物内部以及事物之间联络在信息世界中反应为实体内部联络和实体之间联络。5.表示概念模型实体-联络方法(Entity-RelationshipApproach,E-R方法)E-R图提供了表示实体型、属性和联络方法: 实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与对应实体连接起来 联络:用菱形表示,菱形框内写明联络名,并用无向边分别与相关实体连接起来,同时在无向边旁标上联络类型(1:1、1:n或m:n)。10/1/制作人:张宇敬数据库系统基本概念及其设计第13页2.3常见三种模型1.层次数据模型(1)数据结构用树形结构表示各类实体以及实体之间联络。只有一个根结点;除结点外其它结点只有一个双亲结点。(2)操纵及完整性约束层次数据模型操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型完整性约束条件。进行插入操作时,假如没有对应双亲结点值就不能插入儿女结点值。进行删除操作时,假如删除双亲结点值,则对应儿女结点值也被同时删除。进行更新操作时,应更新全部对应统计,以确保数据一致性。(3)层次数据模型存放结构

邻接法:按照层次树一定次序把全部统计值依次邻接存放,即经过物理空间位置相邻来实现层次次序。链接法:用指针来反应数据之间层次联络。10/1/制作人:张宇敬数据库系统基本概念及其设计第14页2.网状数据模型(1)数据结构网状数据模型是一个比层次模型更具普遍性结构,它去掉了层次模型两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,允许两个结点之间有各种联络(称之为复合联络)。(2)操纵及完整性约束

网状数据模型操纵主要包含查询、插入、删除和更新数据。插入操作允许插入还未确定双亲结点值儿女结点值。删除操作允许只删除双亲结点值。更新操作时只需更新指定统计即可。(3)存放结构

网状数据模型存放结构依详细系统不一样而不一样,惯用方法是链接法,包含单向链接、双向链接、环状链接等。10/1/制作人:张宇敬数据库系统基本概念及其设计第15页3.关系数据模型(1)数据结构

一个关系模型逻辑结构是一张二维表,它由行和列组成。表中一行即为一个元组;表中一列即为一个属性。(2)操纵及完整性约束

关系数据模型操纵主要包含查询、插入、删除和更新数据这些操作必须满足关系完整性约束条件。关系模型中数据操作是集合操作,操作对象和操作结果都是关系,即若干元组集合。关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,无须详细说明“怎么干”,从而大大地提升了数据独立性。关系数据库标准操作语言是SQL语言。(3)存放结构

关系数据模型中,实体及实体间联络都用表来表示。在数据库物理组织中,表以文件形式存放,每一个表通常对应一个文件结构。后首页10/1/制作人:张宇敬数据库系统基本概念及其设计第16页第3章数据库设计

3.1数据库设计步骤1.数据库设计基本步骤(1)需求分析阶段需求搜集和分析,结果得到数据字典描述数据需求和数据流图描述处理需求。(2)概念结构设计阶段经过对用户需求进行综合、归纳与抽象,形成一个独立于详细DBMS概念模型,能够用E-R图表示。(3)逻辑结构设计阶段将概念结构转换为某个DBMS所支持数据模型,比如关系模型,并对其进行优化。(4)数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境物理结构,包含存放结构和存取方法。10/1/制作人:张宇敬数据库系统基本概念及其设计第17页(5)数据库实施阶段利用DBMS提供数据语言(比如SQL)及其宿主语言(比如C),依据逻辑设计和物理设计结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不停地对其进行评价、调整与修改。3.2需求分析

1.需求分析任务.详细调查现实世界要处理对象.充分了解原系统工作概况.明确用户各种需求.确定新系统功效10/1/制作人:张宇敬数据库系统基本概念及其设计第18页2.需求分析方法(1)调查组织机构情况(2)调查各部门业务活动情况(3)帮助用户明确对新系统各种要求(4)确定新系统边界3.数据流图数据流图表示了数据和处理过程关系。系统中数据则借助数据字典(DataDictionary,简称DD)来描述。4.数据字典数据字典是进行数据搜集和数据分析所取得主要结果。数据字典是各类数据描述集合。数据字典通常包含数据项、数据结构、数据流、数据存放和处理过程五个部分。10/1/制作人:张宇敬数据库系统基本概念及其设计第19页3.3概念结构设计

1.概念结构设计方法·自顶向下:先定义全局概念结构框架,然后逐步细化。·自底向上:先定义各局部应用概念结构,然后将它们集成起来,得到全局概念结构。·逐步扩张:先定义最主要关键概念结构,然后向外扩充,直至总体概念结构。不论采取哪种设计方法,普通都以E-R模型为工具来描述概念结构。2.数据抽象与局部视图设计以自底向上设计方法为例,它通常分为两步:第一步,依据需求分析结果,对现实世界数据进行抽象,设计各个局部视图即分E-R图。第二步,集成局部视图。3.视图集成集成份E-R图时都需要两步:1)合并;2)修改与重构。10/1/制作人:张宇敬数据库系统基本概念及其设计第20页3.4逻辑结构设计

设计逻辑结构时普通要分三步进行:·将概念结构转换为普通关系、网状、层次模型·将转化来关系、网状、层次模型向特定DBMS支持下数据模型转换·对数据模型进行优化1.E-R图向数据模型转换转换标准:(1)一个实体型转换为一个关系模式。实体属性就是关系属性。实体码就是关系码。(2)一个m:n联络转换为一个关系模式。与该联络相连各实体码以及联络本身属性均转换为关系属性。而关系码为各实体码组合。(3)一个1:n联络能够转换为一个独立关系模式,也能够与n端对应关系模式合并。假如转换为一个独立关系模式,则与该联络相连各实体码以及联络本身属性均转换为关系属性,而关系码为n端实体码。(4)一个1:1联络可转换为一个独立关系模式,也可与任一端对应关系模式合并。(5)三个或三个以上实体间一个多元联络转换为一个关系模式。与该多元联络相连各实体码以及联络本身属性均转换为关系属性。而关系码为各实体码组合。(6)同一实体集实体间联络,即自联络,也可按上述1:1、1:n和m:n三种情况分别处理。(7)含有相同码关系模式可合并。

10/1/制作人:张宇敬数据库系统基本概念及其设计第21页2.数据模型优化(1)确定数据依赖。(2)按照数据依赖理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。(3)按照需求分析阶段得到各种应用对数据处理要求,分析对于这么应用环境这些模式是否适当,确定是否要对它们进行合并或分解。(4)对关系模式进行必要分解。3.设计用户子模式局部应用视图是概念模型,用E-R图表示。在将概念模型转换为逻辑模型后,即生成了整个应用系统模式后,还应该依据局部应用需求,结合详细DBMS特点,设计用户外模式。10/1/制作人:张宇敬数据库系统基本概念及其设计第22页3.5数据库物理设计一、确定数据库物理结构(1)确定数据存放结构(2)设计数据存取路径(3)确定数据存放位置(4)确定系统(参数)配置二、评价物理结构评价物理数据库方法完全依赖于所选取DBMS,主要是从定量估算各种方案存放空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优合理物理结构。假如该结构不符适用户需求,则需要修改设计。10/1/制作人:张宇敬数据库系统基本概念及其设计第23页3.6数据库实施、运行与维护一、定义数据库结构确定了数据库逻辑结构与物理结构后,就能够用所选取DBMS提供数据定义语言(DDL)来严格描述数据库结构。二、数据装载数据库结构建立好后,就能够向数据库中装载数据了。组织数据入库是数据库实施阶段最主要工作。对于数据量不是很大小型系统,能够用人式方法完成数据入库,其步骤为:(1)筛选数据:需要装入数据库中数据通常都分散在各个部门数据文件或原始凭证中,所以首先必须把需要入库数据筛选出来。(2)转换数据格式筛选出来需要入库数据,其格式往往不符合数据库要求,还需要进行转换。这种转换有时可能很复杂。(3)输入数据将转换好数据输入计算机中。(4)校验数据检验输入数据是否有误。三、编制与调试应用程序数据库应用程序设计应该与数据设计并行进行。调试应用程序时因为数据入库还未完成,可先使用模拟数据。四、数据库试运行回首页10/1/制作人:张宇敬数据库系统基本概念及其设计第24页第4章关系数据库

4.1关系数据库概述一.关系模型组成关系模型是关系数据库系统基础模型。关系模型由关系数据结构、关系操作和完整性约束三部分组成。关系数据结构:关系模型数据结构其逻辑形式是一张二维表。这种二维表结构可描述现实世界实体以及实体间各种联络,且结构单一。关系操作:关系操作采取集合操作方式,即操作对象和结果都是集合。惯用关系操作包含:查询、选择、投影、连接、除、并、交、差、增加、删除、修改等。完整性约束:关系模型定义了三类完整性约束:实体完整性、参考完整性和用户定义完整性。其中实体完整性和参考完整性是关系模型必须满足完整性约束,由关系数据库系统强制执行。10/1/制作人:张宇敬数据库系统基本概念及其设计第25页二.描述关系操作语言描述关系操作语言能够分为三类:三.关系数据结构在关系模型中,实体和实体之间联络均由关系(二维表)来表示。10/1/制作人:张宇敬数据库系统基本概念及其设计第26页1.基本概念域:域是一组含有相同数据类型值集合。比如:非负整数、长度等于3字符串。笛卡尔积:给定一组域D1,D2,…,Dn。D1,D2,…,Dn笛卡尔积定义为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Dj,j=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫作一个元组。元素中每一个值di叫作一个分量。若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn基数为:nm=∏mii=110/1/制作人:张宇敬数据库系统基本概念及其设计第27页2.关系D1×D2×…×Dn一个子集叫作域D1、D2、…、Dn上一个关系,用R(D1,D2,…,Dn)表示。这里R表示关系名字,n是关系目或度。关系中每个元素是关系中元组,通惯用t表示。关系是笛卡积子集,所以关系也是一个二维表,表每行对应一个元组,表每列对应一个域。因为域能够相同,为了加以区分,必须对每列起一个名字,称为属性名。候选码:能唯一地标识一个元组一组属性。3.关系性质:①同一列中分量是同一类型数据。不一样列能够取相同数据类型。②关系中列又称为属性,并赋予属性名。不一样列属性名不一样。③列次序能够任意交换。④任意两个元组不能完全相同。⑤行次序能够任意交换。⑥列含有原子性,即每一列值是不可分数据项10/1/制作人:张宇敬数据库系统基本概念及其设计第28页4.关系模式关系模式是对关系描述。一个关系模式是一个五元组。可表示为R(U,D,DOM,F)其中R为关系名,U为属性名集合,D为属性组U中属性所来自域,DOM为属性向域映象集合,F为属性间数据依赖关系集合。5.关系数据库在关系模型中,实体以及实体间联络都是用关系来表示。在一个给定应用中,全部实体及实体之间联络关系集合组成一个关系数据库。四.关系完整型1.实体完整性实体完整性规则:若属性A是基本关系R主属性,则属性A不能取空值。2.参考完整性定义设F是基本关系R一个或一组属性,但不是关系R码,假如F与基本关系S主码Ks相对应,则称F是基本关系R外码,并称基本关系R为参考关系,基本关系S为被参考关系。10/1/制作人:张宇敬数据库系统基本概念及其设计第29页参考完整性规则:若属性或属性组F是基本关系R外码,它与基本关系S主码Ks相对应,则对于R中每个元组在F上值必须为:或者取空值(F每个属性值均为空值);或者等于S中某个元组主码值。3.用户定义完整性用户定义完整性是针对某一详细关系数据库约束条件,它反应某一详细应用所包括数据必须满足语义要求。比如: 某个属性取值不能为空; 某个属性取值范围在0~100之间。10/1/制作人:张宇敬数据库系统基本概念及其设计第30页4.2关系代数

1.关系代数运算符10/1/制作人:张宇敬数据库系统基本概念及其设计第31页几个记号(1)设关系模式为R(A1,A2,…,An)。它一个关系设为R。t∈R表示t是R一个元组。t[Ai]则表示元组t中对应于属性Ai一个分量。(2)设A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中一部分,则A称为属性列。フA则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩下属性组。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量集合。(3)R为n目关系,S为m目关系。称为元组连接。它是一个(n+m)列元组,前n个分量为R中一个n元组,后m个分量为S中一个m元组。3.传统集合运算(1)并(Union)R∪S={t|t∈R∨t∈S}10/1/制作人:张宇敬数据库系统基本概念及其设计第32页(2)差(Difference)R-S={t|t∈R∧フt∈S}(3)交(IntersectionReferentialintegrity)R∩S={t|t∈R∧t∈S}(4)广义笛卡尔积(Extendedcartesianproduct)4.专门关系运算专门关系运算包含选择、投影、连接、除等。(1)选择(Selection)它是在关系R中选择满足给定条件诸元组.(2)投影(Projection)关系R上投影是从R中选择出若干属性列组成新关系。记作:ΠA(R)={t[A]|t∈R}10/1/制作人:张宇敬数据库系统基本概念及其设计第33页(3)连接(Join)它是从两个关系笛卡尔积中选取属性间满足一定条件元组.。有两种惯用连接,一个是等值连接,另一个是自然连接。θ为“=”连接运算称为等值连接。它是从关系R与S笛卡尔积中选取A、B属性值相等那些元组。自然连接是一个特殊等值连接。需在等值连接结果中把重复属性去掉。普通连接操作是从行角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列角度进行运算。10/1/制作人:张宇敬数据库系统基本概念及其设计第34页4.3关系演算关系演算是以数理逻辑中谓词演算为基础。按谓词变元不一样,关系演算可分为元组关系演算和域关系演算。以下以ALPHA语言为例,介绍元组关系演算思想。1.元组关系演算ALPHAALPHA语言主要有GET、PUT、HOLD、UPDATE、DELETE、DROP六条语句。语句基本格式是:操作语句工作空间名(表示式):操作条件其中表示式用于指定语句操作对象,它能够是关系名或属性名。操作条件是一个逻辑表示式,用于将操作对象限定在满足条件元组中。2、检索操作:用GET语句实现。3、更新操作(1)修改操作修改操作用UPDATE语句实现。(2)插入操作插入操作用PUT语句实现。(3)删除删除操作用DELETE语句实现。回首页10/1/制作人:张宇敬数据库系统基本概念及其设计第35页第5章关系数据库标准语言SQL

5.1SQL概述1.SQL特点(1)综合统一SQL语言集DDL、DML、DCL于一体,包含定义关系模式、录入数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列功效。(2)非过程化用户无需了解存取路径,用户只需提出“做什么”,而无须指明“怎么做”。存取路径选择以及SQL语句操作过程由系统自动完成。(3)面向集合操作方式SQL语言采取集合操作方式,不但查找结果能够是元组集合。(4)以同一个语法结构提供两种使用方式SQL语言可采取交互式和嵌入式两种使用方式。(5)语言简练SQL语言功效强,语言简练。10/1/制作人:张宇敬数据库系统基本概念及其设计第36页2.SQL语言基本概念SQL语言支持关系数据库三级模式结构。外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存放文件。基本表是本身独立存在表,在SQL中一个关系就对应一个表。一个存放文件中可有多个基本表。存放文件逻辑结构组成了关系数据库内模式。存放文件物理文件结构是任意。视图是从基本表或其它视图中导出表,它不独立存放在数据库中,数据库只存放视图定义,所以视图是一个虚表。

10/1/制作人:张宇敬数据库系统基本概念及其设计第37页5.2数据定义1.定义基本表CREATETABLE<表名> (<列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件]...) [,<表级完整性约束条件>];建表时可定义完整性约束条件,当用户操作表中数据时系统自动检验该操作是否违反这些完整性约束条件。假如完整性约束条件包括多个属性列,则必须定义在表级上,不然既能够定义在列级也能够定义在表级。2.修改基本表ALTERTABLE<表名> [ADD<新列名><数据类型>[完整性约束]] [DROP<完整性约束名><完整性约束名>] [MODIFY<列名><数据类型><数据类型>];ADD子句用于增加新列和新完整性约束条件,DROP子句用于删除指定完整性约束条件,MODIFY子句用于修改原有列定义。

10/1/制作人:张宇敬数据库系统基本概念及其设计第38页3.删除基本表 DROPTABLE<表名>基本表定义一旦删除,表中数据、在此表上建立索引都将自动被删除掉,而建立在此表上视图虽依然保留,但已无法引用。4.建立索引CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]...);索引能够建在表一列或多列上。可在每个<列名>后面指定索引值排列次序。ASC表示升序,DESC表示降序,缺省值为ASC。UNIQUE表明建唯一性索引。CLUSTER表示建聚簇索引。所谓聚簇索引是指索引项次序与表中统计物理次序一致索引。5.删除索引 DROPINDEX<索引名>;10/1/制作人:张宇敬数据库系统基本概念及其设计第39页5.3查询SELECT[ALL|DISTINCT]<目标列表示式>[,<目标列表示式>]...FROM<表名或视图名>[,<表名或视图名>]...[WHERE<条件表示式>][GROUPBY<列名1>[HAVING<条件表示式>]][ORDERBY<列名2>[ASC|DESC]];·SELECT语句含义:依据WHERE子句条件表示式,从FROM子句指定基本表或视图中找出满足条件元组,再按SELECT子句中目标列表示式,选出元组中属性值形成结果表。·假如有GROUP子句,则将结果按<列名1>值进行分组,该属性列值相等元组为一个组,每个组产生结果表中一条统计。·假如GROUP子句带HAVING短语,则只有满足指定条件组才予输出。·假如有ORDER子句,则结果表还要按<列名2>值升序或降序排序。10/1/制作人:张宇敬数据库系统基本概念及其设计第40页1.单表查询(1)查询指定列例1查询全体学生学号与姓名 SELECTSno,Sname FROMStudent;(2)查询全部列例3查询全体学生详细统计 SELECT* FROMStudent;(3)消除取值重复行例6查全部选修过课学生学号 SELECTdistinctSno FROMSC;(4)查询满足条件元组查询满足指定条件元组能够经过WHERE子句实现。WHERE子句惯用查询条件如表:10/1/制作人:张宇敬数据库系统基本概念及其设计第41页10/1/制作人:张宇敬数据库系统基本概念及其设计第42页(5)对查询结果排序例查询选修了3号课程学生学号及其成绩,查询结果按分数降序排列 SELECTSno,Grade FROMSC WHERECno=’3'GROUPBYGradeDESC;(6)使用集函数COUNT([DISTINCT|ALL]*)统计元组个数COUNT([DISTINCT|ALL]<列名>)统计一列中值个数SUM([DISTINCT|ALL]<列名>)计算一列值总和AVG([DISTINCT|ALL]<列名>)计算一列值平均值MAX([DISTINCT|ALL]<列名>)求一列值中最大值MIN([DISTINCT|ALL]<列名>)求一列值中最小值例查询学习1号课程学生最高分数 SELECTMAX(Grade) FROMSCWHERECno='1';(7)对查询结果分组GROUPBY子句能够将查询结果表各行按一列或多列取值相等标准进行分组。10/1/制作人:张宇敬数据库系统基本概念及其设计第43页2.连接查询若一个查询同时包括两个以上表,则称之为连接查询。连接查询主要包含等值连接、非等值连接查询、本身连接查询(本身连接)、外连接查询(外连接)和复合条件连接查询(复合条件连接)。(1)等值与非等值连接查询用来连接两个表条件称为连接条件,其普通格式为:[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>其中比较运算符主要有:=、>、<、>=、<=、!=<=、!=另外连接谓词词还能够使用下面形式:[<表名1>.]<列名1>BETWEEN[<表名2>.]<列名2>AND[<表名2>.]<列名3>当连接运算符为=时,称为等值连接。使用其它运算符称为非等值连接。连接谓词中列名称为连接字段。连接条件中各连接字段类型必须是可比。10/1/制作人:张宇敬数据库系统基本概念及其设计第44页(2)本身连接连接操作不但能够在两个表之间进行,也能够是一个表与其自己进行连接,这种连接称为表本身连接。(3)外连接在通常连接操作中,只有满足连接条件元组才能作为结果输出。有时我们想以Student表为主体列出每个学生基本情况及其选课情况,若某个学生没有选课,则只输出其基本情况信息,其选课信息为空值即可,这时就需要使用外连接(OuterJoin)。外连接运算符通常为*。有关系数据库中也用+。回首页10/1/制作人:张宇敬数据库系统基本概念及其设计第45页第7章关系数据库设计理论

7.1函数依赖1.关系模式中数据依赖一个关系模式应该是一个五元组。R(U,D,DOM,F)R是关系名;U是一组属性;D是属性组U中属性所来自域;DOM是属性到域映射;F是属性组U上一组数据依赖关系集合。属性间数据依赖关系集合F实际上是描述关系元组定义,限定组成关系各个元组必须满足完整型约束条件。在实际应用中,这些约束或者经过对属性取值范围限定,或者经过属性间相互关连反应出来。后者称为数据依,这是数据库模式设计关键。因为D和DOM对模式设计关系不大,所以我们把关系模式看作是一个三元组:R〈U,F〉当且仅当U上一个关系r满足F时,r称为关系模式R〈U,F〉一个关系。10/1/制作人:张宇敬数据库系统基本概念及其设计第46页2.数据依赖对关系模式影响数据依赖是经过一个关系中属性间值相等是否表达出来数据间相互关系。它是现实世界属性间相互联络抽象,是数据内在性质,是语义表达。现在人们已经提出了许各种类型数据依赖,其中最主要一个数据依赖是:函数依赖(FunctionalDependency简记为FD)函数依赖极为普遍地存在于现实生活中。如学生关系,可有学号(SNO),姓名(SNAME),系名(SDEPT)等几个属性。因为一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系值也就被唯一地确定了。3.相关概念(1)函数依赖定义设R(U)是属性集U上关系模式。X,Y是U子集。若对于R(U)任意一个可能关系r,r中不可能存在两个元组在X上属性值相等,而在Y上属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。 ·若X→Y,则X叫做决定原因(Determinant)。 ·若X→Y,Y→X,则记作X←→Y。10/1/制作人:张宇敬数据库系统基本概念及其设计第47页(2)平凡函数依赖与非平凡函数依赖定义在关系模式R(U)中,对U中子集X,Y,假如X→Y,但YX,则称X→Y是非平凡函数依赖。若YX,则称X→Y是平凡函数依赖。对于任一关系模式,平凡函数依赖都是必定存在。(3)完全函数依赖与部分函数依赖定义在R(U)中,假如X→Y,而且对于X任何一个真子集X',都有X'→Y,则称Y对X完全函数依赖,记作:XY。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XY(4)传递依赖定义在R(U)中,假如X→Y,Y→Z,且(YX),Y→X,则称Z对X传递函数依赖。在关系Std(Sno,Sdept,Mname)中,有 Sno→SdeptSdept→Mname Mname传递依赖Sno。(5)码定义设K为R〈U,F〉中属性或属性组合,若KU,则称K为R一个候选码。若R中有多个候选码,则选定其中一个作为主码。。10/1/制作人:张宇敬数据库系统基本概念及其设计第48页7.2范式范式是满足一定函数依赖关系模式集合。当前主要有各种范式:第一范式、第二范式、第三范式、BC范式等。满足最低要求叫第一范式,简称1NF。在第一范式基础上深入码组一些要求为第二范式,简称2NF。其余以次类推。1NF2NF3NFBCNF1.第一范式(1NF)定义假如一个关系模式R全部属性都是不可分基本数据项,则R∈1NF。SLC(Sno,Sdept,Sloc,Cno,Grade)∈1NF不满足1NF数据库模式不能称为关系数据库。2.第二范式(2NF)定义若R∈lNF,且每一个非主属性完全函数依赖于码,则R∈2NF。3.第三范式(3NF)定义关系模式R〈U,F〉中若不存在侯选码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→Z和(Y→X)成立,则R∈3NF。上述定义说明,若R∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。10/1/制作人:张宇敬数据库系统基本概念及其设计第49页7.3关系模式规范化一个关系只要其分量都是不可分数据项,它就是规范化关,但这是最基本规范化。规范化程度有多个个级别,一个低一级范式关系模式,经过分解能够转换为若干高一级范式关系模式集合,这种过程就叫关系模式规范化。1.关系模式规范化步骤规范化程度过低关系可能会存在插入异常、删除异常、修改复杂和数据冗余等问题,需要对其进行规范化,转换成高级范式。但在现实世界中,设计数据库模式结构时,应对用户需要做深入分析,确定一个适当模式。2.关系模式分解关系模式分解必须确保分解后关系模式与原关系模式等价。设关系模式R〈U,F〉被分解为若干关系模式 R1〈U1,F1〉、R2〈U2,F2〉,…,Rn〈Un,Fn〉若R与R1,R2,。。。,Rn自然连接结果相等,则称关系R这个分解含有没有损连接性。含有没有损连接性分解才能确保不丢失信息后首页10/1/制作人:张宇敬数据库系统基本概念及其设计第50页第8章数据库保护

8.1安全性计算机系统安全性,是指为计算机系统建立和采取各种安全保护办法,以保护计算机系统中硬件、软件及数据,预防其因偶然或恶意原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统安全性问题可分为三大类,即:技术安全类、管理安全类和政策法律类。(1)技术安全是指计算机系统中采取含有一定安全性硬件、软件来实现对计算机系统及其所存数据安全保护,当计算机系统受到无意或恶意攻击时仍能确保系统正常运行,确保系统内数据不增加、不丢失、不泄露。(2)管理安全技术安全之外,诸如软硬件意外故障、场地意外事故、管理不善造成计算机设备和数据介质物理破坏、丢失等安全问题,视为管理安全。(3)政策法律类则指政府部门建立相关计算机犯罪、数据安全保密法律道德准则和政策法规、法令。10/1/制作人:张宇敬数据库系统基本概念及其设计第51页安全性控制普通方法(1)用户标识和判别(2)存取控制(3)定义视图(4)审计(5)数据加密8.2完整性数据库完整性是指数据正确性和相容性。数据库是否具备完整性关系到数据库系统能否真实地反应现实世界,所以维护数据库完整性是非常主要。1.完整性约束条件第一类静态列级约束静态列级约束是对一个列取值域说明,这是最惯用也最轻易实现一类完整性约束。10/1/制作人:张宇敬数据库系统基本概念及其设计第52页第二类、静态元组约束一个元组是由若干个列值组成,静态元组约束就是要求元组各个列之间约束关系。第三类、静态关系约束在一个关系各个元组之间或者若干关系之间经常存在各种联络或约束。常见静态关系约束有:实体完整性约束、参考完整性约束等。第四类、动态列级约束动态列级约束是修改列定义或列值时应满足约束条件。第五类、动态元组约束动态元组约束是指修改元组值时元组中各个字段间需要满足某种约束条件。比如职员工资调整时新工资不得低于原工资+工龄*1.5,等等。第六类、动态关系约束动态关系约束是加在关系改变前后状态上限制条件,比如事务一致性、原子性等约束条件。10/1/制作人:张宇敬数据库系统基本概念及其设计第53页2.完整型控制DBMS完整性控制机制应含有三个方面功效:(1)定义功效,提供定义完整性约束条件机制。(2)检验功效,检验用户发出操作请求是否违反了完整性约束条件。(3)保护功效,当发觉用户操作请求违反了数据完整性约束条件,则采取一定动作来确保数据完整性。几个问题。(1)外码能否接收空值问题(2)删除被参考关系中元组问题(3)在参考关系中插入元组时问题(4)修改关系中主码问题10/1/制作人:张宇敬数据库系统基本概念及其设计第54页8.3并发控制数据库是一个共享资源,能够供多个用户使用。允许多个用户同时使用数据库系统称为多用户数据库系统。当多个用户并发地存取数据库时就会产生多个事务同时存取同一数据情况。若对并发操作不加控制就可能会存取和存放不正确数据,破坏数据库一致性。数据库管理系统必须提供并发控制机制。并发控制机制是衡量一个数据库管理系统性能主要标志之一。1.并发操作隐含数据不一致性问题。一.丢失修改二.不可重复读三.读“脏”数据(dirtyread)2.封锁封锁是实现并发控制一个非常主要技术。封锁就是事务T在对某个数据对象(如表、统计等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定控制,在事务T释放它锁之前,其它事务不能更新此数据对象。10/1/制作人:张宇敬数据库系统基本概念及其设计第55页3.封锁协议在使用X锁和S锁对数据对象加锁时,需约定一些规则。比如应何时申请X锁或S锁、持锁时间、何时释放等。我们称这些规则为封锁协议。对封锁方式要求不一样规则,就形成了各种不一样封锁协议。(1)1级封锁协议:事务T在修改数据A之前必须先对其加X锁,直到事务结束才释放。1级封锁协议可预防丢失修改,并确保事务T是可恢复。在1级封锁协议中,假如仅仅是读数据不对其进行修改,是不需要加锁,所以它不能确保可重复读和不读“脏”数据。(2)2级封锁协议:事务T在修改数据A之前必须先对其加X锁,在读取数据A之前必须先对其加S锁,读完后即可释放S锁。2级封锁协议可预防丢失修改、读“脏”数据。(3)3级封锁协议:事务T在修改数据A之前必须先对其加X锁,在读取数据A之前必须先对其加S锁,直到事务结束才释放。3级封锁协议除预防了丢失修改和不读‘脏’数据外,还深入预防了不可重复读。10/1/制作人:张宇敬数据库系统基本概念及其设计第56页4.死锁假如事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2。接着T2又申请封锁R1。这么就出现了T1在等候T2,而T2又在等候T1局面,T1和T2两个事务永远不能结束,形成死锁。(1)死锁预防产生死锁原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其它事务封锁数据对象加锁,从而出现死等候。预防死锁发生其实就是要破坏产生死锁条件。预防死锁通常有两种方法:①一次封

温馨提示

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

评论

0/150

提交评论