/**************************建表开始**************************/
/*创建班级表*/
CREATE TABLE nirszhangy_Classes
(
nrszy_ClassNo CHAR(12) PRIMARY KEY,/*班级编号*/
nrszy_Deptname CHAR(20),/*专业名称*/
)
/*创建学生表*/
CREATE TABLE nirszhangy_Students
( nrszy_Sno CHAR(12) PRIMARY KEY ,/*学号*/
nrszy_Spassword CHAR(15) DEFAULT 123456,/*登录密码(默认123456)*/
nrszy_ClassNo CHAR(12) NOT NULL,/*班级编号*/
nrszy_Sname CHAR(20),/*姓名*/
nrszy_Ssex CHAR(2),/*性别*/
nrszy_Sage INT CHECK(nrszy_Sage>0),/*年龄*/
nrszy_Splace CHAR(10),/*生源所在地*/
nrszy_Scredit char(8),/*已修学分总数*/
nrszy_Sarea CHAR(20),/*地区信息*/
CONSTRAINT ClassNo_Students FOREIGN KEY (nrszy_ClassNo) REFERENCES nirszhangy_Classes,
/*nrszy_ClassNo是nirszhangy_Classes的外键*/
)
SELECT * FROM nirszhangy_Reports
drop table nirszhangy_Reports
drop table nirszhangy_Students
alter table nirszhangy_Students alter column nrszy_Scredit char(8)
/*创建教师表*/
CREATE TABLE nirszhangy_Teachers
(
nrszy_Tno CHAR(12) PRIMARY KEY,/*教师编号*/
nrszy_Tname CHAR(20),/*姓名*/
nrszy_Tsex CHAR(2),/*性别*/
nrszy_Tage INT CHECK(nrszy_Tage>0),/*年龄*/
nrszy_Ttitle CHAR(12),/*职称*/
nrszy_Tphone CHAR(15),/*联系电话*/
nrszy_Tpassword CHAR(15) DEFAULT 123456,/*登录密码(默认123456)*/
)
/*创建课程表*/
CREATE TABLE nirszhangy_Courses
(
nrszy_Cno CHAR(12) PRIMARY KEY,/*课程编号*/
nrszy_Cname CHAR(20) NOT NULL,/*课程名称*/
nrszy_Cterm CHAR(12),/*开课学期*/
nrszy_Ctime INT CHECK(nrszy_Ctime>0),/*学时*/
nrszy_Ctestway CHAR(5),/*考试或考查*/
nrszy_Ccredit INT CHECK(nrszy_Ccredit>0),/*学分*/
nrszy_ClassNo CHAR(12),/*班级编号*/
nrszy_Tno CHAR(12),/*任课教师*/
CONSTRAINT ClassNo_Courses FOREIGN KEY (nrszy_ClassNo) REFERENCES nirszhangy_Classes,
/*nrszy_ClassNo是nirszhangy_Classes的外键*/
)
/*创建教师授课表*/
CREATE TABLE nirszhangy_Teach
(
nrszy_Tno CHAR(12),/*教师编号*/
nrszy_Cno CHAR(12),/*课程编号*/
PRIMARY KEY(nrszy_Tno,nrszy_Cno),
CONSTRAINT Tno_Teach FOREIGN KEY (nrszy_Tno) REFERENCES nirszhangy_Teachers,
/*nrszy_Tno是nirszhangy_Teachers的外键*/
CONSTRAINT Cno_Teach FOREIGN KEY (nrszy_Cno) REFERENCES nirszhangy_Courses,
/*nrszy_Cno是nirszhangy_Courses的外键*/
)
/*创建成绩表*/
CREATE TABLE nirszhangy_Reports
(
nrszy_Sno CHAR(12),/*学号*/
nrszy_Cno CHAR(12),/*课程编号*/
nrszy_Gterm CHAR(12),/*学期*/
nrszy_Grade INT CHECK(nrszy_Grade>=0 AND nrszy_Grade<=100),/*成绩*/
PRIMARY KEY(nrszy_Sno,nrszy_Cno),
CONSTRAINT Sno_Reports FOREIGN KEY (nrszy_Sno) REFERENCES nirszhangy_Students,
/*nrszy_Sno是nirszhangy_Students的外键*/
CONSTRAINT Cno_Reports FOREIGN KEY (nrszy_Cno) REFERENCES nirszhangy_Courses,
/*nrszy_Cno是nirszhangy_Courses的外键*/
)
/**************************建表结束**************************/
/**************************创建视图开始**************************/
/*创建视图nirszhangy_stu_grade_view*/
CREATE VIEW nirszhangy_stu_grade_view
AS
SELECT nirszhangy_Students.nrszy_Sno,nirszhangy_Students.nrszy_Sname,
nirszhangy_Courses.nrszy_Cno,nirszhangy_Courses.nrszy_Cname,
nirszhangy_Reports.nrszy_Gterm,nirszhangy_Reports.nrszy_Grade
FROM nirszhangy_Students,nirszhangy_Courses,nirszhangy_Reports
WHERE nirszhangy_Students.nrszy_Sno = nirszhangy_Reports.nrszy_Sno
AND nirszhangy_Courses.nrszy_Cno = nirszhangy_Reports.nrszy_Cno
GO
/*创建视图nirszhangy_courses_avg_grade*/
CREATE VIEW nirszhangy_courses_avg_grade
AS
SELECT nirszhangy_Reports.nrszy_Cno,nirszhangy_Courses.nrszy_Cname,
AVG(nirszhangy_Reports.nrszy_Grade) avg_grade
FROM nirszhangy_Reports,nirszhangy_Courses
WHERE nirszhangy_Reports.nrszy_Cno = nirszhangy_Courses.nrszy_Cno
GROUP BY nirszhangy_Reports.nrszy_Cno,nirszhangy_Courses.nrszy_Cname
GO
/*创建视图nirszhangy_stu_course_view*/
CREATE VIEW nirszhangy_stu_course_view
AS
SELECT nirszhangy_Reports.nrszy_Sno, nirszhangy_Reports.nrszy_Cno, nirszhangy_Courses.nrszy_Ccredit,
nirszhangy_Courses.nrszy_Cname, nirszhangy_Students.nrszy_Sname
FROM nirszhangy_Reports INNER JOIN
nirszhangy_Courses ON nirszhangy_Reports.nrszy_Cno = nirszhangy_Courses.nrszy_Cno INNER JOIN
nirszhangy_Students ON nirszhangy_Reports.nrszy_Sno = nirszhangy_Students.nrszy_Sno
GO
/*创建视图nirszhangy_Teaer_course_view*/
CREATE VIEW nirszhangy_Teaer_course_view
AS
SELECT nrszy_Tname,nrszy_Cname
FROM nirszhangy_Teachers,nirszhangy_Courses
WHERE nirszhangy_Teachers.nrszy_Tno = nirszhangy_Courses.nrszy_Tno
GO
/**************************创建视图结束**************************/
/**************************建立索引开始**************************/
/*建立对班级号的索引*/
CREATE UNIQUE INDEX classes_ClassNo ON nirszhangy_Classes(nrszy_ClassNo)
/*建立对课程号的索引*/
CREATE UNIQUE INDEX courses_Cno ON nirszhangy_Courses(nrszy_Cno)
/*建立对学号的索引*/
CREATE UNIQUE INDEX students_Sno ON nirszhangy_Students(nrszy_Sno)
/*建立对教师工号的索引*/
CREATE UNIQUE INDEX teachers_Tno ON nirszhangy_Teachers(nrszy_Tno)
/**************************建立索引结束**************************/
/**************************建立触发器开始**************************/
/*建立级联删除触发器UPD_delete*/
CREATE TRIGGER UPD_delete ON nirszhangy_Students
FOR delete
AS
delete from nirszhangy_Reports
where nrszy_Sno =(select nrszy_Sno from deleted)
/***********************************/
/*建立触发器UPD_grade*/
CREATE TRIGGER UPD_grade ON nirszhangy_Reports
FOR INSERT,UPDATE
AS
IF(SELECT nrszy_Grade FROM INSERTED) < 0
OR
(SELECT nrszy_Grade FROM INSERTED) > 100
BEGIN
PRINT '学生成绩必须是1~100之间的数!操作失败'
ROLLBACK TRANSACTION
END
/*建立触发器UPD_credit*/
CREATE TRIGGER UPD_credit ON nirszhangy_Courses
FOR INSERT,UPDATE
AS
IF(SELECT nrszy_Ccredit FROM INSERTED) < 0
BEGIN
PRINT '学分必须是大于0的数!操作失败'
ROLLBACK TRANSACTION
END
/*建立触发器UPD_grade2*/
/*用于统计学分*/
CREATE TRIGGER UPD_grade2 ON nirszhangy_Reports
FOR INSERT,UPDATE
AS
UPDATE nirszhangy_Students
SET nrszy_Scredit = (SELECT SUM(nrszy_Ccredit)
FROM nirszhangy_Courses
WHERE nrszy_Cno IN
(SELECT nrszy_Cno
FROM nirszhangy_Reports
WHERE nirszhangy_Reports.nrszy_Grade >= 60
AND nirszhangy_Reports.nrszy_Sno IN
(SELECT nrszy_Sno
FROM INSERTED)))
WHERE nirszhangy_Students.nrszy_Sno IN
(SELECT nrszy_Sno
FROM INSERTED)
/*建立触发器BUD_Spassword*/
/*设置学生的默认登陆密码123456*/
CREATE TRIGGER BUD_Spassword ON nirszhangy_Students
FOR INSERT
AS
UPDATE nirszhangy_Students
SET nrszy_Spassword = '123456'
WHERE nrszy_Sno IN(SELECT nrszy_Sno FROM INSERTED)
/*建立触发器BUD_Tpassword*/
/*设置教师的默认登陆密码123456*/
CREATE TRIGGER BUD_Tpassword ON nirszhangy_Teachers
FOR INSERT
AS
UPDATE nirszhangy_Teachers
SET nrszy_Tpassword = '123456'
WHERE nrszy_Tno IN(SELECT nrszy_Tno FROM INSERTED)
/*建立触发器SET_Scredit*/
/*设置学分从0开始计*/
CREATE TRIGGER SET_Scredit2 ON nirszhangy_Students
FOR INSERT
AS
IF(SELECT nrszy_Scredit FROM INSERTED) < 0
BEGIN
PRINT '学分不能小于0的!操作失败'
ROLLBACK TRANSACTION
END
/**************************建立触发器结束**************************/
/**************************建立存储过程开始**************************/
/*如果输入的学号不存在,则提示“学生基本信息表中不存在此学号,请检查后重新输入”*/
CREATE PROCEDURE InsertResult
(@nrszy_Sno char(12),
@nrszy_Cno char(12),
@nrszy_Grade float
)
AS
SET NOCOUNT ON
DECLARE @nCount int SET @nCount=0
DECLARE @nCourse int SET @nCourse=0
DECLARE @nExistAchievement int SET @nExistAchievement=0
SELECT @nCount=COUNT(nrszy_Sno)
FROM nirszhangy_Students
WHERE nirszhangy_Students.nrszy_Sno=@nrszy_Sno
IF @nCount<1
BEGIN
PRINT'学生基本信息表中不存在此学号,请检查后重新输入'
RETURN
END
/*如果输入的课程不存在,则提示“还没有这门课程,请检查后重新输入”*/
SELECT @nCourse=COUNT(nrszy_Cno)
FROM nirszhangy_Courses
WHERE nirszhangy_Courses.nrszy_Cno=@nrszy_Cno
IF @nCou
没有合适的资源?快使用搜索试试~ 我知道了~
高校成绩管理系统数据库设计与实现(含源码和报告)
共89个文件
cs:30个
resources:21个
resx:13个
5星 · 超过95%的资源 需积分: 46 116 下载量 122 浏览量
2018-04-20
16:41:51
上传
评论 18
收藏 18.52MB RAR 举报
温馨提示
利用SQLserer2008和VS2010完成高校成绩管理系统的设计与实现,其中包含管理员、教师、学生等用户权限,可以实现学生成绩查询,课程查询,教师成绩录入,管理员操作等功能。压缩包里包含VS源代码,完整的使用文档和数据库代码。基本功能已经实现,部分功能没有完全实现,可以供广大学习者参考。
资源推荐
资源详情
资源评论
收起资源包目录
数据库系统课程设计.rar (89个子文件)
数据库系统课程设计
数据库系统课程设计实验报告.doc 9.1MB
数据库系统课程设计中的所有SQL语句.txt 22KB
数据库系统课程设计实验报告源程序
课程设计1
学生.resx 6KB
bin
Release
Debug
课程设计1.vshost.exe 11KB
课程设计1.vshost.exe.manifest 490B
课程设计1.pdb 192KB
课程设计1.exe 2.71MB
学生.cs 835B
学生界面
学生界面.Designer.cs 12KB
学生界面.cs 5KB
学生界面.resx 727KB
Program.cs 599B
obj
x86
Debug
学生成绩管理系统.成绩录入.resources 367KB
学生成绩管理系统.教师主界面.resources 164KB
课程设计1.csprojResolveAssemblyReference.cache 9KB
课程设计1.Form1.resources 180B
课程设计1.教师管理.resources 180B
学生成绩管理系统.修改密码.resources 302KB
GenerateResource.write.1.tlog 19KB
课程设计1.成绩录入.resources 180B
课程设计1.pdb 192KB
学生成绩管理系统.管理员界面.resources 93KB
课程设计1.管理员.resources 180B
课程设计1.exe 2.71MB
课程设计1.修改密码.resources 180B
学生成绩管理系统.课程管理.resources 61KB
课程设计1.Properties.Resources.resources 180B
课程设计1.学生界面.resources 180B
DesignTimeResolveAssemblyReferencesInput.cache 6KB
学生成绩管理系统.教师管理.resources 91KB
学生成绩管理系统.登录.resources 1.06MB
学生成绩管理系统.学生界面.resources 481KB
ResolveAssemblyReference.cache 8KB
DesignTimeResolveAssemblyReferences.cache 5KB
课程设计1.登录.resources 46KB
GenerateResource.read.1.tlog 2KB
TempPE
Properties.Resources.Designer.cs.dll 5KB
课程设计1.管理员界面.resources 180B
学生成绩管理系统.csprojResolveAssemblyReference.cache 9KB
课程设计1.csproj.GenerateResource.Cache 959B
课程设计1.教师主界面.resources 180B
学生成绩管理系统.csproj.GenerateResource.Cache 2KB
课程设计1.课程管理.resources 180B
学生成绩管理系统.csproj.FileListAbsolute.txt 10KB
课程设计1.csproj.FileListAbsolute.txt 5KB
学生成绩管理系统.管理员.resources 180B
学生成绩管理系统.学生管理.resources 68KB
学生.Designer.cs 20KB
登录.cs 5KB
Resources
Consql.cs 1KB
登录.resx 1.59MB
学生成绩管理系统.csproj 7KB
登录.Designer.cs 9KB
教师界面
教师主界面.designer.cs 14KB
成绩录入.cs 7KB
教师主界面.csproj 5KB
成绩录入.designer.cs 14KB
修改密码.resx 459KB
修改密码.designer.cs 12KB
成绩录入.resx 555KB
教师主界面.resx 251KB
修改密码.cs 8KB
教师主界面.cs 10KB
NewFolder1
Program.cs 496B
Form1.designer.cs 18KB
Form1.cs 7KB
Form1.resx 6KB
Properties
Resources.resx 6KB
Settings.settings 249B
AssemblyInfo.cs 1KB
Settings.Designer.cs 1KB
Resources.Designer.cs 3KB
管理员界面
教师管理.Designer.cs 14KB
管理员界面.Designer.cs 9KB
管理员界面.resx 144KB
课程管理.resx 97KB
学生管理.designer.cs 17KB
管理员.resx 6KB
课程管理.designer.cs 13KB
课程管理.cs 7KB
教师管理.cs 7KB
学生管理.resx 108KB
学生管理.cs 6KB
教师管理.resx 142KB
管理员界面.cs 5KB
管理员.Designer.cs 8KB
管理员.cs 6KB
课程设计1.sln 987B
课程设计1.suo 31KB
共 89 条
- 1
资源评论
- 小米智能生活2023-07-29这个文件对高校成绩管理系统的数据库设计进行了深入探讨,为读者提供了很多有价值的思路和建议。
- 郑瑜伊2023-07-29通过这个文件,可以清晰地了解高校成绩管理系统的数据库结构和相关功能模块,对初学者来说非常友好。
- 天使的梦魇2023-07-29文件中的源码和报告结合实例详细讲解了高校成绩管理系统的数据库实现过程,使人能够轻松掌握相关知识。
- 艾斯·歪2023-07-29这个文件提供了一个很好的高校成绩管理系统的数据库设计和实现方案,帮助他人更好地理解和应用。
- 笨爪2023-07-29这个文件详细介绍了高校成绩管理系统的数据库设计原则和实施步骤,让人感到非常实用和实际。
波澜不惊云的心声
- 粉丝: 9
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功