校友信息管理系统的设计与实现_第1页
校友信息管理系统的设计与实现_第2页
校友信息管理系统的设计与实现_第3页
校友信息管理系统的设计与实现_第4页
校友信息管理系统的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、本 科 毕 业 论 文校友信息管理系统的设计与实现校友信息管理系统的设计与实现指 导 老 师 : 学 生 姓 名 : 学 号 : 院 系 :网络教育学院专 业 :计算机机科学与技术毕 业 时 间 : 毕毕 业业 论论 文文 任任 务务 书书1.收集资料:针对选题收集有关资料。通过学校图书馆、相关网站和专业书籍,利用电子阅览室的网络资源等途径搜集有关资料,并对相关资料进行系统的整理、分析、归纳 。 2.要求方面:系统要求实现学校范围内校友信息的管理、检索、添加和统计管理等功能。通过 php、mysql 编程环境完成系统的编写。 3.内容方面: 1绪论 2数据库的理论基础 3开发工具与开发语言介绍

2、 4需求分析 5系统各模块的实现 6系统的测试 摘要摘要随着互联网的发展,网络信息资源也不断的丰富,而以动态性和交互性为特征的网络信息管理是当中最丰富、最开放和最自由的网络信息资源,是最受欢迎的一种信息交流方式。目前实现网络信息管理功能的开发语言多种多样,主要有 php、jsp、asp 和 asp.net,其中 php 借助于开源的优势势必将成为网络开发的必然趋势。以前,学校的校友信息管理基本上是靠手工进行。如今,随着学校的规模增大,有关已经工作的校友信息管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行校友信息管理。但手工管理具有效率底、易出错、检索信息慢、对学校的管理提供

3、决策信息较为困难等缺点。因此,使用效率更高的方式来处理这些数据就更显得重要了。本文就该系统进行分析和整体的介绍,并介绍了使用 php + myqsl 技术开发该系统的相关模块的整个过程。该系统主要利用了 php 强大的网络数据库访问技术,与 mysql 的强大的数据库功能来实现主要功能。系统设计并实现了校友基本信息管理,包括对校友信息的查询、录入、修改和删除关键词:关键词: php,mysql,网络数据库访问技术,管理the research and implementation of pe documentary virus base on win32 platformabstractabs

4、tractwith the development of the internet, network information resources is constantly enriched, but to be a dynamic and interactive information management for the characteristics of the network is among the richest and most open and free network information resources, is the most popular way of inf

5、ormation exchange. the current implementation information management of the network feature of development languages is multiplicity, mainly php, jsp, asp and asp.net, php with the help of the open source advantage is bound to become an inevitable trend of internet development. previously, alumni in

6、formation management is basically by hand. nowadays, with the school scale increases, data volume involved in the alumni information management work becomes bigger and bigger. some schools have to increase more manpower and material resources for better information management. however, the manual ma

7、nagement has several shortcomings such as low efficiency, error-prone, slow retrieval of information, decision-making information more difficult to provide and so on. therefore, using high efficiency ways of dealing with these data is particularly important. this article is to introduce and analyze

8、the information management system. it decribes the whole process of using the php+mysql technology to develop the related modules. the system has mainly used the php formidable network database access technology and the mysql formidable database function to realizes the students basic information ma

9、nagement, including the query, recorded, modify and delete functions for alumnis information. keywords:php, mysql, network database access technology,management目录目录摘要摘要 .iabstract.2目录目录.3第一章第一章 绪论绪论.11.1 课程设计的背景 .11.2 课题设计的目的和意义 .21.3 系统设计方案 .3第二章第二章 数据库的理论基础数据库的理论基础.52.1 mysql 数据库基本介绍.52.1.1 名称简介 .

10、52.1.2 自身特性 .52.1.3 应用环境 .62.1.4 管理软件 .62.1.5 存储引擎 .62.1.6 应用架构 .72.1.7 索引文件 .72.1.8 文件优化 .102.1.9 mysql-安装注意 .112.2 mysql 数据库技术.112.2.1 速度快.112.2.2 连接性和安全性.122.2.3 可移植性.122.2.4 它支持 sql 语言.122.2.5 容易使用.122.2.6 成本优势.12第三章第三章 开发工具与开发语言介绍开发工具与开发语言介绍.133.1 开发工具介绍 .133.2 php,apache,phpmyadmin介绍.143.2.1 p

11、hp 简介.143.2.2 php 特性.153.2.3 apache 简介.173.2.4 phpmyadmin 简介.21第四章第四章 需求分析需求分析.224.1 系统的运行环境 .224.1.1 硬件需求.224.1.2 软件需求 .224.2 系统需求分析 .224.3 系统模块划分 .234.44.4 系统数据库设计规范和存储说明系统数据库设计规范和存储说明.23第五章第五章 系统各模块的实现系统各模块的实现.265.1 服务器的设置 .265.2 设置数据库 .265.2.1 创建数据库和数据表 .265.2.2 数据库的连接 .285.2.3 创建数据源 .285.2.4 常用

12、的数据库命令 .295.3 系统开发思想及设计原则 .305.3.1 系统开发思想 .305.3.2 系统开发的设计原则 .315.4 系统功能实现 .315.4.1 系统首页 .315.4.2 系统登录前 .335.4.3 系统登录 .345.4.4 添加校友信息 .375.4.5 查询模块 .405.4.6 校友信息修改 .425.4.7 校友信息查看 .425.4.8 校友信息删除 .435.4.9 注销登录 .43第六章第六章 系统的系统的测测试试.45第七章第七章 设计总结与体会设计总结与体会.47致谢致谢.48第一章第一章 绪论绪论在绪论中,主要介绍了为什么要选择这个课程设计,选择

13、这个课程设计的意义在哪里。同时,还介绍在这个课程设计的方案,包括实现的一种形式及其主体部分。在生活景况不断提升的情况下,人类对知识文化的追求也不断地提升,同时也影响了整个社会经济、技术地不断提升。在一拨又一拨的学生从校园走出去时,学校的档案室中不断地累积他们的记录,给学校带来了无比重大的负担,为了不放下这些负担的同时解决好,我们借用了网络这个平台,去实现网络存储校友信息,芯片管理信息。1.1 课程设计的背景在电子计算机技术发展日新月异的今天,计算机技术、网络技术和信息技术的发展和应用早已深入到了各行各业,并发挥着它们的巨大潜力,特别是网络的高速化、广泛化发展和运用,更使得人类在任何行业都借用这

14、个平台去管理远方的信息。当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用真正原因所在,并且计算机给信息管理系统提供了一个良好的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了安全性。当前国内外人员管理信息较大,工作繁琐,管理模式还不够完善。究其原因在于没有一个良好的管理系统。使用计算机管理能够便于管理决策人员迅速掌握情况,加快人员管理工作的现代化进程。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。该系统就是为了管理好院校校友信息而设计的。作为一个有着悠久的历史老校或者刚刚崛起的新校,都有着一个

15、共同点管理学生信息,管理老师信息,管理已毕业离校在外的校友信息。这所有的信息都不能丢失,而且还要保护它的完整性。仅仅是手工管理的话,难免会出现信息丢失,或者信息毁灭的现象。如果出现一种完善的管理系统,那么这所有的信息都将被一一记载,不丢失、不毁灭,永远存储在一个简单的硬件壳里。在庞大信息处理面前,手工操作是可以,但将会浪费很多的人力、物力以及财力,而且手工操作比较容易出错,又不易查找。如果将信息存储在一个记忆器里,用一个系统不停地将它存进或者取出,更或者是修改、删除,那将是一个简单的操作,不仅节约时间,更节约了人力、物力和财力。所以,在信息处理面前,我们要有一个规范的管理手段,那就是完善的管理

16、系统。计算机出现的年代已很久,但真正被用于处理各种各样的信息却有了不少的限制。如今经济发展了,科技随着发展了,经济又进一步再发展了,人们对信息处理有了更高的要求,一不希望累了自己,二不希望该留的信息突然消失、难于查询。所以如今的计算机将被广泛利用起来,发挥它真正的效力,不再被闲置一旁。编辑好一个管理系统,装载在计算机中,不断地运行,不断地操作,不断地存储,将该存的存,该改的改,该删的删,该提取出来的提取出来。校友信息管理系统是计算机技术和网络技术迅速发展的一个高校办公应用解决方案。高校校友信息管理系统将网络技术与现代管理观念相融合,针对信息技术的特点对办公系统进行规划和重构,对内部信息流进行优

17、化和合理的配置,生成动态的、安全的、专有的数字化信息源,将办公体系全面自动化、流程化、数字化。以此桥梁,横向连接校友间的感情交流与知识学习,纵向实现高校一体化的高效办公系统,从而更明确、更有效地支持高校的管理和决策。由此,建立一个校友信息管理系统成了一个高校的必要,这样将使得校友信息管理工作规范化、系统化、程序化、简约化、远距离传输化,避免了校友信息更新不及时,提高了信息处理的速度和准确性,能够及时、准确、有效地查询和修改、存储校友信息现状。1.2 课题设计的目的和意义随着人类的发展、科学技术的提升,信息的收集也在一步一步地往简单易化中行进。网络成了现代人远距离收集信息的最有效、最方便、最迅速

18、的媒介。作为一个高校,每年都会有新生进毕业生出的现象。一旦毕业生走出校门,要想一直保留着有效信息是一件费时间、人力、物力的事情。那么,出现一个管理系统随时随地都可以记录个人有效信息成了一种必然。由嵌入 html 中的语言 php 加 mysql 所开发出来的信息管理系统正符合学校的这种需求。只要每一个曾经在此学校就读过的学生登陆学校网站,链接进入“校友管理系统” ,便可快速、有效地记录、修改、查询个人信息。同时,根据用户的不同需求,能够准确、迅速地找到与之匹配的校友,给校友间保持友谊提供了一个很好的平台。具有一定的应用价值。校友管理信息是对校友进行有效管理、正确决策的重要依据,将校友管理系统内

19、的各种数据加以收集处理后获得的校友管理信息,可用于校友管理部门对系统的诸多因数进行调节,达到优化管理进程、提高信息管理水平,保证校友管理协调,达到高效运转的目的。校友信息管理过程是管理人员和校友共同参与的过程,校友管理信息涉及到从管理人员到教师、在校学生、刚毕业离校学生、已工作多年的远方校友整个发展的各种信息。信息收集与使用的难度大是高校实现信息化管理的重点和难点。高效而准确的校友信息管理是提高高校办学质量、实现高校信息管理一体化所必不可缺少的重要手段,教育部颁发与实施的本科教学水平评估工作对校友管理信息化工作提出了更高的要求;建立以信息技术与数据库技术为基础的校友管理信息系对于规范管理过程,

20、实现各种校友自由流动过程信息的快速攫取、查询、避免人为统计出现的偏差与信息丢失、提高校友信息管理的质量与效率、满足本科教学水平评估的要求具有重要意义。对于普通高校来说,利用计算机支持学校高效率完成校友信息管理的日常事务,是适应现代化信息管理的要求,推动学校管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高校友信息管理的效率,也是学校信息管理的科学化、正规化,与世界接轨的重要条件。1.3 系统设计方案因为借用了 php、mysql、apache 这些免费工具所设计处理具有动态性、高效性、安全性的网

21、络平台,可以实现的功能主要包括查询校友信息、添加或者插入校友信息、修改校友信息、删除校友信息等。根据所设想的功能,可以得出校友信息管理系统流程图:开始管理员登陆检查密码检查密码管理员界面添加修改删除查询用户登陆用户界面个人添加个人修改个人删除个人查询结束第二章第二章 数据库的理论基础数据库的理论基础2.1 mysql 数据库基本介绍mysql 是一个小型关系型数据库管理系统,开发者为瑞典 mysqlab 公司。在2008 年 1 月 16 号被 sun 公司收购。而 2009 年,sun 又被 oracle 收购.对于 mysql 的前途,没有任何人抱乐观的态度.目前 mysql 被广泛地应用

22、在 internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 mysql 作为网站数据库。2.1.1 名称简介名称简介mysql 最初的开发者的意图是用 msql 和他们自己的快速低级例程(isam)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:msql 并没有他们需要的那么快和灵活。这导致了一个使用几乎和 msql 一样的 api 接口的用于他们的数据库的新的 sql 接口的产生,这样,这个 api 被设计成允许为用于 msql 而写的第三方代码更容易移植到 mysql。 mysql 这个名字是

23、怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有 10 年以上,而且不管怎样,mysql ab 创始人之一的 montywidenius的女儿也叫 my。这两个到底是哪一个给出了 mysql 这个名字至今依然是个迷,包括开发者在内也不知道。 mysql 的海豚标志的名字叫“sakila” ,它是由 mysql ab 的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者 ambrose twebaze 提供。根据 ambrose 所说,sakila 来自一种叫siswati 的斯威士兰方言,也是在 ambrose 的家

24、乡乌干达附近的坦桑尼亚的 arusha 的一个小镇的名字。2.1.2 自身特性自身特性1.使用 c 和 c+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持 aix、freebsd、hp-ux、linux、mac os、novell netware、openbsd、os/2 wrap、solaris、windows 等多种操作系统。3.为多种编程语言提供了 api。这些编程语言包括c、c+、python、java、perl、php、eiffel、ruby 和 tcl 等。4.支持多线程,充分利用 cpu 资源。5.优化的 sql 查询算法,有效地提高查询速度。6.既能够作为一个

25、单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 gb 2312、big5,日文的 shift_jis 等都可以用作数据表名和数据列名。7.提供 tcp/ip、odbc 和 jdbc 等多种数据库连接途径。8.提供用于管理、检查、优化数据库操作的管理工具。9.可以处理拥有上千万条记录的大型数据库。2.1.3 应用环境应用环境与其他的大型数据库例如 oracle、db2、sql server 等相比,mysql 自有它的不足之处,如规模小、功能有限(mysql cluster 的功能和效率都相对比较差)等,但是这丝毫也没有减少它受

26、欢迎的程度。对于一般的个人使用者和中小型企业来说,mysql 提供的功能已经绰绰有余,而且由于 mysql 是开放源码软件,因此可以大大降低总体拥有成本。目前 internet 上流行的网站构架方式是 lamp(linux+apache+mysql+php) ,即使用 linux 作为操作系统,apache 作为 web 服务器,mysql 作为数据库,php 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(floss),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。2.1.4 管理软件管理软件可以使用命令行工具管理 mysql 数据库(命令

27、mysql 和 mysqladmin),也可以从mysql 的网站下载图形管理工具 mysql administrator 和 mysql query browser。phpmyadmin 是由 php 写成的 mysql 资料库系统管理程式,让管理者可用 web界面管理 mysql 资料库。phpmybackuppro 也是由 php 写成的,可以透过 web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 mysql 数据库。另外,还有其他的 gui 管理工具,例如早先的 mysql-front 以及 ems mysql manager,navica

28、t 等等。2.1.5 存储引擎存储引擎myisam mysql 的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务。innodb 事务型数据库的首选引擎,支持 acid 事务,支持行级锁定。bdb 源自 berkeley db,事务型数据库的另一种选择,支持 commit 和rollback 等其他事务特性。memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在 mysql 重新启动时丢失。merge 将一定数量的 myisam 表联合而成一个整体,在超大规模数据存储时很有用。archive 非常适合存储大量的独

29、立的,作为历史记录的数据。因为它们不经常被读取。archive 拥有高效的插入速度,但其对查询的支持相对较差。federated 将不同的 mysql 服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用。cluster/ndb 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用。csv 逻辑上由逗号分割数据的存储引擎。blackhole 黑洞引擎,写入的任何数据都会消失,一般用于记录 binlog 做复制的中继。example 存储引擎是一个不做任何事情的存根引擎。它的目的是作为 mysql 源代码中的一个例子,用来演示如何开始

30、编写一个新存储引擎。 同样,它的主要兴趣是对开发者。example 存储引擎不支持编索引。另外,mysql 的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。2.1.6 应用架构应用架构单点(single) ,适合小规模应用。复制(replication) ,适合中小规模应用。集群(cluster) ,适合大规模应用。mysql 架构及应用。mysql4.1 版本中增加了不少新的性能,包括对主键的更高速度的缓存,对子查询的更好的支持,以及应网络约会网站所要求的,基于地理信息的查询。其同步开发的 5.0 版本则把目标对准了企业用户,对于 4.1 版本中的所有新特性,5.0 版

31、本悉数收入囊中,并且独具以下特点:对外键的良好支持;系统自动报错机制以及对存储过程的充分支持。2.1.7 索引文件索引文件索引是一种特殊的文件(innodb 数据表上的索引是表空间的一个组成部分) ,它们包含着对数据表里所有记录的引用指针。索引不是万能的,索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许多 sql 命令都有一个 delay_key_write 项。这个选项的作用是暂时制止 mysql 在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许

32、多新记录插入某个数据表的场合,delay_key_write 选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但 mysql 把同一个数据表里的索引总数限制为 16 个。1、innodb 数据表的索引与 innodb 数据表相比,在 innodb 数据表上,索引对 innodb 数据表的重要性要大得多。在 innodb 数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。 “

33、数据行级锁定”的意思是指在事务操作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)select、lockinsharemode、select、forupdate 命令以及insert、update 和 delete 命令。出于效率方面的考虑,innodb 数据表的数据行级锁定实际发生在它们的索引上,而不是数据表自身上。显然,数据行级锁定机制只有在有关的数据表有一个合适的索引可供锁定的时候才能发挥效力。2、限制 如果 where 子句的查询条件里有不等号(wherecoloum!=) ,mysql 将无法使用索引。类似地,如果 where 子句的查询条件里

34、使用了函数(whereday(column)=) ,mysql 也将无法使用索引。在 join 操作中(需要从多个数据表提取数据时) ,mysql 只有在主键和外键的数据类型相同时才能使用索引。如果 where 子句的查询条件里使用比较操作符 like 和 regexp,mysql 只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说,如果查询条件是 likeabc%,mysql 将使用索引;如果查询条件是 like%abc ,mysql 将不使用索引。在 orderby 操作中,mysql 只有在排序条件不是一个查询条件表达式的情况下才使用索引。 (虽然如此,在涉及多个数据表查询

35、里,即使有索引可用,那些索引在加快 orderby 方面也没什么作用) 。如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。比如说,如果某个数据列里包含的净是些诸如“0/1”或“y/n”等值,就没有必要为它创建一个索引。mysql 普通索引、唯一索引和主索引1、普通索引普通索引(由关键字 key 或 index 定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(wherecolumn=)或排序条件(orderbycolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。2

36、、唯一索引普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字 unique 把它定义为一个唯一索引。这么做的好处:一是简化了mysql 对这个索引的管理工作,这个索引也因此而变得更有效率;二是 mysql 会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,mysql 将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的

37、往往不是为了提高访问速度,而只是为了避免数据出现重复。3、主索引在前面已经反复多次强调过:必须为主键字段创建一个索引,这个索引就是所谓的“主索引” 。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是primary 而不是 unique。4、外键索引如果为某个外键字段定义了一个外键约束条件,mysql 就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。5、复合索引索引可以覆盖多个数据列,如像 index(columna,columnb)索引。这种索引的特点是 mysql 可以有选择地使用一个这样的索引。如果查询操作只需要用到 columna数据列上的一个索引,就可以

38、使用复合索引 index(columna,columnb) 。不过,这种用法仅适用于在复合索引中排列在前的数据列组合。比如说,index(a,b,c)可以当做 a 或(a,b)的索引来使用,但不能当做 b、c 或(b,c)的索引来使用。6、索引的长度在为 char 和 varchar 类型的数据列定义索引时,可以把索引的长度限制为一个给定的字符个数(这个数字必须小于这个字段所允许的最大字符个数) 。这么做的好处是可以生成一个尺寸比较小、检索速度却比较快的索引文件。在绝大多数应用里,数据库中的字符串数据大都以各种各样的名字为主,把索引的长度设置为 1015 个字符已经足以把搜索范围缩小到很少的几

39、条数据记录了。在为 blob 和 text 类型的数据列创建索引时,必须对索引的长度做出限制;mysql 所允许的最大索引全文索引文本字段上的普通索引只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字符)进行检索操作。如果字段里存放的是由几个、甚至是多个单词构成的较大段文字,普通索引就没什么作用了。这种检索往往以的形式出现,这对 mysql 来说很复杂,如果需要处理的数据量很大,响应时间就会很长。这类场合正是全文索引(full-textindex)可以大显身手的地方。在生成这种类型的索引时,mysql 将把在文本中出现的所有单词创建为一份清单,查询操作将根据这份清单去检索有关的数据

40、记录。全文索引即可以随数据表一同创建,也可以等日后有必要时再使用下面这条命令添加:altertabletablenameaddfulltext(column1,column2)有了全文索引,就可以用 select 查询命令去检索那些包含着一个或多个给定单词的数据记录了。下面是这类查询命令的基本语法:select*fromtablenamewherematch(column1,column2)against(word1,word2,word3 )上面这条命令将把 column1 和 column2 字段里有 word1、word2 和 word3 的数据记录全部查询出来。注解:innodb 数据

41、表不支持全文索引。2.1.8 文件优化文件优化查询和索引的优化:只有当数据库里已经有了足够多的测试数据时,它的性能测试结果才有实际参考价值。如果在测试数据库里只有几百条数据记录,它们往往在执行完第一条查询命令之后就被全部加载到内存里,这将使后续的查询命令都执行得非常快-不管有没有使用索引。只有当数据库里的记录超过了 1000 条、数据总量也超过了 mysql 服务器上的内存总量时,数据库的性能测试结果才有意义。在不确定应该在哪些数据列上创建索引的时候,人们从 explainselect 命令那里往往可以获得一些帮助。这其实只是简单地给一条普通的 select 命令加一个explain 关键字作

42、为前缀而已。有了这个关键字,mysql 将不是去执行那条select 命令,而是去对它进行分析。mysql 将以表格的形式把查询的执行过程和用到的索引等信息列出来。在 explain 命令的输出结果里,第 1 列是从数据库读取的数据表的名字,它们按被读取的先后顺序排列。type 列指定了本数据表与其它数据表之间的关联关系(join) 。在各种类型的关联关系当中,效率最高的是 system,然后依次是const、eq_ref、ref、range、index 和 all(all 的意思是:对应于上一级数据表里的每一条记录,这个数据表里的所有记录都必须被读取一遍这种情况往往可以用一索引来避免) 。p

43、ossible_keys 数据列给出了 mysql 在搜索数据记录时可选用的各个索引。key 数据列是 mysql 实际选用的索引,这个索引按字节计算的长度在 key_len 数据列里给出。比如说,对于一个 integer 数据列的索引,这个字节长度将是 4。如果用到了复合索引,在 key_len 数据列里还可以看到 mysql 具体使用了它的哪些部分。作为一般规律,key_len 数据列里的值越小越好。ref 数据列给出了关联关系中另一个数据表里的数据列的名字。row 数据列是mysql 在执行这个查询时预计会从这个数据表里读出的数据行的个数。row 数据列里的所有数字的乘积可以大致了解这个

44、查询需要处理多少组合。最后,extra 数据列提供了与 join 操作有关的更多信息,比如说,如果 mysql 在执行这个查询时必须创建一个临时数据表,就会在 extra 列看到 usingtemporary 字样。2.1.9 mysql-安装注意安装注意1、如果是用 mysql+apache,使用的又是 freebsd 网路操作系统的话,安装时候你应按注意到 freebsd 的版本问题,在 freebsd 的 3.0 以下版本来说,mysqlsource 内含的 mit-pthread 运行是正常的,但在这版本以上,你必须使用nativethreads,也就是加入一个 with-named-

45、thread-libs=-lc_r 的选项。2、如果在 compile 过程中出了问题,请先检查你的 gcc 版本是否在 2.81 版本以上,gmake 版本是否在 3.75 以上。3、如果不是版本的问题,那可能是你的内存不足,请使用./configure-with-low-memory 来加入。4、如果要重新做你的 configure,那么你可以键入 rmconfig.cache 和 makeclean 来清除记录。5、把 mysql 安装在/usr/local 目录下,这是缺省值,您也可以按照你的需要设定你所安装的目录。2.2 mysql 数据库技术对于网站开发来说,使用数据库是开发专业站

46、点必不可少的,但是但是数据库类别林林总总,access、sql server 和 oracle 都不是开源免费软件,需要购买才能使用,而 mysql 是开源软件,选择 mysql 是最节能成本的做法,而且apache、php、mysql 是绝配,它们的组合有着最佳的性能和最大的用户支持群。mysql 是一个真正的多用户,多线程的结构化查询语言数据服务器,它以客户机/服务器的结构实现,并且还具有以下优势。2.2.1 速度快速度快开发者声称 mysql 数据库可能是目前得到的最快的数据库。2.2.2 连接性和安全性连接性和安全性mysql 是完全网络化的,其数据库可在因特网上访问,因此可以和任何地

47、方的任何人共享数据库,而且 mysql 还能进行访问控制,能够控制特定用户不允许其访问数据库。2.2.3 可移植性可移植性mysql 可运行在各种版本的 unix 系统及其他费 nuxi 系统上,从家用的 pc 到高级服务器都可运行 mysql2.2.4 它支持它支持 sql 语言语言mysql 支持支持这种现代数据库系统都选用的语言。2.2.5 容易使用容易使用mysql 是一个高性能且相对简单的数据库,易于操作。2.2.6 成本优势成本优势mysql 对于对于大多数个人用户来说是免费的!基于以上种种优势,所以,在做学生管理系统的时候我选择使用 mysql 作为web 服务器的数据库。第三章

48、第三章 开发工具与开发语言介绍开发工具与开发语言介绍3.1 开发工具介绍apmsever 就是 apache、mysql 加上 php 等聚合一起的绿色软件。web 服务器apache 在全球的 website 有极大的使用率。数据库 mysql, 一个快速、稳定的 sql数据库服务器。php, 扮演处理互动式信息的网页应用程序的角色。除了稳定、高效能之外,它们均免费,是最经济的选择。apmserv 5.2.6 是一款拥有图形界面的快速搭建 apache 2.2.9、php 5.2.6、mysql 5.1.284.0.26、nginx 0.7.19、memcached 1.2.4、phpmya

49、dmin 、openssl、sqlite、zendoptimizer,以及 asp、cgi、perl 网站服务器平台的绿色软件。无需安装,具有灵活的移动性,将其拷贝到其它目录、分区或别的电脑时,均只需点击 apmserv.exe 中的启动按钮,即可自动进行相关设置,将 apache 和mysql 安装为系统服务并启动。apmserv 集合了 apache 稳定安全的优点,并拥有跟iis 一样便捷的图形管理界面,同时支持 mysql 5.0 & 4.0 两个版本,虚拟主机、虚拟目录、端口更改、smtp、上传大小限制、自动全局变量、ssl 证书制作、缓存性能优化等设置,只需鼠标一点

50、即可完成。1、注意事项:apmserv 程序所在路径不能含有汉字和空格。2、mysql 默认用户名:root,密码为空3、mysql 数据库文件存放目录:mysql5.1data 或 mysql4.0data4、网站根目录html,phpwwwhtdocs aspwwwasp cgi,perlwwwcgi-bin5、访问本机请用 /或 / (如果开启 ssl)6、非默认端口,网址为 :端口/或 :端口/7、如果在“扩展功能”中选择使用 memcached,它的端口为:11

51、2118、apmserv 集成了以下软件:apache 2.2.9 http 服务器nginx 0.7.19 http 服务器netbox 2.8 build 4128 http 服务器asp 脚本解释引擎php 5.2.6 php 脚本解释引擎miniperl 5.8 perl 脚本解释器memcached 1.2.4 key-value 内存缓存系统mysql 5.1.28 mysql 数据库服务器mysql 4.0.26 mysql 数据库服务器phpmyadmin mysql 数据库在线管理工具eaccelerator php 脚本加速引擎zendop

52、timizer 3.3.3 php 脚本加速引擎openssl 0.9.8h https(ssl)安全传输协议ampserver 对于那些网络知识较少、服务器架设能力有限或者没有条件满足服务器安装环境的人们来说更是一个优势。即使你对服务器安装一点都不懂也可以轻松的架设一个 php+asp+cgi+perl 的全功能网站调试环境。将下载下来的的 apmserver 解压后,执行里面的 apmserv5.2.6_zip.exe 文件就可以打开 apmserver5.2.6 了。apmserv 提供了几个比较实用的功能,比如可以让apmserv 随 windows 自动运行。这样,每次开机就可以进行

53、网站调试了。点击启动 apmserv 按钮,程序开始架设调试环境。启动成功的话,可以在状态栏中看到相应的提示,并且启动 apmserv 会变成灰色。接下来你就可以将要调试的 php、html 源文件放在 apmserver 中的 wwwhtdocs目录中,如果要调试 asp,则 asp 源文件放在 wwwasp 目录中,cgi 和 perl 的源程序请放在 wwwcgi-bin 目录中。好了,现在所有的设置工作都已经完成了。接下来就可以在浏览器地址栏中输入 就可以调试网站了。3.2 php,apache,phpmyadmin 介绍3.2.1 php 简介简介php 独特的语法

54、混合了 c、java、perl 以及 php 自创新的语法。它可以比 cgi 或者 perl 更快速的执行动态网页。用 php 做出的动态页面与其他的编程语言相比,php 是将程序嵌入到 html 文档中去执行,执行效率比完全生成 html 标记的 cgi要高许多;php 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。php 具有非常强大的功能,所有的 cgi 的功能 php 都能实现,而且支持几乎所有流行的数据库以及操作系统。php 于 19 94 年由 rasmus lerdorf 创建,刚刚开始只是一个简单的用 perl 语言编写的程序,用来统计他自己网站的访问者

55、。后来又用 c 语言重新编写,包括可以访问数据库。在 1995 年以 personal home page tools (php tools) 开始对外发表第一个版本,lerdorf 写了一些介绍此程序的文档,并且发布了 php1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了 php,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在 1995 年中,php2.0 发布了。第二版定名为 php/fi(form interpreter)。php/fi 加入了对 mysql 的支持,从此建立了 php 在动态网页开发上的

56、地位。到了 1996 年底,有15000 个网站使用 php/fi;1997 年中,使用 php/fi 的网站数字超过五万个。而在1997 年中,开始了第三版的开发计划,开发小组加入了 zeev suraski 及 andi gutmans,而第三版就定名为 php3。2000 年,php4.0 又问世了,其中增加了许多新的特性。php 的简称原本为 personal home page,是 rasmus lerdorf 为了要维护个人网页,而用 c 语言开发的一些 cgi 工具程序集,来取代原先使用的 perl 程序。最初这些工具程序用来显示 rasmus lerdorf 的个人履历,以及统

57、计网页流量。他将这些程序和一些表单直译器整合起来,称为 php/fi。php/fi 可以和数据库连接,产生简单的动态网页程序。rasmus lerdorf 在 1995 年 6 月 8 日将 php/fi 公开释出,希望可以透过社群来加速程序开发与寻找错误。这个释出的版本命名为 php 2,已经有今日 php 的一些雏型,像是类似 perl 的变量命名方式、表单处理功能、以及嵌入到 html 中执行的能力。程序语法上也类似 perl,有较多的限制,不过更简单、更有弹性。在 1997 年,任职于 technion iit 公司的两个以色列程序设计师:zeev suraski 和 andi gut

58、mans,重写了 php 的剖析器,成为 php 3 的基础,而 php 也在这个时候改称为 php: hypertext preprocessor.5。经过几个月测试,开发团队在 1997 年 11 月释出了 php/fi 2,随后就开始 php 3 的开放测试,最后在 1998 年 6 月正式释出 php 3。zeev suraski 和 andi gutmans 在 php 3 释出后开始改写 php 的核心,这个在1999 年释出的剖析器称为 zend engine7,他们也在以色列的 ramat gan 成立了 zend technologies 来管理 php 的开发。在 2000

59、 年 5 月 22 日,以 zend engine 1.0 为基础的 php 4 正式释出,2004 年 7 月13 日则释出了 php 5,php 5 则使用了第二代的 zend engine5。php 包含了许多新特色,像是强化的面向对象功能、引入 pdo(php data objects,一个存取数据库的延伸函数库) 、以及许多效能上的增强。目前 php 4 已经不会继续更新,以鼓励用户转移到php 5。2008 年 php 5 成为了 php 唯一的有在开发的 php 版本。将来的 php 5.3 将会加入 late static binding 和一些其他的功能强化。php 6 的开

60、发也正在进行中,主要的改进有移除 register_globals、magic quotes 和 safe mode 的功能。3.2.2 php 特性特性php 的特性为:开放源代码所有的 php 源代码事实上都可以得到。免费使用php 是一个免费软件,尽可放心使用。基于服务器端由于 php 是在 web 服务器端运行的,可以运行在unix、linux、windows 下。所以它的程序可以很大、很复杂而不会降低客户端的运行速度。跨平台php 程序可以在 unix、linux 或者 windows 操作系统下运行。简单的语言php 坚持脚本语言为主,与 java 以 c+不同。嵌入 htmlph

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论