本章主要讨论数据库系统的基本概念,基本原理,基本方法以及有关的应用。内容包括:数据库系统的组成、关系数据库、数据库设计以及数据库相关技术。要求学生通过本课程的学习了数据库系统的基本概念,掌握相关的知识,初步掌握数据库设计方法,并能用数据库系统建立数据库及简单的应用。
1.数据库系统(DBS)是一个复杂的系统,它是采用了数据库技术的计算机系统。DBS不仅仅是一组对数据库进行管理的软件(即DBMS),也不仅仅是一个数据库(DB)。DBS是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是存储介质、处理对象和管理系统的集合体,由数据库、硬件、软件和数据库管理员四部分组成。(1)模式翻译:提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。
(2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。
(3)交互式查询:提供易使用的交互式查询语言,如sql。dbms负责执行查询命令,并将查询结果显示在屏幕上。
(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。
⑸事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。
(6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。
基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在各户服务器结构的分布式多用户环境中的应用,使数据库系统的应用进一步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期dbms软件的性能还将更新和完善,应用领域也将进一步地拓宽。
它所提供的功能有以下几项:
(1)、数据定义功能。
(2)、数据管理功能。
(3)、对数据库进行保护。
(4)、数据库的建立和维护。
(5)、数据库的传输。
随着计算机应用的需求产生而产生的,从20世纪六十年代开始经历了三个主要的发展阶段
人工管理
文件系统
数据库系统
数据结构化,节省存储空间,灵活性提高,整体数据的结构化,不仅是面向一个应用,是面向全组织整体信息的结构化;
应用程序和数据存储彼此分开
物理存储改变不影响应用程序
逻辑独立性
应用程序逻辑和数据存储逻辑彼此分开
存储逻辑改变,不影响应用
DBMS统一的管理和控制:
数据安全性(security)-防止数据的非法使用
数据完整性(integrity)-数据的正确,有效和相容
并发控制(concurrency)-多用户并发访问的控制和协调
数据库恢复(recovery)-由于意外故障的数据恢复。保证数据库的正确状态
4.
数据模型
t模型
t数据模型(data model)是现实世界数据特征的抽象
t数据模型不仅要反应数据本身,还要反应出数据之间的关系
t数据模型的要求
t真实
t易于理解
t易于通过计算机实现
数据模型的两种类型
t根据模型的不同应用目的
t概念模型(信息模型)
t用户角度,用于数据库设计
t数据模型
t计算机系统的角度,用于DBMS实现
t网状模型
t层次模型
t关系模型
数据模型的组成要素
t数据结构
t数据操作
t完整性约束
数据结构
t是所研究对象类型的集合
t数据内容
t数据和数据之间的联系
t是数据库的静态描述
数据操作
t是对数据库中各个对象允许执行操作的集合以及相关操作的规则
t插入,删除,修改
数据的约束条件
t约束条件是是一组完整性规则的集合
t给定数据模型中数据及其联系具有的制约和依存规则
5概念模型
t是现实世界到信息世界的第一层抽象
t数据库设计人员进行数据库设计的工具
一些基本概念
t实体(Entity)-可以相互区别的事物
t属性(attribute)实体的某一方面特性
t码(key)唯一标识实体的属性集
t域(domain)属性的取值范围
t实体型(entity type)用实体名和属性名集合来描述同类实体,称为实体型
t实体集(entity set)同型实体的集合
t关系(relationship)实体内部或者实体之间的关系
联系
t1:1(一对一)
t实体集A中每一个实体在实体集B中至多有1个实体与之联系,反之亦然
t1:n(一对多)
t实体集A中每一个实体在实体集B中至有n个实体与之联系,反之是1:1关系
tM:n(多对多)
t实体集A中每一个实体在实体集B中至有n个实体与之联系,反之亦然
5.概念模型
t是现实世界到信息世界的第一层抽象
t数据库设计人员进行数据库设计的工具
一些基本概念
t实体(Entity)-可以相互区别的事物
t属性(attribute)实体的某一方面特性
t码(key)唯一标识实体的属性集
t域(domain)属性的取值范围
t实体型(entity type)用实体名和属性名集合来描述同类实体,称为实体型
t实体集(entity set)同型实体的集合
t关系(relationship)实体内部或者实体之间的关系
联系
t1:1(一对一)
t实体集A中每一个实体在实体集B中至多有1个实体与之联系,反之亦然
t1:n(一对多)
t实体集A中每一个实体在实体集B中至有n个实体与之联系,反之是1:1关系
tM:n(多对多)
t实体集A中每一个实体在实体集B中至有n个实体与之联系,反之亦然
P.P.S.chen 1976年提出的实体-联系方法
E-R模型 反应实体型 属性和联系
实体型 矩形 内部写实体名
属性 椭圆 用无向边和对应的实体联系起来
联系 菱形 内写联系名 无向边标识联系类型
6.关系模型
t目前最重要的数据库数据模型,关系型数据库采用关系模型做为数据的组织形式
t1970年由E.F.Codd首次提出,因此获得1981年图灵奖
t本课程重点也是关系型数据库
关系数据库的基本概念
t关系(relation) 对应一张二维表
t元组(tuple)表中的一行称为一个元组
t属性(attribute)表中的一列称为一个属性,属性的名称叫属性名
t主码(key)某个属性组,可以唯一的确定一个元组
t域(domain)属性的取值范围
t分量:元组的一个属性值
t关系模式:对关系的描述 关系名(属性1,属性2,属性3)
t关系模型中数据操纵包括:查询,插入,删除,和修改,所有的操纵是真对关系表进行
t关系的完整性主要包含以下三个方面
t实体完整性
t参照完整性
t用户定义完整性
关系模型的存储结构
t在物理存储中,数据以表格的形式存在
t实体
t实体和实体之间的联系
关系型数据库的优缺点
t优点
t理论基础完善
t模型单一,无论实体和实体关系统一用表的形式表示
t存取方式对用户透明,具有更好的数据独立性
t缺点
t查询效率较低
t需要用户对查询进行优化
7.数据库系统结构
t数据库管理的角度(内部结构)
t采用三级模式结构
t数据库用户的角度(外部结构)
t集中式结构
t分布式结构
t客户/服务器结构
t并行结构
数据库系统模式的概念
t型(type):一类数据结构和属性的说明
t值(value):是型的一个具体赋值
t模式(schema)数据库中全部数据的逻辑结构和特征描述
t实例(instance)模式的一个具体取值
t数据库一般采用三级模式结构
三级模式结构
t外模式
t模式
t内模式
t全部数据逻辑结构和特征的描述
t所有用户的公共视图
t处于中间层:不涉及物理存储,也不涉及最终用户的设计和使用
t一个数据库只有一个模式
tDDL 用来定义数据库的模式
外模式
t也称为子模式(subschema)是对数据库用户局部逻辑结构和特征的描述
t是模式的子集,一个数据库可以有多个外模式
t是数据库安全性的有力措施
t外模式通过DDL来定义
内模式
t也称为存储模式(storage schema)
t描述数据的物理结构和存储方式
t一个数据库只有一个内模式
t通过内模式DDL来定义内模式
二级映像和数据独立性
t内模式-模式映像
t模式-外模式映像
t通过两层映像保证数据库的逻辑独立性和物理独立性
内模式-模式映像
t全局和部分的关系
t对应每个外模式,数据库对应一个内模式-模式映像
t但模式改变时,外模式保持不变,应用程序不需要做相应修改:逻辑独立性
模式-外模式映像
t内模式-模式映像是唯一的
t定义数据库全局逻辑和物理存储之间的对应关系
t存储结构改变不影响数据库的逻辑结构,这称为数据库的物理独立性
8.数据库系统的组成
t硬件平台及数据库
t软件(DBMS,OS,开发工具,应用程序)
t人员 (DBA,数据分析员和设计员,应用程序员,用户)
DBA职责
t数据库内信息的内容和结构
t存储结构和存储策略
t完整性约束和安全性条件
t监控数据库运行
t数据库改进和重组
9.数据库技术的研究领域
tDBMS的研制
t数据库设计
t数据库理论