当前位置:首页 > 数据库实验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
共分享92篇相关文档