1.1.1数据库的四个基本概念
数据:数据是数据库中存储的基本对象。
定义:描述事物的符号记录称为数据;
数据的含义称为数据的语义,数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享。
特点:永久存储、有组织、可共享
数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
主要功能为:1、数据定义功能;2、数据组织、存储和管理;3、数据操纵功能;4、数据库的事务管理和运行管理;5、数据库的建立和维护功能;6、其他功能。
数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
特点:1、数据结构化;2、数据的共享性高,冗余度低且易扩散;3、数据独立性高(数据独立性、物理独立性、逻辑独立性);4、数据由数据库管理系统-管理和控制[数据控制功能:(1)数据的安全性保护;(2)数据的完整性检查;(3)并发控制;(4)数据库恢复]
数据模型:对现实世界数据特征的抽象。用来描述数据、组织数据和对数据进行操作的。数据模型是数据库系统的核心和基础。
1.2.1两类数据模型
(3)便于在计算机上实现。
(1)概念模型:又称为信息模型,按用户的观点来对数据和信息建模
(2)逻辑模型:包括层次模型,网状模型,关系模型,面向对象数据模型和对象关系数据模型,半结构化数据模型等,按计算机系统的观点对数据建模。
(3)物理模型:对数据最底层的抽象,它描述数据在系统内部的表示方式和采取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
3、现实世界——信息时间——机器世界
1.2.2概念模型
客观存在并可相互区别的事务称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系;
一个实体可以由若干个属性来刻画;
唯一标识实体的属性集称为码;
具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型;
实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一、一对多和多对多等多种类型。
1.2.4常用的数据模型
数据结构、数据操作和数据完整性约束条件这三个方面的内容完整地描述了一个数据模型,其中数据结构是刻画模型性质的最基本的方面。
优点
缺点
优点:
缺点:
关系模型建立在严格的数学概念的基础上。它的相关术语,关系、元组、属性、码、域、分量、关系模式。
关系:一个关系对应通常说的一张表;
元组:表中的一行即为一个元组;
属性:表中的一列即为一个属性;
码:也称为码键。表中的某个属性组,它可以唯一确定一个元组;
域:域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域;
分量:元组中的一个属性值;
关系模式:对关系的描述,一般表示为关系名(属性1,属性2,...);
关系模型要求关系必须是规范化的,关系的每一个分量必须是一个不可分的数据项。
术语对比:
关系术语 |
一般表格术语 |
关系名 |
表名(表格的描述) |
关系 |
(一张)二维表 |
元组 |
记录或行 |
属性 |
列 |
属性名 |
列名 |
属性值 |
列值 |
分量 |
一条记录中的一个列值 |
非规范关系 |
表中有表(大表中有小表) |
优点:
缺点:
数据库系统的构成:数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员。
1、数据库系统的软件:
(数据库管理系统的主要功能:1.数据定义
2.数据操作3.数据库的运行管理4.数据组织、存储与管理5.数据库的保护6.数据库的维护7.通信)
2.1.1关系
候选码:关系中的某一个属性组可以唯一地标识一个元组,而其子集不行。
候选码中,选定其中一个为主码。
候选码一般只含有一个属性。在极端的情况下,关系模式的所有属性是这个关系模式的候选码称为全码。
关系模型中有有三种完整性约束:实体性完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。
2.3.1实体完整性
规则2.1实体完整性规则
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
实体完整性规则如下说明:
2.3.2参照完整性
2.3.3用户定义的完整性
(可以区分三种不同的完整性)
关系代数是一种抽象的查询语言,它用于对关系的运算来表达查询。
运算符 |
含义 |
|
集合运算符 |
并 |
|
– |
差 |
|
交 |
||
× |
笛卡尔积 |
|
专门关系运算符 |
σ |
选择 |
投影 |
||
⨝ |
连接 |
|
% |
除 |
SQL的数据定义语句
操作对象 |
创建 |
删除 |
修改 |
模式 |
CREATE SCHEMA |
DROP SCHEMA |
不可修改 |
表 |
CREATE TABLE |
DROP TABLE |
ALTER TABLE |
视图 |
CREATE VIEW |
DROP VIEW |
不可修改 |
索引 |
CREATE INDEX |
DROP INDEX |
ALTER INDEX |
3.3.1模式的定义与删除
Eg:为用户WANG定义一个学生—课程模式S-T
CREATE SCHEMA ”S-T” AUTHORIZATION WANG;
Eg:删除模式ZHANG
DROP SCHEMA ZHANG CASCADE;
CASSCADE(级联),RESTRICT(限制)
3.3.2基本表的定义、删除与修改
2.数据类型
3.修改基本表
增加或者删除列,增加或者删除完整性约束
Eg:向student表中添加x,数据类型为data
ALTER TABLE STUDENT ADD X DATA;
Eg:将表中的年龄的数据类型由字符型改成整数
ALTER TABLE STUDENT ALTER COLUMN SAGE INT;
Eg:增加课程名称必须取唯一值的约束条件
ALTER TABLE COURSE ALTER ADD UNIQUE(CNAME)
Eg:删除student表
DROP TABLE STUDENT CASCADE;
3.41单表查询
3.4.2连接查询
1、等值与非等值的连接查询
Eg:查询选修2号课程且成绩在90分以上的所有学生的学号和姓名
SELECT STUDENT.SNO,SNAME
FROM STDENT,SC
WHERE STUDENT.SNO=SC.SNO AND
SC.SNO=’2’AND SC.GRADE>90;
3.4.3嵌套查询
EXISTS代表存在量词,不返回任何值,只产生逻辑真假值,即false或ture.
Eg:查询所有选修了1号课程的学生姓名
SELECT Sname
From student
Where exists
(select *
From sc
Where sno=student.sno and cno=’1’);
3.5.1插入数据
3.5.2修改数据
3.5.3 删除语句
4.1.2安全标准简介
根据计算机系统对各指标的支持情况,TCSEC(计算机以及信息安全技术方面的安全标准)将系统划分为4组,7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高
安全级别 |
定义 |
D |
最小保护 |
C1 |
自主安全保护 |
C2 |
受控的存取保护 |
B1 |
标记安全保护 |
B2 |
结构化保护 |
B3 |
安全域 |
A1 |
验证设计 |
数据库的完整性是指数据的正确性和相容性。为维护数据库的完整性,数据库管理系统必须能够实现如下功能:
关系数据库管理系统完整性控制成为其核心支持的功能,从而能够为所有用户和应用提供一致的数据库完整性。
5.1实体完整性
5.1.2实体完整性检查和违约处理(相应的策略)
5.2参照完整性
5.2.2参照完整性检查和违约处理
6.2.1函数依赖
6.2.2码
7.1.3数据库设计的基本步骤
7.2.2需求分析的方法
对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户认可。
7.2.3数据字典
数据字典是进行详细的数据收集和数据分析所获得的主要成果。它是关于数据库中的数据描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。它在数据库设计中占有很重要的地位。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程几个部分。
将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。
7.3.2 E-R模型