数据库大作业报告.docx
- 文档编号:11244399
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:13
- 大小:90.70KB
数据库大作业报告.docx
《数据库大作业报告.docx》由会员分享,可在线阅读,更多相关《数据库大作业报告.docx(13页珍藏版)》请在冰豆网上搜索。
数据库大作业报告
数据库大作业报告
课程设计题目:
学生选课系统
******
学号:
**********
专业:
计算机科学与技术
系别:
计算机学院
一:
摘要
二:
课程设计任务的需求分析
三:
概念结构设计
四:
逻辑结构设计
五:
物理结构设计
六:
数据实现
七:
数据库维护
一、摘要
本文以一个具体的应用系统-学生选课信息系统的设计与实现来说明如何利用UML和EJB组件来设计和构建分布式软件的系统平台,现在的信息管理系统软件的开采,采用组件技术可以提高效率,信息管理系统的分析设计业可以采用UML来进行,两者的结合可以极大地体改开发效率,保证系统开发的易维护性。
随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨,运用计算机辅助选课,开发一套在线选课系统是十分必要的,技能实时的对大量选课数据进行检验和统计,十分方便的输出选课结果,同时也避免了人工处理时容易产生的错误。
二、课程设计需求分析
作为数据库课程设计题目,鉴于设计时间有限,我们不追求大而全,只是把学生选课所涉及的核心内容作为数据库管理的对象来进行设计。
要完成对学生选课的管理,系统必须管理学校的教师信息,学生选修课程的信息,学生开设所有的课程信息,学校的院系信息,专业设置信息,教师开设课程信息等。
选课系统主要满足三类用户需求,这三类用户分别是教务处的系统管理员,教师和学生,他们所具备有的操作权限以及操作的内容是不同的。
要求选课系统可以满足以下功能:
系统管理员能对学生信息,教师信息课程信息等进行有效的管理和维护,包括增加,删除,修改等基本的维护功能和灵活的查询功能,教师和学生能够对个人基本信息,教授,选课所涉及的有关信息进行查询,更新等操作。
需求分析如下。
(1)系统管理员
1)维护学生的个人基本信息,实现对学生个人信息的增加,删除更新等。
学生信息包括学生的学号,姓名,性别,院系,专业,年龄,电话,EMAIL,地址等。
2)维护教师个人信息,实现对教师个人信息的增加,删除,更新等。
教师信息包括教师的工号,姓名,性别,院系,职称,年龄,电话,EMAIL地址等。
3)维护课程信息,实现对课程信息的增加,删除,修改等。
课程信息包括课程号,课程名,课程性质,学分等。
(2)学生用户
1)查询和修改个人信息,如电话,EMAIL地址等。
2)进行选课操作,包括查看课程设置信息,选课,退选,查看已选课程等。
3)学生科查看自己当钱所选课程的信息和以前所选课程的成绩信息
(3)教师用户
1)查询和修改个人信息,如电话,EMAIL地址等。
2)课程结束后,教师对所教授的学生进行成绩登记。
3)教师可以查看自己的教学安排,包括讲授课程,学时数,以往所教授课程的学生成绩等信息。
教学管理的基本规定是:
每门课程可以由多个教师开设不同老师开设的同门课程有不同的代码,每个教师可以开设多门课程,每个学生可以选修多门课程,每门课程有多个学生选修,每个学生选修每门课程都会获得一个成绩。
三、概念结构设计
(1)抽象出系统的实体
学生选课系统只要包含学生、教师、课程3个实体,下图为三个实体的E-R图,其中加下划线的属性为三个实体的主键。
图2-1学生实体及属性
图2-2教师实体及属性
图2-3课程实体及
(2)设计分E-R图
根据需求分析的结果,在学生选课系统中有以下关系:
1)学生与教师:
一个教师可以教授多名学生,每个学生可以选择多个教师的课程。
所以,学生与教师之间是通过选课进行联系的,并且两者之间的关系是多对多的联系。
2)学生与课程:
一个学生可以选择多门课程,一门课程可以对多个学生开放。
因此,学生与课程之间是多对多的联系。
学生选修一门课程会有一个成绩。
3)教师与课程:
一个教师可以教授多门课程,一门课程同时也可以被多名教师教授。
因此教师与课程之间的关系是多对多的联系。
根据上述分析,得到各个局部的E-R图如下:
图2-4学生和教师之间的E-R图图2-5学生与课程之间的E-R图
四:
逻辑结构设计
逻辑结构设计就是将概念结构设计中的全局E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
根据介绍的E-R图向关系数据模型转换的相关规则,将图2-5所示图转换为关系数据模型,得到学生选课系统的关系模式如下:
●教师(工号,姓名,性别,院系,年龄,职称)为教师实体对关系模式,其中学号是学生教师的关系主键。
●学生(学号,姓名,性别,专业,院系,年龄)为学生实体对应的关系模式,其中学号是学生关系的主键。
●课程(课程号,课程名,学分,课程性质)为课程实体对应的关系模式,其中课程号是课程关系的主键。
●选课(学号,工号,课程号,成绩)为联系“选课”对应的关系模式。
因为选课时学生课程和教师之间的多对多联系,因此学生,教师和课程的主属性,以及选课联系本省的属性“成绩”,共同构成了选课关系模式的属性其中学号,工号课程号的组合是选课关系的主键。
五:
物理结构设计
学院表
字段名
类型
属性
学院编号
Char(10)
主键
名称
Char(8)
not null
学院类型
Char(10)
not null
院长姓名
Char(20)
not null
院长地址
Char(100)
not null
院长电话
Char(10)
not null
年级表
字段名
类型
属性
年级编号
Char(10)
主键
名称
Char(10)
Notnull
备注
Char(10)
学生表
字段名
类型
属性
学号
Int(10)
主键
姓名
Char(8)
not null
性别
Char
(2)
not null
出生年月
Datetime
身份证号码
Int(18)
not null
学院编号
Char(6)
not null
所在专业
Char(20)
not null
课程表
字段名
类型
属性
课程编号
Char(10)
主键
课程名称
Char(8)
not null
课程类型
Char(10)
学分
Smallint
(1)
学时
Smallint
(2)
上课时间
Char(10)
not null
上课教室
Char(10)
not null
教师表
字段名
类型
属性
教师编号
Char(10)
主键
姓名
Char(8)
not null
性别
Char
(2)
not null
所教课程
Char(10)
not null
联系电话
Char(10)
not null
家庭住址
Char(100)
not null
六:
数据库实现
1.数据库的建立用企业管理器,基本表的建立用T-SQL语言:
数据库名称为:
网上选课系统数据库设计
建立数据库的T-SQL代码如下:
Create database 网上选课系统数据库设计
On (name=‘网上选课系统数据库设计dat’,
filename=‘D:
\马新龙\ 网上选课系统数据库设计.mdf’),
(name=‘网上选课系统数据库设计dat-1’,
filename=‘D:
\马新龙\ 网上选课系统数据库设计.ndf’)
Log on (name=’网上选课系统数据库设计log’,
filename=’D:
\ 马新龙\网上选课系统数据库设计.lmf’)
建立基本表的T-SQL代码如下:
use网上选课系统数据库设计
create table 学院(学院编号 char(10) not null CONSTRAINT
Pk-学院编号 primary key, 名称 char(8) not null,
学院类型 char(10) not null,
院长编号 char(10) not null,
院办地址 char(100) not null,
院办电话 char(10) not null)
create table 年级(年级编号 char(6) not null CONSTRAINT
Pk-年级编号 primary key,
年级名称char(10) not null,
备注char(10) not null)
create table 学生(学号 int(10) not null CONSTRAINT
Pk-学号 primary key,
姓名 char(8) not null,
性别 char
(2) not null,
出生年月 Datetime,
身份证号 char(18) not null,
学院编号 char(6) not null,
所在专业 char(20) not null)
create table 课程 (课程编号 char(6) not null CONSTRAINT
Pk-课程编号 primary key,
课程名 char(40) not null,
课程类型 char(12) not null,
学分数 smallint ,
学时数 smallint,
上课时间 char(10) not null,
上课所在教室 char(10) not null)
create table 教师(教师编号 char(10) not null CONSTRAINT
Pk-教师编号 primary key,
姓名 char(8) not null,
性别 char
(2) not null,
课程名 char(10),not null,
电话 char(10),not null
家庭住址 char(100),not null)
2.插入功能(下面主要是一些简单的信息插入)
Insert into 学生 values(‘3007207284’,’马新龙’,男’,’1988.12.30’,’******************’,’001’,’过程装备与控制工程’)
3.创建索引(提高学生查询所需东西的速度,下面只是几个简单的例子)
Create index idx 学生 On 学生(c姓名)
Create CLUSTERED Index idx课程
On 课程(c课程名,c学分数)
4.创建视图(下面只是几个简单的例子)
Create view vw信息 As
Select 姓名,所在专业,课程 From 学生 join 学院
On 学生.学院编号=学院.学院编号
通过视图简化了对一些表中数据的查询,下面通过视图来执行该查询:
Select 姓名,所在专业 From vw信息
5.创建存储过程(下面主要说明经常要获得学生姓名,学号,所在专业,为了提高执行速度所做的工作以及教师的姓名,电话)
Create procedure 学生资料 As Begin Print 名单
Select 姓名,学号,所在专业 From 学生 end
create procedure 教师信息 as
begin
print 名单
select 姓名,电话
from 教师
end
6.查询数据(下面是一个简单的查询)
Select 姓名,学号,所在专业
From 学生
Where 性别=‘男’
下面是关于显示所有学生的信息的查询:
Select *
From 学生
7.修改数据(下面是通过上面的视图更新学生的选课信息)
Update vw信息
Set 所选课程=‘ ’
Where 姓名=‘
七:
数据库维护
1.备份维护数据库
数据维护包括许多内容,包括用户权限的设置,数据库完整性维护,数据库的备份,表的备份,日志备份等。
这里重点介绍数据库的备份。
SQLserver2005提供了4种不同的备份方式,它们分别为:
1)完整备份:
备份整个数据库的所有内容,包括事务日志。
该备份类型需要比较大的存储空间来存储备份文件,备份时间也比较长,在还原数据时,也只需要一个备份文件。
2)差异备份:
它是完整备份的补充,差异备份至备份上次完整备份后更改的数据。
相对完整备份来说,差异备份的数据量比完整备份小,备份的速度也比完整备份要快。
因此数据库管理员经常采用的是一次完整性备份之后,进行多次差异备份。
在还原多次差异备份,在还原数据时,要先还原前一次做的完整备份后再还原最后一次所做的差异备份,这样才能让数据库里的数据恢复到与最后一次差异备份时的相同内容。
3)事务日志备份:
事务日志备份只备份事务日志里的内容。
事务日志记录上一次完整备份或事务日志备份后数据库的所有变动情况,因此在做事务日志备份之前,也必须要做一次完整备份。
事务日志备份在还原数据时,除了先要还原完整备份之外,还要一次还原每个事务日志备份,而不是只还原最近一个事务日志备份。
4)数据库文件和文件组备份:
如果在创建数据库时,为数据库创建了多个数据库文件或文件组,可以使用该备份方式。
使用文件和文件组备份方式可以只备份数据库中的某些文件,该备份方式在数据库文件非常庞大的时候十分有效,由于每次只备份一个或多个文件和文件组,可以分多次来备份数据库,避免大型数据库备份的时间过长。
另外,由于文件和文件组只备份其中一个或多个数据文件,因此当数据库里的某个或某个文件损坏时,可以只还原损坏的文件或文件的形式。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 作业 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)