题目 实验环境: 实验二 《数据库原理》实验报告 姓名 班级 日期 实验内容与完成情况: 一、实验目的 本次实验了解DDL语言的CREATE、DROP、ALTER对表进行操作,学会在SQL Server 2000的查询分析器中用DDL语言进行对表的创建、删除和改动 二、实验内容 1.打开SQL Server 2000的查询分析器,在Test数据库中用DDL语句建立如下四个表。 create table Student (sno char(9)primary key, sname char(20)unique, ssex char(2), sage smallint, sdept char(20)); 表Student create table Course (cno char(4)primary key, cname char(40), cpno char(4), ccredit smallint foreign key (cpno) references Course(cno) ); 表Course
create table SC (sno char(9), cno char(4), grade smallint, primary key(sno, cno), foreign key (sno) references Student(sno), foreign key (cno) references Course(cno), ); 表SC create table Teacher (tno char(6)primary key, tname char(20), tsex char(2), tage smallint, tdept char(20), ttitles char(20), twage smallint, tdno char(6), foreign key (tdno) references Teacher(tdno) ); 表Teacher
2.在查询分析器中,使用SQL语句将下列数据分别插入Student,Course,SC和Teacher表中 insert into Student(sno,sname,ssex,sage,sdept) values('200215121','李勇','男','20','CS'); 依次插入得到: insert into Course(cno,cname,cpno,ccredit) values('1','数据库',null,4); insert into SC(sno,cno,grade) values('200215121','1',92); insert into Teacher(tno,tname,tsex,tage,tdept,ttitles,twage,tdno) values('110001','钟灵','女','27','CS','讲师','2800',110005);
3.修改表Teacher,添加一个字段Taddress,类型Varchar,长度30。 alter table Teacher add taddress char(30); 4.在查询分析器中,完成: (1)求全体学生的学号和姓名。 select sno,sname from Student; (2)求数学系学生的学号和姓名。 select sname,sno from Student where sno in (select sno from SC where cno='2');
(3)求选修了课程的学生学号。 select sname,sno from Student where sno in (select sno from SC where Student.sno=SC.sno); (4)求开设的课程号和课程名。 select cname,cno from Course ; (5)求计算机系教师的姓名和性别。 select tname,tsex from Teacher where tdept='CS';
三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题) 问题1:insert into Course(cno,cname,cpno,ccredit) values('1','英语','5',4); 服务器: 消息 2627,级别 14,状态 1,行 1 违反了 PRIMARY KEY 约束 'PK__Course__7C8480AE'。不能在对象 'Course' 中插入重复键。 语句已终止。 分析原因:可能因为cpno是外码,不能输入数据 解决办法:
因篇幅问题不能全部显示,请点此查看更多更全内容