




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux操作系统内核分析课程设计任务书一、 课程设计课题Linux操作系统下的网络数据库设计二、 课程设计要求1. 熟悉Linux操作系统下常用命令的使用方法。2. 理解Linux操作系统下数据库设计方法。3. 明确设计指标,写出设计方案,设计出数据库设计步骤。4. 认真进行软件设计与调试,记录调试结果。5. 将结果向指导教师演示,由教师提问验收通过;6. 打印数据库设计的详细步骤和程序清单,撰写程序说明,完成课程设计报告书,进行分组讨论设计心得。三、 课程设计工作量1. 周一:明确课程设计任务和目标,熟悉Linux系统下数据库设计的方法。 2. 周二:明确设计指标,建立数据库,熟悉程序设计方法。3. 周三、周四:完成设计与调试。 4.周五:学生演示设计结果,教师提问验收。打印程序清单,撰写程序说明,完成课程设计报告书。 四、 课程设计说明书内容(有指导书的可省略)1, Linux下常用命令含义。2, 数据库设计原理、方法,遇到的问题及解决办法。3, PHP程序设计(软件简介,调试过程,结果)。4, 数据库设计详细步骤、软件程序清单。24目 录第一章 概述61.1 Linux操作系统下的网络数据库设计61.1.1 Linux操作系统的概述61.1.2 Apache服务器的配置71.1.3 MySQL数据库服务器71.1.4 Web程序设计语言PHP8第二章 Linux操作系统常用命令92.1 目录及文件操作命令92.1.1 文件显示命令92.1.2 显示目录内容的命令和改变工作目录102.1.3 创建和删除目录的命令102.1.4 查找、排序及显示指定文件内容的命令102.1.5 改变文件或目录权限112.2 使用命令122.2.1 文件打包tar122.2.2 系统帮助文档122.2.2 显示帮助手册12第三章 数据库设计133.1建立数据库133.1.1 查询和启动MySQL数据库软件133.1.2建立数据库133.1.3建立数据表user结构143.1.4 记录的装入、删除和修改153.1.5数据记录的查询163.2PHP编程163.2.1 PHP语法简介173.2.1 PHP与MySQL的连接与关闭173.2.2 数据库的选择183.2.3 发送SQL命令193.2.4 读取数据203.3程序流程图20第四章 运行结果分析及总结224.1运行结果224.2设计总结24参考文献24附录(PHP源程序)25第一章 概述1.1 Linux操作系统下的网络数据库设计数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。Linux操作系统继承了UNIX操作系统的支持多用户、多任务,稳定性好,网络功能强大等众多优点。最为开源操作系统,Linux发展迅速,其应用遍及金融、教育、邮政、电信等众多行业。Linux操作系统下的网络数据库设计是利用Linux系统进行对Web的开发,开发Web的工具有很多,我们使用的是数据库服务器-MySQL和Web的程序设计语言PHP。在Linux操作系统下使用MySQL数据库服务器建立一个小型的数据库,建立完成后在通过Web程序设计语言PHP将程序嵌入到HTML文档中去执行,以实现对数据库的访问。PHP是一种可以运行在多种硬件和操作系统环境下的动态网页设计语言,它与Linux、Apache服务器以及MySQL的组合是目前最流行的Web应用平台。本课程设计根据所学的数据库原理与程序设计的知识,针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。1.1.1 Linux操作系统的概述Linux是一套免费使用和自由传播的类似于UNIX的操作系统。它诞生于1991年的10月,以后借助于Internet网络,并经过世界各地计算机爱好者的共同努力,现已成为世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。Linux系统的开发目的是建立不受任何商品化软件的版权制约且全世界都能自由使用的UNIX兼容产品。Linux操作系统主要由内核、系统的用户界面Shell、文件系统和应用系统四个部分组成。内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序;系统的用户界面Shell提供了用户与内核进行交互操作的一种接口;Linux文件系统是文件存放在磁盘等存储设备上的组织方法;Linux能支持多种目前浒的文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等;标准的Linux系统都有一整套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、办公套件、Internet工具、数据库等。Linux以它的高效性和灵活性著称,具有开放性、自由性、丰富的应用、多用户多任务、完全符合POSIX的标准、有丰富的图形用户界面和强大的网络功能、开发功能等特点。它能够在个人计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。1.1.2 Apache服务器的配置Apache服务器一个主要的特点是完全免费,并且完全公开其源代码,由此用户可根据自身的需要去进行相关模块的开发。Apache服务器另一个主要的特点是其跨平台性,其可在UNIX、Windows、Linux等多种操作系统上运行。如果需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。在Red Hat Linux 9中自带了以下两个Apache2.0的安装文件:httpd:Apache 2.0和httpd-manual:Apache2.0手册,检测Linux系统中是否已经安装了Apache服务器可以使用下面的命令:# rpm qa | grep httpd。打开HTTP 配置工具的方法有两种:(1)依次单击“主菜单系统设置服务器设置HTTP服务器”。(2)在终端提示中键入命令# redhat-config-httpd 。1.1.3 MySQL数据库服务器MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。MySQL 主要的目标是快速、稳定和容易使用,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL的主要特点有以下几点: 使用核心线程的完全多线程。 有多种编程接口(API) 支持不同的平台,MySQL几乎提供了现存的所有操作系统的对应版本。 支持多种字段类型 一个非常灵活且安全的权限和口令系统,并且允许基于主机的认证。对MySQL(和PHP搭配之最佳组合)数据库中数据的操作可以划分为四种不同的类型,分别是添加、删除、修改和查询。首先我们需要强调的一点就是MySQL(和PHP搭配之最佳组合)数据库所采用的SQL语言同其它绝大多数计算机编程语言一样,对命令的语法格式有严格的规定。任何语法格式上的错误,例如不正确的使用括号、逗号或分号等都可能导致命令执行过程中的错误。1.1.4 Web程序设计语言PHPPHP源于名为PHP/FI的工程。PHP/FI是由Rasmus Lerdorf在1995年创建的,最初只是一套简单的Perl脚本,取名为“Personal Home Page Tools”,用来跟踪访问其主页的用户信息。随着功能需求的增加,Rasmus用C语言实现了新版本。它可以访问数据库,可以让用户开发简单的动态Web程序。Rasmus公开了PHP/FI的源代码,同时允许其他人修正bug并改进源代码。PHP 是一种服务器内置式的Script 语言,它的出现使得在UNIX上快速地开发动态Web网页成为现实,PHP代表的是超文本预处理器。它是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的开源多用途脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。 PHP支持面向对象的编程,即PHP提供了类和对象,同时PHP还支持构造器、提取类等。基于Web的编程工作非常需要面向对象编程能力。PHP程序是在服务器端工作,并且通过服务器端的编译,动态地送出HTML文件给客户端,PHP程序负责处理HTML文件与运行在服务器端的程序之间的数据交换。PHP语言流行的主要原因是它的众多优秀特性,包括易用性、对多种数据库的支持、对网络协议的支持、面向对象编程和可扩展性等。PHP具有强大的文本处理功能,支持POSIX扩展、Perl正则表达式和XML文档解析。为了解析和访问XML文档,PHP支持SAX和DOM标准,可以使用XSLT扩展库来转换XML文档。第二章 Linux操作系统常用命令Linux系统是以全双工的方式工作,即从键盘把字符输入系统,系统再将字符回送到终端并显示出来。在Linux系统中打开终端的方式有以下两种:一种是在桌面上依次单击“主程序系统工具终端”可打开终端窗口;另一种是在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口。终端显示提示符后,用户就可以输入命令请示系统执行。下面我们将介绍Linux操作系统的一些常用命令。2.1 目录及文件操作命令2.1.1 文件显示命令显示指定工作目录中所包含的内容的指令是ls,要说明的是ls命令列出文件的名字,而不是文件的内容。该命令的使用方式为:ls 选项 文件目录列表,列举出任一目录下面的文件eg: ls /usr/manls命令中的常用选项如下: -a:显示所有文件及目录 (ls规定将文件名或目录名中开头为 .的视为隐藏档,不会列出) -c:按列输出,纵向排序 -x:按列输出,横向排序 -l:除文件名外,也将文件状态、权限、拥有者、文件大小等信息列出 -t :根据文件建立时间的先后次序列出 -A :同 -a ,但不列出 . (目前目录) 及 . (父目录) -X:按扩展名排序显示 -R:递归显示下层子目录 -help:显示帮助信息 -version:显示版本信息2.1.2 显示目录内容的命令和改变工作目录1、显示当前目录显示当前目录的命令是pwd命令,该命令使用的语法格式为:pwd。2、改变当前工作目录改变当前工作目录在Linux系统中使用的是cd命令,该命令使用的语法格式如下: cd 目录名2.1.3 创建和删除目录的命令1、创建目录在Linux系统中建立新目录的命令是mkdir。该命令的语法格式如下: mkdir -m模式 -p目录名 目录如创建一个名为test的目录,语法为mkdir test命令中的参数说明如下:m模式:在建立目录时把按模式指定设置目录权限。该目录的权限分为:目录所有者的权限、组中其他人对目录的权限和系统中其他人对目录的权限。这三个权限分别用三个数字之和来表示:对目录的读权限是4、写权限是2、执行权限是1。 2、删除目录rmdir 命令是用来删除目录的,一般情况下要删除的目录必须为空目录,如果所给的目录不为空,系统会报告错误。该命令的语法格式如下:rmdir -p 目录列表命令中的参数说明如下: -p:在删除目录表指定的目录后,若父目录为空,则rmdir也删除父目录。状态信息显示什么被删除,什么没被删除。 目录列表:空格分隔的目录名列表。要删除的目录必须为空。2.1.4 查找、排序及显示指定文件内容的命令1、 查找文件在Linux系统中查找文件的命令通常为find命令。find命令可在使用、管理Linux系统中方便地查找所需要的指定文件。 find命令的语法格式如下:find 目录列表 匹配标准2、 显示文本文件内容显示文本文件内容的命令是cat命令,用来将文件的内容显示到终端上,其命令语法如下:cat 选项 文件列表3、 查找文件内容查找文件内容的命令是grep命令。其使用的语法如下:grep 选项 匹配字符串 文件列表4、 排序命令sort命令的功能是对文件中的各行进行排序. sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件,排序时,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。该命令的语法格式如下: sort 选项 文件 2.1.5 改变文件或目录权限在Linux系统中,用户设定文件权限控制其他用户不能访问、修改。但在系统应用中,有时需要让其他用户使用某个原来其不能访问的文件或目录,这是就需要重新设置文件的权限,使用的命令是chmod命令。并不是谁都可改变文件和目录的访问权限,只有文件和目录的所有者才有权限修改其权限,另外超级用户可对所有文件或目录进行权限设置。chmod命令的使用语法格式如下:chmod 选项 文件和目录列表命令中的参数说明如下: 选项的常用取值如表所示常用选项说明-c只有在文件的权限确实改变时才进行详细说明-f不打印权限不能改变的文件的错误信息-v详细说明权限的变化-R递归改变目录及其内容的权限 文件和目录列表:准备修改权限的文件和目录。2.2 使用命令2.2.1 文件打包tartar可以对文件和目录进行打包。利用tar,用户可以对某一特定文件进行打包(一般用作备份文件),也可以在包中改变文件,或者向包中加入新的文件。tar命令的使用语法格式如下:tar 主选项+辅选项 文件或者目录 2.2.2 系统帮助文档help命令用于查看所有Shell命令。用户可以通过该命令寻求Shell命令的用法,只需在所查找的命令后输入help命令,就可以看到所查命令的内容了。 例如:查看cd命令的使用方法。 $ cd -help2.2.2 显示帮助手册通常使用者只要在命令man后,输入想要获取的命令的名称(例如ls),man就会列出一份完整的说明,其内容包括命令语法、各选项的意义以及相关命令等。该命令的一般形式为:man 选项命令名称Linux中常用的命令还有很多,比如kill 可以杀死某个正在进行或者已经是dest状态的进程,passwd 可以设置口令,mount可以加载一个硬件设备,su 可以在不退出登陆的情况下,切换到另一个用户等。第三章 数据库设计Linux操作系统下的网络数据库设计需要先使用MySQL数据库服务器建立一个数据库。3.1 建立数据库3.1.1 查询和启动MySQL数据库软件打开虚拟机后,开启终端,进入/var/www/html目录,输入命令 #rpm -qa|grep mysql后按回车键查询MySQL数据库软件是否安装。在建立MySQL数据库之前,必须要先启动MySQL服务,可以通过以下两个命令来启动该服务:(1)使用命令:# service mysqld start(2)使用命令:# /etc/init.d/mysqld start启动后,可以通过#service mysqld status命令显示MySQL的运行状态。如图3.1 所示 图3.1 查询和启动MySQL数据库软件3.1.2 建立数据库MySQL数据库软件启动后,输入mysql命令建立数据库服务器连接,这时rootlocalhost html就会变成mysql,说明服务器已经连接好了,下面我们就开始建立数据库了,输入create database lbuser;命令,系统显示出Query OK, 1 row affected (0.00 sec) ,名为lbuser的数据库就创建成功了。要往数据库里输入信息需要把lbuser设置为当前数据库,可以通过输入use lbuser;完成,设置完成之后,敲入show databases;命令查看数据库是否建立。如图3.2所示:图3.2 数据库的建立3.1.3 建立数据表user结构首先看现在你的数据库中存在什么表,输入show tables;命令后系统显示Empty set (0.00 sec) ,说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表user我们要建立一个学生的信息表,表的内容包含学生的ID 、name、password、sex、email、birthday、city。由于她们的列值是变化的,因此选择varchar,其长度是20。如果以后需要改变它的字长,可以使用alter table语句。);sex只需一个字就可以表示,因此选用char(2);birthday列则使用date数据类型;ID用int数据类型,长度为11。创建了一个表后,我们可以看看刚才做的结果,用show tables;显示数据库中有哪些表,用describe user; 显示数据表user的字段结构。如下图所示:图3.3 建立数据表user结构3.1.4 记录的装入、删除和修改我们可以用文本文件的方式将所有记录加入你的数据库表中。每行包含一个记录,用定位符(tab)把值分开,并且以在create table语句中列出的列次序给出,例如:在Linux下建立文本文件user.txt,内容如下。1liubing12345男1968-04-03武汉2lyd12345女N武汉建好后,通过load data语句将user.txt文本文件装载到数据表中,命令为:mysql load data local infile /root/user.txt into table user;然后可以输入命令select * from user; 查询装入内容是否正确。装入记录除了上述方法还可以直接使用insert命令在表中增加一条新记录,在命令mysql insert into user后直接输入要装载的记录。如-values(3,jiangli,12345,女,,1972-10-18,武汉); 然后再输入命令select * from user; 查询装入内容是否正确。如下图所示:图3.4 记录的装入如果要删除所有记录,我们可以通过mysqldelete from user;来完成,如删除在数据表user中新增加的“ID=2”的数据记录,语句如下:mysql delete from user where ID=2;因为装载的记录有时显示出来时会出现乱码或者需要修改记录的,只要输入updata语句就能实现,我们通过下面来修改显示不正确字段mysql update user set sex=男 where ID=1;mysql update user set sex=女 where ID=2;mysql update user set city=武汉 where ID=2;mysql update user set city=武汉 where ID=1;修改后的结果如下:图3.5 记录的修改3.1.5 数据记录的查询mysql select * from user where sex= “男”;mysql select * from user where sex= 男 and ID select name,birthday,sex from user where sex= 男 order by birthday desc;mysql select * from user where name likej%;mysql select sex, count(*) from user group by sex;3.2 PHP编程前面Mysql链接建立的数据库lbuser通过Web程序设计语言PHP将程序嵌入到HTML文档中去执行,以实现对数据库的访问。PHP链接Mysql的实现步骤:(1)与MySQL服务器建立连接。(2)选择准备操作和使用的指定数据库。(3)发出SQL命令。用一个函数向MySQL服务器发出SQL的查询指令语句字符串。发出的字符串可以是 SQL的任何 DML查询指令,包括 INSERT、DELETE等,但是要取得数据应使用SQL查询语句SELECT。查询函数会返回一个查询结果指针。(4)取得结果。上一个步骤返回的是查询的结果指针,用这个指针值就可以从查询结果中,返回特定的数据。通常会返回一笔记录,返回的类型为数组或对象。(5)关闭链接,关闭与数据库的链接。3.2.1 PHP语法简介1、这是 PHP语言的一个基本的简单程序 ,结果如图示:第一个PHP程序 图3.6 hello,world显示2、 程序注释 “/”符号是对单行进行注释;“/* */”可对多行语句进行注释。 3.2.1 PHP与MySQL的连接与关闭PHP与MySQL连接与关闭的代码如下:int mysql_connect(hostname:port,username,password)当要关闭MySQL连接时,可以使用mysql_close()函数。当关闭成功会返回“True”,否则返回“Flase”。语法如下:mysql_close(变量)3.2.2 数据库的选择 mysql_select_db()主要是选取所要使用的数据库,如果能成功选取数据库则返回“True”,若找不到数据库或选取失败则返回“False”。语法如下: mysql_select_db(数据库名称) 数据库的选择 3.2.3 发送SQL命令在读取数据库中的数据表之前,先要用Mysql_query()函数来将SQL命令传给MySQL来处理。该函数的语法如下:mysql_query(SQL命令或变量 , 链接指针)读取数据表可使用Mysql_fetch_field()函数,该函数的语法如下:Mysql_fetch_field(数据查询结果) 数据库的选择 name ;echo 所属数据表:$field-table ;echo 数据类型:$field-type ;echo 字段最大长度:$field-max_length ;elseecho 没有相关信息;?3.2.4 读取数据下面的示例是在数据表中读取三条记录,并把读取结果的两个字段在浏览器中显示出来。 从数据库中取打开的当前记录 ?php$dbname=lbuser;$dbtable=user;$myconn=mysql_connect(localhost,root,);mysql_select_db(lbuser);$SQL_String=Select * from user order by id ;$Exec=mysql_query($SQL_String,$myconn);mysql_close($myconn); for ($i=1;$i4;$i+)$record=mysql_fetch_row($Exec); echo user:;echo $record1;echo ;echo ;echo $record2;echo ;echo ;?3.3 程序流程图读取结果发送SQL命令选择数据库与PHP连接创建空数据库lbuser打开linux操作系统创建数据库lbuser修改结果装入数据建立数据表user结构图3.7 程序流程图第四章 运行结果分析及总结4.1 运行结果进入Linux终端,输入service mysqld start-启动mysql服务和service httpd start-启动web服务。打开浏览器,输入http:/localhost/test.php。显示结果如下:图4.1 结果显示图4.2 PHP编程代码显示修改PHP编程源代码,加入图4.3中的代码后,浏览器中显示的结果也将发生相应的变化。图4.3 修改代码图4.4 修改后的显示结果4.2 设计总结此次课程设计我了解了在Linux操作系统中如何架设与Web应用相关的服务器及程序设计语言,主要包括:Apache服务器、数据库服务器MySQL、Web程序设计语言(PHP)。通过对MySQL的启动与安装方法、如何建立数据库、如何新建一个数据表、如何对数据表中的记录进行添加、删除、修改及PHP编程的实现让我更加熟悉linux操作系统下常用命令的使用方法以及更深入了解linux系统下数据库的建立和设计的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养护安全培训做法与意义课件
- 商铺门面租赁合同解除协议书9篇
- 到山下去看树课件
- 化工企业机电安全培训课件
- 初级起重工安全知识培训课件
- 兴县安全生产专题培训班课件
- 国产无人机营销方案(3篇)
- 媒体营销项目营销方案(3篇)
- 2024-2025学年江苏省苏州市重点校九年级上学期数学期中试卷【附答案】
- 内蒙古银质针课件
- 《工程勘察设计收费标准》(2002年修订本)
- 医疗机构中药制剂临床前药效学与安全性研究技术指南
- 拆除工程施工安全培训
- 质量源于设计课件
- 2023年快递员职业技能理论考试题库(600题)
- 郭天祥51单片机教程
- GB 31644-2018食品安全国家标准复合调味料
- 第三单元名著导读《朝花夕拾之二十四孝图》-部编版语文七年级上册
- 最新人教版四年级英语上册课件(完美版)Review of Unit 5
- 掌骨骨折查房课件
- 大学食堂装饰装修方案
评论
0/150
提交评论