数据库概念
数据库:DB
数据库管理系统:DBMS,系统软件
数据库系统:DBS,包括软硬件,数据库和开发人员
数据库系统(DBS)的核心是 数据库管理系统(DBMS);数据库管理系统(DBMS)的核心是数据库(DB)
数据库系统(DBS)的基本功能:
1.数据定义
2.数据操作
3.完整性约束检查
4.访问控制
5.并发控制
6.数据恢复
数据库系统的人员构成
DBA 管理人员
设计者
开发者
终端用户
数据库系统的三级模式结构
外模式
外模式/模式映像(逻辑结构的独立性)
模式
模式/内模式映像(物理结构的独立性)
内模式
概念模型
- 实体
- 属性
- 域
- 实体集
- 实体型
E-R图
实体集:矩形
联系集:菱形 1:1 1:N N:1
属性:椭圆
三角形:从属关系
数据模型
任何DBMS都支持一种数据模型
-
层次模型
-
网状模型
-
关系模型
-
面向对象模型
关系数据模型结构
- 关系:表
- 属性:每一列
- 域:属性的取值范围
- 元组:一行数据
- 分量
- 候选码: 唯一标志
- 主码:有且只有一个,从候选码中选一个
- 外部码
- 关系模式:关系(属性A,属性B.....)
完整性约束:
- 实体完整性:任一候选码不能为空****
-参照完整性:关系之间引用的一种限制 - 用户自定义完整性
层次模型结构
父节点:有且仅有一个没有父节点的节点
叶节点:没有子节点
非根节点都有且仅有一个父节点
网状模型结构
属于特殊的层次模型结构
SQL语言
数据定义: Create Drop Alert (增删改)
数据操作:Insert、Delete、Update、Select (增删改查)
数据控制:Grant Revoke(增 删)
基本表操作:
结束语句都要以“;” 结尾
CREATE TABLE Student(
Sno Char(4) NOT NULL UNIQUE,
Sex Char(2) DEFAULT('男'),
Age INT ,
);
ALTER TABLE Student
ADD Source INT NULL; (必须允许为空)
ALTER TABLE Student
ALTER COLUMN Source Long ;
DROP TBALE Student;
DROP TBALE Student , Student2;
索引操作
CREATE INDEX Class
ON Student (SClass ,Sno DESC);
表查询操作
SELECT class
FROM Student ;
SELECT DISTINCT class
FROM Student ; (取消重复行)
查询经过计算的列
SELECT Source*Class AS Result
From Student;
SUM、MAX、AVG、MIN 、COUNT(*) 、COUNT(列名)
条件语句
IN、NOT IN、BETWEEN * AND * 、 NOT BETWEEN * AND * 、 LIKE、ADN
LIKE : % 不限制长度的字符串,可以为0; _ 限制长度为1
分组查询:
GROUP BY
排序查询
ORDER BY 默认升序ASC、DESC为降序
数据操作:
增加数据:
INSERT INTO Stundent
VALUES (‘张三’,‘男’);
修改数据
UPDATE Student
SET Sname = ‘张三’
WHERE Snam = ‘李四’;
删除数据
DELETE FROM Student
WHERE Snam = ‘李四’;
视图操作
CREATE VIEW S
AS SELECT *
FROM Student
WHERE SAge = 10;
Drop View S;
完整性约束
主码
CREATE TABLE Student(
Sno Char(4) NOT NULL UNIQUE PRIVATE KEY,
Sex Char(2) DEFAULT('男'),
Age INT
);
等价于
CREATE TABLE Student(
Sno Char(4) NOT NULL UNIQUE ,
Sex Char(2) DEFAULT('男'),
Age INT ,
PRIVATE KEY (Sno)
); //如果存在两个以上的主码,则用这个表示方法
参照完整性约束
CREATE TABLE Student(
Sno Char(4) NOT NULL UNIQUE PRIVATE KEY,
Sex Char(2) DEFAULT('男'),
Age INT ,
Class char(2) REFRENCE CLASS (Class)
);
等价
CREATE TABLE Student(
Sno Char(4) NOT NULL UNIQUE PRIVATE KEY,
Sex Char(2) DEFAULT('男'),
Age INT ,
Class char(2),
FOREING KEY(Class) REFRENCE CLASS (Class)
);
用户自定义完整性约束
CHECK (条件)
CREATE TABLE Student(
Sno Char(4) NOT NULL UNIQUE PRIVATE KEY,
Sex Char(2) CHECK (Sex in(‘男’ ,‘女’))
Age INT ,
Class char(2),
FOREING KEY(Class) REFRENCE CLASS (Class)
);
数据安全
访问控制 = 授权 + 检查权限
GRANT SELECT,UPDATE
ON TABLE Student
TO User1;
REVOKE SELECT ,UPDATE
ON TABLE Student
FROM User1;
笛卡尔积: M*N 一张二维表
投影
选择
连接;一般连接、自然连接、等值连接
关系数据库规范化
关系规范化的作用:
不规范化可能出现的问题:
1.数据冗余大
2.修改异常
3.插入、删除异常
属性间的联系:
一对一
一对多
多对多
数据依赖:函数依赖、多值依赖、连接依赖
判断关系是否符合2NF
第一步:找出数据表中所有的码。
第二步:根据第一步所得到的码,找出所有的主属性。
第三步:数据表中,除去所有的主属性,剩下的就都是非主属性了。
第四步:查看是否存在非主属性对码的部分函数依赖。
判断关系是否符合3NF
在2NF的基础上,是否存在传递依赖,如果不存在,则满足第三范式3NF
1NF: 字段是最小的的单元不可再分
2NF:满足1NF,表中的字段必须完全依赖于全部主键而非部分主键 (一般我们都会做到)
3NF:满足2NF,非主键外的所有字段必须互不依赖4NF:满足3NF,消除表中的多值依赖
数据库设计
三分技术、七分管理、十二分基础数据
数据库的设计步骤:
1.需求分析
2.概念结构设计
3.逻辑结构设计:ER图
4.物理结构设计
5.数据库实施
6.数据库运行和维护
数据库的故障类型:
1.事务故障
2.系统故障
3.介质故障
4.计算机病毒
数据库备份分类:
1.完全备份
2.差异备份
3.增量备份
4.按需备份
数据库恢复技术:
1.数据转储
2.登记日志文件:先写日志文件 再写数据库
事务故障恢复是由系统自动恢复的,对用户是透明的
常见的数据库系统产品“
1.Access:关系型数据库
2.Informix
3.Oracle
4.DB2:大型
5.SQL
网友评论