数据库课程设计(学院学生管理信息系统).doc_第1页
数据库课程设计(学院学生管理信息系统).doc_第2页
数据库课程设计(学院学生管理信息系统).doc_第3页
数据库课程设计(学院学生管理信息系统).doc_第4页
数据库课程设计(学院学生管理信息系统).doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

2009 2010 学年第 二 学期网络数据库课程设计说明书题 目:学院学生管理信息系统 2010年7月2日摘要本文简要介绍了用SQL创建学院学生管理信息系统数据库的过程。针对每年新生入校和毕业生离校的情况,为了及时掌握在院学生情况,特建立此数据库。为了提高编程能力,建库者采用编写代码的形式实现创建过程。创建全程分为系统需求分析、数据库系统概念设计、数据库系统逻辑结构设计、数据库系统实施等阶段。本文围绕创建过程展开。经过对学院学生管理信息系统需求的分析,建库者进行了数据库概念结构设计,绘制E-R图。按转换的原则,将概念模型转换为关系模型,并根据实际情况给实体各属性赋予恰当的数据类型和长度,实现数据库的逻辑结构设计。运用代码创建“学院学生管理信息系统”数据库,college、class、team、dorm、student五个基本表,并通过外键建立好表间联系。为每个表创建好存储过程后,利用存储过程对表中数据进行添加、修改、删除、等操作。因student表数据量大,所以为其建立索引。在假设某种查看数据需求的情况下,建立条件查询、多表查询。因为本系统针对学生管理,为使输入简化,特对student表中“性别”属性建立默认值,并进行检测。为维护系统正常运行,减低数据丢失的几率,建库者为系统指定了作业计划及备份。为方便用户查询数据及保证数据库数据的安全性,定义了用户和权限并设置不同的使用权限。本系统基本能反映学生信息,可作为SQL入门实例。关键词:SQL SQL建库实例 SQL代码 数据库 数据库设计 概念结构 逻辑结构 视图 索引 查询 默认 备份 用户 角色第一章 系统概述本次课程设计我建立的数据库是学院学生管理信息系统。该系统是一个综合的管理信息系统。围绕学生,系统涵盖了学生隶属的班级概况,班级所属的学院信息,学生所参加运动队的概况及学生住宿状况等。该系统的设计能够满足对学院、班级、学生、运动队、宿舍等信息的查询以及修改。该系统性能的完好性将影响学生信息管理。第二章 系统需求分析一个学院根据专业及需要开设多个班级,一个班级只能隶属于一个学院,所以学院与班级是1:n的关系。学院属性有学院编号、学院名称;班级属性包括班级号、班级名、专业、教室。每一个班级有多名学生,每名学生必须且只能属于一个班级,则班级与学生对应的关系为1:n。设学生属性有学号、姓名、性别、年龄。每一个学院有若干运动队,一个运动队只能效力于一个学院,故学院与运动队的关系为1:n。参加运动队的同学在运动队里有参加项目。运动队属性有运动队号、队名、教练员、活动地点、活动时间。一个宿舍可以有多名学生,但是一个学生只能住在一个宿舍里,宿舍属性有宿舍号、楼号、人数、管理员。第三章 数据库系统概念设计本系统首先自顶向下进行需求分析,再自底向上设计概念结构,先定义各局部应用的概念结构,然后按一定的规则将他们集合起来得到全局概念。根据以上系统需求分析,绘制ER图如下:学院运动队班级学生学院编号学院名称拥有隶属包括参加住宿活动时间活动地点队号队名教练员宿舍学号年龄性别姓名教室专业班级名人数楼号宿舍号管理员1n1n11nn1n参加项目班级号图3-1 学院学生信息管理系统E-R图第四章 数据库系统逻辑结构设计按转换原则将图3-1的学院学生管理信息系统E-R视图转化成拥有主键(下有下划线)和外键(下有波浪线)的关系模型。学院(学院编号,学院名称)班级(班级号,班级名,专业,教室,学院编号)运动队(队号,队名,教练员,活动时间,活动地点,学院编号)宿舍(宿舍号,楼号,人数,管理员)学生(学号,姓名,性别,年龄,班级号,队号,宿舍号,参加项目)第五章 表结构设计表5-1学院表(College)表结构列名说明数据类型数据长度约束college_num学院编号char5主键College_name学院名称char20非空 表5-2班级表(class)表结构列名 说明数据类型数据长度约束Class_num班级号Char5主键Class_name班级名称char20非空major专业Char20classroom教室Char8College_num学院编号char5外键,引用College表的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学生表(student)表结构列名说明数据类型数据长度约束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 学院学生管理信息系统直接在“对象资源管理器”的“数据库”上右击选择“新建数据库”建库。本文采用第二种方法。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) 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), 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), pro char(10);图6-1 表结构的创建6.3关系图的创建在“对象资源管理器”中“学院学生管理信息系统”数据库右击“关系”新建关系图。关系图如图5-2所示。图6-2 表间关系图第七章 创建存储过程并输入数据7.1通过存储过程并向表中添加数据打开数据库0701410103,在“存储过程”上右击,选择“新建存储过程”,然后输入代码。7.2表college创建存储过程,代码如下CREATE PROCEDURE add_college college_num char(5),college_name char(20)AS insert into college(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_namechar(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)图7-3创建表class存储过程运用exec语句向表中输入数据,过程如图7-4所示,表内容如图7-5所示。图7-4运用exec语句向表class输入数据图7-5 class表内容7.4表team创建存储过程,代码如下:CREATE PROCEDURE add_team team_num char(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表内容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所示,表内容如图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_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 smallint AS 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创建删除的存储过程在查询分析器中输入代码,执行语句前后标内容对照如图84、图8-5所示。代码如下: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。图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,乒乓球);打开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一张表内的简单条件查询查询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_name,gender,pro,college_name)As selectstudent.stu_num,student.stu_name,gender,pro,college.college_namefrom 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

提交评论