




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩课 程 设 计 课程名称_数据库课程设计 题目名称 基于PHP+MySQL的学籍管理系统学生学院 计算机学院 指导教师 2010 年 6 月1日 评价标准分数比例(%)成绩论文论文结构包含:相关技术介绍、需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、系统测试方案和测试报告、系统的主要功能和使用说明、系统安装说明。要求论文完整、内容详细,格式规范。40程序系统运行正确;功能完善:有增、删、改、查功能,有基本的报表、查询、统计和输入、输出功能;工作量充分;系统实现技术的难度。30数据库设计E-R图设计正确;数据库逻辑结构设计规范化;数据库物理设计合理。30总评成绩 优 良 中 及格 不及格总分1设计背景51.1本次课程设计的说明51.2设计学籍管理系统的背景52PHP+MySQL技术介绍62.1PHP简单介绍62.1.1PHP的特性:62.1.2PHP技术应用62.2MYSQL简单介绍。72.2.1MySQL的特性72.2.2 Mysql最常见的应用架构73. 开发环境84. 需求分析84.1 引言84.2 用户需求84.3 划分功能模块94.4数据流图104.4.1 数据流图介绍104.4.2 系统数据流图104.5数据字典124.5.1 数据项124.5.2数据结构154.5.3数据流164.5.4数据存储174.5.5处理过程175. 概念结构设计175.1系统E-R图175.1.1 学生信息管理175.1.2老师信息管理185.1.3教务信息管理185.2 概念模型196. 逻辑结构设计206.1 关系模型216.2 物理模型227 .数据库实现237.1 物理结构设计237.1.1 确定数据库的存储结构237.1.2 存取方法和优化方法237.2 功能实现237.3 数据库的实施247.3.1 数据库的实施247.3.2 数据的载入297.4创建数据库脚本327.4.1创建数据库327.4.2数据库值初始化337.5 数据库的运行和维护358系统测试359安装和使用说明399.1所需软件399.2软件安装步骤399.3使用说明4410参考文献451设计背景1.1本次课程设计的说明本次数据库课程设计,我将重点放在数据库的设计上,做好基本的需求分析;重点进行概念结构设计,逻辑结构设计,数据库物理设计,以及数据库实施阶段中的数据库创建和SQL脚本的编写部分。由于本次数据库课程设计的重点不在应用程序的编写和界面的设计上,所以在这方面花费的精力不会太多,当然,其中还有一个原因是采用自己不太熟悉的技术进行系统的编写,最终导致系统的整体外观不是很满意。由于应用系统编写技术的限制,很多在数据库设计时采用的技术将很难出现在系统上,比如触发器。本次课程设计的成果学籍管理系统必须运行在已经搭建好的环境下,因此需要阅读“安装和使用说明”文档后将环境搭建好,方可正常运行本系统,进行一系列的操作。1.2设计学籍管理系统的背景随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息现代化。但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。面对庞大的信息量, 这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 通用学籍管理系统软件属教育行业事务管理软件;可广泛应用于全日制大、中小学及其他各类学校,对学生的入学、升级、学籍变动进行综合管理和快速查询。为了节省在学籍管理花费的人力和物力,同时便于学校掌握学生在个人爱好、家庭状况等方面的详细情况,学籍管理系统并因材施教、充分发挥学生的个人特长,有助于提高整个学校的教育水平和管理水平。2PHP+MySQL技术介绍2.1PHP简单介绍PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 2.1.1PHP的特性: u 开放的源代码:所有的PHP源代码事实上都可以得到。 u PHP是免费的。 u php的便捷性 : php十分便捷,学习简单 u 基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 u 嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。 u 简单的语言:PHP坚持脚本语言为主,与Java和C+不同。 u 效率高:PHP消耗相当少的系统资源。 u 图像处理:用PHP动态创建图像 u 面向对像:在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。 u PHP 相对于其他语言,编辑简单,实用性强,更适合初学者。2.1.2PHP技术应用u 伪静态 u 静态页面生成 u 数据库缓存 u 过程缓存 u div+css w3c标准 u 大负荷 u 分布式 u jquery框架集成 u flex u 桌面程序应用2.2MYSQL简单介绍。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:.2.2.1MySQL的特性u 使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 u 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 u 为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 u 支持多线程,充分利用CPU资源 u 优化的SQL查询算法,有效地提高查询速度 u 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名 u 提供TCP/IP、ODBC和JDBC等多种数据库连接途径 u 提供用于管理、检查、优化数据库操作的管理工具 u 可以处理拥有上千万条记录的大型数据库2.2.2 Mysql最常见的应用架构u 单点(Single),适合小规模应用 u 复制(Replication),适合中小规模应用 u 集群(Cluster),适合大规模应用 u MySQL4.1版本中增加了不少新的性能,包括对主键的更高速度的缓存,对子查询的更好的支持,以及应网络约会网站所要求的,基于地理信息的查询。 u 其同步开发的5.0版本则把目标对准了企业用户,对于4.1版本中的所有新特性,5.0版本悉数收入囊中,并且独具以下特点:对外键的良好支持;系统自动报错机制以及对存储过程的充分支持。3. 开发环境本学籍管理系统的开发与运行环境如下:开发环境:Windows XP辅助工具:PowerDesigner Trial 11,Dreamweaver CS4数据库管理系统:MySQL编程语言:PHP + HTML运行环境:Windows 2000/XP/20034. 需求分析4.1 引言 进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。目的是为学籍管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。本系统的开发是设计一个学生学籍管理系统(数据库系统)。4.2 用户需求本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。实现的具体功能如下:l 基本信息管理系统管理员负责对各种基本信息的录入、修改、删除等操作。l 学生成绩管理系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。l 信息查询统计学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。l 毕业生信息管理系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。4.3 划分功能模块根据系统功能的需求分析和高等院校学籍管理的特点,经过模块化的分析得到如下图4-1所示的系统功能模块结构图。学籍管理系统基本信息管理毕业生信息管理学生成绩管理信息查询统计基本信息删除基本信息修改基本信息录入学生成绩删除学生成绩修改学生成绩录入输出相关信息统计学生成绩计算学生成绩学生成绩查询基本信息查询输出名册审核资格计算学分图 4-1 系统功能模块图4.4数据流图4.4.1 数据流图介绍数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。数据流图的基本组成成分:(1)数据流:是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。(2)加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。(3)数据存储:数据存储表示暂时存储的数据。每个数据存储都有一个名字。(4)外部实体:外部实体是存在于软件系统之外的人员或组织,指出数据所需要的发源地或系统所产生的数据的归属地。4.4.2 系统数据流图(1)顶层数据流图管理员用户 用户信息学籍管理系统 数 存取 据 获取 库授权用户 用户信息 文 件 图4-2 顶层数据流图(2)0层数据流图管理员用户信息 学生信息登录 授权用户信息 存取 存取 获取 获取 数据库文件 获取 获取 获取 存取 存取 存取相关查询课程信息成绩信息登录 管理员用户信息 授权用户信息 图4-3 0层数据流图 (3)子图学生信息数据流图: 学生信息 添加 修改 查询 删除 获取 存取 数据库文件 图4-4 学生信息数据流图成绩信息数据流图: 成绩信息 添加 修改 查询 删除 获取 存取 数据库文件 图4-5 考勤信息数据流图教师信息数据流图: 教师信息 添加 修改 查询 删除 获取 存取 数据库文件 图4-6 工资信息数据流图4.5数据字典4.5.1 数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,学籍管理的主要数据见下表。表 4.1 老师基本信息表序号字段别名数据类型数据长度码1tno学号varchar10Y2dno院系号varchar10N3tname姓名varchar10N4tsex性别varchar2N5profess职称varchar10N6tel电话int11N表 4.2 学生基本信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2dno院系编号varchar10N3spno专业编号varchar10N4sname姓名varchar10N5ssex性别varchar2N6birthday出生日期datatimepN7symbol政治面貌varchar8N8id身份证号varchar20N9intime入学时间datatimeN10birthplace籍贯varchar50N11homeaddr家庭住址varchar50N12postcode邮政编码varchar6N表 4.3 专业基本信息表序号字段别名数据类型数据长度码1spno专业号varchar10Y2spname专业名varchar20N表 4.4 毕业基本信息表序号字段别名数据类型数据长度码1gno毕业证编号varchar10Y2sno学号varchar10N3sname姓名varchar10N4ssex性别varchar2N5dno所属院系varchar10N6intime入学时间datetimeN7graduatetime毕业时间datetimeN8havecredit已修学分floatN9needcredit需修学分floatN表 4.5 院系基本信息表序号字段别名数据类型数据长度码1dno院系号varchar10Y2dname院系名称varchar20N3dheader院长名varchar10N表 4.6 课程基本信息表序号字段别名数据类型数据长度码1cno课程号varchar10Y2cname课程名varchar20N3credit学分smallintN表 4.7 学生上课表序号字段别名数据类型数据长度码1sno学号varchar10Y2cno课程号varchar10Y3grade成绩floatN表 4.8 老师授课表序号字段别名数据类型数据长度码1cno课程号varchar10Y2tno教工号varchar10Y3ctime课时smallintN表 4.9 专业开课表序号字段别名数据类型数据长度码1sno专业号varchar10Y2cno课程号varchar10Y4.5.2数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求的分析,我对本系统一共分了5个组,具体如下表所示:表 4.10 数据结构表数据结构名含义说明组成部分学生基本信息管理描述学生基本信息学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族老师基本信息管理描述老师基本信息教工号+姓名+性别+职称+所属院系+电话学生、老师相关信息管理描述学生选课信息,毕业信息,专业、院系信息,老师授课信息,院系信息学号+课程号+成绩课程号+教工号毕业证编号+学号+姓名+性别+身份证号+所属院系+入学时间+已修学分+需修学分学生成绩管理描述学生平均成绩、总成绩的计算,统计相关信息学号+课程号+成绩系统管理描述用户修改密码,帮助信息4.5.3数据流数据流是数据结构在系统内传输的路径。通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示:1、数据流定义表表 4.11 数据流定义表编号数据流名组成流量备注01学生信息学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族大学生基本信息02教师信息教工号+姓名+性别+职称+所属院系+电话一般教师基本信息03学生成绩学号+姓名+性别+学号+课程号+成绩大学生详细信息04科目成绩学号+课程号+成绩大学生考试成绩05各门成绩学号+课程号+成绩课程号+课程名+学分大同上06查询结果科目成绩+各门成绩大各种信息07统计分析科目成绩+各门成绩大学生奖励2、外部项定义表表 4.12 外部项定义表编号名称输入数据流输出数据流备注1学生处01主要用于录入学生信息2学生06主要用语学生查询信息和成绩3老师03主要用于老师提交成绩4教务员06/07主要用于输出查询和统计信息的结果4.5.4数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。经过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示:表 4.13 数据存储表编号数据存储名输入数据流输出数据流数据量存取方式A1学生相关信息01大批处理、顺序检索A2教师相关信息0302一般批处理、顺序检索A3学生成绩单06,07大批处理、更新、顺序检索4.5.5处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。对于本系统用于学生学籍管理一共设计了四种处理方法,具体处理方式如下表所示:表 4.14 数据处理过程表编号名称输入数据流输出数据流备注B1插入修改01,02,0301,02,03插入学生信息和老师信息B2更新修改01,02,0301,02,03更新学生信息和老师信息B3删除修改01,02,0301,02,03删除学生信息和老师信息B4统计分析05,0605,06统计学生信息和成绩5. 概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型。5.1系统E-R图5.1.1 学生信息管理对于学生信息管理,我们可以将学生实体抽象出来,学生属于学院可以将学院作为一个实体,学生所属专业和毕业信息都将可以作为一个实体。在学生信息管理中存在这样的关系:选择(一个学生只能选择一个专业,而一个专业可以供多个学生选择,故是多对一的关系)、学习(一个学生只能在一个院系学习,而一个院系可以供多个学生学习,故是多对一的关系)。图 5-1 学生关系E-R图5.1.2老师信息管理对于老师信息管理,我们可以将老师实体抽象出来,老师属于学院可以将学院作为一个实体。在老师信息管理中存在这样的关系:拥有(一个老师只能在一个院系工作,而一个院系可以供多个多个老师工作,故是多对一的关系)。图 5-2 老师关系E-R图5.1.3教务信息管理对于教务信息管理,我们可以将课程实体抽象出来。在教务信息管理中存在这样的关系:毕业(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一的关系)、选修(一个学生可以选修多门课程,而一门课程可以被多个学生选修,故是多对多的关系)、开设(一个专业可以开设多门课程,而一门课程可以被多个专业选择,故是多对多的关系)、授课(一门课程可以被多个老师讲授,而一个老师可以讲授多门课程,故是多对多的关系)。 图 5-3 教务关系E-R图以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:图 5-4 学籍管理系统E-R图5.2 概念模型概念模型是在对用户需求分析之后,通过画出本系统抽象出的E-R图,由概念模型辅助工具PowerDesigner11进行设计,通过具体地设置和绘图,最后就形成了如下所示的概念模型图,生成的概念结构就能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。图 5-5 学籍管理系统概念模型图6. 逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构一般分为3步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。6.1 关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系则有以下不同的情况:(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)一个m:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(5)具有相同码的关系模式可合并。将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:n 学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家庭住址,籍贯,邮政编码,民族),此为学生实体对应的关系模式。n 教师(教工号,姓名,性别,职称,所属院系,电话),此为老师实体对应的关系模式。n 毕业(毕业证编号,学号,姓名,性别,身份证号,所属院系,入学时间,已修学分,需修学分),此为毕业实体对应的关系模式。n 课程(课程号,课程名,学分),此为课程实体对应的关系模式。n 院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。n 选修(学号,课程号,成绩),此为选修关系对应的关系模式。n 授课(课程号,教工号,课时),此为老师授课关系对应的关系模式。n 开设(专业号,课程号),此为专业开设课程关系对应的关系模式。6.2 物理模型将生成的概念模型通过单击PowerDesigner11工具菜单栏上的Tools选项,再选择Generate Physical Data Model选项,就可以转换为物理模型,生成的最后结果具体如下图所示:图 6-1 学籍管理系统物理模型图7 .数据库实现7.1 物理结构设计数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数数据库的物理设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。7.1.1 确定数据库的存储结构由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区。7.1.2 存取方法和优化方法存取方法是快速存取数据库中数据的技术。数据库管理系统一般都是提供多种存取方法。常用的存取方法有三类。第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH方法。数据库的索引类似书的目录。在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。在书中,目录就是内容和相应页号的清单。在数据库中,索引就是表中数据和相应存储位置的列表。使用索引可以大大减少数据的查询时间。但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法。这是因为增加索引也有其不利的一面:首先,每个索引都将占用一定的存储空间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。7.2 功能实现完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库,最后就在此基础上编写各个表相关的触发器和存储过程。7.3 数据库的实施完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库了,这就是数据库实施阶段。7.3.1 数据库的实施数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。它相当于软件工程中的代码编写和程序调试的阶段。当在PowerDesigner Trial 11中设计好本系统的物理结构之后,就可以向数据库转换为相应的表。先选择菜单栏中Database的Connect,通过添加数据源,连接数据源,输入用户名和密码进行转换,生成相关的SQL语句,在通过运行之后,最终在SQL Server 2000中生成了如下所示的表。u 学生数据库信息截图:图 7-0 学生数据库图u 学生基本信息表(主要描述一些学生入学前的基本信息):图 7-1 学生基本信息表结构图u 教师基本信息表(主要描述教师的一些基本信息):图 7-2 教师基本信息表结构图u 院系信息表(主要描述学校中各个院系的一些基本信息):图 7-3 院系信息表结构图u 专业信息表(主要描述学生选择专业的信息):图 7-4 专业信息表结构图u 课程信息表(主要描述学校开设的课程的基本信息):图 7-5 课程信息表结构图u 选课信息表(主要描述学生选修课程的信息):图 7-6 选课信息表结构图u 授课信息表(主要描述教师授课的信息):图 7-7 授课信息表结构图u 学生毕业信息表(主要描述学生毕业的基本信息):图 7-8 学生毕业信息表结构图7.3.2 数据的载入数据库实施阶段包括两项重要的工作,一项是数据的载入,另一项是应用程序的编码和调试。由于本次课程设计没有进行应用程序的开发,因此对于后一项工作在这里就不做描述了。具体输入的一部分数据如下图所示:S 输入学生基本信息:图 7-9 学生部分基本信息数据图S 输入教师基本信息:图 7-10 教师基本信息数据图S 输入课程基本信息:图 7-11 课程信息数据图S 输入院系基本信息:图 7-12 院系基本信息数据图S 输入专业信息:图 7-13 专业信息数据图S 输入学生毕业基本信息:图 7-14 学生毕业基本信息数据图S 输入学生选课信息:图 7-15 学生选课信息数据图S 输入教师授课信息:图 7-16 教师授课基本信息数据图S 输入专业开课信息:图 7-17 专业开始课程基本信息数据图7.4创建数据库脚本7.4.1创建数据库47create database;mysql_select_db(school_census);CREATE TABLE student (sno VARCHAR( 10 ) NOT NULL ,dno VARCHAR( 10 ) NULL ,mno VARCHAR( 10 ) NULL ,sname VARCHAR( 10 ) NOT NULL ,ssex VARCHAR( 2 ) NULL ,birthday VARCHAR( 20 ) NULL ,symbol VARCHAR( 8 ) NULL ,id VARCHAR( 20 ) NULL ,intime VARCHAR( 20 ) NULL ,birthplace VARCHAR( 50 ) NULL ,homeaddr VARCHAR( 50 ) NULL ,postcode VARCHAR( 6 ) NULL ,PRIMARY KEY ( sno ) ) ENGINE = MYISAM ;CREATE TABLE teacher (tno VARCHAR( 10 ) NOT NULL ,dno VARCHAR( 10 ) NULL ,tname VARCHAR( 10 ) NOT NULL ,tsex VARCHAR( 2 ) NOT NULL ,profess VARCHAR( 10 ) NULL ,tel VARCHAR( 11 ) NULL ,PRIMARY KEY ( tno ) ) ENGINE = MYISAM ;CREATE TABLE department (dno VARCHAR( 10 ) NOT NULL ,dname VARCHAR( 20 ) NULL ,dheader VARCHAR( 10 ) NULL ,PRIMARY KEY ( dno ) ) ENGINE = MYISAM ;CREATE TABLE speciality (spno VARCHAR( 10 ) NOT NULL ,spname VARCHAR( 20 ) NOT NULL ,PRIMARY KEY ( spno ) ) ENGINE = MYISAM ;CREATE TABLE course (cno VARCHAR( 10 ) NOT NULL ,cname VARCHAR( 20 ) NOT NULL ,credit FLOAT NULL ,PRIMARY KEY ( cno ) ) ENGINE = MYISAM ;CREATE TABLE student_course (sno VARCHAR( 10 ) NOT NULL ,cno VARCHAR( 10 ) NOT NULL ,grade FLOAT NULL ,PRIMARY KEY ( sno , cno ) ) ENGINE = MYISAM ;CREATE TABLE teacher_course (cno VARCHAR( 10 ) NOT NULL ,tno VARCHAR( 10 ) NOT NULL ,ctime VARCHAR( 20 ) NULL ,PRIMARY KEY ( cno , tno ) ) ENGINE = MYISAM ;CREATE TABLE speciality_course (spno VARCHAR( 10 ) NOT NULL ,cno VARCHAR( 10 ) NOT NULL ,PRIMARY KEY ( sno , cno ) ) ENGINE = MYISAM ;CREATE TABLE graduate (gno VARCHAR( 10 ) NOT NULL ,sno VARCHAR( 10 ) NOT NULL ,sname VARCHAR( 10 ) NOT NULL ,ssex VARCHAR( 2 ) NULL ,dno VARCHAR( 10 ) NULL ,intime DATETIME NULL ,graduatetime DATETIME NULL ,havecredit FLOAT NULL ,needcredit FLOAT NULL ,PRIMARY KEY ( gno ) ) ENGINE = MYISAM ;7.4.2数据库值初始化INSERT INTO department ( dno , dname , dheader ) VALUES (1001, 计算机学院, 王河亲), (1002, 信息学院, 魏文彬), (1003, 环境学院, 梁静茹), (1004, 外国语学院, 张含韵), (1005, 机电学院, 机长), (1006, 自动化学院, 老值);INSERT INTO speciality ( spno , spname ) VALUES (2001, 计算机科学与技术), (2002, 网络工程), (2003, 软件工程), (2004, 光信息方向), (2005, 对外贸易), (2006, 外国文化);INSERT INTO course ( cno , cname , credit ) VALUES (3001, 多媒体技术, 2.5), (3002, C语言, 4.5), (3003, 通信原理, 3), (3004, 大学英语, 4.5), (3006, 高等数学, 6), (3005, 大学物理, 3.5);INSERT INTO teacher ( tno , dno , tname , tsex , profess , tel ) VALUES (0101, 1001, 王哈哈, 男, 教授,, (0102, 1001, 魏某, 女, 讲师,, (0103, 1002, 谭家, 男, 讲师, NULL ), (0104, 1003, 魏伟, 男, 副教授, 189900000), (0105, 1004, 李莉, 女, 讲师, NULL ), (0106, 1005,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 面试即兴演讲试题及范例
- 2024血透治疗中的监护及护理要点试题及答案
- 新进员工岗前安全教育培训试题及答案
- 2025年新《公司法》知识竞赛题库(含答案)
- 2024年大学礼仪知识竞赛题库与答案
- 2024年公职人员考试时事政治考试题库(附答案)
- 北京户外徒步知识培训课件
- 2025年安全生产培训考试题及答案
- 标本采集顺序课件
- 2024海南省消防宣传月知识竞赛练习题及答案
- 农机购买销售合同(2025版)
- 硬质合金成型工专业知识考试题库含答案
- 视神经脊髓炎病例汇报
- 高质量数据集实践指南(1.0)
- 消除艾滋病、梅毒和乙肝母婴传播项目工作制度及流程(模板)
- 2025年机动车授权签字人考试题库及答案
- 玉米机收减损技术
- AI大模型数字港口业务架构总体设计方案
- 2025年高考全国一卷英语试题真题文档版(含答案)
- 白酒广告投放管理制度
- 实训室管理课件
评论
0/150
提交评论