数据库知识点归纳

1.

数据库系统包括数据库和数据库管理系统

数据库管理系统应该具备的功能:

  1. 数据库定义
  2. 数据库操纵
  3. 数据库查询
  4. 数据库控制
  5. 数据库管理
  6. 数据库通信(可选,在分布式和网络环境中必须提供)

数据库设计流程:

需求分析(数据流程图),概念结构设计(E-R图),逻辑结构设计(类似uml图),物理结构设计,数据库的实施,数据库的运营和维护

【(需求分析:分析用户的需求,包括数据、功能和性能需求;2概念结构设计:主要采用E-R模型进行设计,包括画E-R图;3逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;4数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;5数据库的实施:包括编程、测试和试运行;6数据库运行与维护:系统的运行与数据库的日常维护。),主要讨论其中的第3个阶段,即逻辑设计。通过一个实际的案例说明在逻辑设计中E-R图向关系模式的转换         】

1).数据定义语言:create,alter,drop

2).数据操纵语言:insert,update,delete

3).数据控制语言:grant,revoke

4).数据查询语言:select

2.

在数据库系统中,视图可以提供数据的安全性(利用视图可以把对数据库的访问限制在一定范围内,有利于对机密数据的保护。)

3.关系规范化中的问题

1)数据冗余:比如,每一个系的系主任姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。这将浪费很大的存储空间。

2)更新异常:由于数据冗余,当更新数据库中的数据时,系统要付出很大的代价来维护数据库的完整性,否则会面临数据不一致的危险。比如,某系更换系主任后,必须修改与该系学生有关的每一个元组。

3)插入异常:应该插入的数据未被插入。如果一个系刚成立,尚无学生,则无法把这个系及其系主任的信息存入数据库。

4)删除异常:如果某个系的学生全部毕业了,则在删除该系学生信息的同时,这个系及其系主任的信息也丢掉了 。

4.事务

一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的:

事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。

原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。
一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。
隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。
持久性(Durability):一个事务一旦提交,他对数据库的修改应该永久保存在数据库中。

丢失修改:指两个事务T1和T2从数据库中读入同一数据并修改,T2的提交结果破坏了T1提交的结果,导致T1的修改被丢失

不可重复读:不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

不可重复读包括三种情况:

事务T1读取某一数据后,事务T2对其做了修改,当T1再次读该数据时,得到与前一次不同的值。

事务T1按一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按相同条件读取数据时,发现某些记录神密地消失了。

事务T1按一定条件从数据库中读取了某些数据记录后,事务T2插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。

后两种情况也称为幻影现象(Phantom Row)。

读“脏”数据:事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤消,这时事务1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据称为“脏”数据。

5.

MySQL 主从结构的主数据库中可能出现的日志:错误日志,事务日志,Redo log

6.SQL的特点:

1.综合统一,SQL集DDL,DML,DCL的功能于一体,语言风格统一。

2.高度非过程化,SQL进行数据操作,只要提出“做什么”,而无需指明“怎么做”,

3.面向集合的操作方式

4.以同一种语法结构提供多种使用方法

5.语言简洁,易学易用

 

你可能感兴趣的:(数据库知识点归纳)