赞
踩
(自己期末复习写的,参照《数据库系统概论》王珊 萨师煊 编著第5版)
1.1数据库系统概述
数据:描述事物的符号记录,是数据库中存储的基本对象,种类包括数字,文本,图形,图像,音频,货物的运输情况等。
数据的含义称为数据的语义,数据与其语义不可分。
数据库:存放数据的仓库,且数据按一定的格式存放。数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统:科学组织和存储数据,高效获取、维护数据的软件。
数据库系统:由数据库、数据库管理系统(及其应用开发工具)、数据库管理人员和应用程序组成。
数据管理技术的发展:人工管理阶段、文件系统阶段、数据库系统阶段
数据库系统的特点:数据结构化、数据的共享性高、冗余度低、易扩充、数据独立性高,数据由数据库管理系统统一管理和控制。
数据的独立性:包括物理独立性(应用程序和数据库中的数据的物理存储是相互独立的,即数据的物理存储改变时,应用程序不用改变)和逻辑独立性(应用程序和数据库的逻辑结构相互独立)。
1.2数据模型
数据模型:是对现实世界数据特征的抽象,用来描述数据、组织数据和对数据进行操作的。根据应用目的可以分为概念模型和物理模型。
实体:客观存在并可以相互区别的事物称为实体
属性:实体所具有的某一特性称为属性
码:唯一标识实体的属性集称为码
实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:同一类型实体的集合称为实体集
数据模型的组成要素:数据结构、数据操作和数据的完整性约束条件
数据的完整性约束条件:是一组完整性规则,是给定的数据模型中数据及其联系所具有的制约和依存规则。
关系模型的数据结构:
关系:一个关系对应通常说的一个表
元组:表中的一行即为一个元组
属性:表中的一列即为一个属性
码:码键,可以唯一确定一个元组
域:一组具有相同数据类型的值的集合
分量:元组中的一个属性值。关系中的每一个分量必须是不可分的数据项,不允许存在表中表。
1.3数据库系统结构
数据库的三级模式结构:外模式、模式和内模式
模式:逻辑模式,数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。
外模式:子模式,用户模式,数据库用户能够看得见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。
内模式:存储模式,一个数据库只有一个内模式,数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。例如,记录的存储方式是堆存储还是按照某个属性的升序降序进行存储。
第二章 关系数据结构及形式化定义
2.1关系
域:一组具有相同数据类型的值的集合
笛卡尔积:
结果可以表示为一个二维表,一行就是一个元组,每一列的值来自一个域,域中允许不同的取值个数称为这个域的基数。
设每个域的基数为mi,该笛卡尔积的基数就是每个域基数的乘积。也就是一共有那么多个元组。
笛卡尔积不满足交换律。
关系:
关系的每一个分量必须是一个不可分的数据项。
关系模式:关系的描述称为关系模式
关系数据库中,关系模式是型,关系是值。关系是关系模式在某一时刻的状态和内容,关系模式是静态的,稳定的,但是关系是动态的、随时间变化的。例如学生关系模式在不同的学年,学生关系不同。
2.2关系操作
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。
2.3关系的完整性
实体完整性:若属性A是基本关系R的主属性,A的值就不能取空值。
空值的意义包括“不存在”,“无意义”,也有“不知道”,“不确定”。
参照完整性:如果属性F是关系R的外码(F是关系R的属性,但不是主属性,但是F是另外一个基本关系S的主属性,F就称为基本关系R的外码),那么对于基本关系R中每个元组在属性F上的值必须:空值或者等于基本关系S的某个元组的主码值
用户定义完整性:就是针对某一具体关系数据库的约束条件,反应某一具体应用所涉及的数据必须满足的语义要求。例如用户要求某个属性必须取唯一值,或者不可以取空值,或者某个属性必须在什么范围内。
2.4关系代数
专门的关系运算:选择,投影,连接,除
选择:又称为限制,从元组的角度进行计算,在关系R中选择满足条件的元组。
F是条件,R是关系,运算结果为关系R中满足条件F的元组 。
投影:从关系R中选择出若干满足条件的列组成新的关系,从列的角度进行运算,结果中不允许出现重复的行。
其中,A为属性(列),R为关系
连接:从两个关系的笛卡尔积中选出满足条件的元组(行)
分为等值连接和自然连接。
等值连接: 从两个关系A、B的笛卡尔积中选取A、B属性值相等(属性名不一定相同)的那些元组(从列的角度进行计算)
自然连接:是特殊的等值连接,要求比较的分量必须是同名的属性组,并且把结果中重复的属性列去掉。
除:设除运算的结果为关系T,包含所有在R但是不在S中的属性及值,且T的元组与S的元组的所有组合都在R中。
(这里除运算比较难以理解,大家找这个,我觉得讲的很好)
第四章 数据库安全性
4.1数据库安全性概述
数据库的不安全因素:非授权用户对数据库的恶意存取和破坏;数据库中重要或敏感的数据被泄露;安全环境的脆弱性
TCSEC/TDI将系统划分为4组7个等级,依次是:D,C(C1,C2),B(B1,B2,B3),A(A1),可靠程度依次增高
4.2数据库安全性控制
用户身份鉴别:静态口令鉴别,动态口令鉴别,生物特征鉴别,智能卡鉴别。
存取控制:定义用户权限;合法权限检查。
用户权限:由数据库对象和操作类型组成。
自主存取控制方法中,定义一个用户的存取权限就是要定义这个用户可以在哪些数据库对象上进行哪些类型的操作。
SQL中使用GRANT和REVOKE赋予和收回对数据库的操作权限。
eg:将对表WORKER的SELECT的权限授予用于刘星。
在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类:
主体是系统中的活动实体,如:DBMS所管理的实际用户,代表用户的各进程
客体是系统中的被动实体,受主体操纵,如:文件、基表、索引、视图
敏感度标记(Label):对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)敏感度标记分成若干级别
绝密(Top Secret,TS)
机密(Secret,S)
可信(Confidential,C)
公开(Public,P)
TS>=S>=C>=P
主体的敏感度标记称为许可证级别;客体的敏感度标记称为密级。
当一个用户以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
注意第2点,即用户可以写入数据但是不能再读取自己写入的数据。
规则2,如果违反,就有可能把数据的密级从高流向低,造成数据的泄露,低级别也可以读,造成数据泄露。
强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,因此对数据进行存取控制时,要满足级别条件。
第五章数据库完整性
5.1实体完整性
实体完整性检查:
检查主码值是否唯一,如果不唯一则拒绝插入和修改;检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。(只是主码,如果是非主码则不一定)
参照完整性:
用户定义完整性:就是用户对数据规定了必须满足的要求。
属性上的约束条件:列值非空(NOT NULL);列值唯一(UNIQUE);检查列值是否满足一个表达式(CHECK短语)
元组上的约束条件:对元组进行限制
eg:当学生的性别为男时,其名字不能以Ms.开头
对符合条件的元组进行了限制
用CHECK短语进行约束
CONSTRAINT C1 CHECK(SNO BETWEEN 90000 AND 99999);
删除完整性约束条件:
ALTER TABLE S1
DROP CONSTRAINT C1;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。