数据库课程设计.docx
- 文档编号:24561854
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:14
- 大小:138.33KB
数据库课程设计.docx
《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
数据库课程设计
数据库课程
设计说明书
设计题目:
学生选课管理系统
姓名:
刘亚萍
学号:
20101130126
班级:
10软件
指导教师:
苏秀芝
完成日期:
2010-07-02
目录
一.概述…………………………………………………………………2
二.需求分析……………………………………………………………2
三.概念结构设计………………………………………………………3
四.逻辑结构设计………………………………………………………4
五.数理结构设计………………………………………………………6
六.结论…………………………………………………………………11
数据库课程设计
一、概述
随着在校学生人数的不断增加,教务系统的数据量也在不断的上涨。
以往的选课方法是随课堂报名,这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性,往往也会造成数据的遗失。
所以针对这一现象,也伴随着科学技术的进步和计算机科学的日趋成熟,使用数据库对学生信息进行处理和保存管理,利用SQLserver2000的知识建立相应的表,学生可以查询教室发布的消息,对学生自己选择阅览的信息通过数据库存储,通过查询进行进一步的确定课程是否冲突,课程上课地点、上课时间,任课老师,通过查询老师建立的以确定的教员表,进行相应的调整,达到快速规范的目的。
二、需求分析
2.1系统的详细需求分析
在高等学校的服务管理中,课程表的编排是一项复杂、棘手的工作。
在编排过程中,吃了满足大量的制约条件外,还必须解决许多冲突与矛盾,例如:
两位教师不能同时在同一个时间在同一个班级上课、一位老师不能在同一个时间上两门课等等。
利用计算机辅助进行课程表的编排工作。
既提高了排课工作的科学性,又大大减轻了管理人员的工作强度,提高工作效率。
现在很多学校实行学分制,像滨海学院,它的核心是允许学生自由选课,即把学习的自主权交给学生。
运用计算机的数据库可以实时对大量选课数据进行检验和统计,十分方便的输出选课结果,同时避免了人工的处理过程中容易产生的错误。
2.2可行性分析
a.技术可行性:
本程序对程序和机器没有太高的要求,一般当前学校和个人电脑完全可以满足要求,在进行运作过程中,只需要开启数据库,利用SQLserver2000完成表格的建立和一般操作。
b.经济可行性:
由于系统是学生选课系统管理使用操作的系统,装上该用的软件,即可使用系统,系统成本主要集中在系统软件开发上,当系统投入运行后可以为学校节约大量的人力、物力,在经济上完全可行。
c.操作可行性:
操作简单数据录入迅速、规范、可靠,统计准确,制表灵活,适应性强。
2.3数据库分析
a.数据分析
学生信息:
姓名、学号、性别、年龄、出生日期、籍贯、班级、院系等;
课程信息:
课程名称、课程号、任课教师;
选课信息:
学号、课程号、成绩等;
b.功能分析
(1)保存学生的相关信息,便于更好的输入与查找学生的相关信息
(2)保存相关任课老师的信息,便于学生了解与查询。
(3)实现学生的选课任务并输入系统。
c.数据库类型分析
确定实体类型和实体之间的联系,注意各个属性的使用图形,每个实体类型都有很多属性,要提取对本系统有用的属性,注意要根据系统本身的特点选择一些特殊的属性,实体之间的联系主要应该注意实体之间的类型是“一对一”、“一对多”还是“多对多”的关系,通过其要求完成各个实体之间的链接。
三、概念结构设计
3.1数据库概况流程图
3.2E-R图
四、逻辑结构设计
数据库设计表
文件名称
文件类型
初始大小
文件增量
最大值
Lyp-db.mdf
数据
1MB
10%
5MB
Lyp-db.log-ldf
日志
1MB
10%
3MB
学生信息表
学号
姓名
性别
年龄
出生日期
籍贯
班级
院系
201001
王英
女
19
1991-1-1
汉
机电
机电工程学院
201002
刘丽
女
20
1990-11-1
汉
数控
机电工程学院
201003
苏鹏
男
19
1991-11-2
汉
电气
机电工程学院
201004
杨晓鹏
男
21
1989-4-1
汉
英语
东方语言学院
201005
邵然
女
21
1989-8-9
汉
图文
信息工程学院
201006
李策
男
19
1991-6-1
汉
软件
信息工程学院
201007
于红
女
18
1992-11-4
汉
俄语
西方语言学院
201008
张志
男
22
1988-3-1
汉
日语
东方语言学院
课程信息表
课程名称
课程号
任课老师
运筹学
1001
王宏
数据库
1002
孙明
高数
1003
刘天宝
英语
1004
李成
数据结构
1005
李正芳
java
1006
刘发久
选课信息表
学号
课程号
成绩
201001
1001
88
201003
1003
78
201002
1001
98
201004
1002
58
201007
1004
85
201005
1006
65
201006
1004
90
201007
1005
67
201008
1004
55
关系图
五、物理结构设计
5.1数据库的建立
--创建lyp数据库
createdatabaselyp
go
--使用数据库
uselyp
go
--创建学生信息表
createtable学生信息(
姓名varchar(20),
学号intprimarykeyidentity(201001,1),
性别varchar
(2)default'男',
年龄int,
出生日期datetime,
籍贯char(100),
班级char(20),
院系char(20),
)
Go
--创建课程信息表
createtable课程信息(
课程名称varchar(20),
课程号varchar(20)primarykey,
任课教师varchar(20),
)
Go
创建选课信息表
createtable选课信息(
学号intforeignkeyreferences学生信息(学号),
课程号varchar(20)foreignkeyreferences课程信息(课程号),
成绩float,
)
Go
5.2数据库信息插入
--学生信息
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('王英','女','19','19910101','汉','机电','机电工程学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('刘丽','女','20','19901101','汉','数控','机电工程学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('苏鹏','男','19','19911102','汉','电气','机电工程学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('杨晓鹏','男','21','19890401','汉','英语','东方语言学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('邵然','女','21','19890809','汉','图文','信息工程学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('李策','男','19','19910601','汉','软件','信息工程学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('于红','女','18','19921104','汉','俄语','西方语言学院')
insertinto学生信息(姓名,性别,年龄,出生日期,籍贯,班级,院系)values('张志','男','22','19880301','汉','日语','东方语言学院')
select*from学生信息
--课程信息
insertinto课程信息(课程名称,课程号,任课教师)values('运筹学','1001','王宏')
insertinto课程信息(课程名称,课程号,任课教师)values('数据库','1002','孙明')
insertinto课程信息(课程名称,课程号,任课教师)values('高数','1003','刘天宝')
insertinto课程信息(课程名称,课程号,任课教师)values('英语','1004','李成')
insertinto课程信息(课程名称,课程号,任课教师)values('数据结构','1005','李正芳')
insertinto课程信息(课程名称,课程号,任课教师)values('java','1006','刘发久')
select*from课程信息
--选课信息
insertinto选课信息(学号,课程号,成绩)values('201001','1001','88')
insertinto选课信息(学号,课程号,成绩)values('201003','1003','78')
insertinto选课信息(学号,课程号,成绩)values('201002','1001','98')
insertinto选课信息(学号,课程号,成绩)values('201004','1002','58')
insertinto选课信息(学号,课程号,成绩)values('201007','1004','85')
insertinto选课信息(学号,课程号,成绩)values('201005','1006','65')
insertinto选课信息(学号,课程号,成绩)values('201006','1004','90')
insertinto选课信息(学号,课程号,成绩)values('201007','1005','67')
insertinto选课信息(学号,课程号,成绩)values('201008','1004','55')
select*from选课信息
5.3查询表结果
select*from学生信息
select*from课程信息
select*from选课信息
5.4相关数据库查询SQL语句
(1)检索刘老师所教授课程的课程号和课程名:
select课程号,课程名称from课程信息where任课老师like'[刘_]%'
(2)检索选修课程“运筹学”的教员的学号:
select选课信息.学号from选课信息
innerjoin课程信息on选课信息.课程号=课程信息.课程号
where课程信息.课程名称='运筹学'
(3)查询学号是201002的学生的课程名称、姓名、成绩:
select学生信息.姓名,课程信息.课程名称,选课信息.成绩from学生信息
innerjoin选课信息on学生信息.学号=选课信息.学号innerjoin课程信息on
课程信息.课程号=选课信息.课程号
where学生信息.学号='201002'
(4)建立一个触发器,防止用户在删除学生信息表中的数据时,由于没有加限制条件而导致删除全部数据的情况发生:
createtrigger学生信息触发器
on学生信息fordelete
as
declare@aint
select@a=count(*)fromdeleted
if@a>1
beginprint'错误!
你的操作将会删除所有数据!
'
rollbacktransaction
end
go
(5)在学生信息表上建立“学号”的唯一聚簇索引名为“学号_index”的索引:
createuniqueclusteredindex学号_indexon学生信息(学号)
(6)在学生数据库中,创建一个名称为t_proc的不带参数的存储过程,该存储过程功能是输入学号可以从选课信息表中查询学生的成绩:
createproceduret_proc
as
declare@cchar
select成绩from选课信息where学号='201002'
exect_proc
(7)利用基表“学生信息”创建视图,视图名为studentview,要求的列名为:
学号、姓名
createviewstudentview
as
select学号,姓名from学生信息
go
select*fromstudentview
六、结论
通过这次的动手对学生选课系统的设计,让我对SQLserver2000使用更加熟悉了,同时也加深了我对课本上数据库知识的理解,此次试验,我完成了从概念设计到逻辑设计,也就是完成了E-R图的设计并完成了向关系模型的转换,完成了数据库的建立、表的建立、建立触发器、试图的创建、创建不带索引的存储过程,还完成了关系图。
一个数据库的创建首先要对需求进行全面的分析,找出数据库中的所需的实体和实体间的关系,经过自己的努力与学习之后终于选课系统的设计完成了,它在工作学习中发挥着很大的作用,提高了很大的效率,我同时觉得平时一定要好好听讲,一定要认真完成老师要我们独立完成的作业,他会让我们加深印象,让我们对知识更好的进行下一步的巩固,对我们有很大的帮助我今后生活中我会更加的努力,学习相关知识。
信息工程学院
《数据库及编程基础(SQL)》实践环节考核报告单
2010-2011学年度第二学期期末
排课编号:
(2010-2011-2)-0501450-00762-1批阅日期:
年月日
姓名
班级
学号
评分标准及
得分
评分标准
满分
得分
概述:
概况清晰,目标明确。
5
需求分析明确。
功能、性能需求满足需要。
10
数据流图或数据字典等描述准确。
10
概念结构设计方法正确。
5
E-R或UML描述正确。
10
逻辑结构设计方法正确。
5
表格设计合理、描述准确。
10
能用SQLServer2000创建符合要求的数据库。
10
完整性及安全性控制合理。
5
能实现一定的查询要求。
10
存储过程及触发器应用正确。
10
有创新点,能对所做的主要工作进行正确评价和总结。
5
文本格式正确,符合行文格式要求。
5
合计
100
考核成绩
任课教师签名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计