数据库系统概论知识总结(2017-2018)

第一章:

1.      数据库四个基本概念(数据,数据库,数据库管理系统,数据库系统)

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

数据的定义:描述事物的符号记录

数据的种类:数字、文字、图形、图像、音频、视频、学生的档案记录等

数据特点:数据与其语义是不可分的

数据库的定义:

数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。

数据库的基本特征:

数据按一定的数据模型组织、描述和储存

可为各种用户共享

冗余度较小

数据独立性较高

易扩展

什么是数据库管理系统

位于用户与操作系统之间的一层数据管理软件

是基础软件,是一个大型复杂的软件系统

数据库管理系统的用途:

科学地组织和存储数据、高效地获取和维护数据

数据库管理系统的主要功能

数据定义功能:提供数据定义语言(DDL),定义数据库中的数据对象

数据组织、存储和管理:分类组织、存储和管理各种数据,确定组织数据的文件结构和存取方式,实现数据之间的联系,提供多种存取方法提高存取效率

数据操纵功能:提供数据操纵语言(DML),实现对数据库的基本操作  (查询、插入、删除和修改)

数据库系统的构成:数据库 数据库管理系统(及其应用开发工具)应用程序 数据库管理员 

2.      数据模型(两类数据模型和数据模型组成要素,常用的数据模型)

数据模型分为两类(两个不同的层次)

(1) 概念模型   也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 E-R

(2) 逻辑模型和物理模型  

逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。

物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

数据模型组成要素

(1)数据结构

数据模型的数据结构

描述数据库的组成对象,以及对象之间的联系

描述的内容

1. 与对象的类型、内容、性质有关

2. 与数据之间联系有关

数据结构是刻画一个数据模型性质最重要的方面

数据结构是对系统静态特性的描述

(2)数据操作

对数据库中各种对象(型)的实例(值)允许执行的

   操作的集合,包括操作及有关的操作规则

数据操作的类型

查询

更新(包括插入、删除、修改)

数据模型对操作的定义:操作的确切含义操作符号 操作规则(如优先级) 实现操作的语言

数据操作是对系统动态特性的描述

(3)数据的完整性约束条件

一组完整性规则的集合

完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则

用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容

数据模型对完整性约束条件的定义

反映和规定必须遵守的基本的通用的完整性约束条件。

提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

常用的数据模型

层次模型

数据库系统中最早出现的数据模型,层次模型用树形结构来表示各类实体以及实体间的联系

满足下面两个条件的基本层次联系的集合为层次模型

1. 有且只有一个结点没有双亲结点,这个结点称为根结点

2. 根以外的其它结点有且只有一个双亲结点

层次模型的特点:

结点的双亲是唯一的

只能直接处理一对多的实体联系

每个记录类型可以定义一个排序字段,也称为码字段

任何记录值只有按其路径查看时,才能显出它的全部意义

没有一个子女记录值能够脱离双亲记录值而独立存在

层次模型的数据操纵:查询插入删除更新

层次模型的完整性约束条件

无相应的双亲结点值就不能插入子女结点值

如果删除双亲结点值,则相应的子女结点值也被同时删除

更新操作时,应更新所有相应记录,以保证数据的一致性

层次模型存储结构特点:

数据与数据间的联系结合在一起存储

数据间的联系用位置相邻或指针表达

两种常用的实现方法

邻接法:按照层次树前序遍历的顺序把所有的记录值依次邻接存放,即通过物理空间的位置的相邻来实现层次顺序

链接法:用指针来反映数据之间的层次联系

层次模型优点

层次模型的数据结构比较简单清晰

查询效率高,性能优于关系模型,不低于网状模型

层次数据模型提供了良好的完整性支持

缺点

结点之间的多对多联系表示不自然

对插入和删除操作的限制多,应用程序的编写比较复杂

查询子女结点必须通过双亲结点

层次命令趋于程序化

网状模型(Network Model)

满足下面两个条件的基本层次联系的集合:

1. 允许一个以上的结点无双亲;

2. 一个结点可以有多于一个的双亲。

网状模型与层次模型的区别

网状模型允许多个结点没有双亲结点

网状模型允许结点有多个双亲结点

网状模型允许两个结点之间有多种联系(复合联系)

网状模型可以更直接地描述现实世界

层次模型实际上是网状模型的一个特例

完整性约束条件不严格

允许插入尚未确定双亲结点值的子节点

允许只删除双亲结点值

常用方法:用指针实现记录之间的联系

单向链接

双向链接

环装链接

向首链接

优点

能够更为直接地描述现实世界,如一个结点可以有多个双亲

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

缺点

结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握

DDL、DML语言复杂,用户不容易使用

记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

关系模型(Relational Model))

关系必须是规范化的,满足一定的规范条件

最基本的规范条件:关系的每一个分量必须是一个不可分的

数据项, 不允许表中还有表

优点

建立在严格的数学概念的基础上

概念单一

实体和各类联系都用关系来表示

对数据的检索结果也是关系

关系模型的存取路径对用户透明

具有更高的数据独立性,更好的安全保密性

简化了程序员的工作和数据库开发建立的工作

缺点

查询效率往往不如格式化数据模型

为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度

面向对象数据模型(Object Oriented Data Model)

对象关系数据模型(Object Relational Data Model)

半结构化数据模型(Semistruture Data Model)

3.      三级模式,二级映像p27

三级模式:

模式(也称逻辑模式)

数据库中全体数据的逻辑结构和特征的描述

所有用户 的公共数据视图

一个数据库只有一个模式

模式的地位:是数据库系统模式结构的中间层

与数据的物理存储细节和硬件环境无关

与具体的应用程序、开发工具及高级程序设计语言无关

模式的定义

数据的逻辑结构(数据项的名字、类型、取值范围等)

数据之间的联系

数据有关的安全性、完整性要求

外模式(也称子模式或用户模式)

数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述

数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

外模式的地位:介于模式与应用之间

外模式的用途

保证数据库安全性的一个有力措施.

保证数据独立性的一个有效措施

内模式(也称存储模式)

是数据物理结构和存储方式的描述

是数据在数据库内部的表示方式

记录的存储方式(例如,顺序存储,堆结构存储,聚簇存储等)

索引的组织方式(B+树,hash)

数据是否压缩存储

数据是否加密

数据存储记录结构的规定(定长,变长,物理页)

一个数据库只有一个内模式

二级映像

外模式/模式映像:保证数据的逻辑独立性

模式/内模式映像:保证数据的物理独立性

第三章

Sql的特点

P78 sql功能和动词

用Create 创建的 删除就用DROP

插入数据

Insert into student1 select * from student;(这种方式只能复制数据,不能复制表结构)

CREATE TABLE student1 SELECT * FROM student(这种可以同时复制数据和表结构)

修改表

Alter table student [ADD<新列名><类型>[完整性]>]

                 [DROP<完整性>]

                 [MODIFY<列名><类型>]

日期型:DATE 半字长整数:SMALLINT

删除唯一性约束 DROP UNIQUE(Sname)

查询

聚集函数(count,avg,min,max,sum)通常和group by一起用(where/having分别用在group by前还是后? 后)

Select studentid,avg(grade) from gradewhere grade>80 group by studentid

Select studentid,avg(grade) from gradegroup by studentid having avg(grade)>80

模糊查询(LIKE _(一个字符) %(多个字符))

From student where studentname like ‘_王%‘

Order by(ASC DESC)

SELECT GRADE FROM GRADE WHERE GRADE BETWEEN 10 AND 80;等于GRADE>=10 AND GRADE <=80;

SELECT GRADE FROM GRADE WHERE GRADE is null

Distinct 去重复

Select distinct studentid

Exists 存在

查询:Select…from….where….

Create/drop/alter

Insert into…value…./insert into…select….

Update…set….where ….

Delete from …where…

WHERE:1.范围:BETWEEN AND, NOT BETWEEN AND

        2.集合:IN ,NOTIN

        3.字符匹配:LIKE,NOT LIKE

        4.空值:IS NULL, IS NOT NULL

        5.多重条件:AND, OR

视图(虚表)

1.        CREATE VIEW —— AS 子查询

2.        删除DROP VIEW

3.        UPDATE <> SET ___ WHERE__

第四章

P133数据库不安全的因素

1.非授权用户对数据库的恶意存取和破坏

一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。

数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。

2.数据库中重要或敏感的数据被泄露

黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。

数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。

审计日志分析

3.安全环境的脆弱性

数据库的安全性与计算机系统的安全性紧密联系

计算机硬件、操作系统、网络系统等的安全性

建立一套可信(Trusted)计算机系统的概念和标准

数据库安全性控制的常用方法

用户标识和鉴定

存取控制

视图

审计

数据加密

P141 授权和收权概念和语句

自主存取使用GRANT和REVOKE语句向用户授权或收回数据的操作权限。

GRANT向用户授予权限。

REVOKE语句收回已经授予用户的权限

1.GRANT

GRANT语句的一般格式:

      GRANT <权限>[,<权限>]...

      ON <对象类型> <对象名>[,<对象类型> <对象名>]…

      TO <用户>[,<用户>]...

      [WITH GRANT OPTION];

语义:将对指定操作对象的指定操作权限授予指定的用户

2.REVOKE

授予的权限可以由数据库管理员或其他授权者用REVOKE语句收回

REVOKE语句的一般格式为:

   REVOKE <权限>[,<权限>]...

   ON <对象类型> <对象名>[,<对象类型><对象名>]…

   FROM <用户>[,<用户>]...[CASCADE| RESTRICT];

第五章

数据库有哪三类完整性以及每种完整性的概念和相关语句

实体完整性:是指参照关系中每个元素的外码要么为空(NULL),要么等于被参照关系中某个元素的主码;

 

参照完整性:在CREATE  TABLE中用FOREIGN KEY短语定义哪些列为外码

用REFERENCES短语指明这些外码参照哪些表的主码

用户定义的完整性:针对某一具体应用的数据必须满足的语义要求

CREATE TABLE时定义属性上的约束条件

列值非空(NOT NULL)

列值唯一(UNIQUE)

检查列值是否满足一个条件表达式(CHECK)

设置字段默认值(DEFAULT)

设置字段值自动增加(AUTO_INCREMENT)

创建断言的语句格式

CREATE ASSERTION<断言名><CHECK 子句>

每个断言都被赋予一个名字,<CHECK 子句>中的约束条件与WHERE子句的条件表达式类似。

第六章

6.2 函数依赖,码和范式的概念

第七章

数据库设计基本步骤和每个步骤都干了什么

E-R图

实体型用矩形表示

属性用椭圆形表示

联系用菱形表示

E-R图转关系模式

实体(______,……)

关系(连接几个实体就打几根下划线……)

物理结构设计:B+树索引方法

第10章

P293 事务的基本概念及ACID特性

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

事务是恢复和并发控制的基本单位

事务的ACID特性:

原子性(Atomicity)事务是数据库的逻辑工作单位

一致性(Consistency

隔离性(Isolation

持续性(Durability

P297 恢复技术(数据转储和日志文件种类,作用,过程等等)

     建立冗余数据

P300 恢复策略

表,视图,索引,存储过程,触发器的概念和两两之间差别,代码等等。

猜你喜欢

转载自blog.csdn.net/Zhou_ZiZi/article/details/78984204