“课程管理系统”数据库设计与实现_第1页
“课程管理系统”数据库设计与实现_第2页
“课程管理系统”数据库设计与实现_第3页
“课程管理系统”数据库设计与实现_第4页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、精品大学课程设计报告课程设计题目:“课程管理系统”数据库设计与实现学院:专业班级:年级:姓名:学号:完成时间:年月日成绩:指导教师:感谢下载载精品目录第 1 章课程管理系统功能需求分析第 2 章课程管理系统概念结构设计2.1设计 E-R 图2.2E-R 模型向关系模型的转换第 3 章创建视图和索引,授予用户权限3.1创建视图3.2创建索引3.3授予权限感谢下载载精品正文一、需求分析1.近年来,随着各大高校的规模不断扩大,生源的急剧增加,有关学生的各种信息量也成倍增长。 面对庞大的信息量, 需要建立一个课程管理系统来提高管理质量, 让老师减轻工作量, 提高工作效率。 建立课程管理系统就是为了实现

2、信息的规范管理、 科学统计和快速查询, 从而减少管理方面的工作量。课程管理系统主要提供教师、 学生的学籍管理、 成绩管理和课程管理功能。2.需求功能分析:教师和学生的登录学生学籍的添加、修改、删除、查询课程管理的添加、修改、删除、查询教师授课的安排3.用户需求分析用户的需求具体体现在各种信息的提供、保存、更新、查询方面,这就要求数据库机构能充分满足各种信息的输入和输出。收集基本数据、 数据结构以及数据处理流程, 组成一份详尽的数据字典, 为后面的具体设计打下基础。针对课程管理系统的需求,通过对课程管理系统的设计和数据流程的分析,设计如下所示的数据项和数据存储表:感谢下载载精品登录信息:包括用户

3、号、密码、权限学籍信息:包括用户号、姓名、性别、出生日期、班级、入学日期、家庭住址、电话课程信息:包括课程号、课程名、类型、教师名4.统的总体结构设计该系统共有三个模块:登陆模块、学籍管理模块、课程信息模块。这几个模块同时还包括数据添加、 数据修改、数据删除、数据查询等几个基本操作。(1 )登录模块 在登录界面中教师和学生可登录。在登录界面中分别填入用户名、密码和身份, 然后按确认键登录。 如果填入信息有误则弹出错误信息的提示窗口, 重新返回登陆窗口。 如果填入信息正确则要根据登录信息表中登录者的权限 (“0”或“1”)分别进入教师 (“1”)或学生(“0 ”)管理系统主界面。(2 )学籍管理

4、模块 该模块主要完成学生基本信息的添加、修改、删除、查询等功能。根据登录时权限的判断,权限为“ 0 ”时,是学生进入该模块,只可对自己的学籍进行查询,添加、修改、删除功能不可用;权限为 “1 ”时,教师进入该模块,此时可进行所有学生学籍的查询、添加、修改、删除,在此模块中定义了 8 个数据来进行学生的信息存储,如果修改某个记录,可单击修改按钮进行数据的编辑, 此时界面数据内容和数据库内容将同时更新。(4 )课程管理模块 该模块主要完成存储课程的所有信息的添加、修改、删除、查询等功能。根据登录时权限的判断,权限为“ 0 ”时,学生进入感谢下载载精品该模块,只可进行课程查询,添加、修改、删除功能不

5、可用;权限为“1 ”时,教师进入该模块,可进行查询、添加、修改、删除,在此模块中定义了 6 个数据来进行课程的信息存储,如果修改某一纪录,可单击修改单按钮进行课程记数据的编辑,此时界面数据内容和数据库内容将同时更新。2、概念设计数据字典1数据项名数据类型长度注明学生学号字符型106 位十进制数学生姓名字符型8年龄字符型16籍贯字符型8学生出生地感谢下载载精品入学时间日期型以 A,B,C,D 开头,教室编号字符型10后接 4 位十进制数教室所属校区字符型10A,B,C,D教学楼字符型8管理员代码字符型206 位十进制数管理员姓名字符型8管理员电话字符型20课程代码字符型84 位十进制数学院代码字

6、符型102 位十进制数课程名字符型8课程人数数值型课程所属校区字符型10A,B,C,D班级代码字符型104 位十进制数专业代码字符型102 位十进制数班级名字符型8班级学生数数值型学院代码字符型102 位十进制数专业名字符型8学院名字符型10感谢下载载精品学院人数字符型10教工号字符型106 位十进制数教师姓名字符型8教师电话字符型20教师邮箱字符型30课程管理系统数据库中的E-R 图3 、逻辑设计将上面的 E-R 图转化为如下关系模型,下划横线代表关系的主键:学生(学号,姓名,年龄,籍贯,入学时间,专业代码,班级代码,学院代码)班级(班级代码,专业代码,班级名,学生数)感谢下载载精品专业(专

7、业代码,学院代码。专业名称)学院(学院代码,学院名,学员人数)教师(教工号,教师姓名,教师电话,教师邮箱)从属(加工号,学院代码)课程(课程代码,学院代码,课程名,人数,学分)管理员(管理员代码,管理员姓名,管理员电话,管理员邮箱)教室(教室编号,所属校区,教学楼)安排(课程代码,教工号,教室编号,管理员代码,上课时间)分配(学号,教室编号)选择(学号,课程代码)二、转化后的关系模型如图:感谢下载载精品三、数据库实现1 、数据库视图的创建1 )创建一个学号为20105263的学生的查询视图;Createview学生信息(学生学号 ,所选课程名称,所在班级代号,老师姓名,上课教室)asselec

8、t 学生学号 ,课程名,班级代码,教师姓名,教室编号from学生 ,课程,班级,教师,教室where 学生 .班级代码 = 班级 .班级代码 and学生 .学院代码 = 学院 . 学院代感谢下载载精品码2 )创建一个教工号为5132 的教师的查询视图;Create view教师信息(所教课程名称,所教班级代号,所属学院,上课教室)asselect课程名,班级代码,学院,教室编号from课程,班级,学院,教室,教师where教师 .教工号 = 5132 ;3 )创建一个管理员的查询视图Create view管理员视图(课程名称,老师姓名,学生姓名,教室编号)asselect课程名,教师姓名,学生

9、姓名,教室编号from课程,教师,学生,教室;2 、索引的创建我们可以在视图学生信息中的”学号列”上创建一个索引Created index stu_index on学生信息 (学号 )。3 、权限管理,安全性设计感谢下载载精品授予权限1.给学生一个可以查看课程安排的权限Grant select on安排 to 学生2.给教师一个可以查看学生选择课程情况的权限Grant select on选择 to 教师3.给教师一个可以查看课程安排的权限Grant update on安排 to教师4.给学生一个可以查看自己的选课的权限Grant select on选择 to 学生4.给管理员一个可以查看课程安

10、排的权限Grant select on安排 to管理员6.给管理员一个删除教师和学生所选课程的权限Grant update on课程 to管理员代码附录if exists(select 1 from sys.sysforeignkey where role='FK_分配 _分配 _学生 ') thenalter table分配delete foreign key FK_分配 _分配 _学生end if;感谢下载载精品if exists(select 1 from sys.sysforeignkey where role='FK_学生 _属于 _班级 ') the

11、nalter table学生delete foreign key FK_学生 _属于 _班级end if;if exists(select 1 from sys.sysforeignkey where role='FK_学生 _所在 _专业 ') thenalter table学生delete foreign key FK_学生 _所在 _专业end if;if exists(select 1 from sys.sysforeignkey where role='FK_学生 _所属 _学院 ') thenalter table学生delete foreign k

12、ey FK_学生 _所属 _学院end if;if exists(select 1 from sys.sysforeignkey where role='FK_选择 _选择 _学生 ') thenalter table选择delete foreign key FK_选择 _选择 _学生end if;drop index if exists学生 .所属 _FK;感谢下载载精品drop index if exists学生 .所在 _FK;drop index if exists学生 .属于 _FK;drop index if exists学生 .学生 _PK;drop table

13、if exists学生 ;/*=*/* Table:学生*/*=*/create table学生(学号varchar(10)not null,专业代码varchar(10)not null,班级代码varchar(10)not null,学院代码varchar(10)not null,学生姓名varchar(8)null,年龄varchar(16)null,感谢下载载精品籍贯varchar(8)null,入学时间timestampnull,constraint PK_学生primary key (学号 );/*=*/* Index:学生 _PK*/*=*/create unique index

14、学生 _PK on学生(学号ASC);/*=*/* Index:属于 _FK*/*=*/create index属于 _FK on学生(班级代码ASC);感谢下载载精品/*=*/* Index:所在 _FK*/*=*/create index所在 _FK on学生(专业代码ASC);/*=*/* Index:所属 _FK*/*=*/create index所属 _FK on学生(学院代码ASC);alter table学生add constraint FK_学生 _属于 _班级foreign key (班级代码 )references班级(班级代码 )感谢下载载精品on update rest

15、ricton delete restrict;alter table学生add constraint FK_学生 _所在 _专业foreign key (专业代码 )references专业(专业代码 )on update restricton delete restrict;alter table学生add constraint FK_学生 _所属 _学院foreign key (学院代码 )references学院(学院代码 )on update restricton delete restrict;if exists(select 1 from sys.sysforeignkey whe

16、re role='FK_学生 _属于 _班级 ') thenalter table学生delete foreign key FK_学生 _属于 _班级end if;if exists(select 1 from sys.sysforeignkey where role='FK_班级 _包含 _专业 ') thenalter table班级delete foreign key FK_班级 _包含 _专业感谢下载载精品end if;drop index if exists班级 .包含 _FK;drop index if exists班级 .班级 _PK;drop t

17、able if exists班级 ;/*=*/* Table:班级*/*=*/create table班级(班级代码varchar(10)not null,专业代码varchar(10)not null,班级名varchar(8)null,学生数integernull,班主任char(10)null,constraint PK_班级primary key (班级代码 );感谢下载载精品/*=*/* Index:班级 _PK*/*=*/create unique index班级 _PK on班级(班级代码ASC);/*=*/* Index:包含 _FK*/*=*/create index包含 _

18、FK on班级(专业代码ASC);alter table班级add constraint FK_班级 _包含 _专业foreign key (专业代码 )references专业(专业代码 )感谢下载载精品on update restricton delete restrict; if exists(select 1 from sys.sysforeignkey where role='FK_专业 _含有 _学院 ') thenalter table专业delete foreign key FK_专业 _含有 _学院end if;if exists(select 1 from

19、sys.sysforeignkey where role='FK_学生 _所在 _专业 ') thenalter table学生delete foreign key FK_学生 _所在 _专业end if;if exists(select 1 from sys.sysforeignkey where role='FK_班级 _包含 _专业 ') thenalter table班级delete foreign key FK_班级 _包含 _专业end if;drop index if exists专业 .所属 _FK;drop index if exists专业

20、.专业 _PK;drop table if exists专业 ;感谢下载载精品/*=*/* Table:专业*/*=*/create table专业(专业代码varchar(10)not null,学院代码varchar(10)not null,专业名varchar(8)null,constraint PK_专业primary key (专业代码 );/*=*/* Index:专业 _PK*/*=*/create unique index专业 _PK on专业(专业代码ASC);感谢下载载精品/*=*/* Index:所属 _FK*/*=*/create index所属 _FK on专业(学院

21、代码ASC);alter table专业add constraint FK_专业 _含有 _学院foreign key (学院代码 )references学院(学院代码 )on update restricton delete restrict; if exists(select 1 from sys.sysforeignkey where role='FK_安排 _安排 _课程 ') thenalter table安排delete foreign key FK_安排 _安排 _课程end if;if exists(select 1 from sys.sysforeignkey

22、 where role='FK_课程 _开设 _学院 ') thenalter table课程感谢下载载精品delete foreign key FK_课程 _开设 _学院end if;if exists(select 1 from sys.sysforeignkey where role='FK_选择 _选择 2_课程 ') thenalter table选择delete foreign key FK_选择 _选择 2_课程end if;drop index if exists课程 .开设 _FK;drop index if exists课程 .课程 _PK;

23、drop table if exists课程 ;/*=*/* Table:课程*/*=*/create table课程(课程代码varchar(8)not null,感谢下载载精品学院代码varchar(10)not null,课程名varchar(8)null,人数integernull,所属校区varchar(10)null,constraint PK_课程primary key (课程代码 );/*=*/* Index:课程 _PK*/*=*/create unique index课程 _PK on课程(课程代码ASC);/*=*/* Index:开设 _FK*/*=*/create i

24、ndex开设 _FK on课程(感谢下载载精品学院代码ASC);alter table课程add constraint FK_课程 _开设 _学院foreign key (学院代码 )references学院(学院代码 )on update restricton delete restrict; if exists(select 1 from sys.sysforeignkey where role='FK_专业 _含有 _学院 ') thenalter table专业delete foreign key FK_专业 _含有 _学院end if;if exists(select

25、 1 from sys.sysforeignkey where role='FK_从属 _从属 2_学院 ') thenalter table从属delete foreign key FK_从属 _从属 2_学院end if;if exists(select 1 from sys.sysforeignkey where role='FK_学生 _所属 _学院 ') thenalter table学生delete foreign key FK_学生 _所属 _学院end if;感谢下载载精品if exists(select 1 from sys.sysforeig

26、nkey where role='FK_课程 _开设 _学院 ') thenalter table课程delete foreign key FK_课程 _开设 _学院end if;drop index if exists学院 .学院 _PK;drop table if exists学院 ;/*=*/* Table:学院*/*=*/create table学院(学院代码varchar(10)not null,学院名varchar(8)null,学院人数integernull,constraint PK_学院primary key (学院代码 );感谢下载载精品/*=*/* Ind

27、ex:学院 _PK*/*=*/create unique index学院 _PK on学院(学院代码ASC); if exists(select 1 from sys.sysforeignkey where role='FK_安排 _安排 4_管理员 ') thenalter table安排delete foreign key FK_安排 _安排 4_管理员end if;drop index if exists管理员 .教务处 _PK;drop table if exists管理员 ;/*=*/* Table:管理员*/*=*/感谢下载载精品create table管理员(管理

28、员代码varchar(20)not null,学生姓名varchar(8)null,教师电话varchar(20)null,管理员邮箱char(10)null,constraint PK_管理员primary key (管理员代码 );/*=*/* Index:教务处 _PK*/*=*/create unique index教务处 _PK on管理员(管理员代码ASC); if exists(select 1 from sys.sysforeignkey where role='FK_从属 _从属 _教师 ') thenalter table从属delete foreign k

29、ey FK_从属 _从属 _教师end if;if exists(select 1 from sys.sysforeignkey where role='FK_安排 _安排 2_教师 ') then感谢下载载精品alter table安排delete foreign key FK_安排 _安排 2_教师end if;drop index if exists教师 .教师 _PK;drop table if exists教师 ;/*=*/* Table:教师*/*=*/create table教师(教工号varchar(10)not null,学生姓名varchar(8)null,

30、教师电话varchar(20)null,教师邮箱varchar(30)null,constraint PK_教师primary key (教工号 );感谢下载载精品/*=*/* Index:教师 _PK*/*=*/create unique index教师 _PK on教师(教工号ASC); if exists(select 1 from sys.sysforeignkey where role='FK_分配 _分配 2_教室 ') thenalter table分配delete foreign key FK_分配 _分配 2_教室end if;if exists(select 1 from sys.sysforeignkey where role='FK_安排 _安排 3_教室 ') thenalter table安排delete foreign key FK_安排 _安排

温馨提示

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

评论

0/150

提交评论