ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:312.98KB ,
资源ID:3632393      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3632393.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大数据库课程设计报告材料完整版Word文件下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

大数据库课程设计报告材料完整版Word文件下载.docx

1、TEACHER(tno,tname,phone,salary) tno是主码COURSE(cno,cname,department,credit) cno是主码SECTION(secno,cno,tno,sqty) secno、tno、cno是主码,cno、tno是外码ENROLL(secno,cno,sno,grade) cno,sno是主码,cno,sno是外码3系统功能结构4完整性设计/*包含:关系主码、外码、CHECK约束。并给出相应的SQL语句*/COURSE的完整性约束:cno CHAR(10) PRIMARY KEYSTUDENT的完整性约束:sno CHAR(10) PRIMA

2、RY KEYTEACHER的完整性约束:tno CHAR(10) PRIMARY KEYSECTION的完整性约束:PRIMARY KEY(secno,tno,cno),FOREIGN KEY(tno) REFERENCES TEACHER(tno),FOREIGN KEY(cno) REFERENCES COURSE(cno)ENROLL的完整性约束:PRIMARY KEY(cno,sno),FOREIGN KEY(sno) REFERENCES STUDENT(sno),三、系统的实现题目2 1.创建数据库创建名为“SCTE”的数据库2.创建各基本表CREATE TABLE COURSE(

3、cno CHAR(10) PRIMARY KEY, cname CHAR(30), department CHAR(30), credit SMALLINT ); CREATE TABLE STUDENT(sno CHAR(10) PRIMARY KEY, sname CHAR(30), address CHAR(30), zip CHAR(10), city CHAR(20), state CHAR(10), sex CHAR(2) CREATE TABLE TEACHER (tno CHAR(10) PRIMARY KEY, tname CHAR(20), phone CHAR(10),

4、salary NUMERIC(10,2) CREATE TABLE SECTION (secno CHAR(2), tno CHAR(10), cno CHAR(10), sqty INT, PRIMARY KEY(secno,tno,cno), FOREIGN KEY(tno) REFERENCES TEACHER(tno), FOREIGN KEY(cno) REFERENCES COURSE(cno) CREATE TABLE ENROLL (cno CHAR(10), secon CHAR(2), sno CHAR(10), grade INT, PRIMARY KEY(cno,sno

5、), FOREIGN KEY(sno) REFERENCES STUDENT(sno),3.完成数据的录入COURSE表录入数据INSERTINTO COURSEVALUES(450,Western CivilizationHistory3);730Calculus IvMath4290English CompositionEnglish480Compiler WritingComputer ScienceSELECT*FROM COURSESTUDENT表录入数据INTO STUDENT 148Susan powell534 East River Dr19041HaverfordPAF210

6、Bob Dawson120 South Jefferson02891NewportRIM298Howard Mansfield290 Wynkoop Drive22180ViennaVA348Susan Pugh534 East Hampton Dr06107HartfordCN349Joe Adams73 Emmerson Street19702NewarkDE354Janet Ladd441 10th Street18073Pennsburg410Bill Jone120 South Harrison92660CA473Carol Dean983 Park Avenue02169Bosto

7、nMA548Allen thomas238 West Ox Road60624ChicagoIL558Val Shipp238 Westport Road60556649John Anderson473 Emmory Street10008New YorkNY654Janet Yhomas441 6th Street16510ErieSELECT*FROM STUDENTTEACHER录入数据INTO TEACHER303Dr.Horn257-3049,27540.00);Dr.Lowe257-2390,31450.00);430Dr.Engle56-4621,38200.00);VALUES

8、(180,Dr.Cooke257-8088,29560.00);VALUES(560,Dr.Olsen257-8086,31778.00);VALUES(784,Dr.Scango257-3046,32098.00);SELECT*FROM TEACHERSECTION表录入数据INTO SECTION 1,2);,6);,3);1802560784SELECT*FROM SECTIONENROLL表录入数据INTO ENROLL0SELECT*FROM ENROLLCOURSESTUDENTTEACHERSECTIONENROLL4.检索系名为“Math”和“English”的课程信息SEL

9、ECT *FROM COURSEWHERE department = OR department = 5.按字母顺序列出教师姓名和电话号码SELECT tname,phoneFROM TEACHERORDER BY tname6.检索电话号码不是以“257”打头的教师姓名和电话号码WHERE phone not like 257%7.检索数学系所有成绩大于3的课程名、系名、学分SELECT cname,department,creditWHERE cno IN(SELECT cno FROM ENROLL WHERE grade3 AND cno=8.检索没有选修任何课的学生姓名、学号SELE

10、CT sno,sname FROM STUDENTWHERE NOT EXISTS(SELECT * WHERE STUDENT.sno=ENROLL.sno);9.检索没有选修课程“Calculus Iv”的学生学号SELECT snoWHERE sno NOT IN (SELECT STUDENT.snoFROM COURSE,STUDENT,ENROLLWHERE cname= AND COURSE.cno=ENROLL.cno AND STUDENT.sno=ENROLL.sno);*10.检索至少选修教师“Dr. Lowe”所开全部课程的学生学号SELECT DINSTINCT sn

11、oFROM ENROLL ENROLLXWHERE NOT EXISTS(SELECT *FROM ENROLL ENROLLYWHERE cno in( SELECT cno FROM TEACHER,SECTION, WHERE tname= AND TEACHER.tno=SECTION.tno) AND NOT EXISTS (SELECT *FROM ENROLL ENROLLZ WHERE ENROLLZ.sno=ENROLLX.sno AND ENROLLZ.cno=ENROLLY.cno)(修改数据验证,该老师教授课程号为730和500,只有学号148的学生同时选择了这两门课)

12、结果11.检索每门课学生登记的人数、相应的课程名、课程号、分组号SELECT DISTINCT secno,ENROLL.cno,cname,sqtyFROM ENROLL,COURSE,SECTIONWHERE SECTION.cno=ENROLL.cno AND COURSE.cno=ENROLL.cno12.检索选修两门以上课程的学生姓名SELECT snameWHERE sno in (SELECT sno GROUP BY sno HAVING COUNT(*)2)13.检索只有男生选修的课程和学生名SELECT cname,snameFROM COURSE ,STUDENT ,EN

13、ROLL WHERE STUDENT.sno=ENROLL.sno AND COURSE.cno=ENROLL.cno AND COURSE.cno in (SELECT cno WHERE cno not in (SELECT DISTINCT cnoFROM STUDENT ,ENROLL WHERE sex = and STUDENT.sno=ENROLL.sno)14.检索所有学生都选修的课程名、学生名、授课教师名、该生成绩SELECT cname,sname,tname,gradeFROM STUDENT ,TEACHER ,SECTION ,ENROLL ,COURSE WHERE

14、 COURSE.cno=ENROLL.cno AND STUDENT.sno=ENROLL.sno AND TEACHER.tno=SECTION.tno AND SECTION.cno=ENROLL.cnoAND SECTION.secno=ENROLL.seconAND COURSE.cno=(SELECT cno FROM ENROLL GROUP BY cno HAVING COUNT (*)=12)15.删去名为“Joe Adams”的所有记录DELETE WHERE sname=;16.把教师“Scango”的编号改为“666”UPGRADE TEACHERSET tno=666W

15、HERE tname=Dr.Scango 17.统计教师“Engle”教的英语课的学生平均分SELECT AVG(grade)AVGFROM ENROLLWHERE grade in(SELECT gradeFROM TEACHER,SECTION,ENROLLAND ENROLL.secno=SECTION.secno)18.统计各门课程的选课人数SELECT COURSE.cname,COUNT(ENROLL.sno)FROM ENROLL,COURSEWHERE ENROLL.cno=COURSE.cno GROUP BY COURSE.cname;19.输出如下报表:学生名课程名教师名

16、成绩SELECT sname 学生名,cname 课程名,tname 教师名,grade 成绩FROM ENROLL,STUDENT,COURSE,TEACHER,SECTIONWHERE ENROLL.sno=STUDENT.sno AND SECTION.cno = COURSE.cno AND ENROLL.secno = SECTION.secno AND ENROLL.cno = SECTION.cno AND SECTION.tno = TEACHER.tno*20.定义并验证触发器,当登记表增加一条新的记录时,自动在分组表中更新相应属性。CREATE TRIGGER ENROLL

17、_1ON ENROLLAFTER INSERTASUPDATE SECTIONSET sqty=sqty+1FROM SECTION,insertedWHERE inserted.secno=SECTION.secnoAND o=SECTION.cno验证结果:)FROM SECTION原始数据执行结果四、课程设计小结在本次课设之前,我已经在前段学习期间上机编写过类似相关的SQL语句来完成对于学生-课程-选课的信息查询,这次在原先实验的基础上添加了分组和教师表,创建数据库、基本表和录入数据的过程与上机实验基本相同,因此很容易就完成了前三个步骤,在这个过程中对于数据库、表的创建以及数据的输入的操

18、作都更加的熟练。题目4-19都是对于表中数据进行查询、修改、删除等操作,并且运用了ORDER BY、GROUP BY等功能短语以及COUNT、AVG等聚集函数。前两题都是基本的查询,比较简单,但由于输入数据时Dr.Engle中的.多按了一个空格,结果在调试的时候出现的是错误的结果,结果不正确(见截图。第10题是本次课设最难的题目,自己也尝试着去做,但是由于理解的失误以及数据的巧合性,错误的SQL语句得出的结果却是正确的。这就导致了自己以为解决了这道难题,以至于在给老师检查的时候被指出严重的错误,感到很羞愧。后来仔细分析题意,按照所有的关键字来编写查询语句,参照书上关于not exists语句以

19、及嵌套循环的语句,用谓词演算将题目转换成逻辑运算,等价为“没有这样课程y,老师Dr.Lowe教授了这门课,而学生X没有选”。p表示“老师教授了课程y”,q表示“学生X选了课y”,等价于y(pq)。参照书上的例题,分层次地编写功能语句。因为题目的巧合性所以在检验时修改了数据,添加了该老师新开另一门课,只有学号148的学生同时选择了这门老师的两门课。然后再去验证结果发现是正确的。第13题的题目刚开始理解的不透彻,所以直接查询了男生选修的课程,得到的结果有10个,但照表检查可以看出有些课程仍是有女生选的,与题目“只有男生选修”的条件不符,因此重新分析,发现可以使用嵌套查询先用子查询把女生选择的课程选出来,然后父查询在子查询的结果之外(not in)查询,这样就把女生选修的课程出去,这样就避免出现选择的课程男、女生都选修的错误。(见截图)第15、16题是对于学生、教师表的修改和删除。在执行过程中程序一直报错,始终找不出问题所在。后来经过询问同学,发现SECTION和ENROLL表中引用了这两个表中的sno和tno,由于其引用关系,所以无法对于这两个表进行修改。因此需要先删除外码的引用关系,然后才能对其进行修改

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2