Data Management Technology(6) -- 一些杂七杂八的东西

建模

概念
ER(由ER转化为关系模型得到逻辑模型)
manymany分开写表,oneone一侧做另一侧性质,onemany都可以
逻辑
关系模型
规范化设计

范式

第一范式:原子性,无法再分
第二范式:非主属性,不存在部分函数依赖,如果有函数依赖则必须是完全
第三范式:在第二范式的基础上去掉传递关系
bc范式:消解了所有的不必要的函数依赖,如果有依赖则被依赖的要是候选键

超键
候选键:极小超键
主键:一个候选键
层次模型
网状模型
约束
级联、拒绝、setnone
函数依赖
完全函数依赖,部分函数依赖,传递函数依赖
非规范化设计
水平分解:分开前几行后几行
垂直分解:抽出几列
物理

SQL

DDL

事务(并发调度,特性)

特性((A原子性C一致性)I独立性D持久性)
冲突可串行并发操作
两个事物使用同一个资源并有一个是写就是冲突的
前驱图无环就是冲突可串行的
严格两阶锁
日志undo先写日志(从下向上读)redo先写磁盘(从上到下读)

关系代数

基本操作(选择、投影、差、并、笛卡尔积)
到处操作(连接(外链接(信息不丢失)内连接(信息可能丢失))、交)

E.g.

For each of the following statements, indicate whether the entire statement is TRUE or FALSE

  1. If entity sets A and B have a many-to-many relationship, each entity in A must be related to more than one entity in B. F

SQL allows you to not only create a new table, but also to delete an existing table from the database. T

  1. R ▷◁ (S ∩ T) = (R ▷◁ S) ∩ (R ▷◁ T) T

  2. Among the“ACID” properties of a good database system, the “I” stands for “inexpensive”. F

  3. Once the schema of a database is set, it cannot be changed. F

  4. In a table, there is exactly one key, but there can be multiple candidate keys.
    T

  5. The natural join of two relations R(A,B) and S(C,D), which have no common attributes, is equivalent to their Cartesian product. T

  6. In SQL, any condition (in the where clause) involving Null values is treated as False. F

  7. Given the snapshot of a table as below, we are certain that AB→D is an Functional Dependency of the table. F

  8. Given an SQL query, there are often multiple ways of writing it in relational algebra. T

  9. The basic operators in relational algebra are π,σ,ρ, ▷◁,∪,-. F

  10. join is one of five basic operation F

  11. under 3-valued logic,TRUE and (False or Not (unknown))=TRUE F

  12. There are scenarios where redundancy in schema design is actually desired T

  13. The expression"0!=Null"in the where clause of a SQL query is evaluated to be true F
    When any value is compared with NULL, the truth value is UNKNOWN.

1.若一个关系有函数依赖集(AB→CD, A→D),则可确定它最高属于: A
A. 1NF B. 2NF
C. 3NF D. BCNF

2.如果想要查询长度大于等于4,倒数第三个字符为%的字符,LIKE后应为:C
A. ‘% ’ ESCAPE ‘’ B. '%_
C. '%
%_ ’ ESCAPE ‘’ D. '%/%_ _ ESCAPE /’
3.有关系模式A (a, b, c, d, e, f),存在如下函数依赖集:B
F={(a)→b,(a, c)→d,(c, d)→e, (e)→f }
可知其候选键是
A. (a, c, e) B. (a, c) C. (b, d, f) D. (a, c, d, e)
4.Which SQL doesn’t have syntax error: D
A. Select a , count(a) From Table A Groupby a Where a>1;F
B. Select max(avg(score)) From Table A Groupby course;
C. Select a, b, c From Table A Groupby a; (g b a就只能有a,select里不能有bc)
D. Select a, count(distinct b) From Table A Groupby a Having count(a)>1;

最早的数据模型是网状数据模型
数据库的( 完整性)是指数据的正确性和相容性
数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段
关系是指D1,D2,D3…Dn的笛卡尔积的子集
DBMS存取控制机制主要包括两部分:强制存取控制,自助存取控制
并发控制会导致的后果:丢失修改,不可重复读,读脏数据

事务的ACID特性
原子性(Atomicity):事务的一组操作是不可分的。要么完全成功,要么完全失败,即使是在发生系统崩溃的情况下。
一致性(Consistency):符合程序员所定义的商业规则(Business Rules)。
隔离性(Isolation):两个事务并行执行的结果和串行执行的结果是一样的。也称可串行性(Serializability)。
持久性(Durability):事务提交后,结果是持久存储的,即使是在系统崩溃时。(内存缓冲区向磁盘的写入,通过日志来实现)。

关系模式中不可以表中套表

一级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。
一级封锁协议可以防止丢失修改,并保证事务T是可恢复的。使用一级封锁协议可以解决丢失修改问题。
在一级封锁协议中,如果仅仅是读数据不对其进行修改,是不需要加锁的,它不能保证可重复读和不读“脏”数据。
二级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后方可释放S锁。
二级封锁协议除防止了丢失修改,还可以进一步防止读“脏”数据。但在二级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。
三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
上述三级协议的主要区别在于什么操作需要申请封锁,以及何时释放。

三级锁协议可以 B
1) 保证可重复读
2) 不会丢失修改
3) 不会读脏数据
4) 保证可串行化
A1)2)B1)2)3)C1)4)D2)3)4)

关系数据库中存储的是数据以及数据之间的联系。

  1. 在关系DB中,任何二元关系模式的最高范式必定是BCNF T
  2. 多值依赖的定义,少了Z=U-X-Y F
  3. 可串行化的调度一定满足两段锁协议 F
    若并发事务都遵守两段锁协议 则对这些事务的任何并发调度策略都是可串行化的 若并发事务的一个调度是可串行化的 不一定所有事务都符合两段锁协议
  4. 文件系统已具有一定的数据独立性 T
    程序和数据有了一定的独立性是在文件系统阶段

下列哪些操作不会破坏参照完整性 B
A在参考表插入元组
B修改参考表的元组
C在被参考表插入元组
D删除被参考表的元组

简答题

https://wenku.baidu.com/view/6e389857804d2b160b4ec01d.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值