数据库设计规范

    在开发一个大型应用平台,涉及的表少则十几张,多则上百。合理的数据库设计 对于平台可持续发展至关重要,下面分别从以下方面对数据库设计规范进行阐述:

一、表名组织方式


格式:"子系统代号"+"-"+"表名”;

说明:一个平台往往由多个子系统组成,第个子系统有各自特定的表。为了与其他子系统区别开,约定在表名需要加"子系统代号"作用前缀进行区分,

二、表名命名规范


1、以英文命名,不得使用中文拼音。

2、组合词不得用“_”进行连。

此方式与oracle官方推荐方式冲突,这是因为Oracle之前不支持大小写。但考虑到除Oracle外大部分数据都支持大小写,因此采用此种方式

3、建议英文全拼,不要使用缩小。

4、多个子系统公共的基础表,我们以约定以"com"作为前缀。如用户表:com_user;

三、表设计原则


3.1、表设计须考虑业务的可扩展性。

场景:需要对我们业务中设备表部分数据进行分类,且存在一种设备存在多种分类情况。

错:增加一个设备分类表,然后在设备表中增加一个字段存储所归属类型的id,多个用”,“隔。

对:增加一个设备分类表,和一个分类成员表。在分类成员表中添加两都的对应关系。

原因:

1、并不是所有的设备都有分类,在设备表中增加分类字段造成大量空值信息。

2、一个设备存在多种分类,如果以增加字段并以","分隔方式会给日后按该字段统计增加难度

3.2、表名所表达的意思与存储数据应该是包含关系。

错:卡口设备表中存储视频设备

错:车辆布控表中存储电子围栏布控数据

对:人员表中存储警员信息。

3.3、公共基础模块或可能需要存储同种不同类的表命名尽量虚化

场景:需要存储单位所警员表信息

错:在基础模块中增加表com_policeman

对:基础模块如有com_person表,把警员信息作为人员表中的一种类型数据存储,没有则新建一个com_person表。

3.4、遵循数据库设计三范式

1、第一范式

数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项

2、第二范式

要求数据库表中的每个实例或记录必须可以被唯一地区分。

3、第三范式

要求一个关系中不包含已在其它关系已包含的非主关键字信息

四、表字段设计规范


4、1,命名规范

1、字段简约,不得出现表名关键字。

场景:为人员名com_person主键,姓名,关联单位等字段

错:personId,personName,departmentId

对:id,name,departmentId

说明:主键与姓名字段设计不需要加person关键字,因为表名中存在person,把表名与字段结构起来可完整表达该字段的意思,所以没有必要加person。至于单位它是一个外键字段,需要把单位表关键字department加上才能与id区别开来。

2、不得以数据库关键字命名字段

错:排序:order ,人员类型:type,单位级别:level,分组:group,禁用:disable

对:排序:sort,人员类型:personType,单位级别:grade,分类:groupType,禁用:disabled

3、使用英文全拼,不得用中文拼音或缩写

错:姓名:xm,单位类型:deptType

对:姓名:name,单位类型:departmentType

4、同组属性字段命名要保证相关性。

错:号牌号牌:vehiclePlate,号牌种类:plateType

对:号牌号牌:plateNo,号牌种类:plateType

5、不同表中的相关属性的字段命名保持一持

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容

  • 1.数据库设计 1.1库名 1.库的名称尽量控制在32个字符以内,最长不超过64个字符,相关模块的表名与表名之间尽...
    Mwk阅读 2,158评论 0 4
  • 我们在项目一开始的设计中,就要忙着考虑数据库的设计,表、字段、索引、sql等等,而在项目比较大型的时候,团队开发中...
    Luke_Cc阅读 715评论 0 1
  • 最近学习了数据库相关的知识,体会到了数据库设计的重要性,一个好的数据库设计能为我们后面奠定开发基础,就好比建筑一样...
    平凡数阅读 1,366评论 0 6
  • 一,数据库设计规范1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_...
    浮生半梦6阅读 3,331评论 0 1
  • 2018年5月15日 星期二 大雨 上午,天气闷热,很不舒服!下午,乌云密布,大雨来袭,携着大风,终于带来...
    美妙宝贝阅读 133评论 0 2