ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

ETL - 准备数据库

2019-03-20 17:49:29  阅读:236  来源: 互联网

标签:COMMENT utf8mb4 DEFAULT 数据库 UNSIGNED 准备 NULL id ETL


前(fei)言(hua)

为了接下去的教程,我们需要先准备数据库,通过新旧数据库的迁移,来演示如何使用 PDI 工具。让我们创建如下数据库结构:

旧数据库:

订单表:

CREATE TABLE `order`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单编码',
  `order_status` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '1待付款 2待发货 3待收货 4已收货 5已取消',
  `name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  `phone_number` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常 ',
  `created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
  `updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ;

订单商品表:

CREATE TABLE `order_goods`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `orders_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `goods_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '商品名称',
  `goods_num` smallint(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT '购买数量',
  `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '商品售价',
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常',
  `created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
  `updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
);

新数据库:

客户表:

CREATE TABLE `client`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  `phone_number` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常 ',
  `created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
  `updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE
);

订单表:

CREATE TABLE `order`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订单编码',
  `order_status` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '1待付款 2待发货 3待收货 4已收货 5已取消',
  `client_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户id',
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常 ',
  `created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
  `updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE
)

订单商品表:

CREATE TABLE `order_goods`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `orders_id` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `goods_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '商品名称',
  `goods_num` smallint(5) UNSIGNED NOT NULL DEFAULT 1 COMMENT '购买数量',
  `price` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '商品售价',
  `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态 0删除 1正常',
  `created_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
  `updated_at` bigint(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
)

订单商品表结构没变,唯一注意到是我们把订单表中的客户姓名和联系方式分离开来,然后和新的订单表进行关联。这是本课程的重点,也是这工具一个强大的地方。
数据库结构创建完后,可以自己填充一些测试数据,或者你也可以点击链接下载我准备好的 SQL文件。
在准备好数据库,并确保能运行后,就开始进入下一节使用我们的工具吧。

标签:COMMENT,utf8mb4,DEFAULT,数据库,UNSIGNED,准备,NULL,id,ETL
来源: https://blog.csdn.net/qq_41599820/article/details/88668011

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有