学校管理数据库系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训报告
一.实训任务
本试训的任务是“学校管理数据库系统”的设计与实现,本系统是为了方便学校管理而设计的,具体包括:院系管理子系统、专业管理子系统、住宿管理子系统、选课管理子系统,以及图书借阅管理子系统。
二.实训步骤
1.需求分析阶段
院系管理子系统主要用于学校各个院系的管理。假定部门在成立时提供了院系名称(不可以为空)、院系编号(唯一)、院系领导(可以为空)信息。
专业管理子系统主要用于学校的专业建设与管理。假定在专业成立时提供了专业号、专业名称及所属系。一个专业只属于一个系,但一个系可以含有多个专业(也可以为0)。在学生入校前就要为学生建好班级,入校后皆有了唯一的班级和学号,在该系统中包含学生的多个信息。
住宿管理子系统主要为了方便学生住宿的管理,为学生更好的服务。
选课管理子系统旨在学生选课注册管理和学生成绩。假设学生入校后提供了学号、姓名等个人信息,其中学号是他们唯一拥有的,学校开设的课程,每门课都有其课程号、课程名、任课教师等的基本信息,其中各科有唯一的课程号。在学生开学选课,放学登记成绩。
图书借阅管理系统主要方便图书馆里工作人员的管理。假定学生开学时提供了各自的有效信息,同样学生的学号时唯一的,用学号当作学生的节借阅证号,图书有其自己的书号、书名、出版社等的信息,唯一的是书号。允许学生自由借书还书,以便登记借阅时间。
2.概念模型设计阶段
3.逻辑模型设计阶段
图B. 1 学生档案表
图B. 2 宿舍楼管理表
. . . . . .
4.逻辑结构设计阶段
表C.1 数据库 College
5.数据库实施阶段
a.创建数据库
use master
if db_id('College')is not null
begin
drop database College
end
create database College
on primary
(name=College_data,
Filename='F:\课程\chm SQL sever\作业\qlshooldb_data.mdf',
size=5mb,
Maxsize=30mb,
Filegrowth=10%)
log on
(
name=College_log,
Filename='F:\课程\chm SQL sever\作业\qlchooldb_data.ldf', size=4mb,
Maxsize=10mb,
Filegrowth=1mb
)
b.创建表
use College
if object_id('宿舍楼管理表')is not null
drop table宿舍楼管理表
if object_id('课程表')is not null
drop table课程表
. . . . . . .
go
create table班级表
(
c_no char(8)primary key,
sub_id char(2)null
)
create table学生档案表
(
s_no char(10)primary key,
c_no char(8)references班级表(c_no),
s_name char(10)nuLL,
sex char(2)null,
jiguan char(20),
birthday char(20)
)
. . . . . . .
c.向表插入信息
--向系部表插入信息
use College
go
insert into department
values('11','计算机系','1101');
insert into department
values('12','化学工程系','1201');
insert into department
values('13','基础课程','1301');
insert into department
values('14','总务处','3101');
go
--向专业表插入信息
use College
insert into院系部门结构表values('11','计算机系','1101') insert into院系部门结构表values('12','化学工程系','1201') insert into院系部门结构表values('13','基础课部','1301') insert into院系部门结构表values('14','总务处','3101') insert into专业目录表values('11','计算机软件','11')
insert into专业目录表values('12','计算机应用','11')
insert into专业目录表values('21','应用化学','12')
insert into专业目录表values('22','高分子材料','12')
......
d.创建索引
use College
if exists(select name from sys.indexes where name='IX_班级表')
drop index IX_班级表on班级表
create unique
index IX_班级表
on班级表(c_no)
go
if exists(select name from sys.indexes where name='IX_教工表')
drop index IX_教工表on教工表
create unique
index IX_教工表
on教工表(tea_id)
go
. . . . . .
e.创建视图
use College
go
create view V_学生成绩管理
as
select院系部门结构表.dep_name,专业目录表.sub_name,班级
表.c_no,学生档案表.s_no,学生档案表.s_name,课程
表.course_name,选课表.grade
from学生档案表,课程表,选课表,院系部门结构表,专业目录表,班级表