数据库必须有多"完美"?

Jui*_*ice 3 mysql database database-design data-modeling

我正在设计一个网站来跟踪举重和卡路里.我之前从未设计过自己的数据库,在开始编码之前,我认为我应该尽可能地获得数据.每次我想我已经完成了,我会觉得它并不完美.我在MySQL Workbench中大部分充实了它,但我仍然有一些问题.

  • 让数据库"完美"的重要性有多重要?以后重新计算数据库的难度有多大?
  • 引擎选项有什么作用?现在所有表都默认为InnoDB引擎?这有什么问题吗?
  • 数据输入后dataypes是否可更改?也许不是从VARCHAR到INT,但是VARCHAR(45)到VARCHAR(255)呢?
  • 什么是基本的数据库规则HAVE应遵循的一个成功的设计?

我还附上了我的ERM图.如果有人能指出任何明显的违规行为,我们将不胜感激.

替代文字

Age*_*rum 12

尽可能完美地开始,然后根据需要使其变得不完美.