华北科技学院数据库系统综合实验报告

合集下载

sqlserver数据库综合实验报告格式

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'。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档