04735数据库系统原理

一、数据库管理系统主要功能有那些?

1.数据操纵功能

2.数据定义功能

3.数据库的运行管理

4.数据库的建立和维护

5.数据组织、存储和管理功能

6.其他功能(网络通信等)

二、数据库系统阶段的特点?

1.数据集成(主要目的)

2.数据独立性高

3.数据共享性高

4.数据一致性

5.数据冗余小

6.实施统一的管理与维护

7.减少应用程序的开发和维护的工作量

三、简述模式/内模式映像

1.例如选用另一种存储结构或者更换另一个存储位置,为使数据库系统的模式保持不变,不需要修改程序,DBA通常会对模式/内模式映像做出相应的调整,如此实现了概念模式不受内模式变化的影响,并保证了数据与程序之间的物理独立性。

四、关系型模型的优点?

1.建立在严格的数学概念基础之上

2.概念单一,统一用关系来表示实体与实体之间的联系

3.存取路径对用户透明,有更高的数据独立性,更好的安全保密性

五、关系数据库的基本特征?

1.所有关系的集合构成关系数据库

2.以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式

3.其数据库操作建立在关系代数基础之上

六、简述实体完整性约束定义

1.指关系的主属性,主码的组成不能为空,也就是关系的主属性不能为null

2.关系对应现实中的实体集,现实中的实体是可以区分的,说明每个实体具有唯一标识

3.在关系模型中,是使用主码的唯一标识,假设主码取空,说明实体不可区分,这个假设显然不正确

七、实体完整性主键的约束规则

1.每个表只能定义一个主键

2.主键的值必须唯一标识表中每行的记录,且不能为null

3.复合主键不能包含不必要的多余列

4.一个列名在复合主键的列表中只能出现一次

八、关系数据库对关系的限定/要求

1.每个属性是不可分解

2.每个关系只有一种关系模式

3.每个关系模式中的属性必须命名,在同一个关系模式中,属性名不同

4.同一个关系中不允许候选码或者候选键的值完全相同

5.在关系中行序无关紧要,可以任意交换

6.在关系中列序无关紧要,可以任意交换

九、简述完整性约束的作用对象

1.列级约束:对列的类型、取值范围、精度等约束

2.元组约束:各个字段的相互约束

3.表级约束:元组之间、关系之间的联系约束

十、完全函数依赖的定义

1.设R为任意给定关系,x,y为其属性集,若x→y,且对x的任何真子集x’,都有x’→/y,则称Y完全函数依赖x。

十一、数据库设计的内容有哪些?

1.数据库结构设计:是针对应用环境进行数据库模式或者子模式的设计,包括数据库概念结构设计、数据库逻辑结构设计、物理结构设计

2.数据库行为设计:是确定数据库用户行为和动作,通常是通过程序来实现

十二、数据库的生命周期:

1.分为两个阶段,分别是数据库分析与设计阶段、数据库实现与操作阶段:其中数据分析与设计阶段包括需求分析、概念设计、逻辑设计和物理设计四个环节;数据库实现与操作阶段包括:数据库的实现、操作与监督、修改与调整三个子阶段

十三、需求分析报告的成果

1.数据库的应用功能目标

2.标明不同用户视图范围

3.应用处理过程需求说明

4.数据字典

5.数据量

6.数据约束

6.1】响应时间

6.2】数据恢复

6.3】数据的完整性

6.4】数据的安全保密性

十四、数据库控制语言的定义和语句

1.grant:授予权限

2.revoke:收回权限

十五、用户变量与局部变量、系统变量的区别

1.用户变量声明时,会在名称前加@符号, 同时已声明的用户变量存在整个会话中

2.局部变量声明时,没有在前面加@符号,只能声明在存储过程体begin...end语句块中使用

3.系统变量在名称前加两个@符号,应用于其他sql语句中

十六、视图的定义与优点

1.定义:

1.1视图是数据库中的对象;

1.2是数据库管理系统提供给用户从多角度观察数据库中的数据的一种重要机制;

1.3是从一个表或者多个表或者其他视图中通过查询语句导出的表,

1.4它也包含一系列带有名称的数据列和若干条数据行,且有自己的视图名

2.优点:

2.1集中分散数据

2.2简化查询语句

2.3重用sql语句

2.4保护数据安全

2.5共享所需数据

2.6更改数据格式

十七、存储过程体的好处

1.可增强sql语言的功能性和灵活性

2.良好的封装性

3.高性能

4.可减少网络流量

5.可作为安全机制保护数据库的安全性和数据完整性

十八、为什么要使用游标

1.使用select语句数据检索时,会返回一组称为结果集的数据行,这些数据无法一行一行的处理,所以需要游标

十九、使用游标的注意事项

1.游标只用于存储过程或者存储函数中,不能单独在查询操作中使用

2.在存储过程和存储函数中可以定义多个游标,但在begin...end语句块中每个游标的名字必须唯一

3.游标不是一条select语句,是select语句检索出来的结果集

二十、存储函数与存储过程的区别是什么

1.存储过程有输出参数;存储函数不能有输出参数,因为存储函数本身就是输出参数

2.存储过程的调用需要使用call;存储函数可以直接进行调用,不需要使用call语句

3.存储过程中不允许包含return语句,存储函数必须包含一条return

二十一、触发器的定义与作用

定义:1.是用户定义在关系表上的由事件驱动的数据库对象,也是一种保证数据完整性的方法

作用:实现主键与外键不能保证复杂的参照完整性和数据一致性,从而有效的保护表中的数据

二十二、事务的概念与特征

概念:用户定义的一个数据操作序列,这些操作可作为一个完整的工作单元,要么全部执行、要么全部不执行,是不可分割的工作单位

特征:1.原子性

           2.一致性

           3.隔离性

           4.持续性

二十三、简述并发操作的问题

1.丢失更新:假设有T1和T2两个事务,当他们同时对同一数据进行修改,T2的事务提交结果会破坏T1提交的结果,导致TI的修改丢失

2.不可重复读:假设有T1和T2两个事务,T1读取数据后,事务T2执行更新操作,导致事务T1无法再现前一次的读取结果

3.读脏数据:假设有两个事务T1和T2,T1修改了某一数据,并写回磁盘,T2读取同一数据后,由于某种原因T1被撤销了,这时T1读取的是原值,T2读取到的值就与数据库不一样

二十四、封锁的工作原理

1.若事务T对数据D加了X锁,则所有别的事务对数据D的锁请求都必须等到事务T释放锁

2.若事务T对数据D加了S锁,则别的事务还可以对数据D请求S锁,而对数据D的X锁必须等到事务T释放

3.事务执行数据库操作时,都要请求相应的锁,即对读请求S锁,对更新请求X锁,这个过程一般都是DBMS执行操作时自动隐含进行的

4.事务一直占有获得的锁直到结束时释放

二十五、简述封锁的级别(又称封锁的一致性级别或者封锁的隔离度)

1.0级封锁:封锁的事务不重写其他非0级封锁事务的未提交的更新数据

2.1级封锁:不允许未提交的更新数据。防止丢失更新

3.2级封锁:既不重写也不读未提交的更新数据,防止读脏数据

4.3级封锁:不读未提交的更新数据,也不写未提交数据  保证多个事务并发执行的“可串行化”

二十六、预防死锁的方法

1.一次性锁请求

2.锁请求排序

3.序列化处理

4.资源剥夺

二十七、第一代的两类数据库共同特点是什么?

1.支持三级模式

2.用存取路径来表示数据间的联系

3.独立的数据定义语言

4.导航的数据操纵语言

二十八、第二代数据库系统的成果及优点

成果:1.奠定了关系模型的理论基础

          2.研究了关系数据语言

          3.研制了大量的RDBMS的原型

优点:模型简单清晰、理论基础好、数据独立性强、数据库语言非过程化和标准化

二十九、数据挖掘所具备的功能:

1.聚类

2.概念描述

3.关联分析

4.分类与预测

5.孤立点检测

6.趋势和演变分析

三十、数据仓库的特征

1.面向主题

2.集成性

3.数据的非易失性

4.数据的时变性

一百、需要记住的单词

1.default:给定默认值

2.if exists :加判断

3.auto increment :自增长

4.primary key: 主键   foreign key    外键

5.modify:只会修改指定列数据类型   change还能修改列明

6.rename:重新赋予表名

7.show columns :查看表结构

8.create unique index :建立唯一索引

9.between...and   和in  :判定范围

10.create view   名字   as  select :创建视图    正常删除:drop       通过视图操作基本表:新增(insert into)、修改(update) 删除

11.delimiter  $$  :修改结束符

12.create procedure   :创建存储过程    call  调用存储过程    drop  procedure 删除存储过程

13.declare  :声明局部变量

14. declare cursor: 声明游标    open  打开游标   fetch...into  读取游标数据    close   关闭游标

15.create function  创建存储函数  select  调用存储函数   drop function  删除存储函数

16.restrict  :限制策略   cascade:级联策略  set null:置空策略  no action :实施策略

17.create trigger  创建触发器    有 insert触发器  update触发器  delete触发器

18.commit :提交  rollback:回滚

19.select into...outfile    :备份数据    load data....infile  :恢复数据

20.(创建表:create table 表名 (属性1 数据类型 not null auto increment,属性2。。。。。primary key(属性));):