热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

《数据库系统概论》复习笔记

期末复习顺便总结下,书本为高等教育出版社的《数据库系统概论》。第一章知识点数据库是长期储存之计算机内的、有组织的、可共享的大量数据的集合。1,数据库数据特点P4永久存储,有组织,可共享。2,数据独立性及其如何保证P10,P34逻辑独立性:用

期末复习顺便总结下,书本为高等教育出版社的《数据库系统概论》。 第一章知识点 数据库是长期储存之计算机内的、有组织的、可共享的大量数据的集合。 1,数据库数据特点 P4 永久存储,有组织,可共享 。 2,数据独立性及其如何保证 P10,P34 逻辑独立性 :用

期末复习顺便总结下,书本为高等教育出版社的《数据库系统概论》。


第一章知识点
数据库是长期储存之计算机内的、有组织的、可共享的大量数据的集合。
1,数据库数据特点 P4 永久存储,有组织,可共享
2,数据独立性及其如何保证 P10,P34
逻辑独立性:用户的应用程序与数据库的逻辑结构互相独立。(内模式保证) 物理独立性:用户的应用程序与存储在磁盘上的数据库中的数据相互(外模式保证)
3,数据模型的组成要素 P13 数据结构、数据操作、完整性约束
4,用ER图来表示概念模型 P17
实体、联系和属性。联系本身也是一种实体型,也可以有属性。


第二章
1,关系的相关概念(如关系、候选码、主属性、非主属性) P42-P44 单一的数据结构----关系。现实世界的实体以及实体间的各种联系均用关系来表示。 是一组具有相同数据类型的值的集合。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 关系模式的所有属性组是这个关系模式的候选码,称为全码 若一个关系有多个候选码,则选定其中一个为主码 候选码的诸属性称为主属性 不包含在任何侯选码中的属性称为非主属性
2,关系代数运算符 P52

\

\ 自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。 给定关系 r(R) 和 s(S), S ? R,则 r &pide; s是最大的关系 t(R-S) 满足 t x s ? r 3,关系代数表达式


第三章
模式 CREATE SCHEMA DROP SCHEMA
CREATE TABLE DROP TABLE ALTER TABLE
CREATE VIEW DROP VIEW
CREATE INDEX DROP INDEX
1,SQL的特点P79-P80
1. 综合统一 2. 高度非过程化 3. 面向集合的操作方式 4.以同一种语法结构提供多种使用方式 5. 语言简洁,易学易用
2,基本表的定义、删除和修改P84-P87
PRIMARY KEY PRIMARY KEY (Sno,Cno) UNIQUE FOREIGN KEY (Cpno) REFERENCES Course(Cno)
ALTER TABLE <表名> [ ADD <新列名> <数据类型> [ 完整性约束 ] ] [ DROP <完整性约束名> ] [ ALTER COLUMN<列名> <数据类型> ];
DROP TABLE <表名>[RESTRICT| CASCADE];
3,索引的建立与删除P89-P90 CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…); 唯一索引 UNIQUE、非唯一索引或聚簇索引CLUSTER DROP INDEX <索引名>;
4,数据查询P91-P114 唯一 DISTINCT
确定范围 BETWEEN AND,NOT BETWEEN AND 确定集合 IN,NOT IN 字符匹配 LIKE,NOT LIKE 空值 IS NULL,IS NOT NULL 多重条件(逻辑运算) AND,OR,NOT
ORDER BY子句 升序:ASC;降序:DESC缺省值为升序
聚集函数:
计数
COUNT
([DISTINCT|ALL] *)
COUNT
([DISTINCT|ALL] <列名>)
计算总和
SUM
([DISTINCT|ALL] <列名>)
计算平均值
AVG
([DISTINCT|ALL] <列名>)
最大最小值
MAX
([DISTINCT|ALL] <列名>)
MIN
([DISTINCT|ALL] <列名>)
GROUP BY子句分组 && HAVING短语 -- 具体各种使用在老师课件 第3章 关系数据库标准语言SQL(2)中
5,数据更新P115-P118
INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)] VALUES (<常量1> [,<常量2>] … )/或子查询
UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>]… [WHERE <条件>];
DELETE FROM <表名> [WHERE <条件>];

6,视图的P118-126 CREATE VIEW <视图名> [(<列名> [,<列名>]…)] AS <子查询> --子查询不允许含有ORDER BY子句和DISTINCT短语 [WITH CHECK OPTION];
DROP VIEW <视图名>;


第四章、第五章 1,授权与回收P137-P140
GRANT语句的一般格式: GRANT <权限>[,<权限>]... -- ALL PRIVILIGES [ON <对象类型> <对象名>] TO <用户>[,<用户>]... --PUBLIC [WITH GRANT OPTION]; --允许他再将此权限授予其他用户 REVOKE语句的一般格式为: REVOKE <权限>[,<权限>]... [ON <对象类型> <对象名>] FROM <用户>[,<用户>]...; --级联(CASCADE)收回

2,数据库角色P142-P143 角色是权限的集合
一、角色的创建 CREATE ROLE <角色名>
二、给角色授权 GRANT <权限>[,<权限>]… ON <对象类型>对象名 TO <角色>[,<角色>]…
三、将一个角色授予其他的角色或用户 GRANT <角色1>[,<角色2>]… TO <角色3>[,<用户1>]… [WITH ADMIN OPTION]
四、角色权限的收回 REVOKE <权限>[,<权限>]… ON <对象类型> <对象名> FROM <角色>[,<角色>]…

3,数据库的三类完整性及其实现P152-P158
实体完整性 CREATE TABLE中用PRIMARY KEY定义
参照完整性 在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照哪些表的主码
用户定义的完整性 CREATE TABLE时定义 列值非空(NOT NULL) 列值唯一(UNIQUE) 检查列值是否满足一个布尔表达式(CHECK)
CONSTRAINT 约束 CONSTRAINT <完整性约束条件名> [PRIMARY KEY短语 |FOREIGN KEY短语 |CHECK短语]
使用ALTER TABLE语句修改表中的完整性限制 可以先删除原来的约束条件,再增加新的约束条件 ALTER TABLE Student DROP CONSTRAINT C1; ALTER TABLE Student ADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999)


第六章 关系模式 是一个五元组: R(U, D, DOM, F)
1,函数依赖和码的定义P172-P174
数据依赖:一个关系内部属性与属性之间的约束关系。最重要的数据依赖:函数依赖和多值依赖 函数依赖:一个属性或一组属性的值可以决定其它属性的值。
函数依赖:平凡函数依赖与非平凡函数依赖 在关系模式R(U)中,对于U的子集X和Y, 如果X→Y,但Y 不属于 X,则称X→Y是非平凡的函数依赖 若X→Y,但Y 属于 X, 则称X→Y是平凡的函数依赖

在R(U)中,如果X→Y,并且对于X的任何一个真子集X&#39; ,都有X&#39; \Y,则称Y对X完全函数依赖,记作:X\Y 。
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X\Y。
在R(U)中,如果X→Y,(Y\X),Y不函数依赖1.GIF (62 bytes)X,Y→Z,则称Z对X传递函数依赖。 加上条件Y→X,是因为如果Y→X,则X←→Y,实际上是\, 是直接函数依赖而不是传递函数依赖。

2,1NF,2NF,3NF P175-P176 如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF 第一范式是对关系模式的最起码的要求 若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。 每一个非主属性既不部分依赖于码也不传递依赖于码,则R∈3NF
3,函数依赖公理系统(Armstrong公理系统P183,闭包P184,最小覆盖P186)
Armstrong公理系统 A1.自反律(Reflexivity):若Y属于XU,则X →Y为F所蕴含。属于 A2.增广律(Augmentation):若X→Y为F所蕴含,且Z属于U,则XZ→YZ为F所蕴含。 A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。(导出规则): 合并规则:由X→Y,X→Z,有X→YZ。 (A2, A3) 伪传递规则:由X→Y,WY→Z,有XW→Z。 (A2, A3) 分解规则:由X→Y及 Z属于Y,有X→Z。 (A1, A3)
在关系模式R中为F所逻辑蕴含的函数依赖的全体叫作 F的闭包,记为F+。设F为属性集U上的一组函数依赖,X 属于U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包
F+ = G+ 的充分必要条件是F 属于 G+ ,和G 属于 F+ 最小依赖集 (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。 (3) F中不存在这样的函数依赖X→A, X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
4,模式分解(模式分解的准则及定义P189-P190,模式分解方法P191) 模式的分解要保持无损联接性和函数依赖性。算法见教材...


第七章 1,数据库设计的基本步骤P201
需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护
2,概念结构设计的方法和步骤P209-P211
设计概念结构的4类方法 自顶向下 首先定义全局概念结构的框架,然后逐步细化 自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构 混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。

3,E-R图向关系模型的转换P224-P225 属性不能再具有需要描述的性质。属性不能与其他实体具有联系。这种转换一般遵循如下原则
⒈ 一个实体型转换为一个关系模式。 ⒉ 一个m:n联系转换为一个关系模式。 ⒊ 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 ⒋ 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 ⒌ 三个或三个以上实体间的一个多元联系转换为一个关系模式。 ⒍ 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。 ⒎ 具有相同码的关系模式可合并。
4,物理设计(关系模式存取方法的选择P228-P230,数据库的存取结构P230-P231) 常用存取方法
1、索引方法 B+树索引方法 查询条件,聚集函数,连接操作 2、聚簇(Cluster)方法 连接操作,相等比较,重复率高 3、HASH方法 大小可预知,DBMS提供动态存取方法
确定数据库的物理结构
⒈ 确定数据的存储结构 ⒉ 设计数据的存取路径 ⒊ 确定数据的存放位置存取时间 存储空间利用率 维护代价) ⒋ 确定系统配置


第十一章 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位;事务是恢复和并发控制的基本单位;
1,事务的特性P279 事务的ACID特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability )
2,并发控制不当导致的问题P294 1)丢失修改(Lost Update) 2)读“脏数据” (dirty read) 3)不可重复读(Non-repeatable Read)
3,封锁P295-296
封锁具有3个环节: 第一个环节是申请加锁; 第二个环节是获得锁; 第三个环节是释放锁。基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。
解决活锁问题的方法是采用先来先服务。 解决死锁方法: (1)预防死锁的发生;(2)允许发生死锁,然后采用一定手段定期诊断系统中有无死锁,若有则解除之。预防死锁的方法: 一次封锁法, 顺序封锁法死锁的诊断:超时法,事务等待图法

4,并发调度的可串行性P299-P230 定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。
冲突操作是指不同的事务对同一个数据的读写操作和写写操作。 不同事务的冲突操作不能交换。 同一事务的两个操作不能交换。 冲突可串行化调度是可串行化调度的充分条件,不是必要条件。
5,两段锁协议P301-P302 两段锁协议:指所有事务必须分两个阶段对数据项加锁和解锁。 第一阶段是获得封锁,也称为扩展阶。 第二阶段是释放封锁,也称为收缩阶段。
事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。

推荐阅读
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • Python环境中字体放大的解决方法
    在使用Python开发环境时,有时会遇到无法通过Ctrl+鼠标滚轮放大字体的问题。本文将介绍如何在不同环境下解决这一问题,包括在没有Settings选项的情况下的替代方案。 ... [详细]
  • 近年来,区块链技术备受关注,其中比特币(Bitcoin)功不可没。尽管数字货币的概念早在上个世纪就被提出,但直到比特币的诞生,这一概念才真正落地生根。本文将详细探讨比特币、以太坊和超级账本(Hyperledger)的核心技术和应用场景。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 今日深入研究了树状数组,感觉难度较大,通过课件和博客辅助学习,仍有许多疑惑。主要探讨了老师推荐的三道题目,初步掌握了树状数组的基本用法。同时,还学习了逆序数和离散化的概念及其应用。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • 欧拉法与龙格-库塔法在微分方程求解中的对比分析
    本文探讨了计算机如何理解和模拟连续系统的动态特性,重点介绍了欧拉法和龙格-库塔法这两种常用的数值积分方法。通过详细的理论分析和MATLAB代码实现,对比了两种方法在求解微分方程时的性能和适用性。 ... [详细]
  • 本文详细介绍了Dijkstra算法,该算法用于解决图中从单个源点到其他所有顶点的最短路径问题。 ... [详细]
  • YOLO由24层ConvNet和2层FCs组成。其核心思想是将图片均匀划分为多个gridcell,每个gridcell产生两个bbox和gridcell中如果存在对象,对象是各类的 ... [详细]
  • Java作为全球最流行的编程语言之一,应用广泛。本文将详细介绍Java开发的相关岗位及其具体职责,帮助读者更好地了解这一领域的职业发展路径。 ... [详细]
  • 岭回归及其应用
    本文介绍了岭回归的基本原理,并通过Python中的sklearn库实现了岭回归模型。岭回归通过在代价函数中加入L2正则项,有效解决了多重共线性问题。 ... [详细]
  • 2023年最新指南:如何在PHP中屏蔽警告和错误
    本文详细介绍了如何在PHP中屏蔽警告和错误,包括多种方法和最佳实践,帮助开发者提升代码质量和安全性。 ... [详细]
  • ipsec 加密流程(二):ipsec初始化操作
    《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。Author:叨陪鲤Email:vip_13031075266163.comDate:2020.1 ... [详细]
  • 最近遇到了一道关于哈夫曼树的编程题目,需要在下午之前完成。题目要求设计一个哈夫曼编码和解码系统,能够反复显示和处理多个项目,直到用户选择退出。希望各位大神能够提供帮助。 ... [详细]
  • Gty的二逼妹子序列 - 分块与莫队算法的应用
    Autumn 和 Bakser 正在研究 Gty 的妹子序列,但遇到了一个难题。他们希望计算某个区间内美丽度属于 [a, b] 的妹子的美丽度种类数。本文将详细介绍如何利用分块和莫队算法解决这一问题。 ... [详细]
author-avatar
lumanman158
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有