湖南省信用社考试-数据库原理.ppt

上传人:M****1 文档编号:568736571 上传时间:2024-07-26 格式:PPT 页数:37 大小:3.34MB
返回 下载 相关 举报
湖南省信用社考试-数据库原理.ppt_第1页
第1页 / 共37页
湖南省信用社考试-数据库原理.ppt_第2页
第2页 / 共37页
湖南省信用社考试-数据库原理.ppt_第3页
第3页 / 共37页
湖南省信用社考试-数据库原理.ppt_第4页
第4页 / 共37页
湖南省信用社考试-数据库原理.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《湖南省信用社考试-数据库原理.ppt》由会员分享,可在线阅读,更多相关《湖南省信用社考试-数据库原理.ppt(37页珍藏版)》请在金锄头文库上搜索。

1、数据库原理2024/7/26数据库系统数据库系统12024/7/26数据库系统数据库系统2一、基本概念一、基本概念1、数据数据:描述事务的符号记录。可用文字、图形等多种形式表:描述事务的符号记录。可用文字、图形等多种形式表示,经数字化处理后可存入计算机。示,经数字化处理后可存入计算机。2、数据库(数据库(DB):按一定的数据模型组织、描述和存储在计算:按一定的数据模型组织、描述和存储在计算机内的、有组织的、可共享的数据集合。机内的、有组织的、可共享的数据集合。3、数据库管理系统(数据库管理系统(DBMS):位于用户和操作系统之间的一层:位于用户和操作系统之间的一层数据管理软件。主要功能包括:数

2、据管理软件。主要功能包括: 数据定义功能数据定义功能:DBMS提供提供DDL,用户通过它定义数据对象。,用户通过它定义数据对象。 数据操纵功能数据操纵功能:DBMS提供提供DML,用户通过它实现对数据库的,用户通过它实现对数据库的查询、插入、删除和修改等操作。查询、插入、删除和修改等操作。数据库系统概述数据库系统概述2024/7/26数据库系统数据库系统3 数据库的运行管理数据库的运行管理:DBMS对数据库的建立、运行和维护进对数据库的建立、运行和维护进行统一管理、统一控制,以保证数据的安全性、完整性、并发行统一管理、统一控制,以保证数据的安全性、完整性、并发控制及故障恢复。控制及故障恢复。

3、数据库的建立和维护功能数据库的建立和维护功能:数据库初始数据的输入、转换,:数据库初始数据的输入、转换,数据库的转储、恢复、重新组织及性能监视与分析等。数据库的转储、恢复、重新组织及性能监视与分析等。4、数据库系统(数据库系统(DBS):计算机中引入数据库后的系统,包括:计算机中引入数据库后的系统,包括 数据库数据库DB 数据库管理系统数据库管理系统DBMS 应用系统应用系统 数据库管理员数据库管理员DBA和用户和用户2024/7/26数据库系统数据库系统4二、数据管理与数据处理二、数据管理与数据处理 1、数据管理数据管理: 对数据收集、整理、组织、存储、维护、检索、传送等对数据收集、整理、组

4、织、存储、维护、检索、传送等对象对象操作操作目标:在妥当的时候以妥当的形式给妥当的人提供妥当的数据。目标:在妥当的时候以妥当的形式给妥当的人提供妥当的数据。2、数据处理数据处理:对数据进行加工、计算、提炼,:对数据进行加工、计算、提炼, 从而产生新的有效数据的过程从而产生新的有效数据的过程数据数据信息信息2024/7/26数据库系统数据库系统53、管理与处理的关系管理与处理的关系: 管理是处理的基础管理是处理的基础 处理为管理服务处理为管理服务数据处理数据处理数据处理数据处理源数据源数据新数据新数据新数据新数据 管理和处理又可看管理和处理又可看成一个问题的两个阶成一个问题的两个阶段,故可以统一

5、起来,段,故可以统一起来,其中心是管理其中心是管理数据管理数据管理 数据管理数据管理 2024/7/26数据库系统数据库系统6三、数据管理的发展阶段三、数据管理的发展阶段 人工管理阶段(人工管理阶段(50年代中期以前)年代中期以前) 文件系统阶段(文件系统阶段(50年代中期至年代中期至60年代后期)年代后期) 数据库系统阶段(数据库系统阶段(60年代后期以后)年代后期以后)2024/7/26数据库系统数据库系统74、各个阶段的比较各个阶段的比较: 从四个方面从四个方面 人工管理人工管理 文件系统文件系统 数据库系统数据库系统谁管理数据谁管理数据面向谁面向谁共享性共享性数据独立性数据独立性程序员

6、程序员特定应用特定应用不能不能没有没有操作系统提供存取方法操作系统提供存取方法系统集中管理系统集中管理基本上是特定用户基本上是特定用户共享很弱共享很弱面向系统面向系统充分共享充分共享一定的物理独立性一定的物理独立性较高的独立性较高的独立性 文件系统和数据库系统的本质区别文件系统和数据库系统的本质区别:内部内部:数据库的数据是结构化的,有联系的:数据库的数据是结构化的,有联系的 文件系统的各记录无联系文件系统的各记录无联系外部外部:数据库系统是共享的:数据库系统是共享的 文件系统基本上是面向特定用户的文件系统基本上是面向特定用户的2024/7/26数据库系统数据库系统8数据模型数据模型数据处理的

7、抽象过程(涉及三个领域)数据处理的抽象过程(涉及三个领域) 建立概念模型建立概念模型 建立数据模型建立数据模型 (便于用户和(便于用户和DB设计人员交流)设计人员交流) (便于机器实现)(便于机器实现)一、概念模型一、概念模型(信息模型)信息模型) 把现实世界中的客观对象抽象成的某种信息结构,主要用把现实世界中的客观对象抽象成的某种信息结构,主要用于数据库设计。于数据库设计。 独立于具体的计算机系统独立于具体的计算机系统 独立于具体的独立于具体的DBMS支持的数据模型支持的数据模型现实世界现实世界 = 信息世界信息世界抽象抽象= 机器世界(数据世界)机器世界(数据世界)转换转换2024/7/2

8、6数据库系统数据库系统9实体实体:客观存在并可相互区分的事物。:客观存在并可相互区分的事物。实体集实体集:性质相同的同类实体的集合。:性质相同的同类实体的集合。属性属性: 实体具有的某一特性。实体具有的某一特性。实体标识符实体标识符:能将一个实体与其它实体区分开来的一个:能将一个实体与其它实体区分开来的一个 或一组属性或一组属性。信信息息世世界界记录记录 实体实体 (抽象表示)(抽象表示)文件文件 实体集实体集字段或数据项字段或数据项 属性属性关键字关键字 实体标识符。唯一地标识一个记录实体标识符。唯一地标识一个记录。 又称又称码码、键键。数数据据世世界界1、实体与记录、实体与记录2024/7

9、/26数据库系统数据库系统102、型与值、型与值 在在DBS中,每一个对象广义上讲都有型与值之分:中,每一个对象广义上讲都有型与值之分: 型型是对象的结构或特性描述,是对象的结构或特性描述, 值值是一个具体的对象实例。是一个具体的对象实例。类似于程序设计语言中类似于程序设计语言中数据类型数据类型与与数据值数据值的概念。的概念。(1)实体型:对实体固有特性或结构的描述。实体型:对实体固有特性或结构的描述。 用实体名及其属性名集合来抽象和刻画。用实体名及其属性名集合来抽象和刻画。 如如 汽车(车牌号,车型,车主)汽车(车牌号,车型,车主)实体值:实体型的一个实例,即一个具体的实体。实体值:实体型的

10、一个实例,即一个具体的实体。 如如 (豫(豫A00001,丰田,张三),丰田,张三)(2) 记录型:记录格式。记录型:记录格式。 记录值:一个具体的记录。记录值:一个具体的记录。2024/7/26数据库系统数据库系统11如:如:车牌号车牌号名称名称车主车主豫豫A00001丰田丰田张三张三(3)几点说明)几点说明 区分型与值的实质区分型与值的实质 DBS中讨论的重点是型中讨论的重点是型 通常只说实体、记录,含义根据上下文自明通常只说实体、记录,含义根据上下文自明3、实体间的联系、实体间的联系 实体内部的联系实体内部的联系(属性间的联系):(属性间的联系): 反映在数据上就是记录内部数据项间的联系

11、反映在数据上就是记录内部数据项间的联系 实体之间的联系实体之间的联系: 反映在数据上就是记录之间的联系反映在数据上就是记录之间的联系E-R方法E-R方法即“实体-联系方法”。它的基本思想是在数据库设计过程中增加一个中间步骤,先设计一个概念性数据模型,这个概念性数据模型在E-R方法中被称作“企业模式”(或“组织模式”)。它是现实世界的纯粹反映,与数据库的具体实现无关,它抛开了实现过程的具体细节,与现实世界和用户思维很相似,能比较准确,比较自然地反映现实世界,能为不熟悉计算机的用户所接受,便于设计人员和用户的沟通。E-R图及其基本成份描述企业模式的得力工具是E-R图。在E-R图中有三种基本成份:实

12、体 (Entity):表征客观事物;属性 (Attributes) :表征客观事物及联系的特征(属性);联系 (Relations) :表征客观事物之间的联系。 E-R图表示方法E-R图是数据库概念设计最基本和最重要的图,它主要描述研究对象中的实体、实体的属性和实体之间的关系等,其表示方法如下:矩形框表示实体;椭圆形表示属性;用菱形框表示实体间的联系;属性和实体间、实体和联系间用无向的线段连接。在E-R图中概念及术语(1)实体与实体类型实体:可以相互区别客观事物和概念的统一抽象。是任何一种我们所关心的“事物”,可以指人,也可以指物,可以是实际的东西,也可以是抽象的、概念性的东西。例学生、回扣、

13、医疗等。实体分为两级,一级为“个体”,如“张三”、“国防科技大学”等;另一级为“总体”,泛指某一类个体组成的集合,如人泛指“张三”、 “李四”等。实体类型:将具有共性的一类实体抽象为实体类型。在E-R图中,实体这种基本成份用方框来表示。(2)实体与联系的属性和域属性:对实体特征的描述;域:属性的取值范围。同一实体类型所有实体都具有相同的属性及相同的对应域,但属性在域上的取值不一定相同。属性用来进一步描述实体与联系在某些方面的特征与性质。比如“职员”这种实体,可以有工作证号,姓名,性别,出生年月,政治面貌,职称等属性。“零件”这种实体可以有零件号,零件名,单价,型号,生产厂家等属性。(3)实体之

14、间的联系:实体之间关系的抽象一种实体与其他实体之间,在其自身内部是存在着这样的或那样的联系的。数据库比传统的文件的优越之一就是能够表示实体之间的联系。在E-R图中,“联系”用菱形框来表示。对每一种“联系”都要命名。实体之间的联系,可以分为以下几种不同的情况:1)1:1(一对一联系)A中任意实体至多对应B中的一个实体,反之B中的任意实体至多对应A中的一个实体。观众与座位、乘客与车票、病人与病床、学校与校长、灯泡与灯座。 2)1:n(一对多联系)A中至少有一个实体对应B中的多个实体,反之B中的任意实体至多对应A中的一个实体。“部门”(A)是一种实体,“职员”(B)也是一种实体。这两种实体之间存在着

15、一种联系,设这种联系命名为“属于”,即表示某个职员是属于某个部门的。“属于”这个联系是1:N的,具体地说就是:一个部门可以有多个职员,而一个职员只能属于一个部门。在E-R图中,这两种实体间的联系可以表示成如下图。3)M:N的联系,即多对多的联系A中任意实体至少有一个实体对应B中的多个实体,反之B中的任意实体至少有一个实体对应A中的多个实体。“学生”(A)是一种实体,“课程”(B)也是一种实体。这两种实体之间存在一种联系,设这种联系命名为“选课”,表示的是哪一个学生修了哪些门课程。这个联系是M:N的,也就是说,一个学生可以修多门课程,一门课程可以有多个学生来修,但一个学生不一定修所有的课程,一门

16、课程也不一定被全部学生所选修。在E-R图中,两种实体间的联系可以表示如下图2024/7/26数据库系统数据库系统211、活锁(、活锁(Livelock):): 数据对象不断处于上锁、开锁的交替状态,某个事务数据对象不断处于上锁、开锁的交替状态,某个事务有可能为该对象上锁,但始终没有得到上锁机会而永久有可能为该对象上锁,但始终没有得到上锁机会而永久等待下去的情形。例如:等待下去的情形。例如:T1 T2 T3 T4 .封锁封锁R请求封锁请求封锁R 请求封锁请求封锁R等待等待 请求封锁请求封锁R 等待等待释放锁释放锁封锁封锁R等待等待释放锁释放锁封锁封锁R 如此下去,如此下去,T2可能永可能永远不能

17、封远不能封锁锁R。2024/7/26数据库系统数据库系统22避免活锁避免活锁: 如采用先来先服务策略。如采用先来先服务策略。2、死锁(、死锁(Deadlock):): 多个事务因封锁冲突(竞争资源)而永远等待下去的多个事务因封锁冲突(竞争资源)而永远等待下去的情形。如:情形。如: 对对R1上上X锁锁 对对R2上上X锁锁 对对R2请求请求X锁锁 等待等待 对对R1请求请求X锁锁 等待等待 T1 T2 T1和和T2将将永远等待下去永远等待下去2024/7/26数据库系统数据库系统23死锁问题的死锁问题的解决方法解决方法预防死锁预防死锁诊断死锁诊断死锁并解除并解除一次封锁法一次封锁法顺序封锁法顺序封

18、锁法超时法超时法等待图法等待图法(1)一次封锁法)一次封锁法 每个事务必须将所要求的数据对象全部上锁后才能每个事务必须将所要求的数据对象全部上锁后才能执行读写操作,否则释放占用的资源。执行读写操作,否则释放占用的资源。存在的问题存在的问题 使数据的上锁时间增长,降低了系统的并发度。使数据的上锁时间增长,降低了系统的并发度。 很难确定事务执行期间需封锁的数据对象。有些一开很难确定事务执行期间需封锁的数据对象。有些一开始不需要封锁的对象,随着数据库数据的变化,可能变成始不需要封锁的对象,随着数据库数据的变化,可能变成封锁对象,为避免此种情况发生,只能扩大封锁范围。封锁对象,为避免此种情况发生,只能

19、扩大封锁范围。2024/7/26数据库系统数据库系统24(2)顺序封锁法)顺序封锁法 对所有数据对象规定一个封锁顺序,所有事务均按对所有数据对象规定一个封锁顺序,所有事务均按这个顺序实行封锁。这个顺序实行封锁。存在的问题存在的问题: 很难维护数据对象的封锁顺序,因为数据对象很多并很难维护数据对象的封锁顺序,因为数据对象很多并在不断地增加、减少。在不断地增加、减少。 很难确定事务需封锁那些对象,从而很难按规定的顺很难确定事务需封锁那些对象,从而很难按规定的顺序封锁。序封锁。 上述两种方法虽然都可以有效地预防死锁,但都上述两种方法虽然都可以有效地预防死锁,但都存在一些问题,因此真正实施起来并不方便

20、。所以预存在一些问题,因此真正实施起来并不方便。所以预防死锁的策略不很适合数据库的特点,防死锁的策略不很适合数据库的特点,DBMS普遍采用普遍采用诊断死锁并解除的方法。诊断死锁并解除的方法。2024/7/26数据库系统数据库系统25(3)超时法)超时法 当一个事务的等待时间超过了规定的时限,就认为发当一个事务的等待时间超过了规定的时限,就认为发生了死锁。生了死锁。存在的问题:存在的问题: 时限规定的太短,可能误判死锁,规定的太长,又不能时限规定的太短,可能误判死锁,规定的太长,又不能及时发现死锁。因此很难确定一个合理的时限。及时发现死锁。因此很难确定一个合理的时限。(4)等待图法)等待图法 用

21、一个有向图表示事务等待的情况。用一个有向图表示事务等待的情况。图中节点表示事务,边表示事务间的等待图中节点表示事务,边表示事务间的等待关系。并发控制子系统定时检查此图,若关系。并发控制子系统定时检查此图,若发现有回路,则产生死锁。发现有回路,则产生死锁。发生死锁时,解除死锁的方法:发生死锁时,解除死锁的方法: 选择一个处理代价最小的事务,将其撤消。选择一个处理代价最小的事务,将其撤消。ROLLBACK2024/7/26数据库系统数据库系统261. 实体完整性实体完整性 定义基本表的主关键字时定义基本表的主关键字时, 用用 NOT NULL指明要求非空指明要求非空 UNIQUE指明要求唯一指明要

22、求唯一2. 参照完整性参照完整性 定义基本表时,可以定义一个主键和若干个外键定义基本表时,可以定义一个主键和若干个外键 定义外键时,用定义外键时,用REFERENCES定义外键来自的表名定义外键来自的表名 可以用参照完整性任选项可以用参照完整性任选项ON DELETE 有了有了ON DELETE,当要删除被参照表中被引用的主,当要删除被参照表中被引用的主键时,为了不破坏参照完整性约束,提供三种可能的处键时,为了不破坏参照完整性约束,提供三种可能的处理办法:理办法:SQL的完整性实现的完整性实现2024/7/26数据库系统数据库系统27ON DELETERESTRICT:被参照表所引用的主键:被

23、参照表所引用的主键 不得删除不得删除CASCADE:若被参照表中删除了某:若被参照表中删除了某 一主键,参照表中引用一主键,参照表中引用 此主键的行也随之删除此主键的行也随之删除SET NULL:若被参照表中删除了某:若被参照表中删除了某 一主键,参照表中引用一主键,参照表中引用 此主键的字段置为此主键的字段置为 NULL2024/7/26数据库系统数据库系统28部门关系部门关系 DEPTDNO DNAMED001 一车间一车间D002 二车间二车间D003 财务科财务科D004 人事处人事处D005 科技处科技处例如:例如:职工关系职工关系 EMPENO ENAME DNOE001 张一张一

24、 D002 E002 张三张三 D003E003 李四李四 D001E004 李五李五 D001E005 刘六刘六 D002E006 刘七刘七 D004E007 王三王三 D003E008 王发王发 D001E009 钱好钱好 D004主键主键外键(外键(DEPT的主键)的主键)主键主键则则DEPT中前四个记录不能删除,第五个记录可删除中前四个记录不能删除,第五个记录可删除 若对外键若对外键DNO的定义是的定义是ON DELETE RESTRICT,2024/7/26数据库系统数据库系统29部门关系部门关系 DEPTDNO DNAMED001 一车间一车间D002 二车间二车间D003 财务科

25、财务科D004 人事处人事处D005 科技处科技处例如:例如:职工关系职工关系 EMPENO ENAME DNOE001 张一张一 D002 E002 张三张三 D003E003 李四李四 D001E004 李五李五 D001E005 刘六刘六 D002E006 刘七刘七 D004E007 王三王三 D003E008 王发王发 D001E009 钱好钱好 D004主键主键外键(外键(DEPT的主键)的主键)主键主键当删除当删除DEPT中中D002记录时,记录时, 若对外键若对外键DNO的定义是的定义是ON DELETE CASCADE,则则EMP中中E001和和E005两条记录也被删除两条记录

26、也被删除2024/7/26数据库系统数据库系统30部门关系部门关系 DEPTDNO DNAMED001 一车间一车间 D003 财务科财务科D004 人事处人事处D005 科技处科技处例如:例如:职工关系职工关系 EMPENO ENAME DNO E002 张三张三 D003E003 李四李四 D001E004 李五李五 D001 E006 刘七刘七 D004E007 王三王三 D003E008 王发王发 D001E009 钱好钱好 D004主键主键DEPT的外键的外键主键主键当删除当删除DEPT中中D002记录时,则记录时,则EMP中中E001和和E005两条记录也被删除两条记录也被删除 若

27、对外键若对外键DNO的定义是的定义是ON DELETE CASCADE,D003 财务科财务科D004 人事处人事处D005 科技处科技处E002 张三张三 D003E003 李四李四 D001E004 李五李五 D001E006 刘七刘七 D004 E007 王三王三 D003E008 王发王发 D001E009 钱好钱好 D004 主键主键外键外键主键主键2024/7/26数据库系统数据库系统31部门关系部门关系 DEPTDNO DNAMED001 一车间一车间D002 二车间二车间D003 财务科财务科D004 人事处人事处D005 科技处科技处例如:例如:职工关系职工关系 EMPENO

28、 ENAME DNOE001 张一张一 D002 E002 张三张三 D003E003 李四李四 D001E004 李五李五 D001E005 刘六刘六 D002E006 刘七刘七 D004E007 王三王三 D003E008 王发王发 D001E009 钱好钱好 D004主键主键外键(外键(DEPT的主键)的主键)主键主键 若对外键若对外键DNO的定义是的定义是ON DELETE SET NULL,则则E001和和E005两条记录的两条记录的DNO置为置为NULLNULLNULLD003 财务科财务科D004 人事处人事处D005 科技处科技处主键主键当删除当删除DEPT中中D002记录时,

29、记录时,2024/7/26数据库系统数据库系统323、用户定义的完整性、用户定义的完整性 在定义字段时用在定义字段时用CHECK子句,说明该列应满足的条件。子句,说明该列应满足的条件。4、示例:、示例:定义学生表定义学生表 S,课程表,课程表 C、选课表、选课表 SCCREATE TABLE S(S# CHAR(8) NOT NULL UNIQUE,SN VARCHAR(20) NOT NULL,SD VARCHAR(15),),SA SMALLINT CHECK(SA15),PRIMARY KEY (S#);); CREATE TABLE C(C# CHAR(4) NOT NULL UNIQ

30、UE,CN VARCHAR(20) NOT NULL,PRIMARY KEY (C#);); 格式:格式: CHECK(条件)(条件)2024/7/26数据库系统数据库系统33CREATE TABLE SC(S# CHAR(8) NOT NULL,C# CHAR(4) NOT NULL,G CHAR(1),),PRIMARY KEY (S#,C#)FOREIGN KEY (S#) REFERENCES S ON DELETE CASCADE,FOREIGN KEY (C#) REFERENCES C ON DELETE RESTRICT );); 组合主键组合主键来自来自S中的外键中的外键若若

31、S中某学生记录被删除中某学生记录被删除SC中该生选课记录全删中该生选课记录全删 若某课程有人选修,则若某课程有人选修,则C中该课程选课记录不能删中该课程选课记录不能删来自来自C中的外键中的外键2024/7/26数据库系统数据库系统34又如:定义职工表又如:定义职工表 EMP(ENO,ENAME,DNO),), 部门表部门表 DEPT(DNO,DNAME)CREATE TABLE DEPT(DNO CHAR(4)NOT NULL UNIQUE,DNAME CHAR(12) NOT NULL,PRIMARY KEY (DNO);); CREATE TABLE EMP(ENO CHAR(5) NOT

32、 NULL UNIQUE,ENAME CHAR(8) NOT NULL,DNO CHAR(4),),PRIMARY KEY (ENO)FOREIGN KEY (DNO) REFERENCES DEPT ON DELETE SET NULL,);); 若某部门被撤消若某部门被撤消则该部门原职工则该部门原职工的的DNO置为空值置为空值2024/7/26数据库系统数据库系统355、说明、说明 用用SQL可在基本表定义时来定义完整性检查可在基本表定义时来定义完整性检查 优:简单、清晰优:简单、清晰 缺:不够灵活、功能不强(如插入、修改时的完整性检查)缺:不够灵活、功能不强(如插入、修改时的完整性检查) 此外此外, 用用SQL还可在基本表定义时来定义还可在基本表定义时来定义缺省(缺省(default)格式:格式:DEFAULT值值USERNULL功能:在该列未输入值时,以指定值填入功能:在该列未输入值时,以指定值填入用户指定的值用户指定的值填入用户标识符填入用户标识符填入填入NULL例如,在例如,在S表中,若有民族属性,在定义表中,若有民族属性,在定义S时可如下进行:时可如下进行: CREATE TABLE S(, MZ VARCHAR(10) ););此资料为湖南省信用社考试培训计算机专业资料需详细资料请添加微信:kongskype非诚勿扰 (请备注说明 信用社考试+专业)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号