第04-05章练习题.doc
第04-05章练习题.doc
数据库系统原理练习题
第4、5章
一、选择题
- 实体完整性要求主属性不能取空值,这通常是通过( )。
A.DBMS自动保证 B. 用户定义的完整性约束来保证
C. 定义外键来保证 D. 定义主键来保证 - 下列SQL语句中,能够实现参照完整性控制的语句是( )。
A. NOT NULL B. PRIMARY KEY
C. UNIQUE D. FOREIGN KEY - 若关系R(A,B,C)主码为A, 关系S(D,A)主码为D,外码为A,下面在关系S中哪个元组违反了完整性约束条件?( )。
R S
A B C D A
1
2 2
1 3
3 1
2
3
4 2
Null
3
1
A. (1, 2) B. (2, Null) C. (3, 3) D. (4, 1) - 使用CREATE TABLE STU (NO CHAR(4) NOT NULL, NAME CHAR(8) NOT NULL, SEX CHAR(2), AGE INT ) 创建了表STU ,下列哪些语句可以插入到表中。( )
A.INSERT INTO STU VALUES(‘1031’,’张华’,男,23)
B.INSERT INTO STU VALUES (‘1031’,’ 张华’,NULL,NULL)
C.INSERT INTO STU VALUES(NULL,’ 张华’,’男’,23)
D.INSERT INTO STU VALUES (‘1031’,NULL, ’男’,23) - 下列哪种操作不会激活触发器。( )
A. SELECT B. UPDATE C.INSERT D. DELETE - 在SQL语言中授权的操作是通过( )语句实现的。
A.DELETE B.UPDATE C.GRANT D.REVOKE
二、简述题
1. 什么是数据库的安全性?数据库系统中常用的安全控制方法和技术有哪些?
数据库的安全性是指保护数据库以防止不合法的使用造成数据的更改,破坏和泄露
- 用户标识和鉴别
设置用户名和口令用户进入需要由系统进行核对
- 存取控制
通过用户权限定义和合法权限检查确保合法权限的用户访问数据库
- 视图
通过视图把要保密的数据对于无权存取的用户隐藏起来
- 审计
建立审计日志
- 数据加密
对存储和传输的数据进行加密处理
2. 什么是数据库的完整性?关系数据库的完整性包括哪几类?
数据库的完整性是指数据的正确性和相容性。
- 实体完整性
- 参照完整性
- 用户定义的完整性
3. 什么是触发器?触发器由哪些事件激活?
触发器是用户定义在关系表上的一类由事件驱动的特殊过程。
对一个表的增,删,改操作,事务的结束等。
三、完整性约束定义
设有关系S、SC、C如下:
S(sno, sname, age, sex, sdept)
C(cno, cname, teacher)
SC(sno, cno, score)
用SQL完成下列功能:
(1)创建学生表S和课程表C(要求标明主码)creat table S(
sno char(9) primary key,
sname char(9),
age int,
sex char(2),
sdept char(9)
)
creat table C(
cno char(9) primary key,
cname char(9),
teacher char(9)
)
(2)创建选修课程情况表SC。(要求标明主码、外码及成绩的范围)
creat table SC(
sno char(9),
cno char(9),
score int,
primary key(sno,cno),
foreign key sno references S(sno),
foreign key cno references C(cno)
)假设有下面两个关系模式:
职工(职工号,姓名,年龄,进校时间,工资,部门号),其中职工号为主码
部门(部门号,部门名称,经理名,电话),其中部门号为主码
用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
(1)定义每个模式的主码
(2)定义参照完整性
(3)定义职工年龄不得超过60岁
create table 职工(
职工号 char(9) primary key,
姓名 char(9),
年龄 int check(年龄<=60),
进校时间 char(9),
工资 int,
部门号 char(9),
foreign key 部门号 renference 部门(部门号)
)
create table 部门(
部门号 char(9) primary key,
部门名称 char(9),
经理名 char(9),
电话 char(11)
)