第二章第二章第二章第二章第二章第二章第二章第二章 关系数据模型关系数据模型关系数据模型关系数据模型关系数据模型关系数据模型关系数据模型关系数据模型武汉大学国际软件学院1/35主要内容主要内容主要内容主要内容主要内容主要内容主要内容主要内容一.一.CAP数据库数据库二.关系模型的三要素二.关系模型的三要素三.单一的数据结构三.单一的数据结构—表表四.数据库各部分的命名四.数据库各部分的命名五.“型”与“值”的区别五.“型”与“值”的区别武汉大学国际软件学院2/35主要内容主要内容主要内容主要内容主要内容主要内容主要内容主要内容一.一.CAP数据库数据库二.关系模型的三要素二.关系模型的三要素三.单一的数据结构三.单一的数据结构—表表四.数据库各部分的命名四.数据库各部分的命名五.“型”与“值”的区别五.“型”与“值”的区别武汉大学国际软件学院3/35CAPCAP数据库数据库数据库数据库CAP数据库中表和列的定义数据库中表和列的定义CAPCAP数据库数据库数据库数据库CAP数据库中表和列的定义数据库中表和列的定义CUSTOMES 存放顾客信息的表存放顾客信息的表AGENTS 存放代理商信息的表存放顾客信息的表存放顾客信息的表cid 顾客号顾客号cname 顾客姓名顾客姓名it 顾客所在城市顾客所在城市aid 代理商号 aname 代理商名称 city 代理商所在城市 city 顾客所在城市顾客所在城市discnt 顾客可能得到的折扣顾客可能得到的折扣percent 每笔交易代理商得到的佣金 百分比ORDERS 存放定单信息的表PRODUCTS 存放商品信息的表存放商品信息的表pid 商品号商品号pname 商品名商品名ORDERS 存放定单信息的表 ordno 定单号 month 定单月份 id购买商品的顾客pname 商品名商品名city 商品库存所在的城市商品库存所在的城市quantity 商品库存数量商品库存数量cid购买商品的顾客 pid 所订购的商品 qty 订购的商品数量 dollars 商品的总价武汉大学国际软件学院4/35price 每单位商品的批发价每单位商品的批发价dollars 商品的总价CAPCAP数据库数据库数据库数据库CAP数据库数据库((某某一一时刻的内容时刻的内容))CAPCAP数据库数据库数据库数据库CAP数据库数据库((某时刻的内容某时刻的内容))cidcnamecitydiscntCUSTOMESCUSTOMESpidpnamecityquantitypricePRODUCTSPRODUCTSc001TipTopDuluth10.00c002BasicsDallas12.00c003AlliedDallas8.00p01combDallas1114000.50p02brushNewark2030000.50p03razorDuluth1506001.00c004ACMEDuluth8.00c005ACMEKyoto0.00p04penDuluth1253001.00p05pencilDallas2214001.00p06folderDallas1231002.00p07caseNewark1005001.00 AGENTSAGENTSaidanamecitypercenta01SmithNew York6a02JonesNewark6a03BrownTokyo7a04GrayNew York6武汉大学国际软件学院5/35a05OtasiDuluth5a06SmithDallas5CAPCAP数据库数据库数据库数据库CAP数据库数据库((某某一一时刻的内容时刻的内容))CAPCAP数据库数据库数据库数据库CAP数据库数据库((某时刻的内容某时刻的内容))ORDERSORDERSordnomonthcidaidpidqtydollars1011janc001a01p011000450.001012j00101011000450 001012janc001a01p011000450.001019febc001a02p02400180.001017febc001a06p03600540.001018febc001a03p04600540.001023marc001a04p05500450.001022marc001a05p06400720.001025aprc001a05p07800720.001013janc002a03p031000880.001026mayc002a05p03800704.001015janc003a03p0512001104.001014janc003a03p0512001104.001014janc003a03p0512001104.001021febc004a06p011000460.001016janc006a01p011000500.001020febc006a03p07600600.00武汉大学国际软件学院6/351024marc006a06p01800400.00主要内容主要内容主要内容主要内容主要内容主要内容主要内容主要内容一.一.CAP数据库数据库二.关系模型的三要素二.关系模型的三要素三.单一的数据结构三.单一的数据结构—表表四.数据库各部分的命名四.数据库各部分的命名五.“型”与“值”的区别五.“型”与“值”的区别武汉大学国际软件学院7/35关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素数据模型的概念数据模型的概念关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素1.数据模型的概念数据模型的概念数据模型数据模型((Data Model)是用)是用来来抽抽象象、表示和处理现实世、表示和处理现实世界界来象来象界界 中的数据和信息的工具。
数据模型应该满足三方面要求:中的数据和信息的工具数据模型应该满足三方面要求:?能比较真实地模拟现实世界能比较真实地模拟现实世界?容易为人所理解容易为人所理解?便于在计算机上实现便于在计算机上实现一种数据模型要很好地满足这三方面的要求在目前尚很困难:一种数据模型要很好地满足这三方面的要求在目前尚很困难:?多层次建模(概念模型、与计算机相关的数据模型)多层次建模(概念模型、与计算机相关的数据模型)武汉大学国际软件学院8/35?针对不同的使用对象和应用目的,采用不同的数据模型针对不同的使用对象和应用目的,采用不同的数据模型关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素2.数据结构数据结构的三要素的三要素1)逻辑结构逻辑结构1)逻辑结构逻辑结构对数据间关系的描述,与数据的存储无关,独立于计算机对数据间关系的描述,与数据的存储无关,独立于计算机2)运算运算2)运算运算定义在数据的逻辑结构上,具体实现在存储结构上的操作要求定义在数据的逻辑结构上,具体实现在存储结构上的操作要求3)存储结构存储结构是逻辑结构在计算机存储器里的实现,依赖于计算机是逻辑结构在计算机存储器里的实现,依赖于计算机例,要求对例,要求对n(n≥ ≥1)个整数个整数a1,a2,…,an按从小到大进行排序按从小到大进行排序 线性结构 运算逻辑结构 排序线性结构 运算逻辑结构 排序算法算法武汉大学国际软件学院9/35存储结构顺序存储存储结构顺序存储关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素3.数据库的数据模型数据库的数据模型的三要素的三要素数据结构数据结构1)数据结构数据结构研究的对象类型的集合(数据对象,数据间联系的对象)研究的对象类型的集合(数据对象,数据间联系的对象)2)数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作的对数据库中各种对象(型)的实例(值)允许执行的操作的 集合集合包括操作及有关的操作规则包括操作及有关的操作规则((检索和更新检索和更新))集合集合,,包括操作及有关的操作规则包括操作及有关的操作规则((检索和更新检索和更新))3)数据约束条件数据约束条件其系存其系存给定的数据模型中数据及给定的数据模型中数据及其其联联系系所具有的制约和依所具有的制约和依存存规则, 用以限定符合事故具模型的数据库状态及状态的变化,以保 证数据的正确、有效、相容规则, 用以限定符合事故具模型的数据库状态及状态的变化,以保 证数据的正确、有效、相容武汉大学国际软件学院10/35关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素4.比较数据库数据模型的三要素与数据结构的三要素比较数据库数据模型的三要素与数据结构的三要素数据结构逻辑结构数据模型 三要素数据结构数据操作数据结构 三要素逻辑结构运算数据约束条件存储结构存储结构边界条件武汉大学国际软件学院11/35关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素5.数据模型的类型决定数据库系统的类型数据模型的类型决定数据库系统的类型数据模型是数据库系统的核心和基础数据模型是数据库系统的核心和基础数据模型是数据库系统的核心和基础数据模型是数据库系统的核心和基础应用程序操作语言数据模型 类型数据模型 类型定义语言DBMSDBSDB武汉大学国际软件学院12/35关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素6.关系模型的三要素关系模型的三要素关关系系模型是一种模型是一种与与计算机相关的数据模型计算机相关的数据模型系与系与1)数据结构数据结构?表表?表表2)数据操作数据操作?传统的集合操作传统的集合操作?传统的集合操作传统的集合操作?专门的关系操作专门的关系操作3)数据约束条件数据约束条件3)数据约束条件数据约束条件?实体完整性实体完整性?参照完整性参照完整性武汉大学国际软件学院13/35?参照完整性参照完整性?用户自定义的完整性用户自定义的完整性关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素关系模型的三要素7.关系模型的特点关系模型的特点建立在严格的数学概念的基础上建立在严格的数学概念的基础上?建立在严格的数学概念的基础上建立在严格的数学概念的基础上?关系模型的概念单一关系模型的概念单一?无论数据还是数据之间的联系都用关系表示无论数据还是数据之间的联系都用关系表示对数据的检索结果也是关系对数据的检索结果也是关系?对数据的检索结果也是关系对数据的检索结果也是关系?存储路径对用户透明存储路径对用户透明?表示数据的方式与手工表示数据的方式相 似表示数据的方式与手工表示数据的方式相 似武汉大学国际软件学院14/35主要内容主要内容主要内容主要内容主要内容主要内容主要内容主要内容一.一.CAP数据库数据库二.关系模型的三要素二.关系模型的三要素三.单一的数据结构三.单一的数据结构—表表四.数据库各部分的命名四.数据库各部分的命名五.“型”与“值”的区别五.“型”与“值”的区别武汉大学国际软件学院15/35单的数据结构单的数据结构单的数据结构单的数据结构表表表表单单一一的数据结构单的数据结构单一一的数据结构的数据结构————表表表表1.什么是关系什么是关系关系关系对应于通常说的张二维表对应于通常说的张二维表?关系关系 —— 对应于通常说的对应于通常说的一一张二维表张二维表?元组元组 —— 表中的一行表中的一行?属性属性 —— 表中的一列表中的一列?分量分量 —— 元组中的一个属性值元组中的一个属性值?实体实体—— 客观存在并可相互区别的事物客观存在并可相互区别的事物studentsstudents555-43213JohnSmith2555-12342AllanJones1telephoneclassfnamelnamesi。