这是我为 Classmates.com 网站等网络网站建议的数据库模式。
您认为数据库具有此类项目所需的所有表吗?你更愿意做什么?
数据库分为三部分:
欢迎任何建议或批评。谢谢。
我受到databaseanswers.org网站上提供的数据库模型的启发。
小智 1
payment
(黑匣子)1.1) 没有货币信息?
\n在Payments
表中,尽管您存储了amount
anddate
,但没有存储货币。也许您计划仅以一种货币收费,但我认为如果打算扩展的话,这种方法只能持续这么长时间。
1.2) 第二个payments
表是什么?
\n第二个payments
表是做什么用的?实际 表格下方略左的那个payments
?\n它似乎只有一个id
列,这是该图中唯一指定数据类型的列!?我猜这是一些图表人工制品。
1.3) 您需要的不仅仅是name
收款!
\n该payment_methods
表当前不存储类型(即信用卡、PayPal、比特币等)。似乎也没有这方面的 payment_types 链接表。
您将需要在某个地方存储诸如信用卡号码等内容 (希望不是在此数据库中!)。您将需要某种链接信息来将那些存储的付款方式保存在payment_methods
表中。
social
(蓝色框)2.1) 到底是谁me
?
\n我假设该Me
表是某种fa\xc3\xa7ade或配置文件类型的表。也许是为了让User
自己免于让大学里的朋友看到Music
他们在高中时的经历而感到尴尬?:P
我认为双重存储用户的名字、中间名和姓氏是没有意义的。采用@beeks在上面的评论中建议的解决方案会更好。
\n\n2.2) My_Profile_Details
...场?
\n我不明白为什么这是一个单一的字段。我认为它是某种memo
类型,用于存储大量文本(即某种简历)。我认为这需要更多的分解。至少,分成某种类型的部分。
似乎也没有任何内容Proflie
允许用户选择他们学习/工作的学校/学院/大学/企业等?
classmates
(红框)3.1)国际化?
\n这部分设计缺少有关国家/地区的信息。即使您只是在寻找特定县的学校/学院,雇主(我认为是这样的Enterprise
)也可能在任何国家。
另外,如果一个同学自己 创办了自己的企业,他们与该企业的关系是否与在该企业工作的人一样?
\n\n
3.2) 机构名称
\n你假设大学(我想高中、小学和大学也是如此)只有一个名称,并且该名称是英语(或你想要存储的任何语言)。\n这相当大学在不同语言中有不同的名称是很常见的。机构名称也可能随着时间的推移而改变(更名等)。
3.3)机构分解
\n并非所有大学都将自己划分为院系,有些大学只是院系的集合Schools
(例如牛津大学等)。随着时间的推移,这些名称也会改变。此外,随着时间的推移,学院(学校)、大学(可能还有大学、小学和中学)都可以合并(即被接管/买断)。
3.4) 机构位置多重性
\n您的设计似乎假设一所大学只能位于一所 town
大学中。许多大学在不同的城镇有不同的校园。有些甚至拥有跨越国际边界的校园。