JIRA 数据库 设计 点滴

由于工作,接触到了JIRA,又由于工作需要(统计JIRA系统中的一些数据),接触了JIRA的数据库设计,从而发现了优秀的数据库设计思路。

JIRA的数据库设计,每一点,都值得反复推敲和学习。


先转载一篇关于JIRA数据库介绍的文章,http://blog.csdn.net/kimsoft/article/details/7652484,内容如下:

-----------------------------------------------------------------------------------

今天无聊,把JIRA的数据库导过来(MySQL版的),在Navicat里查看了一下。总结出以下几点:
一、各种类型:
Tables: N个
Views:0个
Functions:0个
Trigger:0个


二、外键使用:
表设计中外键使用得很少,除了一组貌似自动生成的表外,其它基本没有外键
外键的使用,网上有不少争论:
http://www.itpub.net/thread-1313696-1-1.html
http://www.itpub.net/thread-1312844-1-1.html


三、表数据类型选型:
基本只使用了以下几种
decimal:18
decimal:9
varchar(255)
char(x)根据需要
longtext
datetime


四、表名,字段命名规范
以英文全称为主,如AUTHOR
多个单词有用下划线,也没有没有的,如:PROJECTLEVEL,PASSWORD_HASH,感觉这一块做得不是很规范
每个表都包含主键,大都数以ID为主键,也用不少多主键的表


总结:
因为要兼容多个数据库,所以选择尽量少的数据类型,提高在各种数据库里的兼容性,引入尽量少的数据库特性
外键的问题,不发表意见,见那两个链接
id,一般都用decimal(18),为大数据量提供了保障(mysql里支持bigint的,但Oracle之类的没有,为了通用性),为什么是18?对应到java.lang.Long就知道了。
decimal(18),可以映射为Long(JIRA是用Java编写的),如果是19位的话,可能会超过Long的最大数9223372036854775807
varchar一般用varchar(255)多,用数据库了,多点损耗比长度不够要好。

------------------------------------------------------------------------------------


本文未完待续.....


阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页