数据库复习知识点(1)

本文由用户“x190703494”分享发布 更新时间:2021-04-10 05:51:04 举报文档

以下为《数据库复习知识点(1)》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

基本概念

数据(data):数据库中存储的基本对象 定义:描述事物的符号记录

数据库(DB):长期存储在计算机内的、有组织的、可共享的大量数据的集合

数据库管理系统(DBMS):位于用户和操作系统之间的一层管理软件

主要功能:数据定义功能;数据组织、存储和管理功能;数据操纵功能;数据库的事物管理和运行管理功能;数据库的建立和维护功能;

数据库系统(DBS):由数据库、数据管理系统(及其应用开发工具)、应用程序和数据库管理员、组成的存储、管理、处理和维护数据的系统

数据管理:对数据进行分类、组织、编码、存储、检索和维护

数据管理技术的发展过程

人工管理阶段、文件系统阶段、数据库系统阶段

数据库系统的特点:

数据结构化;数据的共享性高、冗余度低、易某某;数据独立性高

数据独立性:物理独立性、逻辑独立性【由DBMS的二级映像功能保证】

物理独立性:用户的应用程序与存储在数据库中数据的物理存储是相互独立的。当数据的物理存储改变了,应用程序不用改变。

逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。

数据库管理系统提供的数据控制功能:

数据的安全性(security)保护:保护数据以防止比合法使用造成的数据泄密和破坏

数据的完整性(integrity)检查:将数据控制在有效的范围内,并保证数据间满足一定关系

并发(concurrency)控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果

数据库恢复( Recovery):将数据库从错误状态恢复到某一已知的正确状态

二、数据模型:数据结构、数据操作、完整性约束

1、概念:数据模型是对现实世界的模拟

2、类型:第一类:概念模型 第二类:逻辑模型、物理模型

概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计

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

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

3、客观对象的抽象过程---两步抽象

现实世界中的客观对象抽象为概念模型(现实世界抽象为信息世界)

把概念模型转换为某一DBMS支持的数据模型 (信息世界转换成机器世界)

4、数据模型的组成要素:

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

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

数据的完整性约束条件:一组完整性规则的集合

5、概念模型:

实体:客观存在并可相互区别的事物 实体集:同一类型实体的集合

实体型:用实体名及其属性名集合来抽象和刻画同类实体

联系:现实世界中,事物内部、事物之间的联系概念模型的表示方法:实体——联系方法(E-R模型)

6、常用的数据模型:

层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型

层次模型:

有且只有一个结点没有双亲结点,该节点称为根结点

根以外的其他结点有且只有一个双亲结点

网状模型:允许一个以上结点无双亲、一个结点可以有多余一个的双亲

三、关系模型:

数据结构:

关系(Relation):一个关系对应通常说的一张表

元组(Tuple):表中的一行即为一个元组

属性(Attribute):表中的一列即为一个属性

码(kay):表中可以唯一确定一个元组的属性组

域(domain):一组具有相同数据类型的值的集合

分量:元组中的一个属性值

【关系的每一个分量必须是一个不可分的数据项,即不允许表中有表】

数据操纵:查询、插入、删除和更新数据

关系模型的数据操纵是集合操作,操作对象和结果都是关系

完整性约束条件:实体完整性、参照完整性、用户完整性

四、数据库系统的结构:

1、三级模式结构:实例:模式的一个具体值

外模式:视图和部分基本表 模式:基本表 内模式:存储文件

模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,数据库系统模式结构的中间层,一个数据库只有一个模式

外模式:也称子模式、用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,与某一应用有关的逻辑表示

【模式——外模式:一对多 外模式——应用程序:一对多】

内模式:存储模式,数据物理结构和存储方式的描述,是数据在数据库内部的表示方法,一个数据库只有一个内模式

2、两级映像:

外模式/模式映像:

模式:描述的是数据的全局逻辑结构 外模式:描述的是数据的局部逻辑结构

同一个模式可以有任意多个外模式,每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系

数据的逻辑独立性:当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变

模式/内模式映像

定义了数据全局逻辑结构与存储结构之间的对应关系

数据的物理独立性:当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响

五、数据库系统的组成:

数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员

数据库管理员:

决定数据库中的信息内容和结构

决定数据库的存储结构和存取

定义数据的安全性要求和完整性约束条件

监控数据库的使用和周期性的转储数据、维护日志文件等

数据库的改进和重组、重构

=================================2==================================

1、关系

目(度):关系中属性的个数

候选码:关系中能唯一标识一个元组的属性组,而其子集不能

主码:若一个关系中有多个候选码,则选定其中一个为主码

主属性:候选码中的属性

非主属性:不包含在候选码中的属性【非码属性】

全码:关系的所有属性是该关系模式的候选码

关系的三种类型:基本关系(基本表、基表)、查询表、视图表

2、关系模式:关系模式是型、关系是值,关系模式是对关系的描述

R(U,D,DOM,F)

R:关系名 U:组成关系的属性名集合 D:U中属性来自的域

DOM:属性向域的映像集合 F:属性间数据的以来关系集合

3、关系操作:特点:集合操作

查询操作和插入、删除、修改操作两大类

查询操作分类:选择、投影、连接、除、并、差、交、笛卡尔积

五种基本操作:选择、投影、并、差、笛卡尔积

特点:集合操作方式,操作的对象和结果都是集合

4、关系完整性

实体完整性:主属性不可取空值

参照完整性:若属性(属性组)F是基本关系R的外码,它与基本关系S的主码相对应,则对于R中每个元组在F上的值必须:要么取空值,要么等于S中某个元组的主码值

用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求

外码:关系S的主码F作为关系R的属性(组),则F称为R的外码,称基本关系R为参照关系,S为被参照关系

5、关系代数

传统的集合运算:

并:RUS={t|t∈R V t∈S}

交:R∩S={t|t∈R ∧ t∈S}:R-(R-S)

差:R-S={t|t∈R ∧ t?S}

笛卡尔积:R×S={tr⌒ts|tr∈R ∧ ts∈S}

专门的关系代数运算:

选择:在关系R中选择满足给定条件的诸元组【从行的角度进行的运算】

σF(R)={t|t∈R ∧ F(t)=“真”}

逻辑表达式F基本形式:X1θY1 θ:比较运算符

投影:从R中选择若干属性列组成新的关系【从列的角度进行的运算】

XXXXXA(R)={t[A]|t∈R}

连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组

/=σF(RXS)

i,j分别是R,S上列数相等且可比的属性组

等值连接:θ为“=”的连接运算

自然连接:特殊的等值连接,两个关系中进行比较的分量必须是同名的属性组,在结果中把重复的属性列去掉【记作R?S】

悬浮元组:做自然连接时被舍弃的元组

外连接:把悬浮元组也保存在结果关系中,而在其他属性上填空值

左外连接:只保留左边关系R中的悬浮元组

右外连接:只保留右边关系R中的悬浮元组

除运算:T包含所有在R但不在S中的属性及其值,T的元组与S的元组的所有组合都在R中【T=R÷S】【同时从行和列得角度进行计算】

=================================3==================================

结构化查询语言(SQL)是关系数据库的标准语言

非关系模型(层次模型、网状模型)的数据语言:

模式数据定义语言(模式DDL)

外模式数据定义语言(外模式DDL/子模式DDL)

数据存储有关的描述语言(DSDL)

数据操纵语言(DML)

SQL集数据查询、数据操纵、数据定义、数据控制功能于一体

SQL特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供多种使用方式、语言简洁,易学易用

基本概念:

基本表:本身独立存在的表,一个关系对应一个基本表;一个或多个基本表对应一个存储文件,一个表可以带若干索引

存储文件:逻辑结构组成了关系数据库的内模式,物理结构对用户透明

视图:从一个或多个基本表导出的表;数据库只存放视图的定义而不存放视图对应的数据;视图是一个虚表;用户可以在视图上在定义视图;基本表中数据发生变化,则从视图中查询出的数据也就随之变化了

二、数据定义

数据定义功能:模式定义、表定义、视图和索引定义

模式定义与删除:

CREATE SCHEMAAUTHORIZATION;

DROP SCHEMA;

CASCADE(级联):全某某 RESTRICT(限制):无下属对象时删除

基本表的定义、删除和修改:

CREATE TABLE( [ ]

[, [ ]]

……[,] );

如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上:

PRIMARY KEY (Sno,Cno)/*主码由两个属性构成,必须作为表级完整性定义*/

列级完整性约束:直接在数据类型后加关键字

表级完整性约束:关键字(相应属性名)

FOREIGN KEY (Sno) REFERENCES Student(Sno)

/*表级完整性约束条件,Sno是外码,被参照表是Student */

PRIMARY?KEY:主码 UNIQUE:取唯一值 NOT?NULL:不能取空值

修改基本表:

ALTER TABLE

ADD [COLUMN] [完整性约束条件]:增加新列(级完整性)

ADD[表级完整性约束]:增加新的表级完整性约束

DROP [COLUMN] [CASCADE|RESTRICT]:删除表中的列

DROP CONSTRAINT [CASCADE|RESTRICT]:删除指定完整性约束

ALTER COLUMN :修改原有列定义(列名、数据类型)

删除基本表:DROP TABLE[ CASCADE|RESTRICT];

索引的建立与删除:

建立索引:CREATE [UNIQUE][CLUSTER]INDEX

ON([])【ASC:升序 DESC:降序】

修改索引:ALTER INDEXRENAME TO

删除索引: DROP INDEX

4、数据字典:关系数据库管理系统内部一组系统表,它记录了数据库所有的定义信息。

三、数据查询

SELECT?[ALL|DISTINCT]? [,]?..

FROM[,?]?|[AS]

[?WHERE??]

[?GROUP?BY??[?HAVING??]]

按列名1的值分组,HAVING:满足条件的组才予以输出

[?ORDER?BY??[?ASC|DESC?]];按列名2值升降

确定范围:(NOT)BETWEEN(下限) AND(上限)

确定集合:(NOT)IN

字符匹配:LIKE‘’[ESCAPE‘’]

通配符:%:任意长度的字符串 _:任意单个字符

涉及空值查询:属性名 IS (NOT)NULL

多重条件查询:AND、OR

聚集函数:

计数:COUNT(*)COUNT([DISTINCT|ALL]?)

计算总和:SUM([DISTINCT|ALL]?)

?算平均P$:AVG?([DISTINCT|ALL]?)

最大最小P$MAX(MIN)?([DISTINCT|ALL]??)

WHERE子句与HAVING短语区别在于作用对象不同,WHERE子句作用于基本表或视图,从中选择满足条件的元组。HAVING短语作用于组,从中选择满足条件的组

连接查询:

等值连接:

SELECT Student.*,SC.*;FROM Student,SC;WHERE Student.Sno=SC,Sno;

自身连接:SELECT FIRST.Cno,SECOND.Cpno;FROM Course FIRST, Course SECOND

WHERE FIRST.Cpno=SECOND.Cno

嵌套查询:

定义:将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询

查询块:一个SELECT-FROM-WHERE语句称为一个查询块

SELECT?Sname/*外层查询父查询*/

FROM?Student

WHERE?Sno?IN(SELECT?Sno??/*内层查询子查询*/

FROM?SC

WHERE?Cno='2');

不相关子查询:子查询的查询条件不依赖于父查询

相关嵌套查询:子查询条件依赖于父查询的查询语句

=

或!=

<



>=



ANY

IN

--

=MIN



ALL

--

NOT IN

=MAX



带有EXISTS谓词的子查询:不返回任何数据,只产生逻辑真假

基于派生表的查询:子查询出现在FROM子句中

FROM (子查询)AS [派生表名]

【AS关键字可省略,但必须为派生关系指定一个别名】

四、数据更新

插入数据:

INSERT INTO Student(Sno,Sname,Sdept,Sage)

VALUES(‘***’,’陈某某’,’IS’,18)

修改数据:

UPDATE Student SET Sage=22 WHERE Sno=’***’

删除数据:DELETE FROM Student WHERE Sno=’***’

五、视图

建立视图:

CREATE VIEW【“(表中各列名)”】

AS【】

SELECT Sno,Sname,Sage

FROM Student

WHERE Sdept=’IS’;

[WITH CHECK OPTION]

删除视图:DROP VIEW[CASCADE]

查询视图:与基本表相同

视图的作用:

视图能够简化用户的操作

视图使用户能以多种角度看待同一数据

视图对重构数据库提供了一定程度的逻辑独立性

视图能够对机密数据提供安全保护

利用视图可以更清晰地表达查询

====================================4===============================

数据库的安全性:保护数据库以防止不合法使用所造成的数据泄露、更改或破坏

数据库的不安全因素:

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

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

安全环境的脆弱性

安全级别划分的指标:安全策略、责任、保证和文档

安全性控制常用方法:用户标识和鉴别、存取控制、视图、审计、密码存储

存取控制:

定义用户权限,并将用户权限登记到数据字典中

合法权限检查

自主存取控制方法:C2级、灵活

用户权限:数据库对象、操作类型

定义用户权限:定义用户可以在哪些数据库对象上进行哪些类型的操作

授权:定义存取权限【不允许循环授权】

GRANT,…

ON,…

TO,…

[WITH GRANT OPTION]:指定获得某权限的用户是否可以把该权限授予别的用户

REVOKE,…

ON,…

FROM,…[CASCADE|RESTRICT]

审计:把用户对数据库的所有操作自动记录下来放入审计日志

审计事件:服务器事件、系统权限、语句事件、模式对象事件

审计功能:

基本功能,提供多种审计查阅方式

提供多套审计规则

提供审计分析和报表功能

审计日志管理功能

AUDIT:设置审计功能 NOAUDIT:取消审计功能

==============================5=====================================

一、数据库完整性:数据的正确性、相容性

实体完整性(PRIMARY KEY):基本关系的主属性不可取空值

参照完整性(FOREIGN KEY):若属性(属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值或等于S中某个元组的主码值

用户定义的完整性:

列值非空(NOT NULL)、列值唯一(UNIQUE)

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

【例:Ssex CHAR(2)CHECK(sex IN(‘男’,‘女’)】

完整性约束命名子句:CONSTRAINT

二、触发器:用户定义在关系表上的一类由事件驱动的特殊过程,由服务器自动激活,可以实施更为复杂的检查和操作,具有更精细和更强大的数据控制能力

定义触发器:触发器又叫事件-条件-动作规则,当特定的系统事件发生,对规则进行检查,如果条件成立则执行规则中的动作,否则不执行动作

CREATE TRIGGER

触发事件:INSERT、DELETE、UPDATE(组合)

触发器类型:行级触发器、语句级触发器

激活触发器:

执行该表上的BEFORE触发器

激活触发器的SQL语句

执行该表上的AFTER触发器

删除触发器:DROP TRIGGERON

=================================6==================================

关系模式存在的问题:数据冗余度大、更新异常、插入异常、删除异常

一、规范化

1、函数依赖:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r, r中不可能存在两个元组在X上的属性值相等而在Y上的属性值不等,则称“X函数确定Y” 或“Y函数依赖于X",记作X->Y

平凡:X->Y,但Y ? X X 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 中存在非主属性SNAME,SDEPT,MNAME对候选码(S#,CNAME)的部分函数依赖。 

(2)首先消除部分函数依赖(S#,CNAME)→SNAME,SDEPT,MNAME将关系分解为:

R1(S#,SNAME,SDEPT,MNAME),F1 = { S#→SNAME,SDEPT,MNAME}

R2(S#,CNAME,GRADE),F2={(S#,CNAME)→GRADE}

在关系R1中存在非主属性对候选码的传递函数依赖S#→SDEPT,所以将R1进一步分解: R11(S#,SNAME,SDEPT) ,F11 = { S#→SNAME,SDEPT}

R12(SDEPT,MNAME) ,F12 = { SDEPT→MNAME}

在R2,R11,R12关系模式中函数依赖都是非平凡的,并且决定因素均是候选码,所以上述三个关系模式均是BCNF。

假设存在名为AAA的数据库,包括S(S# char(8),SN varchar(8),AGE int,DEPT varchar(20),DateT DateTime)和SC(S# char(8),CN varchar(10)

/

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 岛津液相色谱网络版软件讲义
  2. 二级公共基础知识复习资料
  3. 数据库试题二及答案
  4. 数据库学习笔记
  5. 《政府数据-数据分类分级指南》
  6. 解螺旋 单元课03 GraphPad Prism 7 常用数据统计分析 2.0
  7. 《计量经济学》简介
  8. 《计量经济学》第4版习题参考答案(1)
  9. 【字节流、字符流】-笔记
  10. 软件开发安全代码编写规范制度
  11. 新建Microsoft Word 文档
  12. 数据库应用系统实践报告模板
  13. 大学《数据库原理》期末考试试题及答案(一)
  14. 统计学课内实验报告(详解 心得)
  15. 电路实验报告
  16. 3.2.2函数模型应用实例教学设计
  17. 教育行业2020年中国在线教育平台用户大数据报告:腾讯课堂数据篇
  18. 智慧平安小区数据开放平台接入规范(试行)
  19. 统计的有关概念 ]最终稿
  20. 第二章数据类型 问答题

以上为《数据库复习知识点(1)》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览