第22讲Web的数据管理

上传人:枫** 文档编号:569867315 上传时间:2024-07-31 格式:PPT 页数:39 大小:2.40MB
返回 下载 相关 举报
第22讲Web的数据管理_第1页
第1页 / 共39页
第22讲Web的数据管理_第2页
第2页 / 共39页
第22讲Web的数据管理_第3页
第3页 / 共39页
第22讲Web的数据管理_第4页
第4页 / 共39页
第22讲Web的数据管理_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《第22讲Web的数据管理》由会员分享,可在线阅读,更多相关《第22讲Web的数据管理(39页珍藏版)》请在金锄头文库上搜索。

1、7/31/2024Email地址:时间: 计算机网络与多媒体技术主讲教师:程向前 第22讲 Web的数据管理Web文件管理文件管理MySQL数据库数据库Web数据库应用程序设计数据库应用程序设计Web状态的管理状态的管理PHP程序设计和调试环境程序设计和调试环境Netclass课件的应用课件的应用教科书参考:第教科书参考:第9章章 计算机网络与多媒体技术主讲教师:程向前 Web数据管理数据管理Web的内容除了静态网页涉及的以外,有的内容除了静态网页涉及的以外,有大量动态的内容需要动态网页的参与:大量动态的内容需要动态网页的参与:例如时间、日期的变化例如时间、日期的变化网页访问的统计网页访问的

2、统计网友发的网友发的“帖子帖子”跟贴跟贴”网友对网友对Web内容的查询内容的查询基于基于Web的信息处理系统的信息处理系统 计算机网络与多媒体技术主讲教师:程向前 Web数据管理类型数据管理类型稳定、持久的应用型数据稳定、持久的应用型数据利用文件系统进行存储(利用文件系统进行存储(节省系统开销节省系统开销)利用数据库进行存储(利用数据库进行存储(方便内容的检索方便内容的检索)变动中的状态型数据变动中的状态型数据(如电子商务的购物车如电子商务的购物车)利用利用Cookie进行管理(进行管理(分布式存储在客户端分布式存储在客户端)利用利用Session进行管理(进行管理(集中存储在服务器集中存储在

3、服务器)通信参数通信参数CGI:IP地址、地址、POST/GET中的参数,时间中的参数,时间等等 计算机网络与多媒体技术主讲教师:程向前 Web数据管理示意图数据管理示意图应用型数据应用型数据状态型数据状态型数据 计算机网络与多媒体技术主讲教师:程向前 Web数据的文件管理数据的文件管理使用文件系统对动态网页使用文件系统对动态网页所需数据所需数据和从用和从用户处户处获取的资料获取的资料进行存储是进行存储是Web数据管理数据管理的捷径的捷径对于响应速度要求高,服务频繁的网站,对于响应速度要求高,服务频繁的网站,若数据安全和查询处理要求不高,就可以若数据安全和查询处理要求不高,就可以采用文件方案管

4、理数据采用文件方案管理数据 计算机网络与多媒体技术主讲教师:程向前 Web文件管理文件管理计数器案例计数器案例网站的受访计数器是一个极为简单的动态网站的受访计数器是一个极为简单的动态网页的应用程序,计数值既可以存在文件网页的应用程序,计数值既可以存在文件中,也可以存在数据库中中,也可以存在数据库中本例使用文件存储计数值,以此说明文件本例使用文件存储计数值,以此说明文件数据的存储、读出、修改的基本过程和数据的存储、读出、修改的基本过程和文文件处理的一般规则件处理的一般规则 计算机网络与多媒体技术主讲教师:程向前 网站计数器代码网站计数器代码网站计数器示例网站计数器示例这是本站第这是本站第访问访问

5、 计算机网络与多媒体技术主讲教师:程向前 PHP文件操作函数文件操作函数$fd=fopen(counter.txt,r+);读写方式打开文件,将文件指针指向文件头读写方式打开文件,将文件指针指向文件头fgets($fd,20);从文件指针中读取一行从文件指针中读取一行,长度,长度20个字符个字符fseek($fd,0);在文件指针中定位在文件指针中定位,0为文件的开始为文件的开始fputs($fd,$counter);向文件操作句柄指向的文件,写入字符串向文件操作句柄指向的文件,写入字符串fclose($fd);关闭文件关闭文件 计算机网络与多媒体技术主讲教师:程向前 Web文件管理评述文件管

6、理评述Web中使用文件与在普通的计算机系统中进行文中使用文件与在普通的计算机系统中进行文件系统的编程有许多类似的地方件系统的编程有许多类似的地方比如文件的比如文件的打开、读出打开、读出/写入和关闭写入和关闭过程过程这对于简单的这对于简单的Web应用程序(例如留言本等),应用程序(例如留言本等),和熟悉文件系统编程的程序设计人员会有吸引力和熟悉文件系统编程的程序设计人员会有吸引力文件存储文件存储Web数据,存取速度快,但是安全性不数据,存取速度快,但是安全性不好好文件存储方案不需要数据库,对系统的要求相对文件存储方案不需要数据库,对系统的要求相对较低,成本也低较低,成本也低文件存储方案,数据文件

7、与应用程序相互依赖,文件存储方案,数据文件与应用程序相互依赖,在企业单位会造成大量数据冗余,不能共享在企业单位会造成大量数据冗余,不能共享 计算机网络与多媒体技术主讲教师:程向前 Web应用的数据库管理应用的数据库管理目前大部分网站的后台数据采用数据库管目前大部分网站的后台数据采用数据库管理,这个方案的主要优势:理,这个方案的主要优势:安全性好安全性好,大部分数据库产品具有较严格,大部分数据库产品具有较严格的登录安全、访问权限的管理的登录安全、访问权限的管理方便检索方便检索,数据库对文件检索具有专门的,数据库对文件检索具有专门的优化措施,例如索引文件等优化措施,例如索引文件等方便系统的升级方便

8、系统的升级,数据库可以独立于应用,数据库可以独立于应用程序,只要有必要,就可以迁移到更先进程序,只要有必要,就可以迁移到更先进的数据库系统而不必修改的数据库系统而不必修改Web应用程序应用程序 计算机网络与多媒体技术主讲教师:程向前 数据库基本概念数据库基本概念比特字段记录/行文件/表数据库数据项字节 计算机网络与多媒体技术主讲教师:程向前 Web数据库要点数据库要点DBMS:数据库管理系统,一般数据库管理系统,一般Web使用使用的数据库管理系统以的数据库管理系统以Client/Server运作运作数据库管理系统服务器数据库管理系统服务器可以独立运行,支可以独立运行,支持自身(持自身(Nati

9、ve)客户端,也支持中间件)客户端,也支持中间件访问(通过访问(通过SQL)数据库文件系统数据库文件系统:数据库文件存储的目录:数据库文件存储的目录和结构,可对应用程序透明;但系统工程和结构,可对应用程序透明;但系统工程必须十分清楚它的位置必须十分清楚它的位置运行速度运行速度快快,否则用户会,否则用户会“用脚投票用脚投票” 计算机网络与多媒体技术主讲教师:程向前 Web数据库优点数据库优点安全性安全性:具备登录和访问权限的管理,与操作系统安全性管理具备登录和访问权限的管理,与操作系统安全性管理类似,但是在数据库服务器层面类似,但是在数据库服务器层面数据的数据的独立性独立性:数据存储和访问分离(

10、使用和管理分离)数据存储和访问分离(使用和管理分离)数据与程序分离(数据库产品的变换不影响应用程序,数据与程序分离(数据库产品的变换不影响应用程序,如:如:ODBC)支持结构化查询语言(支持结构化查询语言(SQL)统一的数据库访问方式统一的数据库访问方式可以嵌入任何一种程序设计语言可以嵌入任何一种程序设计语言客户端客户端/服务器服务器的实现模式的实现模式大大减少网络的数据传送大大减少网络的数据传送提高了提高了Web服务的响应速度服务的响应速度 计算机网络与多媒体技术主讲教师:程向前 内容管理系统结构(独立性)内容管理系统结构(独立性)DB: MySQL, Postgres, MSSQL, Sy

11、base, OracleODBCUtility ModulesCMS APIModulesBlocksThemes / Templating 计算机网络与多媒体技术主讲教师:程向前 xBase时代的数据库网络应用时代的数据库网络应用 计算机网络与多媒体技术主讲教师:程向前 Web时代的数据库网络应用(时代的数据库网络应用(C/S) 计算机网络与多媒体技术主讲教师:程向前 SQL:结构化查询语言:结构化查询语言由由IBM公司发明的关系数据库定义公司发明的关系数据库定义/操作语操作语言,用于数据库控制台和中间件对数据库、言,用于数据库控制台和中间件对数据库、内容进行操作内容进行操作数据操作语言(数

12、据操作语言(DML):表记录操作):表记录操作Select(选择选择)Insert(插入插入)Update(更新)(更新)Delete(删除)(删除)数据定义语言(数据定义语言(DDLDDL)CreateCreate (创建数据库,表)(创建数据库,表)Alter Alter (修改表结构)(修改表结构) 计算机网络与多媒体技术主讲教师:程向前 Web数据库:数据库:MySQL特点特点使用使用C和和C+编写,并使用了多种编写,并使用了多种编译器编译器进行测试,进行测试,保证源代码的保证源代码的可移植性可移植性支持多种操作系统支持多种操作系统(AIX、Linux、MacOS、Windows)为多

13、种编程语言提供了为多种编程语言提供了API(C、C+、Java、PHP)支持支持多线程多线程,充分利用充分利用CPU资源资源(多处理器系统多处理器系统)优化的优化的SQL查询算法,有效地提高查询速度查询算法,有效地提高查询速度常见的常见的编码编码如中文的如中文的GB2312、BIG5等都可以用等都可以用作作数据表名数据表名和和数据列名数据列名(字段名字段名) 计算机网络与多媒体技术主讲教师:程向前 MySQL数据库的应用组件数据库的应用组件已经随已经随ApacheFriends安装安装主要部件包括:主要部件包括:数据库数据库服务器服务器(Mysqld.exe,Mysqld-nt.exe)Nat

14、ive数据库数据库客户端客户端(mysql.exe,myqsladmin.exe,)Web数据库数据库客户端客户端(phpmyadmin)数据库文件数据库文件存储目录存储目录(/xampp/mysql/data)中间件中间件(php.dll,Apache的组成模块的组成模块)第一用户第一用户:root(MySQL的管理员的管理员) 计算机网络与多媒体技术主讲教师:程向前 MySQL数据库的应用组件数据库的应用组件 计算机网络与多媒体技术主讲教师:程向前 MySQL数据库存储目录数据库存储目录注意注意:数据库的存储结构:数据库的存储结构对数据后备和恢复非常有对数据后备和恢复非常有用用 计算机网络

15、与多媒体技术主讲教师:程向前 Mysql.user表表Mysql数据库是数据库是MySQL数据库管理系统中数据库管理系统中进行系统管理的数据库进行系统管理的数据库我们选择它进行展示和实验,是因为不必我们选择它进行展示和实验,是因为不必专门先进行建库、建表等操作,它是现成专门先进行建库、建表等操作,它是现成的的 计算机网络与多媒体技术主讲教师:程向前 使用使用mysql.exe访问访问MySQL(1)初始安装:初始安装:没有设置没有设置rootroot的访的访问口令问口令 计算机网络与多媒体技术主讲教师:程向前 使用使用mysqladmin设口令设口令这是一个专用的客户端程序,管理数据库这是一个

16、专用的客户端程序,管理数据库用户,用户,设置口令设置口令(netclass),修改口令,修改口令指令执行成功,没有任何提示,典型的指令执行成功,没有任何提示,典型的UNIX作风作风需要了解更多的使用方法:需要了解更多的使用方法:Mysqladmin-help 计算机网络与多媒体技术主讲教师:程向前 使用使用mysql.exe访问访问MySQL(2)使用使用Native客户端访问客户端访问DB的基本过程的基本过程使用登录指令与参数使用登录指令与参数mysql-hlocalhost-uroot-psesame登录成功,使用登录成功,使用SQL语句检索数据语句检索数据selecthost,user,

17、passwordfrommysql.user在控制台得到结果(数据表),多项结果在控制台得到结果(数据表),多项结果(矩阵和数组)(矩阵和数组)退出数据库(断开网络连接)退出数据库(断开网络连接) 计算机网络与多媒体技术主讲教师:程向前 Web数据库应用程序设计数据库应用程序设计同样数据库内容,可通过中间件同样数据库内容,可通过中间件-PHP实现实现Web访问:访问: 计算机网络与多媒体技术主讲教师:程向前 php访问数据库的代码访问数据库的代码Mysql_connectMysql_connect():():数据库登录和连接函数数据库登录和连接函数Mysql_db_queryMysql_db_

18、query(): SQL(): SQL传递函数,入:传递函数,入:SQLSQL指令;出:查询的结果指令;出:查询的结果$result$result: phpphp资源变量,存储来自外部的复杂数据(资源变量,存储来自外部的复杂数据(e.ge.g 数据表)数据表)Mysql_fetch_arrayMysql_fetch_array():():从资源变量从资源变量$result$result中,每次取出一个记录中,每次取出一个记录Echo:Echo:将信息发给浏览器将信息发给浏览器 计算机网络与多媒体技术主讲教师:程向前 php访问数据库过程评述访问数据库过程评述(1)访问过程与使用访问过程与使用N

19、ativeClient完全一样完全一样访问代码本身极为简洁访问代码本身极为简洁由于由于PHP程序的风格,它使用了其数组函程序的风格,它使用了其数组函数的独特功能:数的独特功能:数组元素的下标可以使用字符串来表达数组元素的下标可以使用字符串来表达在取数据记录内容:在取数据记录内容:Mysql_fetch_array(),巧妙地使用字段名作为数据项的下标巧妙地使用字段名作为数据项的下标 计算机网络与多媒体技术主讲教师:程向前 php访问数据库过程评述访问数据库过程评述(2)前面的数据库访问的输出页面不够前面的数据库访问的输出页面不够规范规范可以考虑将输出内容与可以考虑将输出内容与HTML的表格结合

20、,的表格结合,成为成为“动态的报表输出动态的报表输出”整个查询结果是一个表整个查询结果是一个表“”每一个记录是一行每一个记录是一行”.”每个数据项:每个数据项:Data 计算机网络与多媒体技术主讲教师:程向前 规范后的数据库内容规范后的数据库内容Web输出输出 计算机网络与多媒体技术主讲教师:程向前 PHP访问数据库表结构访问数据库表结构除了数据库的数据外,除了数据库的数据外,PHP可以访问数据可以访问数据库的表的结构库的表的结构本例说明,本例说明,PHP可以了解数据表的:可以了解数据表的:字段名称字段名称所在表的名称所在表的名称字段的最大长度字段的最大长度字段类型字段类型字段默认值等字段默认

21、值等 计算机网络与多媒体技术主讲教师:程向前 单元思考题单元思考题文件系统存储文件系统存储Web数据有什么优缺点?数据有什么优缺点?数据库有哪些数据结构和层次关系?数据库有哪些数据结构和层次关系?SQL由哪两大类语句(语言),请举例说由哪两大类语句(语言),请举例说明?明?xBase为什么不适合为什么不适合Web应用?应用?MySQL的两种主要的访问方式(客户端)的两种主要的访问方式(客户端)是如何工作的?是如何工作的? 计算机网络与多媒体技术主讲教师:程向前 思考题参考答案思考题参考答案(1)文件系统存储文件系统存储Web数据有什么优缺点?数据有什么优缺点?优点:优点:文件存储文件存储Web

22、数据,存取速度快文件存储数据,存取速度快文件存储方案不需要数据库,对系统的要求相对较方案不需要数据库,对系统的要求相对较低,成本也低低,成本也低缺点:缺点:数据安全性差,数据文件与应用程数据安全性差,数据文件与应用程序相互依赖,在企业单位会造成大量数据序相互依赖,在企业单位会造成大量数据冗余,不能共享冗余,不能共享 计算机网络与多媒体技术主讲教师:程向前 思考题参考答案思考题参考答案(2)数据库有哪些数据结构和层次关系?数据库有哪些数据结构和层次关系?数据库数据库文件文件/表表记录记录/行行字段字段/数据项数据项/列列字节字节比特比特 计算机网络与多媒体技术主讲教师:程向前 思考题参考答案思考

23、题参考答案(3)SQL由哪两大类语句(语言),请举例说由哪两大类语句(语言),请举例说明?明?数据定义语言(数据定义语言(create,alter)数据操作语言(数据操作语言(Select,Insert,update,delete) 计算机网络与多媒体技术主讲教师:程向前 思考题参考答案思考题参考答案(4)xBase为什么不适合为什么不适合Web应用?应用?xBase在运行中以一体化形式构造的数据库管理在运行中以一体化形式构造的数据库管理系统随客户端一起启动,客户端一旦关闭,数据系统随客户端一起启动,客户端一旦关闭,数据库管理系统随之关闭库管理系统随之关闭xBase的客户端和数据库管理系统同属

24、一个计算机进程的客户端和数据库管理系统同属一个计算机进程虽然虽然xBase可以在可以在C/S结构或局域网环境下运行,结构或局域网环境下运行,但这样的但这样的C/S结构或网络环境下一般仅限于文件服结构或网络环境下一般仅限于文件服务器形态,而不是数据库服务器形态,文件服务务器形态,而不是数据库服务器形态,文件服务器在数据库环境下工作效率很低器在数据库环境下工作效率很低 计算机网络与多媒体技术主讲教师:程向前 思考题参考答案思考题参考答案(5)MySQL的两种主要的访问方式(客户端)的两种主要的访问方式(客户端)是如何工作的?是如何工作的?NativeClients,如:如:mysql.exe,mysqladmin.exe等,基于字符界面的客户等,基于字符界面的客户端程序端程序通过程序设计语言(中间件)访问,例如通过程序设计语言(中间件)访问,例如将将SQL语句镶嵌到语句镶嵌到PHP语言中,语言中,phpmyadmin是一个实例是一个实例前提:前提:mysql的服务器必须处于启动状态的服务器必须处于启动状态 计算机网络与多媒体技术主讲教师:程向前 本讲到此结束本讲到此结束下一讲我们将讨论下一讲我们将讨论Web状态的信息管理和状态的信息管理和动态编程环境。动态编程环境。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号