L02_Oracle数据库编程_QUST.pdf
《L02_Oracle数据库编程_QUST.pdf》由会员分享,可在线阅读,更多相关《L02_Oracle数据库编程_QUST.pdf(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据模型与数据库结构 数据和数据模型 数据与信息 描述事物的符号记录称为数据 将从数据中获得的有意义的内容称为信息 数据有一定的格式,这些格式的规定是数据的语法,而数据的含义是数据的语义 数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息 数据与信息 数据 (张三,9912101,男,1981,计算机系,应用软件)解释 张三是9912101班的男生,1981年出生,计算机系应用软件专业。数据 信息 解释 挖掘/推理 知识 数据与信息 数据 信息 解释 挖掘/推理 知识 A经常购买新产品 T常购买奢侈品,经常换物流 数据模型 模型 建筑模型、飞机模型、计算机中的模型 对事物、对象、过
2、程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具 数据模型(Data Model)也是一种模型,它是对现实世界数据特征的抽象和模拟 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息 数据模型 数据模型即要面向现实世界,又要面向机器世界,因此需满足三个要求:能够真实地模拟现实世界 容易被人们理解 能够方便地在计算机上实现 1010111101 Student(sid:string,name:string,login:string,age:integer,gpa:real)数据模型 数据模型实际上是模型化数据和信息的工具 概念层数据模型(概念模型):从数据的语义
3、视角来抽取模型,是按用户的观点来对数据和信息进行建模。组织层数据模型(组织/数据模型):从数据的组织层次来描述数据。客观世界客观世界 信息世界信息世界 机器世界机器世界 认识,认识,抽象抽象 (便于用户和(便于用户和DBDB设计人员交流)设计人员交流)转换(便于机器实现)转换(便于机器实现)客观存在客观存在 概念(信息)模型概念(信息)模型 组织(数据)模型组织(数据)模型 数据模型 从现实世界到概念模型的转换 由数据库设计人员完成 从概念模型到逻辑模型的转换 由数据库设计人员完成 用数据库设计工具协助设计人员完成 从逻辑模型到物理模型的转换 由DBMS完成 数据模型 现实世界信息世界机器世界
4、抽象转换(概念层模型)(组织层模型)描述数据模型 数据模型的三要素 数据结构(静态)如何表示数据,以及数据之间的联系(关键)数据操作(动态)增、删、查、改 完整性约束 如何保证数据的约束条件得到满足 概念层数据模型 基本概念 实体-联系模型 概念模型 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象 是现实世界到机器世界的一个中间层次 把现实世界中的客观对象抽象成的某种信息结构 数据库设计人员和用户之间进行交流的语言 主要用在数据库的设计阶段,是数据库设计的有力工具 独立于具体的计算机系统,独立于具体的DBMS支持的数据模型 与具体的数据库管理系统无关 与具体的实现方式无关 基本概
5、念 概念层数据模型应该 具有较强的语义表达能力 能够方便、直接地表达应用中的各种语义知识 简单、清晰,易于被用户理解 概念层数据模型是面向用户、面向现实世界的数据模型,与具体的DBMS无关 常用概念模型:实体-联系模型、语义对象模型 实体-联系模型 简单、实用,应用广泛 实体-联系方法使用的工具称为E-R图 也把这种描述结果称为E-R模型 实体(Entity)属性(Attribute)联系(Relationship)实体与实例 实体:具有公共性质的可相互区分的现实世界对象的集合。例如:学生、课程、职工。在E-R图中用矩形框表示具体的实体,把实体名写在框内 实体中每个具体的记录值(一行数据),称
6、为实体的一个实例(有些书也将实体称为实体集或实体类型,而将每行具体的记录称为实体)实体 实例 学生 属性 描述实体或者联系的性质或特征的数据项 一个实体可以由若干属性刻画 能够唯一标识实体的一个属性或最小的一组属性称为实体的标识属性,或码(Key)学号学号 姓名姓名 性别性别 年龄年龄 属性 用椭圆形表示,并用无向边将其与相应的实体连接起来 学生学生 学号学号 年龄年龄 性别性别 姓名姓名 实体和记录 信息世界 实体 客观存在并可相互区分的事物 实体集 性质相同的同类实体的集合 属性 实体具有的某一特性 实体标识符 能将一个实体与其它实体区分开来的一个或一组属性 数据世界 记录实体(抽象表示)
7、文件实体集 字段/数据项属性 关键字实体标识符 型与值 实体 实体型 对实体固有特性或结构的描述,用实体名及其属性名集合来抽象和刻画 汽车(车牌号,车型,车主)实体值 实体型的一个实例,即一个具体的实体 (豫A00001,丰田,张三)记录 记录型 记录格式 记录值 一个具体的记录 车牌号 名称 车主 豫A00001 丰田 张三 型与值 区分型与值的实质 型是对象的结构或特性描述,值是一个具体的对象实例 类似于程序设计语言中数据类型与数据值的概念 DBS中讨论的重点是型 通常只说实体、记录(具体含义根据上下文判断即可)那值从何而来?联系 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体
8、内部的联系和实体之间的联系 实体内部的联系 一个实体内属性之间的联系(记录内部数据项间的联系)职工中的职工号和此职工的部门经理号 实体之间的联系 不同实体之间的联系(记录之间的联系)课程和学生实体之间存在选课联系 联系 实体之间的联系用菱形框表示,框内写上联系名(必须命名),并用连线与有关的实体相连,同时在无向边旁标上联系的类型(1:1、1:n或m:n)实体1 联系名 实体2 1 1 1:1联系 实体1 联系名 实体2 m n m:n联系 实体1 联系名 实体2 1 n 1:n联系 联系 一对一联系 如果对于实体集A中的每个实体,实体集B中至多有一实体与之联系,反之亦然 则称实体集A与实体集B
9、具有一对一联系,记为1:1。实例 一个班级只有一个正班长 一个班长只在一个班中任职 学校和校长,丈夫和妻子等 a1 a2 a3 a4 b1 b2 b3 b4 b5 联系 一对多联系 如果对于实体集A中的每个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1:n 实例 班级与学生之间的联系 一个班级中有若干名学生,每个学生只在一个班级中学习 单位和职工 a1 a2 a3 a4 b1 b2 b3 b4 b5 联系 多对多联系 对于实体集A中的每个实体,实体集B中有n个实体(n0)与之联系,反之亦
10、然 则称实体集A与实体集B具有多对多联系,记为 m:n 实例 课程与学生之间的联系 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程 a1 a2 a3 a4 b1 b2 b3 b4 b5 联系 一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。实体之间联系的种类与语义直接相关。例如,部门和经理:如果一个部门只有一个经理,一个人只担任一个部门的经理,则部门和经理之间是一对一联系。如果一个部门可以有多个经理,而一个人只担任一个部门的经理,则部门和经理之间就是一对多联系。如果一个部门可以有多个经理,而且一个人也可以担任多个部门的经理,则部门和经理之间就是多对多联系。联系 同一
11、实体内部的联系 联系也可以有属性 多个实体之间的联系 职工职工 领导领导 1 n 课程课程 选修选修 学生学生 m n 成绩成绩 供应商供应商 供应供应 项目项目 m n 供应量供应量 零部件零部件 p 联系 多个实体的联系 顾客购买商品:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品 每个售货员可以向多名顾客销售商品,并且可以销售多种商品 每种商品可由多个售货员销售,并且可以销售给多名顾客 m m n n p p 顾客顾客 商品商品 售货员售货员 销售销售 E-R图 一个简单的物资管理系统 供应商 供应商号 姓名 地址 帐号 电话号码 项 目 项目号 预算 开工日期 仓 库 仓库
12、号 面 积 电话号 职 工 职工号 姓名 年龄 职称 零 件 零件号 名称 规格 单价 描 述 库存 库存量 m n 工作 1 n 领导 1 n 供应 供应量 m n p E-R图 一个简单的教学数据库系统 学生学生(学号学号,姓名姓名,性别性别,出生日期出生日期,党派党派,籍贯籍贯,系号系号)家庭成员家庭成员(学号学号,姓名姓名,性别性别,与本人关系与本人关系,单位单位,职务职务)奖惩奖惩(学号学号,时间时间,类别类别,事由事由,级别级别)学历学历(学号学号,时间时间,学校学校,性质性质)系系(系号系号,系名系名,地址地址,电话电话,系主任系主任)课程课程(课号课号,课名课名,学时学时,学分
13、学分,性质性质)选课选课(学号学号,课号课号,教师号教师号,成绩成绩)教师教师(教师号教师号,姓名姓名,职称职称,领导号领导号,系号系号)E-R图 学生学生 奖惩奖惩 家庭成员家庭成员 学历学历 教师教师 课程课程 系系 经历经历 管理管理 获得获得 拥有拥有 选课选课 工作工作 n m n 1 n 1 n n 1 n 1 p 1 成绩成绩 领导领导 n 1 E-R图 学生学生 籍贯籍贯 党派党派 出生日期出生日期 性别性别 姓名姓名 学号学号 课程课程 学号学号 性质性质 学分学分 学时学时 课名课名 组织层数据模型 概述 组织层数据模型是从数据的组织形式的角度来描述信息。组织层数据模型主要
14、有:层次模型(Hierarchical Model)非关系模型 网状模型(Network Model)非关系模型 关系模型(Relational Model)数据结构:表 面向对象模型(Object Oriented Model)数据结构:对象 层次模型 数据库管理系统中最早出现的数据模型 用树状结构来表示实体之间联系 任何一个给定的记录值只有按其路径查看时,才能显示它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在 层次模型在实际应用中已很少使用,基本处于淘汰的状况 层次模型 构成层次模型的树由结点和连线组成 结点表示实体,结点中的项表示实体的属性 连线表示相连的两个实体间的联系,
15、这种联系是一对多的 有且仅有一个结点无父结点,这个结点即为树的根 其他结点有且仅有一个父结点 根结点R1R11R12R21R22R22叶结点叶结点父结点子结点层次模型 现实世界中许多实体之间的联系本身就呈现出一种自然的层次关系,如:行政机构、家族关系 学校学校 产业产业 部处部处 学院学院 中心中心 系系 实验室实验室 教研室教研室 某大学机构层次模型某大学机构层次模型(部分部分)层次模型 任何一个给定的记录值只有从层次模型的根部开始按路径查看时,才能明确其含义,任何子结点都不能脱离父结点而存在 学生学生学院编号学院编号学院名称学院名称办公地点办公地点教师号教师号教师名教师名职称职称学号学号
16、姓名姓名性别性别年龄年龄教研室名教研室名 室主任室主任室人数室人数学院学院教研室教研室教师教师层次模型 只能表示一对多的联系,不能直接表示多对多联系 如果把多对多联系转换为一对多联系,会出现一个子结点有多个父结点的情况 姓名姓名性别性别学号学号年龄年龄课程号课程号成绩成绩学号学号课程名课程名学分学分课程号课程号1 1:n n1 1:m m层次模型 把一个层次模型分解为两个层次模型 1 1:m m课程名课程名学分学分课程号课程号课程号课程号成绩成绩学号学号姓名姓名性别性别学号学号年龄年龄1 1:n n课程号课程号成绩成绩学号学号网状模型 用图(网络)结构来表示实体以及实体间联系的模型 任一结点都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- L02_Oracle 数据库 编程 _QUST
限制150内