第一章 绪论
一、四个基础概念
*数据(Data): 是数据库中存储的基本对象,是描述事物的符号记录
*数据库(Database):数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
*数据库管理系统(DBMS):*是位于用户和操作系统之间的一层数据管理软件,是一个大型复杂的软件系统。
*数据库系统(DBS): 是计算机系统中引入数据库后的系统构成。
*数据库的基本特征:*
*数据按一定的数据模型组织、描述和储存
*可为各种用户共享
*冗余度较小
*数据独立性较高
*易扩展
*数据库系统的组成:*
*数据库
*数据库管理系统(及其应用开发工具)
*应用程序
*数据库管理员(DBA)
**二、数据库系统的功能**
存储、管理、处理、维护
三、数据库系统的特点
数据结构化
数据的共享性高、冗余度低且易扩充
数据独立性高
数据由数据管理系统统一管理和控制
四、关系模型中的一些参数概念:
关系:一个关系对应一张表
元组:表中一行为一元组
属性:表中一列为一属性
码:表中某个属性组可唯一确定一个元组
域:一组相同数据类型的值的集合
主码:若候选码多于一个,则选定其中一个为主码。
外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,称X是R的外部码,也称外码。
候选码:设K为R<U,F>中的属性或属性组合,若K→U,则K为R的候选码
分量:元组中的一个属性值
关系模式:对应关系的描述 ,一般表示为 关系名(学号,姓名,年龄)
五、三级模式:模式;外模式;内模式。
二级映像功能:
外模式/模式映像 反映逻辑独立性
模式/内模式映像 反映物理独立性
第二章 关系数据库
关系操作包括查询操作(query)和插入(insert)、删除(delete)和修改(update)操作
并
交
差
投影
关系的完整性:
-实体完整性
-参照完整性
-用户定义完整性
关系代数运算:
并
交
差
笛卡尔积
选择
连接
投影
除
第三章 关系数据库标准语言SQL
特点
综合统一
高度非过程化
面向集合的操作方式
以同一语法结构提供多种使用方法
语言简洁,易学易用
SQL功能及操作符
数据定义:create alter drop
数据查询:select
数据操纵:insert update delete
数据控制:grant revoke
SQL的数据定义语句(创建、删除、修改)
表:create table drop table alter table
视图:create view drop view
索引:create index drop index
基本数据类型
char(n):固定长度的字符串
varchar(n):可变长字符串(varchar2)
int:整数(-231~~231-1)
smallint:小整数类型(-215~~215-1)
numeric(p,d):定点数,小数点左边p位,右边q位
real:浮点数
double precision:双精度浮点数
date:日期(年、月、日)
time:时间(小时、分、秒)
常用完整性约束
主码约束: PRIMARY KEY
唯一性约束:UNIQUE
非空值约束:NOT NULL
参照完整性约束:FOREIGN KEY
撤销基本表定义(drop)
撤消基本表后,基本表的定义、表中数据、索引都被删除,由此表导出的视图将无法继续使用。
SQL数据查询基本结构
SELECT子句:指定要显示的属性列。
FROM子句:指定查询对象(基本表或视图)。
WHERE子句:指定查询条件。
GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。
HAVING短语:筛选出只有满足指定条件的组。
ORDER BY子句:对查询结果按指定列值的升序或降序排序。
重复元组处理
缺省为保留重复元组,也可用关键字all显式指明。若要去掉重复元组,可用关键字distinct或unique指明。
聚集函数
平均值:avg
最小值:min
最大值:max
总和:sum
记数:count
聚集函数返回的是一个关系
count(属性名)和count(*)的区别在于count(*)返回满足条件的元组的总个数(即使一个元组的所有属性取值均为null也会被计算在内),count(属性名)返回该属性中取值不为null的总个数。
空值null
除is [not]null之外,空值不满足任何查找条件。
如果null参与算术运算,则该算术表达式的值为null。
如果null参与比较运算,则结果可视为false。
如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null。
Where和having
相同:二者均是选择运算。
不同:二者的作用对象不同,where的作用对象是元组,having的作用对象是分组。
With子句
With子句提供定义一个临时视图的方法,这个定义只对于with子句出现的那条查询有效。
增
删
改
查
in
any
all
and
exits
连接
嵌套
视图定义
第四章 数据库安全性
什么 是安全性
数据库不安全因素
Grant Revoke
第五章 数据库完整性
完整性规则定义:
5.1 实体完整性
检查主码是否唯一或者为空,若是,则拒绝插入或修改。
5.2 参照完整性
不一致时
1.拒绝操作
2.级联操作(CASCADE)
3.设置为空值
5.3 用户定义完整性
列值非空
列值唯一
检查列值是否满足一个条件表达式(CHECK语句)
5.4.完整性约束子句命名
CONSTRAINT 完整性约束条件名 完整性约束条件
删除原来的约束条件在增加新的约束条件
第六章:关系数据理论
第七章 数据库设计
ER图
设计步骤:
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护