61
数数数数数 Principles of Database Sys 数2数 数数数数 数数数数 数数数 统体 Textbook:Chapter 2 Database System Concepts and Architecture

第2讲 数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

  • Upload
    gili

  • View
    162

  • Download
    0

Embed Size (px)

DESCRIPTION

第2讲 数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture. 本讲主要内容. 2.1 数据模型、模式和实例 2.2 三层模式体系结构和数据独立性 2.3 数据库语言和接口(简单了解) 2.4 数据库系统环境(自学,简单了解) 2.5 集中式和客户 / 服务器体系结构. 2.1 数据模型、模式和实例. 2.1.1 数据模型 2.1.2 模式、实例和数据库状态. 数据模型的基本概念. - PowerPoint PPT Presentation

Citation preview

Page 1: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

数据库原理 Principles of Database System

第 2 讲 数据库系统概念和体系结构

TextbookChapter 2 Database System Concepts and Architecture

2

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

3

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

4

数据模型的基本概念 数据模型 (Data Model) 现实世界数据特征的抽

象用来定义数据如何组织数据之间的关系怎样 数据模型的层次

Conceptual( 概念模型 ) 按用户的观点来对数据和信息建模

Logical(Implementation)( 逻辑 实现模型 ) 层次模型 网状模型 关系模型 hellip

Physical( 物理模型 ) 数据在具体 DBMS 产品(IBM Microsoft Oracle) 中的物理存储方式

5

数据建模概述 建立概念模型 (E-R 建模方法 )mdash 》将概

念模型转换为逻辑模型 (Logical 中间级数据模型 )mdash 》物理级模型

6

数据模型的组成要素 数据结构对系统静态特征的描述 数据操作对系统动态特征的描述

检索 ( 查询 ) 更新 ( 插入删除修改增删改 )

数据的约束条件完整性约束规则

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 2: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

2

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

3

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

4

数据模型的基本概念 数据模型 (Data Model) 现实世界数据特征的抽

象用来定义数据如何组织数据之间的关系怎样 数据模型的层次

Conceptual( 概念模型 ) 按用户的观点来对数据和信息建模

Logical(Implementation)( 逻辑 实现模型 ) 层次模型 网状模型 关系模型 hellip

Physical( 物理模型 ) 数据在具体 DBMS 产品(IBM Microsoft Oracle) 中的物理存储方式

5

数据建模概述 建立概念模型 (E-R 建模方法 )mdash 》将概

念模型转换为逻辑模型 (Logical 中间级数据模型 )mdash 》物理级模型

6

数据模型的组成要素 数据结构对系统静态特征的描述 数据操作对系统动态特征的描述

检索 ( 查询 ) 更新 ( 插入删除修改增删改 )

数据的约束条件完整性约束规则

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 3: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

3

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

4

数据模型的基本概念 数据模型 (Data Model) 现实世界数据特征的抽

象用来定义数据如何组织数据之间的关系怎样 数据模型的层次

Conceptual( 概念模型 ) 按用户的观点来对数据和信息建模

Logical(Implementation)( 逻辑 实现模型 ) 层次模型 网状模型 关系模型 hellip

Physical( 物理模型 ) 数据在具体 DBMS 产品(IBM Microsoft Oracle) 中的物理存储方式

5

数据建模概述 建立概念模型 (E-R 建模方法 )mdash 》将概

念模型转换为逻辑模型 (Logical 中间级数据模型 )mdash 》物理级模型

6

数据模型的组成要素 数据结构对系统静态特征的描述 数据操作对系统动态特征的描述

检索 ( 查询 ) 更新 ( 插入删除修改增删改 )

数据的约束条件完整性约束规则

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 4: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

4

数据模型的基本概念 数据模型 (Data Model) 现实世界数据特征的抽

象用来定义数据如何组织数据之间的关系怎样 数据模型的层次

Conceptual( 概念模型 ) 按用户的观点来对数据和信息建模

Logical(Implementation)( 逻辑 实现模型 ) 层次模型 网状模型 关系模型 hellip

Physical( 物理模型 ) 数据在具体 DBMS 产品(IBM Microsoft Oracle) 中的物理存储方式

5

数据建模概述 建立概念模型 (E-R 建模方法 )mdash 》将概

念模型转换为逻辑模型 (Logical 中间级数据模型 )mdash 》物理级模型

6

数据模型的组成要素 数据结构对系统静态特征的描述 数据操作对系统动态特征的描述

检索 ( 查询 ) 更新 ( 插入删除修改增删改 )

数据的约束条件完整性约束规则

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 5: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

5

数据建模概述 建立概念模型 (E-R 建模方法 )mdash 》将概

念模型转换为逻辑模型 (Logical 中间级数据模型 )mdash 》物理级模型

6

数据模型的组成要素 数据结构对系统静态特征的描述 数据操作对系统动态特征的描述

检索 ( 查询 ) 更新 ( 插入删除修改增删改 )

数据的约束条件完整性约束规则

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 6: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

6

数据模型的组成要素 数据结构对系统静态特征的描述 数据操作对系统动态特征的描述

检索 ( 查询 ) 更新 ( 插入删除修改增删改 )

数据的约束条件完整性约束规则

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 7: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

7

概念数据模型 (Conceptual Data Model)

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 8: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

8

逻辑数据模型 (Logical Data Model) 层次模型 网状模型 关系模型 (Relational Data Model)

以严格的数学理论为基础谓词逻辑 (predicate logic) 集合论 (set theory)

目前主流的数据库系统都是基于ldquo关系模型rdquo的 面向对象模型(不讲) 对象关系模型(不讲)

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 9: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

9

层次模型( Hierarchical Model )

假设要为一个学校建立反映ldquo学院教研室课程教师rdquo情况的数据库且实体模型已经建立(图补 1 )则其对象之间的联系是这样的每个学院设置若干教研室开设若干门课程每个教研室又有若干名教师

图(补 1 ) 学校教课模型

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 10: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

10

层次模型( Hierarchical Model )

根据图补 1 的实体模型就可以构造出如补 2 图所示的层次数据模型及其实例在实例中我们只给出了计算机学院的情况其他学院的情况用一个虚线框表示(均予以省略)

从图补 2 可以看出计算机学院院长是李星该学院设有 15 个教研室共开设128 门课程硬件教研室有 23 名教师软件教研室有 29 名教师

图(补 2 )

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 11: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

11

层次模型( Hierarchical Model )

在层次模型中必须按照从根开始的某条路径提出询问否则就不能直接回答故设计层次模型(以及下面将讨论的网络模型)时要细心考虑路径问题因为路径一经规定就不能改变

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 12: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

12

层次模型的不足 1048708 有时候有层次不清的

情况1048708 黄飞鸿和十三姨的关系

1048708 他们的后代该如何称呼

黄飞鸿的爸爸

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 13: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

13

网状模型( Network Model )

DBTG报告定义为网状数据模型是以记录类型为结点的网状结构网络与树的区别有两点非常显著 ① 一个子结点可以有两个或多个父结点 ② 在两个结点之间可以有两种或多种联系

在 DBTG 报告中用ldquo络rdquo( set )表示这种联系所谓络就是一棵二级树它的根称为主结点它的叶称为从结点

络有型与值之分络类型(型)表示记录类型之间的联系络事件(值)表示记录值之间的联系

DBTG 的网络模型系由若干络类型构成 图补 3 教学的网络模型

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 14: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

14

网状模型( Network Model )

我们假定只有两个教师三门课程(分别用C1 C2 C3 表示其课程号)和三个学生(分别用 S1 S2 S3 表示其学号)则图补 4 为图补 3 所示网状模型的一个实例

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 15: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

15

关系数据模型 (Relational Data Model) 的数据结构 二维表 (Table)= 关系 (Relation)

行 (Row) 列 (Column) 一般 DBA术语记录 (Record) 字段

(Field) 关系模型术语元组 (Tuple) 属性

(Attribute)

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 16: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

16

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 17: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

17

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 18: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

18

注意 关系型数据库的层次结构

数据库 (Database)mdash 》表 (Table)mdash 》记录 (Record)(每条记录有若干字段或者属性 )

在关系模型中 E-R 概念模型中的实体以及实体间的联系 (Relationship) 都是用关系 (Relation) 来表示的

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 19: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

19

物理数据模型 (Physical Data Model)

描述数据库在计算机中的存储细节

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 20: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

20

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 21: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

21

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 22: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

22

ReviewData Models Data Model

A set of concepts to describe the structure of a database the operations for manipulating these structures and certain constraints that the database should obey

Data Model Structure and Constraints Constructs( 构造 ) are used to define the database

structure Constructs typically include elements (and their

data types) as well as groups of elements (eg entity record table) and relationships among such groups

Constraints specify some restrictions on valid data these constraints must be enforced(强制 ) at all times

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 23: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

23

ReviewData Models (continued) Data Model Operations

These operations are used for specifying database retrievals(获取 ) and updates by referring to the constructs of the data model

Operations on the data model may include basic model operations (eg generic insert delete update) and user-defined operations (eg compute_student_gpa update_inventory)

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 24: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

24

ReviewCategories of Data Models

Conceptual (high-level semantic) data models Provide concepts that are close to the way many

users perceive data Entity-Relationship Model

Physical (low-level internal) data models Provide concepts that describe details of how data

is stored in the computer Implementation (representationallogical) data

models Provide concepts that fall between the above two

and may be understood by end users but that are not too far removed from the way data is organized within the computer

Relational network hierarchical

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 25: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

25

21 数据模型模式和实例 211 数据模型 212 模式实例和数据库状态

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 26: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

26

数据库模式和实例的概念 Schema( 模式 ) 与 Instance( 实例 )

Schema The description of a database Includes descriptions of the database structure data types and the constraints on the database

Instance(State) The actual data stored in a database at a particular moment in time This includes the collection of all the data in the database

Instance 是 Schema 在某一时刻的具体化实例化 ( 类似于面向对象理论中 Class 与 Object 的关系 )

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 27: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

27

学生信息数据库的 Schema

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 28: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

28

学生信息数据库某一时刻的 Instance

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 29: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

29

Database Schema vs Database State

The database schema changes very infrequently Schema is also called intension( 内涵 )

The database state changes every time the database is updated State is also called extension(外延 )

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 30: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

30

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口 24 数据库系统环境 25 集中式和客户 服务器体系结构 26 数据库管理系统分类

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 31: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

31

数据库系统的三级模式结构(Three-Schema Architecture)

外模式

概念模式

内模式

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 32: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

32

Three-Schema Architecture

Internal schema( 内模式 也称存储模式 ) 数据物理结构和存储方式的描述是数据在数据库内部的表示方式

通常使用物理数据模型描述 Conceptual schema( 概念模式 也称全局

模式有时简称ldquo模式rdquo ) 数据库中全体数据的逻辑结构和特征的描述

通常使用概念或逻辑数据模型描述 External schemas(外模式 也称子模式或

用户模式 ) 数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述

通常使用与概念模式相同的数据模型描述

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 33: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

33

注意 模型 (Model) 与模式 (Schema) 的区别

数据模型是描述数据的一种通用形式模式则是用给定的数据模型描述具体数据注意真正的数据内容保存在数据库状态 (State)中

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 34: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

34

用 E-R 概念模型表示的概念模式

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 35: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

35

用关系逻辑模型表示的概念模式

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 36: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

36

ldquo 教师教授课程rdquo外模式及其实例

ldquo 学生选修课程rdquo外模式及其实例

中文属性名

英文属性名

用关系逻辑模型表示的外模式及其实例

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 37: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

37

数据库系统的两级映射功能 两级映射 (Mapping)

概念模式 内模式映射 外模式 概念模式映射

数据独立性 物理独立性 (Physical Data Independence) 逻辑独立性 (Logical Data Independence)

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 38: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

38

数据库系统的工作流程 DBMS首先对数据查询

语句进行语法检查而后从数据字典中找到该用户对应的外模式同时进行权限检查

DBMS 根据找到的外模式利用概念模式 外模式映射将其映射到概念模式确定概念模式应该读入哪些数据

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 39: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

39

数据库系统的工作流程 (续 ) DBMS利用内模式 概

念模式映射将概念模式映射到内模式确定数据库应读入哪些物理记录及其具体的地址

DBMS 根据地址信息向操作系统发出读取记录的命令

操作系统执行读取数据的命令并将数据从硬盘读入系统缓冲区将执行结果通知 DBMS

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 40: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

40

数据库系统的工作流程 (续 )

DBMS 根据查询语句及数据字典定义的信息将系统缓冲区中的数据转换成用户所需的记录格式

DBMS 将数据记录从系统缓冲区传送到用户工作区

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 41: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

41

内模式与概念模式之间的映射提供了数据的物理独立性当数据的物理结构发生变化时如对数据增加索引改变数据的存储位置改变存储设备等不影响数据的逻辑结构当 DBA 根据应用程序对数据的存取要求对数据的物理组织进行优化后并不需要对概念模式和外模式进行重新定义也不需要修改应用程序只需要修改内模式与概念模式之间的映射

数据的物理独立性

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 42: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

42

概念模式与外模式之间的映射提供了数据的逻辑独立性当数据的整体逻辑结构发生变化时如增加新的关系新的属性改变属性的数据类型等可以通过修改各个外模式与概念模式之间的映射从而使外模式和依据外模式编写的应用程序不受影响

数据的逻辑独立性

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 43: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

43

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 44: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

44

23 数据库语言和接口 数据库语言

Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database

bull Data Manipulation Language (DML) Used to specify database retrievals and updates

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 45: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

45

本讲主要内容 21 数据模型模式和实例 22 三层模式体系结构和数据独立性 23 数据库语言和接口(简单了解) 24 数据库系统环境(自学简单了

解) 25 集中式和客户 服务器体系结构

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 46: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

46

数据库系统外部的体系结构 Centralized Architecture

Combines everything into single system including DBMS software hardware application programs and user interface processing software

User can still connect through a remote terminal(终端 ) ndash however all processing is done at centralized site

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 47: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

47

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 48: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

48

Client-Server Architecture 网络数据库系统数据库系统软件安装在服

务器上通过网络向外界提供数据服务 ClientServer 需要安装专门的客户端软

件 BrowserServer 不需要安装专门的客户端软件

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 49: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

49

ClientServer架构

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 50: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

50

ClientServer架构组件

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 51: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

51

Client ApplicationClient Application

Client Net-LibraryClient Net-Library

Client

SQL ServerSQL Server

Relational Engine

Relational Engine

Storage EngineStorage Engine

Server

LocalDatabase

Database API (OLE DB ODBC

DB-Library)

Database API (OLE DB ODBC

DB-Library)

ProcessorProcessor

MemoryMemory

Open Data ServicesOpen Data Services

Server Net-LibrariesServer Net-Libraries

ClientServer架构通信过程

QueryQuery

Result SetResult Set

Result SetResult Set

QueryQuery11

22

33

44

55

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 52: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

52

BrowserServer架构

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 53: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

53客户机

Web 服务器

② 客户请求WEB页面

③WEB 服务器定位指令文件

⑤ HTML 流被返回浏览器

⑥浏览器处理 HTML

并显示 WEB页面

④WEB 服务器处理指令以创建 HTML

①WEB页面创建者编写指令

BrowserServer架构通信过程

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 54: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

54

Three Tier Client-Server Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 55: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

55

Presentation layer( 表现层 ) 负责展示用户界面以及与用户的交互

Business logic layer(Middle layer 业务逻辑层或中间层 ) 负责接收来自表示层的请求并根据它包含的业务逻辑给表示层返回一个结果

Database services layer( 数据库服务层 ) 负责存储应用程序的数据并在接收到请求时把这些数据发送给业务层

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 56: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

56

三层体系结构分析网上购物系统Commerce

ldquo购物车rdquo模块 显示购物车内容 (ShoppingCartList) 添加订单 (OrdersAdd) 清空购物车 (ShoppingCartEmpty)

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 57: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

57

ldquo添加订单rdquo事务分析 三层体系结构

表现层

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 58: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

58

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

表现层代码

调用ldquo业务层rdquo

ldquo业务层rdquo返回参数

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 59: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

59

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

业务层代码

调用ldquo数据层rdquo存储过程

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 60: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

60

ldquo添加订单rdquo事务分析 (续 ) 三层体系结构

数据层代码

ldquo 数据层rdquo返回参数

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42

Page 61: 第2讲   数据库系统概念和体系结构 Textbook:Chapter 2 Database System Concepts and Architecture

61

第 2 章 课后作业 复习

书面作业 21( 直接从教材中找答案并翻译成中文 ) 23 ( 用中文作答 ) 24 ( 用中文作答 )

预习《离散数学》的ldquo集合论rdquo部分 预习第三章 和第四章 41 和 42