社交(类同学)数据库模式欣赏

cPr*_*rog 5 database-design

这是我为 Classmates.com 网站等网络网站建议的数据库模式。

您认为数据库具有此类项目所需的所有表吗?你更愿意做什么?

数据库分为三部分:

  • 付款部分被黑色框包围
  • 蓝色方框旁的社交部分
  • 同学们在红框旁边

欢迎任何建议或批评。谢谢。

我受到databaseanswers.org网站上提供的数据库模型的启发。

在此处输入图片说明

在此处输入图片说明

小智 1

1.   payment(黑匣子)

\n\n

1.1) 没有货币信息?
\n在Payments表中,尽管您存储了amountanddate,但没有存储货币。也许您计划仅以一种货币收费,但我认为如果打算扩展的话,这种方法只能持续这么长时间。

\n\n

1.2) 第二个payments表是什么?
\n第二个payments表是做什么用的?实际 表格下方略左的那个payments?\n它似乎只有一个id列,这是该图中唯一指定数据类型的列!?我猜这是一些图表人工制品。

\n\n

1.3) 您需要的不仅仅是name收款!
\n该payment_methods表当前不存储类型信用卡、PayPal、比特币等)。似乎也没有这方面的 payment_types 链接表。

\n\n

您将需要在某个地方存储诸如信用卡号码等内容 (希望不是在此数据库中!)。您将需要某种链接信息来将那些存储的付款方式保存在payment_methods表中。

\n\n
\n\n

2.   social(蓝色框)

\n\n

2.1) 到底是谁me
\n我假设该Me表是某种fa\xc3\xa7ade配置文件类型的表。也许是为了让User自己免于让大学里的朋友看到Music​​他们在高中时的经历而感到尴尬?:P

\n\n

我认为双重存储用户的名字、中间名和姓氏是没有意义的。采用@beeks在上面的评论中建议的解决方案会更好

\n\n

2.2)  My_Profile_Details...?
\n我不明白为什么这是一个单一的字段。我认为它是某种memo类型,用于存储大量文本(某种简历)。我认为这需要更多的分解。至少,分成某种类型的部分。

\n\n

似乎也没有任何内容Proflie允许用户选择他们学习/工作的学校/学院/大学/企业等?

\n\n
\n\n

3.   classmates(红框)

\n\n

3.1)国际化?
\n这部分设计缺少有关国家/地区的信息。即使您只是在寻找特定县的学校/学院,雇主(我认为是这样的Enterprise)也可能在任何国家。

\n\n

另外,如果一个同学自己 创办了自己的企业,他们与该企业的关系是否与在该企业工作的人一样?

\n\n


3.2) 机构名称
\n你假设大学(我想高中、小学和大学也是如此)只有一个名称,并且该名称是英语(或你想要存储的任何语言)。\n这相当大学在不同语言中有不同的名称是很常见的。机构名称也可能随着时间的推移而改变(更名等)。

\n\n


3.3)机构分解
\n并非所有大学都将自己划分为院系,有些大学只是院系的集合Schools(例如牛津大学等)。随着时间的推移,这些名称也会改变。此外,随着时间的推移,学院(学校)、大学(可能还有大学、小学和中学)都可以合并即被接管/买断)。

\n\n


3.4) 机构位置多重性
\n您的设计似乎假设一所大学只能位于一所 town大学中。许多大学在不同的城镇有不同的校园。有些甚至拥有跨越国际边界的校园。

\n