关于数据库表设计之区域表system_district:省市县街道四级地址表
关于省市县的数据表的设计有两种方式:
一.将其设计成一张表
DROP TABLE IF EXISTS `system_district`;
CREATE TABLE `system_district` (
`district_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '区域ID',
`parent_id` bigint(20) unsigned NOT NULL COMMENT '父ID',
`district_name` varchar(200) NOT NULL COMMENT '区域名称',
`short_name` varchar(200) NOT NULL COMMENT '简称',
`longitude` decimal(10,7) NOT NULL DEFAULT '0.0000000' COMMENT '经度',
`latitude` decimal(10,7) NOT NULL DEFAULT '0.0000000' COMMENT '维度',
`level` int(11) NOT NULL DEFAULT '' COMMENT '等级(地区级别 1-省、自治区、直辖市 2-地级市、地区、自治州、盟 3-市辖区、县级市、县 4-街道办-乡)',
`sort` int(11) NOT NULL DEFAULT '' COMMENT '排序',
`is_deleted` tinyint(1) NOT NULL DEFAULT '' COMMENT '删除标志: 0未删除,1已删除',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '修改时间',
PRIMARY KEY (`district_id`)
) ENGINE=InnoDB AUTO_INCREMENT=659004503 DEFAULT CHARSET=utf8 COMMENT='区域表';
二.将其设计成三张表
省表:
DROP TABLE IF EXISTS `province`;
CREATE TABLE `province` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(6) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=35 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of province
-- ----------------------------
INSERT INTO `province` VALUES ('', '', '北京市');
INSERT INTO `province` VALUES ('', '', '天津市');
INSERT INTO `province` VALUES ('', '', '河北省');
INSERT INTO `province` VALUES ('', '', '山西省');
INSERT INTO `province` VALUES ('', '', '内蒙古');
市表:
DROP TABLE IF EXISTS `city`;
CREATE TABLE `city` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(6) NOT NULL,
`name` varchar(20) NOT NULL,
`provincecode` varchar(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=343 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of city
-- ----------------------------
INSERT INTO `city` VALUES ('', '', '北京市', '');
INSERT INTO `city` VALUES ('', '', '石家庄市', '');
INSERT INTO `city` VALUES ('', '', '唐山市', '');
INSERT INTO `city` VALUES ('', '', '秦皇岛市', '');
INSERT INTO `city` VALUES ('', '', '邯郸市', '');
INSERT INTO `city` VALUES ('', '', '邢台市', '');
INSERT INTO `city` VALUES ('', '', '保定市', '');
INSERT INTO `city` VALUES ('', '', '张家口市', '');
县表:
DROP TABLE IF EXISTS `area`;
CREATE TABLE `area` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(6) NOT NULL,
`name` varchar(20) NOT NULL,
`citycode` varchar(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3145 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of area
-- ----------------------------
INSERT INTO `area` VALUES ('', '', '东城区', '');
INSERT INTO `area` VALUES ('', '', '西城区', '');
INSERT INTO `area` VALUES ('', '', '崇文区', '');
INSERT INTO `area` VALUES ('', '', '宣武区', '');
INSERT INTO `area` VALUES ('', '', '朝阳区', '');
INSERT INTO `area` VALUES ('', '', '丰台区', '');
INSERT INTO `area` VALUES ('', '', '石景山区', '');
INSERT INTO `area` VALUES ('', '', '海淀区', '');
INSERT INTO `area` VALUES ('', '', '门头沟区', '');
INSERT INTO `area` VALUES ('', '', '房山区', '');
INSERT INTO `area` VALUES ('', '', '通州区', '');
INSERT INTO `area` VALUES ('', '', '顺义区', '');
INSERT INTO `area` VALUES ('', '', '昌平区', '');
关于数据库表设计之区域表system_district:省市县街道四级地址表的更多相关文章
- DRF框架(三)——media资源路径设置、多表设计复习及补充、序列化组件(ModelSerializer)操作多表(序列化与反序列化)、多表序列化与反序列化整合(重点)
media资源路径设置 (设置好后把图片放在这个文件夹中,通过链接能访问到图片) 1.先在根目录设置一个media文件夹 2.配置settings.py,加上下面的 MEDIA_URL = '/me ...
- 抽屉之Tornado实战(2)--数据库表设计
经过我们上次分析,数据库要有最基本的四张表,用户表,消息表,类型表,点赞表,评论表,接下来我们看着怎么设计吧 首先我们要清楚,表设计的代码是写在models下的 用户表 #一张表对应一个类 class ...
- Tornado之抽屉实战(2)--数据库表设计
经过我们上次分析,数据库要有最基本的四张表,用户表,消息表,类型表,点赞表,评论表,接下来我们看着怎么设计吧 首先我们要清楚,表设计的代码是写在models下的 用户表 ? 1 2 3 4 5 6 7 ...
- MaxCompute表设计最佳实践
MaxCompute表设计最佳实践 产生大量小文件的操作 MaxCompute表的小文件会影响存储和计算性能,因此我们先介绍下什么样的操作会产生大量小文件,从 而在做表设计的时候考虑避开此类操作. 使 ...
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计
APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE ...
- 转一篇MYSQL文章《数据库表设计,没有最好只有最适合》
http://mp.weixin.qq.com/s/a8klpzM5iam0_JYSw7-U4g 我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设 ...
- Oracle数据库表设计时的注意事项
表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与 ...
- ERP开发分享 1 数据库表设计
这是我的ERP设计经验分享系列,今天讲的是数据库的表设计(1),主要阐述: 1.单字段的主键:2.使用int32作为主键类型:3.使用版本字段处理乐观锁定:4.生效字段标明是否允许“被使用”:5.锁定 ...
- Innodb IO优化 — 数据库表设计 转
数据库表设计这块学问比较多,我这里单从互联网角度出发同时结合Innodb的特性给出一些设计方法供大家参考.本文构建大概分两分部分:Innodb的特性及设计中如何利用这种特性. Innodb特性: In ...
随机推荐
- ES6入门五:箭头函数、函数与ES6新语法
箭头函数的基本用法与特点 函数与ES6新语法 一.箭头函数的基本用法与特点 声明箭头函数采用声明变量和常量的关键字:var.let.const 箭头函数的参数:没有参数用"()"空 ...
- curl命令用法
curl命令是一个功能强大的网络工具,它能够通过http.ftp等方式下载文件,也能够上传文件,同时支持HTTPS等众多协议,还支持POST.cookies.认证.从指定偏移处下载部分文件.用户代理字 ...
- 常见排序&查询算法Java代码实现
1. 排序算法代码实现 /** * ascending sort * 外层循环边界条件:总共需要冒泡的轮数--每一轮都将最大或最小的数冒泡到最后 * 内层循环边界条件:冒泡数字移动的边界--最终数字需 ...
- java_day04_数组
chap04目标:数组---------------------------------------------- 1.概述 数组是一组数据的集合,数组中的每个数据被称为元素.在java中,数组也是对 ...
- linux命令详解——sed
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: se ...
- contextlib:上下文管理器工具
介绍 contextlib模块包含的工具可以用于处理上下文管理器和with语句 上下文管理器API ''' 上下文管理器(context manager)负责管理一个代码块中的资源,会在进入代码块时创 ...
- C++第二次作业--函数
1.为什么要用函数 创建 C++ 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务.通过函数我们可以实现代码复用,即可以重复使用和在各种适用情况下使用,函数的存在增强了程序的可读性.并且函 ...
- Android异常与性能优化相关面试问题-冷启动优化面试问题详解
什么是冷启动: 冷启动的定义:冷启动就是在启动应用前,系统中没有该应用的任何进程信息.实际也就是要执行Application.onCreate()方法的那次启动. 冷启动 / 热启动的区别:热启动:用 ...
- java8学习之BiFunction函数式接口实例演示&Predicate函数式接口详解
BiFunction函数式接口: 在上次中已经对BiFunction接口进行了初步的认识,这里对它进一步学习,这里打算新建一个Person实体,然后新建若干个Person的实例存放在集合中,最后再根据 ...
- JavaScript入门学习之二——函数
在前一章中讲了JavaScript的入门语法,在这一章要看看函数的使用. 函数的定义 JavaScript中的函数和Python中的非常类似,只不过定义的方式有些不同,下面看看是怎么定义的 //定义普 ...