数据库课程设计学院学生管理信息系统教材_第1页
数据库课程设计学院学生管理信息系统教材_第2页
数据库课程设计学院学生管理信息系统教材_第3页
数据库课程设计学院学生管理信息系统教材_第4页
数据库课程设计学院学生管理信息系统教材_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2009 2010 学年第 二 学期网络数据库课程设计说明书目:学院学生管理信息系统2010 年 7 月 2 日摘要本文简要介绍了用 SQL创建学院学生管理信息系统数据库的过程。 针对每年新生入校和毕业生离校的情况,为了及时掌握在院学生情况,特建 立此数据库。为了提高编程能力, 建库者采用编写代码的形式实现创建过程。创建全程分为系统需求分析、数据库系统概念设计、数据库系统逻辑结 构设计、数据库系统实施等阶段。本文围绕创建过程展开。经过对学院学 生管理信息系统需求的分析,建库者进行了数据库概念结构设计, 绘制 E-R 图。按转换的原则,将概念模型转换为关系模型,并根据实际情况给实体各 属性赋予恰

2、当的数据类型和长度,实现数据库的逻辑结构设计。运用代码创 建“学院学生管理信息系统” 数据库,college 、class 、team、dorm、student 五个基本表,并通过外键建立好表间联系。为每个表创建好存储过程后,利 用存储过程对表中数据进行添加、修改、删除、等操作。因 student 表数据 量大,所以为其建立索引。在假设某种查看数据需求的情况下,建立条件查 询、多表查询。因为本系统针对学生管理,为使输入简化,特对 student 表 中“性别”属性建立默认值,并进行检测。为维护系统正常运行,减低数据 丢失的几率,建库者为系统指定了作业计划及备份。为方便用户查询数据及 保证数据库

3、数据的安全性,定义了用户和权限并设置不同的使用权限。本系 统基本能反映学生信息,可作为 SQL入门实例。关键词: SQLS QL建库实例 SQL 代码 数据库 数据库设计 概念结构 逻 辑结构 视图 索引 查询 默认 备份 用户 角色第一章 系统概述本次课程设计我建立的数据库是学院学生管理信息系统 。该系统是 一个综合的管理信息系统。围绕学生,系统涵盖了学生隶属的班级概况,班 级所属的学院信息,学生所参加运动队的概况及学生住宿状况等。该系统的 设计能够满足对学院、班级、学生、运动队、宿舍等信息的查询以及修改。 该系统性能的完好性将影响学生信息管理。第二章 系统需求分析一个学院根据专业及需要开设

4、多个班级,一个班级只能隶属于一个学 院,所以学院与班级是 1:n 的关系。学院属性有学院编号、学院名称;班 级属性包括班级号、班级名、专业、教室。每一个班级有多名学生,每名学生必须且只能属于一个班级,则班级与 学生对应的关系为 1:n。设学生属性有学号、姓名、性别、年龄。每一个学院有若干运动队,一个运动队只能效力于一个学院,故学院与 运动队的关系为 1:n。参加运动队的同学在运动队里有参加项目。 运动队属 性有运动队号、队名、教练员、活动地点、活动时间。一个宿舍可以有多名学生,但是一个学生只能住在一个宿舍里,宿舍属 性有宿舍号、楼号、人数、管理员。第三章 数据库系统概念设计本系统首先自顶向下进

5、行需求分析,再自底向上设计概念结构,先定义 各局部应用的概念结构,然后按一定的规则将他们集合起来得到全局概念。根据以上系统需求分析,绘制 ER 图如下:队号学院名称队名学院拥有运动队教练员活动时间11活动地点隶属参加项目参加n学号姓名包括班级性别教室班级号年龄住宿专业班级名楼号宿舍人数管理员学院编号宿舍号n学生图 3-1 学院学生信息管理系统 E-R 图第四章 数据库系统逻辑结构设计按转换原则将图 3-1 的学院学生管理信息系统 E-R 视图转化成拥有主键 (下有下划线)和外键(下有波浪线)的关系模型。 学院(学院编号,学院名称) 班级(班级号,班级名,专业,教室,学院编号) 运动队(队号,队

6、名,教练员,活动时间,活动地点,学院编号) 宿舍(宿舍号,楼号,人数,管理员) 学生(学号,姓名,性别,年龄,班级号,队号,宿舍号,参加项目)第五章 表结构设计表 5-1 学院表( College )表结构列名说明数据类型数据长度约束college num学院编号char5主键College name学院名称char20非空表 5-2 班级表( class )表结构列名说明数据类型数据长度约束Class num班级号Char5主键Class name班级名称char20非空major专业Char20classroom教室Char8College_num学院编号char5外键,引用 Colleg

7、e 表的 college num表 5-3 运动队表( team)表结构列名说明数据类型数据长度约束Team num队号char5主键Team name队名char8非空Coach教练char8Place活动地点char10Sporttime活动时间datetimeCollege_num学院编号char5外键,引用 College 表 的 college num表 5-4 宿舍表( Course )表结构列名说明数据类型数据长度约束dorm num宿舍号char3主键Building num楼号char4Total member人数char2adm管理员char80表 5-5 学生表( stu

8、dent )表结构列名说明数据类型数据长度约束Stu num学号char10主键stu name姓名char8非空gender性别char2默认“男”,限“男”或“女”Age年龄smallint默认为 21Class_num班级号5非空,外键,引用 class 表 Class-numTeam num队号char5外键,引用 team 表 team numDorm num宿舍号char3外键,引用 dorm 表 dorm numpro参加项目char10第六章 创建数据库和表6.1 数据库的创建使用查询分析器建库 , 代码如下: create database 学院学生管理信息系统直接在“对象资

9、源管理器”的“数据库”上右击选择“新建数据库”建库。 本文采用第二种方法。6.2 表的创建调用查询分析器,用代码创建表,编写代码过程如图 5-1, 代码如下: create table college(college_num char(5) primary key,college_name char(20) not null); create table class(class_num char(5) primary key, class_name char(20) not null, major char(20), classroom char(8),college_num char(5)

10、references college(college_num); create table team(team_num char(5) primary key, team_name char(8) not null, coach char(8), place char(10), sporttime datetime,college_num char(5) references college(college_num); create table dorm(dorm_num char(3) primary key,building_num char(4), total_member char(2

11、), adm char(8);create table student(stu_num char(10) primary key,stu_name char(8) not null,gender char(2) check (gender in ( 男, 女 ), age smallint default 21,class_num char (5) not null,references class(class_num), team_num char(5) references team(team_num), dorm_num char(3) references dorm(dorm_num)

12、, pro char(10);图 6-1 表结构的创建6.3 关系图的创建在“对象资源管理器” 中“学院学生管理信息系统” 数据库右击 “关系” 新建关系图。关系图如图 5-2 所示。图 6-2 表间关系图第七章 创建存储过程并输入数据7.1 通过存储过程并向表中添加数据打开数据库 0701410103,在“存储过程” 上右击,选择“新建存储过程”, 然后输入代码。7.2 表 college创建存储过程,代码如下CREATE PROCEDURaEd d_college college_num char(5),college_name char(20)AS insert into college

13、(college_num,college_name) values (college_num,college_name) 运用 exec 语句向表中输入数据,过程如图 7-1 所示,表内容如图 7-2 所示。图 7-1 运用 exec 语句向 college 表输入数据图 7-2 表 college 内容7.3 表 class创建存储过程,过程如图 7-3 所示,代码如下 :CREATE PROCEDURE add_class class_num char(5),class_name char(20),major char(20),classroom char(8),college_num c

14、har (5) ASInsert into class(class_num,class_name,major, classroom,college_num)values (class_num,class_name,major,classroom,college_num)图 7-3 创建表 class 存储过程运用 exec 语句向表中输入数据,过程如图 7-4 所示,表内容如图 7-5 所示图 7-4 运用 exec 语句向表 class 输入数据图 7-5 class 表内容7.4 表 team创建存储过程,代码如下 :CREATE PROCEDURE add_team team_num c

15、har(5), team_name char(8),coach char(8),place char(10),sporttime datetime,college_num char(5)AS Insert into team(team_num,team_name,coach,place,sporttime,college_num) values(team_num,team_name,coach,place,sporttime,college_num )运用 exec 语句向表中输入数据,过程如图 7-6 所示,表内容如图 7-7 所示图 7-6 向表 team 输入数据图 7-7 team表内

16、容7.5 dorm 表创建存储过程,代码如下 :CREATE PROCEDURE add_class class_num char(5),class_name char(20),major char(20),classroom char(8),college_num char (5) ASinsert into class(class_num,class_name,major, classroom,college_num)values (class_num,class_name,major,classroom,college_num)运用 exec 语句向表中输入数据,过程如图 7-8 所示,

17、表内容如图 7-9 所示图 7-8 向表 dorm 输入数据图 7-9 表 dorm 内容7.6 tudent 表创建存储过程,代码如下 :CREATE PROCEDURE add_student stu_num char(10),stu_name char(8),gender char(2),age smallint,class_num char (5),team_num char(5),dorm_num char(8),pro char(10)ASinsert into student(stu_num,stu_name,gender,age,class_num,team_num, dorm

18、_num,pro)values(stu_num,stu_name,gender,age,class_num,team_num,dorm _num,pro)运用 exec 语句向表中输入数据,过程如图 7-10 所示,表内容如图 7-11 所 示。图 7-10 向表 student 输入数据图 7-11 表 student 内容第八章 数据库实施8.1 修改将 student 表学号为“ 011101”的学生年龄由 20 岁改为 21 岁 首先,创建存储过程,代码如下:CREATE PROCEDURE update_student stu_num char(10),age smallintAS

19、update student set age=age where stu_num=stu_num 接着,在查询分析器里面执行修改过程,修改前 student 表内容如图 8-1 所 示,修改后如图 8-2 所示。代码如下:exec update_student 011101,21图 8-1 修改前表 student 内容图 8-2 修改后表 student 内容8.2 删除删除表 team 中 team_name为“商院乒乓”的记录 创建存储过程及代码如图 8-3 所示图 8-3 表 team 创建删除的存储过程在查询分析器中输入代码, 执行语句前后标内容对照如图 8 4、图 8-5 所示 代

20、码如下:exec delete_team 商院乒乓图 8-4 表 team 删除“商院乒乓”记录前表内容图 8-4 表 team 删除“商院乒乓”记录后表内容8.3 添加对 college 表添加关于艺术学院的记录: 直接调用已建立好的 add_college 存储过程,在查询分析器中输入代码: exec add_college gxu11, 艺术学院 即可添加艺术学院的记录。结果如图 8-5 所示。8.4 设置默认值并检测将 student 表中学生的性别属性设置默认值为“男” 。右击“默认”,在 名称框输入默认名,在值中输入默认值,点击确定后默认名即建立完毕。创 建过程如图 8-5 。图

21、8-5 创建默认名为“性别”的默认右击“性别”默认,选中“属性”选项,点击“绑定列”进入“将默认值绑定到列 - 性别”选项卡, 选择 dbo.student,将 gender 添加到绑定列框中,点击确定即完成。创建过程如图 8-6 :图 8-6 将表 student 的“性别”属性设置默认检测默认值设置是否成功用查询分析器输入下列代码, 其中代码中没有 为“性别”属性赋值:Insert into student(stu_num,stu_name,age,class_num,team_num,dorm_num,pro) values(011103, 米粒,21,0111,01P,B62,乒乓球

22、);打开 student 表,可见表中添加了“米粒”的记录,并且“性别”属性列里出现值“男”。创建代码如图 8-7 ,结果如图 8-8 、图 8-9 所示。图 8-7 创建默认检测代码图 8-8 添加“米粒”记录前student表的内容图 8-9 添加“米粒”记录后 student 表的内容8.5 建索引因为 student 表数据量较大,比较难维护。故对 student 表建立索引, 以加快数据查询速度,保证数据的唯一性和加快连接速度。建立索引代码如 下:create unique index index_stu_num on student(stu_num asc);8.5 视图8.5.1

23、 一张表内的简单条件查询查询 student 表中学生王刚的学号、 姓名、性别、年龄等个人基本信息。 为此建立视图如图 8-10 所示。代码如下 :select stu_num,stu_name,gender,agefrom studentwhere stu_name= 王刚 图 8-10 查询“王刚”个人信息8.5.2 多表查询假设学校举办校运会, 各学院的运动员需要对自己的学号、 姓名、性别、 参加项目、学院等个人信息进行确认。根据需要,我们建立运动员个人信息 确认的视图如图 8-11 所示。建立视图代码如下:Create view sportmeeting(stu_num,stu_nam

24、e,gender,pro,college_name) As select student.stu_num,student.stu_name,gender,pro,college.college_name from student,college,teamwhere student.team_num=team.team_numandteam.college_num=college.college _num图 8-11 多表查询结果(各学院运动员信息确认)8.6 为数据库创建用户和角色,并为不同的用户设置不同的使用权限 新建角色“wjx ”和“ xun”(如图 812 所示),并赋予他们不同的权限图 8-12 设置角色“ xun ”的权限新建用户 user1 ,登录名为 BUILTINAdministrators ,并赋予此用户wjx”的角色,使他具有 wjx 所具有的权限(如图 813 所示)图 8-13 设置用户 user1 的权限8.7 制定作业计划,让系统在适当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论