数据库实验1-6参考答案

发布时间 : 星期日 文章数据库实验1-6参考答案更新完毕开始阅读

4、数据的导出

(1)将数据库中的S,P,J,SPJ表导出为一个ACCESS数据库,名为DB_SPJ。

(2)Student表中数据导出到一个文本文件,用,作为数据项的分隔符。

(3)将Course表中数据导出到一个Excel文件中。

5、批量增加数据

(1)利用查询,将其他表中的数据增加到需要的数据表中。 将Gs01表中的数据添加到SC表中。(用Insert 语句实现) insert into sc select * from Gs01

(2)从外部其他数据源导入数据(选做)

? 从文本文件中导入 ? 从ACCESS中导入数据 ? 从EXECEL中导入数据

四、实验小结

五、评阅成绩

实验预习20% 实验过程20% 实验结果30% 实验报告30% 总成绩

17

实验五 数据控制

一、实验目的

1、掌握数据库完整性约束条件的设置 2、掌握触发器的基本使用

3、掌握SQL Server2000的安全性控制方法

二、实验预习

1、关系数据库的完整性约束有哪些?

2、什么是触发器?其作用是什么?SQL Server2000中的触发器主要有哪些?

三、实验内容和要求

1、实体完整性约束

(1)为供应商表SPJ建立完整性约束,约束列为SNO,PNO,JNO。 方法1:在表设计器中建立,请写出建立的步骤:

方法2:写出创建表的同时定义完整性约束的SQL语句。

create table spj (

sno char(6) foreign key references s(sno), pno char(6) foreign key references p(pno), jno char(6) foreign key references j(jno), qty smallint default 100,

18

primary key(sno,pno,jno) )

(2)根据实验2中的内容,输入数据下面的数据,能否成功?为什么? S1 P1 J1 200

(3)输入下面的数据能否成功,为什么? S1 NULL J1 200

(4)根据上面实验的结果,请说明实体完整性约束的含义。

2、参照完整性约束

(1)修改Student表中记录,将学号9512101改为9512103,更改是否成功?若不成功请说出原因。

update student set sno='9512103' where sno='9512101'

(2)修改SC表中记录,将学号为9512101的记录均改为学号9512109,是否更改成功?若不成功请说出原因。

update sc set sno='9512109' where sno='9512101'

(3)设置SC表的参照完整性为更新和删除时均为级联。 方法1:在表设计器中设置,请写出设置的步骤:

19

方法2:在创建表时同时设置参照完整性约束,并设置规则为级联。请写出SQL语句。

CREATE TABLE SC( Sno char(10) , Cno char(10), Grade numeric(6,2), PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Cno) REFERENCES Course(Cno) on delete cascade on update cascade,

FOREIGN KEY (Sno) REFERENCES Student(Sno) on delete cascade on update cascade )

(4)修改Student表学号9512101为9512109,观察SC表中相应记录是否更新?

update student set sno='9512109' where sno='9512101' (5)在Course表中删除课程代号为C01的记录,观察SC表中选课C01的记录是否删除?

delete from course where cno='C01'

3、用户自定义完整性 (1)设置Student表的Sno输入长度必须为7个字符的约束。请将CHECK约束子句写在下面:

alter table student add check(sno like '_______') (2)设置student表的Sdept只能为“计算机系”,“数学系”,“信息系”,“物理系”。请将CHECK约束子句写在下面:

20

联系合同范文客服:xxxxx#qq.com(#替换为@)