SQL学生学籍管理系统.doc
如有侵权,请联系网站删除,仅供学习与交流SQL学生学籍管理系统【精品文档】第 10 页SQL Sever数据库课程设计报告_学年第_学期班级 _姓名 _ _ _ 指导教师 _二0一0年_月_日目录第一章 SQL Server 简介SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本;Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 SQL Server 2000 的特性Microsoft® SQL Server? 2000 的特性包括: 1、Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。 2、可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 3、企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 4、易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 数据仓库。 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。 SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版第二章 数据库设计 2.1学生学籍管理系统学生学籍管理是教育教学单位不可缺少的部分,它的内容对教学管理和学校的决策者都非常重要。给学校教学管理提供了很大的方便性,提高了工作效率。但是一直以来人们用传统人工的方式管理文件文档,这种管理方式效率低,保密性差,出错不易更改,同时也耗费了大量的人力财力,时间一长,将产生大量的文件数据,这对于查找,维护,更新都带来了很大的困难。随着科学技术的不断发展,尤其是计算机软件水平的日益提高,使得以上问题得到了很好的解决。使用计算机可以方便的对大量数据进行增加,删除,更新等操作。它有着人工管理永远无法比拟的优点: 检索迅速,查找方便,可靠性大,存储量大,保密性好,寿命长,成本低等。例如:通过校园网,我们可以方便的进行学生信息查询,学生成绩的添加,以及最新的教务通知等。当然,这些都离不开数据库技术和网络技术的支持。数据库是数据管理的最新技术,是计算机计算机技术的重要分支,也是计算机领域发展最快的学科之一。学生学籍管理系统就是数据库在网络上应用。综上,开发这样的一套软件十分必要。同时旧的人工管理机制必将被以计算机为基础的信息管理所取代,从而实现对数据的高效,长久,安全的管理。2.2需求分析2.1.1数据字典主要涉及到以下几个表,分别为:学生基本信息表,课程表,专业信息表,课程设置表,学生选课表,学生与专业之间的属于表以及管理人员的密码表。以下是数据字典:学生基本信息表 专业信息表 Sno学生的学号Sname学生姓名Ssex性别Ssbirth学生的出生年月Pno专业编号Pname专业名称Pnum专业人数Pdept专业所在院系课程表 课程设置表Cno课程号Cname课程名Cperiod学时Cno课程号Cname课程名Cperiod学时 学生选课表 学生与专业的属于表Sno学生的学号psenior学期cno课程编号grade成绩sno学生的学号pno专业的编号管理人员密码表uname管理人员的编号upasw管理人员的密码2.1.2功能需求:(1)实现学生基本情况的录入,修改,删除等基本操作。(2)对学生基本信息提供灵活的查询方式。(3)完成一个班级的学期选课功能。(4)实现学生成绩的录入,修改,删除等基本操作。(5)能方便的对学生的个人学期成绩进行查询。2.3 数据库设计2.3.1概念结构设计局部ER图 学号 姓名 性别出生年月专业 学生整体的ER图专 业学生课程院系专业号 学时出生年月性别姓名学号密码课程号专业名 人数专业号设置课程号 学期课程号选课 属于 学号成绩学期课程名2.3.2 逻辑结构设计ER图转换为关系模型由ER图可见:图中有三个实体:学生,课程,和专业;三个关系:学生选课关系,学生与专业之间的属于关系,专业的课程设置。由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:学生基本信息表: S (sno, sname, ssex, sbirth, spasw) 课程基本信息表: C (cno, cname, cperiord) 专业基本信息表: P (pno, pname, pnum, psdept)对应的属性分别为:学号,姓名,性别,出生日期,登陆密码 课程编号,课程名,学期 专业编号,专业名,专业人数,所在院系对于多对多的关系来说,与该联系相连的实体的码以及本身的属性均转换为关系的属性,各实体之间的码组成关系的码或者关系的码的一部分。 以上ER图的三个联系为多对多,所以转换为关系模式为:课程设置表:pc ( pno, psenior, cno) 与设置相连的实体有专业和课程,根据多对多的转换原则:专业的码pno,课程的码cno以及设置本身的属性共同构成该关系模式的码,所以该关系模式的码为全码。学生选课表:SC (sno, psenior, cno, grade)与选课相连的实体有学生和课程,同上由学生的码sno,课程的码cno以及选课本身的码psenior构成该关系模式的码,即(sno,cno,psenior)。此外,选课表还有一个非主属性grade。学生与专业的属于表:SP(sno,pno)与属于关系相联的实体是学生和专业。同上由学生的码sno,专业的码pno构成该关系模式的码,由于此关系没有其他的码也就没有非主属性。关系模式的优化:学生表 s (sno,sname,ssex,sbirth,spasw)该关系模式的码为sno,由于只有一个码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。另外,该关系模式的函数依赖为: sno -> sname, sno -> ssex, sno -> ssex,sno -> sbirth, sno -> spasw,其间不存在传递依赖,故学生表可达到3NCF.课程表 C ( cno ,cname , cperiod)该关系模式的码为cno, cname,设主码为cno,因为该关系模式中的码都是单一的,即不存在有两个或者两个以上的属性组成的码,所以不存在非主属性对码的部分函数依赖,可以达到2NCF。另外,该关系模式的函数依赖为:cno->cname, cno->cperiod, cname ->cno ,cname -> cperiod. 因为cno -> cname,cname -> cperiod cno -> cperiod, 所以该关系模式中存在传递依赖,不能达到3NCF。故优化该表为:C1(cno,period),C2(cname,cperiod).从而两表都达到了3NCF。专业表 P (pno,pname,pnum,pdept)该关系模式的码为pno,pname,其中设定pno为主码。同课程表,该表不存在有两个或者两个以上属性组成的码,即不存在非主属性对码的部分函数依赖,故可达到2NCF。另外,此关系模式的函数依赖为:pno->pname, pno-> pnum, pno -> pdept , pname -> pno, pname->pnum, pname -> pdept; 由于存在传递依赖:pno -> pname, pname->pnum, pno -> pnum., 所以未能达到3NCF。优化分解为:P1 (pno,pnum,pdept), P2 (pname,pnum,pdept)。明显,两表都达到了3NCF。课程设置表PC(pno,psenior,cno),该关系模式的码为:(pno,psenior,cno)为全码,所以可直接达到3NCF。学生选课表 SC(sno,psenior,cno,grade)该关系模式的码为:(sno,psenior,cno),因为不存在非主性grade对码的部分函数依赖,所以可达到2NCF,由于不存在函数依赖(表中的函数依赖只有(sno,psenior,cno)-> grade)故也达到了3NCF。属于表 SP(sno,pno)该关系模式的码(sno,pno)也是全码,所以也达到了3NCF。用户表 U(uname,upasw)该表的码为uname,明显upasw对码uname是完全函数依赖的,从而达到2NCF。另外因为只有两个属性,所以不存在传递函数依赖,该表达到了3NCF。2.3.3物理结构设计基本表学生表s列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)sname否否否无是Char(20)ssex否否否无是Char(2)只可取男或女sbirth否否否无是Char(20)spasw否否否无是Char(10)课程表 c1列名主码候选码外码被参照表允许空数据类型约束条件cno是否否无否Char(10)cperiod否否否无是smallint课程表c2列名主码候选码外码被参照表允许空数据类型约束条件cname是否否无否Char(20)cperiod否否否无是smallint专业表p1列名主码候选码外码被参照表允许空数据类型约束条件pno是否否无否Char(10)pnum否否否无是smallintPnum >=0psdept否否否无是Char(20)专业表p2列名主码候选码外码被参照表允许空数据类型约束条件pname是否否无否Char(20)pnum否否否无是smallintPnum >=0psdept否否否无是Char(20)课程设置表 pc列名主码候选码外码被参照表允许空数据类型约束条件pno是否否无否Char(10)psenior是否否无否Char(10)cno是否否无否Char(10)学生选课表sc列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)psenior是否否无否Char(10)cno是否否无否Char(10)grade否否否无是smallintgrade>=0学生与专业属于表sp列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)pno是否否无否Char(10)管理人员密码表u列名主码候选码外码被参照表允许空数据类型约束条件uname是否否无否Char(20)upasw否否否无否Char(10)2.3.4视图,索引a.索引:本数据库中的表除了主键本身生成的主索引外,没有定义其他的索引。在查询时即引用主索引即可。表s的主索引列为:sno表c1的主索引列为:cno表c2的主索引列为:cname表p1的主索引列为:pno表p2的主索引列为:pname表sc的主索引列为:(pno,psenior,cno)表sp的主索引列为:(sno,pno)表u的主索引列为:uname2.3.5关系图由于表中设置了主键与索引,关系图为自动生成2.3.6 规则该数据库中设置了规则,条件为成绩的数值必须在0 到 100 之间2.3.7 默认数据库中设置里默认值,默认设置学生成绩为3位数值设置学生学号为8位数值第四章 设计总结通过这次的课程设计,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQL2000的认识。 这次课程设计我最大的收获并不是对书本知识的巩固,而是通过设计我的自学能力得到了很好的锻炼,实践能力也提高了不少。在设计的开始阶段进展很慢。但是通过网上查资料,与同学讨论,互相学习渐渐的掌握了一定的知识。后来的实验也就没有那么摸不着门路了。总结以上,这次课程设计,我收获很大,不足也很多。不管怎样,今后我会更加努力学习这门课程,不断提高自己。参考文献SQL Server 2000 数据库及应用 高等教育出版社 徐人凤 曾建华 编实验指导书 西安科技大学出版 罗晓霞 编数据库系统概论(第四版)高等教育出版社出版 王珊 萨师煊 编数据库系统及其应用 电子工业出版社 雷景生 编数据库技术及其在网络中的应用 清华大学出版社出版 王育平 于丽杰 编网络资源