- 
数据:描述事物的符号记录,数据的含义称为数据的语义,二者是不可分的。 
- 
数据库:数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库数据基本特点:永久存储、有组织、可共享。 
- 
数据库管理系统(DBMS):是计算机的基础软件。 主要功能:(1)数据定义功能(2)数据组织、存储和管理功能(3)数据操纵功能(4)数据库的事务管理和运行管理(5)数据库的建立和维护功能(6)其他功能 
- 
数据库系统(DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统 
数据管理三个阶段的特点及其比较:
- 
数据结构化(与文件系统的本质区别) 
- 
共享性高,冗余度低且易扩展 
- 
数据独立性高: (1)物理独立性:用户的应用程序与数据库中的数据的物理存储是相互独立的; (2)逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。 数据独立性是由数据库管理系统提供的二级映像功能来保证的。 
- 
数据统一管理和控制 
【联想】数据库系统的三级模式结构:外模式、模式和内模式。模式也称逻辑模式,是所有用户的公共数据视图;外模式也称用户模式,是数据库用户的数据视图;内模式也称存储模式,是数据在数据库内部的组织方式。
1.2 数据模型 1.2.1 两类数据模型概念模型(实体-联系 E-R模型)、逻辑模型和物理模型
1.2.2 概念模型基本概念:实体、属性、码、实体型、实体集、联系
1.2.3 数据模型的组成要素数据结构、数据操作、数据的完整性约束条件
1.2.4 常用的数据模型- 
层次模型 优点: - 
数据结构比较简单清晰 
- 
数据库的查询效率高 
- 
数据模型提供了良好的完整性支持 
 缺点: - 
现实世界中很多联系是非层次化的 
- 
程序编写复杂,插入删除限制多 
- 
查询子女节点必须通过双亲节点 
- 
由于结构严密,层次命令趋向于结构化 
 
- 
- 
网状模型 优点: - 
能够更为直接的描述现实世界 
- 
具有良好的性能,存取效率较高 
 缺点: - 
结构比较复杂 
- 
DDL/DML复杂,不好掌握使用 
- 
因为联系是通过存取路径实现的,用户需要了解系统结构的细节 
 
- 
- 
关系模型 优点: - 
建立在严格的数据概念基础上 
- 
概念单一,都用关系表示 
- 
存取路径对用户透明,简化工作 
 缺点: - 
存取路径隐蔽,导致查询效率不高,为了提升性能,DMBS必须对用户查询请求进行优化 
 
- 
- 
外模式/模式映像 模式改变,对映象做修改,可以保证外模式不变,保证了逻辑独立性。 
- 
模式/内模式映象 内模式改变(数据库的存储结构改变),对映象做修改,可以保持模式不变,保证了物理独立性。 
第二章 关系数据库 2.1 关系模型数据结构及形式化定义
2.1.1 关系按照数据模型三要素,关系模型由数据结构、关系操作集合和关系完整性约束三部分组成
- 
关系:在域D上笛卡尔积的子集 
- 
关系可以有三种类型:基本关系(基本表)、查询表、视图表。 
- 
查询操作: 选择、投影、连接、除、并、差、交、笛卡尔积 选择、投影、并、差、笛卡尔积是五种基本操作 
- 
数据更新:插入、删除、修改 
2.3.1 实体完整性关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
若属性A是基本关系R的主属性,则A不能取空值。
2.3.2 参照完整性若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对R中的每个元组在F上的值,必须为空值或者S中某个元组的主码值
2.4 关系代数前四种为传统的集合运算,后四种为专门的关系运算
第三章 关系数据库标准语言SQL 3.1 SQL概述- 
数据定义语句 操作对象 创建 删除 修改 模式 CREATE SCHEMA DROP SCHEMA 表 CREATE TABLE DROP TABLE ALTER TABLE 视图 CREATE VIEW DROP VIEW 索引 CREATE INDEX DROP INDEX ALTER INDEX
- 
主要(常用)数据类型 数据类型 含义 int,smallint 整数 char(n) 长度为n的字符串 float(n) 可选精度的浮点数 date 日期,格式为YYYY-MM-DD time 时间,格式为HH:MM:SS
- 
数据查询语句 select [all/distinct] <目标列表表达式> from <表名/视图名> [as] <别名> [where <条件表达式>] [group by <列名>[having <条件表达式>]] [order by <列名>] --升序或降序
- 
where查询常用条件 查询条件 谓词 比较 (not) =,>,<,>=,<=,!=,<>,!>,!< 确定范围 between and; not betweeen and 确定集合 in, not in 字符匹配 like, not like 空值 is null, is not null 多重条件 and, or, not
- 
字符匹配:(1)%(百分号):代表任意长度字符串;(2)_(下横线):代表任意单个字符 
- 
聚集函数: 函数 含义 count(*) 统计元组个数 count([all/distinct] <列名>) 统计一列中值的个数 sum([all/distinct] <列名>) 统计一列中值的总和 avg([all/distinct] <列名>) 统计一列中值的平均值 max([all/distinct] <列名>) 统计一列中值的最大值 min([all/distinct] <列名>) 统计一列中值的最小值
- 
带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。使用存在量词后,若内层查询结果非空,则外层的where字句返回真值,否则返回假值。 
- 
空值的判断:is null或者is not null 
- 
视图能够简化用户的操作 
- 
视图使用户能以多种角度看待同一数据 
- 
视图对重构数据库提供了一定程度的逻辑独立性 
- 
视图能对机密数据提供安全保护 
- 
适当利用视图可以更清晰地表达查询 
第四章 数据库安全性
4.2 数据库安全性控制 4.2.4 授权:授予与收回数据库的安全性:保护数据库以防止不合法使用所造成的的数据泄露、更改或破坏
- 
grant授权语句一般格式: grant <权限> on <对象类型><对象名> to <用户> with grant option --该用户可以将权限授予他人
- 
revoke回收权限语句: revoke <权限> on <对象类型><对象名> from <用户> [cascade|restrict]
- 
检查主码是否唯一,拒绝插入或修改 
- 
检查主码的各个属性是否为空,拒绝插入或修改 
属性上约束条件的定义:(1)列值非空(not null);(2)列值唯一(unique);(3)检查列值是都满足一个条件表达式(check短语)
5.4 完整性约束命名字句 constraint<完整性约束条件名><完整性约束条件>- 
定义格式: CREATE TRIGGER <触发器名> BEFORE|AFTER <触发事件> ON <表名> REFERENCING NEW|OLD ROW AS <变量> FOR EACH{ROW|STATEMENT} [WHEN<触发条件>]<触发动作体>
- 
触发事件:可以是insert、delete或update;after/before表示触发的时机 
第六章 关系数据理论 6.1 问题的提出
常见的关系模式问题:
- 
数据冗余 
- 
更新异常 
- 
插入异常 
- 
删除异常 
X函数确定Y或Y函数依赖X,记做X->Y; F(X)=Y
- 
X->Y,但Y不属于X,则称X->Y是非平凡的函数依赖 
- 
X->Y,但Y属于X,则称X->Y是平凡的函数依赖 
- 
区别:完全函数依赖(x-^F>y)、部分函数依赖(x-^P>y)、传递函数依赖 
- 
R<U,F>,若U对K存在完全函数依赖,则K为R的候选码 
- 
如果U函数依赖于K,即K->U,则K称为超码 
- 
若候选码多余一个,则选定其中一个为主码 
- 
包含在任何一个候选码中的属性称为主属性,其余为非主属性 
- 
NF:码X,非主属性Z,不存在X->Y,Y->Z成立,且Y不函数依赖于Z。 
- 
2NF:在NF的基础上删除非主属性对码的部分函数依赖 
- 
3NF:在2NF的基础上消除非主属性对码的传递函数依赖 
- 
BCNF:在3NF的基础上消除主属性对码的部分和传递函数依赖 
第七章 数据库设计 7.1.3 数据库设计步骤
- 
需求分析 
- 
概念结构设计 
- 
逻辑结构设计 
- 
物理结构设计 
- 
数据库实施 
- 
数据库运行和维护 
由于期末考核需要,整理了一份发一下叭
制作:BDT20040
