第五章
数据库与数据仓库
Databases and Data
Warehouses
A Gold Mine of Information
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-3
先行案例:, 金矿, 帮助小老
板把生意做大
? 所有的商业应用软件都是利用
数据库技术组织和管理数据
? Peg 是一个的画廊老板,利用
一套称为, 金矿, 的 销售软件系
统 管理自己的客户关系
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-4
本章学习要点
? 5.1 数据库与数据库管理系统
? 5.2 数据库应用系统开发
? 5.3 数据模型
? 5.4 数据库设计
? 5.5 数据仓库与数据挖掘
? 5.6 分布式数据库
? 5.7 结构化查询语言 SQL
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-5
5.1 数据库与数据库管理系统
一,OLTP与 OLAP
处理事务中的信息
利用信息做决策
管理好信息
组织要
做的三
件事
联机事务处理 OnLine Transaction
Processing (OLTP)
联机分析处理 OnLine Analytical
Processing (OLAP)
?确定查看或使用权限
?确定保存时间
?确定存储技术
产品数
据库
顾客数
据库
数据仓库
修改顾客
收入水平
修改顾客
信用水平修改产品 单价
增加一条生
产线
OLTP
OLAP
上月销售的产品中
哪些超过 10000元?
如果库存下
降 10%,新
的库存成本
是多少?
对某种产品
提价,顾客
能接受吗?
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-7
数据库系统中关键 术语
? 数据 Data描述现实世界中各种具体事物或抽
象概念的,可存储并具有明确意义的信息。
? 字符 Character –最小的信息逻辑单位。
? 字段 Field – 相关字符的集合。
? 记录 Record – 相关字段的集合。
? 文件 File – 相关记录的集合。
? 数据库 Database – 相关数据文件的集合。
? 数据仓库 Data Warehouse–从几个数据库抽
取出来的信息
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-8
数据库中的几个常用术语
实体( E ntity)
属性( A ttribute) 关键字 /主码 /主键( Primary Key)
外键( Foreign Key )
候选码( Candidate key)
值域( Domain of values )
实体集( Entity Set)
联系( Relationship)
Part
Number
Part
Name
Cost Percentage
Markup
Facility
Number
Bin
Number
1003 50‘ Tape
Measure
$11.9 45.00% 291 2998
1005 25‘ Tape
Measure
$9.95 40.00% 291 3101
1083 10 Amp Fuse $0.07 50.00% 378 3984
1109 15 Amp Fuse $0.08 50.00% 378 3983
Part (零部件)文件 外键
Facility
Number
Facility
Name
Phone
Number
Street
Location
Manager Name
291 Pegasus 378-4921 3578 w.12 thSt,Greg Neison
378 Meduse 379-2981 198 Red Ln,Sare Wood
Facility(设备)文件主键
主键
比特
字节
字
技
术
界
面
逻辑组织
字符
字段
记录
数据文件
数据库
数据仓库
物理组织
存
储
介
质
知识工作者
二、信息的逻辑组织与物理组织
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-11
三,数据库的概念和定义
? 数据处理技术的发展过程
● 分散的手工方式 ( 50年代以前)
● 文件系统阶段 ( 50年代后期到 60年代中
期)
● 数据库系统阶段 ( 60年代后期)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-12
文件系统组织数据的方法
订货号
客户号
姓名
地址
库存号
货物号
品名
规格
订货量
价格
库存号
货物号
品名
规格
价格
客户号
姓名
地址
库存文件 订货文件 客户文件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-13
数据库系统组织数据的方法
订货号
客户号
库存号
订货量
价格
订货文件
库存号
货物号
品名
规格
库存量
价格
库存文件
客户号
姓名
地址
客户文件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-14
数据元素之间的逻辑关系
记录 1
女赵欣981025男李林980102
性别姓名学号……性别姓名学号
学生 n……学生 1
数据库
文件 1 文件 2
数据项
? 按存储介质分(磁盘、磁带、光盘、纸质)
? 按文件提供的功能分(主文件、报告、程序)
? 按数据记录在外存设备上的排列顺序分(顺序、
索引、散列、直接、链表)
文件分类
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-15
索引文件内容
S# SN SD SA
992510 张军 数学系 21
991025 李常林 数学系 22
992341 赵良 管理系 21
990011 陈会林 外语系 21
990001 胡海德 外语系 20
记录号 S#
5 990001
4 990011
2 991025
3 992341
1 992510
索引文件 stn 关键字段 原始文件
1
2
3
4
5
原始文件中记录号
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-16
数据库定义和组成
? 数据库定义:可根据逻辑结构组织和访问的信息
的集合。
? 一个数据库通常包含两个以上含有相关信息的文件。
信息 信息的逻辑组织
数据库由两部分组成
例子, 库存数据库,包括两个文件,
Part (零部件)和 Facility(设备)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-17
数据字典的概念
数据字典是 DBMS中的一个特殊文件。用于存储数据库的
一些说明信息,并称这些说明信息为元数据。
--建立数据字典的意义在于对数据流图上各个元素作出
详细的定义和说明。数据流图配上数据字典,就可以
从图形和文字两个方面对系统的逻辑模型进行描述,
从而形成一个完整的说明。
数据字典的内容包括六个方面:
数据项
数据结构
数据流
处理逻辑
数据存储
外部实体
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-18
部件号
部件名
价格
加价百分比
设备号
库存号
在数据字典中定义每一个字
段时,都要对该字段的逻辑
结构进行描述
数据库系统环境
数据库
人员信息
预算信息
会计报表
分配信息
OLTP
OLAP
数据库管理系统
知识
员工
信息技
术专业
人员
应用
程序
数据库系统由 三部分组成,
( 1) 硬件部分 (主机、外存、网络设备、电源等)
( 2) 软件部分 (操作系统 OS、数据库 DB、数据库管理系
统 DBMS、应用程序 AP等组成)
( 3) 人员
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-20
四、数据库管理系统
Database Management System (DBMS)
DBMS确定数据库逻辑,由 5个部分组成:
? DBMS引擎
Engineer
? 数据定义子系统 ( L-Language)
Data Definition subsystem,DDL
? 数据操纵子系统
Data Manipulation Subsystem,DML
? 应用程序生成子系统
Application Generation Subsystem
? 数据管理子系统
Data Administration Subsystem
建立数据库的逻辑
结构
查询及编辑信息
生成菜单、表单、报表及
应用软件
确定用户权限、信息的备份、
恢复方法
查看数据库结构变
更结果
数据定义
数据处理
应用系统生成
数据管理
DB
M
S
工
具 数据库
数据字典
数据库管理系统中各子系统的结构和功能
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-22
1.DBMS 引擎
DBMS引擎是信
息的逻辑结构
到物理结构之
间的桥梁。
接受 DBMS 其他
子系统的逻辑请
求,将它们转换
成对应的物理形
式,按存储格式
访问数据库和数
据字典。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-23
2.数据定义子系统
? 定义信息的逻辑结构。
? 支持对数据库结构中字段的增、删、
改。
功能:创建、维护数据字典,定
义数据库文件结构。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-24
Part and Facility 文件 逻辑
结构的内容
? 字段名
? 字段类型
? 字段格式
? 缺省值
? 有效范围
? 能否为空
? 能否重复
Part number,bin number…
字符、数字、日期、时间等
输入电话号码时是否需要地市号
加价百分比缺省值为 10%
加价百分比能超过 100%吗
设备号能为空值吗
主关键字是不能重复的
逻辑结构 举例
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-25
3.数据操纵子系统
? 该子系统是用户与数据库中信息之间的的
主要接口 interface 。
工具
视图 views
报表生成器
范例查询工具
结构化查询语言
支持对数据库
中信息增加、
修改、删除,
并从中挖掘有
价值的信息
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-26
4.应用程序生成子系统
开发 Transaction-Intensive Applications
该类子系统包括 3项主要功能,
?创建数据输入屏幕的工具 。
?特定的 DBMS的编程语言
?通用的独立于任何 DBMS的编程语言的接口
Interfaces。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-27
5.数据管理子系统
提供如下对整个数据库的管理,5个方面,
?数据备份 Backup与恢复 Recovery
?安全管理 Security management
?查询优化 Query optimization
?重新组织 Reorganization
?并发控制 Concurrency control
?更新管理 Change management
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-28
几种典型的数据库管理系统
? SQL Server 2000
? Microsoft Access 2000
? Oracle
? Visual Foxpro
? SYBase
? INFORMIX
? BD2
? My SQL
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-29
典型的 DBMS—SQL
Server提供的功能
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-30
Da
tab
ase
的
安
全
管
理
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-31
Da
tab
ase
的
安
全
管
理
用
户
可
以
在
此
选
择
分
配
给
登
录
账
户
的
固
定
服
务
器
角
色
系统管理员
安全管理员
服务器管理员
设置管理员
过程管理员
磁盘管理员
数据库管理员
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-32
Da
tab
ase
的
安
全
管
理
用
户
可
以
在
此
决
定
该
登
录
账
户
可
以
访
问
的
数
据
库
以
及
分
配
给
他
的
数
据
库
角
色
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-33
Da
tab
ase
的
安
全
管
理
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-34
Da
tab
ase
的
安
全
管
理–
授
权
替数据库用户捕获默
认权限
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-35
Da
tab
ase
的
安
全
管
理–
授
权
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-36
5.2 数据库应用系统开发
一、计算模式
? 两层 C/S结构特点:具有较好的可伸缩
性和性价比;
? 客户机既要完成客户界面的表示逻辑,
又要完成应用的业务逻辑,称为, 胖,
客户机和, 瘦, 服务器的 C/S结构
客户机
( client)
网络 客户机( client) 数据库
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-37
三层 C/S结构特点
? 是一种逻辑功能结构
? 客户机只用于表示逻辑业务
客户机
( client)
DBMS服
务器
( Server)
数据库应用服务器( Appllicati
on)
任务:表示逻辑 任务:业务逻辑 任务:数据服务
实际实现时,几种服务器
可由一台机器来担任
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-38
B/S模式
? C/S模式的缺陷:客户端软件安装、维护、升级、发
布、用户培训等随规模扩大而困难;
? 利用因特网技术,浏览器与 Web服务器之间通过
HTTP协议通信,Web服务器与应用服务器之间采用
CGI/ISAPI/NSAPI等接口,应用服务器与 DBMS服
务器之间采用 ODBC/JDBC/OLE DB等接口完成数据
库操作;
? 客户端使用浏览器,通过 Web服务器下载应用服务器
上的应用,从而解决客户端软件安装、维护、升级、
发布、用户培训等问题。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-39
二、组件与分布式对象开发技术
? 1、组件技术 — 新一代软件技术的标志,是更
高层次的对象技术
? 特点,独立于语言,面向应用程序,只规定组
件的外在表现形式,不关心内部的实现方法,
只要遵循它的技术规范,各软件开发商就可以
用适合自己的语言去实现可复用的组件,应用
程序开发人员通过挑选和编制组件可组合新的
应用软件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-40
组件模型
? 组件模型由组件( component)和容器
(container)构成 ;
? 组件,具有某种功能的独立软件单元,具有可
复用(通用)的特性,通过接口向外界提供功
能入口(如浏览器、按钮)
? 容器:存放相关组件的器皿,用于安排组件,
实现组件间的交互(如表单、页面、框架等)
? 组件技术使组件所提供的功能能为多种系统使
用(复用),再就是使不同来源组件能相互协
调、通信,共同完成更复杂的功能。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-41
2、分布式对象技术
? 是组件技术的延伸,是一种具有分布特征的组件;
? 分布式对象存在于任何网络之中,可被远程客户
以调用方式访问;
? 客户不必关心分布式对象在网络中何处,以什么
语言创建,运行于何种操作系统;
? 三层 C/S结构系统中,应用分布于不同的系统平
台上,因而其系统开发中可大量使用分布式技术;
? 分布式对象技术使用较多的是 CORBA,COM,J2EE
等,其核心是一套标准的语言、接口和协议
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-42
三,CGI/ISAPI/NSAPI
? 1,CGI( Common Gateway Interface)
公共网关接口
? 是浏览器,Web服务器、应用服务器之间传递信
息的一组规范。主要功能为在 WWW环境下,客户
端通过填写 HTML表单、或单击服务器页面上的
超链接来启动指定 CGI程序,完成特定的工作。
? CGI一般是一种可执行程序,编译好后集中放在
一个目录下,可用 C/C++/Perl/VB等语言编写;
? CGI跨平台性好,几乎可在任何操作系统上实现
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-43
2,ISAPI
? ISAPI--Internet Server API,是微软为 IIS
服务器所提供的一种类似 CGI功能的网络应用
开发接口,能实现 CGI的所有功能并进行了扩
展;
? 支持的 ISAPI开发的平台有限,可用来开发语
言不如 CGI多;
? 与 CGI的区别在于,在 ISAPI下建立的应用程序
以 DLL形式存在,占用系统资源少、方便灵活;
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-44
3,NSAPI
? NSAPI— 是 Netscape公司开发的
ISAPI。
? 其功能类似 ISAPI,但必须在 Netscape
服务器上才可以执行;
? 优点是可以支持多种操作系统,如 Unix,
Windows NT,HP/UX等平台。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-45
四,SQL语言及其使用方式
? SQL语言 --结构化查询语言 Structured
Query Language (SQL) – 是标准的第四代语言,
是关系数据库管理系统()支持的数据库语言。
? RDBMS是目前数据库的主流
? 与 RDBMS交互两种方式:使用 SQL语句交互,通
过开发应用系统与 RDBMS交互;
? 由于 RDBMS只提供 SQL的接口,因此开发工具
(高级语言)也必须通过 SQL与 RDBMS交互,于
是出现将 SQL嵌入到高级语言中使用的, 嵌入式,
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-46
SQL语言与 ODBC/JDBC
? 1、为何要用 ODBC/JDBC
? 不同的 RDBMS支持的 SQL在功能、语法上存
在一定差异;
? 为消除差异,便于应用程序的移植和互操作,
需要一种采用标准 SQL语句的、访问 DB的
,中间件, ( Middleware) ;
? ODBC/JDBC就是为各种高级语言或应用系统
提供标准 SQL数据访问的中间件。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-47
2,ODBC
? ODBC—开放数据库连接
? 是微软提出的, 应用程序编程接口, 标
准,使得不同的数据源可以通过统一的
接口访问,应用程序也可通过 ODBC接
口连接并访问不同的数据源;
? ODBC采用四层体系结构,目的是达到
RDBMS平台的无关性。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-48
3,JDBC
? JDBC—是一种执行 SQL语句的 Java API,是
SUN公司针对 Java程序提出的,与数据库连
接的标准;
? JDBC保持了 ODBC的基本特征,不同的是基
于 Java语言的风格开发
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-49
5.3 数据模型
? 层次模型( Hierarchical Model)
数据库中的数据按 层次结构 的形式进行组织,
是一种以记录为节点的有向树。其节点间的联系有
以下特点:
( 1)有且仅有一个节点无父节点,这个节点称为根
节点;
( 2)其它节点有且仅有一个父节点;
( 3)上层节点与下层节点之间的联系是 1,n
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-50
层次模型
企业总部
部门 1 部门 2 部门 3 部门 n
科室 1 科室 n……
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-51
网状模型( Network Model)
网状模型中记录与记录之间的联系呈网状结构,
其特点如下:
( 1)有一个以上节点没有父节点;
( 2)一个节点可以有多于一个以上的父节点;
( 3)两个节点之间可以有一种或多种联系
教师 A 教师 B 教师 C 教师 D
项目 A 项目 B 项目 C
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-52
关系模型( Relational Model)
用一系列二维表存储信息的数据库模型 。 其特点如下:
( 1)一张二维表描述一种关系;
( 2) 一个关系包含一个特定实体类的信息
( 3)表中的每一列表示一个属性(字段或数据项);
( 4)表中的每一行称为一个元组(或记录),所有互相有
联系的元组的集合,构成一张表;
( 5)一个组织中若干个有联系的表有机地结合起来,构成
一个数据库。
( 6)结构简单清晰、具有统一的形式,易于处理
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-53
数据模型的三要素
? 数据结构,数据库中所研究的对象类型
( Object Type)的集合
? 数据操作,对各种对象类型的实例所允许
执行的操作的集合。
? 数据的约束条件,数据的完整性规则的集
合。 ( 完整性约束 用来规定信息的格式
和信息链接的逻辑关系,以保证数据库信
息质量 )
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-54
数据库三级组织结构
用户 A2
工作区
用户 A1
工作区
用户 B
工作区
外模式 A(子模式) 外模式 B(子模式)
模式(概念模式)
内模式(存储模式)
映射映射
映射
DBMS
三种模式通过 DBMS的
两种映射 实现
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-55
案例:一个影碟出租店的关系数
据库
? 实体类型 Entity classes有:
Customer(顾客),Video(影碟),
Video Rental(影碟租用), Distributor(分销商)
所有表通过 外键 建立关联。
?复合主键 Composite Primary Key---由多个 Field
构成 Primary Key
?原子主键 Atomic Primary Key---由一个 Field构成
的 Primary Key
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-56
Customer ID Name Tel Address
47857 Jake Stevens 237-6871 2352 8th Ave.
47952 Abigail Green 237-2310 124 Northland
67098 C.J.Smerud 239-7101 P.O.Box 124a
97832 Devin Cash 446-7987 1372 Lvanhoe
Customer 关系
CustomerID Video ID From To
97832 1111-2 3-11-97 3-13-97
47952 4371-1 4-14-97 4-17-94
47952 4781-2 4-14-97 4-17-94
Video Rental 关系
影碟出租店 的关系数据库模型
Primary key
Foreign key
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-57
Video ID Video Name Type Distributor IDDays Prices
1111-1 Tides Gone Bad Drama 457 2 $3.00
1111-2 Tides Gone Bad Drama 457 2 $3.00
2356-1 Horror Night Horror 235 2 $1.50
4371-1 The Alien Horror 381 2 $3.00
Video 关系
Distributor ID Distributor Name Distributor tel.
235 Hughes Films 800 234-8000
986 ABC Enterprises 212 543-9822
457 North Film Works 800 320-2000
381 NBC Capital 800 532-9721
Distributor 关系
影碟出租店 的关系数据库模型
Primary
key
Foreign
key
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-58
面向对象的数据库模型
The Object-Oriented (O-O) Database Model
? 对象 —包含了描述一个实体( Entity)所
需要的信息以及处理的过程(指令)
面向对象 =对象 +属性 +方法
特点:封装性、抽象性、继承性、动态链接性
? 考虑影碟出租店的 O-O database model。
? 对象 objects (实体类 entity classes),
Customer,Video Rental,Video,and
Distributor,包括信息及信息处理过程。
Customer Video Rental
Video Distributor
信息
顾客编号
姓名
电话
地址
程序
增加新顾客
获得顾客信息
改变地址
存储顾客信息
信息
顾客编号
影碟编号
租赁日期
归还日期
程序
登记新的租赁
计算租金
取消租赁关系
收回影碟
查看租赁信息
改变租赁日期
存储租赁信息
信息
经销商代码
姓名
电话
地址
程序
增加新经销商
获得经销商信息
改变地址 /电话
存储经销商信息
信息
影碟编号
影碟名字
类型
经销商
购买日期
价格
程序
增加新的影碟
订购影碟
获得影碟信息
改变天数
改变租金
存储影碟信息
关
联
关
系
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-60
5.4 数据库设计
3.数据库的逻辑设计
5.数据库的物理设计
2.概念数据库设计
1.需求分析
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-61
1.需求分析
? 调查信息要求
? 调查处理要求
? 安全和完整性要求
? 结构化分析 SA,自顶向下,逐层分解
? 数据流图 DFD( Data Flow Diagram)
? 处理过程的逻辑判断用 决策树 或 判定表
? 用 数据字典 对系统中数据详尽描述
表达
方法
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-62
2.概念结构设计
? 充分反映现实世界实体与实体联系
? 自顶向下,先定义全局概念结构再逐步细化
? 自底向上,先定义局部概念结构再综合集成
? 由里向外,先定义最重要的核心结构再向外扩充
? 混合策略,自顶向下和自底向上相结合
工具 ER图( ER模型,实体联系图)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-63
3.数据库的逻辑设计
规范化,将关系模式转化为某种范式的过程。 范式
( Normal Form),关系模式的规范形式,满足不同
程度要求的为不同范式。
? 1、建立初始逻辑模型 2、规范化
函数依赖,(关系中一切元组都要满足的约
束条件)
? 将 ER图向所选择的数据库模型转换
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-64
规范化 -把非规范化的关系模式转换成规
范化的关系模式的过程
? 第一范式( 1NF),关系中的每个属性都不
可分解。
? 第二范式( 2NF),在 1NF的基础上,每个非主
属性都完全函数依赖于主码。
? 第三范式( 3NF),在 2NF的基础上,每个非主
属性都不传递函数依赖于侯选码。
? 修正的第三范式( BCNF),比第三范式要求更
进一步
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-65
4、数据库的物理设计
案例:雇员分工的数据库设计
确定数据的存储结构(顺序、直接)
确定存取路径,能支持多个用户的多种应用
(提供多个存取入口)
把经常存取和不经常存取的数据分开,把易
变部分和稳定部份分开
确定存储分配(块长度和大小、缓冲区大小
和个数)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-66
Emp
ID
Name Dept Dept
Sup
#Emp Job Job
Name
Hours Job Job
Name
Hours
1234 Jones 43 Halston 3 14 Acct 4 23 Sales 4
2345 Smith 15 Dallas 1 14 Acct 8
6548 Joslin 43 Halston 3 23 Sales 6 46 Admin 2
9087 Mills 43 Halston 3 23 Sales 5 14 Acct
8797 Jones 69 Irving 1 39 Maint 8 3
雇员分工报告样本
工作安排的规定,
每位职工只能够安排到一个部门,一个部门可以拥有许多个雇员
也可不安排任何雇员,每个雇员可被分派几项工作,一项工作也可给
多个雇员去共同完成,但并不一定每个雇员都分配给一项固定的工
作。
雇员人数
实
体
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-67
Step1 定义实体类和主键
Defining Entity Classes And Primary Keys
? 上表中,能识别出的 Entity classes,
Employee,Department,and Job。
? 现在为每一个 Entity class定义一个
Primary key,
?Employee entity class - Emp ID
?Department entity class - Dept
?Job entity class - Job
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-68
Step 2 定义实体类的关系
Defining Relationships Among Entity Classes
? 用实体联系图 Entity-Relationship (E-R)
Diagram,描述 entity classes 及其
relationships.
? 下图是对数据库的 Initial E-R diagram 和 E-
R diagram symbols 的 list
JobM:M
实体
多对多
选择关系
需求关系
E-R图的基本符号:
M,1
联系
多对 1 M,M 1,M 1对多
Employee DepartmentM:1
一个 Employee 必须指定给一个 Department。
一个 Employee 不能指定给一个以上的 Department。
一个 Department 可以有多个 Employees。
一个 Department 可以没有 Any Employees(雇员) 。
Employee DepartmentM:1
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-71
规范化 Normalization
? Normalization 包括如下 3 个步骤,
? 消除多对多关系中的重复组合
? 保证关系中的每个字段只依赖于主键
? 消除所有关系中的派生字段
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-72
Normalization的第一条规则是不能有
M:M Relationships 存在
? Employee 与 Job 之间存在这种关系,
? 通过创建 交叉关系 Intersection Relation来
消除 M:M。
? Intersection Relation 有一个 Composite
primary key,它由 两个 intersecting
relations 的主键组成。
? 本例中,创建了一个 intersection relation
Employee-Job, 以消除 M:M relationship.
1, M Employee-jobEmployee
M, M JobEmployee
M, 1 Job
交叉关系将 M:M转换成 1:M,M:1
主关键字是 EMP id+job
主关键字是 job
主关键字是 EMP id
主关键字是 EMP id
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-74
Step 3 定义每个关系的信息
Defining Information (Fields) For Each Relation
?遵循规范化规则 2 and 3.
?这里目标有两个,
?确认每个关系中所含的信息确实处于
正确的关系中。
?确认没有派生信息,
Employee关系, Emp ID,Name,Dept
Job关系, Job,Job Name
Department关系, Dept,Dept Sup
Employee-Job关系, Emp ID,Job,Hours
经
规
范
化
后
确
定
下
来
的
数
据
库
结
构
Employee关系, Emp ID,Name,Dept,Dept Sup
Job关系, Job,Job Name
Department关系, Dept,Dept Sup,#Emp
Employee-Job关系, Emp ID,Job,Hours
消除
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-76
Step 4 -利用数据定义语言创建数据库
Using A Data Definition Language To Create The
Database
? 实际地创建 1-3中定义的关系。
? 本步骤包括,
? 开发数据字典
Developing a data dictionary
? 定义各种关系
Defining the various relations
? 定义主键和联系
Defining primary keys and relationships
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-77
5.5 数据仓库和数据挖掘
数据仓库 Data Warehouse:
? 数据库的逻辑扩展。
? 支持 OLAP。
? 数据仓库的特征
? 综合不同数据库中的数据
? 是多维的 multidimensional
? 支持决策
地区
时间
产品
早期细节级 1985-1995销售明细表
当前细节级 1996-2002销售情况表
轻度综合级
1996-2002
每周销售表
高度综合级 1996-2002每月销售表
Data Warehouse的数据组织结构
全局
Data Warehouse
再抽取与合成
采购子系统 库存子系统销售子系统 财务子系统
Data Warehouse 与 Data Market(数据集市)
DatabaseDatabaseDatabaseDatabase
Data MarketData MarketData MarketData Market
数据抽取数据抽取数据抽取数据抽取
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-80
DSS对数据的要求
历史的
数据
内部各
部门的
数据
竞争对
手的数
据
外部环
境的数
据
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-81
企业目前的数据环境中存在的问题
应用分散
问题
―蜘蛛网,
问题
数据不一
致
外部和非
结构化问
题
数据动态
集成
历史数
据问题
数据的
综合
例:一家采用会员制经营的商场,面向应用建立起销售、
采购、库存管理以及人事管理子系统及各自的数据库模式
采购子系统:
订单(订单号、供应商号、总金额、日期 )
订单细则(订单号、商品号、类别、单价、数量)
供应商(供应商号、供应商名、地址、电话)
库存管理子系统:
领料单(领料单号、领料人、商品号、数量、日期)
进料单(进料单号、订单号、进料人、收料人、日期)
库存(商品号、库房号、库存量、日期)
库房(库房号、仓库管理员、地点、库存商品描述)
销售子系统:
顾客(顾客号、顾客名、性别、年龄、文化程度、住址、电话)
销售(员工号、顾客号、商品号、数量、单价、日期 )
人
事
管
理
子
系
统
:
员
工
(
员
工
号
、
姓
名
、
性
别
、
年
龄
、
文
化
程
度
、
部
门
号
)
部
门
(
部
门
号
、
部
门
名
称
、
部
门
主
管
、
电
话
)
1
2
库存管理子系统:
领料单(领料单号、领料人、商品号、数量、日期)
进料单(进料单号、订单号、进料人、收料人、日期)
库存(商品号、库房号、库存量、日期)
库房(库房号、仓库管理员、地点、库存商品描述)
3
4
如果只分析商品的采购渠道和销售
抽取出三个主题:供应商、商品、顾客
商品:
商品固有信息:商品号、商品名、类别、颜色等
商品采购信息:商品号、供应商号、供应价、供应日期、供应量
商品销售信息:商品号、顾客号、售价、销售日期、销售量
商品库存信息:商品号、库房号、库存量、日期
供应商:
供应商固有信息:供应商号、供应商名、地址、电话等
供应商品信息:供应商号、商品号、供应价、供应日期、供应量
顾客:
顾客固有信息:顾客号、顾客名、性别、年龄、文化程度、住址、电话
顾客购物信息:顾客号、商品号、售价、购买日期、购买量
有关各主题的
完整描述
例:在商品采购时的分析活动主要了解各供应商的情况,不需要订单、订单细则
等。因此 转变过程中丢弃了原来不必要的、不适于分析的信息
不同主题之间可能有重叠内容,表示主题之间有直接联系。但
只是逻辑上的重叠,不是数据内容物理上的重复存储。由于综
合方式不同重叠发生在细节级上。
商品:
商品固有信息:商品号、商品名、类别、颜色等
商品采购信息:商品号、供应商号、供应价、供应日期、供应量
商品销售信息:商品号、顾客号、售价、销售日期、销售量
商品库存信息:商品号、库房号、库存量、日期
供应商:
供应商固有信息:供应商号、供应商名、地址、电话等
供应商品信息:供应商号、商品号、供应价、供应日期、供应量
顾客:
顾客固有信息:顾客号、顾客名、性别、年龄、文化程度、住址、电话
顾客购物信息:顾客号、商品号、售价、购买日期、购买量
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-85
案例,1.数据仓库给 CVS开出良方
2,Moen公司董事长在哪儿签字?
Moen公司是一个拥有
6亿美元资产的管道设
备制造厂。一直依赖
IS取得销售趋势、客
户关系等方面书面报
告
现在董事长唯一的
问题是, 我该在哪
儿签字?,
? 通过数据仓库
可以分析出市
场销售情况
? 通过对信息的收集与
分析的结果可以帮助
公司做决策
医药公司 经营困难、经营费用高,
建立数据仓库使公司搜集削减费用
的重要信息是唯一出路;
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-86
案例:信息标准化才能保证质量
既可以保证各部门
OLTP的需要,也可以
满足各种 OLAP的需要。
由卫生署制定一套信息
标准化格式是唯一的解
决办法。
澳大利亚新南威尔士卫生
署发现,因地区不同和战
略不同需要的信息也不同
我国疾病和手术诊断等普遍采
用 ICD-9或 ICD-10国际标准,
但 没有一套按 HL7医疗信息标
准
病人 ID、各种诊疗和药
品等代码均是各自定义
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-87
联机分析处理 OLAP
OLAP是一门新兴的软件技术 。 通过
对多个角度观察某些指标值的变化,
找到它们的内在联系 。 专门用于支
持复杂的分析操作 。
多维数据分析是决策的主要
内容 。 观察的角度 称为 维 。
多维分析的基本动作, 切片,
切块, 钻入, 旋转
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-88
多维分析基本动作 —切片
产品维 产品维
切片
销售额 某时间上各地区产品分布情况
如 2000年 10月
不管原来的数据有多少维,切出的都应该是一个二维的平面
地区维 地区维
时间维
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-89
多维分析基本动作 —切块
产品维
地区维
时间维
产品维
地区维
切块
某时间段各地区产品销售情况
如 2000年
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-90
多维分析基本动作 —旋转
? 旋转将改变一个报告或页面的维方向,
其动作可以是交换行和列,或将某个行
维移到列维中去,或将正显示页面上的
一个维同页面外的维进行交换。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-91
产
品
维
地
区
维
旋转的基本动作 1
产品维 地区维
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-92
旋转的基本动作 2
地区 北京 上海
时间 产品 销售量 销售量
第一季度 …
第二季度 …
地区 北京 上海
时间 第一季度 第二季度 …
产品 …
… …
将行维换为列维
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-93
旋转的基本动作 3
产
品
维
地
区
维
时
间
维
时
间
维
地
区
维
产
品
维
旋转以改变页面显示
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-94
AI技术 统计技术 自动化分析 归纳推理
DatabaseDatabaseDatabase数据挖掘技术
Data Mining
OLAP与数据挖掘技术
潜在的模式 客户行为
Data Mining分析方法,
关联分析、分类分析、
聚类分析、因果关系分析
帮助决策
用户界面
Data Mining
分析方法
ODBC或其他 Database接口
Knowledge
Base
Open API
开放应用程序接口
Data
Warehouse Database
Files Other
Data Sources
Data Mining核心
Data Mining 系统结构
ODBC:
Open Database Connectivity
开放式数据库连接
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-96
SQL Server上一个数据仓库
和数据挖掘 示例
? foodMart(食品市场)
? 这个演示程序使用了一家假想的国际食品连锁
店 --FoodMart(食品市场),说明 Microsoft
SQL Server 2000 Analysis Services 怎样
工作。请安装 SQL Server 2000 的 Analysis
Services 及 English Query,看看当你要想知
道 FoodMart 的销售业务、促销活动、产品分
类和品牌、消费者和他们的收入、商店地点和
商店经理,.,时,如何使用多维模型进行分析,
写出演示过程和分析报告。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-98
5.6 分布式数据库
应用上的分布如
何解决?
物理上的分布如
何解决?
? DDBMS解决应用上的分布问题,物
理上的 分布 由网络解决。
特点
? 分布性:
? 逻辑整体性:
? 区域自治性:
? 结点透明性:
? 结点自主性
? 支持副本
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-99
分布式数据库分类( 四个角度)
? 第一角度:从构成的方式分为 同构 和 异构
同构型,所有节点的局部 DDBMS都支持同一种
数据模式和数据语言。 即自顶向下设计 。
DBMS1 DBMS i DBMS n…… ……
NDBMS1 NDBMS i NDBMS n…… ……
通信网络
用
户
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-100
异构型:
分布在各节点上的数据模型和数据语言可
能不同。 自底向上设计而成。
DBMS1 DBMS i DBMS n
NDBMS1
翻译功能
NDBMS I翻
译功能
NDBMS n翻
译功能
通信网络
用户
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-101
? 集中式,所有事务都由一台叫做中心计算机的
节点进行管理
第二角度:按控制方式分为集中
式和分布式
中
心
计
算
机
前端处理机
局部计算机
局部计算机
局部计算机
T
T
T
TT
T
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-102
分布式
每个节点都能保持 DDBMS的一个副本来监督和管理其它
节点及系统事务,网络目录被作为用户数据库存放于各局
部 DB中。
通讯网
局部计算机
局部计算机局部计算机
T T T
T T TTTT T
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-103
第三角度:从数据分布的角度分为分割式、
部分重复式和完全重复式
分割式:每个节点只存储 DDB的部分子集,各节点的副本互不
重叠。另两种可想而知。
DB
DB
DB
DDB
数
据 完全重复式
部
分
重
复
式
DB
DB
DB
DDB
分
割
式
DB
DB
DB
DDB
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-105
? 可靠性高:
? 结构灵活,易扩充:
分布式数据库系统优缺点
?一定条件下 系统性能高;
? 系统开销大
? 数据安全性难以保证。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-106
? 数据集中:
? 数据复制:
? 数据分片:
数据分布的几种设计策略
数据分片方式:
?水平分片
?垂直分片
?混合分片
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-107
5.7 结构化查询语言 SQL
结构化查询语言 Structured Query
Language (SQL) – 标准的第四代语言,
SQL语句在任何数据库环境中都相同。
除查询外还包含操纵、定义和控制四个方
面的功能
SQL常被嵌入到别的系统环境中。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-108
SQL命令
SQL命令包含三部分内容:
指定某些关系表作为命令的运算对象。
指定使用该命令所得数据形式。
指定对关系表进行何种运算,每个命
令均以, ;, 结束。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-109
建立表的 SQL命令
? 命令格式
CREATE TABLE 〈 表名 〉
(字段名 1,类型 [NOT NULL],
字段名2,类型[ NOT NULL],
……,);
说明:式中的方括号内表示可选择项,即方括号中参数可
以省略,而 NOT NULL则表示该字段的内容不得为空值。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-110
建立一个学生信息表
CREATE TABLE student
(S# CHAR(6),
SN CHAR(8),SD CHAR(8),
SA SMALLINT );姓名
学号
系名
年龄
表示半字长( 15位)的十进制整数。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-111
该命令建立了下面这张空表
S# SN SD SA
学号 姓名 系名 年龄
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-112
向表中输入数据的命令是:
INSERT INTO <表名 >
[(字段名1,字段名2,……) ]
VALUES (值1,值2,…..,值 n);
注:该命令相当于填表过程
例:插入一行数据( 980527,李常林,
数学系,21)到表中去。
INSERT INTO student
VALUES( 980527,李常林,数学系,21);
例:修改表结构,在原表中加入一个新
字段 SEX (性别) 。
ALTER TABLE student
ADD( SEX CHAR( 2));
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-114
该命令填写表的第一行数据
S# SN SD SA
980527 李常林 数学系 21
学号 姓名 系名 年龄
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-115
第二个命令增加了表右边一个空列
S# SN SD SA Sex
980527 李常林 数学系 21
学号 姓名 系名 年龄 性别
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-116
对已建好的表建立索引
CREATE UNIQUE INDEX <索引名 >
ON <表名 > (字段 1,字段 2,… )
[ASC/DSC];
例:对学生信息表以学号为关键字建立索引表 stn
CREATE UNIQUE INDEX stn
ON student ( S#);
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-117
删除表或索引表
DROP TABLE <表名 >;
例:删除索引表 stn
DROP TABLE stn;
修改表中数据
UPDATE <表名 >
SET 字段名 1=值 1/表达式 1,字段名 2=值 2/表达式 2,
……,字段名 n=值 n/表达式 n;
创建视图
CREATE VIEW <视图名 >
[(视图列名 1,视图列名 2,…… ) ]
AS SQL查询语句 [WITH CHECK OPTION];
用一个常量或表达式
的值去替换原来的值
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-119
把学生的学号及平均成绩抽取出来定
义为一个视图
CREATE VIEW S-G( S#,GAVG)
AS SELECT S#,AVG( G)
FROM SC GROUP BY S#;
式中,AVG是一个求平均值函数。 G为成绩字段名,
S#为学号,FROM 子句表示从 SC表中 以学号 S#分组 产
生一个查询结果,查询结果以 S#,GAVG为字段名放
入视图中。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-120
SQL查询语句 -- SQL的核心语句
SELECT 目标列
FROM 基本表名(或视图名)
[WHERE 条件表达式 ]
[GROUP BY 列名 1,[HAVING 内部函数表达式 ]]
[ORDER BY 列名 2,[ASC/DESC]];
empno name job sttm salary bonus dept
1334 王宏 部门经理 91/01/09 1800 600 10
1225 李明 部门经理 88/09/08 1650 560 20
1250 杨芳 工程师 85/10/20 1445 500 10
1315 李忠 总工程师 88/09/08 2200 800 10
1317 林之恿 销售员 85/10/20 1100 400 20
1319 李晓佳 销售员 88/09/08 1270 300 20
1320 章玲玲 工程师 85/10/20 1550 450 10
1321 袁也 部门经理 91/01/09 1680 550 30
职工号 姓名 职务 工作时间 工资 奖金 部门号
EMP—雇员信息表
dept deptname empno position
10 研究部 1334 北京
10 研究部 1250 上海
10 研究部 1315 广州
10 研究部 1320 广州
20 销售部 1317 北京
20 销售部 1319 上海
20 销售部 1225 上海
30 生产科 1321 北京
部门号 部门名称 职工号 所在地
部门信息表
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-123
查出 EMP中所有部门经理的职工号、姓
名、参加工作时间、工资
SELECT empno,name,sttm,salary
FROM emp WHERE job=― 部门经理”;
查表中职工的所有信息。
SELECT * FROM emp;
说明,*代表全部字段 。
要查的信息
查询条件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-124
计算出 EMP表中各部门在 1985年 1月 1日以后
进入公司工作的职工的平均工资
SELECT AVG( salary),dept from emp
WHERE sttm>―#1985/01/01‖
GROUP BY dept;
所有的记录将按部门号分为三个组,然后对每个组求工资
平均值
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-125
嵌套查询
SELECT * FROM EMP
WHERE salary <
( SELECT AVG( salary)
FROM EMP));
查询在关系表 EMP中工资额低于全部职
工平均工资的职工
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-126
小结
? 如何浏览信息,
? 信息的物理视图解决信息如何在二级存储器
上物理地组织、存储、访问的问题。
? 逻辑视图解决你需要如何组织信息、访问信
息以满足你特定的商业需要的问题,
? 数据库根据信息的逻辑结构组织访问的
信息的集合。
? 数据字典包含数据库信息的逻辑结构。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-127
小结
? A DataBase Management System是确定数
据库逻辑结构及对数据库访问的软件。
? 流行的 Database Models 有 Relational
Model 和 Object-Oriented Model.
? 开发 Personal Database Application的步骤:
? 定义 and primary keys
? 定义实体类的联系 entity classes relationships
? 定义每个关系的 information (fields)
? 用数据定义语言 data definition language( DDL)
创建数据库 database。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-128
小结
? Data Warehouses是来自许多不同业务
数据库的信息的逻辑集合,支持企业的分
析和决策活动。
? Data Mining Tools用于查询数据仓库中
的信息的软件工具,包括 Query-and-
Reporting Tools,Intelligent Agents,
and MultiDimensional Analysis (MDA)
Tools。
数据库与数据仓库
Databases and Data
Warehouses
A Gold Mine of Information
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-3
先行案例:, 金矿, 帮助小老
板把生意做大
? 所有的商业应用软件都是利用
数据库技术组织和管理数据
? Peg 是一个的画廊老板,利用
一套称为, 金矿, 的 销售软件系
统 管理自己的客户关系
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-4
本章学习要点
? 5.1 数据库与数据库管理系统
? 5.2 数据库应用系统开发
? 5.3 数据模型
? 5.4 数据库设计
? 5.5 数据仓库与数据挖掘
? 5.6 分布式数据库
? 5.7 结构化查询语言 SQL
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-5
5.1 数据库与数据库管理系统
一,OLTP与 OLAP
处理事务中的信息
利用信息做决策
管理好信息
组织要
做的三
件事
联机事务处理 OnLine Transaction
Processing (OLTP)
联机分析处理 OnLine Analytical
Processing (OLAP)
?确定查看或使用权限
?确定保存时间
?确定存储技术
产品数
据库
顾客数
据库
数据仓库
修改顾客
收入水平
修改顾客
信用水平修改产品 单价
增加一条生
产线
OLTP
OLAP
上月销售的产品中
哪些超过 10000元?
如果库存下
降 10%,新
的库存成本
是多少?
对某种产品
提价,顾客
能接受吗?
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-7
数据库系统中关键 术语
? 数据 Data描述现实世界中各种具体事物或抽
象概念的,可存储并具有明确意义的信息。
? 字符 Character –最小的信息逻辑单位。
? 字段 Field – 相关字符的集合。
? 记录 Record – 相关字段的集合。
? 文件 File – 相关记录的集合。
? 数据库 Database – 相关数据文件的集合。
? 数据仓库 Data Warehouse–从几个数据库抽
取出来的信息
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-8
数据库中的几个常用术语
实体( E ntity)
属性( A ttribute) 关键字 /主码 /主键( Primary Key)
外键( Foreign Key )
候选码( Candidate key)
值域( Domain of values )
实体集( Entity Set)
联系( Relationship)
Part
Number
Part
Name
Cost Percentage
Markup
Facility
Number
Bin
Number
1003 50‘ Tape
Measure
$11.9 45.00% 291 2998
1005 25‘ Tape
Measure
$9.95 40.00% 291 3101
1083 10 Amp Fuse $0.07 50.00% 378 3984
1109 15 Amp Fuse $0.08 50.00% 378 3983
Part (零部件)文件 外键
Facility
Number
Facility
Name
Phone
Number
Street
Location
Manager Name
291 Pegasus 378-4921 3578 w.12 thSt,Greg Neison
378 Meduse 379-2981 198 Red Ln,Sare Wood
Facility(设备)文件主键
主键
比特
字节
字
技
术
界
面
逻辑组织
字符
字段
记录
数据文件
数据库
数据仓库
物理组织
存
储
介
质
知识工作者
二、信息的逻辑组织与物理组织
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-11
三,数据库的概念和定义
? 数据处理技术的发展过程
● 分散的手工方式 ( 50年代以前)
● 文件系统阶段 ( 50年代后期到 60年代中
期)
● 数据库系统阶段 ( 60年代后期)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-12
文件系统组织数据的方法
订货号
客户号
姓名
地址
库存号
货物号
品名
规格
订货量
价格
库存号
货物号
品名
规格
价格
客户号
姓名
地址
库存文件 订货文件 客户文件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-13
数据库系统组织数据的方法
订货号
客户号
库存号
订货量
价格
订货文件
库存号
货物号
品名
规格
库存量
价格
库存文件
客户号
姓名
地址
客户文件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-14
数据元素之间的逻辑关系
记录 1
女赵欣981025男李林980102
性别姓名学号……性别姓名学号
学生 n……学生 1
数据库
文件 1 文件 2
数据项
? 按存储介质分(磁盘、磁带、光盘、纸质)
? 按文件提供的功能分(主文件、报告、程序)
? 按数据记录在外存设备上的排列顺序分(顺序、
索引、散列、直接、链表)
文件分类
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-15
索引文件内容
S# SN SD SA
992510 张军 数学系 21
991025 李常林 数学系 22
992341 赵良 管理系 21
990011 陈会林 外语系 21
990001 胡海德 外语系 20
记录号 S#
5 990001
4 990011
2 991025
3 992341
1 992510
索引文件 stn 关键字段 原始文件
1
2
3
4
5
原始文件中记录号
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-16
数据库定义和组成
? 数据库定义:可根据逻辑结构组织和访问的信息
的集合。
? 一个数据库通常包含两个以上含有相关信息的文件。
信息 信息的逻辑组织
数据库由两部分组成
例子, 库存数据库,包括两个文件,
Part (零部件)和 Facility(设备)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-17
数据字典的概念
数据字典是 DBMS中的一个特殊文件。用于存储数据库的
一些说明信息,并称这些说明信息为元数据。
--建立数据字典的意义在于对数据流图上各个元素作出
详细的定义和说明。数据流图配上数据字典,就可以
从图形和文字两个方面对系统的逻辑模型进行描述,
从而形成一个完整的说明。
数据字典的内容包括六个方面:
数据项
数据结构
数据流
处理逻辑
数据存储
外部实体
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-18
部件号
部件名
价格
加价百分比
设备号
库存号
在数据字典中定义每一个字
段时,都要对该字段的逻辑
结构进行描述
数据库系统环境
数据库
人员信息
预算信息
会计报表
分配信息
OLTP
OLAP
数据库管理系统
知识
员工
信息技
术专业
人员
应用
程序
数据库系统由 三部分组成,
( 1) 硬件部分 (主机、外存、网络设备、电源等)
( 2) 软件部分 (操作系统 OS、数据库 DB、数据库管理系
统 DBMS、应用程序 AP等组成)
( 3) 人员
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-20
四、数据库管理系统
Database Management System (DBMS)
DBMS确定数据库逻辑,由 5个部分组成:
? DBMS引擎
Engineer
? 数据定义子系统 ( L-Language)
Data Definition subsystem,DDL
? 数据操纵子系统
Data Manipulation Subsystem,DML
? 应用程序生成子系统
Application Generation Subsystem
? 数据管理子系统
Data Administration Subsystem
建立数据库的逻辑
结构
查询及编辑信息
生成菜单、表单、报表及
应用软件
确定用户权限、信息的备份、
恢复方法
查看数据库结构变
更结果
数据定义
数据处理
应用系统生成
数据管理
DB
M
S
工
具 数据库
数据字典
数据库管理系统中各子系统的结构和功能
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-22
1.DBMS 引擎
DBMS引擎是信
息的逻辑结构
到物理结构之
间的桥梁。
接受 DBMS 其他
子系统的逻辑请
求,将它们转换
成对应的物理形
式,按存储格式
访问数据库和数
据字典。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-23
2.数据定义子系统
? 定义信息的逻辑结构。
? 支持对数据库结构中字段的增、删、
改。
功能:创建、维护数据字典,定
义数据库文件结构。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-24
Part and Facility 文件 逻辑
结构的内容
? 字段名
? 字段类型
? 字段格式
? 缺省值
? 有效范围
? 能否为空
? 能否重复
Part number,bin number…
字符、数字、日期、时间等
输入电话号码时是否需要地市号
加价百分比缺省值为 10%
加价百分比能超过 100%吗
设备号能为空值吗
主关键字是不能重复的
逻辑结构 举例
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-25
3.数据操纵子系统
? 该子系统是用户与数据库中信息之间的的
主要接口 interface 。
工具
视图 views
报表生成器
范例查询工具
结构化查询语言
支持对数据库
中信息增加、
修改、删除,
并从中挖掘有
价值的信息
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-26
4.应用程序生成子系统
开发 Transaction-Intensive Applications
该类子系统包括 3项主要功能,
?创建数据输入屏幕的工具 。
?特定的 DBMS的编程语言
?通用的独立于任何 DBMS的编程语言的接口
Interfaces。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-27
5.数据管理子系统
提供如下对整个数据库的管理,5个方面,
?数据备份 Backup与恢复 Recovery
?安全管理 Security management
?查询优化 Query optimization
?重新组织 Reorganization
?并发控制 Concurrency control
?更新管理 Change management
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-28
几种典型的数据库管理系统
? SQL Server 2000
? Microsoft Access 2000
? Oracle
? Visual Foxpro
? SYBase
? INFORMIX
? BD2
? My SQL
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-29
典型的 DBMS—SQL
Server提供的功能
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-30
Da
tab
ase
的
安
全
管
理
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-31
Da
tab
ase
的
安
全
管
理
用
户
可
以
在
此
选
择
分
配
给
登
录
账
户
的
固
定
服
务
器
角
色
系统管理员
安全管理员
服务器管理员
设置管理员
过程管理员
磁盘管理员
数据库管理员
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-32
Da
tab
ase
的
安
全
管
理
用
户
可
以
在
此
决
定
该
登
录
账
户
可
以
访
问
的
数
据
库
以
及
分
配
给
他
的
数
据
库
角
色
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-33
Da
tab
ase
的
安
全
管
理
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-34
Da
tab
ase
的
安
全
管
理–
授
权
替数据库用户捕获默
认权限
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-35
Da
tab
ase
的
安
全
管
理–
授
权
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-36
5.2 数据库应用系统开发
一、计算模式
? 两层 C/S结构特点:具有较好的可伸缩
性和性价比;
? 客户机既要完成客户界面的表示逻辑,
又要完成应用的业务逻辑,称为, 胖,
客户机和, 瘦, 服务器的 C/S结构
客户机
( client)
网络 客户机( client) 数据库
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-37
三层 C/S结构特点
? 是一种逻辑功能结构
? 客户机只用于表示逻辑业务
客户机
( client)
DBMS服
务器
( Server)
数据库应用服务器( Appllicati
on)
任务:表示逻辑 任务:业务逻辑 任务:数据服务
实际实现时,几种服务器
可由一台机器来担任
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-38
B/S模式
? C/S模式的缺陷:客户端软件安装、维护、升级、发
布、用户培训等随规模扩大而困难;
? 利用因特网技术,浏览器与 Web服务器之间通过
HTTP协议通信,Web服务器与应用服务器之间采用
CGI/ISAPI/NSAPI等接口,应用服务器与 DBMS服
务器之间采用 ODBC/JDBC/OLE DB等接口完成数据
库操作;
? 客户端使用浏览器,通过 Web服务器下载应用服务器
上的应用,从而解决客户端软件安装、维护、升级、
发布、用户培训等问题。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-39
二、组件与分布式对象开发技术
? 1、组件技术 — 新一代软件技术的标志,是更
高层次的对象技术
? 特点,独立于语言,面向应用程序,只规定组
件的外在表现形式,不关心内部的实现方法,
只要遵循它的技术规范,各软件开发商就可以
用适合自己的语言去实现可复用的组件,应用
程序开发人员通过挑选和编制组件可组合新的
应用软件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-40
组件模型
? 组件模型由组件( component)和容器
(container)构成 ;
? 组件,具有某种功能的独立软件单元,具有可
复用(通用)的特性,通过接口向外界提供功
能入口(如浏览器、按钮)
? 容器:存放相关组件的器皿,用于安排组件,
实现组件间的交互(如表单、页面、框架等)
? 组件技术使组件所提供的功能能为多种系统使
用(复用),再就是使不同来源组件能相互协
调、通信,共同完成更复杂的功能。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-41
2、分布式对象技术
? 是组件技术的延伸,是一种具有分布特征的组件;
? 分布式对象存在于任何网络之中,可被远程客户
以调用方式访问;
? 客户不必关心分布式对象在网络中何处,以什么
语言创建,运行于何种操作系统;
? 三层 C/S结构系统中,应用分布于不同的系统平
台上,因而其系统开发中可大量使用分布式技术;
? 分布式对象技术使用较多的是 CORBA,COM,J2EE
等,其核心是一套标准的语言、接口和协议
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-42
三,CGI/ISAPI/NSAPI
? 1,CGI( Common Gateway Interface)
公共网关接口
? 是浏览器,Web服务器、应用服务器之间传递信
息的一组规范。主要功能为在 WWW环境下,客户
端通过填写 HTML表单、或单击服务器页面上的
超链接来启动指定 CGI程序,完成特定的工作。
? CGI一般是一种可执行程序,编译好后集中放在
一个目录下,可用 C/C++/Perl/VB等语言编写;
? CGI跨平台性好,几乎可在任何操作系统上实现
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-43
2,ISAPI
? ISAPI--Internet Server API,是微软为 IIS
服务器所提供的一种类似 CGI功能的网络应用
开发接口,能实现 CGI的所有功能并进行了扩
展;
? 支持的 ISAPI开发的平台有限,可用来开发语
言不如 CGI多;
? 与 CGI的区别在于,在 ISAPI下建立的应用程序
以 DLL形式存在,占用系统资源少、方便灵活;
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-44
3,NSAPI
? NSAPI— 是 Netscape公司开发的
ISAPI。
? 其功能类似 ISAPI,但必须在 Netscape
服务器上才可以执行;
? 优点是可以支持多种操作系统,如 Unix,
Windows NT,HP/UX等平台。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-45
四,SQL语言及其使用方式
? SQL语言 --结构化查询语言 Structured
Query Language (SQL) – 是标准的第四代语言,
是关系数据库管理系统()支持的数据库语言。
? RDBMS是目前数据库的主流
? 与 RDBMS交互两种方式:使用 SQL语句交互,通
过开发应用系统与 RDBMS交互;
? 由于 RDBMS只提供 SQL的接口,因此开发工具
(高级语言)也必须通过 SQL与 RDBMS交互,于
是出现将 SQL嵌入到高级语言中使用的, 嵌入式,
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-46
SQL语言与 ODBC/JDBC
? 1、为何要用 ODBC/JDBC
? 不同的 RDBMS支持的 SQL在功能、语法上存
在一定差异;
? 为消除差异,便于应用程序的移植和互操作,
需要一种采用标准 SQL语句的、访问 DB的
,中间件, ( Middleware) ;
? ODBC/JDBC就是为各种高级语言或应用系统
提供标准 SQL数据访问的中间件。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-47
2,ODBC
? ODBC—开放数据库连接
? 是微软提出的, 应用程序编程接口, 标
准,使得不同的数据源可以通过统一的
接口访问,应用程序也可通过 ODBC接
口连接并访问不同的数据源;
? ODBC采用四层体系结构,目的是达到
RDBMS平台的无关性。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-48
3,JDBC
? JDBC—是一种执行 SQL语句的 Java API,是
SUN公司针对 Java程序提出的,与数据库连
接的标准;
? JDBC保持了 ODBC的基本特征,不同的是基
于 Java语言的风格开发
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-49
5.3 数据模型
? 层次模型( Hierarchical Model)
数据库中的数据按 层次结构 的形式进行组织,
是一种以记录为节点的有向树。其节点间的联系有
以下特点:
( 1)有且仅有一个节点无父节点,这个节点称为根
节点;
( 2)其它节点有且仅有一个父节点;
( 3)上层节点与下层节点之间的联系是 1,n
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-50
层次模型
企业总部
部门 1 部门 2 部门 3 部门 n
科室 1 科室 n……
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-51
网状模型( Network Model)
网状模型中记录与记录之间的联系呈网状结构,
其特点如下:
( 1)有一个以上节点没有父节点;
( 2)一个节点可以有多于一个以上的父节点;
( 3)两个节点之间可以有一种或多种联系
教师 A 教师 B 教师 C 教师 D
项目 A 项目 B 项目 C
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-52
关系模型( Relational Model)
用一系列二维表存储信息的数据库模型 。 其特点如下:
( 1)一张二维表描述一种关系;
( 2) 一个关系包含一个特定实体类的信息
( 3)表中的每一列表示一个属性(字段或数据项);
( 4)表中的每一行称为一个元组(或记录),所有互相有
联系的元组的集合,构成一张表;
( 5)一个组织中若干个有联系的表有机地结合起来,构成
一个数据库。
( 6)结构简单清晰、具有统一的形式,易于处理
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-53
数据模型的三要素
? 数据结构,数据库中所研究的对象类型
( Object Type)的集合
? 数据操作,对各种对象类型的实例所允许
执行的操作的集合。
? 数据的约束条件,数据的完整性规则的集
合。 ( 完整性约束 用来规定信息的格式
和信息链接的逻辑关系,以保证数据库信
息质量 )
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-54
数据库三级组织结构
用户 A2
工作区
用户 A1
工作区
用户 B
工作区
外模式 A(子模式) 外模式 B(子模式)
模式(概念模式)
内模式(存储模式)
映射映射
映射
DBMS
三种模式通过 DBMS的
两种映射 实现
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-55
案例:一个影碟出租店的关系数
据库
? 实体类型 Entity classes有:
Customer(顾客),Video(影碟),
Video Rental(影碟租用), Distributor(分销商)
所有表通过 外键 建立关联。
?复合主键 Composite Primary Key---由多个 Field
构成 Primary Key
?原子主键 Atomic Primary Key---由一个 Field构成
的 Primary Key
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-56
Customer ID Name Tel Address
47857 Jake Stevens 237-6871 2352 8th Ave.
47952 Abigail Green 237-2310 124 Northland
67098 C.J.Smerud 239-7101 P.O.Box 124a
97832 Devin Cash 446-7987 1372 Lvanhoe
Customer 关系
CustomerID Video ID From To
97832 1111-2 3-11-97 3-13-97
47952 4371-1 4-14-97 4-17-94
47952 4781-2 4-14-97 4-17-94
Video Rental 关系
影碟出租店 的关系数据库模型
Primary key
Foreign key
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-57
Video ID Video Name Type Distributor IDDays Prices
1111-1 Tides Gone Bad Drama 457 2 $3.00
1111-2 Tides Gone Bad Drama 457 2 $3.00
2356-1 Horror Night Horror 235 2 $1.50
4371-1 The Alien Horror 381 2 $3.00
Video 关系
Distributor ID Distributor Name Distributor tel.
235 Hughes Films 800 234-8000
986 ABC Enterprises 212 543-9822
457 North Film Works 800 320-2000
381 NBC Capital 800 532-9721
Distributor 关系
影碟出租店 的关系数据库模型
Primary
key
Foreign
key
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-58
面向对象的数据库模型
The Object-Oriented (O-O) Database Model
? 对象 —包含了描述一个实体( Entity)所
需要的信息以及处理的过程(指令)
面向对象 =对象 +属性 +方法
特点:封装性、抽象性、继承性、动态链接性
? 考虑影碟出租店的 O-O database model。
? 对象 objects (实体类 entity classes),
Customer,Video Rental,Video,and
Distributor,包括信息及信息处理过程。
Customer Video Rental
Video Distributor
信息
顾客编号
姓名
电话
地址
程序
增加新顾客
获得顾客信息
改变地址
存储顾客信息
信息
顾客编号
影碟编号
租赁日期
归还日期
程序
登记新的租赁
计算租金
取消租赁关系
收回影碟
查看租赁信息
改变租赁日期
存储租赁信息
信息
经销商代码
姓名
电话
地址
程序
增加新经销商
获得经销商信息
改变地址 /电话
存储经销商信息
信息
影碟编号
影碟名字
类型
经销商
购买日期
价格
程序
增加新的影碟
订购影碟
获得影碟信息
改变天数
改变租金
存储影碟信息
关
联
关
系
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-60
5.4 数据库设计
3.数据库的逻辑设计
5.数据库的物理设计
2.概念数据库设计
1.需求分析
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-61
1.需求分析
? 调查信息要求
? 调查处理要求
? 安全和完整性要求
? 结构化分析 SA,自顶向下,逐层分解
? 数据流图 DFD( Data Flow Diagram)
? 处理过程的逻辑判断用 决策树 或 判定表
? 用 数据字典 对系统中数据详尽描述
表达
方法
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-62
2.概念结构设计
? 充分反映现实世界实体与实体联系
? 自顶向下,先定义全局概念结构再逐步细化
? 自底向上,先定义局部概念结构再综合集成
? 由里向外,先定义最重要的核心结构再向外扩充
? 混合策略,自顶向下和自底向上相结合
工具 ER图( ER模型,实体联系图)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-63
3.数据库的逻辑设计
规范化,将关系模式转化为某种范式的过程。 范式
( Normal Form),关系模式的规范形式,满足不同
程度要求的为不同范式。
? 1、建立初始逻辑模型 2、规范化
函数依赖,(关系中一切元组都要满足的约
束条件)
? 将 ER图向所选择的数据库模型转换
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-64
规范化 -把非规范化的关系模式转换成规
范化的关系模式的过程
? 第一范式( 1NF),关系中的每个属性都不
可分解。
? 第二范式( 2NF),在 1NF的基础上,每个非主
属性都完全函数依赖于主码。
? 第三范式( 3NF),在 2NF的基础上,每个非主
属性都不传递函数依赖于侯选码。
? 修正的第三范式( BCNF),比第三范式要求更
进一步
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-65
4、数据库的物理设计
案例:雇员分工的数据库设计
确定数据的存储结构(顺序、直接)
确定存取路径,能支持多个用户的多种应用
(提供多个存取入口)
把经常存取和不经常存取的数据分开,把易
变部分和稳定部份分开
确定存储分配(块长度和大小、缓冲区大小
和个数)
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-66
Emp
ID
Name Dept Dept
Sup
#Emp Job Job
Name
Hours Job Job
Name
Hours
1234 Jones 43 Halston 3 14 Acct 4 23 Sales 4
2345 Smith 15 Dallas 1 14 Acct 8
6548 Joslin 43 Halston 3 23 Sales 6 46 Admin 2
9087 Mills 43 Halston 3 23 Sales 5 14 Acct
8797 Jones 69 Irving 1 39 Maint 8 3
雇员分工报告样本
工作安排的规定,
每位职工只能够安排到一个部门,一个部门可以拥有许多个雇员
也可不安排任何雇员,每个雇员可被分派几项工作,一项工作也可给
多个雇员去共同完成,但并不一定每个雇员都分配给一项固定的工
作。
雇员人数
实
体
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-67
Step1 定义实体类和主键
Defining Entity Classes And Primary Keys
? 上表中,能识别出的 Entity classes,
Employee,Department,and Job。
? 现在为每一个 Entity class定义一个
Primary key,
?Employee entity class - Emp ID
?Department entity class - Dept
?Job entity class - Job
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-68
Step 2 定义实体类的关系
Defining Relationships Among Entity Classes
? 用实体联系图 Entity-Relationship (E-R)
Diagram,描述 entity classes 及其
relationships.
? 下图是对数据库的 Initial E-R diagram 和 E-
R diagram symbols 的 list
JobM:M
实体
多对多
选择关系
需求关系
E-R图的基本符号:
M,1
联系
多对 1 M,M 1,M 1对多
Employee DepartmentM:1
一个 Employee 必须指定给一个 Department。
一个 Employee 不能指定给一个以上的 Department。
一个 Department 可以有多个 Employees。
一个 Department 可以没有 Any Employees(雇员) 。
Employee DepartmentM:1
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-71
规范化 Normalization
? Normalization 包括如下 3 个步骤,
? 消除多对多关系中的重复组合
? 保证关系中的每个字段只依赖于主键
? 消除所有关系中的派生字段
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-72
Normalization的第一条规则是不能有
M:M Relationships 存在
? Employee 与 Job 之间存在这种关系,
? 通过创建 交叉关系 Intersection Relation来
消除 M:M。
? Intersection Relation 有一个 Composite
primary key,它由 两个 intersecting
relations 的主键组成。
? 本例中,创建了一个 intersection relation
Employee-Job, 以消除 M:M relationship.
1, M Employee-jobEmployee
M, M JobEmployee
M, 1 Job
交叉关系将 M:M转换成 1:M,M:1
主关键字是 EMP id+job
主关键字是 job
主关键字是 EMP id
主关键字是 EMP id
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-74
Step 3 定义每个关系的信息
Defining Information (Fields) For Each Relation
?遵循规范化规则 2 and 3.
?这里目标有两个,
?确认每个关系中所含的信息确实处于
正确的关系中。
?确认没有派生信息,
Employee关系, Emp ID,Name,Dept
Job关系, Job,Job Name
Department关系, Dept,Dept Sup
Employee-Job关系, Emp ID,Job,Hours
经
规
范
化
后
确
定
下
来
的
数
据
库
结
构
Employee关系, Emp ID,Name,Dept,Dept Sup
Job关系, Job,Job Name
Department关系, Dept,Dept Sup,#Emp
Employee-Job关系, Emp ID,Job,Hours
消除
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-76
Step 4 -利用数据定义语言创建数据库
Using A Data Definition Language To Create The
Database
? 实际地创建 1-3中定义的关系。
? 本步骤包括,
? 开发数据字典
Developing a data dictionary
? 定义各种关系
Defining the various relations
? 定义主键和联系
Defining primary keys and relationships
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-77
5.5 数据仓库和数据挖掘
数据仓库 Data Warehouse:
? 数据库的逻辑扩展。
? 支持 OLAP。
? 数据仓库的特征
? 综合不同数据库中的数据
? 是多维的 multidimensional
? 支持决策
地区
时间
产品
早期细节级 1985-1995销售明细表
当前细节级 1996-2002销售情况表
轻度综合级
1996-2002
每周销售表
高度综合级 1996-2002每月销售表
Data Warehouse的数据组织结构
全局
Data Warehouse
再抽取与合成
采购子系统 库存子系统销售子系统 财务子系统
Data Warehouse 与 Data Market(数据集市)
DatabaseDatabaseDatabaseDatabase
Data MarketData MarketData MarketData Market
数据抽取数据抽取数据抽取数据抽取
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-80
DSS对数据的要求
历史的
数据
内部各
部门的
数据
竞争对
手的数
据
外部环
境的数
据
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-81
企业目前的数据环境中存在的问题
应用分散
问题
―蜘蛛网,
问题
数据不一
致
外部和非
结构化问
题
数据动态
集成
历史数
据问题
数据的
综合
例:一家采用会员制经营的商场,面向应用建立起销售、
采购、库存管理以及人事管理子系统及各自的数据库模式
采购子系统:
订单(订单号、供应商号、总金额、日期 )
订单细则(订单号、商品号、类别、单价、数量)
供应商(供应商号、供应商名、地址、电话)
库存管理子系统:
领料单(领料单号、领料人、商品号、数量、日期)
进料单(进料单号、订单号、进料人、收料人、日期)
库存(商品号、库房号、库存量、日期)
库房(库房号、仓库管理员、地点、库存商品描述)
销售子系统:
顾客(顾客号、顾客名、性别、年龄、文化程度、住址、电话)
销售(员工号、顾客号、商品号、数量、单价、日期 )
人
事
管
理
子
系
统
:
员
工
(
员
工
号
、
姓
名
、
性
别
、
年
龄
、
文
化
程
度
、
部
门
号
)
部
门
(
部
门
号
、
部
门
名
称
、
部
门
主
管
、
电
话
)
1
2
库存管理子系统:
领料单(领料单号、领料人、商品号、数量、日期)
进料单(进料单号、订单号、进料人、收料人、日期)
库存(商品号、库房号、库存量、日期)
库房(库房号、仓库管理员、地点、库存商品描述)
3
4
如果只分析商品的采购渠道和销售
抽取出三个主题:供应商、商品、顾客
商品:
商品固有信息:商品号、商品名、类别、颜色等
商品采购信息:商品号、供应商号、供应价、供应日期、供应量
商品销售信息:商品号、顾客号、售价、销售日期、销售量
商品库存信息:商品号、库房号、库存量、日期
供应商:
供应商固有信息:供应商号、供应商名、地址、电话等
供应商品信息:供应商号、商品号、供应价、供应日期、供应量
顾客:
顾客固有信息:顾客号、顾客名、性别、年龄、文化程度、住址、电话
顾客购物信息:顾客号、商品号、售价、购买日期、购买量
有关各主题的
完整描述
例:在商品采购时的分析活动主要了解各供应商的情况,不需要订单、订单细则
等。因此 转变过程中丢弃了原来不必要的、不适于分析的信息
不同主题之间可能有重叠内容,表示主题之间有直接联系。但
只是逻辑上的重叠,不是数据内容物理上的重复存储。由于综
合方式不同重叠发生在细节级上。
商品:
商品固有信息:商品号、商品名、类别、颜色等
商品采购信息:商品号、供应商号、供应价、供应日期、供应量
商品销售信息:商品号、顾客号、售价、销售日期、销售量
商品库存信息:商品号、库房号、库存量、日期
供应商:
供应商固有信息:供应商号、供应商名、地址、电话等
供应商品信息:供应商号、商品号、供应价、供应日期、供应量
顾客:
顾客固有信息:顾客号、顾客名、性别、年龄、文化程度、住址、电话
顾客购物信息:顾客号、商品号、售价、购买日期、购买量
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-85
案例,1.数据仓库给 CVS开出良方
2,Moen公司董事长在哪儿签字?
Moen公司是一个拥有
6亿美元资产的管道设
备制造厂。一直依赖
IS取得销售趋势、客
户关系等方面书面报
告
现在董事长唯一的
问题是, 我该在哪
儿签字?,
? 通过数据仓库
可以分析出市
场销售情况
? 通过对信息的收集与
分析的结果可以帮助
公司做决策
医药公司 经营困难、经营费用高,
建立数据仓库使公司搜集削减费用
的重要信息是唯一出路;
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-86
案例:信息标准化才能保证质量
既可以保证各部门
OLTP的需要,也可以
满足各种 OLAP的需要。
由卫生署制定一套信息
标准化格式是唯一的解
决办法。
澳大利亚新南威尔士卫生
署发现,因地区不同和战
略不同需要的信息也不同
我国疾病和手术诊断等普遍采
用 ICD-9或 ICD-10国际标准,
但 没有一套按 HL7医疗信息标
准
病人 ID、各种诊疗和药
品等代码均是各自定义
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-87
联机分析处理 OLAP
OLAP是一门新兴的软件技术 。 通过
对多个角度观察某些指标值的变化,
找到它们的内在联系 。 专门用于支
持复杂的分析操作 。
多维数据分析是决策的主要
内容 。 观察的角度 称为 维 。
多维分析的基本动作, 切片,
切块, 钻入, 旋转
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-88
多维分析基本动作 —切片
产品维 产品维
切片
销售额 某时间上各地区产品分布情况
如 2000年 10月
不管原来的数据有多少维,切出的都应该是一个二维的平面
地区维 地区维
时间维
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-89
多维分析基本动作 —切块
产品维
地区维
时间维
产品维
地区维
切块
某时间段各地区产品销售情况
如 2000年
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-90
多维分析基本动作 —旋转
? 旋转将改变一个报告或页面的维方向,
其动作可以是交换行和列,或将某个行
维移到列维中去,或将正显示页面上的
一个维同页面外的维进行交换。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-91
产
品
维
地
区
维
旋转的基本动作 1
产品维 地区维
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-92
旋转的基本动作 2
地区 北京 上海
时间 产品 销售量 销售量
第一季度 …
第二季度 …
地区 北京 上海
时间 第一季度 第二季度 …
产品 …
… …
将行维换为列维
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-93
旋转的基本动作 3
产
品
维
地
区
维
时
间
维
时
间
维
地
区
维
产
品
维
旋转以改变页面显示
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-94
AI技术 统计技术 自动化分析 归纳推理
DatabaseDatabaseDatabase数据挖掘技术
Data Mining
OLAP与数据挖掘技术
潜在的模式 客户行为
Data Mining分析方法,
关联分析、分类分析、
聚类分析、因果关系分析
帮助决策
用户界面
Data Mining
分析方法
ODBC或其他 Database接口
Knowledge
Base
Open API
开放应用程序接口
Data
Warehouse Database
Files Other
Data Sources
Data Mining核心
Data Mining 系统结构
ODBC:
Open Database Connectivity
开放式数据库连接
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-96
SQL Server上一个数据仓库
和数据挖掘 示例
? foodMart(食品市场)
? 这个演示程序使用了一家假想的国际食品连锁
店 --FoodMart(食品市场),说明 Microsoft
SQL Server 2000 Analysis Services 怎样
工作。请安装 SQL Server 2000 的 Analysis
Services 及 English Query,看看当你要想知
道 FoodMart 的销售业务、促销活动、产品分
类和品牌、消费者和他们的收入、商店地点和
商店经理,.,时,如何使用多维模型进行分析,
写出演示过程和分析报告。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-98
5.6 分布式数据库
应用上的分布如
何解决?
物理上的分布如
何解决?
? DDBMS解决应用上的分布问题,物
理上的 分布 由网络解决。
特点
? 分布性:
? 逻辑整体性:
? 区域自治性:
? 结点透明性:
? 结点自主性
? 支持副本
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-99
分布式数据库分类( 四个角度)
? 第一角度:从构成的方式分为 同构 和 异构
同构型,所有节点的局部 DDBMS都支持同一种
数据模式和数据语言。 即自顶向下设计 。
DBMS1 DBMS i DBMS n…… ……
NDBMS1 NDBMS i NDBMS n…… ……
通信网络
用
户
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-100
异构型:
分布在各节点上的数据模型和数据语言可
能不同。 自底向上设计而成。
DBMS1 DBMS i DBMS n
NDBMS1
翻译功能
NDBMS I翻
译功能
NDBMS n翻
译功能
通信网络
用户
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-101
? 集中式,所有事务都由一台叫做中心计算机的
节点进行管理
第二角度:按控制方式分为集中
式和分布式
中
心
计
算
机
前端处理机
局部计算机
局部计算机
局部计算机
T
T
T
TT
T
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-102
分布式
每个节点都能保持 DDBMS的一个副本来监督和管理其它
节点及系统事务,网络目录被作为用户数据库存放于各局
部 DB中。
通讯网
局部计算机
局部计算机局部计算机
T T T
T T TTTT T
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-103
第三角度:从数据分布的角度分为分割式、
部分重复式和完全重复式
分割式:每个节点只存储 DDB的部分子集,各节点的副本互不
重叠。另两种可想而知。
DB
DB
DB
DDB
数
据 完全重复式
部
分
重
复
式
DB
DB
DB
DDB
分
割
式
DB
DB
DB
DDB
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-105
? 可靠性高:
? 结构灵活,易扩充:
分布式数据库系统优缺点
?一定条件下 系统性能高;
? 系统开销大
? 数据安全性难以保证。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-106
? 数据集中:
? 数据复制:
? 数据分片:
数据分布的几种设计策略
数据分片方式:
?水平分片
?垂直分片
?混合分片
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-107
5.7 结构化查询语言 SQL
结构化查询语言 Structured Query
Language (SQL) – 标准的第四代语言,
SQL语句在任何数据库环境中都相同。
除查询外还包含操纵、定义和控制四个方
面的功能
SQL常被嵌入到别的系统环境中。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-108
SQL命令
SQL命令包含三部分内容:
指定某些关系表作为命令的运算对象。
指定使用该命令所得数据形式。
指定对关系表进行何种运算,每个命
令均以, ;, 结束。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-109
建立表的 SQL命令
? 命令格式
CREATE TABLE 〈 表名 〉
(字段名 1,类型 [NOT NULL],
字段名2,类型[ NOT NULL],
……,);
说明:式中的方括号内表示可选择项,即方括号中参数可
以省略,而 NOT NULL则表示该字段的内容不得为空值。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-110
建立一个学生信息表
CREATE TABLE student
(S# CHAR(6),
SN CHAR(8),SD CHAR(8),
SA SMALLINT );姓名
学号
系名
年龄
表示半字长( 15位)的十进制整数。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-111
该命令建立了下面这张空表
S# SN SD SA
学号 姓名 系名 年龄
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-112
向表中输入数据的命令是:
INSERT INTO <表名 >
[(字段名1,字段名2,……) ]
VALUES (值1,值2,…..,值 n);
注:该命令相当于填表过程
例:插入一行数据( 980527,李常林,
数学系,21)到表中去。
INSERT INTO student
VALUES( 980527,李常林,数学系,21);
例:修改表结构,在原表中加入一个新
字段 SEX (性别) 。
ALTER TABLE student
ADD( SEX CHAR( 2));
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-114
该命令填写表的第一行数据
S# SN SD SA
980527 李常林 数学系 21
学号 姓名 系名 年龄
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-115
第二个命令增加了表右边一个空列
S# SN SD SA Sex
980527 李常林 数学系 21
学号 姓名 系名 年龄 性别
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-116
对已建好的表建立索引
CREATE UNIQUE INDEX <索引名 >
ON <表名 > (字段 1,字段 2,… )
[ASC/DSC];
例:对学生信息表以学号为关键字建立索引表 stn
CREATE UNIQUE INDEX stn
ON student ( S#);
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-117
删除表或索引表
DROP TABLE <表名 >;
例:删除索引表 stn
DROP TABLE stn;
修改表中数据
UPDATE <表名 >
SET 字段名 1=值 1/表达式 1,字段名 2=值 2/表达式 2,
……,字段名 n=值 n/表达式 n;
创建视图
CREATE VIEW <视图名 >
[(视图列名 1,视图列名 2,…… ) ]
AS SQL查询语句 [WITH CHECK OPTION];
用一个常量或表达式
的值去替换原来的值
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-119
把学生的学号及平均成绩抽取出来定
义为一个视图
CREATE VIEW S-G( S#,GAVG)
AS SELECT S#,AVG( G)
FROM SC GROUP BY S#;
式中,AVG是一个求平均值函数。 G为成绩字段名,
S#为学号,FROM 子句表示从 SC表中 以学号 S#分组 产
生一个查询结果,查询结果以 S#,GAVG为字段名放
入视图中。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-120
SQL查询语句 -- SQL的核心语句
SELECT 目标列
FROM 基本表名(或视图名)
[WHERE 条件表达式 ]
[GROUP BY 列名 1,[HAVING 内部函数表达式 ]]
[ORDER BY 列名 2,[ASC/DESC]];
empno name job sttm salary bonus dept
1334 王宏 部门经理 91/01/09 1800 600 10
1225 李明 部门经理 88/09/08 1650 560 20
1250 杨芳 工程师 85/10/20 1445 500 10
1315 李忠 总工程师 88/09/08 2200 800 10
1317 林之恿 销售员 85/10/20 1100 400 20
1319 李晓佳 销售员 88/09/08 1270 300 20
1320 章玲玲 工程师 85/10/20 1550 450 10
1321 袁也 部门经理 91/01/09 1680 550 30
职工号 姓名 职务 工作时间 工资 奖金 部门号
EMP—雇员信息表
dept deptname empno position
10 研究部 1334 北京
10 研究部 1250 上海
10 研究部 1315 广州
10 研究部 1320 广州
20 销售部 1317 北京
20 销售部 1319 上海
20 销售部 1225 上海
30 生产科 1321 北京
部门号 部门名称 职工号 所在地
部门信息表
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-123
查出 EMP中所有部门经理的职工号、姓
名、参加工作时间、工资
SELECT empno,name,sttm,salary
FROM emp WHERE job=― 部门经理”;
查表中职工的所有信息。
SELECT * FROM emp;
说明,*代表全部字段 。
要查的信息
查询条件
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-124
计算出 EMP表中各部门在 1985年 1月 1日以后
进入公司工作的职工的平均工资
SELECT AVG( salary),dept from emp
WHERE sttm>―#1985/01/01‖
GROUP BY dept;
所有的记录将按部门号分为三个组,然后对每个组求工资
平均值
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-125
嵌套查询
SELECT * FROM EMP
WHERE salary <
( SELECT AVG( salary)
FROM EMP));
查询在关系表 EMP中工资额低于全部职
工平均工资的职工
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-126
小结
? 如何浏览信息,
? 信息的物理视图解决信息如何在二级存储器
上物理地组织、存储、访问的问题。
? 逻辑视图解决你需要如何组织信息、访问信
息以满足你特定的商业需要的问题,
? 数据库根据信息的逻辑结构组织访问的
信息的集合。
? 数据字典包含数据库信息的逻辑结构。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-127
小结
? A DataBase Management System是确定数
据库逻辑结构及对数据库访问的软件。
? 流行的 Database Models 有 Relational
Model 和 Object-Oriented Model.
? 开发 Personal Database Application的步骤:
? 定义 and primary keys
? 定义实体类的联系 entity classes relationships
? 定义每个关系的 information (fields)
? 用数据定义语言 data definition language( DDL)
创建数据库 database。
第五章 数据库与数据仓库 经济管理学院 何耀琴 5-128
小结
? Data Warehouses是来自许多不同业务
数据库的信息的逻辑集合,支持企业的分
析和决策活动。
? Data Mining Tools用于查询数据仓库中
的信息的软件工具,包括 Query-and-
Reporting Tools,Intelligent Agents,
and MultiDimensional Analysis (MDA)
Tools。