第8章数据库管理系统_第1页
第8章数据库管理系统_第2页
第8章数据库管理系统_第3页
第8章数据库管理系统_第4页
第8章数据库管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第8章数据库管理系统

本章讨论的主要问题是:1.什么是数据库?为什么用数据库来存储大批量的数据?2.如何将现实世界中大量的、复杂的数据存储到数据库中?3.如何有效地获取和处理数据库中的数据?4.数据的集中存储和管理会带来什么问题?如何保护数据库中的数据?情景问题——查找肇事车辆

情景问题:肇事者是一名男性青年,驾驶一辆红色轿车,牌照是吉AP???9,肇事后向东南方向逃走。请查询!存储轿车的有关信息——轿车数据表姓名年龄性别车号…王一35男吉AP2829

…SQL查询语句select姓名,年龄,性别from轿车数据表where颜色=“红”

and车号=like(P???9)第8章数据库管理系统——什么是数据库

数据独立存储,产生冗余和修改不一致人事处、教务处、财务处和科研处都分别存储了教师的职称信息,某位教师由副教授评为教授,如何更改?第8章数据库管理系统——什么是数据库

为了满足同一个单位的不同部门共享数据的要求,解决数据重复存储和修改不一致等问题,可以将教师的数据信息组织到一起并存储到数据库中,对数据进行集中的存储和管理。数据库(DataBase,DB)是能够被统一管理的相关数据集合,这些数据具有一定的结构,能够长期存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户共享。第8章数据库管理系统——什么是数据库

数据库管理系统(DataBaseManagementSystem,DBMS)是为数据库的建立、使用和维护而配置的系统软件,是用户和数据库之间的一个接口,用户通过数据库管理系统定义和操纵数据库中的数据,并保证数据的安全性、完整性、并发操作以及故障发生后的系统恢复。目前,流行的数据库管理系统有Oracle、DB2、Sybase、SQLServer和Access等。如何建立和使用数据库?第8章数据库管理系统——什么是数据库

用户对数据库的操作过程是:(1)用户(通过应用程序)向DBMS提出操作请求并提交必要的参数,控制转入DBMS;(2)DBMS分析用户提交的命令和参数向操作系统发出相应的执行命令,控制转移到操作系统;(3)操作系统分析命令参数,在数据库上实现具体的操作,将操作结果送入系统缓冲区,控制返回给DBMS;(4)DBMS将系统缓冲区中的数据取出呈现给用户。

DBMS在计算机系统中的位置第8章数据库管理系统——什么是数据库

(1)数据定义。能够对数据库的数据模型进行定义,能够对数据库的完整性、安全性和保密性进行定义。(2)数据操纵。提供操作接口,使得用户能够方便地对数据进行增加、删除、修改、查询、统计和打印等各种操作。(3)事务管理。通过并发控制、存取控制、完整性控制、安全性控制、系统恢复等机制,实现事务管理功能,以保证数据库的完整性和有效性。(4)数据维护。能够对数据库进行各种维护,包括数据库的初始化、数据转储、数据库性能监测、数据库重组等。(5)其他功能。为了扩大数据库的应用,数据库管理系统还应提供与其他类型数据库之间的格式转换以及网络通信等功能。DBMS的基本功能第8章数据库管理系统——什么是数据库

结构化查询语言(StructuredQueryLanguage,SQL语言)是一种通用的国际标准数据库语言,用户可以使用SQL语言对来自各种不同厂商的数据库进行操作。SQL语言属于4GL,是非过程式程序设计语言,当用户提出某项操作请求时,只需指明“做什么”,而不必指明“如何做”,由DBMS来决定对指定数据使用何种存取手段以保证最快的操作速度。SQL语言不仅功能强大,而且语法接近英语口语,符合人类的思维习惯,因此,较为容易学习和掌握。结构化查询语言SQL

第8章数据库管理系统——什么是数据库

结构化查询语言SQL

用户使用SQL语言向DBMS提出操作请求用户使用SQL语言向DBMS提出操作请求可以在DBMS中直接键入SQL命令,还可以嵌入到程序语言中第8章数据库管理系统——数据库的使用

数据表示——建立数据库

计算机科学用实体这个概念来表示客观存在的事物。一般说来,一种事物都会有各种各样的特征,表示了事物不同方面的性质,我们从业务处理的需要出发,从事物的特征中选取出有限个特征作为属性来刻画这个实体。事物-特征实体-属性抽象第8章数据库管理系统——数据库的使用

数据表示——建立数据库

计算机科学用实体这个概念来表示客观存在的事物。一般说来,一种事物都会有各种各样的特征,表示了事物不同方面的性质,我们从业务处理的需要出发,从事物的特征中选取出有限个特征作为属性来刻画这个实体。事物-特征实体-属性抽象将现实世界抽象为E-R模型

第8章数据库管理系统——数据库的使用

数据表示——建立数据库

实体之间的联系通常有以下3种:(1)一对一联系;(2)一对多联系;(3)多对多联系。

通常用实体-联系图(E-R图)来描述实体以及实体之间的联系。

将现实世界抽象为E-R模型

实体属性属性联系第8章数据库管理系统——数据库的使用

数据表示——建立数据库

例8.1为学生选课系统建立实体-联系图。第8章数据库管理系统——数据库的使用

数据表示——建立数据库

将E-R模型影射为关系模型

关系模型的基本思想是把实体以及实体之间的联系都看成是关系,以二维表的形式描述,称为数据表。表中的列对应实体的属性,每一列的数据总是取自同一个集合,这个集合称为域,每个实体对应表中的行,称为记录,可以惟一标识一个记录的属性称为主键。第8章数据库管理系统——数据库的使用

数据表示——建立数据库

属性名主键记录(行)属性(列)字符串整数男/女计算机、……日期型域基础科学1986/03/26女汤晓影0003工商管理1987/12/25男李明0002计算机1986/09/02男陆宇0001所在学院出生日期性别姓名学号关系第8章数据库管理系统——数据库的使用

数据表示——建立数据库

例8.2将例8.1抽象出的E-R模型映射为关系模型。学生关系——学生信息表(学号,姓名,所在学院,所学专业,班级)课程关系——课程信息表(课程号,课程名,学时,学分)选课关系——学生成绩表(学号,课程号,成绩)第8章数据库管理系统——数据库的使用

数据表示——建立数据库

例8.2将例8.1抽象出的E-R模型映射为关系模型。第8章数据库管理系统——数据库的使用

数据表示——建立数据库

为什么学生成绩表只存储学号?存储姓名?学号和姓名?第8章数据库管理系统——数据库的使用

数据表示——建立数据库

SQL语言使用CREATETABLE语句定义数据表。例如,定义学生选课系统的学生信息表,其SQL语句为:采用SQL语言定义数据库

第8章数据库管理系统——数据库的使用

数据处理——操作数据库

对数据库的操作主要是通过SQL语言向DBMS发出操作请求。1.数据查询:SQL语言使用SELECT语句进行数据查询。例如,从student数据表中查找080401班级的所有学生,其SQL语句为:第8章数据库管理系统——数据库的使用

数据处理——操作数据库

对数据库的操作主要是通过SQL语言向DBMS发出操作请求。2.数据更新主要包括对记录进行增加、删除和修改等操作。例如,在数据表student中删除陆宇同学的记录信息,其SQL语句为:第8章数据库管理系统——数据库的使用

数据处理——操作数据库

对数据库的操作主要是通过SQL语言向DBMS发出操作请求。3.数据控制主要实现用户对数据的存取权限进行控制,包括数据表的授权、完整性规则的描述和事务控制等。例如,把数据表student的查询权限授予用户U2,其SQL语句为:你体会到4GL语言的好处了吗?第8章数据库管理系统——数据库的使用

数据保护机制

数据库集中存储了企业数据,是企业重要的信息资源,如何保证数据的正确性和安全性是数据库应用极其关键的课题。现代数据库系统主要从安全性、完整性、并发控制、故障恢复等方面保护数据库。事务是并发控制和故障恢复的基本单位,所谓事务是由用户定义的一个数据库操作序列,是一个不可分割的逻辑工作单元,这些操作或者全部执行成功,或者一个也不执行。第8章数据库管理系统——数据库的使用

数据保护机制

数据库的安全性主要通过控制数据库的访问权限,防止非法入侵和破坏。身份识别:数据库最基本的安全保护措施,例如设置口令和密码;访问权限:对有权进入数据库的用户要进一步进行存取控制,事先规定允许用户访问数据的范围以及有权执行的操作,然后在用户发出数据库操作请求的时候进行合法权限的检查。加密存储:在对安全性要求非常高的应用系统,也可以将数据进行加密后存储在数据库中。第8章数据库管理系统——数据库的使用

数据保护机制

数据库的完整性在于保证数据库里的数据语义是正确的。例如,在数据库里要执行一个转帐事务:(1)从一个账户减去一笔钱;(2)在另外一个账户里加上同样数目的钱。如果不进行完整性检验,可能出现对这个两个账户的更新操作只做了其中之一或转帐的数目不同,显然,破坏了数据的完整性。第8章数据库管理系统——数据库的使用

数据保护机制

数据库的完整性在于保证数据库里的数据语义是正确的。对数据库的并发操作可能会破坏数据库的完整性,例如:(1)A售票点读出某航班的余票数T,设T为100;(2)B售票点读出同一航班的余票数T,则T也为100;(3)A售票点售出一张机票,修改余票数T为99写回数据库;(4)B售票点售出一张机票,修改余票数T为99写回数据库。通常采用封锁保证数据库的完整性。所谓封锁是指事务A在对某个数据对象操作之前,先向系统发出操作请求,并对其进行加锁,于是事务A对该数据对象具有一定的控制权,其他事务不能更新此数据对象直到事务A释放这个锁。第8章数据库管理系统——数据库的使用

数据保护机制

故障恢复。任何系统都免不了会发生故障,运行的突然中断可能使数据库处在错误状态,而故障排除后通常没有办法让系统精确地从断点继续执行下去,这就要求数据库管理系统有一套故障后的数据恢复机制。任何数据修复的方法都要基于数据备份,其核心是记录运行日志,记录每个事务的关键操作信息,如果发生故障时事务未执行完,恢复时就要把做了一半的事务取消,这称为滚回,也就是将数据库的状态恢复到故障发生之前的状态。第8章数据库管理系统——回答问题学完本章,你将如何回答下列问题:1.什么是数据库?为什么用数据库来存储大批量的数据?2.如何将现

温馨提示

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

评论

0/150

提交评论