资源描述
武汉理工大学数据库课程设计说明书目 录1概述11.1 课题背景11.2学生管理系统分析11.3目的及意义21.4可行性分析21.5开发设计思想22、系统目标和建设原则32.1、系统设计目标32.2、系统设计原则33、支撑环境规划43.1 、设计思路概要43.2 、软件支撑环境及开发工具53.2.1、软件支撑环境53.2.2、Visual Basic 6.0简介53.2.3、数据库及Microsoft SQL Server2000简介64.需求分析74.1需求详述74.2功能需求94.3数据需求114.4系统数据流图114.5系统数据字典115.概念结构设计145.1概念模型145.2 E-R图表示概念模型145.3 合并分E-R图165.4 E-R图向关系模型转换176.数据库设计186.1逻辑结构设计186.2物理结构设计196.3表与表之间的关系191 概述1.1 课题背景随着科学技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中,软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品迫在眉睫。随着社会的发展,软件也在不断的更新换代。计算机领域不断取得的新研究成果使计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。尤其是在学校里,要处理大量的学生数据。在数字化的今天,使用学生管理系统能使学校对学生数据的管理更加简单、到位,可大大的减轻管理人员的负担,实现高效办公。1.2学生管理系统分析学生管理是学校管理中的一项重要任务,以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然.开发功能完善及安全可靠的管理系统可以大大提高学校资源的利用率,及时,准确地获取需要的信息,充分发挥人员的工作潜力。正是咨询业的迅速发展使得人们从过去的手工劳动中得以解脱.同时,编写一套完善的学生管理系统的任务就显得尤为重要.本系统是参照我们学校的实际情况而设计的一套针对性和功能都比较强的学生管理系统.本学生管理系统可实现学生基本信息、成绩信息、课程信息、学院信息、选课信息等的录入、修改、查询、更新和删除。1.3目的及意义 这次的课程设计是在学习完数据库原理和VB程序设计基础上进行的一次系统性的训练,既是对所学知识的巩固,也是对自己综合运用所学知识解决实际问题的一次锻炼。学生管理系统的主要目的是为了方便学校对学生的信息进行录入、修改、查询,提高学校的工作效率。这一系统的开发成功,解决了手写速度慢、容易出错的现状。无论是在学籍管理、成绩管理等方面都可以帮助学校最迅速最准确的完成所需的工作。无论是在适用性、灵活性和易操作性方面都显示出了它的强大功能1.4可行性分析对于学生管理信息的可行性分析,可以从以下几个方面来进行考虑(1)资源可行性分析在目前状况下,只需要一台个人电脑,安装了Microsoft SQL Server数据库管理软件就有了开发条件,在此基础上,任何一个人都可以充当人力资源中的一员,有了开发环境和人力资源后就可以进行学生管理系统数据库的设计。(2)工具可行性分析 在当前环境下,Microsoft SQL Server数据库软件技术已经开发得相当成熟了,可以运用该工具来实现学生管理系统的相关功能。(3)效益可行性分析 由于该学生管理系统只一个很小的管理系统,在很多方面都有限制,还有许多需要完善的地方,使用性较差,不具备较高的经济效益,仅供练习使用。1.5开发设计思想本系统的开发尽量采用目前现在学校现有的软,硬件环境以及先进的系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平和应用效果的目的.所开发的系统应符合学校学生管理系统的规定,满足学校对学生管理的需要,并达到操作过程中的直观,方便,实用,安全等要求.所开发的系统应该满足模块化程序设计方案,这样即便于系统功能的各种组合和修改,有便于未参与开发的技术维护人员的补充,维护.所开发的系统应具备数据库维护功能,能够及时根据用户需求进行数据的添加,删除,修改和备分等操作.2、系统目标和建设原则2.1、系统设计目标本学生管理系统的设计应该尽量达到以下目标(1)保证各方信息交互的畅通和正确;(2)保证软件的安全、可靠、简便性;(3)保证软件的相对实用性;(4)利用信息数据的管理,提高工作效率及质量,提高组织、服务的管理水平;(5)为实现信息化的学生管理提供经验。2.2、系统设计原则本学生管理系统应该尽量遵循以下设计原则:(1)简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个学生管理系统来说是非常重要的。(2)实用性:程序应可以满足所有用户的基本需求,具有良好的实用性。(3)针对性:该系统平台针对某一个学校建立一个数据库来管理学生信息,所以具有专业突出和很强的针对性。3、支撑环境规划3.1 、设计思路概要本系统开发的任务是实现学生管理的信息化、系统化、规范化。目的是开发一个具有添加,查询,修改,更新,维护等功能的比较强大的数据库管理系统。通过熟悉开发环境和数据库系统,本系统前台开发工具采用可视化编程工具Visual Basic,后台数据库采用Microsoft SQL Server2000数据库。本设计中数据库的连接方式采用数据环境设计器(DataEnvironmentDesigner),它是VB6.0提出的一个新概念,它能将许多独立使用的对象和控件组合成一个独立的环境,建成后的这个数据环境可用来访问所有数据库、查询或加入其中的存储过程。这样,我们就不用再担心程式中有多处地方用到了某个数据库的引用,只需作一处改动,应用程式中的其他有关地方也会作出相应变动。这就给我们研发应用程式带来极大的方便。从某种角度看,Data Environment的作用相当于一个通用的Data控件,它能在所有情况下使用,能连接到所有的数据库、表及只含一个查询或表的对象上,而不仅仅局限于连接到某个查询或表上。 数据环境设计器为我们提供了一种能非常容易访问VB工程中数据的方式。在以前的版本中,在设计时使用 ActiveX UserConnection 设计器创建远程数据对象(Remote Data Objects)(RDO)。目前,我们能在设计时使用数据环境设计器创建ADO对象。数据环境设计器除了支持UserConnection设计器的所有功能外,还支持:1) Connection、Command 和Multiple Connection(多连接,即在一个数据环境中访问多个数据源)对象;2) OLE DB数据源和 ODBC 数据源。3) 拖放功能,即从数据环境设计器中拖动字段和表到一个窗体或数据报表 ActiveX(Data Report ActiveX)设计器中,在窗体中自动地创建数据绑定控件。4)执行包含在数据环境中、作为编程的运行时方法的command。5)对绑定到窗体中控件的数据环境进行编程访问。6)关联 Command 对象创建一个关系层次结构的能力,或对 Command 对象分组创建一个分组层次结构的能力,及创建合计的能力和手工绑定数据识别控件到一个 Command 对象中的 Field 对象的能力。7)数据环境扩展性对象模型,该模型允许你创建外接程式。这些外接程式能通过编程操作 Visual Basic 工程中的所有 DataEnvironment 对象。而选择VB作为数据库系统的开发原因: VB因简单易学、功能强大、编译速度快而从众多的软件开发工具中脱颖而出。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,并封装了Windows编程的复杂性。程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用VB进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是VB对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。VB为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。3.2 、软件支撑环境及开发工具3.2.1、软件支撑环境操作系统:Windows xp数据库管理系统:Microsoft SQL Server 20003.2.2、Visual Basic 6.0简介Visual Basic 6.0作为Visual Studio家族中的一员,以其开发速度快、使用简单而被广泛使用。它是一种编译解释性语言,在调试状态时,VB是解释执行的,每当执行到一个函数时才对这个函数进行语法分析、语义分析,通过后才生成中间代码解释执行。Visual Basic是由于Windows 的产生而推出的可视化编程工具,虽然现在又推出了VB.NET,但由于VB的简单方便,目前仍然有大量的VB程序设计员。仍然有其广大的应用空间。所谓“Visual”指的是开发图形用户界面 (GUI) 的方法。它不需编写大量的代码去描述界面元素的外观和位置,而只要把预先建立的对象添加到屏幕上的某一位置即可。“Basic”指的是 BASIC (Beginners All-Purpose Symbolist Instruction Code) 语言,一种在计算技术发展历史上应用得最为广泛的编程语言。Visual Basic 在原有 BASIC 语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和 Windows GUI 有直接关系。专业人员可以用 Visual Basic 实现其它任何 Windows 编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。Visual Basic语言具有以下特点:(1)提供了好学易用的应用程序集成开发环境在VB集成开发环境中,用户可以方便地设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件。(2)面向对象的可视化设计工具在VB应用程序开发环境,应用了面向对象的程序设计方法(OOP):即把程序和数据封装起来视为一个对象工具,每个对象都是可视的。程序员在设计时只需要根据设计界面的要求利用现有的对象工具,直接在屏幕上设置不同的对象(如:窗口、菜单、按钮或滚动条等),并为每个对象设置属性。即为所见即所得。VB集成开发环境提供了非常丰富的对象工具。在Visual Basic环境下,支持多种数据库访问系统,利用数据控件或ODBC能够访问如下数据库系统和电子表格:Microsoft Access;Microsoft Excel;Microsoft FoxPro;dBASE;Btrieve以及其他一些主流数据库系统及电子表格。3.2.3、数据库及Microsoft SQL Server2000简介 随着计算机技术的飞速发展,数据库技术由一开始的简单数据存储发展到存储、关联、限制、安全管理及人工智能为一身的完整的技术。与以前的dBase,Foxbase等数据库相比,现在的数据库管理系统诸如:Access,DB/2,SyBase,SQL Server,Oracle 等,在功能、安全、及易用性等方面都有了质的飞跃。数据库系统的发展经历了层次模型数据库、网状模型数据库和关系数据库3个大的发展阶段。现在大量使用的是关系模型数据库。目前数据库的发展方向是面向对象的数据库系统。随着计算机网络的迅速发展,也大量的使用了基于客户/服务器分布计算模型下的数据库系统。数据库根据结构可以分为文件型数据库和C/S型数据库。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 ServerSQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用 。4.需求分析4.1需求详述(1)系统需要能够对不同的用户给出不同的权限,比如系统管理员只有对用户的管理权限,它可以增、删、改用户;学校教务人员可以对课程信息和成绩信息进行管理,主要是增、删、改和查询相关信息,可以制作学生成绩报表;学校教工人员可以对班级信息、学院信息、学籍信息进行管理,可以制作学籍报表;学生可以查询个人信息、查询个人成绩;校长拥有所有权限。所有用户都可以修改自己的密码,系统管理员也可以修改其余用户的密码。(2)新的一个学期开始之后,学校教工人员可以添加新的班级信息,比如班号、人数等;如果中途有新转来或转走或退学的学生,也可以修改班级信息;学生毕业之后,学校教工人员可以删除该班的所有信息。另外该系统应该提供一个方便的查询班级信息的接口。(3)新的一个学年开始之后,学校教工人员可以添加新的学生学籍信息,比如学号、姓名、性别等;如果学生的基本信息有变化,可以修改学籍的基本信息;如果学生毕业离开了学校,可以删除该生的学籍信息;如果需要查找某个学生的学籍信息,系统应该提供一个方便的查询学籍信息的接口。另外系统需要提供学籍报表的功能。(4)学校教工人员可以管理学院信息,比如某个学院更名了,应该可以更新学员信息;或者某个学院不存在了,应该可以删除该学院的相关信息;如需要查找某个学院的信息,系统应该提供一个方便的查询学院信息的接口。(5)学校教工人员可以管理教师信息,分配教师授课,更改教师信息,比如某个教师退休了,应该可以删除该教师相关信息;如需要查找某个教师的信息,系统应该提供一个方便的查询教师的接口。(6)新的一个学期开始之后,学校教务人员可以添加新的课程信息,比如课程号、课程名等,如果课程的基本信息有变化,可以修改课程的基本信息;如果课程结束,应该可以删除课程信息;如果需要查找某个课程的信息,系统应该提供一个方便的查询课程信息的接口。(7)课程结束之后,学校教务人员可以添加课程号、学生号、成绩等信息进行选课管理;如果需要查找成绩信息,系统应该提供一个方便的查询选课及成绩信息的接口;如果由于漏题或其余原因需要删除成绩,可以删除成绩信息。同时为了调研的需要,应该能根据学生选课信息按学生统计平均成绩和按课程统计平均成绩。另外,系统需要提供成绩报表的功能。(8)系统运行在Windows平台上,要求有一个较好的图形用户界面,操作要求简单。(9)系统应该有很好的可扩展性,以便学校根据实际情况添加新的功能。4.2功能需求本学生管理系统需要完成的功能有用户管理、班级管理、学院管理、教师管理、课程管理、选课管理、学籍管理和成绩管理八个部分。(1)用户管理 该功能用于管理使用该系统的用户,以及模块按权限进行分配,从而为系统提供一定的安全性。使用这个系统的用户主要包括5种:一是系统管理员,只有对用户的管理权限,它可以增、删、改用户;一是教务人员,可以对课程、选课和成绩进行管理,主要是增、删、改和查询信息;一是教工人员,可以对班级、学院、学籍进行管理,主要是增、删、改和查询信息;一是学生,主要是查询个人信息、修改个人密码、查询个人成绩;最后一个是校长,可以对所有的信息进行操作。所有的用户都可以修改自己的用户密码,系统管理员也可以修改其余用户的密码。(2)班级管理 添加、修改、删除和查询班级信息。(3)学院管理 添加、修改、删除和查询学院信息。(5) 教师管理 添加、修改、删除和查询教师信息。(5)课程管理 添加、修改、删除和查询课程信息。(6)选课管理 添加、修改、删除和查询选课信息。(7)学籍管理 添加、修改、删除和查询学生信息,并可以制作学籍报表(8)成绩管理 添加、修改、删除和查询成绩信息,并可以制作成绩报表。对上述各项功能进行集中、分块、结构化得到如图1-1所示的系统功能模块图(也体现了不同的权限管理不同的模块)。4.3数据需求 通过分析,总结出本系统对数据的需求如下:(1)用户信息包括:用户名、用户密码、用户编号、电话号码、用户权限 (2)学生信息 包括:学号、姓名、性别、出生日期、政治面貌、照片、入学时间、入学成绩、班级编号、密码、简历。(3)课程信息 包括:课程编号、课程名称、课程性质、学时、开课学院、学分、备注等。 (4)教师信息 包括:教师编号、教师姓名、性别、职称、电话、通讯地址、电子信箱。(5) 选课信息 包括:学生学号、课程号、成绩等。(6)教师任课信息包括:教师编号、课程编号(7)班级信息包括:班级编号、所属学院编号。(8)学院信息包括:学院编号、学院名等4.4系统数据流图 数据流图是描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,这种表示法中用矩形表示源点和终点,用椭圆表示数据加工,用箭头表示数据流。本学生管理系统的数据流图如下。0层数据流图:学籍管 理4.5系统数据字典 数据流图是结构化分析中不可缺少的有力工具,它描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,它还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。因此,仅仅一套数据流图并不能构成系统说明书,只有对图中出现的每一个成分都给出详细定义以之后,才能全面地描述一个系统。对数据流、数据存储和数据处理的详细描述,需要用数据字典(DD)。它包括数据流、数据存储、外部项和处理过程的详细条目。数据字典中把数据的最小单位定义为数据项,而若干数据项可以组成一个数据结构。数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。(1) 模块说明模块名称:登录系统输入数据流:用户登录信息输出数据流:用户登录成功|登录失败简要描述:主要负责具有不同权限的用户的登录,对其登录信息进行验证。模块名称:学籍管理输入数据流:学籍控制信息输出数据流:学籍返回信息简要描述:主要负责学生学号、姓名、性别、出生年月、身份证号码、党团关系、级别、学制等方面的信息管理。模块名称:成绩管理输入数据流:成绩控制信息输出数据流:成绩返回信息简要描述:主要负责学生成绩方面的管理,包括课程代码、学号、成绩。其他模块不予说明。(2) 主要数据流定义数据流名称:登录信息 位置:用户 登陆处理 定义:登录信息用户名口令说明:对于不同权限的用户具有不同的操作权只有 输入合法的用户名及口令,才能获得一定的操作权。 数据流名称:验证信息 位置:登陆处理 用户定义:验证信息登陆成功|口令错误说明:该告知用户登陆的情况,如成功,就可进入操作界面。数据流名称:查询成绩 位置:教务人员 学生信息检索定义:查询要求=指定系 说明:用户通过选择指定要查询的系及学生。数据流名称:查询结果位置:学生信息检索 教务人员定义:查询结果=系记录系统计人数学生记录 说明:查询结果包括指定系的信息,系学生数(统计结果)和学生记录( 可同时显示多条记录)。数据流名称:修改要求位置:教务人员 教务信息维护定义:修改要求系|学生|课程|选课 说明:指定要维护的对象,然后输入修改的信息(增,删,改) 数据流名称:选课要求位置:学生 选课处理定义:选课要求学号指定课程 说明:学生在选课界面要首先输入学号,然后要指定选(退)课。数据流名称:选课结果位置:选课处理 学生定义:选课结果(出错信息)已修学分新课表新选学分新选课门数 说明:出错信息包括学号不对,操作错误等。5.概念结构设计 5.1概念模型概念结构设计就是从现实概念中抽象出概念模型,即对信息世界建模,所以概念模型应该能方便、准确的表示信息世界中的常用概念。概念模型的表示方法最著名的是实体联系方法(Entity-Relationship Approach),在该方法中实体型用矩形表示,矩形框内写明实体名;属性用椭圆表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁表上联系的类型(1:1,1:n或n:m)。5.2 E-R图表示概念模型学 生出生日期性别学号姓名照片政治面 貌入学时间简历密码入学成绩班级编号(1)学生实体的E-R图电子邮箱通信地址电话职称教 师教师编号教师姓名性别(2)教师实体E-R图课程编号学分课程性质课程名学时课 程(3)课程实体E-R图 选 课课程号成绩学号(4)选课实体E-R图 教 师 任 课课程编号教师编号(5)教师任课实体E-R图(6)班级实体E-R图班 级班级编号所属学院编号(7)学院实体E-R图学 院学院编号学院名称(8)用户实体E-R图用 户用户名用户密码用户编号电话号码用户权限5.3 合并分E-R图班 级开设1n学 院属 于n1学 生教 师授课mn课 程属于选 课1nnm通过分析上述实体间的联系将分E-R图合并为学生管理系统的基本E-R图。由于用户这一实体它是用来确定使用该系统权限的于其他实体间无内在联系,故在此不考虑。同时每个实体的属性在上面的分E-R图中已经给出,在此不予给出。学生管理系统的基本E-R图5.4 E-R图向关系模型转换在二元联系中,数据模型实体间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)三种。两实体的联系为1:1,可将联系与任意一端对应的关系模式合并。具体做法是:将两个实体各用一个关系表示,然后将其中一个关系的关键字和联系的属性加入另一个关系的属性。一个关系的关键字存储在另一个关系中时,称为另一个关系的外键。一个1:n联系可以与“1”端对应的关系模式合并。首先,一个实体用1个关系表示,然后将联系的属性和“n”端对应关系的键置于“1”端对应的关系中。一个m:n转换为一个关系模式。多对多联系不能与任一端实体对应的关系模式合并,否则会引起插入异常和修改异常。联系本身的属性以及与该联系相连的实体的键都将转换为该关系的属性,关系的键是各实体键的组合。根据以上转化原则,得到以下一组关系模式,关系模式的码用下划线标出。(1) 学生(学号,姓名,性别,出生日期,班级编号,)此为学生实体的对应的关系模式。该关系模式已经包含了联系“属于”所对应的关系模式。(2)班级(班级编号,所属学院号) 此为班级实体所对应的关系模式。该关系模式已经包含了联系“属于”所对应的关系模式,所属学院号为该关系的候选码。(3)学院(学院编号,学院名称) 此为学院实体所对应的关系模式。 (4)教师(教师编号,教师姓名,职称,) 此为教师实体所对应的关系模式。(5)课程(课程编号,课程名称,开课学院,) 此为课程实体所对应的关系模式。该关系模式已经包含了联系“开设”所对应的关系模式。(6)选课(课程编号,学号,成绩)此为联系“选课”所对应的关系模式(7)授课(课程编号,教师编号) 此为联系“授课”所对应的关系模式。6.数据库设计数据库设计的任务是确定系统所需的数据库。数据库是表的集合,通常一个系统只需一个数据库。数据库的设计一般可分为逻辑设计和物理设计两步。逻辑设计的任务是根据需求分析,确定数据库所包含的表及字段、表间的关系,物理设计就是具体确定表的结构,包括字段名、字段类型及宽度,需要的索引等。 6.1逻辑结构设计根据对需求分析得到的数据结构进行分析,按数据输入输出的要求,确定表和表间的关系,并进行验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。本系统根据分析确定系统要设置如下表(为了在应用程序中方便使用表名、字段名,在设计表时均采用英文简称或全称,在此为了便于理解均使用它们的中文别名): (1)学生基本表,包括字段:学号、姓名、性别、出生日期、政治面貌、照片、入学时间、入学成绩、班级编号、简历、密码。学号为主键、主索引,为班级编号建立索引,通过该索引和班级基本表建立关联。 (2)教师基本表,包括字段:教师编号、教师姓名、性别、职称、电话、通讯地址、电子信箱。教师编号为主键、主索引。 (3)课程基本表,包括字段:课程编号、课程名称、课程性质、学时、学分。课程编号为主键、主索引。 (4)学生选课表,字段包括:学号、课程编号、成绩。学生、课程编号做主索引,分别为学号、课程编号、成绩建立索引,通过学号和学生基本表建立关联,通过课程编号和课程基本表建立关联,成绩索引用于做统计计算,学号和课程号一起构成主键,这两个字段均是外码。 (5)教师任课表,包括字段:教师编号、课程编号。分别为教师编号和课程编号建立索引,通过教师编号和教师基本表建立关联,通过课程编号和课程基本表建立关联。 (6)班级表,字段包括:班级编号、所属学院编号。为班级编号建立索引,通过班级编号和学生基本表建立关联,通过所属系编号和学院基本表建立关联。(7)学院基本表,字段包括:学院编号、学院名称(8)用户信息基本表,字段包括:用户名、用户密码、用户编号、电话号码、用户。6.2表与表之间的关系6.3物理结构设计下面列出选课系统所有表的结构和索引,为了便于理解,将部分数据列出。 6. 学生信息基本表 表名:Student 结构: 字段名 类型 宽度 必填字段 索引 中文别名serial 字符型 12 是 是学号sname 字符型 15 是 学生姓名sex字符型 2 是 性别birthday 日期型 是 出生日期politic数值型 是 政治面貌photo 二进制型 照片recruit 日期型 是 入学时间enscore 数值型 4 是 入学分数classno 字符型 4 班级编号resume 字符型 50 是 备注pwd字符型15是密码记录: serial sname classnosexbirthdayrecruitenscorepoliticresumephotopwd200010301001 谢胜 0311男 1980-10-22000-9-1 589 0200010301001 200010301020 张辉 0311男 1981-5-20 2000-9-1 608 1200010301020 200020302045 陈诚 0511男 1980-8-4 2000-9-1 598 2 200020302045 200034201002 刘玫 0611女 1980-9-4 2000-9-1 567 1 200034201002 200034202123 李丹 0711女 1981-3-5 2000-9-1 601 2 200034202123 199920403128 胡广飞 0611男 1980-4-6 1999-9-1 521 2 199920403128 199924104112 廖荣化 0711男 1980-10-31999-9-1 534 1 199924104112 199934205255 赵雅娟 0411女 1980-7-8 1999-9-1 546 0 199934205255 200010401081 李文浩 0411男 1981-9-20 2000-9-1 638 2 200010401081 200010401032 陶冶 0511女 1980-7-30 2000-9-1 599 1200010401032 199934202152 王涛 0611男 1980-1-2 1999-9-1 576 1 199934202152 199934101067 高磊 0711男 1980-5-3 1999-9-1 543 0 199934101067 2教师基本表 表名:Teacher结构: 字段名 类型 宽度 必填字段 主键tno 字符型 4 是 是 tname 字符型 8 是 gender字符型 2 title字符型 8 address字符型 40 telephone字符型 15 email字符型 40 记录: tno tnamegender title address telephoneemail CC01 陈利民 男 教授 武汉大学182栋8号 027-87675423 lmchen CC02 王惠敏 女 副教授 武汉市武昌区民主路2345号 027-87876745 hmwang CC03 刘江 男 讲师 武汉大学11栋12号 CS01 张健中 男 副教授 武汉市中山大道345号 027-83457231 jzzhang CS02 吴秀芝 女 讲师 武汉大学14栋8号 027-87883476 xzwu 3课程基本表 表名:Course 结构: 字段名 类型 宽度 必填字段 主键cno 字符型 4 是 是 cname 字符型 20 是 chour数值型 4 credit 数值型 2 type 字符型 8 记录: cno cname chour credit type CC01 C语言程序设计 48 3 选修课 CC02 FoxPro数据库及程序设 32 2 选修课 CC03 多媒体计算机技术 32 2 选修课 CS01 计算机原理 48 3 必修课 CS02 编译原理 48 3 指定选修 4学生选课表 表名:SC结构: 字段名 类型 宽度 必填字段主键serial 字符型 12 是 是cno 字符型 4 是 是score数值型 4 记录: 学号 课程编号 成绩 200010301001 CC01 0 200010301001 CC03 0 200010301001 CS01 0 200010301020 CC02 0 200010301020 CS03 0 200020302045 CC02 0 200034201002 CC03 0 200034202123 CS02 0 199920403128 CC01 86 199924104112 CS02 50 199934202152 CC02 91 199934202152 CC03 85 199934202152 CS01 78 199934202152 CS02 75 200010401081 CC02 0 5教师任课表 表名:TC 结构: 字段名 类型 宽度 必填字段 索引 cno 字符型 4 是 普通索引 tno 字符型 4 是 普通索引 记录: cno tno CC01 CC01 CC01 CC02 CC02 CC01 CC02 CC03 CC03 CC02 CC03 CC03 CS01 CS01 CS01 CS02 CS02 CS01 6班级信息表 表名:Class 结构: 字段名 类型 宽度 必填字段索引 classno 字符型 4 是主索引 depid 字符型 4 是 记录: classno depid 0311 01110411 01110511 02220611 022207110333 7.学院信息基本表 表名:Department 结构:字段名类型宽度必填字段索引depid字符型4是主depname字符型10是记录:depiddepname0111水利0222电力0333船舶0444计算机8.用户信息基本表 表名:Admin 结构:字段名类型长度必填字段关键字备注uname字符型10是用户名pwd字符型15是用户密码id数值型4是是用户编号telephone字符型13用户电话号码privilege数值型1是用户权限0-3记录:unamepwdidtelephoneprivilege陶陶0120610341508542190张蓉0120610332508538621文刚0120610253508539862周祖德00000000041362721585737.应用程序设计登录系统是否具有用户管理权限进行用户管理操作是是是是是否是否具有班级管理权限进行班级管理操作否否否否是否具有学院管理权限进行学院管理操作是否具有学籍管理权限进行学籍管理操作是否具有成绩管理权限进行成绩管理操作退出系统7.1学生管理系统业务流程 8、研制报告8.1、报告研制过程因为这次是要设计一个学生管理系统,需要有和用户进行交互的接口所以界面是必不可少的。用什么来做界面呢?在选择编程软件和数据库软件时,我踌躇了好一阵,在图书馆里也查找了很多资料,C#没学过、VC+学了一点但是太复杂、JAVA几乎不会,最后自己感觉时间比较紧,来不及再重新学门新的编程环境或是换个数据库软件,最后还是选择了大一时学的VB 和SQL Server,虽然VB编程、设计界面并不难,但是要访问数据库我还是第一次尝试而且最近两年对VB编程的实践微乎其微,原来的记忆,经验都淡忘了许多,于是便借了基本关于VB数据库编程的参考书辅助完成这次的设计。在图书馆中的踌躇经历也是一段知识积累的过程。在图书馆里,我看到了用C#编程环境来实现数据库链接的,看了VB+ASP等开发的,也看到了使用GIS组件MO开发,这些都拓宽了我的只是面,给我后续的学习指引了方向,我想或许这也是课程设计的意义所在吧。选择好了编程软件和数据库软件,接下来就是要设计系统了,因为这个学期我选修了需求工程再加之在数据库课程中老师也介绍了开发系统的基本过程,所以后面的步伐就很清晰了。根据的本次课程设计的要求,设计学生管理系统数据库在设计的过程中经历了以下6个阶段:(1)需求分析阶段(2)概念结构设计阶段(3)逻辑结构设计阶段(4)物理结构设计阶段(5)数据库实施阶段(6)数据库运行和维护阶段按照上述步骤一步一步的来,每一步都水到渠成。在研制报告的过程中,将上述每个阶段所研究的对象的思路,过程以及结果通过文字和图形表示出来,再加上对于本次课程设计的思想总结,便构成了本次课程设计的说明书。8.2、设计的特点在本次课程设计中,我觉得最大的特点是用户管理这一模块设计得比较完善。该学生管理系统允许用户进行登录查看相关的信息。一般用户登录系统时是不能查看管理用户界面这一模块的,有效的提高了系统的安全性。拥有不同权限的用户可以执行不同的操作,这一点在实际应用中是非常需要也是非常重要的,特别是在数据库管理这方面。在建立数据库表的时候,为数据库中的表建立了关系,并且将关系设置为级联修改和删除,这样在对数据库中不同的表进行相关操作时就不会出现更新异常或者是插入异常等异常情况了,保证了数据库中的实体完整性和参照性完整性,这是非常符合实际要求的。另外,本课程设计是采用VB的语言写的,主要界面都是通过窗体的形式来呈现。VB在窗体的控制方面非常灵活,特别是在界面的设计方面,显得尤为突出。而本次课程设计在最后的呈现界面上做了很大的功夫,精心为每一个窗体或控件添加了背景图片,使界面看起来更有吸引力,也是本次课程设计的一个特点。8.3、设计的不足本系统可实现基本的学生信息管理,比如对学生基本信息的增、删、改和查询,比如对学生选课情况的查询,统计学生所选科目的平均成绩,但是本系统并没有完全实现我在需求分析中所述的功能,实现的功能不完善,实用性不强。同时由于时间原因,没有把系统设计得很详细,很周到,很复杂,对于系统我也没有做太多的测试来检测其稳定性和健壮性。同时对于有些不合法的填写还不能完全的识别,这样会导致最终存入数据库的数据产生不可靠性,这对于数据库设计中安全性的考量是非常重要的一点,也是本次设计中需要好好完善的一个地方。8.4、设计的收获与体会这次课程设计,我收获颇丰,首先是把原来淡忘的知识重新温故了一遍,很多知识直接做一点也想不起来了,但是只要稍微看下提示,或是书中的范例,那些语法,方法都又跃然纸上,要是没有这个课程设计,说不定再过半年什么的,我就把原来的知识都忘得干干净净的了。其次是我体会到了团队合作精神的重要性。这次的课程设计大部分同学都是用VB来进行编程的,在访问数据库这方面大家可以说都是新手,有的同学用ADO进行访问,而有的则是使用数据环境设计器,其中也涉及到报表的输出,大家都共同摸索分享思想。有时自己程序里的一个Bug怎么找也找不出来请同学帮忙看看很有效果。一个人所学的知识不可能面面俱到的,只有通过合作,取长补短,发扬团队精神,才能使工作做得更为出色再者这次课程设计使我学会了在短期时间内的系统开发,我感觉这种开发首先应该全神贯注,抓紧时间,应该先对系统中的主要功能加以认真实现,对细枝末节尽量完善,避免由于这些小错误而出现的系统崩溃等现象。通过本次课程设计,我加深了对数据库知识的了解。为了做好这次课程设计,我重新复习了一遍跟题目相关的数据库知识和VB编程语言,特别是需要实现的那部分原理。除此之外,还有上网查询一些相关的资料,和一些实际问题实现的例子,通过理解别人实现的过程,学习实现的一些基本思路。在这个过程中,我对整个连接数据库程序的过程有了一个更立体的认识和了解。在这次的设计中,让我进一步认识了数据库的设计过程以及设计各阶段所做的工作和要注意的细节部分,对于数据库的功能也有了更深的了解。在了解了数据库的功能以后,我还学会了通过数据环境设计器连接数据库的方法,使得我可以通过VB的编程语言实现与数据库的连接,进而实现相关的读写操作。 在品味成功喜悦的同时我深知自己掌握的知识还远远不够,将学习到的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我们们对技术有了一定的了解。计算机技术的高速发展,使我们深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还需加强学习。 9、参考文献1Visual Basic实用教程(第2版) 郑阿奇 主编 曹戈 编著 电子工业出版社2Visual Basic数据库系统开发案例精选 高春艳 李俊民 刘彬彬编著 人民邮电出版社3Visual Basic+SQL Server 2000系统开发实录 赵松涛 编著 电子工业出版社341
展开阅读全文