文章目录
数据库系统第一章
一、概论
数据管理好坏的标准:
- 数据冗余:数据冗余是指同一数据多次存放。产生的问题:浪费存储空间;修改麻烦;潜在的数据不一致性
- 数据共享:体现在多个应用可以使用同一数据、记录、数据项;同一时刻多个用户可存取同一数据
- 数据独立性:应用程序之间相互独立,不受影响。即数据结构的修改不引起应用程序修改的特性。数据独立性分为:数据逻辑独立性、数据物理独立性
- 数据统一集中管理:数据安全性、数据完整性、并发控制、数据库恢复
1.1 数据库与数据管理
数据库DB:按一定结构组织存储的、集成的、可共享的数据的集合
数据库管理系统DBMS:管理和维护数据库的系统软件
数据库系统DBS:具有管理数据库功能的计算机系统
文件系统与数据库系统的异同:
- 相同点:
- 都是以文件为基本单位存储数据
- 数据都有逻辑结构和物理结构之分
- 都有专门的软件系统管理数据
- 不同点:
- 文件文件系统中的文件是面向应用组织的,一个文件基本对应一个应用程序,数据间的联系弱;数据库系统中的文件是面向整个应用系统组织的,减少了数据冗余,实现了数据共享
- 数据库系统中的逻辑结构又分成局部数据逻辑结构和全局数据逻辑结构两级
- DBMS管理数据的功能比OS中的文件系统要强得多
1.2 数据模型与信息模型
信息模型:是表示实体及其联系的模型。是从用户角度对数据建模,用于DB设计。它是一种独立于计算机系统的模型
数据模型:是表示数据及其联系的模型。是对现实世界数据关系、特征的抽象。是从计算机角度对数据建模,用于DBMS实现
实体模型:
E-R图:直接从现实世界中抽象出实体类型及实体间联系,然后用E-R图表示的数据模型
数据模型:
三要素:
- 数据结构
- 数据操作
- 数据的完整性约束
数据结构有,基本数据模型(层次模型、网状模型、关系模型)、面向对象模型、XML数据模型、谓词模型、扩充的数据模型
关系模型
数据结构:关系、元组、属性、元数、关系模式
操作及完整性约束:
- 数据操纵:增删改查
- 需满足关系的完整性约束条件
- 使用非过程化语言
存储结构:以文件形式存储
1.3 数据库系统结构
从DBMS角度看(DBS内部体系结构):外部级、概念级、内部级
从BD用户角度看(DBS外部体系结构):单用户结构、主从结构、客户/服务器结构、分布式结构、并行结构
模型与模式的区别:模式是对模型的描述。模型是以图形来表示的,计算机是无法识别的,必须用一种语言来描述它,即DDL数据定义语言
三级模式结构
数据库的三级模式结构:
- 外模式/子模式:局部数据逻辑结构和特征的描述(多个)
- 概念模式/模式:全局数据逻辑结构和特征的描述(一个)。定义模式时不仅要定义数据的逻辑结构,还要定义与数据有关的安全性、完整性要求
- 内模式:数据物理结构和存储方式的描述
模式是内模式的逻辑表示,内模式是模式的物理实现,外模式是模式的逻辑子集
数据库的二级映像
- 外模式/模式映像:实现数据逻辑独立性
- 模式/内模式映像:实现数据物理独立性
数据抽象——三级数据库
用户DB:以外模式为结构建立起的数据库
逻辑DB:以模式为结构建立起的数据库
物理DB:以内模式为结构建立起的数据库
举例:
客户/服务器结构
C/S体系结构的关键在于功能的分布上。从数据库角度看,把原主机负担的非数据库系统的工作交给客户机承担,而数据库服务器则专司DBMS的功能
客户端:由一些应用程序组成
服务器:数据库、完成事务处理和数据控制等功能
两层C/S结构
应用程序运行在客户机上。当需要对数据库进行操作时,就向数据库服务器发一个请求,数据库服务器收到请求后执行相应的数据库操作,并将结果返回给客户机上的应用程序
三层C/S结构(B/S结构)
客户端:借助Web浏览器处理简单的客户端处理请求,显示用户界面及服务器端运行结果
Web服务器:负责接受远程或本地的数据查询请求,然后运行服务器脚本,借助中间件把数据通过ODBC发送到数据库服务器上以获取相关数据,再把结果数据传回客户的Browser
数据库服务器:负责管理数据库,处理数据更新及完成查询要求,运行存储过程
分布式系统
由一组数据库组成,它们分散在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力,它们可以执行局部应用,也可以通过通信系统执行全局应用
局部应用:仅访问发起应用的场地上数据的应用
全局应用:访问两个或两个以上场地上数据的应用
区分一个系统是若干个集中式数据库的简单联网还是DDBS的关键在于:系统是否支持全局应用
特点:
- 分布性:数据库中的数据不是存储在同一场地,而是分布存储在多个场地上
- 逻辑整体性:数据在逻辑上是相互联系的,是一个整体,支持全局应用
- 自治性:每个场地是独立的DBS,有自己的DB、DBMS、用户、CPU,能执行局部应用,具有高度自治性
- 协作性:各个场地DBS相互协作组成一个整体
优点:更大范围的数据共享
缺点:①数据的分布存放,给数据的处理、管理与维护带来困难;②系统的效率受网络通信的制约
数据库管理员DBA:①决定数据库中的信息内容和结构;②决定数据库的存储结构和存储策略;③定义数据的安全性要求和完整性约束条件;④监控数据库的使用和运行;⑤数据库的重组和重构
1.4 数据库管理系统DBMS
定义:介于用户和OS之间的系统软件,它实现对共享数据的有效组织、管理和各种操作
建立在OS之上,是用户操作、管理DB的工具
数据定义:使用DDL
数据操纵:使用DML
用户访问数据库的工作过程(重点)
- 应用程序A向DBMS发出读一个记录的命令。程序给出记录类型名及欲读记录的码值
- DBMS分析命令,并调用A对应的子模式,检查A的存取权限,决定是否执行A的命令
- 决定执行A的命令后,DBMS调用模式,根据子模式与模式变换的定义,确定所涉及的模式记录类型;通过模式与内模式的变换找到这些记录类型内模式名
- DBMS调用内模式,确定所读入的物理记录
- DBMS向OS发读该物理记录的命令
- OS执行读命令并把数据从外存读到内存的系统缓冲区
- DBMS按模式、子模式定义,导出用户程序所需要的记录形式,并送到应用程序A的工作区
- DBMS向应用程序A送命令执行情况的状态信息
- 记载日志。DBMS把对数据库更新操作的全部情况记载下来,以便数据库的恢复
- 应用程序检查状态信息,若成功,对工作区中的数据正常处理;若失败,决定下一步如何执行