54-学生选课系统数据库-选课信息数据操作
项目描述
随着信息技术的不断发展,几乎所有高校都在进行信息化建设,越来越多的学校提供基础课程之外的选修课。因此,需要开发一套学生选课系统对整个过程进行统一管理,涉及学生基础信息、课程信息、教师信息、选课信息、评价管理等。本项目就是实现学生选课系统数据库中选课信息表的相关介绍和数据操作。
学生选课系统的数据库操作要求如下:
1)数据库XSXKXTDB。
2)选课信息表XKB,表结构如表J2-54-1所示。
表J2-54-1 XKB表结构
字段名 | 字段说明 | 数据类型 | 允许为空 | 备注 |
---|---|---|---|---|
XKid | 选课编号 | 整型 | 否 | 主键、自增 |
XKstu | 选课学生 | 字符(10) | 否 | 外键 |
XKkc | 选课课程 | 字符(6) | 否 | 外键 |
XKcj | 选课成绩 | 整型 | 否 | 默认值0 |
XKbz | 备注 | 字符(200) | 是 |
3)XKB表中基础数据,如表J2-54-2所示。
表J2-54-2 XKB表基础数据
XKid | XKstu | XKkc | XKcj | XKbz |
---|---|---|---|---|
1 | 2013010101 | 100001 | 85 | |
2 | 2013010101 | 100002 | 68 | |
3 | 2013010202 | 100003 | 75 | |
4 | 2013010203 | 100001 | 69 |
(1)任务描述
任务1:用SQL语言创建学生选课系统数据库XSXKXTDB
1)判断系统中是否有XSXKXTDB名字的数据库,如果有则删除;如果没有则创建数据库XSXKXTDB。
2)主数据库文件初始值8MB,最大30MB,按2MB进行递增。
3)日志文件初始值为5MB,最大为10MB,自动增长。
IF DB_ID('XSXKXTDB') IS NOT NULL DROP DATABASE XSXKXTDB
GO
CREATE DATABASE XSXKXTDB
ON PRIMARY
(
NAME=XSXKXTDB,
FILENAME='D:\xxxx\XSXKXTDB.mdf',
SIZE=8MB,
MAXSIZE=30MB,
FILEGROWTH=2MB
)
LOG ON
(
NAME=XSXKXTDB_log,
FILENAME='D:\xxxx\XSXKXTDB_log.ldf',
SIZE=5MB,
MAXSIZE=10MB
)
任务2:用SQL语言创建选课信息表XKB
1)按照提供的表J2-54-1结构创建数据库表,并设主键。
CREATE TABLE XKB
(
XKid INT NOT NULL PRIMARY KEY IDENTITY(1,1),
XKstu NVARCHAR(10) NOT NULL,
XKkc NVARCHAR(6) NOT NULL,
XKcj INT NOT NULL Default 0,
XKbz NVARCHAR(200),
FOREIGN KEY(XKstu) REFERENCES XSB(Xid),
FOREIGN KEY(XKkc) REFERENCES KCB(Kid),
)
任务3:用SQL语言对选课信息表XKB进行操作
1)查询出课程“100001”被选次数。
2)将选课信息表XKB中成绩字段默认值修改为60。
3)将课程所有课程为“100001”的成绩都加10分。
4)删除课程编号为“100003”的选课记录。
INSERT INTO XKB
VALUES
('2013010101','100001',85,NULL),
('2013010101','100002',68,NULL),
('2013010202','100003',75,NULL),
('2013010203','100001',69,NULL)
SELECT COUNT(*) FROM XKB WHERE XKkc='100001'
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('XKB')
and b.name='XKcj'
ALTER TABLE XKB
DROP CONSTRAINT DF__XKB__XKcj__2C3393D0
ALTER TABLE XKB
ADD Default 60 FOR XKcj
UPDATE XKB SET XKcj=XKcj+10 WHERE XKkc='100001'
DELETE XKB WHERE XKkc='100003'