数据库设计

1、为什么要进行数据库设计?

需求分析

逻辑设计ER图

物理设计

维护优化=》新建需求表,索引优化,大表拆分

需求分析(主要环节):

1、存储数据有哪些?

日志的数据不适合存储在数据库中,首先增长量非常大,并且并不属于核心数据,如果非要存储在数据库中,要提前定义好清理规则(当数据量大时工作量也会随之增加,也影响线上的正常使用)

2、存储的数据有什么样的特点?

时效性(不具有时效性可以采取过期清理),增长量很大的数据,可以采取分库分表的方式进行存储

3、数据的生命周期?

搞清楚一些问题:

1、实体与实体之间的关系(1:1,1:N,N:N)

2、实体所包含的属性有什么,实体在存储和增长量有哪些特性

3、哪些属性或属性的组合可以唯一标识一个实体

逻辑设计ER图:

矩形:表示实体集

菱形:表示联系集

椭圆:表示实体属性

线段:表示属性连接到实体集,或实体集连接到属性

设计范式概要:

1.数据库设计范式

第一范式(1NF):

数据表中所有字段都是单一属性,不可再分的,如:整数,浮点数,字符串等;要求数据库中的表都是二维表。

第二范式(2NF):

表中不存在非关键字段对任意关键字段的依赖,所有单关键字段的表都符合第二范式

第三范式(3NF):

数据表中不存在非关键字段,对任意候选关键字度的传递函数依赖则符合第三范式

Boyce.Codd范式(BCNF):

数据库表中如果不存在任何字段对任意候选关键字段的传递函数依赖(不能存在函数依赖关系)

2.操作异常:

插入异常、更新异常、删除异常

3.数据冗余

物理设计

1、选择合适的数据库管理系统

2、定义数据库、表及字段的命名规范

3、选择合适的字段类型

4、反范式化设计(用数据冗余的空间换时间),减少表的关联数量,增加数据的读取效率,注意要适度

预留字段:

1、严禁使用预留字段,无法准确知道预留字段类型及存储内容,程序维护造成印象

维护和优化

1、维护数据字典

通过第三方工具进行维护,数据库本身的备注字段来进行维护,通过脚本导出数据字典

select a.table_name,b.TABLE_COMMENT,a.COLUMN_NAME,a.COLUMN_TYPE,a.COLUMN_COMMENTFROM infomation_schema.COLUMNS a JOIN information_schema.TABLES b ON a.table_schema=b.table_schema AND a.table_name = b.tablename where a.table_name = '表名'

2、维护索引

1.出现在where,group by,order by 从句中的列

2.可选择性高的列要放到索引前面

3.索引中不要包括太长的列数据类型

注意事项:

太多的索引会降低写和读的效率;

定期维护索引碎片;

不要使用强制索引关键字(数据量的变化,如DBA对索引进行删除,开发人员不知道,查询会出错);

3、维护表结构

1.使用在线变更表结构的工具

mysql5.5之前可以使用 pt-online-schema-change

mysql5.6之后支持在线表结构变更

2.同事对数据字段进行维护

3.控制表的宽度和大小

数据库中适合的操作

1.批量操作vs单条操作

2.禁止使用select * 这样的查询=》导致IO的浪费,查询出不使用的字段,表结构变更,对程序造成印象

3.控制使用自定义函数,使用自定义函数在数据列中的索引不起作用

4.不要使用数据库中的全文索引=》对中文支持不太好,专业的搜索引擎工具代替全文索引,增加数据执行效率

4、表瓶颈:水平和垂直拆分

表的垂直拆分

经常查询的列放到一张表中,优化了io,减少了sql复杂程度,解决了表宽度的问题

表的水平拆分

主键hash key进行拆分,解决了数据量的问题

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

推荐阅读更多精彩内容