1 / 25
文档名称:

《数据库系统概念》讲义(陈立军+).pdf

格式:pdf   页数:25页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《数据库系统概念》讲义(陈立军+).pdf

上传人:翩仙妙玉 2012/10/18 文件大小:0 KB

下载得到文件列表

《数据库系统概念》讲义(陈立军+).pdf

文档介绍

文档介绍:数据库系统概念笔记
这是在阅读机械工业出版社的《数据库系统概念》一书的一些笔记摘录,
方便以后查看,主要与 SQL 相关。
整理人:谭奇宇
2008-9-25
1 引言
数据库管理系统(DBMS)由一个互相关联的数据的集合和一组用以访问这
些数据的程序组成。这个数据的集合通常称为数据库。
数据库系统与文件系统
文件系统的主要弊端:
z 数据冗余和不一致
z 数据访问困难
数据库系统要解决的问题:
z 数据孤立
z 完整性问题
z 原子性问题
z 并发访问异常
z 安全性问题
数据模型
数据库结构的基础是数据模型。数据模型是一个描述数据、数据联系、数据
语义以及一致性约束的概念工具的集合。下面阐述两种数据模型:实体-联系模
型和关系模型。
实体联系模型
实体-联系(E-R)模型认为现实世界由一组称为实体的基本对象以及这些对
象间的联系构成。实体是现实世界中区别其他对象的一个“事件”或一个“物体”。
数据库中的实体通过属性集合来描述。联系是实体间的相互关系。
关系模型
关系模型(Relation Model)是用表的集合来表示数据和数据间的关系。关系
数据模型是使用最广泛的数据模型。关系模型比 E-R 模型的抽象层次更低。数
据库设计通常基于 E-R 模型来进行,然后再转化成关系模型。
其他数据模型
z 网状数据模型
z 层次数据模型
z 面向对象的数据模型
z 对象关系数据模型
z 可扩展标记语言(XML)
数据库语言
数据定义语言
数据定义语言(DDL)用于定义数据库模式。数据字典包含了元数据。元数
据是关于数据的数据。如表的模式(描述了表的结构)即一个元数据。数据在数
据库中的存储必须满足一致性约束,DDL 提供了指定这种约束的工具。
数据库操纵语言
数据库操纵语言(DML)即描述增、删、查、改等数据库操纵的语言。
来自应用程序的数据库访问
z 应用程序接口:ODBC 和 JDBC。
z 扩展宿主语言定义,嵌入 DML 调用,需要借助 DML 预编译器。
数据库系统结构
存储管理器
z 权限及完整性管理器
z 事务管理器
z 文件管理器
z 缓冲区管理器
z 数据文件
z 数据字典
z 索引
查询处理器
z DDL 解释器
z DML 编译器
z 查询求值引擎
2 基本 SQL 语句
背景
SQL(Sequel)是一种查询语言,使用了关系代数和关系演算的组合(参考
关系数据库模型)。
SQL 语言由以下几个部分组成:
z 数据定义语言 DDL:SQL DDL 提供定义关系模式、删除关系以及修改
关系模式的命令。
z 交互式数据操纵语言 DML:SQL DML 包括基于关系代数和元组关系演
算的查询语言,还包括在数据库中插入、删除、修改元组的命令。
z 视图定义 View Definition 命令。
z 事务控制 Transaction Control 命令。
z 嵌入式 Embeded SQL 和动态 Dynamic SQL。
z 完整性 Integrity:SQL DDL 包括定义数据库必须满足的完整性约束命令。
z 权限管理:SQL DDL 中包括说明对关系和视图的访问权的命令。
基本结构
一个关系数据库包含一个关系的集合,每个关系其实就是一个表,表中的列
即对应关系中的属性,每个属性由一个允许的值得集合,我们称之为域。
SQL 表达式基本结构包括三个子句:select、from 和 where。
z select 子句对应关系代数中的投影运算,用来列出查询结果中的属性。
z from 子句对应关系代数中的笛卡尔积运算,列出表达式求值中需扫描的
关系。
z where 子句对应关系代数中的选择谓词,包括一个作用在 from 子句关系
属性上的谓词。
一个典型的 SQL 查询具有如下形式:
select A1, A2, …, An
from r1, r2, …, rn
where P
其中Ai表示属性,rj表示关系,P表示谓词。SQL先构造from子句中关系的笛
卡尔积,根据where子句中的谓词进行关系代数的选择运算,然后将结果投影到
select子句的属性上。最后的查询结果也是一个关系(表)。
select 子句
z 普通