学生成绩管理系统数据库1修改汇编.docx
- 文档编号:25922659
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:12
- 大小:185.53KB
学生成绩管理系统数据库1修改汇编.docx
《学生成绩管理系统数据库1修改汇编.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据库1修改汇编.docx(12页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统数据库1修改汇编
使用了SQL2008软件
(1)实现了学生的选课管理、成绩管理
(2)实现学生、教师的信息管理
(3)实现学院的组织信息(部门、班级、专业)管理
(4)实现SQL查询功能。
没有改进,基本功能实现,
1需求分析
1.1建立一个数据库,然后在此数据库中数据表。
建立ssh数据库创建学生表和老师表课程表
1.2向表中添加记录。
向学生表和老师表中加入信息
1.3用一些查询语句来查看表中的特定记录。
查询学生表和老师表的信息
1.4向表中添加一些字段。
向teacher表中添加字段tel
1.5创建几个视图
查询某个班级的学生信息
查看每门课程的平均成绩
1.6创建几个存储过程
显示成绩表中的课程号在课程表中且所任教师性别为男、计算机系的成绩表
显示某学生的学号,姓名,所学课程号,课程名称和对应的成绩
在执行此存储过程时,如果没有给出参数(学生姓名),则输入全部的学生的学号,姓名,班级,任课教师编号及其姓名,所学课程名称和成绩,如果有,显示此学生的以上信息。
1.7创建触发器
在成绩表中建立一个触发器,当向表中添加记录时,此学生的成绩都乘以1.2
检查学生的邮箱地址是否相同。
1.8创建自定义函数
创建自定义函数,输出与指定的学生同班的学生个数,输出同一个班级中的学生信息
2数据库设计
2.1实体模型:
1N
NM
2.2ER图到关系图的转换
2.3数据字典
Student表:
sno
Char(8)
不允许为空
sname
Char(10)
不允许为空
Ssex
Char
(2)
不允许为空
sbirth
Datetime(8)
允许为空
class
Char(4)
不允许为空
type
Char(7)
允许为空
score表结构:
sno
Char(8)
不允许为空
cno
Char(5)
不允许为空
degree
Float(8)
不允许为空
Course表:
cno(主键)
Char(5)
不允许为空
cname
varchar(10)
不允许为空
tno
char(3)
不允许为空
Teacher表
tno
char(5)
不允许为空
tname
varchar(10)
不允许为空
depart
varchar(8)
不允许为空
Tsex
char
(2)
不允许为空
Tbirth
datetime,
允许为空
prof
char(6)
允许为空
3功能实现
3.1创建数据库:
createdatabasessh
on
(name=ssh,
filename='e:
\database\ssh.mdf’,
size=1)
logon
(name=ssh1,
filename='e:
\database\ssh1.ldf',
size=1)
3.2创建数据表
(1)student表
usessh
createtablestudent
(snochar(8)primarykey,
snamechar(10)notnull,
Ssexchar
(2)notnull,
Sbirthdatetime,
classchar(4)notnull
semailvarchar(20))
(2)score表
createtablescore
(snochar(8)notnull,
cnochar(4)notnull,
degreefloatnotnull)
(3)course表
createtablecourse
(cnochar(5)notnullprimarykey,
cnamevarchar(10)notnull,
tnochar(3)notnull)
(4)teacher表
createtableteacher
(tnochar(5)notnullprimarykey,
tnamevarchar(10)notnull,
departvarchar(8)notnull,
Tsexchar
(2)notnull,
Tbirthdatetime,
profchar(6))
4数据操作
4.1插入
(1)向学生表插入信息
insertintostudentvalues('101','生活','女','1983-09-18','11')
insertintostudentvalues('102','风尘','男','1984-01-01','11')
insertintostudentvalues('103','离开','男','1984-01-01','11')
insertintostudentvalues('104','流浪','女','1984-11-11','11')
insertintostudentvalues('105','生命','男','1984-12-05','13')
insertintostudentvalues('106','无悔','女','1984-11-01','13')
insertintostudentvalues('107','历史','女','1984-10-01','12')
insertintostudentvalues('108','风尘','男','1985-9-08','11')
insertintostudentvalues('109','活着','男','1985-12-12','12')
insertintostudentvalues('110','傻瓜','女','1985-08-28','12')
查看记录
Select*fromstudent
(2)向成绩表中添加
insertintoscorevalues('101','01',88)
insertintoscorevalues('101','02',85)
insertintoscorevalues('102','02',80)
insertintoscorevalues('101','03',88)
insertintoscorevalues('102','02',85)
insertintoscorevalues('102','03',80)
insertintoscorevalues('103','01',83)
insertintoscorevalues('103','02',85)
insertintoscorevalues('103','03',90)
insertintoscorevalues('104','01',60)
查看记录
Select*fromscore
(3)向教师表中添加数据
insertintocoursevalues('01','计算机','11')
insertintocoursevalues('02','网络管理','12')
insertintocoursevalues('03','专业英语','13')
6、你购买DIY手工艺制品的目的有那些?
insertintocoursevalues('04','软件工程','14')
(二)DIY手工艺品的“热卖化”查看记录
Select*fromcourse
(1)专业知识限制(4)向课程表中添加数据
insertintoteachervalues('11','无意','计算机系','男','1973-4-5','教授')
insertintoteachervalues('12','生活','计算机系','女','1975-12-1','副教授')
insertintoteachervalues('13','没有','管理系','女','1975-3-3','副教授')
insertintoteachervalues('14','离开','英语系','男','1973-5-5','教授')
查看记录
(1)位置的优越性Select*fromteacher
在大学生对DIY手工艺品价位调查中,发现有46%的女生认为在十元以下的价位是可以接受;48%的认为在10-15元;6%的则认为50-100元能接受。
如图1-2所示
4.2查询
可见“体验化消费”广受大学生的欢迎、喜欢,这是我们创业项目是否成功的关键,必须引起足够的注意。
(1)查询成绩大于学号为101的学生的课程为02的成绩的所有列。
4、“体验化”消费select*fromscorewheredegree>(selectdegreefromscorewheresno='101'andcno='02')
“碧芝”隶属于加拿大的beadworks公司。
这家公司原先从事首饰加工业,自助首饰的风行也自西方,随着人工饰品的欣欣向荣,自制饰品越来越受到了人们的认同。
1996年'碧芝自制饰品店'在迪美购物中心开张,这里地理位置十分优越,交通四八达,由于是市中心,汇集了来自各地的游客和时尚人群,不用担心客流量问题。
迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼拾阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进看一下。
(2)查询课程号01大于课程号02的最大值、并以分数降序排序的成绩表中所有列
8、你是如何得志DIY手工艺制品的?
select*fromscoreswhereo='01'ands.degree>=(selectmax(degree)fromscoreywhereo='02')orderbydegreedesc
可见“体验化消费”广受大学生的欢迎、喜欢,这是我们创业项目是否成功的关键,必须引起足够的注意。
go
selectmax(degree)as"02max"fromscorewherecno='02'
(3)查询性别为男的学号,姓名,班级,课程号和成绩的学生
selectstudent.sno,student.sname,student.class,o,score.degreefromstudent,scorewherestudent.sno=score.snoandssex='男'
(4)查询成绩在60到80之间的所有列
select*fromscorewheredegreebetween60and80
(5)查询score表中至少有5名学生选修的并以0开头的课程的平均分
selectavg(degree)as"平均分",cnofromscorewherecnolike'0%'groupbycnohavingcount(*)>=5
4.3创建数据类型
创建一个email自定义数据类型
execsp_addtypeemail,'varchar(20)','null'
修改student表中的semail数据类型为email类型
altertablestudentaltercolumnsemailemail
4.4向表中添加字段
向student表添加type,semail,,b并且邮件地址有check约束
altertablestudentaddtypechar(7)
altertablestudentaddsemailvarchar(20)nullconstraintck_semcheck(semaillike'%@%')
altertableteacheraddtelvarchar(15)
4.5创建视图
(1)创建所有11班的学生信息的视图
createviewstudent11
as
select*fromstudentwhereclass='11'
查看视图中的记录
select*fromstudent11
(2)创建视图course_degree
其中的内容是选修计算机课程的学生信息,包括(sno,sname,cno,cname,degree),创建时加上withcheckoption
createviewcourse_degree(sno,sname,cno,cname,degree)
as
selectscore.sno,sname,o,cname,degreefromcourse,student,score
whereo=oandstudent.sno=score.snoandcname='计算机'
withcheckoption
查看视图中的记录
select*fromcourse_degree
(3)创建一个视图,其中的内容是成绩表中每门课程的
createviewaverage
as
selectavg(degree)as'平均分'fromscoregroupbycno
查看视图中的记录
select*fromaverage
(4)创建视图其中的内容是所有男教师和男学生的name,sex,birth
createviewman
as
selectsnameasname,ssexassex,sbirthasbirthfromstudentwheressex='男'
unionselecttname,tsex,tbirthfromteacherwheretsex='男'
查看视图中的记录
select*fromman
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 数据库 修改 汇编