我正在创建一个包含群组的系统。这些可以被认为像Facebook群组。用户可以创建新组。目前我有以下类型的小组:
将来会添加更多的组类型。每个组可以有不同类型的选项,但所有组都具有相同的基本数据:
我正在努力为此设置数据库设计。我最初的想法是为不同的群体创建不同的表格。
例如,有一个名为group
的表。此表格包含id
,creator id
,name
,description
,member count
,timestamps
。
然后有其他表来表示其他组,并将它们链接到group
。所以我有一个city_group
表,其中包含id
,group_id
,city_id
。其他组类型也是如此。
我遇到的唯一问题是interest_group
没有任何正常group
的额外数据。但是为了能够仅查询兴趣组,我认为创建interest_group
表可能是有意义的。它只有以下列:id
,group_id
,timestamps
...为此目的而设置一个表似乎有点浪费。
我的解决方案是否有任何问题,或解决此设计问题的更好方法?
答案 0 :(得分:3)
我有一个想法,这是一个基本上解决方法:有另一个表,如:group_type,你有id(PK),然后你有tablename(类型的完整表名)。
然后,你的Group表中应该有一个FK链接到这个group_type表。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script> <--This is path to jqueryUI
$( function() {
$( "#txt_date" ).datepicker();
} );
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txt_date" Class="txt_date" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
完成所有这些后,您可以根据此表中的值构建查询,例如:
id tablename
--------------------
1 School Group
2 Interest Group