数据库系统概论的学习


因为考研复试的需要,所以,重新再学习一遍数据库系统。

数据库系统概论

第一章 绪论

1.1 数据库系统概述

1.数据:存储的对象->文本,视频,图像
2.数据库:存放数据的仓库
特点:永久存储,有组织,可共享
3.数据库管理系统:与操作系统是同一层级->如何科学的组织和存储数据,如何高效地获取和维护数据。
4.数据库系统
组成

1.数据库
2.数据库管理系统
3.应用程序
4.数据库管理员

1.2.2 概念模型

信息世界的基本概念

1.实体:客观存在,并可相互区别的事物。
2.属性:实体所具有的某一特性
3.码:唯一表示实体的属性集。
4.实体型:具有相同属性的实体必然具有相同的特征和性质
5.实体集:统一类型实体的集合成为实体集。
6.联系:实体内部的联系和实体之间的联系

1.2.3 数据模型的组成要素

1.数据模型:

1.数据结构:描述组成对象以及对象之间的联系
2.数据操作:查询,更新
3.数据的完整性约束条件

2.常用的数据模型

层次模型:树型结构表示各类实体以及实体之间的联系
网状模型:DBMG系统
关系模型:关系(表),元组(一行),属性(一列),码(唯一确定一个元组),域(一组具有相同数据类型的集合),分量(元组中的一个属性值,不可再分).
面向对象数据模型
对象关系数据模型
半结构化数据模型

3.数据库系统的三级模式结构
模式:(全局逻辑结构)(全体数据 1个)也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用、所使用的应用开发工具及高级程序设计语言无关。模式实际上是数据库数据在逻辑上的视图,一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据相关的安全性、完整性要求。

外模式:(局部逻辑结构)(部分数据(子集) 多个)也称为子模式或用户模式,它是数据库用户所能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。对于不同的用户应用需求,外模式的描述也不同,所以一个数据库可以有多个外模式。另外,同意外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式,即一个用户只能看见和访问其所对应的外模式中的数据。

内模式:(内部存储 1个)也称为存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式,其对数据库用户是透明的。

注意,这里有个两层映象:外模式/模式, 模式/内模式

第二章 关系数据库

2.1关系数据结构

1.关系的类型

基本表(基表)
查询表
视图表

2.关系模型的三类完整性约束

实体完整性:主属性不能取空值
参照完整性:外码与主码必须具有一致的相等性。(不然,F的每个属性就直接取空就好了)
用户定义完整性:满足特定条件下的语义要求。

3.运算的三大要素

运算对象
运算符
运算结果

4.传统的集合运算




笛卡尔积

5.专门的关系运算

选择
投影:从R中选出若干属性列组成新的关系
连接:从两个关系的笛卡尔积中选区属性满足一定条件的元组。
等值连接:从AB中选取属性值相等的那些元组。它会给对应的属性值。
自然连接:一种特殊的等值连接。要求两个关系中进行比较的分量必须是同名的属性组。
除运算

6.被舍弃的元组叫做悬浮元组。外连接,左外连接,右外连接。
7.除运算:R除以S=T,,,T中包含所有在R但不在S中的属性及其值。

第三章 关系数据库标准语言SQL

1.外模式:若干视图和部分基本表
数据库模式:ruogan jiben biao
内模式:若干存储文件
特点:

一个视图可以对应多个基本表
多个基本表对应一个存储文件
存储文件的逻辑结构构成了关系数据库的内模式

2.数据库只存储视图的定义,不存放视图对应的数据。这些数据仍存放在导出视图的基本表中。
3.定义模式:
create schema <模式名> authorization <用户名>
create schhma test authorization zhang
create table tab1(col1 smallint, col2 int, col2 char(20) );
4.删除模式
drop schama <模式名> <cascade|restricat>;
5.数据类型
char(n),character(n):定长的字符串
varchar(n),charactervarying(n)
int,integer(4字节)
smallint(2字节)
bigint(8字节)
6.模式与表
法一:明显的给出模式名:
create table “S-T”.Student(…)
法二:创建模式语句的同时,创建表
法三:设置所属的模式
7.显示当前的搜索路径:
show search_path;
8.修改基本表
Alter table Student ADD S_entrance INT;
Alter table Student column Sage int;
Alter table Course ADD Unique(Cname);
9.索引:顺序文件上的索引,B+树上的索引,散列索引,位图索引
10.索引的建立:
create [Unique] [Cluster) index <索引名>
on <表名>
例子:
create Unique index Stusno on Student(Sno);
unique:每一个索引值只对应一个唯一的数据记录
cluster:聚簇索引
10.修改索引:
`Alter index <旧索引名> rename to <新索引名>
11.数据字典:是关系数据库管理系统内部的一组系统表,它记录了数据库中所有的定义信息,包括关系模式定义,视图定义,索引定义,完整性约束定义,各类用户对数据库的操作权限,统计信息。
12. 选择表中的若干行:

消除重复的行:select distinct Sno;

13.连接

等值连接:等号
若在等值连接中把重复的属性列去掉则为自然连接。

14.注意嵌套查询中:

select 查询中不能使用order by子句。
子查询的查询条件不依赖于父查询。
SC x:注意这里的x,是SC的别名,又称为元组变量,可以用来表示SC的一个元组。
注意聚集函数的使用max ,min,avg
=ANY->ANY <>ALL:等价于NOT IN

15.Exists:的子查询不返回任何数据,只产生逻辑真值或逻辑假值。
注意:使用存在两次Exists后,若内层查询结果非空,则外层的where子句返回真值,否则返回假值。
由exists引出的子查询,其目标列表达式通常都用*,一定要注意。其实就是不断取元组的一个过程。
给个例子:
查询选修了全部课程的学生姓名:
Select sname
from student
where not exists
(select *
from Course
where not exists
(select *
from sc
where sno = Student.sno
and Cno = Course.Cno));
16.集合操作:
Union:并会自动去掉重复元组。
intersect:交
except:差
17.插入时的字符串常熟要用单引号(英文符号)括起来。
18.Update Student
set sage = sage +1;

视图

1.视图中只存在视图的定义,而不存放视图对应的数据。
2.建立方式:
create view <视图名>
As
Select *

3.注意还有一种叫基于派生表的查询。

第四章 数据库安全性

1.Grant:向用户授予权限
Revoke:收回已经授予用户的权限。
2.例子:
grant select
on table Student
To U1
with grant option

3.所有授予的权利在必要时都可以用revoke语句收回。

第五章 数据库完整性

1.数据库完整性指的是数据的正确性和相容性。
2.

实体完整性
参照完整性:reference Student(Sno)违背参照完整性措施:拒绝执行,级联操作,设置为空值。
用户自定义完整性

3.元组上的约束条件:check
4.完整性约束命名子句:cnostraint
完整性约束命名条件:Unique,Not null ,Primart Key,Foreign Key,Check短语。
6.断言:
create assertion <断言名>
check(60>=(select count(*) from Course,SC)

第六章 关系数据理论

1.第一范式:每一个分量必须是不可分的数据项。
2.

数据依赖
函数依赖

3.关系模式出现的问题:

数据冗余
更新异常
插入异常
删除异常

4.按属性依赖程度区分为

第一范式:每一个分量必须是不可分的数据项。
第二范式:R属于1NF,且每一个非主属性完全函数依赖于任何一个候选码。
第三范式:不存在函数依赖的话,就属于第三范式了。
BCNF:关系模式中,每一个决定因素都包含码(主属性的集合)。
所有非主属性对每一个码都是完全函数依赖(需要用到全部的码,才能唯一确定一个非主属性)。
所有主属性对每一个不包含它的码也是完全函数依赖。
没有任何属性完全函数依赖于非码的任何一组属性。
第四范式:
第五范式(5NF):

5.一些专业术语:
F:非平凡依赖:x->y ,但y不包含于x 候选码
K:平凡依赖:x->y,但y包含于x 超码
对于任意任一关系模式,平凡函数依赖是必然成立的。
X->Y:称x为这个函数依赖的决定属性组,也称为决定因素。
完全函数依赖:看x的真子集不能够推出y
部分函数依赖:看x的真子集能够推出y
包含在任一个候选码中的属性称为:主属性
不包含在任一候选码中的属性称为非主属性
6.多值依赖:

对称性
传递性

7.Armstrong公理系统:

自反律
增广律
传递律

8.根据Armstrong公理系统推理出的推理规则:

合并规则:X->Y,X->Z,X->YZ
伪传递规则:X->Y,WY->Z,有XW->Z
分解规则:X->Y,及Z包含与Y,有X->Z

9.最小依赖集:

F中任一函数依赖的右部仅含有一个属性。
F中不存在这样的函数依赖X->A,使得F与F-{X->A}等价。
F中不存在这样的函数依赖X->A,X有真子集Z使得F-{X->A}并上{Z->A}与F等价。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值