数据库实验二实验三代码和截图.docx
《数据库实验二实验三代码和截图.docx》由会员分享,可在线阅读,更多相关《数据库实验二实验三代码和截图.docx(41页珍藏版)》请在冰点文库上搜索。
数据库实验二实验三代码和截图
数据库原理上机实验报告
数据库实验报告
第2章数据库和数据表操作实验
2.1实验目的
通过实习了解掌握数据库和数据表的两种创建方式:
1)通过数据库管理系统软件提供的管理界面完成数据库和数据表的创建;2)通过SQL语言完成数据库和数据表的创建。
2.2实验平台
1.操作系统:
Windows7、WindowsXP、WindowsServer2003/2008。
2.数据库管理系统:
根据实际情况,自己选择Oracle或SQLServer或MySQL中的一种数据管理管理系统软件。
2.3实验内容
1.采用SQLServer的ManagementStudio,或者Oracle的控制台,或者MySQL的Workbench建立一个数据库University,其中包括6个数据表:
a)系的信息表Department(Dno,Dname,Daddress);
b)学生信息表Student(Sno,Sname,Ssex,Sage,Dno);
c)教师信息表Teacher(Tno,Tname,Ttitle,Dno);
d)课程信息表Course(Cno,Cname,Cpno,Ccredit);
e)学生选课表SC(Sno,Cno,Grade);
f)教师授课表TC(Tno,Cno,Site)。
上面加有下划线的为该表的关键码,Dno表示系的编号,Dname表示系名,Daddress表示系所在的办公地址;Sno表示学号,Sname为学生姓名,Ssex为学生性别,Sage学生年龄;Tno表示教师编号,也即职工号,Tname表示教师姓名,Ttitle表示教师职称;Cno表示课程编号,Cname表示课程名称,Cpno先导课程编号,Ccredit课程学分;Grade表示每个学生的每一门课的成绩;Site表示授课地点。
代码:
/*系的信息表Department(Dno,Dname,Daddress)*/
createtableDepartment(
Dnonumber(10),
Dnamevarchar2(50),
Daddressvarchar2(50),
primarykey(Dno)
);
/*学生信息表Student(Sno,Sname,Ssex,Sage,Dno)*/
createtableStudent(
Snochar(11),
Snamevarchar2(50),
Ssexchar
(2),
Sagenumber(10),
Dnonumber(10),
primarykey(Sno),
foreignkey(Dno)referencesDepartment(Dno)
);
/*教师信息表Teacher(Tno,Tname,Ttitle,Dno)*/
createtableTeacher(
Tnonumber(10)primarykey,
Tnamevarchar2(50),
Ttitlevarchar2(50),
Dnonumber(10),
foreignkey(Dno)referencesDepartment(Dno)
);
/*课程信息表Course(Cno,Cname,Cpno,Ccredit)*/
createtableCourse(
Cnonumber(10)primarykey,
Cnamevarchar2(50),
Cpnonumber(10),
CCreditnumber(10),
foreignkey(Cpno)referencesCourse(Cno)
);
/*学生选课表SC(Sno,Cno,Grade)*/
createtableSC(
Snochar(11),
Cnonumber(10),
Gradenumber(10),
primarykey(Sno,Cno),
foreignkey(Sno)referencesStudent(Sno),
foreignkey(Cno)referencesCourse(Cno)
);
/*教师授课表TC(Tno,Cno,Site)*/
createtableTC(
Tnonumber(10),
Cnonumber(10),
Sitevarchar2(50),
primarykey(Tno,Cno),
foreignkey(Tno)referencesTeacher(Tno),
foreignkey(Cno)referencesCourse(Cno)
);
2.采用SQL语言删除步骤1中建立的数据表和数据库;
代码:
droptableSC;
droptableTC;
droptableCourse;
droptableTeacher;
droptableStudent;
droptableDepartment;
3.采用SQL语言建立数据库DB和其中的6个数据
4.采用SQL语句为Student表的Sname建立唯一索引。
代码:
Createuniqueindexstnsnameonstudent(sname)
5.采用SQL语句删除Student表Sname上的唯一索引。
代码:
DROPINDEXSTUSNAME
6.采用SQL语句给Teacher表添加一个字段Tsex教师性别。
代码:
ALTERTABLETEACHERADDTSEXDATE;
7.采用SQL语句删除Teacher表中的字段Tsex。
代码:
ALTERTABLETEACHERDROPCOLUMNTSEX;
第3章数据表的数据操作实验
3.1实验目的
通过实习了解掌握数据表中的数据操作,包括向表中插入数据、修改数据、删除数据等。
1)通过数据库管理系统软件提供的管理界面完成数据表的相关数据操作;2)通过SQL语言完成数据表的查询、插入、修改、删除等相关数据操作。
3.2实验平台
1.操作系统:
Windows7、WindowsXP、WindowsServer2003/2008。
2.数据库管理系统:
根据实际情况,自己选择Oracle或SQLServer或MySQL中的一种数据管理管理系统软件。
3.3实验内容
1.分别采用UI界面和SQL语言为University的Department表输入下列数据:
代码:
/*系的信息表Department(Dno,Dname,Daddress)*/
createtableDepartment(
Dnonumber(10),
Dnamevarchar2(50),
Daddressvarchar2(50),
primarykey(Dno)
);
insertintoDepartment(Dno,Dname,Daddress)values(1,'地球科学学院','主楼东');
insertintoDepartment(Dno,Dname,Daddress)values(2,'资源学院','主楼西');
insertintoDepartment(Dno,Dname,Daddress)values(3,'材化学院','材化楼');
insertintoDepartment(Dno,Dname,Daddress)values(4,'环境学院','文华楼');
insertintoDepartment(Dno,Dname,Daddress)values(5,'工程学院','水工楼');
insertintoDepartment(Dno,Dname,Daddress)values(6,'地球物理与空间信息学院','物探楼');
insertintoDepartment(Dno,Dname,Daddress)values(7,'机械与电子信息学院','教二楼');
insertintoDepartment(Dno,Dname,Daddress)values(8,'经济管理学院','经管楼');
insertintoDepartment(Dno,Dname,Daddress)values(9,'外语学院','北一楼');
insertintoDepartment(Dno,Dname)values(10,'信息工程学院');
insertintoDepartment(Dno,Dname,Daddress)values(11,'数学与物理学院','基委楼');
insertintoDepartment(Dno,Dname,Daddress)values(12,'珠宝学院','珠宝楼');
insertintoDepartment(Dno,Dname,Daddress)values(13,'政法学院','政法楼');
insertintoDepartment(Dno,Dname,Daddress)values(14,'计算机学院','北一楼');
insertintoDepartment(Dno,Dname)values(15,'远程与继续教育学院');
insertintoDepartment(Dno,Dname)values(16,'国际教育学院');
insertintoDepartment(Dno,Dname,Daddress)values(17,'体育部','体育馆');
insertintoDepartment(Dno,Dname,Daddress)values(18,'艺术与传媒学院','艺传楼');
insertintoDepartment(Dno,Dname,Daddress)values(19,'马克思主义学院','保卫楼');
insertintoDepartment(Dno,Dname,Daddress)values(20,'江城学院','江城校区');
2.分别采用UI界面和SQL语言为University的Student表输入下列数据:
代码:
/*学生信息表Student(Sno,Sname,Ssex,Sage,Dno)*/
createtableStudent(
Snochar(11),
Snamevarchar2(50),
Ssexchar
(2),
Sagenumber(10),
Dnonumber(10),
primarykey(Sno),
foreignkey(Dno)referencesDepartment(Dno)
);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091000231','吕岩','M',18,14);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091004391','颜荣','M',19,14);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091001598','王海涛','M',20,14);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091003085','袁恒','M',18,14);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091000863','孟飞','M',17,14);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091000934','罗振俊','M',19,8);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091000961','曾雪君','F',18,8);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091000983','巴翔','M',19,8);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091001175','周雷','M',18,8);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091001261','马欢','M',17,8);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091001384','陈亮','M',20,8);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20081003492','易家新','M',19,5);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20081001197','李子聪','M',17,5);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20081001266','蔡景学','F',19,5);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20081001888','赵林云','F',20,5);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20091000481','姜北','M',17,5);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20101000199','孙中孝','M',18,11);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20101000424','杨光','M',17,11);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20101000481','张永强','M',16,11);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20101000619','陈博','M',20,11);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20101000705','汤文盼','M',18,11);
insertintoStudent(Sno,Sname,Ssex,Sage,Dno)values('20101000802','苏海恩','M',17,11);
3.分别采用UI界面和SQL语言为University的Course表输入下列数据:
/*课程信息表Course(Cno,Cname,Cpno,Ccredit)*/
createtableCourse(
Cnonumber(10)primarykey,
Cnamevarchar2(50),
Cpnonumber(10),
CCreditnumber(10),
foreignkey(Cpno)referencesCourse(Cno)
);
insertintoCourse(Cno,Cname,Ccredit)values(2,'高等数学',8);
insertintoCourse(Cno,Cname,Ccredit)values(6,'C语言程序设计',4);
insertintoCourse(Cno,Cname,Ccredit)values(7,'大学物理',8);
insertintoCourse(Cno,Cname,Ccredit)values(8,'大学化学',3);
insertintoCourse(Cno,Cname,Ccredit)values(10,'软件工程',2);
insertintoCourse(Cno,Cname,Ccredit)values(12,'美国简史',2);
insertintoCourse(Cno,Cname,Ccredit)values(13,'中国通史',6);
insertintoCourse(Cno,Cname,Ccredit)values(14,'大学语文',3);
insertintoCourse(Cno,Cname,Cpno,Ccredit)values(5,'数据结构',6,4);
insertintoCourse(Cno,Cname,Cpno,Ccredit)values(4,'操作系统',5,4);
insertintoCourse(Cno,Cname,Cpno,Ccredit)values(1,'数据库原理',5,4);
insertintoCourse(Cno,Cname,Cpno,Ccredit)values(3,'信息系统',1,2);
insertintoCourse(Cno,Cname,Cpno,Ccredit)values(9,'汇编语言',6,2);
insertintoCourse(Cno,Cname,Cpno,Ccredit)values(11,'空间数据库',1,3);
4.分别采用UI界面和SQL语言为University的Teacher表输入下列数据:
/*教师信息表Teacher(Tno,Tname,Ttitle,Dno)*/
createtableTeacher(
Tnonumber(10)primarykey,
Tnamevarchar2(50),
Ttitlevarchar2(50),
Dnonumber(10),
foreignkey(Dno)referencesDepartment(Dno)
);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(1,'何小峰','副教授',14);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(2,'刘刚才','教授',14);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(3,'李星星','教授',11);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(4,'翁平正','讲师',14);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(5,'李川川','讲师',14);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(6,'王媛媛','讲师',14);
insertintoTeacher(Tno,Tname,Ttitle,Dno)values(7,'孔夏芳','副教授',14);
5.分别采用UI界面和SQL语言为University的SC表输入下列数据:
/*学生选课表SC(Sno,Cno,Grade)*/
createtableSC(
Snochar(11),
Cnonumber(10),
Gradenumber(10),
primarykey(Sno,Cno),
foreignkey(Sno)referencesStudent(Sno),
foreignkey(Cno)referencesCourse(Cno)
);
insertintoSCvalues('20091003085',1,90);
insertintoSCvalues('20091000863',1,98);
insertintoSCvalues('20091000934',1,89);
insertintoSCvalues('20091000961',1,85);
insertintoSCvalues('20081001197',1,79);
insertintoSCvalues('20081001266',1,97);
insertintoSCvalues('20081001888',1,60);
insertintoSCvalues('20091000481',1,78);
insertintoSCvalues('20101000199',1,65);
insertintoSCvalues('20101000424',1,78);
insertintoSCvalues('20101000481',1,69);
insertintoSCvalues('20091000863',6,90);
insertintoSCvalues('20091000934',6,90);
insertintoSCvalues('20091000961',6,87);
6.分别采用UI界面和SQL语言为University的TC表输入下列数据:
/*教师授课表TC(Tno,Cno,Site)*/
createtableTC(
Tnonumber(10),
Cnonumber(10),
Sitevarchar2(50),
primarykey(Tno,Cno),
foreignkey(Tno)referencesTeacher(Tno),
foreignkey(Cno)referencesCourse(Cno)
);
insertintoTCvalues(1,1,'教一楼407')
insertintoTCvalues(1,6,'教一楼307');
insertin