数据库系统原理及应用教程
数据库系统原理及应用教程
结构化数据:即 行数据,存储在关系型数据库中 。可以用 二维表结构 来逻辑表达实现的数据。任何一列的数据不可再分;任何一列的数据类型相同,且只有一个数据类型;
非结构化数据:无法用二维表结构来逻辑表达实现的数据,指其字段长度可变,一列的数据可以再分;存储在文件系统中,而不是数据库中。
数据库范式 :就是一个数据 表 的 数据格式 ;
第一范式:列不可分,即是结构化数据。
冗余数据:不同行,但数据相同;
数据库索引:是一个物理结构,包含表或视图中一列或多列值生成的键,存储在B树这个结构中,可以快速有效查找与键值关联的行。
在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。
1、TIPS
(1)数据库系统基本概念
数据受数据 类型 和取 值 范围的约束;
数据库是一个 按数据结构 来存储和管理数据的 软件系统 ;
数据库管理系统:管理数据库,为数据库提供数据的定义、建立、维护、查询和统计等操作功能;
文件系统的数据冗余度大;文件系统中的数据文件是为某一特定应用服务;
数据库系统的数据冗余度小;
数据库系统通过DBMS进行数据安全性、完整性、并发控制和数据恢复控制;
DBA数据库管理员,职责为:
a、应参与数据库和应用系统的设计;
b、应参与决定数据库的存储结构和存取策略的工作;
c、要负责定义数据的安全性要求和完整性条件;
d、负责监视和控制数据库系统的运行,负责系统的维护和数据恢复工作;
e、负责数据库的改进和重组;
数据库系统的三级数据模式结构:
应用A 应用B 应用C 应用D
外模式 外模式 外模式 (外模式/模式映像)
模式
内模式 (模式/内模式映像)
数据库
数据库的三级模式指逻辑模式、外模式(子模式)、内模式(物理模式);
(2)数据模型与概念模型
实体:现实世界中存在的可以相互 区分 的 事物 或概念。
实体的特征称为属性;
实体<——>记录; 特征<——>数据项; 文件:同类记录的集合,是对象的数据表示;
数据模型具有三要素:
a、数据结构:所研究的对象类型的集合;
b、数据操作:对数据库中各种数据对象允许执行的操作集合;
c、数据约束条件:一组数据完整性规则的集合;
常见的数据模型有三个:层次模型、网状模型和关系模型;
层次模型:只有一个根结点,有若干个叶结点,结点的双亲是唯一的;
网状模型:有一个以上的结点没有双亲;结点可以有多于一个的双亲;
关系:对应一张二维表 ;
关系模式一般的表示是:关系名(属性1,属性2,……);
如学生可表示为:学生(学号,姓名,性别);
课程可表示为:课程(课程号,课程名);
学生与课程之间的关系为:选修(学号,课程号,成绩);
关系操作主要包括:增、删、改、查;
关系模型与非关系模型比较:
a、关系数据模型的概念单一,容易理解;
b、关系数据模型的存取路径对用户隐蔽;
c、关系数据模型建立在严格的数学基础之上;
d、关系模型中的 数据联系 是靠数据冗余实现的;
(3)数据库系统设计的步骤和方法
数据库系统设计的目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库模式。
现实世界中的 事物间的联系用E-R图表示 。
数据流程图
数据库逻辑结构的设计
(4)关系数据库标准语言SQL
SQL支持三级模式结构:
a、全体基本表构成了数据库的模式;
b、视图和部分基本表构成了数据库的外模式;
c、数据库的存储文件和它们的索引文件构成了关系数据库的内模式;
列级完整性的约束条件(针对属性值设置的限制条件):
a、NOT NULL或NULL约束。
b、UNIQUE约束。即不允许列中出现重复的属性值。
c、DEFAULT约束。即默认值约束。
d、check约束。即检查约束。
表级完整性的约束条件(涉及到多个列的限制条件):
a、UNIQUE约束。
b、PRIMARY KEY约束。保证唯一性和非空性。
c、FOREIGN KEY约束。
索引的作用:
a、使用索引可以明显加快数据查询的速度;
b、使用索引可保证数据的唯一性;
c、使用索引可以加快连接速度;
视图的作用:
a、能简化用户的操作;
b、可以对机密的数据提供安全保护;
视图可以和基本表一样被查询。但利用视图进行数据增、删、改操作,会受到一定的限制 ;
组合查询操作符:
a、UNION:并查询操作。 将结果合并 ,结果集中会去掉重复行。
b、MINUS:差查询操作。
c、INTERSECT:交查询操作。
DISTINCT:去掉重复值操作。即在查询结果集中去掉重复值。
order by id desc, name asc:表示按id降序排序,若id相同,则按name升序排序。
等值连接是内连接;
左外连接符号: *=;
右外连接符号: =*;
具有授权资格的用户,如DBA或建表用户,通过数据控制语言DCL,将授权决定告知数据库管理系统;
DBMS把授权的结果编译后存入 数据字典 中。
当用户提出操作请求时,系统要在数据字典中查找该用户的数据操作权限,当用户拥有该操作权限时才能执行其操作,否则系统将拒绝其操作。
隐含特权:是系统内置权限,是用户不需要进行授权就可拥有的数据操作权;
系统特权:又称为语句特权,它相当于 数据定义语句 DLL的语句权限;
对象特权:类似于 数据操作语言 DML的语句权限,它指用户对数据库中的表、视图、存储过程等对象的操作权限;
(5)
2、PS
(1)数据库知识图
(2)
3、Refer to 《数据库系统原理及应用教程》 第二版