4 数据库实施
SQL 语言是关系数据库的标准语言,功能丰富,语言简洁,因而备受用户及计算机工业界欢迎。这里是通过在数据库的查询分析器中运用 SQL 语言进行各项数据操作,如插入、修改、删除等。
4.1 数据库的建立及数据插入
use master
go
if exists (select * from sysdatabases where name='学生宿舍管理系统')
drop database 学生宿舍管理系统
go
create database 学生宿舍管理系统
on primary
( name=学生宿舍管理系统_data,
filename='D:\SQLServer2012\学生宿舍管理系统_data.mdf',
size=20MB,
maxsize=2000GB,
filegrowth=10%)
log on
( name =学生宿舍管理_log,
filename='D:\SQLServer2012\学生宿舍管理系统_log.ldf',
size=10MB,
maxsize=2000GB,
filegrowth=5%)
go
use tm
go
--创建房间表
create table 房间
(房号 nchar(10) primary key not null,
可住人数 nvarchar(10),
已住人数 nvarchar(10),
室长 nvarchar(10) )
--创建来客表
create table 来客
(来访人姓名 nvarchar(10) primary key not null,
被访人姓名 nvarchar(10) not null,
联系方式 char(13) not null,
携带物品 nvarchar(20),
来访时间 datetime not null,
离访时间 datetime not null,
备注 nvarchar(20),
房号 nchar(10) not null,
constraint a1 foreign key (房号)references 房间(房号) )
--创建学生表
create table 学生(
学号 char(10)primary key not null,
姓名 nvarchar(10) not null,
性别 char(2) default'男' not null,
班级 nchar(10) not null,
电话 char(13) not null,
房号 nchar(10) not null,
constraint a2 check(性别 in ('男','女')),
constraint a3 foreign key (房号) references 房间(房号) )
--创建卫生评比表
create table 卫生评比(
评比时间 datetime primary key not null,
评比内容 nvarchar(15) not null,
评比结果 nvarchar(15) not null,
房号 nchar(10) not null,
constraint a4 foreign key (房号) references 房间(房号) )
--创建违纪处理表
create table 违纪处理(
违纪时间 datetime primary key not null,
违纪内容 nvarchar(15) not null,
处理结果 nvarchar(15) not null,
学号 char(10) not null,
constraint a5 foreign key (学号) references 学生(学号) )
use tm
--向房间表中插入数据
insert into 房间 values('501','7','5','小乔');
insert into 房间 values('505','7','5','大乔');
insert into 房间 values('502','7','6','王昭君');
insert into 房间 values('503','8','8','伽罗');
insert into 房间 values('504','8','7','虞姬');
--向来客表中插入数据
insert into 来客 values('杨钰','小乔','123001','书','2021-8-31 14:30','2021-8-31 15:30',' ','501');
insert into 来客 values('艾琳','伽罗','123002',' ','2021-8-30 14:00','2021-8-30 14:30',' ','503');
--向学生表里插入数据
insert into 学生 values('1909001','小乔','女','计本1901','123003','501');
insert into 学生 values('1909002','大乔','女','计本1901','123004','505');
insert into 学生 values('1909003','王昭君','女','网络1901','123005','502');
insert into 学生 values('1909004','伽罗','女','网络1902','123006','503');
insert into 学生 values('1909005','虞姬','女','数学1901','123007','504');
--向卫生评比表中插入数据
insert into 卫生评比 values('2021-9-1 19:00','物品整齐,无垃圾','优秀宿舍','501');
insert into 卫生评比 values('2021-9-2 20:00','垃圾未处理','较差宿舍','502');
insert into 卫生评比 values('2021-9-3 21:00','物品整齐,无垃圾','优秀宿舍','503');
insert into 卫生评比 values('2021-9-4 22:00','物品摆放不整齐','较差宿舍','504');
--向违纪处理表中插入数据
insert into 违纪处理 values('2021-9-5 19:30','使用违禁电器','没收处理','1909003');
insert into 违纪处理 values('2021-9-6 19:30','乱拉电线','警告处理','1909005');
4.2 数据库的操作
(1)查询操作
--1给定学号,按学号查询指定学生的基本信息。
--查询学号为“1909001”的学生的基本信息
select *
from 学生
where 学号='1909001'
--2给定姓名,按姓名查询指定学生的基本信息。
--查询姓名为“伽罗”的学生的基本信息
select *
from 学生
where 姓名='伽罗'
--3给定房号,按房号查询学生基本信息
--查询房号为505的学生信息
select *
from 房间
where 房号='505'
(2)修改操作
--1给定学号,修改学生基本信息
--修改学号为'1909002'学生基本信息
update 学生
set 电话='123010'
where 学号='1909002
'
--2给定姓名,修改基本信息
--修改姓名为'杨钰’的基本信息
update 来客
set 被访人姓名='大乔'
where 来访人姓名='杨钰'
(3)删除操作
--给定学号,删除违规信息
--删除学号为'1909003'学生的违规信息
delete
from 违纪处理
where 学号='1909003'
5 总结
历时一周的课程设计,我在数据库方面有了更多的体会。通过课程设计中的要求,首先复习回顾了上学期课本中的知识,既巩固了知识也为这次设计打下坚实的基础。首先是对该设计的需求分析,学会站在情景之外,把所有涉及到的对象抽象化为实体,确定了研究对象之后,考虑该对象应该包含哪些属性,提炼出最重要、不可或缺的属性,为这些属性分配数据结构和长度,然后寻找实体之间的联系,形成初始的E-R图,然后对E-R图进行优化,最终确定关系模式,完成本次设计。
通过本次运用数据库知识对学生宿舍管理系统的设计,我了解了做一个简单数据库系统开发的过程。在整个设计过程中,遇到很多问题,通过网上搜索、查询课本、与同学交流讨论,都得到了很好的解决,在处理问题的过程中,提高了我的综合能力。
同时,我也体会到了数据库的广泛应用和功能的强大。我们生活中的各个方面都离不开数据库的支撑,数据库的职业前景光明,我一定会更加努力学习,学以致用,向更高的目标努力!
参考文献
[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2002
[2] 李春葆.数据结构(C语言版)习题与解析[M]. 北京:清华大学出版社,2002
[3] 萨师煊,王珊.据库系统概论[M].北京:高等教育出版社,2000.
[4] 李雁翎,张屯,王丛林.数据库技术及应用[M].北京:高等教育出版社,2010.