美文网首页
篇章之:数据库

篇章之:数据库

作者: Mr姜饼 | 来源:发表于2021-04-14 14:55 被阅读0次

数据库概念

数据库: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

相关文章

网友评论

      本文标题:篇章之:数据库

      本文链接:https://www.haomeiwen.com/subject/xjdclltx.html