1、学生信息管理系统数据库实验 副本某某大学数据库原理及应用课程设计报告学习管理系统学号: 姓名: 班级: 专业:日期:一、需求分析随着社会的发展,学生数生的数量越来越多,老师的数量也在不断的增加,教室的数量也在增加,管理老师,学生以及课程,教室越来越麻烦。因此,我设计学习管理系统来提高学生管理方面的通过这个系统可以使信息的管理更加规范,统计更科学。模块功能分析:(1)学生表:用来管理学生的基本信息;(2)老师表:用来管理老师的基本信息;(3)教室表:用来安排教室,以及教室是否为空,来为以后安排做铺垫;(4)课程表:用来管理各门课程的基本信息,以及与老师之间的关系;(5)选课表:用来管理各门课程与
2、老师,以及学生成绩之间的关系。可以更容易的查询的到学生的最终成绩。二、概念结构设计经分析,本系统的E-R图各实体间关系的e-r图如下:学生表之间的关系:老师表之间的关系:课程表之间的关系:选课表之间的关系:教室表之间的关系:各个表之间的关系:列名数据类型长度是否允空备注学号char9否主关键字姓名char20是性别char2是年龄Smallint是专业Char20是三、逻辑结构设计 1、基本表1 学生表2 老师表列名数据类型长度是否允许空备注教工号char9否主关键字姓名char8是性别char2是年龄smallint是学历varChar10是毕业院校Char40是3 选课表列名数据类型长度是
3、否允许空备注学号char9否主关键字课程号char 4否主关键字学工号char9是成绩smallint是4 教室表列名数据类型长度是否允许空备注教室号char4否主关键字容纳量Smallint是是否空闲char2是课程表列名数据类型长度是否允许空备注课程号char4否主关键字课程名称char20是学分smallint2是教室号smallint4是2、学生管理基本数据学生表数据:学生表学号姓名性别年龄专业113060101刘一女20信管113060102王二男19旅管113060103程飒男20会计113060104何似女21市场营销113060105李五男20信管老师表数据:老师表学号姓名性别
4、年龄学历毕业院校013061101莉莉女40研究生东华大学013061102周一女43博士郑州大学013061103张三男35研究生东华理工大学013061104赵啊男31研究生南昌大学013061105王六男46硕士清华大学选课表数据:选课表学号课程号教工号成绩113060101010130611019011306010102013061103801130601020101306110155113060103010130611017511306010501013061101100课程表数据:课程表课程号课程名称学分教室号01数据库4110102数学5210103数据结构4110204c语言3
5、210205vb,42103教室表数据:教室号教室号容纳量是否空闲110180是1102100是2101200是2102200是3、创建数据库和表create database 学生选课管理信息系统create table 学生表(学号 char (9) primary key, 姓名 char (20) , 性别 char (2) , 年龄 smallint, 专业 char (20);create table 老师表 (教工号 char (9) primary key, 姓名 char(20)unique, 性别 char(2), 年龄 smallint, 学历 varchar(10),
6、毕业院校 char (40); create table 教室表 (教室号 char (4) primary key, 容纳量 smallint, 空闲 char(2); create table 课程表 ( 课程号 char (4)primary key , 课程名称 varchar (40), 学分 smallint , 教室号 char(4) foreign key (教室号) references 教室表(教室号) create table 选课表( 学号 char (9), 课程号 char (4), 教工号 char(9), 成绩 int, primary key (学号,课程号)
7、, foreign key (学号) references 学生表(学号), foreign key (课程号) references 课程表(课程号), foreign key (教工号) references 老师表(教工号)插入数据:insert into 学生表 values (113060101,刘一,女,20,信管)insert into 学生表 values (113060102,王二,男,19,旅管)insert into 学生表 values (113060103,程飒,男,20,会计)insert into 学生表 values (113060104,何似,女,21,市场营
8、销)insert into 学生表 values (113060105,李五,男,20,信管)insert into 老师表 values (013061101,莉莉,女,40,研究生,东华大学)insert into 老师表 values (013061102,周一,女,43,博士,郑州大学)insert into 老师表 values (013061103,张三,男,35,研究生,东华理工大学)insert into 老师表 values (013061104,赵啊,男,31,研究生,南昌大学)insert into 老师表 values (013061105,王六,男,46,硕士,清华大
9、学)insert into 教室表 values (1101,80,是)insert into 教室表 values (1102,100,是)insert into 教室表 values (2101,200,是)insert into 教室表 values (2102,200,是)insert into 教室表 values (2103,120,是)insert into 课程表values (01,数据库,4,1101)insert into 课程表values (02,数学,5,2101)insert into 课程表values (03,数据结构,4,1102)insert into 课
10、程表values (04,c语言,3,2102)insert into 课程表values (05,vb,4,2103)insert into 选课表values (113060101,01,013061101,90 )insert into 选课表values (113060101,02, 013061103,80)insert into 选课表values (113060102,01,013061101,55 )insert into 选课表values (113060103,01,013061101,75 )insert into 选课表values (113060101,03,0130
11、61104,90 )insert into 选课表values (113060105,01,013061101,100)创建索引create unique index 学号 on 学生表(学号);create unique index 教工号 on 老师表(教工号);create unique index 教室号 on 教室表(教室号);create unique index 课程号 on 课程表(课程号);create unique index 学号 on 选课表(学号,课程号);drop index 学生表.学号 创建视图create view 学生表视图as select 学号,姓名,年
12、龄from 学生表create view 老师表视图as select 教工号,姓名,年龄,学历from 老师表create view 教室表视图as select 教室号,容纳量from 教室表create view 课程表视图as select 课程号,课程名称,学分from 课程表 create view 选课表视图as select 学号,课程号,成绩from 选课表存储过程create procedure 学生信息 as select 学号,姓名,年龄 from 学生表 where 性别=女;create procedure 老师信息 as select 教工号,姓名,年龄,学历,毕
13、业院校 from 老师表 where 年龄 between 40 and 60创建触发器create trigger 学生信息情况 on 学生表 after insert as select * from 学生表 select * from inserted go insert into 学生表(学号,姓名) values(113060106,刘饿) 查询 select 姓名,学号,年龄,专业 from 学生表更新update 学生表set 年龄=20where 姓名 =刘饿 删除delete from 学生表where 学号=113060106select 学号,课程号,成绩from 选课表
14、order by 成绩 desc五、系统设计小结通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。以前不懂为何要创建触发器、视图等,现在终于知道它们的优点了。根据自己数据库的特点,我自己一步一步做成了实验,得到了成功,心情很高兴。在自己没做数据库课程设计以前,总是觉得自己什么都不懂什么都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。我相信以后通过自己自学其它课程,我一定会做出一个更好的数据库。六、参考资料1李红主编。数据库原理与应用。北京:高等教育出版社,2003。 2黄志球、李清等编著。数据库应用技术基础。北京:机械工业出版社,2003。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1