数据库系统概论(章节重点)

单词错误,有些地方说的也不是很严谨,大家稍微参考一下即可,祝大家期末顺利.

数据库考试重点
题型
30分客观题 20选择10填空或反过来 覆盖面大 关系代数
70分主观题 
简答(4-6个理论部分例如简述数据库设计步骤 )
编程(20-30分)
设计题(20-30分 

ER图 

转化转系模式 

判断范式

 最小依赖集 ER图中一两个表用sql语句)
 


绪论
第一页 OLTP OLAP CAD CM
什么是数据库管理系统 数据库系统 

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

数据库系统  是数据库,数据库管理系统,应用程序和数据库管理员组成的储存,管理,处理和维护数据的系统.


数据库管理系统的功能 包括哪些主要功能方面(p5数据库管理恢复等)

数据的定义

数据的组织,储存和管理

数据的操纵

数据库的事务管理和运行管理

数据库的建立和维护


数据库系统(最大的概念 硬件 软件 人)

数据库系统  是数据库,数据库管理系统,应用程序和数据库管理员组层的储存,管理,处理和维护数据的系统.


数据库发展(人工管理等阶段 层次数据库)

人工管理阶段

文件系统阶段

数据库系统阶段
 

注意:文件系统阶段内部有结构整体无结构 数据库系统阶段整体结构化
比较散

数据模型,按照抽象层次来分

   概念模型   -——> 逻辑模型——>物理模型
数据模型,按逻辑结构

层次模型

有且只有一个节点,没有双亲节点,这个节点成为根节点

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

网状模型

任一节点都可以无双亲或者有一个以上的双亲。

关系模型

二维表的形式来描述

面向对象模型
概念结构设计(ER图 实体 码)

实体: 客观存在并且能够相互识别的事物称为实体

码;   唯一能标识实体的属性集


数据模型△ (图形结构)

关系模型(二维表)
外模式内模式分别对应哪个数据对象
 

外模式也称为用户模式 他是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述.      逻辑结构

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

内模式又称储存模式 他是数据物理结构和储存方式的描述  ,是数据在数据库内部的组织方式    物理结构

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

元组:笛卡尔积中每一个元素,都叫做一个元组

候选码:关系中的某一个属性组的值能够唯一的标识一个元组,则属性组为候选码

主码:一个关系中有多个候选码,则选定其中一个为主码
第二章 简答 选择 填空
模型三要素 涉及到的数据结构数据操作…

关系数据结构 ,

关系操作集合 ,

关系完整性约束 ,(实体完整性,参照完整性,用户定义完整性)


关系代数1/2概率 给一个描述 去写关系代数式子 选择 投影 连接 除(除好像没有可以放一放)
三层嵌套
把第六题整明白就行

 

选择年龄小于20岁的学生的所在系

{▲sage<20(students)}

插入,删除,修改


第三章
除了很复杂的题目 没有三层嵌套 没有数字逻辑全称量词描述 比较简单的题

数据库模式定义

数据库角色的建立

Create role CEO

Grant select on student to CEO

Create schema <模式名> authorization <用户名>

删除

Drop schema <哪一个> cascade  无论有没有东西都执行

Drop table <哪一个> restrict   若下边有东西 不执行

创建

Create table <名>(列名和属性)

Create table test (id int primany key,name varchar(500),age int)

添加

Alter table <名> add <加什么><加的类型>

Alter table text add email varchar(500)

Grant <权限> on 表名 to 用户   给与用户那一列的权限

Grant insert drop upadate on test to abc with grant option              

Grant select on test(id) to user1 with grant option 

Grant select on user to 李华 with grant option

Grant select on user to 李华 with grant option

Grant all privages on stu to 王平          全部的权限/

Great all privages on stu to wangping

Revoke <权限> on <表名> from <数据用户名>      收回权限

Revoke select on stu from user1   cascade

Revoke select on stu from 李华  cascade

索引

Create unique index <索引名> on <在哪>

      索引的修改

       Alter index <旧名> rename to<新名>

查询

Select *

From 哪

取外号

Select id as 姓名 ,title as 课程

From edu

去重

Select distinct id as 姓名

Where 条件

计数

Select count(id)

From  哪

Select count (distinct id)

From 哪

抽出数据组成表

Select teacher_id from edu

Group by teacher_id

Having …..

链接

Select *

From sc,ecd

Where sc.id=ecd.id;

左连接

Select*

From ec left outer join ecd on ec.id=ecd.id;

插入数据

Insert into … value…

Insert into 表名 (字段列表)value (值)

Insert into stu(id,name) value(2,“张”)

修改

Update ….  Set……. Where

Update 表名 set 字段1=值1,字段2=值2,where 条件

Update stu set age=1,sex=‘m’ where id =1
 

删除

Delete from …  where …

Delete from 表 where 条件

建立一个试图表

Create view  abc

As

Select *

From student      结果集

Where sdept=’is’


第四章 安全性
有小题 没大题 策略 代码有哪些

第五章 完整性

实体完整性      对照完整性    用户定义完整性
有可能有大题 把某几个表实现出来 不能直接写create table 要考虑主码之类的
触发器没涉及

Create table(id int not null primary key ,name varchar(500), age int , sex varchar(500))
1. 联系两张表里面的内容

<1>创建一个表

Create table user (id int primary key , user varchar(500), sex varchar(500),foreign key(id) references teacher (course id ))

Create table abc(id int primary key,name varchar(500),sex varchar(500) foreign key(id)reference user(cda))

Create table abc (id int primary key , sex varchar(500), foreigin key(id) reference teacher(course id))

id int primary key//命令id 作为int 类型 主键

主键和外键尽量相同

Reference 关联  关联teacher这张表的course id


第六章△

范式:设计关系数据库时,准从不同的规范要求,这些不同的规范要求被称为不同的范式

为什么引入范式:数据冗余 更新异常 插入异常 删除异常\

函数依赖 x->y    y属于x 则称x->y 是平凡的函数依赖

你属于一个班级X 知道你的班级X 就一定能把你Y找出来    X->Y    平凡的函数依赖

x->y   y不属于x 则称x->y 是非平凡的函数依赖    X->Y  

你Y不属于一个班级X 但是你跟着这个班X上课,知道这个班X,就能把你找出来  非平凡的函数依赖

用大的推小的,小的在大的里面就是平凡的函数依赖 小的在大的外面就是非平凡的函数依赖.
基础概念要很熟悉(码 函数依赖 主属性 非主属性 用这些来描述范式)

候选码的筛选

候选码求法.

只出现在左边的一定是候选码(只出现在左边,意思是只出现在箭头的左侧)

只出现在右边的一定不是候选码

左右都出现的不一定

左右都不出现的一定是候选码

最后 求待定候选码的闭包,看看能不能推出全部 能则这个就是已候选码,不能,重试

3 R<U,F>U(A,B,C,D,E,G) F={AB- - ->C,CD-- ->E,E-- ->A,A-- >G) , 求候选码:

这个题目最后闭包的是两个元素(BD),啥也推不出来,随后将ABCDE有几个带入几个依次试一试,看看能不能推出上述式子中所有的元素    候选码不止一个

(BDA)(BDC)(BDE)之类的

超码  候选码的基础上 再外加几个元素组  

候选码是最小的超码

主属性  包含候选码中的所有元素,如果候选码是bdc bde bda 其中 主属性就是abcde

非主属性 不包含在候选码中的属性 比如说上一个题目的G
 

三大范式

1NF  所有的字段值都是不可分的原子值    

2NF  不包含非主属性对码的部分函数依赖,一个表中只能保存一种数据 不能把多种数据放在同一张数据表中

3NF 不包含非主属性对码的传递函数依赖,确保数据表中的每一列数据都与主键直接相关,而不能间接相关       

Create table abc (id int primary key ,sex varchar(500) foreign key reference user(abc))

BCNF 消除每一属性对候选键的传递依赖, 修正的3NF,表中的列不能互相推导出来

1NF  看看字段能不能再细分   可能出现: 数据冗余 更新异常 插入异常 删除异常\

2NF  一个表中只能有一个数据  该是订单表的里面就全是订单 该是商品表的里面就全都是商品 该是用户信息表的里面就全都是用户商品.

3NF  确保数据表中的每一列数据都与主键直接相关,而不能间接相关

阿姆斯特朗公理系统(闭包 函数依赖集啥啥啥的闭包)

A1自反律:若YXU,则X→Y为F所蕴含;

A2增广律:若X→Y为F所蕴含,且ZU,则XZ→YZ为F所蕴含;

A3传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含

求最小函数的依赖集

    依赖是指 关系中一个或者一组属性的值可以决定其他属性的值

  1. 拆右边为多个元素的 a->bc 拆成 a->b /// a->c
  2. 除去当前元素 求他的闭包,看看其他的元素能不能推出他现在推出的元素.能则删去,不能就换下一个 及BCD->A 把BCD 删去 看看其他的能不能推出A来. 把集合里面所有的元素都弄完意思就是,我BCD->A, 然后我限制推出A来,然后BCD重新再推,看能不能依赖其他元素重新推出A

就是求该元组的闭包,除去自身推出来的哪一个,看看最终闭包能不能圆满,圆满就删.

  1. 左边最小化(通过遮住元素来看能不能推出该元组内其他元素,例如 BCD 遮住B,看看CD能推出B来嘛,不能就遮住C 看看BD能不能推出 C来)

求保持函数依赖的3NF的分解

  1. 求最小函数依赖集 Fmin = (  -> , ->,     )
  2. 把不在F里面的属性找出来,单独归为一类(图有错误,最后不该加上不在F中的属性)
  3. 把每一个依赖左边相同的分成一类,没有一样的,那就把(a->d改为AD)如果一样(a->b,a->c 则改为ABC)
  4. 如果候选码没出现在分离里面,把任意一个候选码作为一类


XXX没听清
模式分    解

无损连接性和保持函数依赖性

(注意要等价 等价的含义195页 既…又…) 观察法 要自己会
习题一 习题二要会 推导不要求


第七章
文档书写规范性 开发步骤(E R图 E R分别是什么)

需求分析

概念结构设计

逻辑结构设计

物理结构设计

数据库实施

数据库的运行和维护

E-R图

长方形  --- 实体

椭圆形 ----  属性

菱形   -- -- -关系

1:1

1:N  一对多

M:N   多对多


第七题        第八题怪怪的
设计(20-30分)ER图 导出关系模型 241第七题第八题

第八章
考到的不多 考大体的概念性东西

第九章
小题 不考大题 注意代数优化描述

第十章 
出简答 小题
事务 日志 控制数据库恢复、并发
acid特性 有哪些种类 
恢复有哪些技术 不同故障的恢复策略
P300 为什么先写日志后写数据库
 

事务:特性  

ACID    autom    consistent   isolate  durlation

原子性 ; 要么全做 要么不做

 一致性  要么全做,要么不做 佛则否则数据不一致

 隔离性 一个事务执行不能被其他事物干扰

持久性: 数据库的改变是永久的.

事务故障的恢复

撤销之前的所有操作

系统故障恢复

未执行完的事务不做 丢失的事务重做

介质故障的恢复

重装数据库,重做已经完成的事务.


第十一章
并发 不一致情况 为什么 有哪些类型 怎么解决
封锁 三级封锁协议
活锁 死锁是什么 为什么产生 怎么解决
死锁:指两个或两个以上的进程在执行的过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,她们都无法进行下去

活锁:任务或者执行者没有被阻碍,但由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败

如何处理:

  1. 通过协议预防或者避免死锁,确保系统不会进入死锁状态
  2. 允许系统进入死锁状态,然后检测他,并加以恢复
  3. 忽视这个问题,认为死锁不可能在系统里发生

并发: 多个事务同时进行

丢失修改  读脏数据   不可重复读
简答 数据库完整性 安全性包括哪些方面

数据标识和控制

存取控制

视图

审计

数据加密

解决方法 1.写锁(X锁) 2. 读锁(S锁)

一级封锁协议 :修改时必须加X锁,直到结束   丢失修改

二级封锁协议: 读的时候,加入S锁,用完放开   读脏数据

三级封锁协议: 读的时候,加入S锁,直到结束    不可重复读

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值