数据库课程设计报告--网上选课系统_第1页
数据库课程设计报告--网上选课系统_第2页
数据库课程设计报告--网上选课系统_第3页
数据库课程设计报告--网上选课系统_第4页
数据库课程设计报告--网上选课系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、-数据库系统课程综合性实验报告开课实验室:根底四 2021年 12月 21日实验题目数据库的设计及应用一、实验目的利用一种DBMS作为设计工具,理解并应用课程中关于数据库设计的相关理论,能按照设计流程完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够应用各个阶段的典型工具。二、设备与环境(1) 硬件设备:PC机一台(2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2000等。三、实验容完整实践应用数据库设计的工程过程:需求分析概念设计逻辑设计物理设计和实施:(1)需求分析:选定一个应用,对所设计的数据库系统有一定的调研分析,其结果

2、应该以简单的需求分析说明书数据字典和数据流图(2级数据流即可)表示;(2)概念分析:使用E-R图作为描述工具.描述出局部和全局的E-R图;(3)逻辑设计:将E-R图转化为相应的关系模式,并根据式理论进展优化分析,关系模式不少于3个;(4)物理设计:根据需要设计必要的索引等构造;(5)实施:以*种DBMS为工具创立出完整的数据库.在数据库中要表现出的知识点包括登录控制 (标准登录或混合登录)数据完整性(参照完整性、实体完整性、自定义完整性(包括触发器)设置用户,并相应设计用户的权限和角色(用户设计至少3个,有不同的权限)以游标或存储过程完成相关操作至少2个,以文件方式保存(6)以上容,请详细描述

3、,并有必要抓图.四、实验结果及分析1. 需求分析随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可防止的出现过失的情况。这给广大的教师和学生带来诸多的不便,管理起来也相当困难。使用网上选课系统可以提前进展网上选课,并且选课以后学生还可以在查看和更改,随意选择各个教师的课程,教师管理起来也比拟方便。鉴于它的重要性,这就迫切需要研制开发一款功能强大,操作简单,具有人性化

4、的网上选课系统。 通过对学生选课管理系统工作容和相关数据流程分析,根据选课管理系统的需要,设计出满足各种用户(管理员,教师,学生)的实体,以及他们之间的关系,得到数据库的模型。系别包括系别号与系别名。专业表包括专业号与专业名。学生表包括*,年龄,性别,年纪,系别号,专业号等。教师表包括教师号,性别,系别号。课程表包括课程号,课程名,学分,学时,开课状态,已选人数,限选人数等。 选课结果表包括*,课程号,成绩。授课表包括课程号,教师号。管理员表包括ID,用户名与密码。数据字典:名字:教师信息表别名:Teachers描述:记录教师的信息定义:教师信息表= 教师号+*+性别+系别号位置:数据库名字:

5、系别表别名: Depart描述:记录系别信息定义:系别表=系别名+系别号位置:数据库名字:专业表别名: Profess描述:记录专业信息定义:专业表=专业名+专业号位置:数据库名字:学生信息表别名:Students描述:记录学生的信息定义:学生信息表= *+*+年龄+性别+年级+班级+系别名+专业名位置:数据库名字:课程表别名:Course描述:记录课程的信息定义:课程表= 课程号+课程名+学分+学时+开课状态+已选人数+限选人数位置:数据库名字:选课结果表别名: Class描述:记录选课信息定义:选课结果表=*+课程号+成绩位置:数据库名字:授课表别名: Result描述:记录授课信息定义:

6、授课表=课程号+教师号位置:数据库名字:管理员表别名: admin描述:记录授课信息定义:管理员表=ID+用户名+密码位置:数据库数据流图:学生返回课程选课成绩查询查询,更改选课学生信息教师登陆验证申请课程课程信息教师信息判分管理员(最高权限)批准课程与否管理员信息登陆验证返回 构造数据流图数据处理流程图:2. 概念构造设计实体有:学生、系别、专业、课程、教师、管理员。总体E-R图: 学生教师属于系/专业选择申请课程批准管理员局部E-R图:系别系别号系别名专业别专业号专业名学生*年龄*年级班级系别专业教师教师号*性别系别课程课程号课程名学分状态(教师申请用)学时已选人数限选人数课程号成绩选课结

7、果*授课课程号教师号管理ID用户名密码各表关系局部E-R图3. 逻辑构造设计关系模式:系别:系别号,系别名专业:专业号,专业名学生:*,,年龄,性别,年级,班级,系别名,专业名教师:教师号,性别,系别号课程:课程号,课程名,学分,学时,状态,已选人数,限选人数选课结果:*,课程号,成绩授课:课程号,教师号管理员:ID,用户名,密码共需8个数据表:系别表、专业表、学生表、教师表、课程表、选课结果表,授课表,管理员表。各表关系分析:1) 过程分析:选课系统面向3个用户群体:学生,教师与管理员。首先,学生根据自己的*(主键)与登陆选课系统,进入可以选课,查询自己的信息(专业,所在系部等。)查询选课信

8、息并可以退选。教师根据自己的教师号与进展登陆,可根据自己的知识情况申请开设课程,并设计学时学分与人数等,有课教师学期末可以给学生成绩。管理员拥有最高权限,可以查看,更改所有教师学生信息,并通过调查审核批准教师的开课与否。2) 关系分析:系别/专业表存储的是学生信息。学生表存储学生信息,主键*。教师表存储教师信息,课程表存储选课的信息,包括开课状态,是否已选满check约束等,选课结果包括学生的*与课程号(当学生选课后为自动触发填充型),授课表根据教师申请状态自动填充。管理员表拥有最高权限,可更改,批准所有信息。各表字段说明:系别表Depart字段数据类型长度允许空值备注Depno Char 2

9、0 否主键Depnamevarchar50否系别名专业表Profess字段数据类型长度允许空值备注ProIDchar20否主键 专业号ProNamevarchar50否专业名称学生表Students字段数据类型长度允许空值备注Snochar20否* 主键Snamevarchar50否学生Sagechar20否学生年龄Sse*Char20否性别Sgradevarchar20否年级SclassVarchar20否班级DepnOchar20否学生系别ProIDchar20否学生专业教师表Teachers字段数据类型长度允许空值备注Tnochar20否教师号 主键Tnamevarchar50否教师Ts

10、e*Char20否教师性别Depno char20否教师所在系课程表Course字段数据类型长度允许空值备注ochar20否课程号amevarchar50否课程名Creditfloat否学分Ctimeint否学时Stateint否开课状态Cstunochar20否已选人数Ccstuchar20否限选人数选课结果表Result字段数据类型长度允许空值备注Snochar20否*ochar20否课程号Scorechar20否分数授课表class字段数据类型长度允许空值备注ochar20否课程号Tnochar20否教师号管理员表:admin字段数据类型长度允许空值备注IDInt否主键 编号NameCh

11、ar20否用户名Passwordchar20否密码4.代码编写与物理设计 登陆,建库,做好备份.(代码略) 数据完整性各表中主键均不能为空且取值唯一,以选课表为例,列出各表及字段说明。 Course表设计 各表间的外键关系及约束.局部代码:create table Teachers(Tno char(5) primary key not null, Tname char(10) not null,Tse* char(2) not null ,Depno char(20) foreign key references Depart(Depno) NOT NULL )由于代码较多其它略.Stude

12、nts与resultDepart与teachersCourse与result其他略!约束局部代码:(Course表,其它略)Cstuno char(20) not null check(Cstuno=0) default 0,Ccstu char(20) not null check(Ccstu=0 and Ccstu=120) default 50 Result表约束 触发器设计: 存储过程create procedure sp_add(Sno char(20),o char(5), Score float)asif not e*ists(select * from Students whe

13、re Sno=Sno)/*检验*/beginprint 该*不存在!return -1endif not e*ists(select * from Course where o=o)/*检验课程号*/beginprint 该课程号不存在!return -1endif not e*ists(select * from Result where (o=o and Sno=Sno)/*检验课程号*/beginprint 该课程号已经选过一次!return -1endbegininsert Result values (Sno,o,Score) update Course set Cstuno=Cst

14、uno+1 where o=oend 选课存储过程退课:/*退课存储过程*/create procedure sp_delete(Sno char(20),o char(5) )asif not e*ists(select * from Students where Sno=Sno)/*检验*/beginprint 该*不存在!return -1endif not e*ists(select * from Course where o=o)/*检验课程号*/beginprint 该课程号不存在!return -1endif not e*ists(select * from Result where (Sno=Sno and o=o) /*检验是否已经选课*/beginprint 您还未选该课!return -1endbegindelete from Result where (Sno=Sno and o=o ) update Course set Cstuno=Cstuno-1 where o=oend五、总结通过本次课程设计,我对SQL Server2000有了更深的了解,数据库和表是SQL Server 2000用于组织和管理数据的根本对象,用户使用SQL Server 2000设计和实现查询信息

温馨提示

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

评论

0/150

提交评论