数据库设计开发案例教程(一)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图1-6 交
北京亚思晟 科技有限公司
14
1.3.2关系代数
笛卡尔积(Cartesian Product) 设R和S为同类关系,则关系R和S的交由属于R同时属于S 的所有元组构成,记作RS。如图1-6所示。
图1-8笛卡尔积
北京亚思晟 科技有限公司
15
1.3.2关系代数
投影(Projection) 设R为k元关系,Ai1,Ai2,...,Aim分别是它的第i1,i2,...,im个属性, 则关系R在Ai1,Ai2,...,Aim上的投影是一个m元关系,其属性为Ai1,Ai2, ...,Aim,记作: i1,i2,…,im(R) 投影的基本思想是从一个关系中选择我们需要的属性成分,并按要求排列 组成一个新的关系,新的关系的各属性值来自原来关系中相应的属性值, 并去掉重复元组。 如图1-9所示:对关系R,做投影 3,1(R),得
北京亚思晟 科技有限公司
7
1.3关系型数据库系统中的基本概念
1.3.1 关系型数据库基础 (6)视图更新法则:所有理论上能被更新的视图应当是可被 系统更新的。 (7)集合级的插入、更新和删除:DBMS不仅支持集合级的 检索,还应支持集合级的插入、更新和删除操作。 (8)物理数据的独立性:应用不依赖物理结构,当数据的存 储结构或者物理存取方法改变时,应用程序在逻辑上应不受影 响。 (9)逻辑数据的独立性:如果一个表被分成两个部分,则应 用视图连接在一起,以便不会对应用产生影响。 (10)数据完整性的独立性:数据库语言必须能够定义完整性 规则,这些完整性规则应该存储在数据字典中。 (11)分布独立性:一个数据库即使被分布,也应该能工作。 (12)非破坏性原则:如果允许采用低级语言存取数据,则该 低级语言一定不能绕过用数据库语言定义的安全性和完整性原 则。
图1-13
北京亚思晟 科技有限公司
21
1.3.2关系代数
除(Division) 按公式分解计算,如图1-14所示:
图1-14按公式分解计算
北京亚思晟 科技有限公司
22
1.3.3关系型数据的组织
1.表空间 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所 有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所 以称作表空间。 2.表字段 表(TABLE)是数据库中用来存储数据的对象,是有结构的数 据的集合,是整个数据 库系统的基础,是关系型数据库中用于存储数据的工具。表是 包含数据库中所有数据的数据库对象。表定义为列(Column)也称为 字段(field)的集合。与电子表格相似,数据在表中式按行和列的格式 组织排列的。表中的每一列都设计为存储某种类型的信息(例如字 符、日期、数字、字节类型)。表上有几种控制(约束、规则、默 认值和自定义用户数据类型)用于确保数据的有效性。
www.ascenttech.com.cn
数据库设计开发 技术案例教程(一)
数据库概述
CONFIDENTIAL
一、数据库概述
主要内容: 1,数据库的发展及其重要性 2,关系型数据库系统中的基本概念 3,数据库设计开发工具介绍
北京亚思晟 科技有限公司
2
1.1数据库发展以及其重要性 1.1.1 人工管理阶段 1.1.2 文件系统阶段
1.1.3数据库系统阶段
1.1.4三代数据库系统的发展
北京亚思晟 科技有限公司
3
1.1数据库发展以及其重要性
图1-1 层次型数据库
图1-2 网状数据结构
北京亚思晟 科技有限公司
4
1.1数据库发展以及其重要性
• 第二代数据库系统--关系数据库管理系统 (RDBMS)
图1-3 关系数据模型
北京亚思晟 科技有限公司
5
1.2数据库系统在企业中的应用
1)多媒体数据库 2)移动数据库 3)空间数据库 4)信息检索系统
5)分布式信息检索以及电子商务
6)决策系统
北京亚思晟 科技有限公司
6
1.3关系型数据库系统中的基本概念 1.3.1 关系型数据库基础
1.Codd's 十二条准则 一个完美的、完全符合数据库技术的关系数据库系统,需要满足 Codd博士提出的十二条法则: (1)信息法则:关系型数据库的所有信息都被清楚地表示成表汇总的 数据,即表行中的列值。 (2)授权存储法则:保证关系数据库中的每一个数据项都通过“表名 +行主键+列名”的组合形成访问。 (3)NULL值的系统处理:DBMS对NULL值英提供系统支持。NULL 值并不是零,也不是空白字符串。 (4)一个活跃的、在线数据字典应作为关系型表被储存:在逻辑上, 数据库的描述及其内容都被表示为表的形式,并能用数据库语言进行 查询。 (5)必须提供数据存取语言进行存取访问:至少有一种具有严格、 统一的语法的语言,该语言必须支持数据定义、视图定义、数据操作、 完全性、完整性约束规则、授权和事务处理。
数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、 ROLLBACK等语句。 DCL主要是包含事务操作,分配操作权限以及回收数据对象上的操 作权限等任务。
北京亚思晟 科技有限公司
28
1.5数据库设计工具PowerDesigner介绍 1.5.1数据库设计 数据库设计(Database Design)是指根据用户的需求,在 某一具体的数据库管理系统上,设计数据库的结构和建 立数据库的过程。
图1-9投影
北京亚思晟 科技有限公司
16
1.3.2关系代数
选择(Selection) 设F是一个命名公式,则在关系R上的F选择是在R中挑选满足F的所有元 组,组成一个新的关系,这个新的关系是R的一个子集,记为:F(R) 其中F由下列三部分组成:运算对象、算术比较符、逻辑运算符。 如图1-10所示:对关系R,做选择 [1]=a V [3]=f(R),得
北京亚思晟 科技有限公司
23
1.3.3关系型数据的组织
3.数据块 数据块是一组按顺序连续排列在一起的几组记录,是主 存储器与输入、输出设备或外存储器之间进行传输的一 个数据单位。是数据的物理记录,与数据的逻辑记录 (逻辑上有联系,在存储器上占有一组邻接单元的数据 单位)之间的对应关系。基本有3种方式: ①一个块即为一个记录; ②一个块包含若干个逻辑记录; ③ 一个逻辑记录占有几个块。
北京亚思晟 科技有限公司
9
1.3关系型数据库系统中的基本概念
图1-4关系术语与数据术语的对应关系
北京亚思晟 科技有限公司
10
1.3.2关系代数
1) 关系代数简介 关系数据库有着网状和层次数据库没有的数学基础----关 系代数,可以利用关系代数对表格进行任意的分割和组 装,随机地产生用户所需要的各种新表,这为关系数据 的发展提供了基础和保证,而关系代数的操作可以使用 关系型数据库操作语言SQL(Strutured Query Language)来完成。
图1-5 并
北京亚思晟 科技有限公司
12
1.3.2关系代数
差(Difference) 设R和S为同类关系,则关系R和S的差由属于R但不属于S的 所有元组构成,记作R-S。如图1-7所示。
图1-7差
北京亚思晟 科技有限公司
13
1.3.2关系代数
交(Intersection) 设R和S为同类关系,则关系R和S的交由属于R同时属于S 的所有元组构成,记作RS。如图1-6所示。
1.5.2 数据库设计工具PowerDesigner
该产品工具是 Sybase公司推出的主流数据库设计工具。 PowerDesigner致力于采用基于实体-关系(EntityRelation)的数据模型,分别从概念数据模型 (Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。
北京亚思晟 科技有限公司
26
1.3.5 关系的完整性约束
关系完整性是为保证数据库中数据的正确性和相容性, 对关系模型提出的某种约束条件或规则。完整性通常包 括: 1.字段完整性约束 2.实体完整性 3.参照完整性-外键 4.用户自定义约束
北京亚思晟 科技有限公司
27
1.4关系型数据库操作语言SQL介绍
北京亚思晟 科技有限公司
24
1.3.3关系型数据的组织
4.数据类型 数据类型在是一个值的集合以及定义在这个值集合上的 一组操作。 表中行与列交界处的单元格是用来存储值的 所在处;它们有通过列的名称和数据类型来约束值的大 小和作用范围。列的数据类型决定了如何将代表这些值 的位存储到数据库表中的相应位置处。在声明表的字段 时也必须指定它的数据类型。表中所有的列都必须具有 数据类型,以决定能够存储哪种数据
2) 关系运算 (1)关系代数:把关系看作集合,以关系为运算对象的 关系运算。 (2)关系演算:使用数理逻辑谓词演算概念的关系运算。
北京亚思晟 科技有限公司
11
1.3.2关系代数
并(Union) 设R和S为同类关系,即具有相同的度和相应属性在相同的域 中取值,但并不要求属性名一致,则关系R和S的并由属于R或 属于S的所有元组构成,记作RS。 如图1-5所示:
SQL语言包含3个部分: 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 DDL 用于定义和管理对象,例如数据库、数据表以及视图。DDL 语 句通常包括每个对象的CREATE、ALTER 以及 DROP 命令。
数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、 DELETE(删除)语句。 DML针对表数据对象进行数据内容的增加、修改以及删除操作。
北京亚思晟 科技有限公司
8
1.3关系型数据库系统中的基本概念
2.关系型数据库中数据的组织结构 关系型数据库中的“关系型”就是指的 “表”这种数据的组织结 构。通常需要为表起个名称,标示数据的关系含义,称为表名。 下面列出了关系模型中的常用名词概念: 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是 通常说的表名。 元组:可以理解为二维表中的一行,在数据库中经常被称为记录。 属性:可以理解为二维表中的一列,在数据库中经常被称为字段。 域:属性的取值范围,也就是数据库中某一列的取值限制。 关键字:一组可以唯一标识元组的属性。数据库中常称为主键,由 一个或多个列组成。 关系模式:指对关系的描述,其格式为:关系名(属性1,属性2, …,属性N)。在数据库中通常称为表结构。
图1-10选择
北京亚思晟 科技有限公司
17
1.3.2关系代数
连接(Join) 连接运算把两个关系的共同的域按某种条件约束结合在一起形成新的关系。 设R为k1元关系,S为k2元关系,算术比较符是。则关系R的第i列和关系S 的第j列的连接定义wk.baidu.com如图1-11所示:
图1-11连接符号
北京亚思晟 科技有限公司
18
1.3.2关系代数
自然连接(Natural Join) 如果两个关系没有公共属性,自然连接就是笛卡尔积。 如图1-12所示:
图1-12自然连接
北京亚思晟 科技有限公司
19
1.3.2关系代数
从定义可以看出,连接运算是从两个关系的笛卡尔积中选取满足一 定连接条件的元组的集合,连接的结果是一个(k1+k2)元的关系。 也称为一般连接。 如图1-11所示:
图1-11一般连接
北京亚思晟 科技有限公司
20
1.3.2关系代数
除(Division) 除运算是指用一个(m+n)度的关系R除以一个n度关系S,运算结果生成一 个m元的新关系。这里R的第(m+i)个属性和S的第i个属性(i=1,...,n)必须 是在相同的域上定义。当把R的前m个属性看作一个组合属性x,后n个属性看 成一个组合属性y,则S也可类似地看成一个组合属性y。这样以S中的y值来对 R进行分组,当组中含有y值时,则组中的x值便构成了R除以S的一个元组。R 除以S的数学表达式为: RS=a(R)-a(a(R)S-R) 其中a为关系R中除去与S关系相同的其余属性。 如图1-13所示:
北京亚思晟 科技有限公司
25
1.3.4 特殊字段值NULL的作用
空值NULL是关系数据库中对数据属性未知或缺 失的一种标识。 数据库表主键的取值不能为空值。此外,数据 库中的统计计算一般将有空值的数据忽略不计, 如count函数,将含有NULL值的列不在统计范 围之内。对于未知数据值的列一般需要置为 NULL,便于后期的修改写入。