《数据库系统概论》知识点梳理

第一章 绪论

1.1 数据库系统概述

1.1.1 数据库的4个基本概念

  1. 数据:描述事物的符号记录,数据的含义称为数据的语义,二者是不可分的。

  2. 数据库:数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库数据基本特点:永久存储、有组织、可共享。

  3. 数据库管理系统(DBMS):是计算机的基础软件。 主要功能:(1)数据定义功能(2)数据组织、存储和管理功能(3)数据操纵功能(4)数据库的事务管理和运行管理(5)数据库的建立和维护功能(6)其他功能

  4. 数据库系统(DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统

1.1.2 数据管理技术的产生和发展

数据管理三个阶段的特点及其比较:

  人工管理阶段 文件系统阶段 数据库系统阶段
应用背景 科学计算 科学计算、数据管理 大规模数据管理
硬件背景 无直接存取存储设备 磁盘、磁鼓 大容量磁盘、磁盘阵列
处理方式 批处理 联机实时处理、批处理 联机实时处理、分布处理、批处理
       
数据的管理者 程序员 文件系统 数据库管理系统
数据面向对象 某一应用程序 某一应用 部门企业
数据的共享程度 无共享,冗余度极大 共享性差,冗余度大 共享性高,冗余度低
数据独立性 不独立 独立性差 具有高度的物理独立性和一定的逻辑独立性
数据结构化 无结构 记录内有结构、整体无结构 整体结构化,用数据模型描述
数据控制能力 应用程序自己控制 应用程序自己控制 DBMS提供数据安全性、完整性、并发控制和恢复能力

1.1.3 数据库系统的特点:

  1. 数据结构化(与文件系统的本质区别)

  2. 共享性高,冗余度低且易扩展

  3. 数据独立性高:

    (1)物理独立性:用户的应用程序与数据库中的数据的物理存储是相互独立的; (2)逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。

    数据独立性是由数据库管理系统提供的二级映像功能来保证的。

  4. 数据统一管理和控制

【联想】数据库系统的三级模式结构:外模式、模式和内模式。模式也称逻辑模式,是所有用户的公共数据视图;外模式也称用户模式,是数据库用户的数据视图;内模式也称存储模式,是数据在数据库内部的组织方式。

1.2 数据模型

1.2.1 两类数据模型

概念模型(实体-联系 E-R模型)、逻辑模型和物理模型

1.2.2 概念模型

基本概念:实体、属性、码、实体型、实体集、联系

1.2.3 数据模型的组成要素

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

1.2.4 常用的数据模型

  • 层次模型

    优点:

    1. 数据结构比较简单清晰

    2. 数据库的查询效率高

    3. 数据模型提供了良好的完整性支持

    缺点:

    1. 现实世界中很多联系是非层次化的

    2. 程序编写复杂,插入删除限制多

    3. 查询子女节点必须通过双亲节点

    4. 由于结构严密,层次命令趋向于结构化

  • 网状模型

    优点:

    1. 能够更为直接的描述现实世界

    2. 具有良好的性能,存取效率较高

    缺点:

    1. 结构比较复杂

    2. DDL/DML复杂,不好掌握使用

    3. 因为联系是通过存取路径实现的,用户需要了解系统结构的细节

  • 关系模型

    优点:

    1. 建立在严格的数据概念基础上

    2. 概念单一,都用关系表示

    3. 存取路径对用户透明,简化工作

    缺点:

    1. 存取路径隐蔽,导致查询效率不高,为了提升性能,DMBS必须对用户查询请求进行优化

1.3 数据库系统的结构

1.3.3 数据库的二级映像功能与数据独立性

  1. 外模式/模式映像 模式改变,对映象做修改,可以保证外模式不变,保证了逻辑独立性

  2. 模式/内模式映象 内模式改变(数据库的存储结构改变),对映象做修改,可以保持模式不变,保证了物理独立性

 

第二章 关系数据库

2.1 关系模型数据结构及形式化定义

按照数据模型三要素,关系模型由数据结构、关系操作集合和关系完整性约束三部分组成

2.1.1 关系

  1. 关系:在域D上笛卡尔积的子集

  2. 关系可以有三种类型:基本关系(基本表)、查询表、视图表。

2.2 关系操作

2.2.1 基本的关系操作

  1. 查询操作: 选择、投影、连接、除、并、差、交、笛卡尔积 选择、投影、并、差、笛卡尔积是五种基本操作

  2. 数据更新:插入、删除、修改

2.3 关系的完整性

关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。

2.3.1 实体完整性

若属性A是基本关系R的主属性,则A不能取空值。

2.3.2 参照完整性

若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对R中的每个元组在F上的值,必须为空值或者S中某个元组的主码值

2.4 关系代数

运算符 含义
-
× 笛卡尔积
σ 选择
Π 投影
连接
÷

前四种为传统的集合运算,后四种为专门的关系运算

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

3.1 SQL概述

SQL功能 动词
数据查询 SELECT
数据定义 CREATE,DROP,ALTER
数据操纵 INSERT,UPDATE,DELETE
数据控制 GRANT,REVOKE

3.3 数据定义

  • 数据定义语句

    操作对象 创建 删除 修改
    模式 CREATE SCHEMA DROP SCHEMA  
    CREATE TABLE DROP TABLE ALTER TABLE
    视图 CREATE VIEW DROP VIEW  
    索引 CREATE INDEX DROP INDEX ALTER INDEX
  • 主要(常用)数据类型

    数据类型 含义
    int,smallint 整数
    char(n) 长度为n的字符串
    float(n) 可选精度的浮点数
    date 日期,格式为YYYY-MM-DD
    time 时间,格式为HH:MM:SS

3.4 数据查询

  • 数据查询语句

     select [all/distinct] <目标列表表达式>
     from <表名/视图名> [as] <别名>
     [where <条件表达式>]
     [group by <列名>[having <条件表达式>]]
     [order by <列名>]  --升序或降序
  • where查询常用条件

    查询条件 谓词
    比较 (not) =,>,<,>=,<=,!=,<>,!>,!<
    确定范围 between and; not betweeen and
    确定集合 in, not in
    字符匹配 like, not like
    空值 is null, is not null
    多重条件 and, or, not
  • 字符匹配:(1)%(百分号):代表任意长度字符串;(2)_(下横线):代表任意单个字符

  • 聚集函数:

    函数 含义
    count(*) 统计元组个数
    count([all/distinct] <列名>) 统计一列中值的个数
    sum([all/distinct] <列名>) 统计一列中值的总和
    avg([all/distinct] <列名>) 统计一列中值的平均值
    max([all/distinct] <列名>) 统计一列中值的最大值
    min([all/distinct] <列名>) 统计一列中值的最小值
  • 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。使用存在量词后,若内层查询结果非空,则外层的where字句返回真值,否则返回假值。

3.6 空值的处理

  • 空值的判断:is null或者is not null

3.7 视图

3.7.4 视图的作用

  1. 视图能够简化用户的操作

  2. 视图使用户能以多种角度看待同一数据

  3. 视图对重构数据库提供了一定程度的逻辑独立性

  4. 视图能对机密数据提供安全保护

  5. 适当利用视图可以更清晰地表达查询

 

第四章 数据库安全性

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

4.2 数据库安全性控制

4.2.4 授权:授予与收回

  1. grant授权语句一般格式:

     grant <权限>
     on <对象类型><对象名>
     to <用户>
     with grant option --该用户可以将权限授予他人
  2. revoke回收权限语句:

     revoke <权限>
     on <对象类型><对象名>
     from <用户> [cascade|restrict]

第五章 数据库完整性

5.1 实体完整性

  1. 检查主码是否唯一,拒绝插入或修改

  2. 检查主码的各个属性是否为空,拒绝插入或修改

5.2 用户定义的完整性

属性上约束条件的定义:(1)列值非空(not null);(2)列值唯一(unique);(3)检查列值是都满足一个条件表达式(check短语)

5.4 完整性约束命名字句

 constraint<完整性约束条件名><完整性约束条件>

5.7 触发器

  • 定义格式:

     CREATE TRIGGER <触发器名>
     BEFORE|AFTER <触发事件> ON <表名>
     REFERENCING NEW|OLD ROW AS <变量>
     FOR EACH{ROW|STATEMENT}
     [WHEN<触发条件>]<触发动作体>
  • 触发事件:可以是insert、delete或update;after/before表示触发的时机

 

第六章 关系数据理论

6.1 问题的提出

常见的关系模式问题:

  • 数据冗余

  • 更新异常

  • 插入异常

  • 删除异常

6.2 规范化

6.2.1 函数依赖

X函数确定Y或Y函数依赖X,记做X->Y; F(X)=Y

  • X->Y,但Y不属于X,则称X->Y是非平凡的函数依赖

  • X->Y,但Y属于X,则称X->Y是平凡的函数依赖

  • 区别:完全函数依赖x-^F>y)、部分函数依赖(x-^P>y)、传递函数依赖

6.2.2 码

  • R<U,F>,若U对K存在完全函数依赖,则K为R的候选码

  • 如果U函数依赖于K,即K->U,则K称为超码

  • 若候选码多余一个,则选定其中一个为主码

  • 包含在任何一个候选码中的属性称为主属性,其余为非主属性

6.2.3 范式

  • NF:码X,非主属性Z,不存在X->Y,Y->Z成立,且Y不函数依赖于Z。

  • 2NF:在NF的基础上删除非主属性对码的部分函数依赖

  • 3NF:在2NF的基础上消除非主属性对码的传递函数依赖

  • BCNF:在3NF的基础上消除主属性对码的部分和传递函数依赖

 

第七章 数据库设计

7.1 数据库设计概述

7.1.3 数据库设计步骤

  1. 需求分析

  2. 概念结构设计

  3. 逻辑结构设计

  4. 物理结构设计

  5. 数据库实施

  6. 数据库运行和维护

 


由于期末考核需要,整理了一份发一下叭

 

制作:BDT20040

posted @ 2022-06-26 17:08  流白李  阅读(1302)  评论(0编辑  收藏  举报