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

简介: 24-在线考试系统数据库-班级学生信息数据操作(三)

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

项目描述

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

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

1)数据库StudDB。

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

表J2-24-1 K_ClassInfo表

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

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

表J2-24-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-24-3所示。

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

ClassID ClassCode ClassName ClassRemke
1 01 软件15一班 软件专业15级一班
2 02 软件15二班 软件专业15级二班
3 03 网络14一班 网络专业14级一班

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

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

UserID UserName UserPass User RealName ClassID UserSex UserTel User Mobile User Email
1 Samon 123 山姆 1
2 Tom 123 汤姆 1
3 Scv 123 刘海 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-24-1、表J2-24-2结构创建数据库表,并设主键。


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

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

1)向考试系统数据库中添加数据“网络14级二班的学生;其用户名为Demon、密码123,用户名王莲,性别女”。

2)显示“14级网络专业”的学生名册。

3)统计“网络专业”的学生人数。

4)删除“14级网络”的所有学生信息。


INSERT INTO K_ClassInfo3 VALUES(1,'01','软件15一班','软件专业15级一班'),(2,'02','软件15二班','软件专业15级二班'),(3,'03','网络14一班','网络专业14级一班')
INSERT INTO K_UserInfo3 VALUES(1,'Samon','123','山姆',1,'男',NULL,NULL,NULL),(2,'Tom','123','汤姆',1,'男',NULL,NULL,NULL),(3,'Scv','123','刘海',2,'男',NULL,NULL,NULL)

INSERT INTO K_ClassInfo VALUES(4,'04','网络14级二班','网络专业14级二班')
INSERT INTO K_UserInfo VALUES(4,'Demon','123','王莲',(SELECT ClassID FROM K_ClassInfo WHERE ClassName='网络14级二班'),'女',NULL,NULL,NULL)

SELECT * FROM K_UserInfo WHERE ClassID IN (SELECT ClassID FROM K_ClassInfo WHERE ClassRemke LIKE '%网络%14级%')

SELECT COUNT(*) FROM K_UserInfo WHERE ClassID IN (SELECT ClassID FROM K_ClassInfo WHERE ClassRemke LIKE '%网络%')

DELETE FROM K_UserInfo WHERE ClassID IN (SELECT ClassID FROM K_ClassInfo3 WHERE ClassRemke LIKE '%网络%')
相关文章
|
5天前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
14 3
|
6天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
13 2
|
7天前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
23 2
|
8天前
|
存储 NoSQL 关系型数据库
数据库管理系统
【10月更文挑战第8天】
18 1
|
11天前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
4天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
9天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
43 6
|
7天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
39 3
Mysql(4)—数据库索引
|
9天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
27 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
14天前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
38 5
Mysql(3)—数据库相关概念及工作原理