上海大学 数据库实验报告
第一组
\\第1周(第四章:SQL体系结构、组成、建库建表,索引自学)
一、实验课:
1. 建立school数据库
2. 在school下建立如下数据库表,根据表中数据选取合适的数据类型及宽度,设置各表
的主键及表间外键联系:
注意:字段名是对应汉字字段名的汉语拼音第一个字母组合而成
? 学生表S:学号,姓名,性别,出生日期,籍贯,手机号码,院系号;
表1:S xh 1101 1102 1103 1104 1105 1106 1107 xm 李明 刘晓明 张颖 刘晶晶 刘成刚 李二丽 张晓峰 xb 男 男 女 女 男 女 男 csrq 1993-03-06 1992-12-08 1993-01-05 1994-11-06 1991-06-07 1993-05-04 1992-08-16 jg 上海 安徽 江苏 上海 上海 江苏 浙江 sjhm 13613005486 18913457890 18826490423 13331934111 18015872567 18107620945 13912341078 yxh 02 01 01 01 01 01 01
? 院系表D:院系号,名称,地址,联系电话;
表2:D yxh 01 02 03 mc 计算机学院 通讯学院 材料学院 地址 上大东校区三号楼 上大东校区二号楼 上大东校区四号楼 lxdh 65347567 65341234 65347890 ? 教师表T:工号,姓名,性别,出生日期,学历,基本工资,院系编号;
表3:T gh 0101 0102 0201 0103 ? 课程表C:课号,课名,学分,学时,院系号;(默认学分4,学时40)
表4:C kh km xf xs yxh xm 陈迪茂 马小红 张心颖 吴宝钢 xb 男 女 女 男 csrq 1973-03-06 1972-12-08 1960-01-05 1980-11-06 xl 副教授 讲师 教授 讲师 jbgz 3567.00 2845.00 4200.00 2554.00 yxh 01 01 02 01 08305001 08305002 08305003 08305004 08301001 08302001 离散数学 数据库原理 数据结构 系统结构 分子物理学 通信学 4 4 4 6 4 3 40 50 50 60 40 30 01 01 01 01 03 02
? 开课表O:学期,课号,工号,上课时间;
表5:O xq 2012-2013秋季 2012-2013冬季 2012-2013冬季 2012-2013冬季 2012-2013冬季 2013-2014秋季 2013-2014秋季 2013-2014冬季 kh 08305001 08305002 08305002 08305002 08305003 08305004 08305001 08302001 gh 0103 0101 0102 0103 0102 0101 0102 0201 sksj 星期三5-8 星期三1-4 星期三1-4 星期三1-4 星期五5-8 星期二1-4 星期一5-8 星期一5-8 ? 选课表E:学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;(成绩范围1-100)
表6:E xh 1101 1102 1102 1102 1103 1103 1103 1103 1103 1104 1104 1106 1106 1107 1107 1107 xq 2012-2013秋季 2012-2013秋季 2012-2013冬季 2013-2014秋季 2012-2013秋季 2012-2013冬季 2012-2013冬季 2013-2014秋季 2013-2014秋季 2012-2013秋季 2013-2014冬季 2012-2013秋季 2012-2013冬季 2012-2013秋季 2012-2013冬季 2013-2014秋季 kh 08305001 08305001 08305002 08305004 08305001 08305002 08305003 08305001 08305004 08305001 08302001 08305001 08305002 08305001 08305003 08305004 gh 0103 0103 0101 0101 0103 0102 0102 0102 0101 0103 0201 0103 0103 0103 0102 0101 pscj 60 87 82 null 56 75 84 null null 74 null 85 66 90 79 null kscj 60 87 82 null 56 75 84 null null 74 null 85 66 90 79 null zpcj 60 87 82 null 56 75 84 null null 74 null 85 66 90 79 null
3. 在学生表中建立索引idx1:院系号升序,姓名降序
在课程表中建立索引idx2:课名
create database school go
use school
create table S (
xh int,
xm char(10), xb char(2), csrq date, jg char(20), sjhm bigint, yxh char(2),
primary key (xh),
foreign key (yxh) references D(yxh) )
create table D (
yxh char(2), mc char(20), 地址 char(50), lxdh int,
primary key (yxh) )
create table T (
gh char(4), xm char(10), xb char(2), csrq date, xl char(10),
jbgz numeric(6,2), yxh char(2),
primary key (gh),
foreign key (yxh) references D(yxh) )
create table C
(
kh char(8), km char(20), xf int, xs int,
yxh char(2),
primary key (kh),
foreign key (yxh) references D(yxh) )
create table O (
xq char(20), kh char(8), gh char(4), sksj char(20),
primary key (xq,kh,gh),
foreign key (kh) references C(kh), foreign key (gh) references T(gh) )
create table E (
xh int,
xq char(20), kh char(8), gh char(4),
pscj int CHECK(pscj BETWEEN 1 AND 100), kscj int CHECK(kscj BETWEEN 1 AND 100), zpcj int CHECK(zpcj BETWEEN 1 AND 100), primary key (xh,xq,kh,gh),
foreign key (gh) references T(gh), foreign key (kh) references C(kh), foreign key (xh) references S(xh) )
create unique index idx1 on S(yxh asc,xm desc); create unique index idx2 on C(km);
第2周(第四章:投影、选择、多表连接和嵌套,排序自学)
一、实验课:
1. 查询2011年进校年龄大于20岁的男学生的学号与姓名。
--1. 查询2011年进校年龄大于20岁的男学生的学号与姓名。 SELECT XH,XM FROM S
WHERE YEAR(2011-YEAR(CSRQ))>20 AND XB='男'
2. 检索刘晓明不学的课程的课程号。
SELECT KH FROM O EXCEPT SELECT KH FROM S,E
WHERE XM='刘晓明' AND S.XH=E.XH
3. 检索马小红老师所授课程的学年,学期,课程号,上课时间。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库上海大学数据库实验报告1在线全文阅读。
相关推荐: