资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统 本章讨论的主要问题是:本章讨论的主要问题是: 1. 什么是数据库?为什么用数据库来存储大批量的数据什么是数据库?为什么用数据库来存储大批量的数据? 2. 如何将现实世界中大量的、复杂的数据存储到数据库如何将现实世界中大量的、复杂的数据存储到数据库中?中? 3. 如何有效地获取和处理数据库中的数据?如何有效地获取和处理数据库中的数据? 4. 数据的集中存储和管理会带来什么问题?如何保护数数据的集中存储和管理会带来什么问题?如何保护数据库中的数据?据库中的数据?计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社情景问题情景问题查找肇事车辆查找肇事车辆 情景问题:情景问题:肇事者是一名男性青年,驾驶一辆红色轿车,牌照肇事者是一名男性青年,驾驶一辆红色轿车,牌照是吉是吉A P?9,肇事后向东南方向逃走。,肇事后向东南方向逃走。请查询!请查询!存储轿车的有关信息存储轿车的有关信息轿车数据表轿车数据表姓名年龄性别车号王一35男吉A P2829 SQLSQL查询语句查询语句select select 姓名,年龄,性别姓名,年龄,性别 from from 轿车数据表轿车数据表where where 颜色颜色“红红” ” and and 车号车号like(P?9)like(P?9)计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 数据独立存储,产生冗余和修改不一致数据独立存储,产生冗余和修改不一致 人事处、教务处、财务处和科研处都分别存储了教师的人事处、教务处、财务处和科研处都分别存储了教师的职称信息,某位教师由副教授评为教授,如何更改?职称信息,某位教师由副教授评为教授,如何更改? 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 为了满足同一个单位的不同部门共享数据的要求,解决数据为了满足同一个单位的不同部门共享数据的要求,解决数据重复存储和修改不一致等问题,可以将教师的数据信息组织重复存储和修改不一致等问题,可以将教师的数据信息组织到一起并存储到数据库中,对数据进行集中的存储和管理。到一起并存储到数据库中,对数据进行集中的存储和管理。 数据库(数据库(Data Base,DB)是能够被统一管理的相关数据集是能够被统一管理的相关数据集合,这些数据具有一定的结构,能够长期存储,具有较小的合,这些数据具有一定的结构,能够长期存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户共冗余度、较高的数据独立性和易扩展性,并可为多个用户共享。享。计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 n 数据库管理系统(数据库管理系统(Data Base Management System,DBMS)是为数据库的建立、使用和维护而配置的系统软件,是为数据库的建立、使用和维护而配置的系统软件,是用户和数据库之间的一个接口,用户通过数据库管理系统是用户和数据库之间的一个接口,用户通过数据库管理系统定义和操纵数据库中的数据,并保证数据的安全性、完整性、定义和操纵数据库中的数据,并保证数据的安全性、完整性、并发操作以及故障发生后的系统恢复。并发操作以及故障发生后的系统恢复。n 目前,流行的数据库管理系统有目前,流行的数据库管理系统有Oracle、DB2、Sybase、SQL Server和和Access等。等。如何建立和使用数据库?如何建立和使用数据库?计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 用户对数据库的操作过程是:用户对数据库的操作过程是:(1)用户(通过应用程序)向)用户(通过应用程序)向DBMS提出操作请求并提交必要的参数,控提出操作请求并提交必要的参数,控制转入制转入DBMS;(2)DBMS分析用户提交的命令和参分析用户提交的命令和参数向操作系统发出相应的执行命令,数向操作系统发出相应的执行命令,控制转移到操作系统;控制转移到操作系统;(3)操作系统分析命令参数,在数据)操作系统分析命令参数,在数据库上实现具体的操作,将操作结果送库上实现具体的操作,将操作结果送入系统缓冲区,控制返回给入系统缓冲区,控制返回给DBMS;(4)DBMS将系统缓冲区中的数据取将系统缓冲区中的数据取出呈现给用户。出呈现给用户。 DBMS在计算机系统中的位置在计算机系统中的位置计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 (1)数据定义数据定义。能够对数据库的数据模型进行定义,能够对。能够对数据库的数据模型进行定义,能够对数据库的完整性、安全性和保密性进行定义。数据库的完整性、安全性和保密性进行定义。(2)数据操纵数据操纵。提供操作接口,使得用户能够方便地对数据。提供操作接口,使得用户能够方便地对数据进行增加、删除、修改、查询、统计和打印等各种操作。进行增加、删除、修改、查询、统计和打印等各种操作。(3)事务管理事务管理。通过并发控制、存取控制、完整性控制、安。通过并发控制、存取控制、完整性控制、安全性控制、系统恢复等机制,实现事务管理功能,以保证数全性控制、系统恢复等机制,实现事务管理功能,以保证数据库的完整性和有效性。据库的完整性和有效性。(4)数据维护数据维护。能够对数据库进行各种维护,包括数据库的。能够对数据库进行各种维护,包括数据库的初始化、数据转储、数据库性能监测、数据库重组等。初始化、数据转储、数据库性能监测、数据库重组等。(5)其他功能其他功能。为了扩大数据库的应用,数据库管理系统还。为了扩大数据库的应用,数据库管理系统还应提供与其他类型数据库之间的格式转换以及网络通信等功应提供与其他类型数据库之间的格式转换以及网络通信等功能。能。DBMS的基本功能的基本功能计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 n 结构化查询语言(结构化查询语言(Structured Query Language,SQL语言)语言)是一种是一种通用通用的国际标准的国际标准数据库语言数据库语言,用户可以使用,用户可以使用SQL语言语言对来自各种不同厂商的数据库进行操作。对来自各种不同厂商的数据库进行操作。n SQL语言属于语言属于4GL,是非过程式程序设计语言,当用户提,是非过程式程序设计语言,当用户提出某项操作请求时,只需指明出某项操作请求时,只需指明“做什么做什么”,而不必指明,而不必指明“如如何做何做”,由,由DBMS来决定对指定数据使用何种存取手段以保证来决定对指定数据使用何种存取手段以保证最快的操作速度。最快的操作速度。n SQL语言不仅功能强大,而且语法接近英语口语,符合人语言不仅功能强大,而且语法接近英语口语,符合人类的思维习惯,因此,较为容易学习和掌握。类的思维习惯,因此,较为容易学习和掌握。结构化查询语言结构化查询语言SQL 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统什么是数据库什么是数据库 结构化查询语言结构化查询语言SQL 用户使用用户使用SQL语言向语言向DBMS提出操作请求提出操作请求用户使用用户使用SQL语言向语言向DBMS提出操作请求提出操作请求可以在可以在DBMS中直接键入中直接键入SQL命令,还可以嵌入到程序语言中命令,还可以嵌入到程序语言中 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 计算机科学用计算机科学用实体实体这个概念来表示客观存在的这个概念来表示客观存在的事物事物。一般。一般说来,一种事物都会有各种各样的说来,一种事物都会有各种各样的特征特征,表示了事物不同,表示了事物不同方面的性质,我们从业务处理的需要出发,从事物的特征方面的性质,我们从业务处理的需要出发,从事物的特征中选取出有限个特征作为中选取出有限个特征作为属性属性来刻画这个实体。来刻画这个实体。事物事物-特征特征实体实体-属性属性抽抽 象象计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 计算机科学用计算机科学用实体实体这个概念来表这个概念来表示客观存在的示客观存在的事物事物。一般说来,。一般说来,一种事物都会有各种各样的一种事物都会有各种各样的特征特征,表示了事物不同方面的性质,我表示了事物不同方面的性质,我们从业务处理的需要出发,从事们从业务处理的需要出发,从事物的特征中选取出有限个特征作物的特征中选取出有限个特征作为为属性属性来刻画这个实体。来刻画这个实体。事物事物-特征特征实体实体-属性属性抽抽 象象将现实世界抽象为将现实世界抽象为E-R模型模型 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 n 实体之间的联系通常有以下实体之间的联系通常有以下3种:种:(1)一对一联系;)一对一联系;(2)一对多联系;)一对多联系;(3)多对多联系。)多对多联系。n 通常用实体通常用实体-联系图(联系图(E-R图)图)来描述实体以及实体之间的联系。来描述实体以及实体之间的联系。 将现实世界抽象为将现实世界抽象为E-R模型模型 实体实体属性属性属性属性联系联系计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 例例8.1 为学生选课系统建立实体为学生选课系统建立实体-联系图。联系图。计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 将将E-R模型影射为关系模型模型影射为关系模型 n 关系模型的基本思想是把实关系模型的基本思想是把实体以及实体之间的联系都看成体以及实体之间的联系都看成是关系,以是关系,以二维表二维表的形式描述,的形式描述,称为称为数据表数据表。n 表中的表中的列列对应实体的对应实体的属性属性,每一列的数据总是取自同一个每一列的数据总是取自同一个集合,这个集合称为域,每个集合,这个集合称为域,每个实体对应表中的实体对应表中的行行,称为,称为记录记录,可以惟一标识一个记录的属性可以惟一标识一个记录的属性称为称为主键主键。 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 属性名属性名主键主键记记录录(行行)属性(列)属性(列)字符串字符串整数整数男男/女女计算机、计算机、日期型日期型域域基础科学基础科学 1986/03/26 女女汤晓影汤晓影 0003工商管理工商管理 1987/12/25 男男李明李明 0002计算机计算机 1986/09/02 男男陆宇陆宇 0001所在学院所在学院 出生日期出生日期 性别性别 姓名姓名 学号学号 关系关系计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 例例8.2 将例将例8.1抽象出的抽象出的E-R模型映射为关系模型。模型映射为关系模型。学生关系学生关系学生信息表(学生信息表(学号学号,姓名,所在学院,所学专业,班级),姓名,所在学院,所学专业,班级)课程关系课程关系课程信息表(课程信息表(课程号课程号,课程名,学时,学分),课程名,学时,学分)选课关系选课关系学生成绩表(学生成绩表(学号学号,课程号课程号,成绩),成绩)计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 例例8.2 将例将例8.1抽象出的抽象出的E-R模型映射为关系模型。模型映射为关系模型。计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 为什么学生成绩表只存储学号?存储姓名?学号和姓名?为什么学生成绩表只存储学号?存储姓名?学号和姓名?计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据表示数据表示建立数据库建立数据库 SQL语言使用语言使用CREATE TABLE语语句定义数据表。例如,定义学生句定义数据表。例如,定义学生选课系统的学生信息表,其选课系统的学生信息表,其SQL语句为:语句为: 采用采用SQL语言定义数据库语言定义数据库 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据处理数据处理操作数据库操作数据库 对数据库的操作主要是通过对数据库的操作主要是通过SQL语言向语言向DBMS发出操作请求。发出操作请求。1. 数据查询数据查询:SQL语言使用语言使用SELECT语句进行数据查询。语句进行数据查询。例如,从例如,从student数据表中查找数据表中查找080401班级的所有学生,其班级的所有学生,其SQL语句为:语句为:计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据处理数据处理操作数据库操作数据库 对数据库的操作主要是通过对数据库的操作主要是通过SQL语言向语言向DBMS发出操作请求。发出操作请求。2. 数据更新数据更新主要包括对记录进行增加、删除和修改等操作。主要包括对记录进行增加、删除和修改等操作。例如,在数据表例如,在数据表student中删除陆宇同学的记录信息,其中删除陆宇同学的记录信息,其SQL语句为:语句为:计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据处理数据处理操作数据库操作数据库 对数据库的操作主要是通过对数据库的操作主要是通过SQL语言向语言向DBMS发出操作请求。发出操作请求。3. 数据控制数据控制主要实现用户对数据的存取权限进行控制,包括主要实现用户对数据的存取权限进行控制,包括数据表的授权、完整性规则的描述和事务控制等。例如,把数据表的授权、完整性规则的描述和事务控制等。例如,把数据表数据表student的查询权限授予用户的查询权限授予用户U2,其,其SQL语句为:语句为:你体会到你体会到4GL语言的好处了吗?语言的好处了吗?计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据保护机制数据保护机制 n 数据库集中存储了企业数据,是企业重要的信息资源,如数据库集中存储了企业数据,是企业重要的信息资源,如何保证数据的何保证数据的正确性正确性和和安全性安全性是数据库应用极其关键的课题。是数据库应用极其关键的课题。n 现代数据库系统主要从安全性、完整性、并发控制、故障现代数据库系统主要从安全性、完整性、并发控制、故障恢复等方面保护数据库。恢复等方面保护数据库。n 事务是并发控制和故障恢复的基本单位,所谓事务是并发控制和故障恢复的基本单位,所谓事务事务是由用是由用户定义的一个户定义的一个数据库操作序列数据库操作序列,是一个不可分割的逻辑工作,是一个不可分割的逻辑工作单元,这些操作或者全部执行成功,或者一个也不执行。单元,这些操作或者全部执行成功,或者一个也不执行。计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据保护机制数据保护机制 n数数据据库库的的安安全全性性主主要要通通过过控控制制数数据据库库的的访访问问权权限限,防防止止非非法法入侵和破坏。入侵和破坏。n身身份份识识别别:数数据据库库最最基基本本的的安安全全保保护护措措施施,例例如如设设置置口口令令和和密码;密码;n访访问问权权限限:对对有有权权进进入入数数据据库库的的用用户户要要进进一一步步进进行行存存取取控控制制,事事先先规规定定允允许许用用户户访访问问数数据据的的范范围围以以及及有有权权执执行行的的操操作作,然然后在用户发出数据库操作请求的时候进行合法权限的检查。后在用户发出数据库操作请求的时候进行合法权限的检查。n加加密密存存储储:在在对对安安全全性性要要求求非非常常高高的的应应用用系系统统,也也可可以以将将数数据进行加密后存储在数据库中。据进行加密后存储在数据库中。计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据保护机制数据保护机制 n数据库的数据库的完整性完整性在于保证数据库里的数据语义是正确的。在于保证数据库里的数据语义是正确的。n例如,在数据库里要执行一个转帐事务:例如,在数据库里要执行一个转帐事务:(1)从一个账户减去一笔钱;)从一个账户减去一笔钱;(2)在另外一个账户里加上同样数目的钱。)在另外一个账户里加上同样数目的钱。如果不进行完整性检验,可能出现对这个两个账户的更新如果不进行完整性检验,可能出现对这个两个账户的更新操作只做了其中之一或转帐的数目不同,显然,破坏了数操作只做了其中之一或转帐的数目不同,显然,破坏了数据的完整性。据的完整性。 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据保护机制数据保护机制 n数据库的数据库的完整性完整性在于保证数据库里的数据语义是正确的。在于保证数据库里的数据语义是正确的。n对数据库的并发操作可能会破坏数据库的完整性,例如:对数据库的并发操作可能会破坏数据库的完整性,例如:(1)A售票点读出某航班的余票数售票点读出某航班的余票数T,设,设T为为100;(2)B售票点读出同一航班的余票数售票点读出同一航班的余票数T,则,则T也为也为100;(3)A售票点售出一张机票,修改余票数售票点售出一张机票,修改余票数T为为99写回数据库;写回数据库;(4)B售票点售出一张机票,修改余票数售票点售出一张机票,修改余票数T为为99写回数据库。写回数据库。通常采用封锁保证数据库的完整性。所谓通常采用封锁保证数据库的完整性。所谓封锁封锁是指事务是指事务 A在在对某个数据对象操作之前,先向系统发出操作请求,并对其对某个数据对象操作之前,先向系统发出操作请求,并对其进行加锁,于是事务进行加锁,于是事务 A对该数据对象具有一定的控制权,其对该数据对象具有一定的控制权,其他事务不能更新此数据对象直到事务他事务不能更新此数据对象直到事务 A释放这个锁。释放这个锁。 计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统数据库的使用数据库的使用 数据保护机制数据保护机制 n故故障障恢恢复复。任任何何系系统统都都免免不不了了会会发发生生故故障障,运运行行的的突突然然中中断断可可能能使使数数据据库库处处在在错错误误状状态态,而而故故障障排排除除后后通通常常没没有有办办法法让让系系统统精精确确地地从从断断点点继继续续执执行行下下去去,这这就就要要求求数数据据库库管管理理系系统统有有一一套故障后的数据恢复机制。套故障后的数据恢复机制。n任任何何数数据据修修复复的的方方法法都都要要基基于于数数据据备备份份,其其核核心心是是记记录录运运行行日日志志,记记录录每每个个事事务务的的关关键键操操作作信信息息,如如果果发发生生故故障障时时事事务务未未执执行行完完,恢恢复复时时就就要要把把做做了了一一半半的的事事务务取取消消,这这称称为为滚滚回回,也也就是将数据库的状态恢复到故障发生之前的状态。就是将数据库的状态恢复到故障发生之前的状态。计算机学科概论(第计算机学科概论(第2版)版)清华大学出版社清华大学出版社第第 8 章章 数据库管理系统数据库管理系统回答问题回答问题学完本章,你将如何回答下列问题:学完本章,你将如何回答下列问题:1. 什么是数据库?为什么用数据库来存储大批量的数据?什么是数据库?为什么用数据库来存储大批量的数据? 2. 如何将现实世界中大量的、复杂的数据存储到数据库中如何将现实世界中大量的、复杂的数据存储到数据库中? 3. 如何有效地获取和处理数据库中的数据?如何有效地获取和处理数据库中的数据? 4. 数据的集中存储和管理会带来什么问题?如何保护数据数据的集中存储和管理会带来什么问题?如何保护数据库中的数据?库中的数据?
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号