数据库开发===》毕业生照片核对系统设计------开发源代码---雏形设计——经典SQL的完全应用

在这里插入图片描述
在对数据库进行了一段时间的学习后,我们可以尝试做一个数据库雏形,利用SQL语言来编码,将所学知识挪到应用板块。

毕业生照片核对系统

  • 建立数据库

  • 建立表(3)

  • 创建存储过程(5)

  • 基本操作(3*3)

  • 建立数据库:

CREATE DATABASE dbs20170407211
  • 建立表:

(1)建立学生信息表:

CREATE TABLE 学生信息表
(
Sno varchar(20) PRIMARY KEY,
Sname varchar(20),
Education varchar(20),
Sdept varchar(20),
Special varchar(20),
Sid varchar(20),
Photo varchar(100),
Remark varchar(100),
Addition bit
)

(2)建立学生表:

CREATE TABLE 学生表
(
Sno varchar(20) PRIMARY KEY,
Sid varchar(20),
FOREIGN KEY(Sno) REFERENCES 学生信息表(Sno)
)

(3)建立管理员表:

CREATE TABLE 管理员表
(
Adno varchar(20) PRIMARY KEY,
LoginID varchar(20),
Password varchar(20),
Rank bit,
FOREIGN KEY(Adno) REFERENCES 学生表(Sno)
)
  • 创建存储过程:

(1)建立存储过程p1,管理员登录时,根据登录名和密码在管理员表中查找该用户,若用户存在,则进入系统。

CREATE PROCEDURE p1
@Adno varchar(20),
@LoginID varchar(20),
@Password varchar(20),
@Rank bit
AS SELECT @Adno=Adno FROM 管理员表
WHERE LoginID=@LoginID AND Password=@Password

(2)建立存储过程p2,学生登录时,根据学号和身份证号在学生信息表中查找该用户,若用户存在,则进入系统。

CREATE PROCEDURE p2
@Sno varchar(20),
@Sname varchar(20),
@Education varchar(20),
@Sdept varchar(20),
@Special varchar(20),
@Sid varchar(20),
@Photo varchar(100),
@Remark varchar(100),
@Addition bit
AS
SELECT @Sno=Sno FROM 学生信息表
WHERE Sname=@Sname AND Sid=@Sid

(3)建立存储过程p3用于添加毕业生信息。

CREATE PROCEDURE p3
@Sno varchar(20),
@Sname varchar(20),
@Education varchar(20),
@Sdept varchar(20),
@Special varchar(20),
@Sid varchar(20),
@Photo varchar(100),
@Remark varchar(100),
@Addition   bit
AS INSERT INTO学生信息表(Sno,Sname,Education,Sdept,Special,Sid,Photo,Remark,Addition)  VALUES(@Sno,@Sname,@Education,@Sdept,@Special,@Sid,@Photo,@Remark,@Addition)

(4)建立存储过程p4用于学生核对信息添加备注。

CREATE PROCEDURE p4
@Remark varchar(100)
AS
UPDATE 学生信息表
SET Remark=@Remark

(5)建立存储过程p5用于记录核对情况。

CREATE PROCEDURE p5
@Addition bit
AS
UPDATE 学生信息表
SET Addition=@Addition
  • 基本操作:

1.按学院进行统计:

(1)按学院统计毕业生人数

SELECT COUNT(Sno)
FROM 学生信息表,管理员表
WHERE Rank=1

(2)统计本学院已核对人数

SELECT COUNT(Sno)
FROM 学生信息表,管理员表
WHERE Addition=1 AND Rank=1

(3)统计本学院未核对人数

SELECT COUNT(Sno)
FROM 学生信息表,管理员表
WHERE Addition=0 AND Rank=1

2.按教务处进行统计:

(1)按教务处统计毕业生人数

SELECT COUNT(Sno)
FROM 学生信息表

(2)按教务处统计已核对人数

SELECT COUNT(Sno)
FROM 学生信息表
WHERE Addition=1 
GROUP BY Sno

(3)按教务处统计未核对人数

SELECT COUNT(Sno)
FROM 学生信息表
WHERE Addition=0
GROUP BY Sno

3.按专业进行统计:

(1)按专业统计毕业生人数:

SELECT Special,COUNT(Sno)
FROM 学生信息表

(2)按专业统计核对人数:

SELECT Special,COUNT(Sno)
FROM 学生信息表
WHERE Addition=1 
GROUP BY Special

(3)按专业统计未核对人数:

SELECT Special,COUNT(Sno)
FROM 学生信息表
WHERE Addition=0
GROUP BY Special

说明:本系统是基于sql server 2012开发的一个系统框架,在本系统中需要添加数据才完整,虽然实用功能尚不完善,但对于数据库的初学者来说,可以算是一个非常好的练手项目。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值