22-在线考试系统数据库-班级学生信息数据操作(一)

22-在线考试系统数据库-班级学生信息数据操作(一)

项目描述

伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的“在线考试系统”也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。本项目操作在线考试系统数据库中的班级信息表和学生信息表的操作。

在线考试系统数据库操作要求如下:

1)数据库StudDB。

2)班级信息表K_ClassInfo,表结构如表J2-22-1所示。

表J2-22-1 K_ClassInfo表

字段名字段说明数据类型允许为空备注
ClassID班级ID整型主键
ClassCode班级编号字符(20)
ClassName班级名称字符(50)

3)学生信息表K_UserInfo,表结构如表J2-22-2 所示。

表J2-22-2 K_UserInfo表

字段名字段说明数据类型允许为空备注
UserID用户ID整型主键
UserName用户名字符(20)
UserPass用户密码字符(50)
UserRealName用户姓名字符(20)
ClassID班级ID整型外键
UserSex性别字符(5)
UserTel电话字符(15)
UserMobile手机字符(12)
UserEmail电子邮箱字符(100)

4)表K_ClassInfo基础数据如表J2-22-3所示。

表J2-22-3 K_ClassInfo表基础数据

ClassIDClassCodeClassName
101班级一
202班级二
303班级三

5)表K_UserInfo基础数据如表J2-22-4所示。

表J2-22-4 K_UserInfo表基础数据

UserIDUserNameUserPassUser RealNameClassIDUserSexUserTelUser MobileUser Email
1Samon123山姆1
2Tom123汤姆1
3Scv123刘海2

(1)任务描述

**任务1:**用SQL语言创建在线考试系统数据库

1)创建数据库StudDB,判断系统中是否有该名字的数据库,如果有则删除;如果没有则创建该数据库。

2)主数据库文件初始值10MB,无限,按15%进行递增。

3)日志文件初始值为5MB,最大为10MB,按1MB进行递增。

IF DB_ID('StudDB') IS NOT NULL DROP DATABASE StudDB
GO 
CREATE DATABASE StudDB
ON PRIMARY
(
	NAME=StudDB,
	FILENAME='D:\xxxx\StudDB.mdf',
	SIZE=10MB,
	MAXSIZE=UNLIMITED,
	FILEGROWTH=15%
)
LOG ON
(
	NAME=StudDB_log,
	FILENAME='D:\xxxx\StudDB_log.ldf',
	SIZE=5MB,
	MAXSIZE=10MB,
	FILEGROWTH=1MB
)

任务2: 用SQL语言创建班级信息表K_ClassInfo

1)按照提供的表J2-22-1、表J2-22-2结构创建数据库表,并设主键。

CREATE TABLE K_ClassInfo(
	ClassID INT NOT NULL PRIMARY KEY,
	ClassCode NVARCHAR(20),
	ClassName NVARCHAR(50),
)
CREATE TABLE K_UserInfo(
	UserID INT NOT NULL PRIMARY KEY,
	UserName NVARCHAR(20),
	UserPass NVARCHAR(50),
	UserRealName NVARCHAR(20),
	ClassID INT,
	UserSex NVARCHAR(5),
	UserTel NVARCHAR(15),
	UserMobile NVARCHAR(12),
	UserEmail NVARCHAR(100),
	FOREIGN KEY (ClassID) REFERENCES K_ClassInfo(ClassID),
)

任务3: 用SQL语言对班级信息表K_ClassInfo进行操作

1)将表J2-22-3、J2-22-4中的数据插入班级信息表K_ClassInfo和学生信息表K_UserInfo中。

2)显示“班级二”中的学生名册。

3)统计“班级一”中的人数。

4)删除“班级三”和班中学生信息。

INSERT INTO K_ClassInfo VALUES(1,'01','班级一'),(2,'02','班级二'),(3,'03','班级三')
INSERT INTO K_UserInfo VALUES(1,'Samon','123','山姆',1,'男',NULL,NULL,NULL),(2,'Tom','123','汤姆',1,'男',NULL,NULL,NULL),(3,'Scv','123','刘海',2,'男',NULL,NULL,NULL)


SELECT * FROM K_UserInfo WHERE ClassID=(SELECT ClassID FROM K_ClassInfo WHERE ClassName='班级二')


SELECT COUNT(*) FROM K_UserInfo WHERE ClassID=(SELECT ClassID FROM K_ClassInfo WHERE ClassName='班级一')


DELETE FROM K_UserInfo WHERE ClassID=(SELECT ClassID FROM K_ClassInfo WHERE ClassName='班级三')
DELETE FROM K_ClassInfo WHERE ClassName='班级三'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小旺不正经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值