数据库系统原理

1.数据描述

三层模式和两级映像

  • 外模式:用户与数据库系统的接口。
  • 逻辑模式:是数据库中全部数据的整体逻辑结构的描述。
  • 内模式:是数据库在物理存储方面的描述,定义所有内部记录,索引和文件的组织方式,以及数据控制方面的细节。

两级映像

  • 外模式/逻辑模式映像:用于定义外模式和逻辑之间的对应性。这个映像一般是放在外模式中描述的。
  • 逻辑模式/内模式映像:用于定义逻辑模式和内模式之间的对应性。这个映像一般是放在内模式中描述的。

高度的数据独立性

  • 数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据是,尽量不修改应用程序,则称系统达到了数据独立性目标。
  • 分为物理数据独立性和逻辑数据独立性
  • 物理数据独立性:修改内模式尽量不影响概念模式及外模式
  • 逻辑数据独立性:修改概念模式时尽量不影响外模式和应用程序

 

数据库技术中的四个名词

  • DB:数据库:长期存储在计算机内,有组织的,统一管理的相关数据的集合
  • DBMS:数据库管理系统:是位于用户与操作系统之间的一层数据管理软件
  • DBS:数据库系统:是实现有组织的,动态的存储大量关联数据,方便多用户访问的计算机软件,硬件和数据资源组成的系统,即采用了数据库技术的计算机系统
  • 数据库技术:是一门研究数据库结构,存储,管理和使用的一门软件学科

 

 

2.数据库的生存阶段

  • 规划->需求分析->概念设计->逻辑设计->物理设计->实现->运行维护

概念设计的主要步骤

  1. 进行数据抽象,进行局部概念模型
  2. 将局部概念模型综合成全局概念模型
  3. 评审

ER模型的概念设计步骤

  1. 设计局部ER模式
  2. 将各局部ER模式综合成全局ER模式
  3. 优化全局ER模式

 

3.SQL

视图的优点

  • 视图提供了逻辑结构的独立性
  • 简化了用户的观点
  • 用户只关心视图的内容,而不必关心构成视图的若干关系的连结,投影操作
  • 能够将对数据库的访问限制在一定范围内,有利于数据安全的保护
  • 可针对不同的用户定义不同的视图,在视图中只出现用户需要的数据,系统提供视图让用户使用

4.嵌入式SQL

1.SQL语言提供了两种不同的使用方式:

  1. 交互式
  2. 嵌入式

2.DBMS处理宿主型数据库语言SQL的方法

  1. 预编译
  2. 修改和扩充主语言使之能处理SQl语句

3.嵌入式SQL语句与主语言之间的通信

  1. SQL语句:描述性的面向集合的语句,负责操作数据库
  2. 高级语言语句:过程性的面向记录的语句,负责控制程序流程

4.工作单元之间的通信方式

  1. SQL通信区:向主语言传递SQL语句的执行状态信息,主语言能够据此控制程序的流程
  2. 共享变量:主语言向SQL语句提供参数,将SQL语句查询数据库的结果交主语言进一步处理
  3. 游标:解决集合性操作语言与过程性操作语言的匹配

5.共享变量

  1. 嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据,在SQL语句中使用主语言程序变量简称为共享变量

6.游标

  1. 为什么使用游标:SQL语言与主语言具有不同数据的处理方式,SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录
  2. 什么是游标:是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果

7.存储过程

  1. 什么是存储过程:是一组被编译在一起的T-SQL语句的集合,他们被集合在一起完成特点的任务
  2. 分类:系统存储过程,扩展存储过程,用户自定义存储过程

创建(create procedure 名字 as sql语句)步骤:

  1. 编写符合要求的SQL语句
  2. 测试SQL语句的正确性
  3. 按照存储过程的语法,创建该存储过程
  4. 执行存储过程,验证正确性

5.事务

1.概念

  • 是一个操作序列,这些操作要么什么都做,要么什么都不做,是一个不可分割的工作单位。以begin transaction语句开始,以commit语句结束或以rollback撤回结束。一个程序的执行可通过若干事务的执行来完成

2.事务的性质

  1. 原子性:一个事务中的数据库的操作,是不可分割的
  2. 一致性:数据不会因事务的执行而遭受破坏
  3. 隔离性:在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一致
  4. 持久性:一个事务一旦完成全部操作,它对数据库的所有更改应永久保存在数据库中

3.数据库的恢复

  1. 系统能把数据库从被破坏,不正确的状态,恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢复性

4.数据库的并发控制问题

  1. 丢失更新的问题
  2. 不一致分析问题
  3. 脏数据的读出

X锁:称为PX协议,任何企图更新记录R的事务必须先执行LOCK X(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁,如果未获得X封锁,那么这个事务进入等待状态,一直到获取X锁,事务在进行操作

S锁:称为PS协议,任何要更新记录R的事务必须先执行LOCK S(R)操作,以获得对该记录寻址的能力并对它取的S锁,如果未获取S锁,那么这个事务进入等待状态,一直到获取S锁,事务才能进行下去,当事务获准对记录R的封锁后,在记录R修改前必须把S封锁升级为X封锁

 

  1. 触发器的组成:事件,条件,动作
  2. 触发器结构的组成:动作时间,触发事件,目标表,旧值和新值的别名表,触发动作
  3. 宿主程序与数据库交互过程中有哪几个重要记录:环境记录,连接记录,语句记录,描述记录
  4. 文件系统的缺陷:数据冗余,数据不一致,数据联系弱
  5. 关系代数的5个基本操作:并,差,笛卡尔积,投影,选择
  6. 关系代数的四个组合操作:交,连接,自然连接,除法
  7. 关系代数的两个补充操作:外连接,外部并
  8. SQL数据库的体系结构中的三种类型:导出表,视图,基本表
  9. 关系模型的三个基本组成要素:数据结构,数据操作,数据完整性规则
  10. 事务的次序执行为调度,如果多个事务依次执行,则为事务的单行调度,如果利用分时的方法同时执行多个事务,则称为多行调度
  11. ODBC是一个分层体系结构,由纵向四个部分:ODBC数据库应用程序,驱动程序管理器,DB驱动程序,数据源构成
  12. 核心SQL的组成部分:数据定义语言,数据操作语言,嵌入式SQL语言的使用规定,数据控制语言
  13. 根据数据模型的不同,DBMS可以分为:层次型,网状型,关系型,面向对象型
  14. 逻辑模型主要有:层次,网状,关系
  15. 常见的数据库故障为:事务故障,系统故障,介质故障
  16. 修改数据库模式的权限:索引,资源,修改,撤销
  17. DBMS的存储管理器:权限和完整性管理器,事务管理器,文件管理器,缓冲区管理器
  18. 磁盘存储器中的数据结构:数据文件,数据字典,索引,统计数据,日志
  19. DBS的效益:灵活性,简易性,面向用户,有效的数据控制,加快应用系统的开发速度,维护方便,标准化
  20. 封锁可能带来的问题:死锁,活锁,饿死
  21. SQL Server2000自动创建的数据库:master,model,Madb,Tempdb
  22. 在类图中,子类之间的语义约束为:重叠,不相交,完备,非完备
  23. 数据库系统提供四方面数据控制功能:数据库的恢复,数据库的并发控制,数据库的完整性,数据安全性
  24. SQL的基本表约束为:候选键定义,外键定义,检查约束定义
  25. 存储过程的优点:提供了安全机制,改进了性能,减少了网络流量,增强了代码的重用性
  26. PB的开发空间:工作空间,目标,库文件
  27. 视图的优点:数据安全性,逻辑数据独立性,操作简便性
  28. 根据数据抽象定义了四种模型:概念数据模型,逻辑数据模型,外部数据模型,内部数据模型
  29. 数据独立性是指:应用程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽量能不修改数据程序,则称达到了数据独立性。
  30. DBA的职责:定义模式,定义内模式,与用户联络,定义安全性规则,定义完整性规则,数据库的转储与恢复
  31. 软件生存周期:规划,需求分析,概念设计,逻辑设计,物理设计,实现,维护
  32. 概念设计的步骤:设计局部概念模型,将局部概念模型综合为全局概念模型,评审
  33. 逻辑设计的步骤:将概念模型转换为逻辑模型,设计外模式,设计应用程序与数据库的接口,评价模型,修正模型
  34. 物理设计的步骤:存储记录结构设计,确定数据存放位置,存取方法的设计,完整性和安全性考虑,程序设计
  35. ER模型的数据库概念设计步骤:设计局部ER模型,设计全局ER模型,全局ER模型的优化
  36. 全局ER模型的优化:合并实体类型,消除冗余属性,消除冗余联系
  37. 关系模型的三类完整性规则:实体完整性规则,参照完整性规则,用户定义的完整性规则
  38. ER模型的逻辑设计步骤:导出初始关系模式集,规范化处理,模式评价,模式修正,设计子模式
  39. SQL的特点:具有十分灵活和强大的查询功能,不是一个应用开发语言,只提供对数据库的操作功能,国际标准语言,易学习和使用
  40. 存储过程的优点:提高运行速度,增强了SQL的功能和灵活性,可以降低网络的通信量,减轻了程序编写的工作量,间接实现安全控制功能
  41. 事务是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行
  42. 并发操作带来的三个问题:丢失更新问题,读脏数据问题,不可重复读问题
  43. 排他型锁(X锁):如果事务T对某个数据R实现了X锁,那么在T对数据R解除封锁之前,不允许其他事物T再对数据加任何数据的锁
  44. 共享型封锁(S锁):如果事务T对某数据加上S锁后,仍允许其他事物再对该数据加S锁,但在对该数据的所有S锁都解除之前决不允许任何事物对该数据加X锁
  45. 数据库中完整性是指:正确性,有效性,相容性
  46. SQL的完整性约束:域约束,基本表约束,断言
  47. SQL中的安全性机制:视图,权限,角色,审计
  48. 用于安全性目的的数据库日志,称为审计追踪

 

你可能感兴趣的:(其他)