华北科技学院数据库系统综合实验报告
sqlserver数据库综合实验报告格式
华北科技学院计算机系综合性实验实验报告课程名称数据库原理与应用实验学期 2009 至 2010 学年第一学期学生所在系部管理系年级三年级专业班级商务B071班学生姓名李荣妹学号 4121任课教师郭红实验成绩计算机系制《数据库原理与应用》课程综合性实验报告(3)建表如下图:图书表的结构读者表的结构罚款表的结构借阅表的结构密码表的结构输入数据:图书读者S只学生,t指老师,1指没有超期,0表示超期借阅罚款密码:(4)、创建视图。
以sa的身份登录数据库,创建视图V1,V2,V3create VIEW V1 create VIEW V2 create VIEW V3AS AS ASselect * from 图书 select * from 借阅 select * from 罚款建立视图V5,查看在库的图书:create view V5 as select *from 图书 where 借阅状态=‘在库’建立已被借出去的图书视图create view V6asselect * from 图书where 借阅状态='出库'建立逾期未还的图书的学生视图:create view V7asselect * from 借阅where datediff(day,convert(smalldatetime,借出日期),getdate())>’30’ and借书证号 in(select 借书证号 from 读者,借阅Where 借阅.借书证号=读者.借书证号 and 读者类别=‘s’四、物理设计和自定义完整性建立索引:为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是表中建立索引的表项:图书表(图书编号,条形码号)读者(借书证号)借阅(借书证号,条形码号)罚款表(借书证号,条形码号)密码(借书证号)(2)建立触发器a.对已有借书证的读者进行查询借书是否超期(这里归定30天):create trigger T1 on 读者for insertasselect 借阅.借书证号,读者.读者姓名,图书.图书编号,图书.书名,借阅.借出日期from 读者,借阅,图书where 读者.借书证号=借阅.借书证号and 图书.条形码号=借阅.条形码号and 读者类别='s'and Datediff(day,convert(smalldatetime,借出日期),getdate())>=30b.建立触发器T2(还书时):create trigger T2 on 借阅for insertasbeginupdate 图书 set 借阅状态='在库'where 条形码号=(select 条形码号 from inserted)update 借阅 set 归还日期=getdate();update 读者 set 书数=书数-1where 借书证号=(select 借书证号 from inserted)endc.建立触发器T3(借书书时):create trigger T3 on 借阅for insertasbeginupdate 图书 set 借阅状态='入库'where 条形码号=(select 条形码号 from inserted)update 借阅 set 借出日期=getdate();update 读者 set 书数=书数+1where 借书证号=(select 借书证号 from inserted)endd.建立触发器T4,实现超出借书数目时禁借(针对老师的):create trigger T4 on 读者for insertasif(select 书数 from inserted where 读者类别='t'and 书数>'10')beginprint '该用户不能再借'rollbackende.建立触发器T5,实现超出借书数目时禁借:create trigger T4 on 读者for insertasif(select 书数 from 读者 where 读者类别=‘s’and 书数>’5’)beginprint'该用户不能再借'rollbackend;五、设置权限本图书馆系统中权限角色有:系统管理员lrm ,拥有所有的权限图书管理员lib密码lib,对图书的管理,包括增、删、改、查,借阅表和罚款表的管理,读者表的查询。
数据库原理与应用综合实验报告参考模板
华北科技学院计算机学院综合性实验实验报告课程名称数据库原理与应用D实验学期2012 至2013 学年第 2 学期学生所在院部计算机学院年级2011级专业班级信管B111班学生姓名林枕祥学号201107034116任课教师刘明艳实验成绩计算机学院制《数据库原理与应用D》课程综合性实验报告开课实验室:基础五2013年6月24日asselect tno,tname,tsex,zhicheng,dept,telfrom jiaoshiwhere tname=@TNAMEexec Search1 '刘明燕'(2)、建立查询学生信息的存储过程create procedure Search2(@SNO char(12),@SNAME char(40))asselect * from xueshengwhere @SNO=sno and @SNAME=snameexec Search2 ‘201107014101’ , ‘郭星星’7、触发器的建立create trigger Insert3on xueshengfor insertasselect * from xueshengcreate procedure Insert4(@sno char(12),@sname char(40),@sex char(2),@age char(2),@professional char(40))asinsert into xuesheng values(@sno,@sname,@sex,@age,@professional)@sex='女',@age=22,@professional='信息管理与信息系统'(二)、开发应用程序(1)、选课查询select xuesheng.sno,sname,professional,o,cnamefrom xuesheng,xhexuan,xuankewhere xuesheng.sno=xhexuan.sno and o=o andxuesheng.sno=201107034109Groupby xuesheng.sno,sname,o,cname,professional(2)、分数查询select score.sno,xuesheng.sname,o,ame,score.scorefrom xuesheng,score,xuankewhere xuesheng.sno=score.sno and o=ogroup by score.sno,o,xuesheng.sname,score.score,ame(3)、教师信息查询select jiaoshi.tno,tname,tsex,zhicheng,dept,tel,o,cnamefrom jiaoshi,shouke,xuankewhere jiaoshi.tno = shouke.tno and o=o(4)、删除delete form xhexuanwhere sno=201107034101(5)、查询select xuesheng.sno,xuankefrom xuesheng,xhexuanwhere xuesheng.sno=xhexuan.snogroup by xuesheng.sno ,xuanke四、实验结果及分析经过一学期的学习我们对数据库系统原理及其应用有了大致和基础的理解,但也只是停留在理论层面,在这次的综合性实验,我选的题目是学生选课管理系统,在设计该系统时我觉得应该注意以下几个方面:首先要知道自己设计的系统要实现的功能有那些,在选课系统里,我设计了六个功能,分别是学生登入,学生选课,学生退选课程,学生查看选课结果,学生查看选修课成绩和教师信息的查询,只有在知道自己设计的系统要实现的功能后才会有思路进一步的设计系统,否则就只会一头雾水。
数据库原理综合实验报告
华北科技学院计算机系综合性实验实验报告课程名称数据库原理与应用实验学期 2010 至 2011 学年第一学期学生所在系部计算机系年级三专业班级信管B08-1 学生姓名纪鹏鹏学号 200807034103 任课教师王养廷实验成绩计算机系制《数据库原理与应用》课程综合性实验报告开课实验室:基础6 2011 年 1 月5日实验题目学生成绩管理系统一、实验目的综合前面所学的知识,开发一个简单的学生成绩管理数据库应用系统。
通过开发这个系统学习开发一个数据库应用的过程和主要方法。
二、设备与环境PC兼容机、Windows操作系统、Access软件等。
三、实验内容1.对需求进行分析,设计出ER图。
2.根据自己设计的ER图,设计数据库表,至少要有三张表。
建立表间关系,需要使用外键来建立表间关系。
3.根据需求分析,自己设计要实现的主要功能,设计出主要的界面。
4.对计算机系各个专业要求使用Access系统来实现这个数据库应用系统,要求使用窗体来设计界面,建立查询,使用宏,最后系统应该完整可运行。
四、实验结果及分析1. 需求分析本系统的开发目标是有效管理学生信息,实现学生信息的录入,浏览,修改等,实现学生信息的规范化,系统化,自动化管理。
根据对终端用户和客户学生进行调研,得出下面的需求文本。
<1>由于学生学籍等信息具有一定的保密性,为了便于管理,应该为用户学生设置密码保护,提高系统的数据安全性。
<2>系统可以对学生的学籍信息进行记录,并能够非常方便的浏览,添加,编辑,和查看,能够通过程序及时了解学生学籍情况,同时能够给学生提供学籍修改的权限,便于自主管理。
<3>系统能够对学生的成绩信息进行管理,实现添加,查询,浏览,统计功能,方便老师和同学及时了解成绩信息。
<4>学校的班级是不断增加的,有些班级还要编扯,程序可以方便的对班级进行删除,添加,修改功能。
<6>系统一概有良好的操作界面,除此之外,还应该有强大的纠错能力,提高系统健壮性。
数据库教务管理组织系统综合实验报告
数据库教务管理组织系统综合实验报告华北科技学院计算机系综合性实验实验报告课程名称《数据库系统A》实验学期2011 ⾄2012 学年第 2 学期学⽣所在系部计算机学院年级2010 专业班级⽹络B101班学⽣姓名学号任课教师实验成绩计算机系制_ 《数据库系统A》课程综合性实验报告开课实验室:软件开发实验室(⼀)2012年6⽉6⽇也被合并为班级的外码。
存在的函数依赖为Class →(Ccredit, Tno.Dno ),其中Class →Tno,⽽Tno →Dno,即存在对候选码的传递依赖,所以只满⾜2NF。
(2)设计合适的视图在将E-R图向关系模型转换后,还应根据局部应⽤的需求,对不同级别的⽤户定义不同的视图,这样不仅可以在视图中重新定义某些属性名,使⽤户使⽤更⽅便,⽽且还可以通过视图保证系统的安全性。
在本次的教务管理系统数据库中,我针对使⽤该数据库最频繁的学⽣和教师⽤户建⽴了相关视图,其中包括对系别、教师、课程的分配视图;对学⽣学号、成绩、等相关信息的查询和教师基本信息的查询等三个视图,这样,对这些经常使⽤的查询,⽤户就可以通过视图来查询,⼤⼤简化了⽤户的使⽤。
创建的三个视图的截图如下:教师授课安排视图:学⽣成绩查询视图:教师基本信息查询视图:4.物理设计该数据库中每⼀个关系模式的主码分别为系统⾃动设置的索引,如学⽣关系模式中的学号,教师关系模式中的⼯作证号,系别中的系别号等,同时,通过对实际操作的思考,为了查询某系的⽼师的⽅便,我们还需要在Teacher表中建⽴⼀个“系代号”Dno 的索引;⼜因为查询操作很多都通过学⽣姓名查找的,所以还需要在Student表姓名列sname上建⽴⼀个索引等,这样⼤⼤简化查询操作。
5.数据库的实现(1)创建库、表在该教务管理系统中包括了学⽣表、教师表、选课表、系别表、班级表、课程表、教师与班级的联系表等多个表。
在此,我以学⽣表为例进⾏说明表的创建。
另外,在创建表的同时还要注意有时需要创建两个表之间的级联,例如,此教务管理系统中SC表是参照学⽣表的学号和课程表的课号建⽴的,所以应该在SC表中建⽴其与Student表与Course表的级联;课程表⼜是参照教师表中的教师⼯作证号建⽴的,所以应该建⽴⼀个course表与教师teacher表的级联;班级表也是参照教师表中的教师⼯作证号建⽴的,所以也应该建⽴⼀个class表与教师teacher表的级联,这样当参照表发⽣改变时能同时在⽬标表中也发⽣相应改变,保证数据库中数据的正确有效性。
数据库《图书管理系统》综合实验报告
华北科技学院计算机系综合性实验实验报告课程名称《数据库系统A》实验学期2011 至2012 学年第 2 学期学生所在系部计算机学院年级2010 专业班级网络B10—3班学生姓名安志欣学号200907024320 任课教师郭红实验成绩计算机系制《数据库系统B》课程综合性实验报告借阅执行后的读者信息状态:图书归还后的读者信息状态:创建存储过程后,对dm为1003的读者的借阅信息进行查询后的结果:四、实验结果及分析数据库创建后,对其性能进行测试。
对图书借阅表进行更改,执行语句后,触发器t2首先工作,看读者是否还具有借阅权限,当有借阅权限时对读者信息进行更改,将读者的借阅次数加1,以此来实现对读者以后借书数量的限制。
;t3工作,对图书基本信息中的数据进行修改。
当读者归还图书时,t1工作,删除图书借阅表中的图书信息,图书的库存量相应增加,t4工作,使读者的借书次数减1,使读者可以以后继续借书.用存储过程p1,实现读者对借书信息的查询。
输入语句,并对语句执行后,显示出所输入编号对应读者的借阅信息;p2用于查询每本图书的借阅情况.相对来说,这个数据库的功能还有很大的改进空间,比如安全性方面的问题,读者不能对自己的登录密码进行更改,当有人知道某个读者的编号后,就可以对读者的信息查询,这些都使这个数据库不够完美。
但,这个数据库可以使读者对自己的借书信息,归还信息,个人信息进行查询,在对图书借阅的时候,自动对读者,图书馆藏信息进行更改,在归还图书时,可以对读者和馆藏信息更改,从而减少了图书管理员的操作内容,避免了由于人员输入出错导致数据不能操作的现象.用存储过程减少了临时对语句输入所耗费的时间,提高了系统的操作效率.体会:对于这次综合实验的设计,最开始没有担心太多事情,因为时间给的很多,而且对于图书馆的一些管理内容的东西有比较多的经历,所以最开始就只是先对图书管理的需求进行了下简单的分析,同时进入学校的图书馆管理系统体会已经设计好的数据库系统所应包含的功能与信息。
数据库系统综合实训报告
一、实训目的本次数据库系统综合实训旨在使学生通过实际操作,掌握数据库系统的基本原理、设计方法以及数据库管理系统的使用技巧。
通过实训,学生能够提高数据库系统的设计、开发、调试和维护能力,为今后从事数据库相关的工作打下坚实基础。
二、实训环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:Visual Studio Code三、实训原理1. 数据库系统的基本概念:数据库、数据库管理系统、数据库设计、数据库安全等。
2. 数据库设计方法:E-R图、关系模式设计、范式理论等。
3. SQL语言:数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)等。
四、实训过程1. 数据库系统基本概念的学习在实训过程中,我们首先学习了数据库系统的基本概念,包括数据库、数据库管理系统、数据库设计、数据库安全等。
通过学习,我们对数据库系统的组成和功能有了初步的认识。
2. 数据库设计方法的学习接下来,我们学习了数据库设计方法,包括E-R图、关系模式设计、范式理论等。
通过学习,我们掌握了数据库设计的基本流程和规范。
3. 数据库管理系统的使用在实训过程中,我们使用MySQL数据库管理系统进行数据库的创建、修改、删除等操作。
通过实际操作,我们熟悉了MySQL数据库管理系统的界面和功能。
4. 数据库设计实践根据实训要求,我们以“学生管理系统”为例,进行数据库设计实践。
首先,我们分析了系统需求,确定了数据表结构,然后使用E-R图表示实体之间的关系。
接着,我们使用SQL语言创建数据库、表和视图,并进行数据插入、查询、更新和删除等操作。
5. 数据库安全与优化在实训过程中,我们还学习了数据库安全与优化方面的知识,包括用户权限管理、SQL注入防范、索引优化等。
通过实际操作,我们掌握了数据库安全与优化的方法。
五、实训结果1. 成功创建了一个“学生管理系统”数据库,包含学生信息、课程信息、成绩信息等数据表。
数据库系统实训报告总结
一、实训背景随着信息技术的飞速发展,数据库技术已成为各行各业信息管理的基础。
为了提高学生的数据库应用能力,我校组织了数据库系统实训课程。
本次实训旨在使学生掌握数据库的基本概念、原理和操作技能,培养学生在实际工作中应用数据库技术的能力。
二、实训目的1. 理解数据库的基本概念、原理和体系结构;2. 掌握数据库设计、创建、查询、维护和优化等操作技能;3. 培养学生团队合作精神,提高学生解决实际问题的能力;4. 为学生今后从事数据库相关领域的工作奠定基础。
三、实训内容1. 数据库基础知识(1)数据库的基本概念:数据库、数据库系统、数据库管理系统等;(2)数据库的体系结构:集中式、分布式、层次式、网状式等;(3)数据库的分类:关系型数据库、非关系型数据库等。
2. 关系型数据库(1)关系型数据库的基本概念:关系、元组、属性、域等;(2)关系型数据库的查询语言:SQL(结构化查询语言);(3)关系型数据库的设计与实现:E-R图、关系模式、规范化等。
3. 数据库设计(1)需求分析:了解用户需求,确定数据库功能;(2)概念结构设计:根据需求分析结果,绘制E-R图;(3)逻辑结构设计:将E-R图转换为关系模式;(4)物理结构设计:确定数据库存储结构和索引策略。
4. 数据库操作(1)创建数据库:使用SQL语句创建数据库;(2)创建表:使用SQL语句创建表;(3)插入、删除、更新数据:使用SQL语句进行数据操作;(4)查询数据:使用SQL语句进行数据查询;(5)数据库维护:备份、恢复、优化数据库。
5. 数据库应用实例(1)学生信息管理系统:包括学生信息录入、查询、修改和删除等功能;(2)图书管理系统:包括图书信息录入、查询、修改和删除等功能;(3)人事管理系统:包括员工信息录入、查询、修改和删除等功能。
四、实训过程1. 实训准备:学生分组,明确分工,制定实训计划;2. 实训实施:按照实训计划,完成数据库设计、创建、查询、维护和优化等操作;3. 实训总结:对实训过程进行总结,分析存在的问题,提出改进措施。
数据库_教务管理系统_综合实验报告
数据库_教务管理系统_综合实验报告华北科技学院计算机系综合性实验实验报告课程名称《数据库原理及应用教程》实验学期 2019 至 2019 学年第 2 学期学生所在系部计算机学院年级专业班级学生姓名学号任课教师郭红实验成绩计算机系制《数据库原理及应用教程》课程综合性实验报告23456789--一、创建表 -- 建立系别表 CREATE TABLE sdept(Dno CHAR (10) PRIMARY KEY , Dname CHAR (20) UNIQUE , Dphone CHAR (20), );-- 建立教师表 create table teacher (Tno CHAR (10) PRIMARY KEY , Tname CHAR (20) not null,Tsex CHAR (2) CHECK (Tsex IN (' 男' , ' 女' )), Prof CHAR (4), Tage SMALLINT , Dno CHAR (10) ,FOREIGN KEY (Dno ) REFERENCES Sdept (Dno ) );-- 建立学生表 CREATE TABLE student (Sno CHAR (10) PRIMARY KEY , Sname CHAR (20) NOT NULL,Ssex CHAR (2) CHECK (Ssex IN (' 男' , ' 女' )), Sage SMALLINT ,Dno CHAR (10), FOREIGN KEY (Dno ) REFERENCES Sdept (Dno ) );-- 建立课程表 CREATE TABLE course(Cno CHAR (10) PRIMARY KEY , Cname CHAR (20) UNIQUE , Credit SMALLINT , ); --建立授课表CREATE TABLE TC (Cno CHAR (10), Tno CHAR (10), );-- 建立选课表 CREATE TABLE SC (Sno CHAR (10) , Cno CHAR (10),Grade SMALLINT CHECK (Grade >=0 AND Grade10PRIMARY KEY (Sno , Cno ),);------------------------------------------------------------学生的学号、成绩等信息查询的视图create view V_studentasselect student . Sno , Sname , cname , Credit , gradefrom student , SC , coursewhere student . Sno =SC . Sno andcourse . Cno =SC . Cno--教师基本信息查询的视图create view V_teacherasselect Tname , Prof , Dnamefrom teacher , sdeptwhere teacher . Dno =sdept . Dno------------------------------------------------在教师表中系代号列上建立索引create unique index teadnoon teacher (Tno , Dno );--在学生表姓名列上建立索引create unique index stusnameon student (Sno , sname );----------------------------------------------- --创建学生用户create login u1with password ='111'use GRADEcreate user 学生for login u1--对学生用户进行授权grant selecton studentto 学生grant selecton V_studentto 学生grant selecton SCto 学生grant selecton TCto 学生grant selecton V_teacherto 学生--创建教师用户create login u2with password ='111'use GRADEcreate user 教师for login u2--对教师用户进行授权grant selecton studentto 教师grant selecton TCto 教师grant select , updateon teacherto 教师grant select , insert , update (grade ) on SCto 教师--创建教务管理员用户create login u3with password ='111'use GRADEcreate user 教务处for login u3--对教务管理员用户进行授权grant select , update , insert , delete on teacherto 教务处grant select , update , insert , delete on studentto 教务处grant select , update , insert , delete on sdeptto 教务处grant select , update , insert , delete on courseto 教务处grant select , update , insert , delete on sdeptto 教务处grant select , update , insert , delete on courseto 教务处grant select , update , insert , delete on TCto 教务处grant select , update , insert , deleteon SCto 教务处--------------------------------------------删除教师信息触发器create trigger 删除教师信息on teacherfor deleteasif exists(select * from tc where tno =(select tno from deleted )) beginprint 'course 表里有该教师的课程,请先删除course 表里的记录!'rollbackend--演示删除教师信息触发器的操作deletefrom teacherwhere tno ='t1'--删除学生信息触发器create trigger 删除学生信息on studentfor deleteasif exists(select * from sc where sno =(select sno from deleted )) beginprint 'SC 表里有该学生的选课课程,请先删除SC 表里的记录!'rollbackend--演示删除学生信息触发器的操作deletefrom studentwhere sno ='s1'--选课触发器create trigger 选课on SCfor insertasif exists(select Cno from course where cno =(select cno from inserted )) beginprint ' 选课成功'end--演示执行“选课”触发器insertinto SC (sno , cno )values ('s1' , 'c3' )--查询选课结果select *from SC--删除选课触发器create trigger 删除选课on SCfor DELETEASif exists(select Cno from sc where cno =(select cno from deleted )) begin print ' 删除选课成功'end--演示执行“删除选课”触发器deletefrom scwhere sno ='s1' and cno ='c3'--------------------------------------------------- --查询成绩的存储过程 CREATE PROCEDURE 查询成绩 @sn char (10)asselect student . sno , sname , cname , Credit , gradefrom student , course , SCwhere student . sno =sc . sno andcourse . cno =sc . cno andstudent . sno =@sn--查询学号为“s1”的学生成绩exec 查询成绩 's1'。
数据库报告
华北科技学院计算机学院综合性实验实验报告课程名称数据库原理与应用D 实验学期 2013 至 2014 学年第 2 学期学生所在系部计算机系年级 2012级专业班级信管B122 学生姓名学号任课教师郭慧实验成绩计算机学院制实验报告须知1、学生上交实验报告时,必须为打印稿(A4纸)。
页面空间不够,可以顺延。
2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。
3、教师应该填写的内容包括:实验成绩、教师评价等。
4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。
综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。
任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。
5、未尽事宜,请参考该课程的实验大纲和教学大纲。
《数据库原理与应用D》课程综合性实验指导单适用专业:信息管理与信息系统《数据库原理与应用D》课程综合性实验报告开课实验室:基础五2014年6月18日实现的关键代码:<% Connection conn=null;注册界面的代码这里不予显示。
只显示确认信息的代码和连入数据库的代码。
<%Connection conn=null;功能:通过新闻的关键字来查询新闻。
经过调试,出现错误的原因是未给传值的id和md类定义。
导致出现无法传值无法显示表的情况。
将用户id的定义改为了String user=(String)session.getAttribute("username");id的值更改为用户名的值,并且通过session来长久保留,这样才能在连接外键的乱码问题是常见的问题,代码的任何错误都有可能导致乱码的产生,例如以下这两GBK与GB2312的不匹配等。
Oracle数据库综合实验
华北科技学院计算机系综合性实验实验报告课程名称 Oracle数据库实验学期 2010 至 2011 学年第 2 学期学生所在系部基础部年级 2008 专业班级计算B082 学生姓名范玉文学号 200809014212 任课教师郭慧实验成绩计算机系制《 Oracle数据库》课程综合性实验指导单适用专业:计算机相关专业一、实验题目:Oracle数据库的管理和应用程序的开发二、实验目的:掌握Oracle数据库的对象的创建和管理方法,巩固对Oracle数据库基本原理和基础理论的理解。
掌握使用ODBC开发Oracle数据库应用程序的技术,巩固对Oracle 数据库基本原理和基础理论的理解。
三、实验设备及环境:硬件:多媒体计算机软件:Windows 2003操作系统,Oracle 9i 数据库管理系统四、实验内容及要求:1. 设计教务管理系统数据库,要求:(1)建立不少于四个数据表,建立各表的主键和外键约束;(2)建立至少一个视图;(3)数据表和视图的名称和字段自行设定;(4)各数据表和视图存储的表空间为Student,方案为Student2. 开发应用程序(1)使用ODBC或其他方法连接数据库(2)通过应用程序向各数据表中插入若干条记录(3)通过应用程序对各表和视图进行记录的查询和修改五、考核标准:综合实验说明书一般不少于1500字,说明书除了在封面中应有题目、班级、姓名、学号和实验日期外,其正文一般包括需求分析、概念设计、逻辑设计、测试、用户使用说明,参考文献等,综合实验课程成绩占10%。
撰写人:杜杏菁撰写时间:2007.11.25《 Oracle数据库》课程综合性实验报告开课实验室:基础实验室一2011年5 月18日实验题目Oracle数据库的管理和应用程序的开发一、实验目的掌握Oracle数据库的对象的创建和管理方法,巩固对Oracle数据库基本原理和基础理论的理解。
掌握开发Oracle数据库应用程序的技术,巩固对Oracle数据库基本原理和基础理论的理解。
数据库系统综合实训报告
资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载数据库系统综合实训报告地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容课程设计报告目录TOC \o "1-2" \h \z \u HYPERLINK \l "_Toc485580426" 1. 选题说明 PAGEREF _Toc485580426 \h 1HYPERLINK \l "_Toc485580427" 2. 需求分析 PAGEREF_Toc485580427 \h 2HYPERLINK \l "_Toc485580428" 2.1 功能需求分析 PAGEREF_Toc485580428 \h 2HYPERLINK \l "_Toc485580429" 2.2 数据库需求分析 PAGEREF _Toc485580429 \h 2HYPERLINK \l "_Toc485580430" 2.2.1 顶层数据流图 PAGEREF _Toc485580430 \h 2HYPERLINK \l "_Toc485580431" 2.2.2 一层数据流图 PAGEREF _Toc485580431 \h 3HYPERLINK \l "_Toc485580432" 2.2.4 三层数据流图 PAGEREF _Toc485580432 \h 6HYPERLINK \l "_Toc485580433" 3. 概念结构设计 PAGEREF_Toc485580433 \h 7HYPERLINK \l "_Toc485580434" 3.1 E-R图 PAGEREF_Toc485580434 \h 7HYPERLINK \l "_Toc485580435" 3.2用Powerdesigner软件画概念结构模型 PAGEREF _Toc485580435 \h 7HYPERLINK \l "_Toc485580436" 4.逻辑结构设计 PAGEREF_Toc485580436 \h 8HYPERLINK \l "_Toc485580437" 4.1 E-R图转换成的逻辑结构模式PAGEREF _Toc485580437 \h 8HYPERLINK \l "_Toc485580438" 4.2 用Powerdesigner软件画逻辑结构模型 PAGEREF _Toc485580438 \h 8HYPERLINK \l "_Toc485580439" 5 物理结构设计 PAGEREF_Toc485580439 \h 8HYPERLINK \l "_Toc485580440" 5.1 数据库中的表结构 PAGEREF _Toc485580440 \h 8HYPERLINK \l "_Toc485580441" 5.2 用Powerdesigner软件画物理结构模型 PAGEREF _Toc485580441 \h 10HYPERLINK \l "_Toc485580442" 6. 数据库实施 PAGEREF_Toc485580442 \h 10HYPERLINK \l "_Toc485580443" 6.1 创建数据库 PAGEREF_Toc485580443 \h 10HYPERLINK \l "_Toc485580444" 6.2 创建数据表 PAGEREF_Toc485580444 \h 11HYPERLINK \l "_Toc485580445" 6.3 创建视图 PAGEREF_Toc485580445 \h 14HYPERLINK \l "_Toc485580446" 6.4 创建索引 PAGEREF_Toc485580446 \h 14HYPERLINK \l "_Toc485580447" 7 数据库维护 PAGEREF_Toc485580447 \h 14HYPERLINK \l "_Toc485580448" 7.1 修改表结构 PAGEREF_Toc485580448 \h 14HYPERLINK \l "_Toc485580449" 7.2 修改表数据 PAGEREF_Toc485580449 \h 15HYPERLINK \l "_Toc485580450" 8 数据库使用 PAGEREF_Toc485580450 \h 15HYPERLINK \l "_Toc485580451" 8.1通过学号查询性别、年龄(单表查询) PAGEREF _Toc485580451 \h 15HYPERLINK \l "_Toc485580452" 8.2 程序设计 PAGEREF_Toc485580452 \h 15HYPERLINK \l "_Toc485580453" 参考文献 PAGEREF_Toc485580453 \h 15学生成绩管理系统数据库的设计学生姓名:** 指导教师:胡艳慧内容提要:以管理信息系统技术和Java语言程序设计理论为基础,结合WindowsAccess数据库服务器的相关技术 ,阐述构建一个普遍适用于学校、班级的学生成绩管理系统的全过程,建立一套在现有Windows操作系统下的单机版学生成绩管理系统。
数据库实训综合报告范文
一、实训背景随着信息技术的飞速发展,数据库技术已成为现代社会的重要基础设施。
为了提高我们的数据库应用能力,我校组织了一次数据库实训活动。
本次实训旨在让学生了解数据库的基本原理、掌握数据库设计方法、熟悉数据库开发工具,并培养学生的实际操作能力。
二、实训目的1. 掌握数据库的基本概念和原理;2. 学会使用数据库设计工具进行数据库设计;3. 熟悉数据库开发工具,能够进行数据库编程;4. 提高学生的实际操作能力,培养团队协作精神。
三、实训内容1. 数据库基本概念与原理在实训初期,我们学习了数据库的基本概念,如数据、数据库、数据库管理系统等。
同时,我们还了解了数据库的三级模式结构,包括模式、外模式和内模式。
通过学习,我们对数据库有了初步的认识。
2. 数据库设计方法在实训过程中,我们学习了数据库设计的基本方法,包括需求分析、概念设计、逻辑设计和物理设计。
通过实际操作,我们掌握了如何使用E-R图进行概念设计,如何使用关系模型进行逻辑设计,以及如何使用数据库管理系统进行物理设计。
3. 数据库开发工具我们学习了数据库开发工具的使用,包括SQL Server Management Studio、SQL Server Express等。
通过这些工具,我们可以方便地进行数据库的创建、修改、查询等操作。
4. 数据库编程在实训过程中,我们学习了SQL语言,掌握了如何使用SQL进行数据库编程。
我们学习了SELECT、INSERT、UPDATE、DELETE等基本操作,以及如何使用JOIN、WHERE、ORDER BY等语句进行复杂查询。
5. 项目实践为了提高我们的实际操作能力,我们进行了一个项目实践。
我们以“学生信息管理系统”为例,进行了数据库的设计、开发与实现。
在项目实践中,我们遇到了各种问题,通过团队合作,我们成功地解决了这些问题。
四、实训成果1. 掌握了数据库的基本概念和原理;2. 学会了使用数据库设计工具进行数据库设计;3. 熟悉了数据库开发工具,能够进行数据库编程;4. 提高了实际操作能力,培养了团队协作精神。
华北科技学院数据库系统综合实验报告
系部(系编号,系名称,系教学秘书)
2、设计视图:
(1)为学生查询成绩设计视图:
成绩1(课程名,期末,总评,重修1/补考1,重修2/补考2,学分,必修/选修,学年,学期)。
(2)为教师查询成绩设计视图:
成绩2(学号,姓名,课程名,期末,总评,必修/选修,学年,学期,班级)
set sl=(
case when @score>@score1 and @score>@score2 then @score
when @score1>@score and @score1>@score2 then @score1
else @score2 end
)
where sno=(select sno from inserted) and cno=(select cno from inserted)
(5)实施:以SQL SERVER为平台创建出完整的数据库.在数据库中要表现出的知识点包括
①登录控制(标准登录和混合登录)
②数据完整性:参照完整性、实体完整性、自定义完整性(包括触发器)
③安全性设计:设置用户,并相应设计用户的权限或角色(用户设计至少3个,有不同的权限)
④使用触发器、游标或存储过程完成相关操作,至少使用1种技术。
12
否
主键
升序
学号
sname
varchar
10
否
否
姓名
ssex
varchar
2
否
否
性别
class
varchar
20
否
外键:class.clname
数据库课程设计--网上选课系统
《数据库系统》课程综合性实验报告华北科技学院计算机系综合性实验报告第1 页2华北科技学院计算机系综合性实验报告第3 页4华北科技学院计算机系综合性实验报告第5 页6华北科技学院计算机系综合性实验报告Score char 20 否分数授课表class字段数据类型长度允许空值备注Cno char 20 否课程号Tno char 20 否教师号管理员表:admin字段数据类型长度允许空值备注ID Int 否主键编号Name Char 20 否用户名Password char 20 否密码4.代码编写与物理设计①登陆,建库,做好备份.(代码略)②数据完整性各表中主键均不能为空且取值唯一,以选课表为例,列出各表及字段说明。
Course表设计第7 页③各表间的外键关系及约束.部分代码:create table Teachers(Tno char(5) primary key not null,Tname char(10) not null,Tsex char(2) not null ,Depno char(20) foreign key references Depart(Depno) NOT NULL)由于代码较多其它略.Students与result8华北科技学院计算机系综合性实验报告Depart与teachersCourse与result其他略!约束部分代码:(Course表,其它略)第9 页Cstuno char(20) not null check(Cstuno>=0) default 0,Ccstu char(20) not null check(Ccstu>=0 and Ccstu<=120) default 50Result表约束④触发器设计:华北科技学院计算机系综合性实验报告⑤存储过程create procedure sp_add(@Sno char(20),@Cno char(5), @Score float)asif not exists(select * from Students where Sno=@Sno)/*检验学号*/beginprint '该学号不存在!'return -1endif not exists(select * from Course where Cno=@Cno)/*检验课程号*/beginprint '该课程号不存在!'return -1endif not exists(select * from Result where (Cno=@Cno and Sno=@Sno))/*检验课程号*/beginprint '该课程号已经选过一次!'return -1endbegininsert Result values (@Sno,@Cno,@Score)update Course set Cstuno=Cstuno+1 where Cno=@Cnoend选课存储过程退课:/*退课存储过程*/create procedure sp_delete(@Sno char(20),@Cno char(5) )asif not exists(select * from Students where Sno=@Sno)/*检验学号*/beginprint '该学号不存在!'return -1endif not exists(select * from Course where Cno=@Cno)/*检验课程号*/beginprint '该课程号不存在!'return -1endif not exists(select * from Result where (Sno=@Sno and Cno=@Cno)) /*检验是否已经选课*/ beginprint '您还未选该课!'return -1endbegindelete from Result where (Sno=@Sno and Cno=@Cno )update Course set Cstuno=Cstuno-1 where Cno=@Cno华北科技学院计算机系综合性实验报告end五、总结通过本次课程设计,我对SQL Server2000有了更深的了解,数据库和表是SQL Server 2000用于组织和管理数据的基本对象,用户使用SQL Server 2000设计和实现查询信息,首要的任务是实现数据库的数据的表示和存储,即创建数据库和表。
数据库实训综合报告
一、引言随着信息技术的飞速发展,数据库技术已成为现代信息技术的基础和核心。
为了提高学生的实际操作能力和综合素质,我们开展了数据库实训课程。
本次实训旨在使学生深入了解数据库的基本原理、设计方法及实际应用,培养学生的数据库设计与开发能力。
以下是对本次数据库实训的综合报告。
二、实训目的1. 理解数据库的基本概念、原理及体系结构。
2. 掌握数据库设计的基本方法,包括需求分析、概念设计、逻辑设计和物理设计。
3. 熟练运用SQL语言进行数据库的创建、查询、更新和删除等操作。
4. 学会使用数据库开发工具,如MySQL Workbench、PowerDesigner等。
5. 培养学生团队协作能力和沟通能力。
三、实训内容1. 数据库基础知识:数据库的基本概念、数据模型、关系代数、SQL语言等。
2. 数据库设计:需求分析、概念设计、逻辑设计、物理设计等。
3. 数据库开发工具:MySQL Workbench、PowerDesigner等。
4. 数据库应用:使用SQL语言进行数据库操作,如创建、查询、更新和删除等。
5. 数据库项目实战:以小组为单位,完成一个数据库项目的开发。
四、实训过程1. 理论学习:首先,通过课堂讲解和自学,掌握数据库的基本概念、原理及体系结构。
2. 实践操作:在教师的指导下,使用MySQL Workbench、PowerDesigner等工具进行数据库设计,并运用SQL语言进行数据库操作。
3. 项目实战:以小组为单位,根据项目需求进行数据库设计、开发,并完成项目答辩。
五、实训成果1. 理论知识:学生掌握了数据库的基本概念、原理及体系结构,能够熟练运用SQL语言进行数据库操作。
2. 实践能力:学生能够运用所学知识进行数据库设计、开发,具备一定的数据库应用能力。
3. 团队协作:学生在项目实战中学会了与他人沟通、协作,提高了团队协作能力。
六、实训总结1. 认识到数据库技术的重要性:数据库技术在现代社会中具有广泛的应用,掌握数据库技术对于学生未来的职业发展具有重要意义。
华北科技学院计算机系综合性实验报告
华北科技学院计算机系综合性实验
实验报告
课程名称网络数据库
实验学期 2011 至 2012 学年第 2 学期学生所在系部计算机学院
年级 09级专业班级网络B093班
学生姓名沈亚强学号_ 200907034313 任课教师孙改平
实验成绩
计算机系制
《网络数据库》课程综合性实验报告
查询所有学生选课的信息及选课成绩信息图:
当学生成绩更改的值超过100或者低于0的值,将返回错误提醒。
(2)从三个表中的连接中返回指定学生的学号、姓名、所选课程名称及该课程的成绩,存储过程在参数中使用了模式匹配。
(2)创建触发器,在删除xsb表中的一条学生记录时将cjb表中该学生的相应记录也删除。
3、同时利用DENY命令可以拒绝当前数据库内的用户授予的权限,并防止数据库用户通过其组或角色成员资格继承权限;最后可利用REVOKE命令可撤销以前给当前数据库用户授予或拒绝的权限,使得用户对数据库无任何访问权限和操作。
数据库上机报告(2)
华北科技学院上机报告系(部)基础部专业、班级计算B091姓名陈伟学号200909014110 课程名称数据库系统A上机题目连接查询与嵌套查询任课教师丁智斌指导教师丁智斌成绩(优、良、中、及格、不及格)华北科技学院基础部实验2-1 连接查询一、实验目的(1) 理解连接操作及其相关概念;(2) 掌握表连接中谓词WHERE、JOIN的作用和使用方法;(3) 熟练掌握数据库的连接查询。
二、实验原理1. 连接的概念连接可以实现从两个或更多的表中查询数据。
通过连接可以使用一个表中的数据来查询其他表中的数据,结果通常是含有参加连接运算的两个表(或多个表)的指定列的集合,从而大大提高了操作的灵活性。
2. 连接的分类:(1) 笛卡尔积连接是指两个表的连接不使用谓词,返回两个表的元组的交叉乘积,结果包含两个表中所有行的全部组合。
(2) 内连接是指两个表在连接时,使用比较运算符对表中指定的列进行比较,返回符合连接条件的数据行,从而返回一个由两个表生成的新的记录集。
内连接有三种类型:等值连接:在连接条件中使用“=”运算符比较连接的列值,返回两表的所有列,也包括重复列;非等值连接:在连接条件中使用除“=”以外的其他比较运算符(>、<、>=、<=、!=、<>、!>、!<)进行比较连接列值;自然连接:在等值连接中,返回指定的列中没有重复列的连接。
(3) 自身连接:一个表与其自身进行的比较连接。
(4) 外连接是指两个表在连接时,返回的结果集除了包括复合条件的数据行外,还会返回FROM子句中的至少一个表或视图的所有行。
外连接也有三种类型:左连接:在结果表中包含第一个表中的满足条件的所有记录;如果是在连接条件上匹配的元组,则第二个表返回相应的值,否则第二表返回空值。
右连接:在结果表中包含第二个表中的满足条件的所有记录;如果是在连接条件上匹配的元组,则第一个表返回相应的值,否则第一个表返回空值。
数据库 教务管理系统 综合实验报告
华北科技教院估计机系概括性真验之阳早格格创做真验报告课程称呼《数据库系统A》真验教期2011至2012教年第2教期教死地圆系部估计机教院年级2010博业班级搜集B101班教死姓名教号任课西席真验结果估计机系造《数据库系统A》课程概括性真验报告启课真验室:硬件启垦真验室(一)2012年6月 6日战传播依好,所以,谦脚BCNF.f.“班级”真体对付应的闭系模式:班级(班号,最矮总教分,处事证号,系代号)代码表示:Class ( Class, Ccredit, Tno.Dno )其中,班号为其候选码,又由于班级与系别之间是n:1的“属于”闭系,通过“班级”与“系别”二个真体闭系模式的合并后,系号被合并为班级对付应的闭系模式的中码.而班级与西席之间是n:1的“控造”闭系,所以依照确定,西席的处事证号也被合并为班级的中码.存留的函数依好为Class →(Ccredit, Tno.Dno ),其中Class →Tno,而Tno →Dno,即存留对付候选码的传播依好,所以只谦脚2NF.(2)安排符合的视图正在将E-R图背闭系模型变换后,还应根据局部应用的需要,对付分歧级别的用户定义分歧的视图,那样没有但是不妨正在视图中沉新定义某些属性名,使用户使用更便当,而且还不妨通过视图包管系统的仄安性.正在本次的教务管造系统数据库中,尔针对付使用该数据库最一再的教死战西席用户建坐了相闭视图,其中包罗对付系别、西席、课程的调配视图;对付教死教号、结果、等相闭疑息的查询战西席基础疑息的查询等三个视图,那样,对付那些时常使用的查询,用户便不妨通过视图去查询,大大简化了用户的使用.创造的三个视图的截图如下:西席授课安插视图:教死结果查询视图:西席基础疑息查询视图:该数据库中每一个闭系模式的主码分别为系统自动树坐的索引,如教死闭系模式中的教号,西席闭系模式中的处事证号,系别中的系别号等,共时,通过对付本质支配的思索,为了查询某系的教授的便当,咱们还需要正在Teacher表中建坐一个“系代号”Dno 的索引;又果为查询支配很多皆通过教死姓名查找的,所以还需要正在Student表姓名列sname上建坐一个索引等,那样大大简化查询支配.5.数据库的真止(1)创造库、表正在该教务管造系统中包罗了教死表、西席表、选课表、系别表、班级表、课程表、西席与班级的通联表等多个表.正在此,尔以教死表为例举止证明表的创造.一个完备的表必须包罗对付真体完备性、参照完备性、用户定义完备性的三种完备性的定义.正在教死表中,最先思量表的真体完备性央供,正在该教死表中教号被设为主码,用PRIMARY KEY定义,且该表含有多个属性,所以教号便是表级拘束条件,进而完毕了教死表的真体完备性的定义.其次,对付于教死表的参照完备性,系号(Dno)、班号(Class)是该教死表的中码,共时它仍旧班级系别Sdept表、Class表的主码,所以对付其用FOREING KEY短语举止定义,并用REFERENCES短语指明该中码是参照那些表的主码,进而完毕对付表的参照完备性的定义.终尾,是表的用户定义完备性,正在该教死表中,分离本质情况咱们没有易料到该当定义一个姓名Sname为非空的拘束条件战性别Ssex只可为“男”或者“女”二者选其一的拘束条件,其中姓名的非空用UNIQE定义即可,而性别用CHECK语句定义即可.别的,除了对付那三种完备性性央供的定义中,再加上该表中的一些其余的属性列如年龄Sage的创造,进而共共完毕了教死表的创造.创造教死表的代码为:CREATE TABLE student(Sno CHAR(10) PRIMARY KEY,Sname CHAR(20) NOT NULL,Ssex CHAR(2) CHECK(Ssex IN ('男','女')),Sage SMALLINT,Dno CHAR(10),Class CHAR(10),FOREIGN KEY (Class) REFERENCES Class(Class));创造的教死表截图如下:其余,正在创造表的共时还要注意偶尔需要创造二个表之间的级联,比圆,此教务管造系统中SC表是参照教死表的教号战课程表的课号建坐的,所以该当正在SC表中建坐其与Student表与Course表的级联;课程表又是参照西席表中的西席处事证号建坐的,所以该当建坐一个course表与西席teacher表的级联;班级表也是参照西席表中的西席处事证号建坐的,所以也该当建坐一个class表与西席teacher表的级联,那样当参照表爆收改变时能共时正在目标表中也爆收相映改变,包管数据库中数据的精确灵验性.(2)创造用户该教务管造系统的主要用户有教死用户,教授用户,教务管造员战系统管造员等四种,所以需要创造那四种典型的用户,并赋予其相映的权力.对付于教死用户便只可赋予其查询教死基础疑息student表的权力,教授相闭疑息视图V-teacher表的权力,查询教死结果视图V_student表的权力,以及查询西席授课调配图DTC表的权力;西席则具备查询教死基础疑息Student表的权力,查询西席授课的视图DTC表的权力,还具备建改自己基础疑息teacher表的权力,另有备案拔出教死结果疑息即建改SC表的权力;教务管造员具备建改本系十足相闭疑息的权力,包罗查询、简略、删加、建改,而系统管造员具备创造百般表、视图、触收器及保存历程并对付各个用户举止相映授权的权力.(3)使用触收器、保存历程等相闭技能.正在教务管造数据库中,基于存留西席的退戚及教死退教或者结业的情况,所以必定会有简略那些疑息的支配,为了便当起睹,所以有需要安排一个“简略西席疑息”触收器以及“简略教死疑息”触收器.共时教务管造系统的数据库必定波及到教死选课退课的问题,所以还需要安排一个闭于选课退课系统的“选课”触收器与“简略选课”触收器.“简略西席疑息”与“简略教死疑息”触收器的历程大概相共,便“简略西席疑息”触收器去道,当简略西席时如果该西席正在course表中有其授课疑息,则当简略该西席后必会引起course表没有成用,所以创造的该触收器当所要简略的西席号存留于course内中时,系统便该当给出“course内中有该西席的课程,请先简略course内中的记录!”的提示疑息;便“简略教死疑息”触收器去道,如果该教死退教时正在选课内中仍有其选课记录,则当简略该教死疑息后,正在SC内中的相闭选课记录必定成为无效,所以正在此树坐了一个推断将要退教的教死是可能简略的触收器,当退教教死正在SC内中有该教死的记录时该当给出“SC内中有该教死的选课课程,请先简略SC内中的记录!”的疑息提示.“简略西席疑息”触收器支配演示如下所示:“选课”与“简略选课”触收器的历程大概相共,便“选课”触收器去道当所选课程的课程号存留于课程内中时,系统便会将该条的选课记录增加到SC表中,并给出“选课乐成”的疑息提示,共样简略选课与此类似,当要简略的选课的课程号存留于SC表时,系统便会将该条的选课记录从SC表中简略,并给出“简略选课乐成”的疑息提示.演示真止“选课”触收器的支配截止截图如下:那样正在举止那些相闭数据的处理时便不妨通过触收器去统造,如果触收动做体真止波折,激活触收器的事变便会终止真止,触收器的目标表或者触收器大概做用的其余对付象没有爆收变更.除了创造相映触收器中,教务管造系统中还用到了数据库的保存历程,正在本数据库中尔建坐了闭于指定某个教号的“教死结果查询”的保存历程,那样教死只需要输进自己的教号便不妨查询出自己所选的科目以及其相映的结果,保存历程的编译及本去止历程如下截图所示:本去,触收器便是一种特殊的保存历程,那样创造完毕那些时常使用功能的保存历程后它们被编译后便能保存正在数据库中,它们便像函数一般不妨被反复调用,普及运止速度.四、真验截止及分解那次课程安排尔采用的是安排“教务管造系统”的数据库,通过本次自己独力的安排一个数据库,使尔更领会了安排数据库的步调,通过一步步的分解、支配、真施,表里通联本质,把课堂上所教的知识概括的使用起去,没有但是加深了对付SQL语句的明白,而且普及了对付所教知识的流利使用程度.正在真验历程中,尔相识到创造表时也需要注意一些咱们时常简单忽略的问题,比圆建表的程序问题,果为一些表格中的属性列的完备性央供是正在另一些表的属性列的前提上创造的,所以,那便决定了创造表的一定的程序问题,如果没有依照那个程序建表,则建表必定波折.其余,正在创造表的共时还得注意每个属性的数据典型,那个细节问题也是咱们时常忽略的问题,对付每个属性列皆要根据本质情况决定相映的数据典型,并定义一定的少度大小,以普及空间利用率.尔正在本次做业中的另一支获是精确了触收器中rollback语句的精确用法,当触收器所设定的支配能精确真止时便没有需要增加rollback语句,而当触收器所设定的支配没有克没有及完毕时需要用rollback语句回滚,并给出相映的提示疑息.终尾,正在本次做业中,尔改正了往日对付触收器及保存历程的认识误区,往日过得的认为触收器也是一个表格,而且不妨通过变动触收器的真质去变动手段表格的真质,本去,触收器相闭代码如下: -- 一、创造表CREATE TABLE sdept(Dno CHAR(10) PRIMARY KEY,Dname CHAR(20) UNIQUE,Dphone CHAR(20),);-- 建坐西席表create table teacher(Tno CHAR(10) PRIMARY KEY,Tname CHAR(20) not null,Salary char(10),Tel CHAR(20),Email char(20),Dno CHAR(10) UNIQUE,FOREIGN KEY (Dno) REFERENCES Sdept(Dno) );-- 建坐班级表CREATE TABLE class(Class CHAR(10) PRIMARY KEY,Ccredit BIGINT,Tno CHAR(10),Dno CHAR(10),FOREIGN KEY (Tno) REFERENCES Teacher(Tno) ON UPDATE CASCADE,FOREIGN KEY (Dno) REFERENCES Sdept(Dno) );-- 建坐教死表CREATE TABLE student(Sno CHAR(10) PRIMARY KEY,Sname CHAR(20) NOT NULL,Sage SMALLINT,Dno CHAR(10),Class CHAR(10),FOREIGN KEY (Class) REFERENCES Class(Class));-- 建坐课程表CREATE TABLE course(Cno CHAR(10) PRIMARY KEY,Cname CHAR(20) UNIQUE,Credit SMALLINT,Tno CHAR(10),Cnum CHAR(10),FOREIGN KEY (Tno) REFERENCES Teacher(Tno)ON UPDATE CASCADE,);-- 建坐选课表CREATE TABLE SC(Sno CHAR(10) ,Cno CHAR(10),Grade SMALLINT CHECK(Grade>=0 AND Grade<=100), Daigrade SMALLINT CHECK(Daigrade>=0 AND Daigrade<=100),Midbrade SMALLINT CHECK(Midbrade>=0 AND Midbrade<=100),Lasgrade SMALLINT CHECK(Lasgrade>=0 AND Lasgrade<=100),Fingrade SMALLINT CHECK(Fingrade>=0 AND Fingrade<=100), PRIMARY KEY (Sno, Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno)ON UPDATE CASCADE,FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE CASCADEON UPDATE CASCADE,);--二、创造视图--西席授课的调配视图create view DTCasselect sdept.Dno ,Dname,Tname,Cnamefrom sdept,teacher,coursewhere sdept.Dno=teacher.Dno and--教死的教号、结果等疑息查询的视图create view V_studentasselect student.Sno,Sname,cname,Credit,gradefrom student,SC,coursewhere student.Sno=SC.Sno ando=o--西席基础疑息查询的视图create view V_teacherasselect Tname,Dname,Telfrom teacher,sdeptwhere teacher.Dno=sdept.Dno--三、创造索引--正在西席表中系代号列上建坐索引create unique index teadnoon teacher(Dno);create unique index stusnameon student(sname);--四、创造用户并对付用户的权力搞相映树坐--创造教死用户create login u1with password='111'use 教务管造系统create user 教死for login u1--对付教死用户举止授权grant selecton studentto 教死grant selecton V_studentto 教死grant selecton DTCto 教死grant selecton V_teacherto 教死--创造西席用户create login u2with password='111'use 教务管造系统create user 西席for login u2--对付西席用户举止授权on studentto 西席grant selecton DTCto 西席grant select,updateon teacherto 西席grantselect,insert,update(grade,daigrade,midbrade,lasgrade,fingrade) on SCto 西席--创造教务管造员用户create login u3with password='111'use 教务管造系统create user 教务处for login u3--对付教务管造员用户举止授权grant select,update,insert,deleteon teacherto 教务处grant select,update,insert,deleteon studentto 教务处grant select,update,insert,deleteon sdeptto 教务处grant select,update,insert,deleteto 教务处grant select,update,insert,deleteon courseto 教务处--五、创造触收器--简略西席疑息触收器create trigger 简略西席疑息on teacherfor deleteasif((select tno from deleted) in (select tno from course))beginprint'course内中有该西席的课程,请先简略course内中的记录!'rollbackend--演示简略西席疑息触收器的支配deletefrom teacherwhere tno='04004'--简略教死疑息触收器create trigger 简略教死疑息on studentfor deleteasif((select sno from deleted)in (select sno from sc))beginprint'SC内中有该教死的选课课程,请先简略SC内中的记录!'end--演示简略教死疑息触收器的支配deletefrom studentwhere sno='020312'--选课触收器create trigger 选课on SCfor insertasif((select cno from inserted) in (select Cno from course) ) beginprint'选课乐成'end--演示真止“选课”触收器insertinto SC(sno,cno)values('020301','02')--简略选课触收器create trigger 简略选课on SCfor DELETEASif((select cno from deleted) in (select cno from sc)) beginprint'简略选课乐成'end--演示真止“简略选课”触收器deletewhere sno='010117'and cno='03'--六、保存历程--查询结果的保存历程CREATE PROCEDURE 查询结果 @sn char(10) asselect student.sno,sname,cname,Credit,gradefrom student,course,SCwhere student.sno=sc.sno ando=o andstudent.sno=@sn--查询教号为“010104”的教死结果exec 查询结果 '010104'。
sqlserver数据库综合实验报告格式
华北科技学院计算机系综合性实验实验报告课程名称数据库原理与应用_________________________实验学期2009 至2010 学年第一学期学生所在系部________ 管理系年级三年级专业班级商务B071班_________________________学生姓名李荣妹学号4121 _______________________任课教师_________ 郭红 ________________________________实验成绩______________________________________________计算机系制《数据库原理与应用》课程综合性实验报告开课实验室:基础七2009年12月16日1、需求分析:③借阅的信息借出日期、归还日期④罚款的基本信息罚款金额、超期天数、处罚日期⑤读者用户管理信息用户名;密码:是有6个数字组成;记录用户最近一次登录的时间: 年月日2、概念分析:读者与其属性关系如图1所示,图书与其属性关系如图2所示。
1•读者实体与其属性2、图书实体与其属性经分析,本系统涉及到的实体只有读者和图书,二者之间存在借阅和罚 款的联系,据此刻画出系统的 E-R 图,如图3所示。
、七读者阅t书编类别n q图书3. 图书管理系统的E-R图3、逻辑设计(1)、完成关系模式的转化根据关系模式的转换规则可得到如下的关系模式,加下划线的属性为相应的主码。
读者(借书证号,读者姓名,性别,读者类别,是否有超期)图书(条形码号,图书编号,书名,作者,出版社,出版日期,书的类别,借阅状态,借阅次数),其中属性“借阅状态”给出该图书是否在库的信息。
借阅(借书证号,条形码号,借出日期,归还日期),主码为三个属性的组合,因为同一个读者可能重复借同一本书,只有加上借出日期才能区分出不同的借阅记录。
罚款(借书证号,条形码号,处罚日期,超期天数,罚款天数,罚款金额),主码为三个属性的组合,理由同上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主键/外键
索引
备注
dno
varchar
2
否
主键
升序
系编号
dname
varchar
10
否
否
系名
dtea
varchar
10
是
外键:teacher.tno
系教学秘书
专业表:subject
列名
数据类型
长度
允许空
主键/外键
索引
备注
sbno
varchar
2
否
主
键
升序
专业编号
department
varchar
select @score1=score1 from inserted
select @score2=score2 from inserted
if @score is not null and @score1 is not null and @score2 is not null
begin
uo
升序
所属系部
sbname
varchar
10
否
否
专业名
班级表:class
列名
数据类型
长度
允许空
主键/外键
索引
备
clname
varchar
20
否
主键
升序
班级名
subject
varchar
2
否
否
升序
所属专业
department
varchar
2
否
外键:department.dno
9
否
否
重修/补考1
score2
numernic
9
否
否
重修/补考2
term
varchar
1
否
否
学期
xyear
varchar
4
否
否
学年
type
varchar
6
否
否
课程类型
2、根据系统需要设计索引
(1)查询学生信息时经常要根据学生所在班级进行查询,为“学生表”的“班级”字段创建聚簇索引。
(2)查询教师信息时经常要根据教师所在系进行查询,为“教工表”的“所在系”
(3)为教学秘书查询成绩设计视图:
成绩3(学号,姓名,课程名,总评,必修选修,学年,学期,班级)
(4)为教师上传成绩设计视图:
成绩4(学号,姓名,课程名,成绩)
(四)物理设计
1、根据逻辑结构所设计的关系模式创建基本表,并创建主键。系统自动为主键字段创建索引。
系部表:department
列名
数据类型
长度
因为关系模式“就职”和“系部”具有相同的码,所以将两个关系模式合并,得到关系模式:
系部(系编号,系名称,系教学秘书)
2、设计视图:
(1)为学生查询成绩设计视图:
成绩1(课程名,期末,总评,重修1/补考1,重修2/补考2,学分,必修/选修,学年,学期)。
(2)为教师查询成绩设计视图:
成绩2(学号,姓名,课程名,期末,总评,必修/选修,学年,学期,班级)
o references o
(3)自定义完整性
student表的ssex属性只允许取“男”或“女”:check(ssex=’男’ or ssex=’女’);
sc表的score、sl、score1、score2属性值应该在0~100之间:check(score>=0 and score<=100)、check(sl>=0 and sl<=100)、check(score1>=0 and score1<=100)
2、功能需求:
教务管理系统的用户分为:学生、教师、管理员。
学生可以查询成绩、修改密码、选修课程。
教师又分为普通教师和教学秘书,普通教师可以登记成绩、查询成绩;教学秘书可以查询成绩、为某个班级指定必修课、为教师指定其教授的课程及授课班级。
管理员具有管理系统的所有权利。
数据流图:
(二)概念结构设计
(三)逻辑结构设计
2
否
否
性别
department
varchar
2
否
外键:department.dno
所属系部
教授表:tc
列名
数据类型
长度
允许空
主键/外键
索引
备注
tno
varchar
10
否
主
键
外键:teacher.tno
升序
教工号
cno
varchar
4
否
外键:o
升序
课程号
class
varchar
20
否
1、根据系统的概念结构分析,得出其关系模式如下:
系部(系编号,系名称)
专业(专业编号,所属系部,专业名称)
班级(班级名称,所属专业,所属系部)
学生(学号,姓名,性别,班级)
课程(课程号,课程名,学分)
教工(教工号,姓名,所属系部)
就职(系编号,系教学秘书)
教授(教工号,课程号,教授班级)
学习(学号,课程号,期末,总评,补考1,补考2,学期,学年,课程类型)
as
if update(score) or update(score1) or update(score2)
begin
declare @score numeric(18,1),@score1 numeric(18,1),@score2 numeric(18,1)
select @score=score from inserted
set sl=(
case when @score>@score1 and @score>@score2 then @score
when @score1>@score and @score1>@score2 then @score1
else @score2 end
)
where sno=(select sno from inserted) and cno=(select cno from inserted)
、check(score2>=0 and score2<=100)
系部名称、专业名称、班级名称都取唯一值:UNIQUE
创建触发器T2,作用:添加学生信息时自动根据其学号生成其登录密码
create trigger T2
on student
for insert
as
if update(sno)
begin
declare @spsw char(12)
(6)以上内容,请详细描述,并有必要抓图.
四、实验结果及分析
(一)需求分析
1、信息需求:教务管理系统涉及的实体有:
学生:学号、姓名、性别;班级:班级名称、学制、入学年份;专业:专业编号、专业名称;系部:系编号、系名称;教师:教工号、姓名;课程:课程号、课程名、学分。
实体间的联系:一个系有若干专业,每个专业有若干个班级,每个班有若干个学生;每个系有若干教师,教师分为两种:授课教师和教学秘书,每个系有一名教学秘书;一名教师可以教授多门课程,可以教授多个班级;每个学生可以学习多名课程,每门课程可以被若干个学生学习。学生选修课程分为必修和选修,每门课程都有一个期末成绩,可以重修或补考两次,总评取3个成绩中最高的,还有选修课程的年份和学期。
所属系部
grade
varchar
4
否
否
入学年份
课程表:course
列名
数据类型
长度
允许空
主键/外键
索引
备注
cno
varchar
20
否
主键
升序
班级名
cname
varchar
2
否
否
所属专业
credit
varchar
2
否
否
所属系部
学生表:student
列名
数据类型
长度
允许空
主键/外键
索引
备注
sno
varchar
teacher.department references department.dno
tc.tno references teacher.tno
o references o
tc.class references class.clname
sc.sno references student.sno
--创建教学秘书用户
EXEC sp_addlogin dtea,dtea
USE stu_course
EXEC sp_grantdbaccess dtea,dtea
4、其它功能设计
创建触发器T1:添加或更改学生成绩时,自动生成总评
create trigger T1
on sc
for insert,update
外键:class.clname
升序
授课班级
学习表:sc
列名
数据类型
长度
允许空
主键/外键
索引
备注
sno
varchar
12
否
主
键
外键:student.sno
升序
学号
cno
varchar
4
否
外键:o
升序
课程号
score
numernic
9
否
否
期末
sl
numernic
9
否
否
总评
score1
numernic