第三篇 数据库技术数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志第三篇 数据库技术
第一章 数据库概述
第二章 关系数据库
第三章 关系数据库标准语言 SQL
第四章 关系数据库设计
第五章 数据库应用系统的设计与实现数据库举例例子 1,Mary Richards 房屋粉刷
个体户
单用户数据库
3张表 (顾客,业务,信源 )
需要数据,
记录和跟踪她的业务记录
记录报价估计
跟踪相关信源
提供邮寄标签
建立输入窗体
输出报表
Mary Richards的表信源顾客业务数据库举例例子 2 Treble Clef Music(乐器出租店)
多用户数据库 在局域网(店经理、销售员)
3张表 (客户,乐器,租赁 )
需要数据,
跟踪乐器租赁
处理多客户同时租赁同一件乐器客户窗体 1——维护客户数据租赁协议窗体 2——记录租赁情况乐器窗体 3——乐器数据及租赁历史
使 用者想要到看的是报告,窗体和查询结果
而不是 简单的数据 。
目标:了解并掌握设计和创建上述类似的数据库和应用程序的基本方法。
第一章 数据库概述
1.1 数据管理技术的产生和发展
1.2 数据库系统简介
1.3 常用数据模型
1.4 数据库应用结构
1.1 数据管理技术的产生和发展
什么是数据管理
对数据进行分类,组织,编码,存储,检索和维护,
是数据处理的中心问题
数据管理技术的发展过程
人工管理阶段 (40年代中 --50年代中 )
文件系统阶段 (50年代末 --60年代中 )
数据库系统阶段 (60年代末 --现在 )
应用程序与数据的对应关系 (人工管理 )
应用程序1 数据集1
应用程序2 数据集2
应用程序n 数据集 n
...…,..…
人工管理
应用程序,数据不保存
无直接存取存储设备
没有操作系统文件处理系统
数据冗余度大
数据文件间是独立的
重复的
程序与数据不独立
例身份证号位数扩大
数据的不完整性应用程序与数据的对应关系 (文件系统 )
缺乏对数据有效统一的控制数据可长期保存应用程序,DBMS,DB的对应关系 (数据库系统 )
数据库系统( DBS)
特点:
数据是集成的数据冗余少程序 /数据独立性易于提供安全保障容易提供符合用户不同要求的信息 。
高级语言中嵌入数据库的操作提供数据库语言,
完成数据的定义和访问数据库系统的构成
1.2 数据库系统简介一、数据库
数据库:是自描述的集成记录的集合。
用户数据(用户的表)
元数据(关于结构的描述)
应用元数据(窗体、查询、报表等应用组件)
索引信息用户数据:大多数数据库把用户数据表示为关系。
列:属性,行:对应业务环境中实体的记录元数据:关于结构的描述客户窗体 1——维护客户数据应用元数据:窗体、报表、查询等应用组件二、数据库管理系统( DMS)
设计工具子系统
产生表、窗体、查询、报表的工具
提供编程语言和对编程语言的接口
运行子系统
处理用设计工具开发的应用组件
例:在运行期打开窗口时,自动将数据从表中提出,并显示在窗体上。
DBMS引擎
从上两个组件接受请求(根据表、行和列声明),并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。
三、创建数据库 表:用表存储数据数据库模式定义了数据库的结构、表、关系、域和业务规则。
数据库模式是一种设计,数据库和应用正式建立在此基础上的。
一个模式的例子:
学生 (学号,姓名,所在系 )
系 (所在系,系主任姓名 )
两个表:
联系,系 —— 学生 1对多 1,n
域:是一列可以拥有的集合。
业务规则:反映在数据库和数据库应用程序中的业务活动的约束例:学号唯一性。
创建表定义联 系四,应用组件 ( Components of Applications)
Forms,用窗体查看、添加和更新表中的数据。
Queries,用查询查找和检索所需的数据。
Reports,用报表以特定的版式分析或打印数据。
Menus,用菜单组织应用组件。
Application Programs:可用特定于
DBMS的语言编写( SQL),也可通过预定义的编程接口的标准语言 (如,VB)编写。
A Browser Data Entry Form
窗体 Forms
用窗体查看、添加和更新表中的数据。
1,图形元素(如线条、矩形)存储在窗体的设计中。
2,来自基础记录源中的字段。
3,计算结果来自存储在报表设计中的表达式。
4,说明性文本存储在窗体的设计中。
用窗体查看、添加和更新表中的数据。
窗体 Forms
查询 Queries
A Query in Microsoft Access
用查询查找和检索所需的数据。
报表 Report
A Report in Microsoft Access
用报表以特定的版式分析或打印数据菜单 Menu
A Menu in Microsoft Access
用菜单组织应用组件
1.3 数据模型
在数据库中用数据模型这个工具来 抽象、表示和处理 现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟
数据模型应满足三方面要求
能比较 真实 地模拟现实世界
容 易 为人所 理解
便于在计算机上 实现数据模型 (续 )
数据模型分成两个不同的层次
(1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。
(2) 数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模 。
数据模型 (续 )
客观对象的抽象过程 ---两步抽象
现实世界中的客观对象抽象为概念模型;
把概念模型转换为某一 DBMS支持的数据模型 。
概念模型是现实世界到机器世界的一个中间层次 。
数据模型 (续 )
数据建模,根据用户的数据视图建立系统模型的过程
常用的数据建模工具:
实体-联系( E-R)模型
语义对象模型
数据模型三要素:
数据结构数据操作完整性约束
1976年提出
1988年提出对象数据类型的集合,记录、
数据项和类型各种对象的实例数据允许执行的操作的集合完整性规则的集合
1.3.1 数据模型
非关系模型
层次模型( Hierarchical Model)
数据结构:树
网状模型 (Network Model )
数据结构:图
关系模型 (Relational Model)
数据结构:表
面向对象模型 (Object Oriented Model)
数据结构:对象一、层次模型
层次模型:一棵倒置的树北京航空航天大学飞机系 制造学院 电子工程学院 飞行学院机械制造 自动机械 计算机 电子工程一班 二班 一班 二班 一班 二班 一班 二班校院系班三班层次数据模型的数据结构层次模型的优缺点
优点
层次数据模型简单,对具有一对多的层次关系的部门描述自然,直观,容易理解
性能优于关系模型,不低于网状模型
层次数据模型提供了良好的完整性支持
缺点
多对多联系表示不自然
对插入和删除操作的限制多
查询子女结点必须通过双亲结点
层次命令趋于程序化典型的层次数据库系统,IMS数据库管理系统
特点:
是一个数据结点有不止一个父结点学校领导 教授 协会理事张先生研究生二,网状数据模型网状数据模型的数据结构网状模型的优缺点
优点
能够更为直接地描述现实世界,如一个结点可以有多个双亲
具有良好的性能,存取效率较高
缺点
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
DDL,DML语言复杂,用户不容易使用典型的网状数据库系统,DBTG系统
关系模型:
关系数据形式上是一个二维表( table),表描述了一类应用对象的实例状态,表中的数据要满足完整性约束要求班级 姓名 性别 出生年月 学号
3 8 0 6 0 1 张三 男 1 9 8 0 / 7 8 3 0 7 2 1
3 8 0 6 0 1 李四 男 1 9 7 9 / 1 2 8 3 0 7 2 2
3 8 0 6 0 1 赵五 男 1 9 8 0 / 3 8 3 0 7 2 3
3 8 0 6 0 1 王英 女 1 9 8 0 / 9 8 3 0 7 2 4
3 8 0 6 0 1 刘六 男 1 9 8 0 / 2 8 3 0 6 2 5
3 8 0 6 0 1 陈苹 女 1 9 7 9 / 1 0 8 3 0 6 2 6
关系型数据库实例--学生花名册三、关系数据模型关系数据模型的数据结构 (续)
关系必须是规范化的,满足一定的规范条件最基本的规范条件,关系的每一个分量必须是一个不可分的数据项 。
工 资 扣 除职 工号姓名职称 基 本 工 龄 职 务 房 租 水 电实发
86051 陈 平 讲 师 105 9,5 15 6 12 115,5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
关系模型的优缺点
优点
建立在严格的数学概念的基础上
概念单一 。 数据结构简单,清晰,用户易懂易用
实体和各类联系都用关系来表示 。
对数据的检索结果也是关系 。
关系模型的存取路径对用户透明
具有更高的数据独立性,更好的安全保密性
简化了程序员的工作和数据库开发建立的工作
缺点存取路径对用户透明导致 查询效率 往往不如非关系数据模型典型的关系数据库系统 ORACLE,SYBASE,INFORMIXDB/2,SQL Server,ACESS
四,对象模型
对象模型,
以对象模型组织的数据库叫面向对象数据库
对象,
封装了数据和操作,子对象继承父对象的数据和操作,类对象定义封装和继承的形式,每个实例对象只存储各属性的数据,当向该实例对象发消息时,
根据实例对象查出其类对象,从中找出方法并检查无误后以实例对象的数据处理该消息。
对象式数据库的特性:
检索效率高、自然合理
1.3.2 概念模型
概念模型的用途
概念模型用于信息世界的建模
是现实世界到机器世界的一个中间层次
是数据库设计的有力工具
数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求
较强的语义表达能力,能够方便,直接地表达应用中的各种语义知识
简单,清晰,易于用户理解 。
一、信息世界中的基本概念
(1) 实体( Entity)
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念 。
(2) 属性( Attribute)
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
(3) 码( Key)
唯一标识实体的属性集称为码。
(4) 域( Domain)
属性的取值范围称为该属性的域 。
(5) 实体型( Entity Type)
用实体名及其属性名集合来抽象和刻画。同类实体称为实体型
(6) 实体集( Entity Set)
同型实体的集合称为实体集
(7) 联系( Relationship)
现实世界中 事物内部以及事物之间的联系 在信息世界中反映为 实体内部的联系和实体之间的联系
一个课程关系的例子课程号 课程名 授课学时 授课学期
J 0 0 1 数据库 72 6
J 0 0 3 C 程序设计 54 2
Z 0 0 4 操作系统 72 5
Z 0 0 6 编译原理 72 6
X 0 0 1 数值分析 54 3
X 0 0 2 面向对象 36 4
四个属性六个元组候选码主码或关键字 ( Key)或 主 码,唯一标识实体的属性集称为 关键字 。
实体所具有的某一特性称为 属性
主码 是由现实世界的实际情况决定的。
数据库开发者必须通过了解用户的实际情况来决定哪些属性可做主关键字学号 课程 学分 学号 课程 学分
1 0 0 人工智能 3 1 0 0 人工智能 3
1 2 5 文化学 2 1 0 0 市场营销 2
1 5 0 市场营销 2 1 2 5 文化学 2
1 7 5 人工智能 2 1 5 0 市场营销 2
1 9 0 文化学 2 1 5 0 法律 2
图 1 0,1 8,选课”关系 1 7 5 人工智能 3
1 7 5 文化学 4
1 9 0 文化学 4
选课关系 主关键字为两个属性的关系属性主码 属性主码主码联系的表示方法示例班级班级 -班长班长
1
1
1:1联系课程选修学生
m
n
m:n联系班级组成学生
1
n
1:n联系两个实体型间的联系联系的表示方法示例 (续 )
职工领导
1 n
同一实体型内部的 1:n联系课程讲授教师
1
m
多个实体型间的 1:n联系参考书
n
二,概念模型的表示方法
概念模型的表示方法很多
实体-联系方法 (E-R方法 )
用 E-R图来描述现实世界的概念模型
E-R方法也称为 E-R模型
E-R图
实体型
用矩形表示,矩形框内写明实体名。
学生 教师
E-R图 (续 )
属性
用椭圆形表示,并用无向边将其与相应的实体连接起来学生学号 年龄性别姓名
E-R图 (续 )
联系
联系本身,用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1:1,1:n或 m:n)
联系的属性,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来课程选修学生
m
n
成绩联系属性的表示方法
1.4 数据库应用结构数据库系统外部的体系结构从 数据库最终用户 角度看
单用户结构
多用户结构
集中式结构
分布式结构
客户 /服务器结构 ( C/S)
浏览器 /服务器结构 ( B/S)
一,单用户应用结构
整个数据库系统 (应用程序,DBMS,数据 )
装在一台计算机上,为一个用户独占,
不同机器之间不能共享数据 。
早期的最简单的数据库系统二、多用户结构 ——集中式应用结构
一个主机带多个终端的多用户结构
数据库系统,包括应用程序,DBMS,数据,都集中存放在主机上,所有处理任务都由主机来完成
各个用户通过主机的终端并发地存取数据库,共享数据资源三、多用户结构 ——分布式结构
数据库中的数据在 逻辑上是一个整体,但 物理地分布 在计算机网络的不同结点上 。
优点
适应了地理上分散的公司,团体和组织对于数据库应用的需求 。
缺点
数据的分布存放给数据的处理,管理与维护带来困难 。
当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约 。
浏览器 /服务器 (B/S)结构
客户机端仅安装通用的浏览器软件实现同用户的输入 /输出,而应用程序在服务器端安装和运行。
服务器端,除了有 DB服务器保存数据并运行基本的 DB操作外,还有称作应用服务器的服务器来处理客户端提交的处理要求。即
C/S结构中客户端运行的程序转移到了应用服务器中。
应用服务器充当客户机与 DB服务器的中介,架起用户界面同 DB之间的桥梁,故也称为三层结构。
四,多用户结构 ——客户/服务器( C/S)结构
把 DBMS功能和应用分开
服务器:网络中某个 ( 些 ) 结点上的计算机专门用于执行 DBMS功能,称为 数据库服务器,简称服务器
客户端,其他结点上的计算机安装 DBMS的外围应用开发工具,用户的应用系统,称为 客户机 ( 客户端 )
请求结果主流的产品,
SQL Server,Sybase、
Oracle,Informix和 IBM
的 DB2
客户/服务器结构的优点
客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著 减少了数据传输量
数据库更加开放
客户与服务器一般都能在多种不同的硬件和软件平台上运行
可以使用不同厂商的数据库应用开发工具客户/服务器结构的缺点
,胖客户,问题:
系统安装复杂,工作量大 。
应用维护困难,难于保密,造成 安全性差 。
相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大 浪费了系统资源 。
五,多用户结构 ——浏览器 /服务器 (B/S)结构浏览器 /WWW服务器 /数据库服务器结构示意图
实现三层结构的软件:
客户端,实现同用户的输入 /输出 (,瘦客户,)
例:浏览器 Microsoft IE
应用服务器,应用服务器的服务器来处理客户端提交的处理要求
例,Web服务器有 Microsoft的 IIS( Internet Information Server) 等
DB服务器,保存数据并运行基本的 DB操作
例:数据库有 Microsoft SQL Server等都可作为服务器端的 DBMS
W W W 服务器数据库服务器 数据库浏览器提出请求
HT ML 形式数据请求返回结果小结
数据库系统构成,( DBMS,DB,应用程序,开发及使用人员 )
数据库的特点,( 自描述的,集成记录的集合 )
模型,( 对现实世界的模拟 )
数据模型:面向计算机系统 ( 关系,层次,网状,对象 )
概念模型:面向用户
数据建模,建立概念模型的过程
实体 -联系 ( E-R) 模型,语义对象模型
数据模型三要素:
数据结构,数据操作,数据完整性约束
数据库应用结构
单用户结构,集中式结构,分布式结构,客户 /服务器结构 ( C/S),
浏览器 /服务器结构 ( B/S)