1.2 数据模型

数据模型是对现实世界数据特征的抽象,是现实世界的模拟

数据模型是用来描述数据、组织数据和对数据进行操作的

数据模型应满足三方面要求:

1        能比较真实地模拟现实世界

2        容易为人所理解

3        便于在计算机上实现

数据模型是数据库系统的核心和基础

1.2.1        数据建模

数据建模:把现实世界中的具体事物抽象、组织为某一数据库管理系统 支持的数据模型

数据建模过程---两步抽象

现实世界中的客观对象抽象为概念模型

将现实世界抽象为信息世界 

把概念模型转换为某一数据库管理系统支持的数据模型 

将信息世界转换为机器世界

1.2.2        概念模型

概念模型的用途:

1        是现实世界到机器世界的一个中间层次

2        用于信息世界建模

3        现实世界到信息世界的第一层抽象

4        数据库设计的有力工具

5        数据库设计人员用户之间进行交流的语言

对概念模型的基本要求:

1        较强的语义表达能力

1        简单、清晰、易于用户理解

1.         信息世界中的基本概念

(1)实体entity):客观存在并可相互区别的事物称为实体 ,可以是具体的人、事、物、抽象的概念或联系。

(2)属性attribute):实体所具有的某一特性称为属性, 一个实体可以由若干个属性来刻画。

(3)key):唯一标识实体的属性集称为码。

(4)实体型entity type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型。

(5)实体集entity set):同一类型实体的集合称为实体集。

(6)联系relationship): 现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体(型)内部的联系和实体(型)之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系 。实体之间的联系通常是指不同实体集之间的联系 。实体之间的联系有一对一、一对多和多对多等多种类型。

2.        实体-联系模型

实体-联系方法Entity-Relationship Approach) :用E-R图来描述现实世界的概念模型 ,E-R方法或E-R模型。

1.2.3        数据模型三要素

1.        数据结构 

2.        数据操纵 

3.        完整性约束

1.         数据结构

数据结构:描述数据库的组成对象以及对象之间的联系。

描述的内容 :与对象的类型、内容、性质有关 ,与数据之间联系有关。

数据结构是对系统静态特性的描述。

2.         数据操纵

数据操纵:对数据库中各种对象(型)的实例(值)允许执行的 操作的集合,包括操作及有关的操作规则。

数据库主要操作:查询 ,更新(包括插入、删除、修改)。

数据模型必须定义:

1        操作的确切含义

2        操作符号

3        操作规则(如优先级)

4实现操作的语言

数据操纵是对系统动态特性的描述

3.         完整性约束

完整性约束:一组完整性规则 。

完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则 ,限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、 有效和相容。

数据模型对完整性约束条件的定义 :反映和规定必须遵守的基本的通用的完整性约束 ,例如,在关系模型中,任何关系必须满足实体完整性和参照完整性,数据模型都是逻辑上的。

物理模型:数据模型以一定的组织方式存储在数据库管理系统中, 是数据模型在数据库管理系统内部的物理存储结构 ,描述数据在数据库管理系统内部的数据组织和存取方法的实现,包括存储结构和索引结构的物理实现。

1.2.4        层次模型

层次模型实体用记录表示 ,实体的属性对应记录的数据项(或字段) ,实体之间的联系转换成记录之间的两两联系 ,数据结构的单位是基本层次联系 ,是指两个记录以及它们之间的一对多(包括一对一)的联系。

层次模型是数据库系统中最早出现的数据模型。

层次数据库系统的典型代表是IBM公司的IMS(Information Management System。 

层次模型用树形结构来表示各类实体以及实体间的联系。

1.         层次模型的数据结构

 满足下面两个条件的基本层次联系的集合为层次模型:

1. 有且只有一个结点没有双亲结点,这个结点称为根结点。

2. 根以外的其它结点有且只有一个双亲结点 。

层次模型中的几个术语 :根结点,双亲结点,兄弟结点,叶结点。

层次模型的特点: n

1        结点的双亲唯一的 。

2        只能直接处理一对多的实体联系 。

3        每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示 。

4        各个记录类型、同一记录类型中各个字段不能同名 。

5        每个记录类型可以定义一个排序字段,也称为码字段 。

6        任何记录值只有按其路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。

2. 层次模型的数据操纵与完整性约束

层次模型的数据操纵: 查询,插入,删除,更新。

层次模型的完整性约束:

1        无相应的双亲结点值就不能插入子女结点值。

2        如果删除双亲结点值,则相应的子女结点值也被同时删除。 

3        更新操作时,应更新所有相应记录,以保证数据的一致性。

3.        层次模型的优缺点

层次模型优点 

层次模型的数据结构比较简单清晰

查询效率高 ,层次模型中记录之间的联系用有向边表示,就是记录之间的存取路径。

层次数据模型提供了良好的完整性约束支持。

层次模型缺点 

很多联系是非层次性,不适合用层次模型表示。

一个结点具有多个双亲结点,只能通过冗余数据(易产生不 一致性)或创建非自然的数据结构(虚拟结点)来解决。

对插入和删除操作的限制多,应用程序的编写比较复杂

查询子女结点必须通过双亲结点。

层次命令趋于程序化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

08. Springboot集成webmagic实现网页爬虫

目录 1、前言 2、WebMagic 3、Springboot集成Webmagic 3.1、创建Springboot,并引入webmagic依赖 3.2、定义PageProcessor 3.3、元素选择 3.3.1、F12查看网页元素 3.3.2、元素选择 3.3.3、注意事项 4、小结 1、前言 在信息化的时代,网络爬虫已…

QT的绘图系统QPainterDevice与文件系统QIODevice

QT的绘图系统(QPainterDevice)与文件系统(QIODevice) 文章目录 1、Qt 的绘图系统1、QPainter的使用2、QPen(画笔)及QBursh(画刷)3、手动更新窗口4、绘图设备1、四种绘图设备的 区别2、 QBitmap3…

零食折扣店,注定昙花一现?

年终岁末,又到了各类休闲零食产品一年一度的销售旺季。与过去不同的是,近年来的休闲零食赛道正因大量零食折扣店的涌现而显得热闹非凡。 随着主打折扣、低价的零食折扣店成为消费者特别是三四线下沉市场消费者的新宠,资本开始涌入并快速推动…

SpringCloud之OpenFeign的学习、快速上手

1、什么是OpenFeign OpenFeign简化了Http的开发。在RestTemplate的基础上做了封装,在微服务中的服务调用发送网络请求起到了重要的作用,简化了开发,可以让我们跟写接口一样调其他服务。 并且OpenFeign内置了Ribbon实现负载均衡。 官方文档…

69.使用Go标准库compress/gzip压缩数据存入Redis避免BigKey

文章目录 一:简介二:Go标准库compress/gzip包介绍ConstantsVariablestype Headertype Reader 三:代码实践1、压缩与解压工具包2、单元测试3、为何压缩后还要用base64编码 代码地址: https://gitee.com/lymgoforIT/golang-trick/t…

SpringBoot3整合OpenAPI3(Swagger3)

文章目录 一、引入依赖二、使用1. OpenAPIDefinition Info2. Tag3. Operation4. Parameter5. Schema6. ApiResponse swagger2更新到3后&#xff0c;再使用方法上发生了很大的变化&#xff0c;名称也变为OpenAPI3。 官方文档 一、引入依赖 <dependency><groupId>…

深度解析Python关键字:掌握核心语法的基石(新版本35+4)

目录 关键字 keyword 关键字列表 kwlist softkwlist 关键字分类 数据类型 True、False None 运算类型 and、or、not in is 模块导入 import 辅助关键字 from、as 上下文管理 with 占位语句 pass 流程控制 if、elif、else for while break、continue…

第十回 朱贵水亭施号箭 林冲雪夜上梁山-FreeBSD/Linux 控制台基础操作

林冲被众庄客捉住&#xff0c;吊在门楼下&#xff0c;正被打时&#xff0c;柴进来了&#xff0c;赶快把林冲救下来。原来这是柴进打猎用的小庄子&#xff0c; 林冲就把火烧草料场一事跟柴进详细的说了。柴进说兄弟真是命运多磨难啊。林冲住了几日&#xff0c;恐怕连累柴进&…

Laykefu客服系统 任意文件上传漏洞复现

0x01 产品简介 Laykefu 是一款基于workerman+gatawayworker+thinkphp5搭建的全功能webim客服系统,旨在帮助企业有效管理和提供优质的客户服务。 0x02 漏洞概述 Laykefu客服系统/admin/users/upavatar.html接口处存在文件上传漏洞,而且当请求中Cookie中的”user_name“不为…

[学习笔记]刘知远团队大模型技术与交叉应用L3-Transformer_and_PLMs

RNN存在信息瓶颈的问题。 注意力机制的核心就是在decoder的每一步&#xff0c;都把encoder的所有向量提供给decoder模型。 具体的例子 先获得encoder隐向量的一个注意力分数。 注意力机制的各种变体 一&#xff1a;直接点积 二&#xff1a;中间乘以一个矩阵 三&#xff1a;…

找不到vcruntime140_1.dll无法继续执行怎么办?全面分析修复方法

当系统提示vcruntime140_1.dll文件出现错误时&#xff0c;可能会引发一系列影响计算机正常运行的问题。这个特定的动态链接库文件&#xff08;DLL&#xff09;是Microsoft Visual C Redistributable的一部分&#xff0c;对于许多基于Windows的应用程序来说至关重要。一旦vcrunt…

回归预测 | Python基于ALO-BiGRU蚁狮优化算法优化双向BiGRU多变量回归预测+适应度曲线+多个评价指标

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 ALO算法是Mirjalili于2015提出的一种新型元启发式群智能算法。由于引入了随机游走、轮盘赌策略及精英策略&#xff0c;使得 ALO 算法成为一种种群多样、寻优性能强、调节参数少、易于实现的搜索技术 python代码 优化参…

线段树详解

什么是线段树&#xff1f; 1、线段树是一棵二叉搜索树&#xff0c;它储存的是一个区间的信息。 2、每个节点以结构体的方式存储&#xff0c;结构体包含以下几个信息&#xff1a; 区间左端点、右端点&#xff1b;&#xff08;这两者必有&#xff09; 这个区间要维护的信息&…

【leetcode】移除元素

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一.暴力求解法二.使用额外数组三.原地修改数组 点击查看题目 一.暴力求解法 若我们不考虑时间复杂度…

【题目】2023年国赛信息安全管理与评估正式赛任务书-模块3 CTF

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 任务书 模块三 网络安全渗透、理论技能与职业素养 竞赛相关资源资料可在文末关注公众号获得 比赛时间及注意事项 本阶段比赛时长为180分钟&#xff0c;时间为9:00-12:00。 【注意事项】 &#xff08;1&#xf…

算法优化:LeetCode第122场双周赛解题策略与技巧

接下来会以刷常规题为主 &#xff0c;周赛的难题想要独立做出来还是有一定难度的&#xff0c;需要消耗大量时间 比赛地址 3011. 判断一个数组是否可以变为有序 public class Solution {public int minimumCost(int[] nums) {if (nums.length < 3) {// 数组长度小于3时&a…

UG制图-创建图纸的多种方法

1、2D&#xff1a;创建独立2D图纸&#xff0c;不引用任何3D模型 在UG软件中选择新建&#xff0c;或者快捷键ctrl N&#xff0c;进入新建命令&#xff0c;然后点击图纸&#xff0c;在关系中选择独立的部件&#xff0c;就创建了一个独立的图纸&#xff0c;我们可以在装配中添加…

项目管理该考哪个证书❓NPDP还是软考❓

有小伙伴在纠结是要考NPDP认证呢还是考软考呢❓ 今天小编要给大家好好说说NPDP认证❗️ &#x1f4a1;NPDP全称New Product Development Professional&#xff0c;也就是产品经理国际资格认证。 &#x1f525;NPDP是国际公认的为一的新产品开发专业认证&#xff0c;是集理论、方…

「环境配置」使用Windows自带工具清理C盘空间

​ Windows电脑操作系统一般是安装在磁盘驱动器的C盘中&#xff0c;一旦运行&#xff0c;便会产生许多垃圾文件&#xff0c;C盘空间在一定程度上都会越来越小。伴随着电脑工作的时间越久&#xff0c;C盘常常会提示显示其内存已不足。本文记录笔者清理机器的步骤。 一、使用Win…

在Qt中通过控制按钮实现登录界面密码与明码的转换

创建控件&#xff1a; 首先&#xff0c;在Qt设计师界面界面上创建QLineEdit类文本框&#xff0c;用于输入密码&#xff0c;并且实现密码与明码相互转化。 设置初始状态&#xff1a; 默认情况下&#xff0c;输入密码的文本框应该是可见的并允许用户输入。 添加切换按钮&…