WEB数据库原理与应用学习情境2.docx
- 文档编号:28365955
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:53
- 大小:1.07MB
WEB数据库原理与应用学习情境2.docx
《WEB数据库原理与应用学习情境2.docx》由会员分享,可在线阅读,更多相关《WEB数据库原理与应用学习情境2.docx(53页珍藏版)》请在冰豆网上搜索。
WEB数据库原理与应用学习情境2
学习情境2数据库基本原理
情境描述:
本情境主要让学生掌握数据库的基本知识,熟悉数据库与数据库管理系统,能够设计数据库系统。
熟悉数据库规范化理论,和建模工具安装与使用,为后面的学习打下基础。
本情境参考学时10学时。
教学目标:
1、能力要求
◆能够用数据库的思想来分析问题。
◆结合实际需要,对数据库进行规范化设计。
◆能够使用数据库建模工具PowerDesigner,建立数据模型。
2、知识目标
◆熟悉数据和数据模型。
◆掌握关系数据库及其相关概念
◆熟悉数据库规划化理论
◆掌握数据库模型工具安装及其数据建模工作
3、素质目标
◆锻炼学生自主学习、举一反三的能力。
◆培养学生分析电子商务项目的能力。
工作任务:
任务1数据和数据模型
任务2数据库与数据库管理系统
任务3关系模型与关系数据库
任务4关系数据库规范化理论
任务5关系数据库的设计
任务6数据库设计举例
任务7数据库建模工具
任务8练习与实践
教学策略与教学方法总体考虑
讲授法、案例驱动法、现场演示法
教学手段
多媒体课件、案例、实训
设备、工具和材料
计算机,因特网,PowerDesigner12数据库建模软件,Visio2003对象建模软件
教学效果评价
课堂提问(10%)、作业(20%)、任务考核(40%)、实训(30%)
参考资料
(美)JeffreyD.Ullman.数据库系统实现(第2版).北京:
机械工业出版社
崔巍.数据库应用与设计.北京:
清华大学出版社
任务1数据和数据模型
通过本任务的学习,熟悉数据和数据模型的基本概念,能够分析数据模型和关系数据模型。
活动1信息与数据的描述
通常说,信息是用来反映客观世界中各种事物状态及状态变化方式的一种抽象,是经过加工的有意义的数据。
而数据是对客观事物记录下来的事实,是信息的具体反映,可以被收集、存储、处理(加工、分类、计算等)、传播和使用。
从计算机的角度来看,所谓数据是指一切能被计算机存储和处理,反映客观实体信息的物理符号,如数字、文字、表格、图形,以及声音、图像和动画等。
数据处理是指对数据的分类、组织、编码、存储、检索和维护一系列活动的总和,其目的是从大量原始的数据中提取、推导出对人们有价值的信息以作为管理者行动和决策的依据。
在数据处理中,数据描述将涉及不同的范畴,从客观事物的特性到计算机中的数据表示,经历了三个领域:
现实世界、信息世界和机器世界。
现实世界是存在于人们头脑之外的客观世界。
在现实世界中,一个实际存在可以相互识别的事物称为个体,如一个学生、一台电脑、一座仓库等。
每个个体都具有自己的具体特征值,如某一个学生叫张山,男,20岁,计算机应用专业等。
相同性质的同一类个体的集合叫总体,如所有的学生是一个总体。
并且,每个个体总有一个或几个特征项的组合,根据它们的不同取值,可以将这类事物集合中的某一个具体事物区别开来,这样的特征项的组合叫做标识特征项。
信息世界是现实世界在人们头脑中的反映,又称为“观念世界”,人们通常用文字和符号将它们记载下来。
人们对观察到的现实世界进行综合分析,形成一套对应的概念,即进入了信息世界。
在信息世界中,将现实世界中的个体叫做实体,总体称为实体集,个体的特征项称为属性。
每个属性所取值的变化范围称为该属性的值域(Domain),其类型可以是整型、实型、字符串型等,如学生有学号、姓名、年龄等属性,相应的值域可为字符串型、字符串型和整型。
而其中能惟一标识每个实体的一个属性或一组属性称为实体标识符,如学生的学号可以作为学生实体标识符。
机器世界是信息世界的信息在计算机中的数据存储形式,又称为“数据世界”。
无论是何种类型的属性,在计算机中都以二进制数的形式表示。
在机器世界中,标记信息世界中实体属性的命名单位称为字段或数据项,字段的有序集合称为记录,它能完整地描述一个实体。
同一类记录的汇集称为文件,它能描述一个实体集的所有记录。
而能惟一标识文件中每个记录的字段或字段集称为关键码,它对应于实体标识符。
活动2数据联系的描述
现实世界中的事物是相互联系的,这种联系反映到信息世界中成为实体间的联系。
实体间的联系有两类:
一类是实体集内部各属性之间的联系,反映在数据上是同一记录内部各字段间的联系,如在“学生”实体集的属性组(学号、姓名、年龄等)中,一旦学号被确定,则该“学号”对应的学生“姓名”、“年龄”等属性也就被惟一确定了;另一类是实体集与实体集之间的联系,反映在数据上是记录之间的联系。
下面重点讨论实体集之间的联系。
两个不同实体集的实体间联系有以下三种情况:
(1)一对一联系:
如果实体集A中每个实体至多和实体集B中一个实体有联系,反之亦然,则称实体集A和实体集B具有“一对一联系”,记为1:
1。
如“学生”实体集与“教室座位”实体集间的联系。
(2)一对多联系:
如果实体集A中每个实体与实体集B中N(N≥0)个实体有联系,而实体集B中每个实体至多和实体集A中一个实体有联系,则称实体集A和实体集B具有“一对多联系”,记为1:
N。
如“班级”实体集与“学生”实体集间的联系。
(3)多对多联系:
如果实体集A中每个实体与实体集B中N(N≥0)个实体有联系,而实体集B中每个实体也与实体集A中M(M≥0)个实体有联系,则称实体集A和实体集B具有“多对多联系”,记为M:
N。
如“学生”实体集与“课程”实体集间的联系。
上面三种联系是实体集之间最基本的联系,类似地,也可以定义多个实体集(三个或三个以上)之间的各种联系。
活动3关系数据模型
数据模型是对现实世界的抽象,是一种表示客观事物及其联系的模型。
根据模型应用的不同目的,可将数据模型分为两类:
一是概念数据模型,一是结构数据模型。
前者是按用户的观点对数据建模,后者是按计算机系统的观点对数据建模。
概念数据模型用于信息世界的建模,它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的语言,其数据结构不依赖于具体的计算机系统,目前常用“实体-联系(Entity-Relationship)”方法(简称为E-R方法)来建立此类模型。
结构数据模型用于机器世界的建模,它是现实世界的第二层抽象,这类模型要用严格的形式化定义来描述数据的组织结构、操作方法和约束条件,以便于在计算机系统中实现。
而按数据组织结构及其之间的联系方式的不同,常把结构数据模型分为层次模型、网状模型、关系模型和面向对象模型四种。
其中关系模型的存储结构与人们平常使用的二维表格相同,容易为人们理解,已成为目前数据库系统中流行的数据模型。
关系数据模型是以集合论中的关系(Relation)概念为基础发展起来的数据模型。
它把记录集合定义为一张二维表,即关系。
表的每一行是一条记录,表示一个实体;每一列是记录中的一个字段,表示实体的一个属性。
关系模型既能反映实体集之间的一对一联系,也能反映实体集之间的一对多和多对多联系。
如表2-1、表2-2和表2-3就构成了一个典型的关系模型实例。
表2-1客户基本情况表
客户编号
客户姓名
姓别
出生日期
VIP客户类型
地址
联系电话
张山
男
08/28/84
VIP1
苏州
武云峰
男
05/02/83
VIP2
北京
孙玉风
女
12/10/84
VIP2
南京
王加玲
女
10/08/84
VIP1
上海
周云天
男
01/02/82
VIP0
无锡
东方明亮
女
05/01/83
VIP3
郑州
张洁艳
女
06/30/82
VIP1
长沙
表2-2客户订单表 表2-3商品信息表
订单编号
下单日期
客户编号
商品编号
订单金额
商品编号
商品名称
价格
10001
2010/01/08
30311
956.33
30311
花花公子
206
10002
2009/12/11
30311
20976
30312
经典羽绒服
899
10003
2001/03/21
30001
300
30313
黑色格子长袖
120
20001
2010/4/24
10001
20
30314
绣花休闲衬衫
388
20002
2009/07/16
30002
63.2
30315
真丝吊带裙
98
30001
2008/08/18
30001
99.8
10116
高级西装
999
30002
2010/05/01
10002
100.2
10117
秋冬新款
600
任务2数据库与数据库管理系统
本任务主要学习数据库系统和数据库管理系统的基本概念和,掌握数据库系统体系结构,熟悉数据操作语言和数据定义语言的基本概念,学习关系模型数据库概念与设计思想,和关系模型中键值的概念。
活动1数据库及数据库系统
1、数据库
数据库(Database,简称DB)可以直观地理解为存放数据的仓库。
但严格地说,数据库是按一定的数据模型组织,长期存放在某种存储介质上的一组具有较小的数据冗余度和较高的数据独立性、安全性和完整性,并可为多个用户所共享的相关数据集合。
通常这些数据是面向一个单位或部门的全局应用的。
在计算机中,数据库是由很多数据文件及相关的辅助文件所组成,这些文件由一个称为数据库管理系统(DatabaseManagementSystem,简称DBMS)的软件进行统一管理和维护。
数据库中除了存储用户直接使用的数据外,还存储另一类“元数据”,它们是有关数据库的定义信息,如数据类型、模式结构、使用权限等,这些数据的集合称为数据字典(DataDictionary,简称DD),它是数据库管理系统工作的依据,数据库管理系统通过DD对数据库中的数据进行管理和维护。
2、数据库系统
数据库系统(DatabaseSystem,简称DBS)是指具有管理和控制数据库功能的计算机应用系统,主要包括计算机支持系统、数据库(DB)、数据库管理系统(DBMS)、建立在该数据库之上的应用程序集合及有关人员等组成部分。
(1)计算机支持系统:
主要有硬件支持环境和软件支持系统(如DBMS、操作系统及开发工具)
(2)数据库:
按一定的数据模型组织,长期存放在外存上的一组可共享的相关数据集合。
(3)数据库管理系统:
为一个管理数据库的软件,简称DBMS,它是数据库系统的核心部件。
(4)数据库应用程序:
指满足某类用户要求的操纵和访问数据库的程序。
(5)人员:
数据库系统分析设计员、系统程序员、用户等。
而数据库用户通常又可分为两类:
一类是批处理用户,也称为应用程序用户,这类用户使用程序设计语言编写的应用程序,对数据进行检索、插入、修改和删除等操作,并产生数据输出;另一类是联机用户,或称为终端用户,他们使用终端命令或查询语言直接对数据库进行操作,这类用户通常是数据库管理员或系统维护人员。
3、数据库系统的体系结构
数据库系统的体系结构是数据库系统的一个总的框架,虽然实际的数据库系统种类各异,但它们基本上都具有三级模式的结构特征,即:
外模式(ExternalSchema)、概念模式(ConceptualSchema)和内模式(InternalSchema)。
这个三级结构有时也称为“数据抽象的三个级别”,在数据库系统中,不同的人员涉及不同的数据抽象级别,具有不同的数据视图(DataView),如图2-1所示。
外模式:
又称用户模式,是数据库用户看到的数据视图。
概念模式:
又称逻辑模式,简称模式,是数据库中全体数据的整体逻辑结构的描述,是所有用户的公共数据视图。
内模式:
又称存储模式,是对数据库中数据的物理结构和存储方式的描述。
数据库系统的三级模式结构是对数据的三个抽象层次,它把数据的具体组织留给DBMS去管理,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,从而减轻了用户使用系统的负担。
为了实现这三个抽象层次的联系和转换,数据库系统在这三级模式中提供了两级映象:
模式/内模式映象:
用于定义概念模式和内模式间的对应关系。
当内模式(即数据库的存储设备和存储方式)改变时,模式/内模式映象也要作相应的改变,以保证概念模式保持不变,从而使数据库实现物理数据独立性。
外模式/模式映象:
用于定义外模式和概念模式间的对应关系。
当概念模式改变(如增加数据项)时,外模式/模式的映象也要作相应的改变,以保证外模式保持不变,从而使数据库实现逻辑数据独立性。
正是由于数据库系统的三级结构间存在着两级映象功能,才使得数据库系统具有较高的数据独立性:
逻辑数据独立性和物理数据独立性。
另外,需要说明的是,上述数据库系统的三级模式结构是从数据库管理系统的角度来考察的,这是数据库系统内部的体系结构;如果从数据库最终用户的角度看,数据库系统的结构则可分为集中式结构、分布式结构和客户/服务器结构,这是数据库系统外部的体系结构。
活动2数据库管理系统
数据库管理系统(DBMS)是一个在特定操作系统支持下、帮助用户建立和管理数据库的系统软件,它能有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。
它把用户程序的数据操作语句转换成对系统存储文件的操作;它又像一个向导,把用户对数据库的一次访问,从用户级带到概念级,再导向物理级。
它是用户或应用程序与数据库间的接口。
DBMS的主要功能包括:
(1)数据定义功能
DBMS提供了数据定义语言(DDL),数据库设计人员通过它可以方便地对数据库中的相关内容进行定义。
例如,对数据库、表、索引及数据完整性进行定义。
(2)数据操纵功能
DBMS提供了数据操纵语言(DML),用户通过它可以实现对数据库的基本操作。
例如,对表中数据的查询、插入、删除和修改。
(3)数据库运行控制功能(保护功能)
这是DBMS的核心部分,它包括并发控制(即处理多个用户同时使用某些数据时可能产生的问题)、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(例如,索引的自动维护)等。
所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性以及多个用户对数据库的并发使用。
(4)数据库的建立和维护功能
数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等。
这些功能通常是由一些实用程序完成的。
它是数据库管理系统的一个重要组成部分。
数据库管理系统主要由数据库描述语言及其编译程序、数据库操作语言及其翻译程序、数据库管理和控制例行程序三部分组成。
数据库描述语言及其编译程序主要完成数据库数据的物理结构和逻辑结构的定义,数据库操作语言及其翻译程序完成数据库数据的检索和存储,而管理和控制例行程序则完成数据的安全性控制、完整性控制、并发性控制、通信控制、数据存取、数据修改以及工作日志、数据库转储、数据库初始装入、数据库恢复、数据库重新组织等公用管理。
前已述及,数据库中的数据是根据特定的数据模型来组织和管理的,与之对应地,数据库管理系统总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。
根据数据模型的不同,DBMS可以分为层次型、网状型、关系型和面向对象型等,如利用关系模型建立的数据库管理系统就是关系型数据库管理系统。
目前商品化的数据库管理系统主要为关系型的,如大型系统中使用的Oracle、SQLServer、MySQL及PC机上使用的Access、MySQL、Oracle及SQLServer系列产品。
需要说明的是,在不同的计算机系统中,由于缺乏统一的标准,即使同一种数据模型的DBMS,它们在用户接口、系统功能等方面也常常是不相同的。
任务3关系模型与关系数据库
本任务是掌握关系模型和关系数据库的基本概念,学习关系模型的三类完整性规则。
活动1关系模型的基本概念
关系模型是关系数据库的基础。
关系模型由关系数据结构、关系操作集合和完整性约束三部分组成。
1.关系数据结构
在关系模型中,无论是实体集还是实体集之间的联系均由单一的结构类型“关系”来表示。
在用户看来,其数据的逻辑结构就是一张二维表,表的每一行称为一个元组,每一列称为一个属性。
而在支持关系模型的数据库物理组织中,二维表以文件的形式存储,所以其属性又称为列或字段,元组又称为行或记录。
尽管关系与二维表格、传统的数据文件有类似之处,但它们又有区别。
严格地说,关系是一种规范化了的二维表格中行的集合。
在关系模型中,对关系作了如下规范性限制:
(1)关系中每一个属性值都应是不可再分解的数据。
(2)每一个属性对应一个值域,不同的属性必须有不同的名称,但可以有相同的值域。
(3)关系中任意两个元组(即两行)不能完全相同。
(4)由于关系是元组的集合,因此关系中元组的次序可以任意交换。
(5)理论上属性(列)的次序也可以任意交换,但在使用时应考虑在定义关系时属性的顺序。
例如前面表2-1~表2-3就是在商品销售管理系统中用到的三个关系,分别表示关于客户基本情况、商品信息及客户订单的信息,在下面的内容中分别称为商品关系、客户关系和订单关系。
2.键与关系模式
(1)键(Key)
键由一个或几个属性组成,在实际应用中,有下列几种键:
①候选键(CandidateKey):
如果一个属性或属性组的值能够惟一地标识关系中的不同元组而又不含有多余的属性,则称该属性或属性组为该关系的候选键。
②主键(PrimaryKey):
用户选作元组标识的一个候选键。
例如,在客户基本关系中,假定客户编号与客户姓名是一一对应的,即没有两个客户的姓名相同,则“客户编号”和“姓名”两个属性都是候选键。
在实际应用中,如果选择“客户编号”作为插入、删除或查找的操作变量,则就称“客户编号”是主键。
包含在任何一个侯选键中的属性称为主属性,不包含在侯选键中的属性称为非主属性。
③外键(ForeignKey):
如果关系R2的一个或一组属性不是R2的主键,而是另一关系R1的主键,则称该属性或属性组为关系R2的外键。
并称关系R2为参照关系(referencingrelation),关系R1为被参照关系(referencedrelation)。
例如,客户订单关系中的“用户编号”不是该关系的主键,但却是客户基本信息的主键,因而,“用户编号”为客户订单关系的外键,并且客户订单关系为参照关系,客户基本信息关系为被参照关系。
由外键的定义可知,参照关系的外键和被参照关系的主键必须定义在同一个域上,从而通过主键与外键提供一个表示关系间联系的手段,这是关系模型的主要特征之一。
(2)关系模式
对关系的描述称为关系模式,它包括关系名、组成该关系的诸属性名、值域名(常用属性的类型、长度来说明)、属性间的数据依赖关系以及关系的主键等。
关系模式的一般描述形式为:
R(A1,A2,…,An)
其中,R为关系模式名,即二维表名;A1,A2,…,An为属性名。
关系模式中的主键即为所定义关系的某个属性组,它能惟一确定二维表中的一个元组,常在对应属性名下面用下划线标出。
例如,可分别将表2-1~表2-3表示成关系模式为:
客户信息(客户编号客户姓名姓别出生日期VIP客户类型地址联系电话)
商品信息(商品编号商品名称价格)
客户订单(订单编号下单日期客户编号商品编号)
由此可见,关系模式是用关系模型对具体实例相关数据结构的描述,是稳定的、静态的;而关系是某一时刻的值,是随时间不断变化的,是动态的。
另外,关系模型基本上遵循数据库的三级模式结构。
在关系模型中,概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。
3.关系数据库
关系数据库(RDBS)是以关系模型为基础的数据库,它利用关系来描述现实世界。
一个关系既可以用来描述一个实体集及其属性,也可以用来描述实体集之间的联系。
而一个关系数据库包含一组关系,定义这些关系的关系模式全体就构成了该数据库的模式。
对于关系数据库要分清型和值的概念。
关系数据库的型即数据库描述,它包括若干域的定义以及在这些域上定义的若干关系模式;数据库的值是这些关系模式在某一时刻对应的关系的集合。
活动2关系操作
关系数据模型提供了一系列操作的定义,这些操作称为关系操作。
关系操作采用集合操作方式,即操作的对象和结果都是集合。
常用的关系操作有两类,一是查询操作,包括选择、投影、连接、除、并、交、差等;二是增、删、改操作。
表达(或描述)关系操作的关系数据语言可以分为如下三类:
(1)关系代数语言
关系代数语言是用对关系的集合运算来表达查询要求的方式,是基于关系代数的操作语言。
其基本的关系操作有选择、投影和连接三种运算。
所谓选择,指的是从二维关系表的全部记录中,把那些符合指定条件的记录挑选出来,它是一种横向操作。
选择运算可以改变关系表中记录的多少,但不影响关系的结构。
对于投影运算来说,是从所有字段中选取一部分字段及其值进行操作,它是一种纵向操作。
投影操作可以改变关系的结构。
而连接运算则通常是对两个关系进行投影操作来连接生成一个新关系。
当然,这个新关系可以反映出原来两个关系之间的联系。
(2)关系演算语言
关系演算语言是用谓词来表达查询要求的方式,是基于数理逻辑中的谓词演算的操作语言。
(3)介于关系代数和关系演算之间的结构化查询语言SQL。
活动3关系模型的三类完整性规则
为了维护数据库中数据的正确性和一致性,实现对关系的某种约束,关系模型提供了丰富的完整性控制机制。
下面介绍关系模型的三类完整性规则。
(1)实体完整性规则(EntityIntegrityrule)
规则2.1关系中的元组在组成主键的属性上不能有空值或重值。
如果出现空值或重值,则主键值就不能唯一标识关系中的元组了。
例如,在学生基本情况表中,其主键为“学号”,此时就不能将一个无学号的学生记录插入到这个关系中。
(2)参照完整性规则(EntityIntegrityrule)
现实世界中的实体集之间往往存在某种联系,而在关系模型中实体集与实体集间的联系都是用关系来描述的,这样就自然存在着关系间的引用。
参照完整性规则就是通过定义外键与主键之间的引用规则,以维护两个或两个以上关系的一致性。
规则2.2关系中元组的外键值只允许有两种可能值:
或者为空值,或者等于被参照关系中某个元组的主键值。
这条规则实际是要求在关系中“不引用不存在的实体”。
例如,在客户订单关系中,“客户编号”是一个外键,它对应客户信息关系的主键“客户编号”。
根据参照完整性规则,选课关系中的“客户编号”取值要么为客户关系中“客户编号”已有的值,要么为空值。
但由于“客户编号”是选课关系中的主属性,根据实体完整性规则,不能为空。
所以客户订单关系中的外键“客户编号”只能取客户关系中“客户编号”已有的值。
(3)用户定义的完整性规则(EntityIntegrityrule)
实体完整性和参照完整性适用于任何关系数据库系统。
除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性规则就是针对某一具体应用所涉及的数据必须满足的语义要求而提出的。
例如,将客户关系中客户出生日期的取值范围限制在1900年到2010年之间。
任务4关系数据库规范化理论
本任务主要是掌握关系数据库规范化理论是数据库逻辑设计的理论依据,其内容主要包括三个方面:
数据依赖、范式、模式设计方法。
其中数据依赖起着核心作用,因为它是解决数据库的数据冗余和操作异常问题的关键所在。
活动1函数依赖
关系模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 数据库 原理 应用 学习 情境