学生成绩管理系统模型.docx
《学生成绩管理系统模型.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统模型.docx(10页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统模型
学生成绩管理系统数据库概念结构设计
设计教室管理数据库包括班级、教室、课程、教师四个关系。
E-R图如下
逻辑结构设计
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:
课程信息表
Class:
(课程号,课程名,教师号,学分,学时)
学生信息表
Student1:
(学号,姓名,性别,年龄,专业,系别)
成绩表
Score:
(学号号,课程名,成绩)
教师表
Teacherl:
(教师号,教师名,教师性别,教师系别)
1、课程信息表(class)
字段名
描述
数据类型
字段限制
eno
课程号
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.教师表(teacherl)
字段名
属性
数据类型
字段权限
teano
教师号
char(10)
Primarykey
tname
教师名
char(10)
Notnull
Tsex
教师性别
char
(2)
Notnull
Tdepart
教室系别
char(10)
Notnull
4.成绩表
字段名
属性
数据类型
字段权限
sno
学号
char(10)
Primarykey
eno
课程名
char(10)
Notnull
degree
成绩
char(10)
Notnull
数据库实现
1、创建数据库
createdatabaseScoreSystem
2、创建数据表
成绩表。
创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
执行上述SQL语句即可创建课程信息表相关表格
)
执行上述SQL语句即可创建学生信息表相关表格
tnochar(10)primarykey,//教师号
tnamevarchar(50)notnull,//教师名
tsexchar
(2),//教师性别
tdepartvarchar(50)//教师系别
)
执行上述SQL语句即可创建教师信息表相关表格
createtablescore(//仓U建成绩表
snochar(10),//学号
cnochar(10),//课程号
)
执行上述SQL语句即可创建成绩表相关表格
学生信息相关表格
Sno
sname
ssex
sage
major
depart
101
陈琦
男
22
信息
工商
102
崔雪娇
女
23
信息
工商
103
董朝阳
男
22
数学教育
数学系
104
杜鹃
女
22
计算机应用
计算机系
105
方卉
女
20
汉语言
文法系
课程信息相关表格
Cno
cname
tno
credit
ctime
301
财务管理
001
2
24
302
供应链管理
002
2.2
18
303
生产与运作管理
003
2.4
36
304
统计学
004
2.6
32
305
网页制作
005
2.8
30
306
操作系统原理
006
3.0
32
307
数据库原理
007
3.2
30
308
项目管理
008
3.4
45
309
web程序设计
009
3.5
35
成绩信息表
Sno
Cno
Degree
101
0306
85
101
0303
90
101
0305
86
102
0306
82
102
0304
84
102
0301
81
103
0306
93
103
0302
79
103
0304
85
104
0306
94
104
0308
74
104
0307
86
教师信息表
tno
tname
tsex
tdepart
001
卢亚君
女
财经
002
李昌明
男
财经
003
张富强
男
财经
004
刘翠杰
女
会计
005
王庆石
男
会计
006
黄立明
男
会计
007
王纲
男
计算机
008
徐伟丽
女
计算机
009
刘书霞
女
计算机
数据库运行和维护阶段
1、数据定义:
基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除
(1)基本表的创建,建表语句
createtablestudents(
stunochar(10)primarykey,stunamevarchar(40)notnull,stusexchar
(2)notnull,stuagechar(10)notnull,stumajorchar(10)notnull,studepartchar(10)notnull,
)
(2)基本表的删除
droptablestudents
2、数据操作数据库查询操作
A.单表查询:
(1)查询sno为101学生的sname
selectsname
fromstudent1
wheresno='101'
(2)查询ssex为'女'并且sdepart为'工商'的snameselectsname
fromstudent1
wheressex='女'and
sdepart='工商'
(3)查询所有学生的姓名和系别。
selectsname,depart
fromstudent1
(4)查询depart为数学系的sname。
selectsname
fromstudent1
wheredepart='数学系'
(5)查询所有学生所在院系名称
selectdistinctdepart
fromstudent
(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和系别selectsname,depart
fromstudent1
wheresage>21orsage<21
(7)查询所有学生的平均年龄
selectavg(sage)as平均年龄fromStudent1
B连接查询
(1)学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名Select
student1.sno,student1.sname,o,ame,score.degreeteacher1.tname
fromstudent,class,score,teacher1
and
Wherestudent1.sno=score.snoando=oteacher1.tno=class.tno
(2)找出教授数据库原理的老师的教师名selectteacher1.tnamefromclass,teacher1
Whereclass.tno=teacher1.tnoandclass.cname='数据库原理C.操作结果集查询
查询102号同学和103号同学共同选修的课程
Selectcno
Fromscore
Wheresno='102'
Intersect
Selectcno
Fromscore
Wheresno='103'
D•嵌套查询
查询选修了0306这门课的所有学生的学号、姓名、年龄、院系
Selectsno,sname,sage,depart
Fromstudent1
Wheresnoin
(selectsno
Fromscore
Wherecno='0306')
3、数据库更新操作
A•插入数据
向Student1表中添加一项记录:
姓名:
叶问,学号:
201,性别:
男,年龄:
36专业:
信息管理,系别:
工商Insert
Into
Student1(Sno,Sname,Ssex,sage,major,depart)
Values('201','叶问','男','36','信息管理','工商')B修改数据
修改陈琦的学号为023:
UpdateStudent1
SetSno='203'
WhereSname='陈琦';
C.删除数据
删除所有工商学生的记录
Delete
fromstudent1
Where(depart='工商');
4、为数据库建立索引
A.创建索引:
(1)在class表的cno列上创建非聚集索引。
CreateindexclassrnameONclass(cno)
(2)在student1表的sno列上创建非聚集索引。
Createuniqueindexstudent1noONStudent1(sno)
⑶在Student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。
Createindexstudent1noONstudent1(snoASC)
B.删除索引:
(1)删除student1表中的student1no索引。
Dropindexstudent1no
5、视图的操作:
数据库视图的定义(创建和删除)、查询和更新
A.查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩
createviewscore3
as
selects.sno'学号',sname'学生名',c.cno'课程号',cname'课程名',sc.degree成绩'
fromstudent1s,classc,scoresc
wheres.sno=sc.snoandc.cno=sc.cnogo
B.更新视图:
(1)修改信息:
将陈琦的名字改为陈琪琪
Updatescore3
set学生名='陈琪琪'
where学生名='陈琦
(2)删除信息:
删除视图score3中陈琪琪的记录
delete
fromscore
where学生名='陈琪琪'删除视图:
删除前面的score3视图。
dropviewscore3
6、数据库