Download presentation
Presentation is loading. Please wait.
Published by璋甚 牛 Modified 7年之前
1
主讲教师:李书琴 E-mail:lsq_cie@nwsuaf.edu.cn Tel: 13759972183
2017/3/21 第1章 引言 数据库原理与应用 主讲教师:李书琴 Tel:
2
数据库原理与应用课程 课时安排 总学时:48学时 理论学习:36学时 实习:12学时
3
课程内容 第一部分 关系数据库 第二部分 数据库设计 第三部分 数据存储、查询和事务管理 第1章 引言 第2章 关系模型介绍 第3章 SQL
第6章 形式化关系查询语言 第二部分 数据库设计 第7章 数据库设计和E-R模型 第8章 关系数据库设计 第9章 应用设计和开发(*) 第三部分 数据存储、查询和事务管理 第10章 数据存储和数据存取 第11章 查询处理和查询优化 第12章 事务管理
4
第1章 引言 典型应用 大学:用于存储学生信息、课程注册和成绩。 航空业:用于存储订票和航班的信息。
电信业:用于存储通话记录,产生每月账单,维护预付电话卡的余额和存储通讯网络的信息。 铁路业:用于存储订票、售票和火车的信息。
5
第1章 引言 如下结论: 数据库系统是由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。
数据库系统组成:数据库+数据库管理系统+应用程序+用户 数据库是基础;数据库管理系统是核心;应用程序是实现满足用户访问需求的手段;用户是数据库系统的最终归宿。 数据库管理系统隐藏了数据库组织、存储与管理的细节,极大的推进了数据库应用 用户界面隐藏了用户访问数据库的细节,使人们访问和使用数据库成为一种自然的动作。
6
硬件 操作系统 DBMS 应用软件开发工具 应用系统 数据库计算机系统中的地位
7
本章主要内容 1.1 几个重要概念 1.2 数据库系统设计目标 1.3 数据视图 1.4 数据库语言 1.5 关系数据库
1.2 数据库系统设计目标 1.3 数据视图 1.4 数据库语言 1.5 关系数据库 1.6 数据库存储和查询 1.7 数据库事务管理 1.8 数据库设计 1.9 数据库体系结构
8
本章主要内容 1.1 几个重要概念 1.2 数据库系统设计目标(与文件系统相比) 1.3 数据视图 1.4 数据库语言 1.5 关系数据库
1.2 数据库系统设计目标(与文件系统相比) 1.3 数据视图 1.4 数据库语言 1.5 关系数据库 1.6 数据库存储和查询 (DBMS角度) 1.7 数据库事务管理 1.8 数据库设计 (系统开发角度) 1.9 数据库体系结构 (系统开发角度)
9
第1章 引言 信息和数据 (1)信息:人们对客观事物的描述,人们之间可以交流的知识,对人们的行为可以产生一定的影响。
1.1几个重要概念 信息和数据 (1)信息:人们对客观事物的描述,人们之间可以交流的知识,对人们的行为可以产生一定的影响。 (2)数据:描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等。
10
第1章 引言 1.1数据库系统概述 (3)信息与数据之间的联系与区别 数据是用以表示信息的符号或载体
信息是经过加工之后并对客观世界和生产活动产生影响的数据,是数据的内涵,是对数据语义的解释。 数据是现象,而信息更反映实质。
11
第1章 引言 (4)对数据这一术语做进一步解释: 第一、不能把数据简单地与数字等同起来。
第二、数据的表现形式还不能完全表达其内容,需要经过解释,数据和数据的解释是不可分割的。数据的解释是指对数据含义的说明,数据的含义称为数据的语义。 第三、数据在计算机中存储和处理时,都转换成计算机能够识别的符号,即只用0和1两个符号编码的二进制串来表示。 如:”A”
12
第1章 引言 2.数据库(DataBase,简称DB)
长期存储在计算机内的、大量的、有结构的、可共享的数据集合。 3.数据库管理系统(DataBase Management System,简称DBMS) 是位于用户与操作系统之间的一层数据管理软件,主要功能包括: 数据定义功能 数据操纵功能 数据控制功能
13
第1章 引言 4.数据库系统(DBS) 数据库系统由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。
14
第1章 引言 1.2 数据库系统的目标 数据库系统:由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。
1.2 数据库系统的目标 数据库系统:由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。 数据库系统的主要目标:满足用户便捷的访问与维护数据库信息的要求,确保数据库正确、安全、可维护和充分共享。 主要克服了文件系统中的下列问题: 数据冗余和不一致 数据访问困难与数据孤立 完整性 可恢复性 并发访问 安全性
15
第1章 引言 1.2 数据库系统的目标(与文件系统相比) 提出如下的概念和算法: 数据视图(主要包括:数据抽象三个层次及三种模式、数据模型)
1.2 数据库系统的目标(与文件系统相比) 提出如下的概念和算法: 数据视图(主要包括:数据抽象三个层次及三种模式、数据模型) 数据库语言(SQL语言) 关系模型及数据库 数据库访问(嵌入式,标准接口ODBC/ADO/JDBC) 数据库设计(设计过程、基于ER模型的概念设计和基于3NF的逻辑设计) 数据存储、管理(数据文件、数据字典和索引)和查询(DDL解释器、 编译器和查询优化编译器) 事务管理(事务概念及特点,事务恢复和并发控制)及事务管理器 数据库体系结构(DBMS角度和用户层次) ………………
16
第1章 引言 1.3 数据视图(从DBMS角度) DBS中DBMS是组织、存储、管理的核心
1.3.1 数据抽象 物理层 逻辑层 视图层 视图1 物理层 逻辑层 视图2 视图3 视图层
17
第1章 引言 1.3 数据视图 (从DBMS角度) 1.3.2 实例和模式
实例:特定时刻存储在数据库中的信息的集合称作数据库的一个实例(instance)。 模式:数据库的总体设计称作数据库模式(schema)。
18
第1章 引言 1.3 数据视图 (从DBMS角度) 1.3.2 实例和模式
实例:特定时刻存储在数据库中的信息的集合称作数据库的一个实例(instance)。 模式的一个具体值,反映数据库某一时刻的状态,同一个模式可以有很多实例,实例随数据库中的数据的更新而变动。 模式:数据库的总体设计称作数据库模式(schema)。 数据库逻辑结构和特征的描述,反映的是数据的结构及其联系,模式是相对稳定的。
19
第1章 引言 1.3 数据视图 (从DBMS角度) 1.3.2 实例和模式 数据库系统可以分为几种不同的模式:
物理模式:在物理层描述数据库的设计,物理模式隐藏在逻辑模式之下,应用程序不受影响的情况下,物理模式可不做改变。数据的物理独立性。 逻辑模式:在逻辑层描述数据库的设计。程序员使用逻辑模式构造数据库应用程序。 子模式:描述了数据库的不同视图,以满足不同访问需求。
20
数据库系统的三级模式结构 数据库 逻辑模式 子模式3 子模式2 子模式1 应用A 应用E 应用B 应用C 应用D DBMS 外模式/模式映象
物理模式 逻辑模式 子模式3 子模式2 子模式1 应用A 应用E 应用B 应用C 应用D DBMS 外模式/模式映象 模式/内模式映象
21
数据库模式设计举例 逻辑模式 (每个关系仅有1个) (1)s,c,sc表数据项描述 (2) s,c,sc表之间完整性描述 学生选课 数据库
逻辑模式 (每个关系仅有1个) (1)s,c,sc表数据项描述 (2) s,c,sc表之间完整性描述 (3) s,c,sc访问的安全性描述 学生选课 数据库 s(sno,sname,sdept,….) c(cno,cname,tname) sc(sno.con,g) 子模式(每个关系可以有n个) 满足不同用户需求的视图 例如:查询选修了数据结构学生的姓名,视图定义语句: Select sname From s,sc,c Where s.sno=sc.sno and c.cno=sc.cno 物理模式(每个关系有1个)(1)s,c,sc数据物理结构和存储方式描述 (2)索引方式定义
22
…… 学生关系模式定义示例 属性名 数据类型 取值范围 是否是主属性或外键 完整性 SNo char(5) 00000~99999 是
Not null SName char(10) 否 Sdept ……
23
第1章 引言 1.3 数据视图 1.3.3 数据模型 数据模型:是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。 现实世界
1.3 数据视图 1.3.3 数据模型 认识 抽象 信息世界-概念数据模型 机器世界- DBMS支持的数据模型 现实世界 数据模型:是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。
24
第1章 引言 1.3 数据视图 1.3.3 数据模型 数据模型:是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。
1.3 数据视图 1.3.3 数据模型 数据模型:是一个描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。 数据模型提供了一种描述物理层、逻辑层以及视图层数据库设计的方式。 实体-联系模型 概念模型 关系模型 逻辑模型 基于对象的数据模型 概念模型或关系模型的扩展 半结构化数据模型 XML
25
第1章 引言 1.4 数据库语言 1.4.1 数据操纵语言(DML Date-Manipulation Language)
1.4 数据库语言 1.4.1 数据操纵语言(DML Date-Manipulation Language) 使得用户可以访问或操纵那些按照某种适当的数据模型组织起来的数据。 对存储在数据库中的信息进行检索。 向数据库中插入新的信息。 从数据库中删除信息。 修改数据库中存储的信息。
26
第1章 引言 1.4 数据库语言 1.4.2 数据定义语言(DDL,Date-Definition Language)
1.4 数据库语言 1.4.2 数据定义语言(DDL,Date-Definition Language) 使得用户可以定义数据库中的各种模式以及其他特征。 域约束(domain constraint) 参照完整性(referential intefrity) 断言(assertion) 授权(authorazation)
27
第1章 引言 1.5 关系数据库 关系数据库受关系模型的支持,关系模型是最重要的一种数据模型,也是目前主要采用的数据模型。
1970年由美国IBM公司San Jose(圣约瑟)研究室的研究员Edgar Frank Codd(埃德加·科德)首次提出,开创了数据库关系方法和关系数据库理论的研究,为数据库技术奠定了理论基础。 由于埃德加·科德的杰出工作,他于1981年获得ACM图灵奖。
28
1.关系数据模型的数据结构 学生登记表 … 在用户观点下,关系模型中数据的逻辑结构是一张二维表。 学 号 姓 名 年 龄 性 别 系 级
95004 王小明 19 女 社会学 95 95006 黄大鹏 20 男 商品学 95008 张文斌 18 法律学 …
29
关系模型的术语 关系(Relation) 元组(Tuple) 属性(Attribute) 一个关系对应通常说的一张表。
表中的一行即为一个元组。 属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名。
30
关系模型的术语 码(Key) 域(Domain) 分量 关系模式 对关系的描述 关系名(属性1,属性2,…,属性n)
表中的某个属性组,它可以唯一确定一个元组。 域(Domain) 属性的取值范围。 分量 元组中的一个属性值。 关系模式 对关系的描述 关系名(属性1,属性2,…,属性n) 学生(学号,姓名,年龄,性别,系,年级)
31
1.关系数据模型的数据结构 . 关系必须是规范化的,满足一定的规范条件 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。
工 资 扣 除 职 号 姓 名 称 基 本 龄 务 房 租 水 电 实 发 86051 陈 平 讲 师 105 9 . 5 15 6 12 115 .
32
2.关系模型的数据操纵 查询、插入、删除、更新 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合
存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干” 。
33
3.关系模型的完整性约束 实体完整性 参照完整性 用户定义的完整性
34
1.6 数据存储和查询(从DBMS角度,自学) DBMS划分为不同的模块,每个模块完成整个系统的一个功能。
功能部件大致分为存储管理器和查询处理器。 存储管理器,主要负责在数据库中存储的底层数据与应用程序以及向系统提交的查询之间提供接口的部件。 查询处理器,帮助数据库系统简化和方便了数据的访问。
35
1.7 事务管理(从DBMS角度,自学) 事务(transaction)是数据库应用中完成单一逻辑功能的操作集合。
每个事务是一个既具原子性又具一致性的单元。如银行转账业务。 适当地定义各个事务是程序员的职责,事务的定义应使之能保持数据库的一致性。 事务管理器包括并发控制管理器和恢复管理器。
36
1.8 数据库设计(从系统开发的角度) 认识 抽象 信息世界-概念数据模型 机器世界- DBMS支持的数据模型 现实世界 转换
37
1.8 数据库设计(从系统开发的角度) 数据库系统被设计用来管理大量的信息。 数据库设计的的主要内容是数据库模式的设计。 数据库设计的过程
1.8 数据库设计(从系统开发的角度) 数据库系统被设计用来管理大量的信息。 数据库设计的的主要内容是数据库模式的设计。 数据库设计的过程 需求分析 概念设计:实体-联系模型 逻辑设计:规范化 物理设计
38
数据库应用系统设计 数 据 库 系 统 设 计 需求分析 概念设计 逻辑设计 物理设计 系统设计 系统调试与运行
39
1.9 数据库系统体系结构(从系统开发角度) 数据库系统的体系结构很大程度上取决于数据库系统所运行的计算机系统。 集中式数据库系统
1.9 数据库系统体系结构(从系统开发角度) 数据库系统的体系结构很大程度上取决于数据库系统所运行的计算机系统。 集中式数据库系统 客户/服务器数据库系统 并行数据库系统 分布式数据库系统
40
1.9 数据库体系结构 应用程序 数据库 服务器 数据请求 结果 工作站1 工作站N 工作站2 客户端 客户/服务器结构原理示意图
41
客户/服务器结构 学院机房计费 应用程序 数据库 服务器 数据请求 结果 工作站1 工作站N 工作站2 客户端 客户/服务器结构原理示意图
42
客户/服务器结构 应用程序 数据库 服务器 数据请求 结果 工作站1 工作站N 工作站2 客户端 使用开发工具开发相应的应用程序
43
客户/服务器结构 网 络 协 议 支 持 下 通 过 标 准 接 口 应用程序 数据库 服务器 数据请求 结果 工作站1 工作站N 工作站2
客户端 使用开发工具开发相应的应用程序
44
客户/服务器结构 应用程序 数据库 服务器 数据请求 结果 工作站1 工作站N 工作站2 客户端 数据组织与管理
45
客户/服务器结构 应用程序 数据库 服务器 数据请求 结果 工作站1 工作站N 工作站2 客户端 本课程的主要内容 数据组织、管理与使用方法
46
数据库应用系统结构 浏览器/服务器结构 客户端 应用程序 数据库 数据库服务器 页面请求 页面 个人机1 个人机N 个人机2 数据请求 结果
Web服务器 浏览器 浏览器/服务器结构
47
数据库应用系统结构 WEB编程工具 浏览器/服务器结构 客户端 应用程序 数据库 数据库服务器 页面请求 页面 个人机1 个人机N 个人机2
数据请求 结果 Web服务器 浏览器 浏览器/服务器结构
48
把DBMS功能和应用分开 网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器
1.9.1 客户/服务器数据库系统 把DBMS功能和应用分开 网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器 其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机。 与主从式结构的区别 主从式数据库系统中的主机和分布式数据库系统中的每个结点机既执行DBMS功能又执行应用程序。
49
客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量
1.9.1 客户/服务器数据库系统 客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量 数据库更加开放 客户与服务器一般都能在多种不同的硬件和软件平台上运行 可以使用不同厂商的数据库应用开发工具
50
1.9.1 客户/服务器数据库系统 “胖客户”问题: 相同的应用程序要重复安装在每一台客户机上,系统安装复杂,工作量大,从系统总体来看,大大浪费了系统资源。 当需要对客户端应用程序进行更新和升级时,给维护工作带来很大困难。 系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。
51
1.9.1 客户/服务器数据库系统 客户端: 浏览器软件、用户界面 浏览器的界面统一,广大用户容易掌握,大大减少了培训时间与费用。
服务器端分为两部分: Web服务器、应用服务器 数据库服务器等 大大减少了系统开发和维护代价,能够支持数万甚至更多的用户
52
1.9.2 并行数据库系统 有些应用需要查询非常大型的数据库,有些应用需要在每秒钟处理很大数量的事务。
并行系统通过并行地使用多个处理器和磁盘来提高处理速度和I/O速度。 在并行处理中,许多操作是同时执行的,而不是串行处理的。 对于处理大事务的系统,通过并行地执行每个事务中的子任务可以缩短它的响应时间,同时提高它的吞吐量。
53
1.9.3 分布式数据库系统 分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)。
它的分布性表现在数据库中的数据不是存储在同一场地。更确切地讲,不存储在同一计算机的存储设备上。 一个分布式数据库在逻辑上是一个统一的整体,在物理上则是分别存储在不同的物理节点上。 从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好像那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用户并没有什么感觉不一样。
Similar presentations