数据库学习FAQ
简述数据、数据库、数据库管理系统、数据库系统的含义及其联系?
- 数据:数据是信息的符号记录。数据是数据库处理和研究的对象
- 数据库:长期存储在计算机内,有组织、可共享的数据集合。数据按一定的数据模型组织、描述和存贮,具有最小冗余度、较高的数据独立性、易扩展性和多用户共享等特点
- 数据库管理系统(DBMS):位于用户和操作系统之间的一层数据管理软件。数据库的建立,运行和维护由DBMS统一管理和控制,能方便用户数据定义,数据操纵和数据库保护等功能
- 数据库系统(DBS):计算机硬件为基础的记录保持系统。包括数据库、数据库管理系统、应用系统、管理员和用户,有时还包括计算机硬件。
信息模型和数据模型有何区别,试述数据模型的三要素?
- 信息模型:用来描述信息结构
- 数据模型:面向数据库的逻辑结构
- 数据模型三要素:
- 数据结构:用于描述系统的静态特征;是对实体类型和实体间联系的表达,数据类型的命名依据
- 数据操作:用于描述系统的动态特征;是对数据库检索和更新两类操作
- 数据的约束条件:一组完整性规则的集合;给出数据及其联系所具有的制约和依赖原则
简述数据库SPARC模式结构的内容
- 内部级:内部视图、存储级、物理级、内模式、存储模式;所有存储在计算机外存上的数据文件,一个数据库只有一个内模式
- 概念级:概念式图、全局逻辑级、模式、概念模式 ;泳衣描述数据库的整体所及结构,一个数据库只有一个模式
- 外部级:用户视图、局部逻辑级、外模式、子模式;是数据库与用户的接口,是用户局部逻辑的描述,一个数据库可以有多个
什么是数据独立性?数据独立性包含哪两种?
- 物理独立性:当存储结构改变时,可以通过修改概念模式/内模式的映像使概念级保持不变,这样外部级和应用程序也不会改变
- 逻辑独立性:当概念级发生改变时,可以通过修改概念模式/外模式的映像使外部级尽量保持不变,应用也就不虚改变
关系模型相对于层次和网状模型来说有哪些优缺点?
- 优点:
- 建立在严格的数学概念基础上
- 概念单一,实体、联系均用关系来表示
- 存取路径对用户透明,数据独立性高,保密性好,简化程序员工作和数据库开发建立工作
- 缺点:
- 存取路径对用户透明,查询效率不高
- 因存取路径对用户透明,必须对用户查询进行优化,增加了开发DBMS的难度
- 优点:
比较以下概念的区别
- 关系与关系模式:关系的描述称为关系模式,关系模式的实体是关系。关系模式可以表示为R(U,D,DOM,F)
- 笛卡儿积与连接:笛卡尔积为 D1∗D2∗...∗Dn=(d1,d2,...,dn)|di属于Dj ;连接是从两个关系的笛卡儿积中选取属性间满足一定条件的元祖
- 等值连接与自然连接:自然连接时一种特殊的等值连接 ,要求两个关系中进行比较的必须是相同的属性组,并在结果中去掉重复属性
- 自然连接与外连接:外连接将自然联结中舍弃的元组保存在新关系中,在新增的属性上填空值。
简述SQL语言的特点
- 综合统一:集DDL、DML、DLC于一体,语言风格统一
- 高度非过程化:只需要提出目标,操作过程由DBMS完成
- 面向集合的操作方式:操作对象、查询结果都可以是元组的集合
- 以统一的语法结构提供两种使用方式:自含式、嵌入式
- 语言简洁,易学易用,共11个关键词:
- DDL:create、drop、alter
- DML:select、insert、delete、update
- DCL:grant、revoke、commit、rollback
简述视图的作用
- 简化用户的操作
- 使用户多角度看待同一数据
- 对重构数据库提供了一定的逻辑独立性
- 对数据提供安全保护
简述嵌入式SQL中,主语言和SQL语言之间有那几种通信方式?
- 向主语言传递SQL语句的执行状态
- 主语言向SQL语句提供参数
- 将SQL语句查询数据库结果交给主语言进一步处理
主要通过SQLCA、主变量、游标来实现
简述数据库安全性控制有哪些措施?
- 用户标识和鉴别
- 存取控制:两要素分别是数据对象和操作类型
- 定义视图:主要是实现数据独立性,安全保护功能不够精密
- 审计:非强制性,自动记录对数据库的访问存取痕迹
- 数据加密
简述数据库并发操作会带来哪些问题
- 修改丢失
- 脏读
- 不可重复读
- 幻影读
简述事务的特性
- 原子性:一个事务对数据库所做的操作是不可分割的
- 一致性:事务的执行将保持数据库的一致性,即数据不会因为事务的执行而被破坏
- 隔离性:多个事务并发时,应和这些事务先后单独执行的结果是一样的
- 持久性:一个事务一旦完成提交,其对数据库的更新将永久反映在数据库中
简述数据库故障的几种类型及相应恢复方法
- 事务故障:
- 定义:由于某种原因如运算溢出、违反完整性限制、并行事务发生死锁等导致事务没有正常结束而异常中止
- 恢复操作:强行回滚(rollback)未完成的事务中的部分修改,回到事务运行前的状态,称为事务撤销(UNDO)
- 系统故障
- 定义:由于某种原因,如OS和DBMS错误、硬件错误、突然掉电等导致事务没有正常结束而异常终止,外设上的数据正常而内存中的数据全部丢失
- 恢复操作:强行回滚未完成的事务;同时将已提交的事务但可能存在内存而尚未协会外设的事务重新写回外设,称为重做(REDO)
- 截至故障:
- 定义i:由于某种原因,如硬盘损坏、强磁场干扰等导致存储在外设上的数据部分或全部丢失
- 恢复操作:恢复程序需要装入数据库发生介质故障前的某个时刻的数据库副本,并重做自此时刻开始的所有成功事务,直到发生故障前的前一时刻
- 事务故障:
简述关系模式规范化的步骤
- 消除非主属性对码的部分函数依赖
- 消除非主属性对码的传递函数依赖
- 消除主属性对码的部分和传递函数依赖
- 消除非平凡且非函数的依赖的多值依赖
- 消除不是由候选码所蕴含的连接依赖
简述数据库设计的基本步骤
- 需求分析
- 概念结构设计
- 设计局部视图
- 集成视图
- 逻辑结构设计
- 设计逻辑结构
- 优化逻辑结构
- 数据库物理设计
- 设计物理结构
- 评价物理结构
- 数据库实施
- 数据库系统的物理实现
- 实验性运行
- 数据库裕兴和维护