已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东华理工大学软件学院课程设计报告 课程设计题目:学生证管理系统数据库的设计与实现 专 业: 网络工程 班 级: 10211303 姓 名: 柯尊国 学 号: 21 指导教师: 游胜玉 2011年 12 月 1 日目 录一实验题目.32 实验时间、地点.33 实验目的.34 实验要求.35 实现思路1.课题分析.42.E-R图 .4六实现过程.47 实验总结.118 心得体会.11.实验题目 学生证管理系统数据库的设计与实现描述:设计一个学生证管理系统。实现下列功能:1.录入某位学生的学生证信息2.给定学号,查询某位学生的学生证信息;3.给定班号,显示该班所有学生的学生证信息; 4.给定学号,修改该学生的学生证信息; 5.给定学号,删除该学生的学生证信息。.实验时间、地点 1.上机时间:2011.11.28-2011.12.1 2.软件楼508机房.实验目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。 .实验要求 1对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作).实现思路1. 课题分析从本校的学生证系统着手分析本课题。学生证囊括了一个学生的多方面信息,可以说是一个学生的“通行证”,也是唯一标识。具体来说,学生证管理系统包括以下几个方面:1、 学生基本信息。包括学生姓名,班级号,学号,性别,年龄,民族,籍贯等2、 学校基本信息。包括学校名,学院名,专业名,班级号3、 注册信息。包括注册日期,截止日期,学号其中,学生信息和学校之间以班级号作为连接,学生信息和注册时间之间以学 号作为连接。所以,该系统应建三张表,分别为学生信息表,学校信息表,注 册时间表。 2.E-R图学生信息表: 学生信息 姓名 学号 班级号 性别 年龄 籍贯 民族 系别信息表: 学校信息学院名 学校名 班级号 注册信息表: 注册信息 学号 注册日期 截止日期 全局E-R图: 学校 系别名 学生证 1 专业名 1班级号 注册日期拥有 注册 截止日期 n 1 学生性别 姓名 学号 班级号 年龄 籍贯 民族 .实现过程create database student -创建学生数据库on(name=student_data, filename=f:数据库studentdata.mdf, -位置可更改 size=50, maxsize=100, filegrowth=15)log on(name=student_log, filename=f:数据库studentdata.ldf, -位置可更改 size=25, maxsize=75, filegrowth=10)=创建表=create table 学生信息 -创建学生基本信息表(姓名 char(10), 班级号 int, 学号 int, 性别 char(6), 年龄 int, 籍贯 char(10), 民族 char(10) )create table 学校信息 -创建学校信息表(学校 char(40), 学院 char(20), 专业 char(20), 班级号 int)create table 注册信息 -创建注册信息表(学号 int, 注册时间 datetime, 截止日期 datetime)create view 学生证 -创建学生证信息(包括以上三个表中的信息)as select 姓名,学校信息.班级号,注册信息.学号,性别,年龄,籍贯, 民族,学校,学院,专业 from 学生信息,学校信息,注册信息where (学生信息.班级号=学校信息.班级号 and 学生信息.学号=注册信息.学号)create procedure judge -判断学生证信息是否存在(sno int) -以学号为判断基准as begindeclare j1 varchar(50)declare j2 varchar(50)declare j3 varchar(50)declare j4 varchar(50)set j1=信息已存在!set j2=无该学生信息!set j3=信息已存在,但未注册,请注册!set j4=信息不存在,请录入! if exists (select * from 学生证 where 学生证.学号=sno) print j1else begin print j2if exists (select * from 个人信息 where 个人信息.学号=sno)print j3else print j4 end end=录入学生信息=create procedure Register -注册信息(sn int, st datetime, en datetime)as insert into 注册信息values(sn,st,en)create procedure enter1 -录入信息1(学生基本信息)(sna char(10), sno int, cno int, ss char(4), sa int, sb char(10), sr char(10)asinsert into 学生信息values(sna,sno,cno,ss,sa,sb,sr)create procedure enter2 -录入信息2(学校信息)(number int, school char(40), academy char(20), major char(20)asinsert into 学校信息values(number,school,academy,major)=查询学生信息=create procedure see -通过view进行查询( sno int ) -通过学号查询asbegin declare cant varchar(50)set cant=无该学生信息if exists (select * from 学生证 where 学号=sno)select 姓名,班级号,学号,性别,年龄,籍贯, 民族,学校,学院,专业from 学生证where 学号=snoelse print cantendcreate procedure DisplayInfor -通过班级号查询( cno int )asbegin declare cant varchar(50)set cant=无相关信息if exists (select * from 学生证 where 班级号=cno)select *from 学生证where 班级号=cnoelseprint cantend=修改学生信息=create procedure change( sno char(10) )asbegindeclare cant varchar(50)set cant=无此学生证信息,不能修改if exists (select * from Stu_card where SNo=sno)beginselect * from Stu_card where SNo=snoendelse print cantendcreate procedure change1 -修改学生基本信息(sname varchar(30),sno char(10),classno char(6),sex char(2),age int, birthplace varchar(30),native char(2)as update 学生信息Set 姓名=sname,班级号=sno,学号=classno,性别=sex,年龄=age,籍贯=birthplace,民族=nativecreate procedure change2 -修改学校信息( number int, school char(40), academy char(20), major char(20)asupdate 学校信息set 班级号=number,学校=school,学院=academy,专业=majorcreate procedure change3 -修改注册信息(sn int, st datetime, en datetime)asupdate 注册信息set 学号=sn,注册时间=st,截止日期=en=删除学生信息=create procedure delete1 -判断某学生信息是否存在( sno int )asbegindeclare cant varchar(50)set cant=无此学生证信息,不能删除if exists (select * from 学生证 where 学号=sno)beginselect * from 学生证 where 学号=snoendelse print cantendcreate procedure delete2 -删除学生信息(sno int)as deletefrom 学生信息where 学号=sno create trigger changed2 -更新学生信息on 学生信息for deleteas select * from 学生证create procedure delete3 -删除学校信息(cno int)as deletefrom 学校信息where 班级号=cnocreate trigger changed3 -更新学校信息on 学校信息for deleteas select * from 学生证create procedure delete4 -删除注册信息(sno int)asdeletefrom 注册信息where 学号=snocreate trigger changed4 -更新注册信息on 注册信息for deleteasselect * from 学生证.实验总结首先,在设计方面,考虑到数据的冗余及冲突等问题,将学生证信息分别存储到三个表中,考虑了系别信息数据,学生信息数据及学生证注册信息数据的独立性问题。其次,在设计表时,注意了数据的数据类型及长度的选择,考虑各种数据的添加情况,如汉族非少数民族,在添加该项时将“汉”设置为默认情况,同时还要保证不浪费数据的存储空间。第三,使用了视图view,实现数据的保密性,将学生证所需信息以视图方式存放,在数据查询时使用视图查询。第四,对于各功能的实现,均使用了存储过程procedure,通过传递参数得到想要的结果。在实现功能时,注意了条件的判断,根据分析各种情况,实现不同的操作。例如,在实现信息的添加时,总的分两种情况,一是存在信息,另一个则是不存在信息,在不存在信息中又需考虑两种情况,即存在该学生信息,但由于未注册学生证,因此也不存在学生证信息;另一是根本不存在该学生信息。针对这两种情况,在添加信息时就有两种不同的方法。第四,在本系统中使用了触发器trigger,触发器用于响应数据库更新,因此在删除信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 放假前安全教育内容课件
- 地下室混凝土结构自防水性能提升全案课件内容
- 2025-2026学年上学期高一生物沪科版(2020)期末必刷常考题之细胞通过分化形成多细胞生物体
- 2025年度山东继续教育公需科目考试题(含答案)
- 山东省预防医学理论考试试题及答案
- 煤矿安全管理培训课件
- 公共基础知识测试题集(含答案)
- 2025年平安校园杯校园安全知识竞赛题库
- 【题库】有限空间作业完整版题库(含标准答案)
- 2021年保育员(高级)考试模拟试题(一四七八)
- 老年人误吸的预防
- 驻足思考瞬间整理思路并有力表达完整版
- 文明工地施工宣传标语
- 基于太阳能电池板的智能跟踪系统设计
- 小学六年级全册体育教案(已整理)
- 2 试验二 系统相频特性对信号传输的影响试验 2
- 建筑装饰设计收费标准(完整版)资料
- GB/T 12970.1-2009电工软铜绞线第1部分:一般规定
- 湖南省邵阳市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 危险源辨识风险评价记录表格范例范例
- 阀门维修要求及验收标准
评论
0/150
提交评论