Download presentation
Presentation is loading. Please wait.
1
数据库原理与应用 第1章 数据库概述
2
第1章 数据库概述 数据独立性 四个基本概念 数据(Data) 数据库(Database) 数据库管理系统(DBMS) 数据库系统(DBS)
数据管理技术的发展 数据处理与数据管理 数据管理发展的三个阶段 数据独立性
3
数据 数据(Data)是数据库中存储的基本对象 数据的定义 描述事物的符号记录 数据的种类
文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等 数据的特点 数据与其语义是不可分的
4
数据举例 数据的含义称为数据的语义,数据与其语义是不可分的。 例如 93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重
例如 93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:计算机系2003级学生人数 语义4:请同学给出。。。
5
数据举例 学生档案中的学生记录 (李明,男,198705,江苏南京市,经金,1990)
语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间 解释:李明是个大学生,1987年5月出生,江苏南京市人,1990年考入经金学院 请给出另一个解释和语义
6
数据库 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。 数据库的基本特征
数据按一定的数据模型组织、描述和储存 可为各种用户共享 冗余度较小 数据独立性较高 易扩展
7
数据库管理系统 数据库管理系统 (Database Management System,DBMS)
专门用于实现对数据进行管理和维护的系统软件; 位于用户与操作系统之间的一层数据管理软件; 利用DBMS能科学地组织和存储数据、高效地获取和维护数据。 如:SQL Server,Oracle,Sybase,Mysql。
8
DBMS的主要功能 数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象 数据组织、存储和管理 分类组织、存储和管理各种数据
确定组织数据的文件结构和存取方式 实现数据之间的联系 提供多种存取方法提高存取效率
9
DBMS的主要功能(续) 数据操纵功能 提供数据操纵语言(DML) 实现对数据库的基本操作 (查询、插入、删除和修改)
实现对数据库的基本操作 (查询、插入、删除和修改) 数据库的事务管理和运行管理 数据库在建立、运行和维护时由DBMS统一管理和控制 保证数据的安全性、完整性、多用户对数据的并发使用 发生故障后的系统恢复
10
DBMS的主要功能(续) 数据库的建立和维护功能(实用程序) 数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织
性能监视分析等 其它功能 DBMS与网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作
11
数据库系统 数据库系统(Database System,DBS) 在计算机系统中引入数据库后的系统构成 数据库系统的构成
数据库:是数据的汇集,它以一定的组织形式保存在存储介质上。 数据库管理系统:是管理数据库的系统软件,它可以实现数据库系统的各种功能。 应用系统:由应用系统开发人员通过开发工具(如:Visual Basic,Delphi,PowerBuilder)实现的以数据库为基础的应用程序。 数据库管理员(Database Administrator,DBA):负责数据库的规划、设计、协调、维护和管理等工作。
12
数据库 应用系统 应用开发工具 操作系统 数据库管理系统 数据库管理员 用户 数据库系统
13
数据管理的发展 数据处理与数据管理 数据处理是指对各种形式的数据进行收集、存储、加工和传输的一系列活动的总和。
数据管理是数据处理的中心问题,它是指对数据的分类、组织、编码、存储和维护。 数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。 随着计算机硬件和软件的不断发展,数据管理技术经历了人工管理、文件管理、数据库管理3个阶段。
14
数据管理的发展三阶段 人工管理阶段 时期:20世纪40年代中--50年代中 产生的背景 应用需求:科学计算 硬件水平:无直接存取存储设备
软件水平:没有操作系统 处理方式:批处理
15
人工管理阶段:应用程序和数据的依赖关系 人事管理应用程序 教师信息数据组 人事部门 学生管理应用程序 学生信息数据组 学生部门
教务管理应用程序 课程信息数据组 学生部门 教务部门 人事部门 人工管理阶段:应用程序和数据的依赖关系
16
数据管理的发展三阶段(续) 特点 数据的管理者:用户(程序员),数据不保存 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大
数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:应用程序自己控制
17
数据管理的发展三阶段(续) 文件系统阶段 时期:20世纪50年代末--60年代中 产生的背景 应用需求:科学计算、管理 硬件水平:磁盘、磁鼓
软件水平:有文件系统 处理方式:联机实时处理、批处理
18
文件管理阶段:应用程序和数据文件的关系 人事管理应用程序 教师数据文件 学生数据文件 学生管理应用程序 课程数据文件 教务管理应用程序
学生部门 教务部门 人事部门 文件系统 教师数据文件 学生数据文件 课程数据文件 人事管理应用程序 学生管理应用程序 教务管理应用程序 文件管理阶段:应用程序和数据文件的关系
19
数据管理的发展三阶段(续) 特点 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大
数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序 数据控制能力:应用程序自己控制
20
数据管理的发展三阶段(续) 文件系统的缺点 编写应用程序不方便 数据冗余不可避免 应用程序依赖性 不支持对文件的并发访问 数据间联系弱
难以按用户视图表示数据 无安全控制功能
21
数据管理的发展三阶段(续) 数据库系统阶段 时期:20世纪60年代末以来 产生的背景 应用背景:大规模管理 硬件背景:大容量磁盘、磁盘阵列
软件背景:有数据库管理系统 处理方式:联机实时处理,分布处理,批处理
22
数据库管理阶段:应用程序和数据库的关系 人事管理应用程序 人事部门 学校 数据库 数据库管理系统 学生管理应用程序 学生部门
教务部门 人事部门 学校 数据库 数据库管理系统 人事管理应用程序 学生管理应用程序 教务管理应用程序 数据库管理阶段:应用程序和数据库的关系
23
数据管理的发展三阶段(续) 数据库系统的特点 数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由DBMS统一管理和控制
24
数据管理的发展三阶段(续) 数据结构化 整体数据的结构化是数据库的主要特征之一 整体结构化 不再仅仅针对某一个应用,而是面向全组织
不仅数据内部结构化,整体是结构化的,数据之间具有联系 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释 数据可以变长 数据的最小存取单位是数据项
25
数据管理的发展三阶段(续) 数据的共享性高,冗余度低,易扩充
数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。 数据共享的好处 减少数据冗余,节约存储空间 避免数据之间的不相容性与不一致性 使系统易于扩充
26
数据管理的发展三阶段(续) 数据独立性高(参见1.3小结) 物理独立性
指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。 数据独立性是由DBMS的二级映像功能来保证的
27
数据管理的发展三阶段(续) DBMS提供的数据控制功能 数据的安全性(Security)保护
保护数据,以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。 并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。
29
1.3 数据独立性 指应用程序不会因数据的物理表示方式和访问技术的改变而改变, 即应用程序不依赖于任何特定的物理表示方式和访问技术,
包含两个方面: 逻辑独立性 物理独立性
30
物理独立性 指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性。
例如“学生数据库”的文件从E盘变为F盘存放,不会影响应用程序的执行。 应用程序 D:\x E:\a 学生数据库 F:\b
31
逻辑独立性 指当表达现实世界的信息内容发生变化时(如增加信息或删除无用信息等),不影响应用程序的特性。
例如,“学生数据库”中的某张表增加属性列,不会影响原应用程序的执行。 应用程序 学生数据库
32
示例 应用程序 SELECT 学号,姓名,性别 FROM student 原student表 重构的student表 学号 姓名 性别
张三 男 S02 李四 女 S03 王五 S04 陈六 应用程序 SELECT 学号,姓名,性别 FROM student 学号 姓名 性别 所在系 S01 张三 男 计算机 S02 李四 女 S03 王五 信息 S04 陈六 学号 姓名 性别 所在系 专业 S01 张三 男 计算机 软件 S02 李四 女 应用 S03 王五 信息 管理 S04 陈六 原student表 重构的student表
33
非独立性 在使用文件管理数据时,应用程序常常是数据依赖的, 也就是说数据的物理表示方式和有关的存取技术都要在应用程序中考虑,
有关物理表示的知识和访问技术直接体现在应用程序的代码中。
34
非独立性示例 Openfile(“D:\data\file1”) Openfile(“F:\data\file1”)
文件位置改变 程序改变 file1 F:\data\file1 Openfile(“F:\data\file1”)
35
本章小结 数据库管理员借助于数据库管理系统可将数据有序地组织并存储在数据库中,并通过数据库(应用)系统提供给用户访问。
在数据库技术产生之前,计算机数据管理主要是通过文件来组织和存储数据的。数据库技术主要解决了文件系统中的数据冗余量大、数据结构化程度低、不同文件之间数据联系不紧密、数据不易共享、以及数据独立性差等问题。另外,在数据保护的安全性、完整性、并发控制和数据恢复等方面,数据库技术具有明显的优势。 数据独立性使得应用程序不再随着数据库的数据结构扩充或物理存放位置改变而改变。物理独立性和逻辑独立性两个层次保证了数据独立性的实现。
Similar presentations