数据库的前世今生09

数据库的前世今生09

数据库的标准语言,结构化查询语言SQL(Structured Query Language)

数据库语言是 介于关系代数元组演算之间的一种语言

    

    


 

数据库的前世今生

简单介绍一下关系数据库语言SQL

引入:E

E.F.Codd

.f.Codd

埃德加·弗兰克·科德(Edgar Frank Codd19232003)是密执安大学哲学博士,IBM公司研究员,被誉为关系数据库之父,并因为在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖。1970年,科德发表题为大型共享数据库的关系模型的论文,文中首次提出了数据库的关系模型。由于关系模型简单明了、具有坚实的数学理论基础,所以一经推出就受到了学术界和产业界的高度重视和广泛响应,并很快成为数据库市场的主流。20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都支持关系模型,数据库领域当前的研究工作大都以关系模型为基础。

生平

大家都说,Edgar F. Codd(通常被称为Ted)是一个才华横溢的人。他的成就之一,是在二十世纪七十年代初开发了一个关系型数据管理模型--存储和操作大量业务数据的一个复杂、完整的理论。根据Codd的设计构建的关系数据库成为了当今企业的基础;银行依赖关系数据库来跟踪资金流动;零售商使用它们来监控库存水平;人力资源部门使用它们来管理员工账户;图书馆、医院和政府机构在其中存储数百万条记录;事实上,世界上几乎所有的企业都在使用某种容量的关系数据库。自从Codd公布其理论以来的30年中,关系数据库已经成为一个年收入近130亿美元的行业。
早期生活
Ted Codd
1923年出生在英格兰多塞特郡波特兰市的一个大家庭中。他曾经就读于牛津大学,主修数学和化学专业,第二次世界大战期间曾在皇家空军服役。第二次世界大战后,Codd动身前往纽约并成为IBM的一名数学编程员。Codd所做的第一个项目是帮助构建一个称为可选顺序电子计算器(Selective Sequence Electronic CalculatorSSEC)的早期计算机,据说该计算机占据了一栋市区办公楼中的两层。
在二十世纪六十年代中期,Codd获得了密歇根大学计算机科学专业的博士学位。之后,他调到了IBM位于加利福尼亚州圣何塞市的开发实验室,在那里,他开始从事关系型数据管理模型(这是一个在很大程度上依赖于数学的模型)的开发
改进数据库
早期的计算机太大、太昂贵了,以至于不能广泛地应用于企业。在二十世纪六十年代,计算机开始变得经济有效,并逐渐被私营机构所采用,同时专门针对企业应用开发了许多标准和语言。其中有两个用于处理数据的模型:层次模型和关系网络模型。
在层次模型中,数据记录以层次方式相互关联;主要记录位于上层,后续的各个记录类型在下层分支。在网络模型中,一层中的记录集可能属于邻近的上层中的两个不同的包含层次中。对于这两种模型,编写查询语句来检索信息要求深入了解数据本身的导航结构,因而这是一个复杂的任务,一般都是由专门的编程人员来完成的
Codd
提出了一个新的解决方案。在最终收集到1970年具有创新性的技术论文--"ARelational Model of Data for Large Shared Data Banks"(大型共享数据库的关系数据模型)中的一系列报告中,Codd建议将数据独立于硬件来存储,程序员使用一个非过程语言来访问数据。Codd的解决方案的关键,是将数据保存在由行和列组成的简单表中(在这种表中,相似数据的列将各个表相互联系起来),而不是将数据保存在一个层次结构中。按照Codd的想法,数据库用户或应用程序不需要知道数据结构来查询该数据。发表了该论文之后不久,Codd又发布了更为详细的指导原则,提出了其指导创建关系数据库的12项原则
Codd的理论公开之后,并没有立即被IBM所采纳。IBM已经对一个称为IMS的层次型数据库进行了大量投资,因而它让其他公司和企业家去考虑如何进一步发展Codd的理论。其中的领袖人物是拉里o埃利森,他在1977年与Ed OatesBobMiner一起研制了世界上第一个商用关系型数据库管理系统,在此过程中,创办了一个公司,后来成为Oracle公司。其余要说的就是数据库的历史了
但是对Ted Codd来说,历史并没有停留在那儿。虽然直至二十世纪八十年代初,Codd一直就职于IBM,但他也与长期的合作者Chris Date共同创建了一家咨询服务公司,而且,直到其去世,Codd还一直继续研究和发表关于数据的规范化、分析和数据建模等主体的文章。

成就

E.F.Codd是关系数据库的鼻祖。首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究。为数据库技术奠定了理论基础。由于他的杰出贡献,于1981年获得ACM图灵奖。图灵奖是计算机界的最高奖项,相当于其他学科的诺贝尔奖
在数据库技术发展的历史上,1 9 7 0 年是发生伟大转折的一年。这一年的6 月,I B M 圣约瑟研究实验室的高级研究员埃德加·考特 (Edgar Frank Codd) Communications of ACM 上发表了《大型共享数据库数据的关系模型》一文。A C M 后来在1 9 8 3 年把这篇论文列为从 1 9 5 8 年以来的2 5 年中最具里程碑意义的2 5 篇论文之一,因为它首次明确而清晰地为数据库系统提出了一种崭新的模型,即关系模型。关系”( r e l a t i o n ) 是数学中的一个基本概念,由集合中的任意元素所组成的若干有序偶对表示,用以反映客观事物间的一定关系。如数之间的大小关系、人之间的亲属关系、商品流通中的购销关系等等。在自然界和社会中,关系无处不在;在计算机科学中,关系的概念也具有十分重要的意义。计算机的逻辑设计、编译程序设计、算法分析与程序结构、信息检索等,都应用了关系的概念。而用关系的概念来建立数据模型,用以描述、设计与操纵数据库,考特是第一人。由于关系模型既简单、又有坚实的数学基础,所以一经提出,立即引起学术界和产业界的广泛重视,从理论与实践两方面对数据库技术产生了强烈的冲击。在关系模型提出之后,以前的基于层次模型和网状模型的数据库产品很快走向衰败以至消亡,一大批商品化关系数据库系统很快被开发出来并迅速占领了市场。其交替速度之快、除旧布新之彻底是软件史上所罕见的。基于7 0 年代后期到8 0 年代初期这一十分引人注目的现象,1 9 8 1 年的图灵奖很自然地授予了这位关系数据库之父。在接受图灵奖时, 他做了题为关系数据库:提高生产率的实际基础的演说。(刊于1982 2 月的C o m m u n i c a t i o n s o f A C M1 0 9 至第1 1 7 页,或见《A C M图灵奖演说集》第3 9 1 至第4 1 0页。)
考特原是英国人,1 9 2 3 8 1 9 日生于英格兰中部的港口城市波特兰。第二次世界大战爆发以后,年轻的考特应征入伍在皇家空军服役,1 9 4 2 1 9 4 5 年期间任机长,参与了许多重大空战,为反法西斯战争立下了汗马功劳。二战结束以后,考特上牛津大学学习数学,于1 9 4 8 年取得学士学位以后到美国谋求发展。他先后在美国和加拿大工作,参加了I B M 第一台科学计算机7 0 1 以及第一台大型晶体管计算机 S T R E T C H 的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发。他自觉硬件知识缺乏,于是在6 0 年代初,到密歇根大学进修计算机与通信专业( 当时他已年近4 0 ) ,并于1 9 6 3 年获得硕士学位, 1 9 6 5 年取得博士学位。这使他的理论基础更加扎实,专业知识更加丰富。加上他在此之前十几年实践经验的积累,终于在1 9 7 0 年迸发出智慧的闪光,为数据库技术开辟了一个新时代
由于数据库是计算机各种应用的基础,所以关系模型的提出不仅为数据库技术的发展奠定了基础,同时也成为促进计算机普及应用的极大推动力。在考特提出关系模型以后,I B M 投巨资开展关系数据库管理系统的研究,其“S y s t e m R”项目的研究成果极大地推动了关系数据库技术的发展,在此基础上推出的D B 2 S Q L 等产品成为I B M 的主流产品。S y s t e m R本身作为原型并未问世,但鉴于其影响,ACM还是把1988 年的软件系统奖授予了S y s t e m R开发小组( 获奖的6 个人中就包括1 9 9 8 年图灵奖得主J . G r a y )。这一年的软件系统奖还破例同时授给两个软件,另一个得奖软件也是关系数据库管理系统,即著名的I N G R E S
1 9 7 0
年以后,考特继续致力于完善与发展关系理论。1 9 7 2 年,他提出了关系代数和关系演算的概念,定义了关系的并、交、投影、选择、连接等各种基本运算,为日后成为标准的结构化查询语言(S Q L )奠定了基础
考特还创办了一个研究所(关系研究所)和一家公司(C o d d & A s s o c i a t i o n s),他本人是美国国内和国外许多企业的数据库技术顾问。1 9 9 0 年,他编写出版了专著《数据库管理的关系模型:第二版》,全面总结了他几十年的理论探索和实践经验。

 

     SQL语言的产生和发展

1.   1986 10,美国国家标准化协会 , 发布 <数据库语言SQL>

2.   19876,国际标准化组织采纳了这个标准,成为国际标准.

3.   198910,发布了SQL89标准.

4.   .

5.   .

6.   .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     SQL语言的体系结构

SQL数据库的体系结构基本上也是3层结构,

1.     关系模式:基本表[Base Table]

2.     储存模式:储存文件[Stored File]

3.     子模式:视图[View]

4.     元组:[Row]

5.     属性:[Column]

SQL数据库的体系结构要点如下:

一个SQL模式是表和约束的集合

  一个表由行集构成,一行是列的序列,每列对应一个数据项

  表有三类:

a)     基本表

b)     视图

c)     导出表

  一个基本表可以跨一个或多个储存文件,一个储存文件可以存放一个或者多个基本表

  用户可以用SQL语言来对基本表和视图进行查询等操作

  SQL语言可以是应用程序,也可以是终端用户,SQL语言可以 嵌 在主语言中使用,主语言有[CC++JavaAdaPL/ICOBOLPascalFortran]. 也可以作为独立的用户接口,供交互环境下的终端用户使用.

 

 

     SQL语言的组成

核心SQL语言有4个部分:

数据定义语言

  数据操纵语言

  嵌入式SQL语言的使用规定

  数据控制语言

     SQL语言的特点

1.     灵活强大的查询功能

2.     可以单独交互使用,也可以嵌入 主语言 使用

3.     SQL是国际标准化语言

4.     SQL的词汇不多



猜你喜欢

转载自blog.csdn.net/lpZhouYi/article/details/80587237