数据库课程设计报告完整版_第1页
数据库课程设计报告完整版_第2页
数据库课程设计报告完整版_第3页
数据库课程设计报告完整版_第4页
数据库课程设计报告完整版_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

班级物联网1202学号姓名指导老师**********杨璐年轶2014年1月目录一、引言.....................................................................................................21.目的...............................................22.题目...............................................23.要求...............................................2二、系统的分析与设计............................................................................31.概念设计...........................................32.逻辑设计...........................................33.系统功能结构.......................................44.完整性设计.........................................5三、系统的实现.........................................................................................6四、课程设计小结...................................................................................22第1页

一、引言1.目的课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。课程设计的目的:(1)加深对数据库系统、软件工程、程序设计验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;增强动手能力;语言的理论知识的理解和应用水平;(2)在理论和实(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,(4)为毕业设计和以后工作打下必要基础。2.题目题目2。设计一个大学教学数据库应、教师、课程、分组、登记。数据见附表2。只要求每个学生任选1个题目,如有时间﹑有兴,趣可做另外一题,酌情用系统。该系统涉及学生因时间关系,加分。3.要求运用数据库应用系统.要求把现实世界的事物及事物之间的联系的信息模型,再转换为机模型和数据和控制等操作.(1)用E-R图设计相应的模型,确定数据库结构;(3)分析关系模式各属于第几范式,阐明理由;用系统的系统结构图;基本理论与应用知识,在微机RDBMS(SQLServer)的抽象为信息世界的实体及实文件,并对数据文件实施检索、更新环境上建立一个数据库复杂关系体之间器世界的数据选定题目的信息模型;(2)设计关系(4)设计应(5)通过设计关系的主码约束、外码约束和使用CHECK实现完整性控制;(6)完成实验内容所指定的各项要求;(7)分析遇到的问题,总结并写出课程设计报告;(8)自我评价第2页

二、系统的分析与设计1.概念设计2.逻辑设计STUDENT(sno,sname,address,zip,state,tno,tname,phone,salary)tno是主码cno是主码cno,tno,sqty)secno、tno、cno是主码,cno、tnocity,sex)sno是主码TEACHER(COURSE(cno,cname,department,credit)SECTION(secno,是外码ENROLL(secno,cno,sno,grade)cno,sno是主码,cno,sno是外码4.完整性设计/*包含:关系主码、外码、CHECK约束.并给出相应的SQL语句*/COURSE的完整性约束:cnoCHAR(10)PRIMARYKEYSTUDENT的完整性约束:snoCHAR(10)PRIMARYKEYTEACHER的完整性约束:tnoCHAR(10)PRIMARYKEYSECTION的完整性约束:PRIMARYKEY(secno,tno,cno),FOREIGNKEY(tno)REFERENCESTEACHER(tno),FOREIGNKEY(cno)REFERENCESCOURSE(cno)ENROLL的完整性约束:PRIMARYKEY(cno,sno),FOREIGNKEY(sno)REFERENCESSTUDENT(sno),FOREIGNKEY(cno)REFERENCESCOURSE(cno)第5页

2。创建各基本表CREATETABLECOURSE(cnoCHAR(10)PRIMARYKEY,cnameCHAR(30),departmentCHAR(30),creditSMALLINT);CREATETABLESTUDENT(snoCHAR(10)PRIMARYKEY,snameCHAR(30),addressCHAR(30),zipCHAR(10),cityCHAR(20),stateCHAR(10),sexCHAR(2));(tnoCHAR(10)PRIMARYKEY,tnameCHAR(20),phoneCHAR(10),salaryNUMERIC(10,2));tnoCHAR(10),cnoCHAR(10),sqtyINT,(cnoCHAR(10),seconCHAR(2),snoCHAR(10),gradeINT,第7页3。完成数据的录入COURSE表录入数据INSERTINTOCOURSEVALUES('450','WesternCivilization’,’History','3');INSERTINTOCOURSEVALUES('730','CalculusIv’,'Math’,'4');INSERTINTOCOURSEVALUES(’290’,'EnglishComposition’,'English',’3’);INSERTINTOCOURSEVALUES('480',’CompilerWriting',’ComputerScience’,’3’);SELECT*FROMCOURSESTUDENT表录入数据INSERTINTOSTUDENTVALUES('148’,’Susanpowell','534EastRiverDr’,'19041',’Haverford’,'PA’,’F’);INSERTINTOSTUDENTVALUES(’210’,’BobDawson’,’120SouthJefferson','02891’,'Newport’,'RI’,’M’);INSERTINTOSTUDENTVALUES(’298',’HowardMansfield’,’290WynkoopDrive’,'22180','Vienna','VA’,’M');INSERTINTOSTUDENTVALUES(’348’,'SusanPugh',’534EastHamptonDr','06107’,'Hartford',’CN’,’F’);INSERTINTOSTUDENTVALUES('349',’JoeAdams',’73EmmersonStreet’,'19702',’Newark’,'DE’,’M’);INSERTINTOSTUDENTVALUES('354',’JanetLadd',’44110thStreet',’18073',’Pennsburg','PA','F’);INSERTINTOSTUDENTVALUES('410',’BillJone',’120SouthHarrison',’92660’,’Newport’,'CA’,第8页

'M’);INSERTINTOSTUDENTVALUES('473’,'CarolDean','983ParkAvenue',’02169',’Boston',’MA',’F');INSERTINTOSTUDENTVALUES(’548’,'Allenthomas','238WestOxRoad',’60624',’Chicago’,’IL',’M’);INSERTINTOSTUDENTVALUES(’558’,’ValShipp’,’238WestportRoad','60556',’Chicago’,'IL’,'F');INSERTINTOSTUDENTVALUES('649','JohnAnderson’,'473EmmoryStreet','10008','NewYork’,’NY',’M');INSERTINTOSTUDENTVALUES('654’,'JanetYhomas',’4416thStreet',’16510',’Erie’,'PA',’F');SELECT*FROMSTUDENTTEACHER录入数据INSERTINTOTEACHERVALUES(’303’,'Dr.Horn',’257—3049’,27540。00);INSERTINTOTEACHERVALUES('290',’Dr.Lowe',’257-2390',31450.00);INSERTINTOTEACHERVALUES('430',’Dr.Engle’,’56-4621',38200.00);INSERTINTOTEACHERVALUES(180,'Dr。Cooke',’257-8088’,29560.00);INSERTINTOTEACHERVALUES(560,’Dr.Olsen','257—8086',31778。00);INSERTINTOTEACHERVALUES(784,'Dr.Scango’,’257—3046’,32098.00);SELECT*FROMTEACHERSECTION表录入数据INSERT第9页

INTOSECTIONVALUES(’1',’303','450’,2);INSERTINTOSECTIONVALUES('1',’290’,'730’,6);INSERTINTOSECTIONVALUES(’1’,’430',’290’,3);INSERTINTOSECTIONVALUES(’1','180','480’,3);INSERTINTOSECTIONVALUES('2’,’560’,'450’,2);INSERTINTOSECTIONVALUES('2','784’,'480’,2);SELECT*FROMSECTIONENROLL表录入数据INSERTINTOENROLLVALUES(’730',’1’,’148’,'3');INSERTINTOENROLLVALUES('450’,’2’,’210’,’3');INSERTINTOENROLLVALUES('730','1’,’210',’1');INSERTINTOENROLLVALUES('290’,’1’,’298’,’3');INSERTINTOENROLLVALUES('480’,'2’,'298','3');INSERTINTOENROLLVALUES('730','1’,'348',’2');INSERTINTOENROLLVALUES('290’,'1','349’,’4’);INSERTINTOENROLLVALUES(’480','1','348’,'4’);第10页

VALUES(’730','1','473','3’);INSERTVALUES(’480’,’2',’473',’0');INSERTVALUES(’290',’1’,'548','2');INSERTVALUES(’730',’1’,’558’,'3');INSERTVALUES(’730','1’,'649',’4');INSERTVALUES(’480’,'1','649’,’4');INSERTSECTION5。按字母顺序列出教师姓名和电话号码SELECTtname,phoneFROMTEACHERORDERBYtnameWHEREcnoIN(SELECTcnoFROMENROLL8。检索没有选修任何课的学生姓名、学号SELECTsno,snameFROMENROLL9.检索没有选修课程“CalculusIv”的学生学号SELECTsnoFROMSTUDENTWHEREsnoNOTINFROMENROLLENROLLYWHEREcnoin(SELECTcnoWHEREtname=’Dr.Lowe’ANDTEACHER。tno=SECTION。tno)ANDNOTEXISTSFROMENROLLENROLLZ(修改数据验证,该老师教授课程号为730和500,只有学号148的学生同时选择了这两门课)SECTION11。检索每门课学生登记的人数、相应的课程名、课程号、分组号13。检索只有男生选修的课程和学生名SELECTcname,snameFROMCOURSE,STUDENT,ENROLLWHERESTUDENT.sno=ENROLL.snoANDCOURSE.cno=ENROLL。cnoANDCOURSE.cnoin(SELECTcnoSELECTcname,sname,tname,grade15.删去名为“JoeAdams"的所有记录DELETEFROMSTUDENTWHEREsname='JoeAdams';SELECT*FROMSTUDENT16.把教师“Scango"的编号改为“666”WHEREtname=’Dr。Scango’SELECT*FROMTEACHERSELECTAVG(grade)AVGWHEREgradein(SELECTgradeFROMTEACHER,SECTION,ENROLL18。统计各门课程的选课人数SELECTCOURSE.cname,COUNT(ENROLL.sno)FROMENROLL,COURSEWHEREENROLL。cno=COURSE.cnoGROUPBYCOURSE.cname;19.输出如下报表:学生名课程名教师名成绩SELECTsname学生名,cname课程名,tname教师名,grade成绩FROMENROLL,STUDENT,COURSE,TEACHER,SECTIONWHEREENROLL.sno=STUDENT.snoANDSECTION。cno=COURSE。cnoANDENROLL。secno=SECTION。secnoANDENROLL.cno=SECTION。cnoANDSECTION.tno=TEACHER.tno*20.定义并验证触发器,当登记表增加一条新的记录时,自动在分组表中更新相应属性。CREATETRIGGERENROLL_1ONENROLLAFTERINSERTASFROMSECTION,insertedWHEREinserted.secno=SECTION.secnoANDo=SECTION.cnoVALUES(’450’,’2','354’,'1’)SELECT*在本次课设之前,我已经在前段学习期间上机编写过类似相关的SQL语句来完成对于-课程-选课的信息查询,这次在原先实验的基础上添加了分组和教师表,创建数据库、基本表和录入数据的过程与上机实验基本相同,因此很容易就完成了前三个步骤,在这个过程中对于数据库、表的创建以及数据的输入的操作都更加的熟练。题目4-19都是对于表中数据进行查询、修改、删除等操作,并且运用了ORDERBY、GROUPBY等功能短语以及COUNT、AVG等聚集函数。前两题都是基本的查询,比较简单,但由于输入数据时Dr。Engle中的‘。’多按了一个空格,结果在调试的时候出现的是错误的结果,结果不正确(见截图最难的题目,自己也尝试着去做理解的失误以及数据的巧合性,错误的SQL语句得出的结果却是正确的。这就导致了自己以为解决了这道难题,以至于在给老师检查的时候被指出严重的错误,感到很羞愧。后来仔细分析题意,按照所有的关键字来编写查询语句,参照书上关于notexists语句以及嵌套循环的语句,用谓词演算y,老师Dr。Lowe教授了这X选了课y”,等价于┐ョy(p∧┐所以在检验时修改了数据,门课.然后再去第13题的题目10个,但照表检查可以看出有些课程因此重新分析,发现可以使用嵌套查询先用子查询的外(notin)查询,这样就把女生选修的课程出去,这男、女生都选修的错误。(见截图)刚开始理解的不透彻,所以直接查询了仍是有女生选的,与题目“只有男生选修子查询把女生选择的课程选出来,然后父查询在样就避免出现选择的男生选修的课程,得到的结果有”的条件不符,第15、16题是对于学生、教师表的修改和删除.在执行过程中程出问题所在.后来经过询问同学,发现SECTION和ENROLL表中引用了这两个表中的sno和tno,由于其引用关系,所以无法对于这两个表进行修改。因此需要先删除外码的引用关系,然后序一直报错,始终找不才能对其进行修改和删除。第20题定义触发器这个比较陌生,在学习的时候就不是很掌握,因此对于这个题目第一印象就是不想去做,我不会.但是后来通过翻阅书本并且询问同学,并且自己不断的摸索,虽然起初一直报错,但是我并没有气馁,在各种帮助和努力下终于实现了最后一个功能.不过在给老师检查的过程中,发现UPDATE语句后面自己添加了FROM的语句,虽然对于整个执行结果没有太大的影响,但这是一个常识性的错误,不应该出现如此低级的错误,因为当时是想新表需要和SECTION、ENROLL表进行连接,所以在写的过程中直接添加了o=SECTION.cnoANDinserted.secno=SECTION.secno的错误语句,而且还误将其中的SECTION写成了ENROLL表,以至于在老师询问的时候,自己也被自己的代码弄得不知所措.后来修改的时候索性把所有的条件语句都删除了,并没有进行临时新表inserted与SECTION表的连接,以至于结果每一行的学生登记数量sqty都加一,得到错误的结果。过程比较艰辛但是最后完成的时候内心的喜悦确实满满洋溢的。果然自己去努力实现的事情可以给自己带来无限的快乐,自己从中收获的经验和知识也是更多的。不要因为自己对于某方面不熟悉就直接放弃,而应该努力去尝试一下。只有试过了,才知道自己到底可不可以完成这个看似困难的问题!第22页

附表2课程(COURSE)课程号课程名系名学分(cno)(cname)450WesternCivilizationHistory730CalculusIv290EnglishCompositionEnglish(department)(credit)3433Math480CompilerWritingComputerScience学生(STUDENT)学号姓名地址邮政编码市省性别(sno)(sname)(address)(zip)(city)(state)(sex)148Susanpowell534EastRiverDr19041HaverfordPAF210BobDawson120SouthJefferson02891NewportRIMMFMFMFMFMF298HowardMansfield290WynkoopDrive22180ViennaVA348SusanPugh349JoeAdams354JanetLadd410BillJone473CarolDean534EastHamptonDr06107HartfordCN473EmmersonStreet19702NewarkDE44110thStreet120SouthHarrison92660NewportCA0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论