首页 > 其他分享 >数仓建模——属性#yyds干货盘点#

数仓建模——属性#yyds干货盘点#

时间:2023-03-09 22:31:53浏览次数:40  
标签:数仓 yyds 一个 可以 实体 建模 干货 取值 属性

概念

首先需要知道的是:在数据建模中,属性和实体之间存在一种内在的关系

  1. 属性是实体的属性或特征。换句话说,实体是属性的宿主,而属性则是描述实体的各种特性的方式。
  2. 属性可以用来描述实体的某些属性,比如一个人的姓名、年龄、性别,一个公司的名称、地址、电话等等。
  3. 属性可以帮助标识实体,如一个人的身份证号码是一个主要的属性,在存在众多人的情况下,可以通过身份证号码来确定某个特定的人。
  4. 属性之间的关系非常重要,因为它们可以为实体提供有关它们自身的有用信息。例如,一个人的出生日期可以用来计算他/她的年龄,因此出生日期和年龄之间具有关联性。
  5. 每个实体可以有多个属性,每个属性也可以被多个实体所共享。例如,多个人可以共享一个地址,同样一个公司也可以有多个电话号码。

在数据建模中,属性和实体的关系需要精心设计,以确保数据的完整性、准确性和一致性。在设计关系时应该考虑多种情况,并且必须确保每个实体都具有足够的属性来描述它。

分类

在数据建模中,属性通常被划分为以下几个分类:

  1. 简单属性:简单属性是指不能再分解成更小单位的属性。简单属性通常是最基本的属性,例如,一个人的名字、身高、体重等。
  2. 复合属性:复合属性是由两个或多个简单属性组合而成的属性。例如,一个人的地址可以被分解成省、市、区等简单属性的组合。
  3. 派生属性:派生属性是由其他属性计算而得到的属性。例如,一个人的BMI指数可以通过身高和体重计算而得出,是人的身高和体重的衍生属性。
  4. 空属性:空属性是一个没有值的属性。在某些情况下,属性可能没有相关的值,此时将属性设置为空属性。
  5. 多值属性:一个实体可以有多个相同类型的值,称为多值属性。例如,一个人可以有多个电话号码,这些电话号码都属于此人的多值属性。
  6. 必选属性:如果一个属性是实体的必要属性,则称为必选属性。必选属性必须填写某种类型的值。
  7. 唯一属性:唯一属性的值是不重复的。例如,一个人的社会保障号码是唯一属性,每个人都有唯一的社会保障号码。

取值范围

如下表是属性各种类型的取值范围的

数据类型 取值范围 例子
整数型 所有整数 1,-3,1000
浮点型 所有实数 3.14,-2.5,0.00005
字符型 字母、数字等组合 "Hello", "123", "aBcD"
布尔型 真或假 true,false
枚举型 固定的几个取值 "男","女","未知"
日期型 日期、时间等 2022-11-11,14:20:30
范围型 指定范围内的数值 1-100,5.5-10.0
集合型 多个取值组合形成的集合 {"red", "yellow", "blue"}, {1, 2, 3}

举个例子

假设正在建模一个学生信息系统,可以根据以下属性和取值来定义学生信息:

属性 数据类型 取值范围 例子
学号 整数型 所有正整数 1001,5555,8888
姓名 字符型 不限制 "张三","Li Lei","Marry"
性别 枚举型 {"男","女","其他"} "男","女","其他"
年龄 整数型 1~200 18,20,30
身高 范围型 80~220cm 170,190,200
体重 范围型 30~200kg 70,80,100
学院 字符型 不限制 "计算机学院","外语学院","艺术学院"
专业 字符型 不限制 "计算机科学与技术","英语","音乐"

标签:数仓,yyds,一个,可以,实体,建模,干货,取值,属性
From: https://blog.51cto.com/hiszm/6111383

相关文章

  • #yyds干货盘点# LeetCode程序员面试金典: 计算器
    1.题目:给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。表达式仅包含非负整数,+,-,*,/四种运算符和空格 。整数除法仅保留整数部分。......
  • #yyds干货盘点# LeetCode面试题:字符串相乘
    1.简述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的BigInteger库或直接将输......
  • FLINK实时数仓笔记2
    离线架构优点:耦合性能低,稳定性高缺点:时效性差一点说明:1.项目经理(架构师)是大公司出来的,追求系统的稳定性2.耦合性低,稳定性高3.考虑到公司未来的发展,数据量一定会变得......
  • 离线数仓之Kerberos基本使用及问题记录
    离线数仓之Kerberos基本使用及问题记录​​0.写在前面​​​1.Kerberos基本使用​​​0.启动Kerberos相关服务​​​​1.安全模式下启动Hadoop集群​​​2.安装Kerbero......
  • 数据建模——实体#yyds干货盘点#
    数据仓库(DataWarehouse)是一个存储企业数据的集合,是一个综合性的数据存储环境,用于支持企业的决策制定和分析。在数据仓库中,实体是指可以被表示和存储的实际或抽象的对象,例......
  • # yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?
    大家好,我是皮皮。一、前言前几天在Python铂金交流群【JethroShen】问了一个​​Python​​自动化处理的问题,这里拿出来给大家分享下。代码如下:importpandasaspdimportc......
  • #yyds干货盘点#HTTP报文结构
    HTTP协议的请求报文和响应报文的结构基本相同,由三大部分组成:起始行(startline):描述请求或响应的基本信息;头部字段集合(header):使用key-value形式更详细地说明报文;消息正文......
  • #yyds干货盘点# LeetCode面试题:接雨水
    1.简述:给定 n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数......
  • bucket表:数仓存算分离中CU与DN解绑的关键
    摘要:Bucket存储是数据共享中重要的一环,当前阶段,bucket存储可以将列存中的CU数据和DN节点解绑。本文分享自华为云社区《存算分离之bucket表——【玩转PB级数仓GaussDB(DWS)......
  • 数据仓库的数据建模基本流程#yyds干货盘点#
    数据建模基本流程数据仓库的数据建模基本流程一般分为以下三个阶段:概念模型、逻辑模型、物理模型。概念模型:概念模型的主要目的是定义业务概念和关系,描述业务过程、业......