>  기사  >  데이터 베이스  >  JIRA数据库设计的一点学习总结

JIRA数据库设计的一点学习总结

WBOY
WBOY원래의
2016-06-07 15:23:281544검색

今天无聊,把JIRA的数据库导过来(MySQL版的),在Navicat里查看了一下。总结出以下几点: 一、各种类型: Tables: N个 Views:0个 Functions:0个 Trigger:0个 二、外键使用: 表设计中外键使用得很少,除了一组貌自动生成的表外,其它基本没有外键 外键的使用

今天无聊,把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)多,用数据库了,多点损耗比长度不够要好


以下是预览图:

JIRA数据库设计的一点学习总结


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.