1.12k likes | 1.3k Views
数据库原理及应用 Principle and Application of Database. 第一章 绪论. 第一章 绪论. 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结. 引言.
E N D
数据库原理及应用Principle and Application of Database 第一章 绪论
第一章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统结构 1.4 数据库系统的组成 1.5 数据库技术的研究领域 1.6 小结
引言 • 从20世纪50年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60年代,数据处理已成为计算机的主要应用。在60年代末,数据库技术作为数据处理中的一门新技术发展起来的。经过40多年的发展,数据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和实用技术。 • 本章先回顾数据管理技术的发展过程,然后介绍数据库中的基本概念,以使读者对数据库的概貌有所了解。
什么是数据库系统? 数据库管理系统 数据库 应用程序 用户
为什么用数据库? • 在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。 • 数据库系统优于文件系统
关系数据库的历史 • 1963年,美国Honeywell公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序幕。 • 进入数据库阶段的标志是20世纪60年代末发生的三件事件: • ·1968年IBM公司研制的IMS系统是一个典型的层次DBS; • ·1969年美国CODASYL组织DBTG报告,提出网状DBS的概念; • ·1970年美国IBM公司的E.F.Codd发表论文,提出关系模型的思想。 • 20世纪70年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。 • 20世纪80年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。 • 20世纪90年代,关系数据库已成为数据库技术的主流。 • 进入21世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、网络数据库技术的推广和普及已成定局。
关系数据库由来 • 系统而严格地提出关系模型的是美国IBM公司的E.F.Codd • 1923年8月19日生于英格兰中部,当国兵,教过书,在IBM做研究 • 1948年在牛津大学获数学学士和硕士学位,之后到美国求职,13年后重返大学,在米歇根大学进修计算机与通信,1965年获博士学位 • E.F.Codd本性是个数学家,他最大的愿望是为数据库建立一个优美的数学模型 • 关系数据库之父 1969: Edgar F. "Ted" Codd invents the relational database.
1.1数据库系统概述 1.1.0 数据库的地位 1.1.1 四个基本概念 1.1.2 数据管理技术的产生与发展 1.1.3 数据库系统的特点
数据库的地位 • 数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支 • 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透 • 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志
1.1 数据库系统概述 1.1.0 数据库的地位 1.1.1 四个基本概念 1.1.2 数据管理技术的产生与发展 1.1.3 数据库系统的特点
1.1.2 四个基本概念 • 数据(Data) • 数据库(Database) • 数据库管理系统(DBMS) • 数据库系统(DBS)
一、数据 数据(Data)是数据库中存储的基本对象 • 数据的定义:描述事物的符号记录 • 数据的种类:文字、图形、音频、视频、学生的档案记录、货物的销售情况等 • 数据的特点 • 数据与其语义是不可分的
数据 • 数据的含义称为数据的语义,数据与其语义是不可分的。 • 例如 93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:计算机系2003级学生人数 语义4:请同学给出。。。 因为数据的形式不能完全表达其内容。
数据举例 例:学生档案中的学生记录 (李明,男,1972,江苏,计算机系,1990) • 数据的解释 • 语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间 • 解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系 • 请给出另一个语义和解释
数据与信息 • 数据与信息的关系: • 信息:是以数据为载体的客观世界实际存在的事物、事件或概念在人们头脑中的反映。 • 数据:是用来表示信息的一组符号。 二者关系: 数据是信息的载体,而信息是数据的内涵。
二、数据库(续) • 数据库的定义 • 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
二、数据库(续) • 数据库的特征 • 数据按一定的数据模型组织、描述和存储 • 可为各种用户共享 • 冗余度尽可能小 • 数据独立性较高 • 易扩展
三、数据库管理系统 • 什么是DBMS • 数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。
数据库在计算机系统中的地位 协同软件 办公软件 软件产品 应用软件平台 中间件 应用服务器 软件基础构架平台 基础软件平台 数据库系统 操作系统 硬件平台
DBMS的主要功能 • 科学地组织和存储数据、高效地获取和维护数据 • 数据定义功能 提供数据定义语言(DDL)Data Define Language 定义数据库中的数据对象 • 数据操纵功能:提供数据操纵语言(DML)Data Manipulation Language 操纵数据实现对数据库的基本操作 (查询、插入、删除和修改)
DBMS的主要功能 • 数据库的运行管理 保证数据的安全性、完整性、 多用户对数据的并发使用 发生故障后的系统恢复 • 数据库的建立和维护功能(实用程序) 数据库数据批量装载 数据库转储 介质故障恢复 数据库的重组织 性能监视等
四、数据库系统 • 什么是数据库系统 • 数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。 • 在不引起混淆的情况下常常把数据库系统简称为数据库。 • 数据库系统的构成 • 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。
用户A 用户B 用户C 应用系统 应用开发工具 数据库管理系统 数据库管理员 操作系统 数据库 数据库系统(续) • 数据库系统构成图示:
数据库系统(续) 数据库系统在计算机系统中的位置图示:
1.1 数据库系统概述 • 1.1.0 数据库的地位 • 1.1.1 四个基本概念 • 1.1.2 数据管理技术的产生与发展 • 1.1.3 数据库系统的特点
1.1.2 数据管理技术的产生和发展 • 什么是数据管理 • 对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题 • 数据管理技术的发展过程 • 人工管理阶段(40年代中--50年代中) • 文件系统阶段(50年代末--60年代中) • 数据库系统阶段(60年代末--现在)
数据管理技术的产生和发展(续) • 数据管理技术的发展动力 • 应用需求的推动 • 计算机硬件的发展 • 计算机软件的发展
一、人工管理 • 时期 • 40年代中--50年代中 • 产生的背景 • 应用需求 科学计算 • 硬件水平 无直接存取存储设备 • 软件水平 没有操作系统 • 处理方式 批处理
人工管理(续) • 特点 • 数据的管理者:应用程序,数据不保存。 • 数据面向的对象:某一应用程序 • 数据的共享程度:无共享、冗余度极大 • 数据的独立性:不独立,完全依赖于程序 • 数据的结构化:无结构 • 数据控制能力:应用程序自己控制
...… ...… 应用程序1 数据集1 应用程序2 数据集2 应用程序n 数据集n 应用程序与数据的对应关系(人工管理)
二、文件系统 • 时期 • 50年代末--60年代中 • 产生的背景 • 应用需求 科学计算、信息管理 • 硬件水平 磁盘、磁鼓 • 软件水平 有文件系统 • 处理方式 联机实时处理、批处理
文件系统(续) • 特点 • 数据的管理者:文件系统,数据可长期保存 • 数据面向的对象:某一应用程序 • 数据的共享程度:共享性差、冗余度大 • 数据的结构化:记录内有结构,整体无结构 • 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序 • 数据控制能力:应用程序自己控制
应用程序1 文件1 应用程序2 文件2 存取方法 ...… ...… 文件n 应用程序n 应用程序与数据的对应关系(文件系统)
文件系统中数据的结构 • 记录内有结构。 • 数据的结构是靠程序定义和解释的。 • 数据只能是定长的。 • 可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。 • 文件间是独立的,因此数据整体无结构。 • 可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。 • 数据的最小存取单位是记录。
三、数据库系统 • 时期 • 60年代末以来 • 产生的背景 • 应用背景 大规模管理 • 硬件背景 大容量磁盘 • 软件背景 有数据库管理系统 • 处理方式 联机实时处理,分布处理,批处理, 数 据仓库,数据挖掘
数据库系统(续) • 特点 • 数据的管理者:DBMS • 数据面向的对象:现实世界 • 数据的共享程度:共享性高 • 数据的独立性:高度的物理独立性和一定的 逻辑独立性 • 数据的结构化:整体结构化 • 数据控制能力:由DBMS统一管理和控制
应用程序1 数据库 应用程序2 DBMS … 应用程序与数据的对应关系(数据库系统)
数据的高共享性的好处 • 降低数据的冗余度,节省存储空间 • 避免数据间的不一致性 • 使系统易于扩充
数据独立性 • 数据独立性包括两个方面:物理独立性和逻辑独立性。首先先讨论数据的物理数据独立性。 • 要理解数据独立性的含义,最好的方法是搞清数据的抽象层次。
数据独立性:数据的抽象 用户 View View View 数据库系统 Logical Level 文件系统 Physical Level
数据独立性:数据的抽象 View(PL/1) View(COBOL) DCL 1 EMP , 2 EMP# CHAR(6) 2 SAL FIXED BIN(31) 0 1 EMPC, 02 EMPNO PIC X(6) 02 DEPTNO PIC X(4) Logical EMPLOYEE EMPLOYEE_NUMBER CHAR (6) DEPARTMENT_NUMBER CHAR (4) SALARY NUMERIC(5) Physical STORED_EMP BYTES=20 PREFIX TYPE=BYTE(6),OFFSET=0 EMP# TYPE=BYTE(6),OFFSET=6, INDEX=EMPX DEPT# TYPE=BYTE(4),OFFSET=12 PAY TYPE=FULLWORD,OFFSET=16
数据独立性:数据的改变 • 物理结构 • 存储字段 • 存储记录 • 存储文件 • 逻辑结构 “零件”存储文件 P1 Nut Red 12 零件存储记录 存储字段值 零件号 名称 颜色 数量 P2 bolt Red 17
数据独立性:数据的改变 • 存储记录的结构 :两个存储记录可以合成一个,或单个的存储记录被分成两个 • 存储文件的结构 :一指定的存储文件可以各种方式实现其存储。例如,它可以完全存储在单个的存储设备上(如,单个磁盘),或者存储在几个设备上(可能在几个不同设备类型上);可能根据一些存储字段值的按一定物理顺序来存储,或无序存储;存储顺序可能按某一种或某几种方式进行,例如,通过一个或多个索引,存储记录可能物理上被分块,也可能没有;如此等等。但是上述任何考虑都不会以任何方式影响应用程序。
数据独立性: 数据的改变 • 逻辑结构的改变 • 出身年月年龄 • 属性的增减 • ……
数据独立性: • 物理独立性:DBMS将数据的物理结构与应用程序分离, 应用程序要处理的只是逻辑结构,这样当物理结构改变时,应用程序不用改变。 • 逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的,也就是当逻辑结构改变时,应用程序不用改变。
数据结构化 • 整体数据的结构化是数据库的主要特征之一。 • 数据库中实现的是数据的真正结构化 • 数据的结构用数据模型描述,无需程序定义和解释。 • 数据可以变长。 • 数据的最小存取单位是数据项。
DBMS对数据的控制功能 • 数据的安全性(Security)保护 • 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。 • 数据的完整性(Integrity)检查 • 将数据控制在有效的范围内,或保证数据之间满足一定的关系。