《数据库原理》实验报告 题目:实验三 数据完整性与安全性控制 学号 姓名 班级 日期 2016/10/18 一. 实验内容、步骤以及结果
1. 利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(1) 非空约束:为出生日期添加非空约束。
(2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。
(3) 唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。
(4) 缺省约束:为性别(ssex)添加默认值,其值为“男”。
(5) CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查
条件为:成绩应该在0-100之间。
(6) 外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表
和C表,外键名称分别为fk_sno,fk_cno。
2. 在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第
1题中的(2)-(6)小题.(提示:alter table add constraint) (2)
USE [Student] GO
ALTER TABLE S
ADD CONSTRAINT pk_sno PRIMARY KEY(sno); (3)
USE [Student] GO
ALTER TABLE S
ADD CONSTRAINT uk_sname UNIQUE(sname); (4)
USE [Student] GO
ALTER TABLE S
ADD CONSTRAINT A DEFAULT('男') FOR ssex; (5)
USE [student] GO
ALTER TABLE SC
ADD CONSTRAINT ck_grade CHECK(grade BETWEEN 0 AND 100); (6)
USE [student]
GO
ALTER TABLE SC
ADD CONSTRAINT fk_sno FOREIGN KEY(sno) REFERENCES S(sno)
ALTER TABLE SC
ADD CONSTRAINT fk_cno FOREIGN KEY(cno) REFERENCES C(cno);
3. 利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。
(提示:选中student -> 数据关系图)
4. 用SQL语言删除S表中所创建的缺省约束和外键约束。
USE [Student] GO
ALTER TABLE S --缺省约束 DROP CONSTRAINT A
ALTER TABLE SC --外键约束 DROP CONSTRAINT fk_sno,fk_cno;
5. 在图形用户界面中创建新登录名以及用户。
(1) 根据第五版教材第四章 第7题,创建数据库company和其中的基本表,并创建该
题中所需要用到的各个用户以及相关的登录名。