自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

转载 拉链表

0x00 前言本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。 通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。 举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例)。 分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链

2020-12-03 16:02:58 415

转载 postgresql sql 命令汇总

部分VI.参考这份参考中的条目意欲提供关于相应主题的权威、完整和正式的总结。关于使用PostgreSQL的更多信息(以叙述、教程或例子的形式)可以在本书的其他部分找到。见每个参考页面上列出的交叉引用。这些参考条目也在传统“man”页面中可用。目录I. SQL 命令ABORT— 中止当前事务ALTER AGGREGATE— 更改一个聚集函数的定义ALTER COLLATION— 更改一个排序规则的定义ALTER CONVERSION— 改变一个转换的定义ALTE...

2020-12-03 10:28:31 254

原创 个人笔记1.清洗会用

1.id||'_'||ROW_NUMBER()OVER(PARTITION BY id ORDER BY company,job,work_start_date,work_end_date) AS pk_id --row_number 分析函数排序、分组去重/字段拼接//||拼接符|| 2.数值清洗——填充空格(.replace(' ','')REPLACE(STR1,STR2,STR3) str3替换str1中出现的所有str2,返回新的字符串,如果有某个参数为NULL,此函数返...

2020-12-02 17:03:23 217

原创 数据学习网

草鸟教程 学习网 https://www.runoob.com/postgresql 数据库https://www.runoob.com/manual/PostgreSQL/

2020-12-02 16:45:59 135

转载 PostgreSQL 常用函数, 比较全面的总结。

PostgreSQL 常用函数PostgreSQL 内置函数也称为聚合函数,用于对字符串或数字数据执行处理。下面是所有通用 PostgreSQL 内置函数的列表:COUNT 函数:用于计算数据库表中的行数。 MAX 函数:用于查询某一特定列中最大值。 MIN 函数:用于查询某一特定列中最小值。 AVG 函数:用于计算某一特定列中平均值。 SUM 函数:用于计算数字列所有值的总和。 ARRAY 函数:用于输入值(包括null)添加到数组中。 Numeric 函数:完整列出一个 SQL

2020-12-02 16:32:52 2921

转载 PostgreSQL 时间/日期函数和操作符

PostgreSQL 时间/日期函数和操作符日期/时间操作符下表演示了基本算术操作符的行为(+,*, 等):操作符 例子 结果 + date '2001-09-28' + integer '7' date '2001-10-05' + date '2001-09-28' + interval '1 hour' timestamp '2001-09-28 01:00:00' + date '2001-09-28' + time '03:00'

2020-12-02 16:27:54 343

转载 PostgreSQL PRIVILEGES(权限)

PostgreSQL PRIVILEGES(权限)无论何时创建数据库对象,都会为其分配一个所有者,所有者通常是执行 create 语句的人。对于大多数类型的对象,初始状态是只有所有者(或超级用户)才能修改或删除对象。要允许其他角色或用户使用它,必须为该用户设置权限。在 PostgreSQL 中,权限分为以下几种:SELECT INSERT UPDATE DELETE TRUNCATE REFERENCES TRIGGER CREATE CONNECT TEMPORARY

2020-12-02 16:15:06 1405

转载 SELECT 语句中的子查询使用/DELETE 语句/UPDATE 语句/INSERT 语句

PostgreSQL 子查询子查询或称为内部查询、嵌套查询,指的是在 PostgreSQL 查询中的 WHERE 子句中嵌入查询语句。一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、<、>、>=、<=、IN、BETWEEN 等。以下是子查询必须遵循的几个规则: 子查询必须用括号括起来。 子查询在 SELECT 子句中只能有一个列,

2020-12-02 15:20:34 1211

转载 PostgreSQL LOCK(锁);排它锁(Exclusive Locks)和共享锁(Share Locks)

PostgreSQL LOCK(锁)锁主要是为了保持数据库数据的一致性,可以阻止用户修改一行或整个表,一般用在并发较高的数据库中。在多个用户访问数据库的时候若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。数据库中有两种基本的锁:排它锁(Exclusive Locks)和共享锁(Share Locks)。如果数据对象加上排它锁,则其他的事务不能对它读取和修改。如果加上共享锁,则该数据库对象可以被其他事务读取,但不能修改。LOCK 命令语法LOCK 命令基础语

2020-12-02 15:02:15 3811 1

转载 PostgreSQL :TRANSACTION(事务),COMMIT确认事件/ROLLBACK回滚事件

PostgreSQL TRANSACTION(事务)TRANSACTION(事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。数据库事务通常包含了一个序列的对数据库的读/写操作。包含有以下两个目的:为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。当事务被提交给了数据库管理系统(DBMS),则 DBMS

2020-12-02 14:43:26 2672 2

转载 PostgreSQL ALTER TABLE 命令、添加,修改,删除表

PostgreSQL ALTER TABLE 命令在 PostgreSQL 中,ALTER TABLE命令用于添加,修改,删除一张已经存在表的列。另外你也可以用ALTER TABLE命令添加和删除约束。语法用 ALTER TABLE 在一张已存在的表上添加列的语法如下:ALTER TABLE table_name ADD column_name datatype;在一张已存在的表上 DROP COLUMN(删除列),语法如下:ALTER TABLE table_name...

2020-12-02 14:11:48 4220

转载 PostgreSQL 索引 类型讲解

PostgreSQL 索引索引是加速搜索引擎检索数据的一种特殊表查询。简单地说,索引是一个指向表中数据的指针。一个数据库中的索引与一本书的索引目录是非常相似的。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。索引有助于加快 SELECT 查询和 WHERE 子句,但它会减慢使用 UPDATE 和 INSERT 语句时的数据输入。索引可以创建或删除,但不会影响数据。使用 CREATE INDEX 语句创建索引,它允许命名索引,指定表及要索

2020-12-02 13:59:23 339

转载 PostgreSQL 建表约束规则

PostgreSQL 约束PostgreSQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。约束确保了数据库中数据的准确性和可靠性。约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。以下是在 PostgreSQL 中常用的约束。NOT NULL:指示某列不能存储 NULL 值。 UNIQUE:确保某列的值都是唯

2020-12-02 11:25:01 1585

转载 PostgreSQL WITH 子句,表数据转移

PostgreSQL WITH 子句在 PostgreSQL 中,WITH 子句提供了一种编写辅助语句的方法,以便在更大的查询中使用。WITH 子句有助于将复杂的大型查询分解为更简单的表单,便于阅读。这些语句通常称为通用表表达式(Common Table Express, CTE),也可以当做一个为查询而存在的临时表。WITH 子句是在多次执行子查询时特别有用,允许我们在查询中通过它的名称(可能是多次)引用它。WITH 子句在使用前必须先定义。语法WITH 查询的基础语法如下:

2020-12-02 11:18:05 165

原创 同步数据:把一个表/结果集中的数据同步到另外的表

同步数据:把一个表/结果集中的数据同步到另外的表业务系统表的数据 --------------> ODS层 -----------> DW层 ----------------->DM层1、通过存储过程/工具来实现2、分为 全量同步(全量抽取) 和 增量同步(增量抽取)-----------全量同步:逻辑:用源表的数据直接覆盖目标表实现的逻辑:先将 目标表中的数据清空,然后查询源表的数据,插入到目标表中--比如:全量同步emp表的数据到EMP_TAG表--第一步:创建目.

2020-12-01 11:32:36 1731 1

原创 ----几个判断赋值函数

----------几个判断赋值函数NVL(参数1,参数2):判断参数1是否为空。如果不为空,则取参数1的值,如果为空,则取参数2的值参数1是目标字段,参数2是一个具体的值--需要注意:参数2的值的类型要跟参数1的类型一致--比如:SELECTE.*,NVL(E.COMM,0)FROMEMPE;NVL2(参数1,参数2,参数3):判断参数1是否为空。如果不为空,则取参数2的值,如果为空,则取参数3的值...

2020-12-01 11:24:04 427

原创 PLSQL:一种编程语言

PLSQL:一种编程语言,针对的对象是数据库中的数据(表,表里的数据等等)--在sql中能写的东西,在plsql也都可以写--PL/SQL对大小写不敏感。(现在学习时候得标准:所有的字母都大写)--语法结构:DECLARE--声明/定义的地方(变量、常量、游标)(非必须)BEGIN--写逻辑/写操作的地方(必须)EXCEPTION--处理异常的地方(非必须)END;--需要注意的是:1、单词不要写错了2、如果要使用变量,那么一定要提前声明3、每写完一...

2020-12-01 11:15:52 651

原创 orcale 语句基本语法缩写

--语 句              功 能-- 查询语法格式SELECT --从数据库表中检索数据行和列FROM --数据来自哪些表WHERE -- 哪些条件AND -- 和 其他条件OR -- 或 其他条件GROUP BY -- 按条件分组HAVING -- 分组后按条件过滤ORDER BY -- 按条件排序ASC -- 升序DESC -- 降序--关联查询INNER JOIN -- 内关联LEFT JOIN -- 左外关联RIGHT JOIN -- 右外关联FULL OUTER JOIN --.

2020-12-01 10:45:28 196

原创 oracle 数据库基础

1、数据库:放数据的仓库。我们今天装的以及接下来学习的叫做oracle数据库oracle数据库里的数据是以表的形式存放数据的2、我们用的是SCOTT用户,它下面有自带4张表:EMP(员工信息表)、DEPT(部门表)、SALGRADE(工资等级表)、BONUS(奖金/提成表,这个是空表)3、SQL:结构化查询语言(*)------------基本查询--语法结构:SELECT 要查询的信息FROM 表名; --比如:看emp表中的内容SELECT * FROM EMP;--.

2020-12-01 10:40:48 161

原创 分析函数

------------------分析函数:功能强大。每一组的每一行都可以返回一个统计值1、OVER():开窗,单独查询的时候没有任何意义--比如SELECTOVER()FROMDUAL;---会报错2、它一般是结合其它的函数一起使用。比如:结合聚合函数解决一些复杂的报表统计--语法结构:聚合函数OVER()--比如:查询EMP表中的员工的信息以及平均工资SELECTE.*,AVG(E.SAL)OVER()AVG_SALFROMEMPE;--可以解决掉聚...

2020-12-01 10:33:34 833

原创 存储过程

---存储过程:把一些经常用到的操作封装起来,存在数据库里面,便于后续的多次调用存储过程一般用来做数据同步--语法结构:CREATEORREPLACEPROCEDURE存储过程名[(参数1[参数类型]数据类型[,参数2参数类型数据类型,....])]IS--/AS--声明部分BEGIN--逻辑体END;--开发规范:存储过程名以SP_开头--需要注意的是:1、CREATEORREPLACE(创建或者替换/更新)的依据就是存储过程名意思就是:当...

2020-12-01 10:28:27 196

原创 自定义函数

----自定义函数:把一些功能/操作封装起来,存在数据库里面,供用户多次使用,不同于sp的是,自定义函数必须要返回一个值(return)FUN一般用来计算用户的指标--创建自定义函数的语法结构:CREATEORREPLACEFUNCTION函数名[(参数1[参数类型]数据类型[,参数2参数类型数据类型......])]RETURN返回的数据类型IS/AS--声明部分BEGIN--逻辑体--必须有一个RETURN子句;END;--开发规范:函数名以...

2020-12-01 10:26:33 381

原创 -增量同步

-----增量同步逻辑:用源表的数据更新目标表,如果目标表中存在该数据则更新,如果不存在则插入实现逻辑:首先,判断目标表中是否存在源表的数据(比较字段)如果有,则用源表中的数据更新目标表中的对应的该数据如果没有,则直接将源表中的数据插入到目标表--有两种方式:1、游标 (sp+游标的方式)2、MERGE INTO (不适用于所有的数据库,oracle数据库独有)---------游标的方式--比如:将emp表中的数据通过增量同步的方式抽取到 EMP_TAG--第一步:建表(表已经存在,就

2020-12-01 10:24:36 1333

原创 条件判断、IF ELSE 判断、CASE WHEN 判断

-----------------条件判断:根据条件是否为真,执行相应的操作1、IFELSE判断2、CASEWHEN判断-----------IFELSE条件判断--语法结构:DECLARE--声明体BEGIN--逻辑体IF条件1THEN逻辑1;[ELSIF条件2THEN逻辑2;ELSIF条件3THEN逻辑3;...ELSE其它逻辑;]ENDIF;END;--需要注意...

2020-12-01 10:13:39 2782

原创 循环控制

---循环控制:重复的执行某一些操作,以得到想要的结果有3种循环的语法1、LOOP循环2、WHILE循环3、FOR循环--------------LOOP循环--语法结构:DECLARE--声明部分BEGIN--逻辑体LOOP--循环逻辑体IF满足退出循环的条件THENEXIT;ENDIF;--退出循环的简写EXITWHEN退出循环的条件;ENDLOOP...

2020-12-01 10:08:50 282

原创 游标:指向一个结果集的指针

---游标:指向一个结果集的指针--便于理解的来说:指针就可以当做是这个结果集,循环这个指针,就可以拿到该结果集里的数据、分为:隐式游标和显式游标-----------隐式游标:SELECT....INTO...--需要注意:1、查询的结果只能是1行,不能是0行或者多行2、不需要声明,直接可以使用-----------显示游标:--声明显式游标的语法结构:DECLARE--声明的部分CURSOR游标名[(参数1数据类型[,参数2数据类型.....])]ISSELEC...

2020-12-01 10:02:48 612

转载 9.15. JSON 函数和操作符

9.15.JSON 函数和操作符9.15.1. 处理和创建JSON数据9.15.2. SQL/JSON路径语言本节描述: 用于处理和创建JSON数据的函数和运算器 SQL/JSON路径语言 要了解有关SQL/JSON标准的更多信息,请参阅[sqltr-19075-6]。有关PostgreSQL中支持的JSON类型的详细信息,见 第8.14节。 .9.15.1.处理和创建JSON数据表9.44展示了可以用于 JSON 数据类型(见第8.14节)的...

2020-11-30 17:20:24 567

转载 PostgreSQL:8.6. 布尔类型、8.7. 枚举类型、8.8. 几何类型、8.12. UUID类型、8.13. XML类型、8.14.2. 设计 JSON 文档、

8.6.布尔类型PostgreSQL提供标准的SQL类型boolean,参见表8.19。boolean可以有多个状态:“true(真)”、“false(假)”和第三种状态“unknown(未知)”,未知状态由SQL空值表示。表8.19.布尔数据类型名字 存储字节 描述 boolean 1字节 状态为真或假 在SQL查询中,布尔常量可以表示为SQL关键字TRUE, FALSE,和 NULL.boolean 类型的数据类型输入函数接受这些字符串表...

2020-11-30 17:04:09 429

转载 PostgreSQL 8.5. 日期/时间类型 ,时间戳

8.5.日期/时间类型8.5.1. 日期/时间输入8.5.2. 日期/时间输出8.5.3. 时区8.5.4. 间隔输入8.5.5. 间隔输出PostgreSQL支持SQL中所有的日期和时间类型,如表8.9所示。这些数据类型上可用的操作如第9.9节所述。日期根据公历来计算,即使对于该历法被引入之前的年份也一样(见第B.5节)。表8.9.日期/时间类型名字 存储尺寸 描述 最小值 最大值 解析度 timestamp [ (p)...

2020-11-30 16:38:52 3204

转载 PostgreSQL .数据类型普通数据类型

PostgreSQL有着丰富的本地数据类型可用。用户可以使用CREATE TYPE命令为 PostgreSQL增加新的数据类型。表8.1显示了所有内建的普通数据类型。大部分在“别名”列里列出的可选名字都是因历史原因 被PostgreSQL在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。表8.1.数据类型名字 别名 描述 bigint int8 有符号的8字节整数 bigserial serial8 自动增长的8...

2020-11-30 16:33:59 3134 1

转载 拉链表--实现、更新及回滚的具体实现

1 背景  本文前面的内容时参考了'lxw的大数据田地',具体可查看最后的'参考文章',个人加入了'拉链表的回滚'部分的内容sql,如果有实践的,可以互相交流学习,谢谢  在数据仓库的数据模型设计过程中,经常会遇到这样的需求:    1.1 数据量比较大;    1.2表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;    1.3 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态,比如,查看某一个用户在过去某一段时.

2020-11-30 11:21:26 1494 1

翻译 修改表、增加列、移除列、更改数据类型。。。

5.6.修改表5.6.1. 增加列5.6.2. 移除列5.6.3. 增加约束5.6.4. 移除约束5.6.5. 更改列的默认值5.6.6. 修改列的数据类型5.6.7. 重命名列5.6.8. 重命名表当我们已经创建了一个表并意识到犯了一个错误或者应用需求发生改变时,我们可以移除表并重新创建它。但如果表中已经被填充数据或者被其他数据库对象引用(例如有一个外键约束),这种做法就显得很不方便。因此,PostgreSQL提供了一族命令来对已有的表进行修改。注意这和修改表中所.

2020-11-27 18:03:53 1067

翻译 postgresql sql 语法,值表达式

4.2.值表达式4.2.1. 列引用4.2.2. 位置参数4.2.3. 下标4.2.4. 域选择4.2.5. 操作符调用4.2.6. 函数调用4.2.7. 聚集表达式4.2.8. 窗口函数调用4.2.9. 类型转换4.2.10. 排序规则表达式4.2.11. 标量子查询4.2.12. 数组构造器4.2.13. 行构造器4.2.14. 表达式计算规则值表达式被用于各种各样的环境中,例如在SELECT命令的目标列表中、作为INSERT或UPDAT.

2020-11-27 16:34:08 375 1

翻译 PostgreSQL ,语法标识符和关键字,字符解释,部分注释看起来有点头疼但是出自官网,还有很好的

4.1.词法结构4.1.1. 标识符和关键词4.1.2. 常量4.1.3. 操作符4.1.4. 特殊字符4.1.5. 注释4.1.6. 操作符优先级SQL输入由一个命令序列组成。一个命令由一个记号的序列构成,并由一个分号(“;”)终结。输入流的末端也会标志一个命令的结束。具体哪些记号是合法的与具体命令的语法有关。一个记号可以是一个关键词、一个标识符、一个带引号的标识符、一个literal(或常量)或者一个特殊字符符号。记号通常以空白(空格、制表符、新行)来分隔,但在无歧.

2020-11-27 15:16:36 3425

转载 拉链表的使用及实现,今天看到的文章把他复制下来分享!

一、概念历史拉链表,就是记录一个事务从开始一直到当前状态的所有变化的信息,拉链表可以避免按每一天存储所有记录造成的海量存储问题,同时也是处理缓慢变化数据的一种常见方式。假设企业拥有1000万的会员信息,每天有20万的会员资料变更,我们需要记录所有会议的历史变化记录,并至少保留两年,该怎么办?储存两年就是2x365x1000万=7300000000(70亿),如果储存更长时间,则无法估算需要的存储。而用拉链表存储,每日只向表中新增和变化的数据量,每日不过20万条,储存2年也...

2020-11-27 11:10:42 664

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除