PHP数据库开发知多少
php学习还在继续中,不过在一些大型php交流论坛遇到一些朋友对最基本的数据库概念并不清楚,便产生写此文的念头!
(一)概念
数据库是一中信息的集合,每个集合都包含一条或多条形式统一的记录,记录由字段构成.通常将集合称为表,将记录称为表中的行.
数据库一般分为:平面文件数据库(text),层次化数据库,网络数据库,关系数据库(mysql),对象与对象关系型数据库!
(二)关系型数据库是程序员开发软件的解放
由于平件文件数据库,必须直接与操作系统联系,当应用程序需要编辑这种信息时,必须确保字段与有正确的形式.这种形式的接口代价昂贵,因为她需要一种第3代语言(3gl),需要有掌握高度技能的人员进行长时间的开发!比如程序员必须考虑数据的逻辑和物理表示,比如要从文件里读取一个整数,程序员需要知道它是写成文本形式还是二进制形式。数据在文件和应用程序之间流动时,必须遵循一定的约定。所以平面文件数据库程序的高效性一般取决于程序员的辛勤与水平!相对于mysql由于实现了数据的独立性,也实现了结构的独立性!因此程序员无须承受数据管理的负担!抛开了很多数据库处理的内部细节!这便是rdbms产生最重要的理由!也是她普及的理由!
(三)优秀的程序--对象关系数据库模型
数据库模型里,mysql是一种关系型数据库,但是关系模型并不是mysql的专利,数据库理论的革新正在继续,先进技术的一些基本原理也可以用于关系模型,如果你是精通3gl的程序员,使用平面文件数据库不仅可以开发出优秀的程序!而且在基层数据处理,编程控制,资源利用上,都有很大的优势! 如果需要对大量数据进行频繁的读写!,可以使用定位指针读取指定的数据,定长索引, 所谓的负载问题,迎刃而解,控制起来也非常灵活,方便,安全问题,层次化与网络模型的并发性模型都可以利用!当然最重要的是程序员的敏觉性,设计完善的索引表,是置关重要的!
而mysql的优势主要在于他的物理存储:mylsam表支持3种行方式以及定长行思想对数据处理灵活,并利用文件描述符来读写表,系统内存方面的缓冲和缓存等都是mysql快速的数据处理能力原因!同时你可以利用物理存储带来的方便对数据进行修复,碎片整理等!
相信只要你拥有优秀的数据库模型,无论你采用什么类型的数据库,你所开发的一定是优秀的程序!
下一篇: 判断php数组是否为索引数组的实现方法