精通数据库系列之入门-基础篇2

2016-01-29 16:30 7 1 收藏

精通数据库系列之入门-基础篇2,精通数据库系列之入门-基础篇2

【 tulaoshi.com - SQLServer 】

  数据库系统的产生和发展

  众所周知,数据库系统并不是在计算机产生的同时就出现的,而是随着计算机技术的不断发展,在特定的历史时期、特定的需求环境下出现的。人类在1946年发明了世界上的第一台计算机到20世纪60年代这漫长的20年里,计算机操作系统还主要局限于文件的操作,同样,对数据的管理也主要是通过文件系统来实现。进行计算所需要的各种数据存放在各自的文件里面。当要使用这些数据的时候,将文件打开,读取文件中的数据到内存中。当计算完毕后,将计算结果仍旧写入到文件中去。

  虽然这种在文件中存放数据的方式目前在很多系统中还在使用,但是,这样的数据存放方式在三四十年前的当时,就已经显示出了非常明显的不足。这些不足主要集中在无法对数据进行有效的统一管理。具体表现在这样几个方面:

程序员编写应用程序非常不方便。应用程序的设计者需要对程序所使用的文件的逻辑结构和物理结构都了解的非常清楚。而计算机操作系统只提供将文件打开、关闭、保存等非常低级的操作,而对数据的修改、查询操作则需要应用程序来解决,如果程序所需要的数据存放在不同的文件里,而且这些文件的存储格式又迥然不同。这样就给应用程序的开发带来了巨大的麻烦,程序员要为程序中所用到的每一个文件都写好相应的接口,而且不同的文件格式相差很大,这样就大大的增加了编程的工作量,从而使得在文件级别上开发应用程序的效率非常低下,严重影响应用软件的发展。


文件结构的每一处修改都将导致应用程序的修改,从而使得应用程序的维护工作量特别大。编过程序的人都有这种体会,就是每当自己开发完毕的程序需要修改的时候,又不得不将源程序重新修改、编译、链接。其麻烦程度可想而知。因为有人戏称编程人员为“老改”人员,个中滋味,外人恐怕很难体会到的。


计算机操作系统中的文件系统一般不支持对文件的并发访问。而在现代计算机系统中,为了充分发挥计算机系统的资源使用效率,一般都允许多个程序“同时”运行,即并发性。对数据库系统同样有并发性的要求,现在比较大型的数据库都有非常强的并发访问机制,这样可以充分利用数据库服务器的软、硬件资源,避免浪费。


由于基于文件系统的数据管理缺乏整体性、统一性,在数据的结构、编码、表示格式等诸多方面不能做到标准化、规范化,不同的操作系统有风格迥异的表示方式,因此在一定程度上造成了数据管理的混乱。另外,基于文件系统的数据管理在数据的安全性和保密性发面难以采取有效的措施,在一些对安全性要求比较高的场合,这种安全上的缺陷是完全不允许的。
  针对文件系统的这些重要缺点,人们逐步发展了以统一管理数据和共享数据为主要特征的系统,这就是数据库系统。数据库系统就是在这样的背景下发展起来了。1964年,美国通用电气公司开发成功了世界上的第一个数据库系统——IDS(Integrated Data Store)。IDS奠定了网状数据库的基础,并且得到了广泛的发行和应用,成为数据库系统发展史上的一座丰碑。1969年,美国国际商用机器公司(IBM)也推出世界上第一个层次数据库系统IMS(Information Management System),同样在数据库系统发展史上占有重要的地位。

  七十年代初,E.F.Codd在总结前面的层次、网状数据库优缺点的基础上,提出了关系数据模型的概念。他提出了关系代数和关系演算(直到今天,在E.F.Codd的这些基本理论还在左右这数据库系统的发展,也依然是高校计算机专业课堂上所要讲述的重要内容)。在整个七十年代,关系数据库系统无论从理论上还是实践上都去的了丰硕的成果。在理论上,确立了完整的关系模型理论、数据依赖理论和关系数据库的设计理论(在后面将重点讲述这些关系数据库的基本理论);在实践上,世界上出现了很多著名的关系数据库系统,比较著名的如System R,INGRES,Oracle等。

和文件系统相比,数据库系统有一系列的特点,具体表现在以下几个方面:

数据库系统向用户提供高级的接口。在文件系统中,用户要访问数据,必须了解文件的存储格式、记录的结构等。而在数据库系统中,这一切都不需要了。数据库系统为用户处理了这些具体的细节,向用户提供非过程化的数据库语言(即通常所说的SQL语言),用户只要提出需要什么数据,而不必关心如何获得这些数据。对数据的管理完全由数据库管理系统(DBMS: Database Management System)来实现。
 
查询的处理和优化。查询通常指用户向数据库系统提交的一些对数据操作的请求。由于数据库系统向用户提供了非过程化的数据操纵语言,因此对于用户的查询请求就由DBMS来完成,查询的优化处理就成了DBMS的重要任务。
 
并发控制。前面曾经提到,文件系统一般不支持并发操作,这样大大的限制了系统资源的有效利用。在数据库系统中,情况就不一样了。现代的数据库系统都有很强的并发操作机制,多个用户可以同时访问数据库,甚至可以同时访问同一个表中的不同记录。这样极大的提高了计算机系统资源的使用效率。
 
数据的完整性约束。凡是数据都要遵守一定

来源:https://www.tulaoshi.com/n/20160129/1498754.html

延伸阅读
重要的是在表丢失和毁坏时备份数据库。如果系统发生崩溃,您就能够将表恢复到崩溃时刻的状态,并尽可能不丢失数据。同样,错发DROP DATABASE 或DROP TABLE 命令的用户可能会向您请求进行数据恢复。有时,这是由MySQL管理员引起的破坏,管理员试图通过使用像vi 或emacs 这样的编辑器直接编辑表文件而毁坏了它们。这样做对表来说肯定是干了坏...
用VisualBasic5.0作为数据库开发平台 3.0版以后的VisualBasic具有数据库连接和数据处理功能,因此完全有资格作为数据库应用程序的开发环境。Microsoft公司把许多新的数据访问功能加到VisualBasic中,使得该产品成为桌面数据库市场中Access、FoxPto及ParadoxforWindows的直接竞争者。与普通的数据库系统相比,用VisualBasic作为数据库开发平...
一个小例子,在编程之前,请选择“工程”-“引用” 确定引用“microsoftDAO3.51Objectlibrary” dimdbasdatabase dimrsasrecordset privatesubform1_load() Setdb=OpenDatabase(App.Path "TTT.mdb")'()内是你的数据库所在位置 Setrs=db.OpenRecordset("ABC")'()内是你数据库里面的表名 endsub ...
3.3 创建、删除和选择数据库 MySQL提供了三条数据库级的语句,它们分别是: CREATE DATABASE 用于创建数据库,DROP DATABASE 用于删除数据库,USE 用于选择缺省数据库。 1. CREATE DATABASE 语句 创建一个数据库很容易;只要在CREATE DATABASE 语句中给出其名称即可: 其中限制条件是该数据库的名称必须是合法...
理想的情况是,MySQL从首次安装以来始终平稳地运行。但有时确实会由于各种原因而出现问题,其范围可以从电源断电到硬件故障到不正常地关闭MySQL服务器(如用kill -9 终止服务器或机器崩溃)。诸如这样的情况大部分都超出您的控制范围,它们会导致数据库表的毁坏,尤其是在对表进行修改且未完全写入时所引起的。 本章的重点是检测和解...

经验教程

354

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部