应建索引数据项:活动编号,活动名称,活动时间
表级完整性约束:活动编号的实体完整性可以用此描述,获奖人学号的参照完整性
3.6活动加分表
表3-6 ActivityPoints表
数据项名 数据类型 宽度及小数位 列级完整性描述 Sno Ano Dno Amark Varchar Varchar Varchar Int 30 30 30 3 / / / / 备注(实际意义) 学号 活动编号 院系号 活动加分 主码:学号(Sno),活动编号(Cno),院系号(Dno) 外码:学号(Sno),活动编号(Cno),院系号(Dno) 应建索引数据项:学号,活动编号,院系号
表级完整性约束:学号的实体完整性、参照完整性,活动编号的实体完整性、参照完整性,院系号的实体完整性、参照完整性
注:对于多属性构成的码,只能用表级约束定义其完整性
4 数据定义语言练习
4.1基本表(完整性)定义的SQL语句
学生(Student)表:
create Table Student( Sno varchar(50) primary key, Sname varchar(50) not null,
Ssex char(10) check(Ssex in ('男','女')), Sclass varchar(50) not null, Smajor varchar(50) not null,
Sdept varchar(50)foreign key references Department(Dno)) 院系(Department)表:
create Table Department( Dno varchar(50) primary key,
第 6 页
Dname varchar(50), Dean varchar(50)) 课程(Course)表:
create table Course( Cno varchar(50) primary key, Cname varchar(50)not null, Classhour int, Credit int) 成绩(Grade)表:
create Table Grade( Sno varchar(50) not null, Cno varchar(50) not null, Score float,
primary key(Sno,Cno),
foreign key(Sno) references Student(Sno), foreign key(Cno) references Course(Cno)) 活动(Activity)表:
create Table Activity( Ano varchar(50) primary key, Aname varchar(50) not null, Arank int, Amark int, Atime date,
Asno varchar(50)foreign key references Student(Sno)) 活动加分(ActivityPoints)表:
create Table ActivityPoints( Sno varchar(50) not null, Ano varchar(50) not null, Dno varchar(50) not null, Amark int,
primary key(Sno,Ano,Dno),
foreign key(Sno) references Student(Sno), foreign key(Ano) references Activity(Ano), foreign key(Dno) references Department(Dno))
第 7 页
4.2索引定义的SQL语句
create unique index stusno on Student(Sno); create unique index deptdno on Department(Dno); create unique index crscno on Course(Cno);
create unique index SCno on Grade(Sno ASC,Cno DESC); create unique index Acano on Activity(Ano);
create nonclustered index Acnametime on Activity(Aname,Atime); create unique index SADno on ActivityPoints(Sno ASC,Ano DESC,Dno);
4.3视图定义的SQL语句
建立管理学院学生活动加分的视图:
create view manageActivityPoints AS
select Sno,Ano,Dno,Amark from ActivityPoints where Dno='11' with check option;
5 数据操作语言练习
5.1数据增加
★实例1 ☆操作请求描述
增加学生张尧的信息:2010303064,张尧,男,1201,工程管理,11 ☆T-SQL语句
insert into student(Sno,Sname,Ssex,Sclass,Smajor,Sdept) Values('20103064','张尧','男','1201','工程管理','11'); ☆执行结果截屏
第 8 页
★实例2 ☆操作请求描述
增加一个活动信息:活动编号(6),活动名称(青年成长沙龙),活动等级(1级),活动加分(15),获奖人学号(2010303064),活动时间(2014-12-12) ☆T-SQL语句
insert into Activity(Ano,Aname,Arank,Amark,Atime,Asno) Values('6','青年成长沙龙','1','15','2014-12-12','2010303064'); ☆执行结果截屏
第 9 页
5.2数据删除
★实例1 ☆操作请求描述
删除学号为“2010603060”学生的信息 ☆T-SQL语句
delete from student
WHERE Sno='2010603075'; ☆执行结果截屏
第 10 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库技术与应用大作业(2)在线全文阅读。
相关推荐: