~数据
- 数据是数据库管理的基本对象
~数据库技术
- 数据库技术是管理数据的技术
~数据库
- 数据库是存放数据的仓库,数据库的数据具有永久存储、有组织和可共享三个基本特点。每个数据库中的数据都是按照某一种数据模型来组织、描述和存储的
~使用数据库系统的好处
使用数据库系统的好处很多,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护,例如:
大大提高应用开发的效率
当数据的逻辑结构需要改变时,开发人员不必修改应用程序,或者只需要修改很少的应用程序
使用数据库系统可以减轻DBA维护系统的负担
~文件系统和数据库系统的区别
文件系统的数据是面向某一应用的,文件的共享性差、冗余度大、独立性差、文件的记录虽然是有结构的,但是整体无结构
数据库系统中的数据不再仅仅面向某一个应用,而是面向整个组织或企业。数据的共享性高,冗余度低,具有高度的物理独立性和一定的逻辑独立性,数据库中数据模型的组织和描述,由数据库管理系统提供数据安全性,完整性,并发性和恢复能力
~文件系统和数据库系统的联系
文件系统与数据库系统都是计算机系统中管理数据的软件
数据库管理系统的实现与操作系统中的文件系统是紧密相关的。数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作
~例举适合用文件系统而不是数据库系统的例子
- 照片,短信和微信等数据,一般来说,功能比较简单,比较固定的应用系统适合用文件系统
~例举适合用数据库系统的应用
- 作业调度系统,设备管理系统,人事管理系统,学生管理系统,图书管理系统
~数据库系统的特点
数据结构化
数据独立性高
数据的共享性高、冗余度低且易扩充
数据由数据库管理系统统一管理和控制
数据库管理系统提供的数据控制方面的功能包括
数据的安全性保护
数据的完整性检查
并发控制
数据库恢复
~DBMS的主要功能
数据库定义功能
数据组织、存储和管理功能
数据操纵功能
数据库的事务管理和运行管理
数据库的建立和维护
不同数据库之间的互访和互操作功能
~数据库系统的逻辑模型包括
- 层次模型,网状模型,关系模型,面向对象模型,对象关系模型和半结构化数据模型
~什么是概念模型,概念模型的作用
- 概念模型是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言
~定义并解释概念模型中术语:实体,实体型,实体集,实体之间的联系
实体:客观存在并可以相互区分的事物叫实体
实体型:用实体名及其属性名的集合来抽象和刻画同类实体称为实体型
实体集:同型实体的集合称为实体集
实体之间的联系:包括实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一,一对多,多对多等多种类型
~数据模型的概念,数据模型的作用
数据模型是数据库系统中最重要的概念之一。数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架
数据模型是数据库系统的基础,任何一个DBMS都以某一个数据模型为基础,或者说支持某一个数据模型
~数据模型的三个要素
数据结构:描述数据库的组成对象和对象之间的联系,是对系统的静态特性的描述
数据操作:是指对数据库中各种对象和实例允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述
数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确,有效,相容
~数据库系统中模型有不同的层次
概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰
数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义和操纵数据库中的数据
~层次模型的概念并举例
满足以下两个条件的基本层次联系的集合为层次模型
有且只有一个结点没有双亲结点,这个结点称为根结点
根以外的其他结点有且只有一个双亲结点
举例:
行政机构层次数据库模型
行政区域层次数据库模型
学校层次数据库模型
~网状模型的概念并举例
满足以下两个条件的基本层次联系的集合为网状模型:
允许一个以上的结点无双亲
一个结点可以有多于一个的双亲
举例
~层次数据库优缺点
优点:
层次模型的数据结构比较简单清晰
层次数据库的查询效率高
层次数据模型提供了良好的完整性支持
缺点
现实中很多联系都是非层次性的,层次结构不能自然地表示这类联系
层次数据库中的查询必须按照层次结构从根节点开始,沿着路径进行
~网状数据库优缺点
优点
能够更为直接地描述现实世界
具有良好的性能,存取效率较高
缺点
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
网状数据库的数据定义语言,数据操纵语言比较复杂,要求用户掌握数据库结构和存取路径,不容易使用
~关系数据库优缺点
优点
关系模型与非关系模型不同,它具有严格的数学基础
关系模型的概念单一
关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作
缺点
- 由于存取路径对用户透明,查询效率往往不如非关系数据模型
~数据库系统的三级模式
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成
外模式
- 也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
模式
- 是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
内模式
- 也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
~DDL,DML
数据定义语言:用于定义数据库模式,外模式和内模式的语言
数据操作语言:用来对数据库中的数据进行查询,插入,删除和修改的语句
~数据独立性以及为什么数据库系统具有数据与程序的独立性
外模式/模式映像定义
- 当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
模式/内模式映像定义
- 当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性
DBMS在三级模式之间提供的两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
~数据库系统的组成
- 数据库,数据库管理系统及其开发工具,应用系统,数据库管理员和用户
~关系模型的三个组成部分
- 关系数据结构,关系操作集合和关系完整性约束
~关系数据语言分类
- 关系代数语言,关系演算语言以及具有关系代数和关系演算双重特点的语言
候选码,主码,外码(第二章)
关系模型的完整性规则
实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值
参照完整性:若属性F是基本关系R的外码,它与基本关系S的主码K,相对应,则对于R中的每个元素在F上的值必须为下面二者之一:
或者取空值
或者等于SA中某个元组的主码值
用户定义完整性:反映某一具体应用所涉及的数据必须满足的语义要求
~等值连接和自然连接的区别和联系
它们是连接运算中两种最为重要,也最为常用的连接
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的连接属性必须是相同的属性组,并且要在结果中去掉其中一个的重复属性
~SQL特点
综合统一:数据定义语言DDL,数据操纵语言DML和数据控制语言DCL的功能于一体
高度非过程化:只要提出“做什么”,而无须指明“怎么做”。存取路径的选择以及SQL语句的操作过程由系统自动完成
面向集合的操作方式:SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合
以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言
语言简洁,易学易用
~在DROP TABLE时,RESTRICT和CASCADE的区别
RESTRICT表示表的删除是有限制条件的。要删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。如果存在这些依赖该表的对象,则表不能被删除
CASCADE表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象都将被删除
什么是基本表,什么是视图,联系区别
基本表是本身独立存在的表,在SQL中一个关系就对应一个基本表
视图是从一个或几个基本表导出的表,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图【联系】
视图本身不存在独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放在导出视图的基本表中。【区别】
视图的优点
视图能够简化用户的操作
视图使用户能以多种角度看待同一数据
视图对重构数据库提供了一定程度的逻辑独立性
视图能够对机密数据提供安全保护
~哪类视图可以更新,哪类不可更新
基本表的行列子集视图一般是可更新的
若视图的属性来自聚集视图、表达式,则该视图是不可以更新的
~什么是数据库的安全性
- 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏
实现数据库安全性控制的常用方法和技术
用户身份鉴别:系统提供多种方式让用户标识自己的名字或身份。用户要使用数据库系统时,由系统进行核对,通过鉴定后才可以使用数据库
多层存取控制:系统提供用户权限定义和合法权限检查功能,用户只有获得某种权限才能访问数据库中的某些数据
视图机制:为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护
审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,审计员可以利用审计信息重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等
数据加密:对存储和传输的数据进行加密处理,从而使不知道解密算法的人无法获知数据的内容
~数据库完整性
- 数据库的完整性是指数据的正确性和相容性。数据的正确性是指数据是符合现实世界语义、反映当前实际状况的;数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的
~数据库的完整性和安全性区别和联系
数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出
后者是保护数据库防止恶意的破坏和非法的存取
~数据库完整性约束条件
- 完整性约束条件是指数据库中的数据应该满足的语义约束条件
~DBMS的完整性控制机制应该有哪三方面的功能
定义功能:即提供定义完整性约束条件的机制
检查功能:即检查用户发出的操作请求是否违背了完整性约束条件
违约处理功能:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性
~在关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的
- 对于违反实体完整性和用户定义的完整性的操作,一般都采用拒绝执行的方式进行处理;而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。
第五章课本,触发器
数据库设计过程(第七章)
需求分析
概念结构设计
逻辑结构设计
数据库物理设计
数据库实施
数据库运行和维护
数据库设计过程中形成的数据库模式
数据库设计的不同阶段形成数据库的各级模式
在概念结构设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式,例如E-R图
在逻辑结构设计阶段将E-R图转化成具体的数据库产品支持的数据模型,然后在基本表的基础上再建立必要的视图,形成数据的外模式
在物理结构设计阶段,根据DBMS特点和处理的需要进行物理存储安排,建立索引,形成数据库内模式
数据字典的内容和作用
数据字典的内容通常包括数据项、数据结构、数据流、数据存储和处理过程。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容
数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实和完善
数据库的逻辑结构设计,试述其设计步骤
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构
设计步骤为:将概念结构转换为关系模型,对数据模型进行优化
规范化理论对数据库设计有何指导意义
- 规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础
数据库的物理结构设计,试述其设计步骤
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容
设计步骤:确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是时间和空间效率
如何保证输入数据的正确性
- 为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库
查询优化在关系数据库系统中的重要性
关系系统的查询优化即是RDBMS实现的关键技术,又是关系系统的优点所在,它减轻了用户选择存取路径的负担,用户只要提出“干什么”,不必指出“怎么干”
查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好
关系数据库管理系统查询优化的一般准则
选择运算应尽可能先做
把投影运算和选择运算同时进行
把投影同其前或其后的双目运算结合起来执行
把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算
找出公共子表达式
选取合适的连接算法
事务概念和4个特性,恢复技术能保证事务哪些特性
事务是用户定义的一个数据库操作序列,这些操作要么全做、要么全不做,是一个不可分割的工作单位;
事务的四大特性
原子性
- 事务是最小的执行单位,不允许分割。事务中包括的诸多操作要么都做,要么都不做
一致性
- 执行事务后,数据库从一个正确的状态变化到另一个正确的状态;
隔离性
- 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;
持久性
- 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。
登记日志文件时为什么必须先写日志文件,后写数据库(第九章)
数据库中为什么要并发控制
并发操作可能会产生哪几类数据不一致?用什么方法可以避免各种不一致的情况?
常见的并发控制技术
什么是死锁?请给出预防死锁的若干方法
什么是活锁?产生的原因及解决方法?
请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁
什么样的并发调度是正常的调度
数据库设计的六个阶段及每个阶段的任务级阶段成果
简述你对DB、DBMS、DBS的理解
对于视图的查询和更新操作,系统内部是如何处理的
数据库的概念结构设计?简述步骤
DBA职责是什么
关系代数的基本运算有哪些?如何用这些基本运算来表示其它运算
关系代数的基本运算有哪些?如何用这些基本运算来表示其它运算
SQL的定义功能
为什么事物非正常结束时会影响数据库数据的正确性,请举一例说明之
数据库中为什么要有恢复子系统?功能是什么
数据库运行中可能产生的故障有几类?那些故障影响事务的正常执行?哪些故障会破坏数据化数据?
数据库恢复的基本技术有哪些
数据库转储的意义是什么?试比较各种数据转储方法
日志文件是什么?为什么要设立日志文件
针对不同的故障,试给出恢复的策略和方法(即如何进行实物故障的恢复?系统故障的恢复?介质故障的回复?)
什么是检查点记录?检查点记录包括哪些内容?
具有检查点的恢复技术有什么优点?试举一例具体步骤
试述使用检查点方法进行恢复的步骤
什么是数据库镜像,有什么用途?
什么是封锁?基本的封锁类型有几种?试述它们的含义
如何用封锁机制保证数据的一致性
为什么要引进意向锁?意向锁的含义是什么?试述你了解的某一个实际的DBMS产品的并发控制机制(简单介绍有关Oracle的并发控制机制)
试述某个你熟悉的实际系统中对视图更新的规定
- VFP
什么是数据库中的自主存取控制方法和强制存取控制方法?
为什么强制存取控制提供了更高级别的数据库安全性
理解并解释MAC机制中主体、客体、敏感度标记的含义
什么是数据库的审计功能,为什么要提供审计功能