【发布时间】:2010-07-20 17:36:05
【问题描述】:
我正在使用一个简单的数据库设计,我认为最好的数据库示例是电子商务,因为它确实有很多问题,而且它对 cms 很熟悉。
USERS TABLE
UID |int | PK NN UN AI
username |varchar(45) | UQ INDEX
password |varchar(100) | 100 varchar for $6$rounds=5000$ crypt php sha512
name |varchar(100) | 45 for first name 45 for last 10 for spaces
gender |bit | UN ,0 for women 1 for men, lol.
phone |varchar(30) | see [2]
email |varchar(255) | see RFC 5322 [1]
verified |tinyint | UN INDEX
timezone |tinyint | -128 to 127 just engough for +7 -7 or -11 +11 UTC
timeregister |int | 31052010112030 for 31-05-2010 11:20:30
timeactive |int | 01062010110020 for 1-06-2010 11:00:20
COMPANY TABLE
CID |int | PK NN UN AI
name |varchar(45) |
address |varchar(100) | not quite sure about 100.
email |varchar(255) | see users.email, this is for the offcial email
phone |varchar(30) | see users.phone
link |varchar(255) | for www.website.com/companylink 255 is good.
imagelogo |varchar(255) | for the retrieving image logo & storing
imagelogosmall |varchar(255) | not quite good nameing huh? let see the comments
yahoo |varchar(100) | dont know
linkin |varchar(100) | dont know
twitter |varchar(100) | twitter have 100 max username? is that true?
description |TEXT | or varchar[30000] for company descriptions
shoutout |varchar(140) | status that companies can have.
verified |tinyint | UN INDEX
PRODUCT TABLE
PID |int | PK NN UN AI
CID |int | from who?santa? FK: company.cid cascade delete
name |varchar(100) | longest productname maybe hahaha.
description |TEXT | still confused useing varchar[30000]
imagelarge |varchar(255) | for the retrieving product image & storing
imagesmall |varchar(255) | for the retrieving small product image & storing
tag |varchar(45) | for tagging like stackoverflow ( index )
price |decimal(11,2) | thats in Zimbabwe dollar.
- 见Using a regular expression to validate an email address
- 见What's the longest possible worldwide phone number I should consider in SQL varchar(length) for phone
为什么是 innodb 特定的? 请看报价How to choose optimized datatypes for columns [innodb specific]?
它的话题,所以我必须创建另一个问题,人们不明白我想说什么,或者我无法解释我想要什么。这次是它的 + 数据库设计。
所以请再次复制上面的示例并将您的更改+ cmets 就像示例一样。给个建议吧。
记住 INNODB mysql。阅读上面链接上的报价。谢谢。
【问题讨论】:
-
您到底要什么?你可以说得更详细点吗?您要解决的确切问题是什么?此外,标题中不需要括号中的内容,例如“[innodb]”,这就是标签的用途。
-
我的数据库设计够了吗?我只是想知道人们如何使用这个数据库方案。关于innodb的事情,谢谢,它看起来确实有点矫枉过正,在innodb中有些像CHAR比varchar更快,我不擅长这些事情所以我在这里问。
标签: mysql database database-design innodb