东软数据库三级项目.docx
- 文档编号:5606969
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:11
- 大小:83.87KB
东软数据库三级项目.docx
《东软数据库三级项目.docx》由会员分享,可在线阅读,更多相关《东软数据库三级项目.docx(11页珍藏版)》请在冰豆网上搜索。
东软数据库三级项目
学生成绩管理系统
1.需求描述
设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。
要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
具体功能应包括:
系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
2.概念结构设计
3.逻辑结构设计
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:
课程信息表
Class:
(课程号,课程名,教师号,学分,学时)
学生信息表
Student1:
(学号,姓名,性别,年龄,专业,系别)
成绩表
Score:
(学号号,课程名,成绩)
教师表
Teacher1:
(教师号,教师名,教师性别,教师系别)
1、课程信息表(class)
字段名
描述
数据类型
字段限制
cno
课程号
char(10)
Primarykey
cname
课程名
char(10)
Notnull
teano
教师号
char(10)
Notnull
credit
学分
char(4)
Notnull
ctime
学时
char(50)
Notnull
2、学生信息表(student1)
字段名
描述
数据类型
字段权限
sno
学号
char(10)
Primarykey
sname
姓名
char(10)
Notnull
ssex
性别
char
(2)
Notnull
sage
年龄
char
(2)
Notnull
major
专业
char(10)
Notnull
depart
系别
char(10)
Notnull
3.教师表(teacher1)
字段名
属性
数据类型
字段权限
teano
教师号
char(10)
Primarykey
tname
教师名
char(10)
Notnull
Tsex
教师性别
char
(2)
Notnull
Tdepart
教室系别
char(10)
Notnull
4.成绩表
字段名
属性
数据类型
字段权限
sno
学号
char(10)
Primarykey
cno
课程名
char(10)
Notnull
degree
成绩
char(10)
Notnull
4.物理设计
A.创建索引:
(1)在class表的cno列上创建非聚集索引。
CreateindexclassrnameONclass(cno)
(2)在student1表的sno列上创建非聚集索引。
Createuniqueindexstudent1noONStudent1(sno)
(3)在Student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。
Createindexstudent1noONstudent1(snoASC)
B.删除索引:
(1)删除student1表中的student1no索引。
Dropindexstudent1no
5.数据库实施
1、创建数据库
(1)打开SQL工具“查询分析器”
(2)在查询窗口中键入下列SQL语句
createdatabaseScoreSystem
执行上述SQL语句即可新建一名为ScoreSystem的数据库
2、创建数据表
创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
createtableClass(//创建课程信息表
cnochar(10)primarykey,//课程号
cnamechar(10)notnull,//课程名
teanochar(10)Notnull//教师号
creditchar(4),Notnull//学分
ctimechar(50),Notnull//学时
)
执行上述SQL语句即可创建课程信息表相关表格
createtablestudent1(//创建学生信息表
snochar(10)primarykey,//学号
snamechar(10)notnull,//姓名
ssexchar
(2)notnull,//性别
Sagechar
(2)notnull,//年龄
Majorchar(10)notnull,//专业
Departchar(10)notnull,//系别
)
执行上述SQL语句即可创建学生信息表相关表格
createtableteacher1(//创建教师信息表
tnochar(10)primarykey,//教师号
tnamevarchar(50)notnull,//教师名
tsexchar
(2),//教师性别
tdepartvarchar(50)//教师系别
)
执行上述SQL语句即可创建教师信息表相关表格
createtablescore(//创建成绩表
snochar(10),//学号
cnochar(10),//课程号
)
执行上述SQL语句即可创建成绩表相关表格
学生信息相关表格
Sno
sname
ssex
sage
major
depart
0811080101
陈琦
男
22
信息
工商
0811080102
崔雪娇
女
23
信息
工商
0811080103
董朝阳
男
22
数学教育
数学系
0811080104
杜鹃
女
22
计算机应用
计算机系
0811080105
方卉
女
20
汉语言
文法系
课程信息相关表格
Cno
cname
tno
credit
ctime
0301
财务管理
001
2
24
0302
供应链管理
002
2.2
18
0303
生产与运作管理
003
2.4
36
0304
统计学
004
2.6
32
0305
网页制作
005
2.8
30
0306
操作系统原理
006
3.0
32
0307
数据库原理
007
3.2
30
0308
项目管理
008
3.4
45
0309
web程序设计
009
3.5
35
成绩信息表
Sno
Cno
Degree
0811080101
0306
85
0811080101
0303
90
0811080101
0305
86
0811080102
0306
82
0811080102
0304
84
0811080102
0301
81
0811080103
0306
93
0811080103
0302
79
0811080103
0304
85
0811080104
0306
94
0811080104
0308
74
0811080104
0307
86
教师信息表
tno
tname
tsex
tdepart
001
卢亚君
女
财经
002
李昌明
男
财经
003
张富强
男
财经
004
刘翠杰
女
数信
005
王庆石
男
数信
006
黄立明
男
数信
007
王纲
男
计算机
008
徐伟丽
女
计算机
009
刘书霞
女
计算机
6.数据库运行
(1)查询sno为0811080101学生的sname
selectsname
fromstudent1
wheresno='0811080101'
结果:
(2)查询ssex为’女’并且sdepart为’工商’的sname
selectsname
fromstudent1
wheressex='女'and
sdepart='工商'
结果:
(3)查询depart为数学系的sname。
selectsname
fromstudent1
wheredepart='数学系'
结果:
(4)查询所有学生所在院系名称
selectdistinctdepart
fromstudent
结果:
(5)查询0811080102号同学和0811080103号同学共同选修的课程
Selectcno
Fromscore
Wheresno='0811080102'
Intersect
Selectcno
Fromscore
Wheresno='0811080103'
查询结果
(6)查询选修了0306这门课的所有学生的学号、姓名、年龄、院系
Selectsno,sname,sage,depart
Fromstudent1
Wheresnoin
(selectsno
Fromscore
Wherecno=’0306’)
查询结果
7.数据库维护
1.数据库更新操作
(1).插入数据
向Student1表中添加一项记录:
姓名:
叶问,学号:
0811080201,性别:
男,年龄:
36专业:
信息管理,系别:
工商
Insert
Into
Student1(Sno,Sname,Ssex,sage,major,depart)
Values('0811080201','叶问','男','36','信息管理','工商')
(2).修改数据
修改陈琦的学号为081108023:
UpdateStudent1
SetSno=’0811080203’
WhereSname=’陈琦’;
C.删除数据
删除所有工商学生的记录
Delete
fromstudent1
Where(depart=’工商’);
2.数据库的完整性
对于class表:
class(cno,cname,tno,credit,ctime),cno的值应该在0和20之间:
createtableClass(//创建课程信息表
cnochar(10)primarykey,//课程号
cnamechar(10)notnull,//课程名
teanochar(10)Notnull//教师号
creditchar(4),Notnull//学分
ctimechar(50),Notnull//学时
check(cno>0andcno<=20)
8.数据库开发
视图的操作:
数据库视图的定义(创建和删除)、查询和更新
(1).查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩
createviewscore3
as
selects.sno'学号',sname'学生名',o'课程号',cname'课程名',sc.degree'成绩'
fromstudent1s,classc,scoresc
wheres.sno=sc.snoando=o
go
查询结果
(2).更新视图:
(1)修改信息:
将陈琦的名字改为陈琪琪
Updatescore3
set学生名='陈琪琪'
where学生名='陈琦
(2)删除信息:
删除视图score3中陈琪琪的记录
delete
fromscore
where学生名='陈琪琪'
删除视图:
删除前面的score3视图。
dropviewscore3
9.应用程序开发(额外加分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 三级 项目