-
数据:描述事物的符号记录,数据的含义称为数据的语义,二者是不可分的。
-
数据库:数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库数据基本特点:永久存储、有组织、可共享。
-
数据库管理系统(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<完整性约束条件名><完整性约束条件>
5.7 触发器
-
定义格式:
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