SQL作业.docx
- 文档编号:13134696
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:12
- 大小:99.69KB
SQL作业.docx
《SQL作业.docx》由会员分享,可在线阅读,更多相关《SQL作业.docx(12页珍藏版)》请在冰点文库上搜索。
SQL作业
一、系统概述
由于地理信息系统(GIS)在城市规划中的广泛应用,许多地区都开展了城市规划信息系统相关项目的建设,GIS在这个领域应用的一个最重要的基础是数据库技术。
《城市规划数据库技术》课程的学习,其主要的目标是能利用课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决城市规划过程中的信息化处理的要求。
随着社会的进步,尤其是计算机技术与网络的发展,人们对于数据传输,远程控制的实时性要求越来越高,这就使得计算机技术的发展越来越面向网络。
现代学校管理无疑成为网络应用的典型代表,学生在校期间需要进行大量课程的学习,除学校安排的基本课程之外,还要进行部分选修课的学习。
为了达到选课的方便、快捷,高等学校都提供网上选课平台供学生使用。
本次课程设计选做学生选课系统就是建立在面向网络的基础之上,运用SQLServer2005数据库。
所开发出的系统能够方面学生选课系统,具有较强的实时性,在面向网络的基础上可以方便在外用户进行各种操作。
本次设计主要包括以下几个步骤1、需求分析;2、概念结构设计(E—R图);3、逻辑结构设计(E—R图转换为关系模型);4、程序代码(SQL语言)。
二、需求分析
随着科学技术的不断发展,中国教育信息化时代的来临,我校对于内部信息的管理已经采用IT新潮的应用和管理系统技术来进行。
为了紧随信息化时代的脚步,不被时代所淘汰,学生的信息管理也应当由传统的手工管理模式进化为软件与数据库结合应用的管理模式,从而加强学生信息的管理能力,让我校整体管理水平得到较大的提升。
主要需求:
1、学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
2、教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
3、管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
主要功能:
1、学生管理:
学生信息查询、插入、删除、修改等;
2.、课程管理:
课程信息查询、插入、删除、修改等;
3.、选课管理:
选课信息查询、插入、删除、修改等。
三、概念结构设计
1、学生E-R图
2、课程E-R图
3、教师E-R图
4、成绩E-R图
5、学生选课系统概念模型E-R图
四、逻辑结构设计
该系统所涉及的主要实体集有:
学生实体集:
主要有属性学号、姓名、班级。
教师实体集:
主要有属性教师号、姓名、班级。
管理员实体集:
主要有有属性账号、密码。
一个学生可以选修多门课程,一个教师可以开设多门课程。
所以学生和教师之间是M:
N的联系。
一个管理员可以管理多个学生信息。
所以管理员和学生之间是1:
N的联系。
多个管理员可以管理多个教师信息。
所以管理员和教师之间是M:
N的联系。
将E-R模型转换为关系模型
1、学生实体集可转换为关系:
Student(SNo,SPass,SName,SClass)
SNo表示学号,SPass表示密码,SName表示学生姓名,SClass表示学生所在班级。
2、教师实体集可转换为关系:
Teacher(TNo,TPass,TName,TCollege)
TNo表示教师号,TPass表示密码,TName表示教师姓名,TCollege表示教师所在院系。
3、管理员实体集可转换为关系:
AUser(UName,UPass)
UName表示管理员号,UPass表示密码。
4、教师与课程之间可转换为关系:
Course(CName,CTNo,CInfo)
CName表示课程名称,CTNo表示授课教师教师号,CInfo表示课程相关信息。
5、学生和课程之间可转换为关系:
Elect(SNo,CName)
SNo表示学生学号,CName表示说选课程名称。
数据库结构设计
把关系模型转化为表结构:
学生信息表(Student):
包含学生信息,定义如下:
表1学生信息表
域名
含义
数据类型
例子
备注
SNo
学号
Char(12)
2010391132
主键
SPass
密码
Char(12)
666666
SName
姓名
Char(8)
黄丹
SClass
班级
Char(20)
10城乡规划班
教师信息表(Teacher):
包含教师信息,定义如下:
表2教师信息表
域名
含义
数据类型
例子
备注
TNo
教师号
Char(12)
12345678
主键
TPass
密码
Char(12)
111111
TName
姓名
Char(8)
高媛
TCollege
院系
Char(20)
土木工程学院
管理员信息表(AUser):
包含管理员信息,定义如下:
表3管理员信息表
域名
含义
数据类型
例子
备注
UName
账号
Char(12)
Admin
主键
UPass
密码
Char(12)
123456
课程信息表(Course):
包含课程信息,定义如下:
表4课程信息表
域名
含义
数据类型
例子
备注
CName
课程名称
Char(20)
城市规划原理
主键
CTNo
教师号
Char(12)
2071301217
CInfo
课程信息
Char(500)
城市规划介绍
允许空
选课信息表(Elect):
包含选课信息,定义如下:
表3-5选课信息表
域名
含义
数据类型
例子
备注
SNo
学号
Char(12)
1071301217
外键
CName
课程名称
Char(20)
城市规划原理
外键
实现数据完整性
通过各种约束,缺省,规则和触发器实现数据的完整性。
学生选课信息的重要性,和各个数据之间的相关性,保证数据的完整性就更为重要。
(1)各种外键约束保证数据的完整性,不能随意删除。
外键的设置在上面数据库建表时已经提到。
(2)主键约束保证实体的完整性,主键的设置在上面数据库建表时也已经设置。
五、程序代码(SQL语言)
设计过程可按如下步骤进行:
根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入数据进行程序调试。
1、数据库的实现
(1)创建数据库Student
createdatabaseStudent
on
(
name='学生选课管理库',
filename='E:
\db\学生选课管理库.mdf',
size=5,
maxsize=15,
filegrowth=2
)
2、视图的实现
(1)创建查询可供选择课程的视图
createviewcinfo
as
selectame,course.ccredit,class.address,course.ctime,course.cbegintime,course.cendtime,class.number,o,class.csname,class.csno
fromcourse,tc,class,cc
whereo=oando=oandclass.csno=cc.csno
(2)创建教师信息视图
createviewtinfo
as
selectteacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,ame
fromteacher,course,tc
whereteacher.tno=tc.tnoando=o;
(3)创建教师教师授课视图
createviewtcinfo
selectteacher.tno,teacher.tname,o,ame
fromteacher,course,tc
whereteacher.tno=tc.tnoando=o
(4)学生的选课信息视图
createviewscinfo
as
selectstudent.sname,ame,course.ccredit,course.ctime,course.cbegintime,course.cendtime,student.sno
fromstudent,course,sc
wherestudent.sno=sc.snoando=o
(5)教师任教情况
createviewctinfo
as
selectteacher.tno,teacher.tname,class.csno,class.csname
fromclass,teacher,ct
whereclass.csno=ct.csnoandct.tno=teacher.tno
(6)教师课程班级之间关系的视图
createviewtcs
as
selecto,tc.tno,cc.csnofromcc,tcwhereo=o
(7)学生课程班级之间的关系的视图
createviewscc
as
selectscs.sno,scs.csno,ofromscs,ccwherescs.csno=cc.csno
select*fromsc
(8)学生的已选课程的成绩
createviewscgrade
as
selectscc.csno,class.csname,scc.sno,student.sname,o,ame,student.sclass,sc.grade
fromscc,course,class,student,sc
whereo=oandscc.csno=class.csnoandscc.sno=student.snoandscc.sno=sc.snoando=o
(9)创建查询可供选择课程的视图
createviewcinfo
as
selectcourse.Cname,course.Ccredit,class.address,course.CTime,course.Cbegintime,course.Cendtime,class.number,course.Cno,class.CSname,class.CSno,teacher.Tname
fromtcs,teacher,class,course
wheretcs.tno=teacher.tnoandclass.csno=tcs.csnoando=o
(10)创建查询已选可供选择的课程的视图
createviewscinfo
asselectstudent.sno,student.sname,ame,course.ccredit,course.ctime,
course.cbegintime,course.cendtime,o,sc.grade
fromsc,student,course
wheresc.sno=student.snoando=o
总结
在本次的数据结构课程设计中,我完成了学生选课系统的课程设计。
通过本次数据库课程设计,达到了理论与实践的相结合,加深了对数据库理论知识理解,也进一步掌握了选用的开发语言及开发平台。
通过本次数据库课程设计,我学到了很多书本上学不到的知识以及上课接触不到的东西,也更加认识到网络对工作学习的重要性。
此次课程设计积累的经验对以后走向工作岗位有很大的帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 作业