SQL简答题.doc
文本预览下载声明
问答题:
1.简述关系的性质?
(1) 同一列中的分量是同一类型的数据。 不同列可以取相同的数据类型。
(2) 关系中的列又称为属性,并赋予属性名。不同列的属性名不同。
(3) 列的次序可以任意交换。
(4) 任意两个元组不能完全相同。
(5) 行的次序可以任意交换。
(6) 列具有原子性,即每一列值是不可分的数据项
2.试述数据库设计的基本步骤。
1.需求分析阶段:需求收集和分析,得到数据字典和数据流图。
2.概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R图表示。
3.逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。
4.数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。
5.数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。
6.数据库运行和维护阶段:对数据库系统进行评价、调整与修改。
3.什么是事务,事务有哪些特性?
事务是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。是一个不可分割的工作单位,其中包含的所有操作,要么都执行,要么都不执行。
事务具有4 个特性:原子性、一致性、隔离性和持续性。这4 个特性也简称为ACID 特性。
①原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
②一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
③隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据 对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
④持续性:持续性也称永久性 ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。
4.简述预防死锁的两种方法?
预防死锁通常有两种:一次封锁法和顺序封锁法。
一次封锁法:一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次封锁法虽然可以有效地防止死锁的发生,但每次要就将以后用到的全部数据加锁,从而降低了系统的并发度。
顺序封锁法:顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。
5. 关系模型的三类完整性规则:
(1)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。
(2) 参照完整性规则:这条规则要求“不引用不存在的实体”。
(3) 用户定义的完整性规则:它反映某一具体应用涉及的数据必须满足的语义要求。
6.什么是数据库的数据独立性?
数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构与全局逻辑数据结构之间的独立性。当数据库的全局逻辑数据结构发生变化时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。
物理数据独立性是指数据的存储结构与存取方法改变时,对数据库的全局逻辑结构和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。
写出对应的 SQL语句:
Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系;Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分;
SC(选课表)的字段按顺序为学号、课程号、成绩。
各表的记录如下:
1.)查询与“刘晨”在同一个系学习的学生的学号、学生姓名。
答:SELECT Sno, Sname
FROM Student
WHERE Sdept IN
SELECT Sdept
FROM Student
WHERE Sname=刘晨;
2.)将一个新学生记录(03020;陈冬;男;18;IS)插入Student表中。
答: INSERT
INTO Student
VALUES (95020, 陈冬, 男, 18,IS);
3.)将计算机科学系(CS)全体学生的成绩置零。
答: UPDATE SC
SET Grade=0
WHERE CS=
(SELETE Sdept
FROM Student
WHERE Student.Sno=SC.Sno);
4.)创建信息系(IS)选修了1号课程的学生的视图IS_S1,字段包括Sno、Sname、Grade。
显示全部