- 数据库(BD):是一个组织内被应用程序使用的逻辑相一致的相关数据的集合。
- 数据库优点:冗余较少,避免不一致性,效率,数据完整性,机密性。
- 数据库管理系统(DBMS):定义、创建、维护数据库的一种工具。
一、数据库体系结构
1、内层
决定了数据在存储设备中的实际位置,内层直接与硬件交互。
2、概念层
定义数据的逻辑视图,数据库管理系统的主要功能都在该层。数据库管理系统把数据内部视图转化为用户所看到的外部视图。
3、外层
直接与用户交互。
二、数据库模型
1、层次模型
数据被组织成一棵倒置的树。
2、网状模型
实体通过图来组织,图中的部分实体可通过多条路径来访问。
3、关系模型
数据组织成称为关系的二维表。图
三、关系数据库模型
在关系数据库管理系统(ROBMS)中,数据是通过关系的集合来表示的。
- 名称:每一种关系都具有唯一的名称。
- 属性:关系的列。每一个属性表示了存储在该列下的数据的含义。
- 元组:关系中的行。元组定义了一组属性值。关系中元组的个数叫做关系的基数。
四、关系的操作
1、结构化查询语言(SQL)
是美国国际协会(ANSI)和国际标准组织(ISO)用于关系数据库上的标准化语言。是一种描述性的语言,意味着使用者不需要一步步编写详细的程序。只需要声明即可使用。
2、插入:一元操作,在表中插入新元组
insert into 表名 values(...,...,...)
3、删除:一元操作,删除表中相应元组
delete from 表名
where条件字句
4、更新:一元操作,更新表中部分属性值
update 表名
set 新属性1=... ,新属性2=... ...
where条件字句
5、选择:一元操作,根据要求从关系(表)中选择部分元组(行),应用于一个关系并产生一个新关系
select * (*代表所有属性都被选择)
from 表名
where条件子句
6、投影:一元操作,根据要求从关系(表)中选择部分属性(列),应用于一个关系并产生一个新关系
select 属性1,属性2 ...
from 表名
7、连接:二元操作,基于共同属性把两个关系组合起来,生成一个信息更加全面的关系
select 属性列表
from 表1,表2
where 条件字句
8、并:二元操作,将两个有相同属性的关系求并集,产生新的关系
select *
from 表1
union
select *
from 表2
9、交:二元操作,将两个有相同属性的关系求交集,产生新的关系
select *
from 表1
intersection
select *
from 表2
10、差:二元操作,两个具有相同属性的的关系,生成的关系中的元组是存在于第一个关系而不存在于第二个关系中的
select *
from 表1
minus
select *
from 表2
组合前面语言,用于从数据库中抽取更复杂的信息。
五、数据库设计
1、实体关系模型(ERM)
矩形表示实体集
椭圆表示属性
菱形表示关系集:关系有一对一,一对多,多对一和多对多
2、从E-R图到关系
对于每一个关系,都创建一个表
3、规范化
第一范式:尽量每个表中没有重复的行
第二范式:每一个关键字属性都是依赖于整个复合关键字