数据库知识点总结

文章介绍了数据库的基础知识,包括数据库的四个基本概念,如数据、数据库、数据库管理系统和数据库系统。讨论了数据库管理技术的三个发展阶段,强调了数据库系统的特点,如数据结构化、共享性和数据独立性。文章还详细阐述了关系模型,包括数据结构、操作和完整性约束,并提到了SQL作为关系数据库的标准语言。此外,还涉及了数据库的安全性、完整性、设计步骤以及并发控制和恢复技术。
摘要由CSDN通过智能技术生成

第一章 绪论

数据库的四个基本概念

数据:数据库中存储的基本对象 Data

数据库:长期存储在计算机内、有组织、可共享的大量数据的集合 DataBase DB

数据库管理系统:位于用户和操作系统之间的一层数据库管理软件 DBMS

数据库系统:由数据库、数据库管理系统、应用程序和==数据库管理员(DBA)==组成的存储、管理、处理和维护数据的系统 DBS

数据库管理技术的产生

三个阶段:

数据的共享程度:

  • 人工管理 无共享,冗余度极大
  • 文件系统 共享性差,冗余度大
  • 数据库系统 共享性高,冗余度小

数据库系统的特点

  • 数据结构化
  • 数据的共享性高、冗余度低且易扩充
  • 数据独立性高
  • 数据由数据库管理系统统一管理和控制

两类数据模型

  • 概念模型
  • 逻辑模型和物理模型

实体-联系方法

实体-联系方法 = E-R方法 = E-R图

数据模型的组成要素

  • 数据结构
  • 数据操作
  • 数据的完整性约束条件

常用的数据模型

  • 层次模型 即 树
  • 网状模型 即 图
  • 关系模型 即 表

关系模型的数据结构

关系:一个关系对应通常说的一张表(二维表)

关系名:表名

元组:表中的一行

属性:表中的一列

属性名:给一个属性起的一个名称

属性值:表中一列的值

码:可以唯一的确定一个元组,非空且唯一

域:一组具有相同数据类型的值的集合

分量:元组中的一个属性值

标明主键

学生(学号,姓名,年龄,性别,系别,年级)

关系模型的数据操纵和完整性约束

关系模型的数据操纵:

  • 查询数据
  • 插入数据
  • 删除数据
  • 更新数据

关系的完整性约束条件:

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性

数据库系统的三级模式结构和二级映像

三级模式:

  • 内模式 -存储文件
  • 模式 -基本表
  • 外模式 -视图

在这里插入图片描述

二级映像:外模式 / 模式映像 、 模式 / 内模式映像

数据库系统的组成

  • 硬件平台及数据库
  • 软件
  • 人员

第二章 关系数据库

候选码:能唯一标识一个元组,可以有多个或者一个

主码:多个候选码中的一个

主属性:候选码的诸属性

非主属性:候选码诸属性之外的

基本关系操作

  • 查询操作
  • 插入操作
  • 删除操作
  • 修改操作

传统的集合运算

  • 笛卡尔积

专门的关系运算

  • 选择 σ

    ​ - 表中的一行

  • 投影 π

    ​ - 表中的一列,取消重复的元组

  • 连接 ∞

    • 自然连接
    • 等值连接
    • 非等值连接

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

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

课程表:Course(Cno,Cname,Cpno,Ccredit)

学生选课表:SC(Sno,Cno,Grade)

第四章 数据库的安全性

数据库的安全性

保护数据库以防止不合法的使用所造成的数据泄露、更改和破坏

数据库的不安全因素

  • 非授权用户对数据库的恶意存取和破坏
  • 数据库中重要或敏感的数据被泄露
  • 安全环境的脆弱性

数据库安全性控制

  • 用户身份鉴别
    • 静态口令鉴别
    • 动态口令鉴别
    • 生物特征鉴别
    • 智能卡鉴别
  • 多层存取控制------ 定义用户权限、合法权限检查
    • 自主存取控制 DAC
    • 强制存取控制 MAC
  • 审计
  • 视图
  • 数据加密

敏感度标记等级

绝密 、机密、 可信、 公开 ------ TS 、 S 、 C 、 P

数据库的完整性

数据的正确性和相容性

实体完整性

主键非空且唯一

create table student(  
	Sno CHAR(9) PRIMARY KEY,    -- 列级定义主键
    Sname CHAR(20) NOT NULL
);
-- 或者
create table student(  
	Sno CHAR(9) ,    -- 列级定义
    Sname CHAR(20) NOT NULL,
    PRIMARY KEY(Sno)     -- 表级定义主键
);

create table sc(
	Sno CHAR(9) NOT NULL,    -- 列级定义主键
    Cno CHAR(4) NOT NULL,
    PRIMARY KEY (Sno,Cno)    -- 只能定义表级主键,Sno和Cno同时作为主键
)

参照完整性

外键:关系模式R中属性X并非R的码,但X是另一个关系模式的码,则X是R的外码

create table sc(
	Sno CHAR(9) NOT NULL,   
    Cno CHAR(4) NOT NULL,
    PRIMARY KEY (Sno,Cno) ,  -- Sno和Cno同时作为主键
    FOREIGN KEY (Sno) REFERENCES student(Sno),   -- 表级定义参照完整性
    FOREIGN KEY (Cno) REFERENCES course(Cno)     -- 表级定义参照完整性
)

用户定义的完整的完整性

NOT NULL / UNIQUE / CHECK  -- 非空  唯一  检查

第六章 关系数据理论

关系模式:

​ R <U,F>

  • U 是属性的集合
  • F 是属性组U上的数据依赖的集合

关系模式存在的问题

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

函数依赖

  • 平凡的函数依赖
  • 非平凡的函数依赖(一般都是)
  • 部分依赖
  • 完全依赖

范式

范式之间的关系:

​ 5NF < 4NF < BCNF < 3NF < 2NF < 1NF

1NF

每一个分量必须是不可分的数据项,不能表中有表

2NF

消除非主属性对码的部分依赖

3NF

消除非主属性对码的传递依赖

BCNF

消除主属性对码的部分依赖和传递依赖

第七章 数据库设计

数据库设计的基本步骤

  • 需求分析
  • 概念结构设计
  • 逻辑结构设计
  • 物理结构设计
  • 数据库实施
  • 数据库运行和维护

数据字典

  • 数据项
  • 数据结构
  • 数据流
  • 数据存储
  • 处理过程

概念结构设计

画 E - R图

  • 实体型----矩形
  • 属性-----椭圆
  • 联系-----菱形

在这里插入图片描述

在这里插入图片描述

数据库编程

主语言 :非SQL

第九章 关系查询处理和查询优化

查询处理步骤

  • 查询分析
  • 查询检查
  • 查询优化
  • 查询执行

第十章 数据库恢复技术

事务的基本概念

用户定义的一个数据库操作的序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位

  • COMMIT (提交)
  • ROLLBACK(回滚)

事务的ACID特性

  • 原子性
  • 一致性
  • 隔离性
  • 持续性

故障的种类

  • 事务内部的故障
  • 系统故障
  • 介质故障
  • 计算机病毒

恢复的实现技术

建立冗余数据最常见的技术是:数据转储、登记日志文件

先写日志文件,在写数据库

第十一章 并发控制

  • 丢失修改
  • 不可重复的读
  • 读“脏”数据

封锁

排他锁:又称写锁

共享锁:又称读锁

活锁和死锁

活锁:

死锁:

两段锁协议

  • 第一阶段是获得封锁,也称为扩展阶段

用户定义的一个数据库操作的序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位

  • COMMIT (提交)
  • ROLLBACK(回滚)

事务的ACID特性

  • 原子性
  • 一致性
  • 隔离性
  • 持续性

故障的种类

  • 事务内部的故障
  • 系统故障
  • 介质故障
  • 计算机病毒

恢复的实现技术

建立冗余数据最常见的技术是:数据转储、登记日志文件

先写日志文件,在写数据库

第十一章 并发控制

  • 丢失修改
  • 不可重复的读
  • 读“脏”数据

封锁

排他锁:又称写锁

共享锁:又称读锁

活锁和死锁

两段锁协议

  • 第一阶段是获得封锁,也称为扩展阶段
  • 第二阶段是释放封锁,也称为收缩阶段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸水萝卜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值