1.说出数据库系统有哪几部分组成?
数据,软件,硬件,人员
2.试述SQL语言的功能。
SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询更新和管理关系数据库系统。
3.SQL提供的基本数据类型有哪些?每种举两个例子。
1.数值型(int bit)
2.字符串型(char vachar)
3.日期时间类型(datetime small datetime)
4.货币类型(money small money)
5.简述Where子句与Having子句的区别。
Having是筛选组,而where是筛选记录,分组筛选的时候应having;其它情况用where,
6.简述视图的定义以及与基本表的区别。
1、视图是一个或几个基本表(或试图)导出的表。
2、他与基本表不同,是一个虚表。
3、数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。
4、基本表的数据发生变化,视图中查询出来的数据也随之变化。
可以和基本表一样能被查询,被删除,但对试图的增、删、改操作则有一定限制。
2.试述视图的作用?
(1)视图能够简化用户的操作。(1 分)
(2)视图使用户能以多种角度看待同一数据。(1 分)
(3)视图对重构数据库提供了一定程度的逻辑独立性。(1 分)
(4)视图能够对机密数据提供安全保护。(1 分)
(5)适当的利用视图可以更清晰的表达查询
P228 使用存储过程的优点(4点)
在Oracle中,可以在数据库中定义子程序,这种程序块称为存储过程(procedure)。它存放在数据字典中,可以在不同用户和应用程序之间共享,并可实现程序的优化和重用。
(1)存储过程在服务器端运行,执行速度快。
(2)存储过程执行一次后驻留在Oracle数据库服务器的高速Cache中,以后再次执行存储过程时,只需从高速Cache中调用已经编译好的代码即可,从而提高了系统性能。
(3)存储过程确保了数据库的安全。使用存储过程,可以在禁止用户直接访问应用程序中的某些数据表的情况下,授权执行访问这些数据表的存储过程。
(4)自动完成需要预先执行的任务。存储过程可以设置为系统启动时自动执行,而不必在系统启动后再进行手动操作,从而方便了用户的使用,可以自动完成一些需要预先执行的任务。
(5)降低了客户机和服务器直接的通信量。
(6)方便实施企业规则。当用户规则发生变化,只需要修改存储过程不需要修改其他应用程序。
2:Oracle中的过程、函数与其他数据库产品及编程语言中的过程、函数的区别
1.procedure不能使用return语句来返回某个变量或值,只能使用不带返回值的return.
2.两者都可以使用out参数来返回值,但是使用了out参数的function无法在sql中调用.
1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
2、函数中一般不用变量形参,用函数名直接返回函数值;而过程如有返回值,则必须用变量形参返回。
3、过程无类型,不能给过程名赋值;函数有类型,最终要将函数值传送给函数名。
4、函数在定义时一定要进行函数的类型说明,过程则不进行过程的类型说明。
5、调用方式不同。函数的调用出现在表达式中,过程调用,由独立的过程调用语句来完成。
6、过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与计算无关的各种操作;而函数往往只为了求得一个函数值
函数必须有返回值,过程可以没有;它只能作为一个表达式的一部分,不能作为一个独立的语句来使
用。
2::函数可以单独执行.而过程必须通过execute执行.
3::函数可以嵌入到SQL语句中执行.而过程不行.
触发器的作用(6点)
(1)在安全性方面,触发器可以基于数据库的值使用户具有操作数据库的某种权利。(2)在审计方面,触发器可以跟踪用户对数据库的操作。
(3)实现复杂的数据完整性规则。
(4)实现复杂的非标准的数据库相关完整性规则。触发器可以对数据库中相关的表进行连环更新。
(5)同步实时地复制表中的数据。
(6)自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。
三.1. 数据库管理系统有哪些功能?
数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面:
(1)数据定义功能:DBMS 提供数据描述语言(DDL),用户可通过它来定义数据对象。(2)数据操纵功能:DBMS 还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改。
(3)数据库的事务管理和运行管理:这是DBMS 运行时的核心部分,它包括并发控制,安全性检查,完整性约束条件的检查和执行,发生故障后的恢复等。
(4)数据库的建立和维护功能:它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。
(5)数据组织、存储和管理
(6)其他功能
2.数据库设计分哪几个阶段?
数据库设计分以下六个阶段:(1)需求分析(2)概念结构设计(3)逻辑结构设计
(4)物理结构设计(5)数据库实施(6)数据库运行和维护(1)需求分析:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户需求,确定新系统的功能。
(2)概念结构设计:应用E-R模型真实地反映现实世界,包括事物和相互之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型;易于理解、易于更改、易于向关系、网状、层次等各种数据模型转换。概念结构设计有以下四种方法:①自顶向下;②自底向上;③逐步扩张;④混合策略。
(3)逻辑结构设计:逻辑结构设计的目的是把概念设计阶段的基本E—R图转换成与选用的具体机器上DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。逻辑结构设计有如下三个步骤:①将概念模型(E—R图)转换为一般的关系、网状、层次模型;②将关系、网状、层次模型向特定的DBMS支持下的数据模型转换;③对数据模型进行优化。
(4)物理结构设计:对于一个给定的逻辑数据模式选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。
(5)数据库实施:建立实际数据库结构;试运行;装入数据;同时进行数据库的重新组织设计;
故障恢复方案设计;安全性考虑;事务控制;
(6)数据库的运行和维护:数据库的日常维护(安全性、完整性控制,数据库的转储和恢复);性能的监督、分析与改进;扩充新功能;修改错误。
7.试叙述数据库系统的三级模式结构及二级映象功能。
三级模式结构:外模式、模式、内模式
二级映像是为了在内部实现三个模式所对应三个抽象层次的联系和转换。
8.简述数据库系统如何实现应用程序与数据物理独立性和逻辑独立性。
模式/内模式映像保证了数据的物理独立性,将由内模式变化所带来的影响与概念模式隔离开来
外模式/模式的映像保证了数据的逻辑独立性,将由概念模式变化所带来的影响与外模式隔离开来
10.解释E-R图并说明其三要素。
实体、联系、属性。
实体:现实世界可以区别于其他是对象的“事件”或“物件”
联系:实体各属性之间所具有的关系。
属性:一个实体集所具有的共同性质。
11.实体间的联系有哪几种?并分别举例。
一对一观众对座位一对多部门对员工多对多项目对员工
12.试述E-R模型向关系模型的转换原则。
1.将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
2.根据不同的情况做不同的处理:
1.若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的
属性中加入另一个关系模式的键(作为外键)和联系类型的属性。
2.若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作
为外键)和联系类型的属性。
3.若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键(作为外键)加上联系类型的属性,而键为两端实体键的组合。
13.某个数据库中包含一个名为test的角,数据库管理员要给这个角中的所有用户分配stundent图的增、删、改、查权限,并且允许获得这些权限的用户将这些权限继续授予其他用户,写出数据库管理员要执行的语句。
Grant select,update,delete,insert on stundent to test with grant option
14.简述事务的概念及其ACID特性。
事务是用户定义的数据库操作的集合,这些操作作为一个完整的有机工作单元,要么全部正确执行,要么全部不执行。
事务具有四个特性,即ACID 特性:
(1)原子性:事务中包括的所有操作要么都做,要么都不做。
(2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。
(3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。
(4)持续性:事务一旦提交,对数据库的改变是永久的。
16、触发器的分类和作用。
每张基表最多可建立12个触发器。触发器的类型有三种:
(1) DML触发器。Oracle可以在DML(数据操纵语句)语句进行触发,可以在DML
操作前或操作后进行触发,并且可以在每个行或该语句操作上进行触发。DML触发器包括INSERT触发器、DELETE触发器、UPDATE触发器。
(2) 替代触发器。由于在Oracle中不能直接对有两个以上的表建立的视图进行操
作,所以给出了替代触发器。它是Oracle专门为进行视图操作的一种处理方法。
(3)系统触发器。它可以在Oracle数据库系统的时间中进行触发,如Oracle数据库的关闭或打开等。
17.请分别列举2种能在windows平台上运行2种能在UNIX平台上运行的数据库管理系统。Windows下:SQL Server  MYSQL            UNIX下: Oracle  DB2
18.简述索引的优点。
创建索引可以大大提高系统的性能。
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
oracle 时间转换第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
这是因为,增加索引也有许多不利的一个方面。
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空
间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引,例如:
在经常需要搜索的列上,可以加快搜索的速度;
在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;
在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;
在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;
在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。
19.简述数据库中的索引的使用原则,即哪些情况适合创建索引。
对于查询中很多设计的列或重复值比较少,适合创建索引。
对按照范围查询的列,最好建立索引。
表中若有主键或外键,一定要建立索引。
20.简述关系模型的三类完整性约束。
1.实体完整性约束要求候选码非空且唯一。
2.参照完整性约束要求外码要么取空值,要么所取的值在对应的候选码中出现。
3.用户自定义完整性。包括非空约束,唯一约束,检查约束,缺省值约束等。
21.简述关系运算有几种。
1.传统的集合运算(并,交,差,笛卡尔积)
2.专门的关系运算(投影,选择,连接,除)
22.写出关系数据库中常见的六种约束条件。
Not null  Unique  primary key  check  default  foreign key
23.简述SQLserver数据库权限控制机制。
有系统权限和对象权限以及EXECUTE的权限。系统权限如创建表,创建视图等。对象权限有增删,删,改,查等。权限可以被授予,也可以回收。
24.简述三级封锁协议及其解决的事务并发执行的问题。
一级封锁协议:对对象加X锁,直到事物结束时才释放X锁。
二级封锁协议:在一级封锁协议的基础上,给事物加S锁,读完后立即释放S锁。