第一章 SQL 数据库概述
8
数据库系统的发展经历了三个阶段
数据库发展的初级阶段
数据库系统 发展三个阶段
数据库发展的中级阶段
数据库发展的高级阶段
9
(一)数据库发展的初级阶段
1963年 美国Honeywell公司的IDS( Store)系统投入运行, 1963年,美国Honeywell公司的IDS(Integrated Data Store)系统投入运行, Honeywell公司的IDS 揭开了数据库技术的序幕.1965年 揭开了数据库技术的序幕.1965年,美国一家火箭公司利用该系统帮助设计 了阿波罗登月火箭,推动了数据库技术的产生.1968年 美国IBM IBM公司推出层 了阿波罗登月火箭,推动了数据库技术的产生.1968年,美国IBM公司推出层 次模型的IMS数据库系统(1969年形成产品).1969 IMS数据库系统 年形成产品).1969年 美国CODASYL 次模型的IMS数据库系统(1969年形成产品).1969年,美国CODASYL (Conference On Data System Language,数据库系统语言协会)组织的数据库 Language,数据库系统语言协会) 任务组发表关于网状模型的报告.层次模型与网状模型的数据库系统的出现, 任务组发表关于网状模型的报告.层次模型与网状模型的数据库系统的出现, 揭开了数据库系统发展的序幕. 揭开了数据库系统发展的序幕. 在初级阶段中,由于网状模型数据库的复杂性和专用性, 在初级阶段中,由于网状模型数据库的复杂性和专用性,没有被广泛使 用,而层次模型数据库则由于IBM公司的IMS(Information Management System, 而层次模型数据库则由于IBM公司的IMS( System, IBM公司的IMS 信息管理系统)层次模型数据库系统的发展,得到了极大的发展, 信息管理系统)层次模型数据库系统的发展,得到了极大的发展,其不仅一 度成为最大的数据库管理系统,拥有巨大的客户群,而且直到现在, 度成为最大的数据库管理系统,拥有巨大的客户群,而且直到现在,仍然得 到升级和支持,并不断与新技术结合,在特定的领域内体现出强大的生命力. 到升级和支持,并不断与新技术结合,在特定的领域内体现出强大的生命力.
12
数据模型
现实世界 模型是一种抽象. 模型是一种抽象.如ax2+bx+c=0 是一元二次方程的模型. 是一元二次方程的模型.在数据库 技术中,用模型对数据库的结构和 技术中, 语义进行描述, 语义进行描述,实现对现实世界的 抽象. 抽象.从用户所看到的现实世界到 直接面向数据库的逻辑结构, 直接面向数据库的逻辑结构,有两 层抽象, 层抽象,对应地有两种不同抽象层 次的数据模型.如图1.1所示. 次的数据模型.如图1.1所示. 1.1所示
3
第一节
数据库概述
数据库的产生与发展
数据模型
数据库系统与数据库 管理系统
4
数据库的产生与发展
数据的存储可分为以下几个阶段: 数据的存储可分为以下几个阶段:
纸 制 系 统
文 件 系 统
数 据 库 系 统
5
(一) 纸制系统
早期使用计算机保存数据之前,人们对于大量数据的存储, 早期使用计算机保存数据之前,人们对于大量数据的存储, 可以使用简单的书面文件来进行.例如,学校里需要保存教师, 可以使用简单的书面文件来进行.例如,学校里需要保存教师, 学生,班级,部门,课程,考试等相关信息. 学生,班级,部门,课程,考试等相关信息.与教师相关的详细 资料存放在教师档案里, 资料存放在教师档案里,与学生有关的详细资料存放在学生档案 这种数据存储的介质是纸,纸制书面文件容易毁损, 里.这种数据存储的介质是纸,纸制书面文件容易毁损,不易长 期保存,并且纸制文件数量庞大,会占用大量空间. 期保存,并且纸制文件数量庞大,会占用大量空间.
10
(二)数据库发展的中级阶段
1970年 IBM公司的E.R Codd发表论文提出关系模型 发表论文提出关系模型, 1970年,IBM公司的E.R . Codd发表论文提出关系模型,标志着第 公司的 二代数据库---关系数据库的萌芽.自此后,IBM大力投入关系数据库的 ---关系数据库的萌芽 二代数据库---关系数据库的萌芽.自此后,IBM大力投入关系数据库的 研究.关系模型的数据库较网状模型, 研究.关系模型的数据库较网状模型,层次模型在底层实现起来都要 简单,所以很快便发展起来,Oracle即是当时成立的一家专做关系模型 简单,所以很快便发展起来,Oracle即是当时成立的一家专做关系模型 数据库的公司.20世纪80年代初 IBM公司的关系数据库系统DB2问世 世纪80年代初, 公司的关系数据库系统DB2问世, 数据库的公司.20世纪80年代初,IBM公司的关系数据库系统DB2问世, Oracle公司则将Oracle移植到桌面计算机上 公司则将Oracle移植到桌面计算机上. Oracle公司则将Oracle移植到桌面计算机上.作为第二代数据库系统的 关系数据库开始逐步取代层次与网状模式的数据库, 关系数据库开始逐步取代层次与网状模式的数据库,成为占主导地位 的主流数据库.迄今为止,关系型数据库系统仍然蓬勃发展, 的主流数据库.迄今为止,关系型数据库系统仍然蓬勃发展,占据数 据库应用的主要地位. 据库应用的主要地位.
概念数据模型
逻辑数据模型
图1.1 两层数据模型
13
(一) 概念数据模型
从现实世界到概念模型,是第一级抽象, 从现实世界到概念模型,是第一级抽象,用模型来表示对现实世界的这 一抽象,称为概念数据模型. 一抽象,称为概念数据模型.概念数据模型是一种独立于任何计算机系统实 现的,完全不涉及信息在计算机系统中的表示, 现的,完全不涉及信息在计算机系统中的表示,只是用来描述某个特定组织 所关心的信息结构,如实体联系模型. 所关心的信息结构,如实体联系模型. 实体联系模型(Entity Relationship Model,ER模型)是P. P.Chen于1976年 Model,ER模型 模型) P.Chen于1976年 实体联系模型( 提出的.实体(Entity)是指客观存在,可以相互区别,可以被描述的事物. 提出的.实体(Entity)是指客观存在,可以相互区别,可以被描述的事物. 实体可以是具体的对象,也可以是抽象的对象.例如计算机, 课本, 实体可以是具体的对象,也可以是抽象的对象.例如计算机,人,课本,桌 子甚至课本的结构,都属于客观存在的,可以相互区别,也可以被描述的, 子甚至课本的结构,都属于客观存在的,可以相互区别,也可以被描述的, 都称为实体.实体联系模型直接从现实世界中抽象出实体类型及实体间联系, 都称为实体.实体联系模型直接从现实世界中抽象出实体类型及实体间联系, 然后用实体联系图(ER图 表示数据模型.该部分内容将在最后一章讲述. 然后用实体联系图(ER图)表示数据模型.该部分内容将在最后一章讲述.
7
(三) 数据库系统
数据库系统从20世纪50年代萌芽,60年代中期产生,至本世纪初, 数据库系统从20世纪50年代萌芽,60年代中期产生,至本世纪初, 20世纪50年代萌芽 年代中期产生 已有40多年的历史,在这短短40年间, 40多年的历史 40年间 已有40多年的历史,在这短短40年间,数据库系统发生了巨大的变化并 取得了巨大的成就.它已从第一代的网状,层次数据库,第二代的关 取得了巨大的成就.它已从第一代的网状,层次数据库, 系数据库系统, 系数据库系统,发展到第三代以面向对象模型为主要特征的数据库系 数据库的出现解决了文件系统中所有的问题. 统.数据库的出现解决了文件系统中所有的问题.在计算机的数据库 中,数据可以永久地保存下来,并能够提供对数据的集中控制. 数据可以永久地保存下来,并能够提供对数据的集中控制.
第一章 关系数据库概述
1
LOGO
本章主题
数据库的发展历程 数据模型 关系型数据库系统概述 SQL简介 引入项目目标
关系数据库概述
美国加利福尼亚大学伯克利分校研究人员的统计数据: 年间, 美国加利福尼亚大学伯克利分校研究人员的统计数据:近3年间,世界范围 内信息生产量以平均每年30%的速度增长, 2002年 全球由纸张,胶片以及磁, 30%的速度增长 内信息生产量以平均每年30%的速度增长,至 2002年,全球由纸张,胶片以及磁, 光存储介质所记录的信息生产总量将达到5亿兆字节.许多单位因日常运作而不 光存储介质所记录的信息生产总量将达到5亿兆字节. 得不经常性地维护大量数据.伴随着大量数据,信息的不断产生, 得不经常性地维护大量数据.伴随着大量数据,信息的不断产生,如何安全有 效地存储,检索和管理数据成了信息时代一个非常重要的问题. 效地存储,检索和管理数据成了信息时代一个非常重要的问题. 数据库是解决数据存储,检索和管理的有效手段.数据库按照一定的方式 数据库是解决数据存储,检索和管理的有效手段. 来组织数据.它由一个或多个相关的数据项组成,这些数据项又称作"记录". 来组织数据.它由一个或多个相关的数据项组成,这些数据项又称作"记录" 数据库就是一个数据集合,它包含单位所需的各种问题的答案.例如, 数据库就是一个数据集合,它包含单位所需的各种问题的答案.例如,"商场 里有没有XX牌子的食品,都有哪些,价格分别是多少? XX牌子的食品 或者" XX城去 里有没有XX牌子的食品,都有哪些,价格分别是多少?",或者"从XX城去 YY城都有哪几趟火车 现在有没有票? 城都有哪几趟火车? YY城都有哪几趟火车?现在有没有票?" 本章的主要内容是描述与数据库和数据库管理系统相关的概念,探讨各种 本章的主要内容是描述与数据库和数据库管理系统相关的概念, 不同的数据库模型以及介绍SQL语言. SQL语言 不同的数据库模型以及介绍SQL语言.
6
(二) 文件系统
20世纪50-60年代, 20世纪50-60年代,计算机的应用和发展为数据在磁盘或磁鼓的 世纪50 年代 存放提供了机会,文件系统开始萌芽.早期的文件系统中, 存放提供了机会,文件系统开始萌芽.早期的文件系统中,数据是和 程序在一起的, basic语言里就有个DATA语句 专门存放数据用. 语言里就有个DATA语句, 程序在一起的,如basic语言里就有个DATA语句,专门存放数据用. 后来发展到将数据与程序分开存放,即数据独立于程序, 后来发展到将数据与程序分开存放,即数据独立于程序,使用时再用 程序调用数据文件,比如C语言中带有文件操作的命令. 程序调用数据文件,比如C语言中带有文件操作的命令. 以文件系统存放的数据主要接受操作系统的管理,操作系统以文 以文件系统存放的数据主要接受操作系统的管理, 件名作为用户数据的标识,在管理较少,较简单的数据, 件名作为用户数据的标识,在管理较少,较简单的数据,或者仅仅只 是用来存储,极少用来查询,或查询要求比较简单的情况下, 是用来存储,极少用来查询,或查询要求比较简单的情况下,文件系 统能够满足一定的用户应用需求. 统能够满足一定的用户应用需求. 使用文件系统保存数据的主要缺点有:数据的冗余度太大, 使用文件系统保存数据的主要缺点有:数据的冗余度太大,数据 和应用程序过分相互依赖,数据之间没有什么联系, 和应用程序过分相互依赖,数据之间没有什么联系,数据缺乏统一的 管理和控制. 管理和控制.