大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说《数据库系统概论》知识点梳理,希望您对编程的造诣更进一步.
1.1 数据库系统概述
1.1.1 数据库的4个基本概念
-
数据:描述事物的符号记录,数据的含义称为数据的语义,二者是不可分的。
-
数据库:数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库数据基本特点:永久存储、有组织、可共享。
-
数据库管理系统(DBMS):是计算机的基础软件。 主要功能:(1)数据定义功能(2)数据组织、存储和管理功能(3)数据操纵功能(4)数据库的事务管理和运行管理(5)数据库的建立和维护功能(6)其他功能
-
数据库系统(DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统
1.1.2 数据管理技术的产生和发展
数据管理三个阶段的特点及其比较:
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模数据管理 |
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 |
数据的管理者 | 程序员 | 文件系统 | 数据库管理系统 |
数据面向对象 | 某一应用程序 | 某一应用 | 部门企业 |
数据的共享程度 | 无共享,冗余度极大 | 共享性差,冗余度大 | 共享性高,冗余度低 |
数据独立性 | 不独立 | 独立性差 | 具有高度的物理独立性和一定的逻辑独立性 |
数据结构化 | 无结构 | 记录内有结构、整体无结构 | 整体结构化,用数据模型描述 |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | DBMS提供数据安全性、完整性、并发控制和恢复能力 |
1.1.3 数据库系统的特点:
-
数据结构化(与文件系统的本质区别)
-
共享性高,冗余度低且易扩展
-
数据独立性高:
(1)物理独立性:用户的应用程序与数据库中的数据的物理存储是相互独立的; (2)逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。
数据独立性是由数据库管理系统提供的二级映像功能来保证的。
-
数据统一管理和控制
【联想】数据库系统的三级模式结构:外模式、模式和内模式。模式也称逻辑模式,是所有用户的公共数据视图;外模式也称用户模式,是数据库用户的数据视图;内模式也称存储模式,是数据在数据库内部的组织方式。
1.2 数据模型
1.2.1 两类数据模型
概念模型(实体-联系 E-R模型)、逻辑模型和物理模型
1.2.2 概念模型
基本概念:实体、属性、码、实体型、实体集、联系
1.2.3 数据模型的组成要素
数据结构、数据操作、数据的完整性约束条件
1.2.4 常用的数据模型
-
层次模型
优点:
-
数据结构比较简单清晰
-
数据库的查询效率高
-
数据模型提供了良好的完整性支持
缺点:
-
现实世界中很多联系是非层次化的
-
程序编写复杂,插入删除限制多
-
查询子女节点必须通过双亲节点
-
由于结构严密,层次命令趋向于结构化
-
-
网状模型
优点:
-
能够更为直接的描述现实世界
-
具有良好的性能,存取效率较高
缺点:
-
结构比较复杂
-
DDL/DML复杂,不好掌握使用
-
因为联系是通过存取路径实现的,用户需要了解系统结构的细节
-
-
关系模型
优点:
-
建立在严格的数据概念基础上
-
概念单一,都用关系表示
-
存取路径对用户透明,简化工作
缺点:
-
存取路径隐蔽,导致查询效率不高,为了提升性能,DMBS必须对用户查询请求进行优化
-
1.3 数据库系统的结构
1.3.3 数据库的二级映像功能与数据独立性
-
外模式/模式映像 模式改变,对映象做修改,可以保证外模式不变,保证了逻辑独立性。
-
模式/内模式映象 内模式改变(数据库的存储结构改变),对映象做修改,可以保持模式不变,保证了物理独立性。
第二章 关系数据库
2.1 关系模型数据结构及形式化定义
按照数据模型三要素,关系模型由数据结构、关系操作集合和关系完整性约束三部分组成
2.1.1 关系
-
关系:在域D上笛卡尔积的子集
-
关系可以有三种类型:基本关系(基本表)、查询表、视图表。
2.2 关系操作
2.2.1 基本的关系操作
-
查询操作: 选择、投影、连接、除、并、差、交、笛卡尔积 选择、投影、并、差、笛卡尔积是五种基本操作
-
数据更新:插入、删除、修改
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 视图的作用
-
视图能够简化用户的操作
-
视图使用户能以多种角度看待同一数据
-
视图对重构数据库提供了一定程度的逻辑独立性
-
视图能对机密数据提供安全保护
-
适当利用视图可以更清晰地表达查询
第四章 数据库安全性
数据库的安全性:保护数据库以防止不合法使用所造成的的数据泄露、更改或破坏
4.2 数据库安全性控制
4.2.4 授权:授予与收回
-
grant授权语句一般格式:
grant <权限> on <对象类型><对象名> to <用户> with grant option --该用户可以将权限授予他人
-
revoke回收权限语句:
revoke <权限> on <对象类型><对象名> from <用户> [cascade|restrict]
第五章 数据库完整性
5.1 实体完整性
-
检查主码是否唯一,拒绝插入或修改
-
检查主码的各个属性是否为空,拒绝插入或修改
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.3 数据库设计步骤
-
需求分析
-
概念结构设计
-
逻辑结构设计
-
物理结构设计
-
数据库实施
-
数据库运行和维护
由于期末考核需要,整理了一份发一下叭
制作:BDT20040
原文地址:https://www.cnblogs.com/liubaili/archive/2022/06/26/16413780.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5077.html