[Commits] made sure all tables are in ddl with foreign keys

commits@lists.freegeek.org commits@lists.freegeek.org
Thu, 29 Apr 2004 07:58:24 -0700 (PDT)


Commit by: rfs
Modified files:
iww/data-diagram.dia 1.2 1.3
iww/ddl.sql 1.1 1.2

Log message:
made sure all tables are in ddl with foreign keys


Index: iww/ddl.sql
diff -u iww/ddl.sql:1.1 iww/ddl.sql:1.2
--- iww/ddl.sql:1.1	Tue Apr 27 10:14:11 2004
+++ iww/ddl.sql	Thu Apr 29 07:58:22 2004
@@ -1,21 +1,80 @@
-CREATE TABLE "AccessGroups"
+CREATE TABLE "Users"
+    id primary key
+    contactid references "Contacts" (id)
 CREATE TABLE "AccessLists"
-CREATE TABLE "ContactTypes"
+    accessgroupid references "AccessGroups" (id)
+    userid references "Users" (id)
+    primary key (groupid, userid)
+CREATE TABLE "AccessGroups"
+    id primary key
+    name unique
+
 CREATE TABLE "Contacts"
-CREATE TABLE "Delegates"
-CREATE TABLE "GroupTypes"
-CREATE TABLE "Groups"
+    id primary key
+    type references "ContactTypes" (type)
+CREATE TABLE "ContactTypes"
+    type primary key
+    description unique
+CREATE TABLE "WorkIn"
+    contactid references "Contacts" (id)
+    industryid references "Industries" (id)
+    primary key (contactid, industryid)
 CREATE TABLE "Industries"
-CREATE TABLE "MemberStatuses"
+    id primary key
+CREATE TABLE "WorkAt"
+    contactid references "Contacts" (id)
+    shopid references "Shops" (id)
+CREATE TABLE "Shops"
+    id primary key
+    industryid references "Industries" (id)
+
+CREATE TABLE "Groups"
+    id primary key
+    type references "GroupTypes" (type)
+    parentid references "Groups" (id)
+    shopid references "Shops" (id)
+CREATE TABLE "GroupTypes"
+    type primary key
+    description unique
+
+CREATE TABLE "Payments"
+    id primary key
+    contactid references "Contacts" (id)
+    delegateid references "Delegates" (id)
+    groupid references "Groups" (id)
+    type references "PaymentTypes" (type)
+CREATE TABLE "PaymentTypes"
+    type primary key
+    description unique
+
+CREATE TABLE "Officers"
+    id primary key
+    memberid references "Members" (id)
+    groupid references "Groups" (id)
+    type references "OfficerTypes" (type)
+CREATE TABLE "OfficerTypes"
+    type primary key
+    description unique
+CREATE TABLE "OfficerHistory"
+    id primary key
+    officerid references "Officers" (id)
+    type references "OfficerTypes" (type)
+
 CREATE TABLE "Members"
+    id primary key
+    contactid references "Contacts" (id)
+    status references "MemberStatuses" (status)
+CREATE TABLE "Delegates"
+    id primary key
+    memberid references "Members" (id)
+    groupid references "Groups" (id)
 CREATE TABLE "Memberships"
-CREATE TABLE "OfficerHistory"
-CREATE TABLE "OfficerTypes"
-CREATE TABLE "Officers"
+    memberid references "Members" (id)
+    groupid references "Groups" (id)
+    primary key (memberid, groupid)
+CREATE TABLE "MemberStatuses"
+    id primary key
+    status unique
 CREATE TABLE "PaymentProfiles"
-CREATE TABLE "PaymentTypes"
-CREATE TABLE "Payments"
-CREATE TABLE "Shops"
-CREATE TABLE "Users"
-CREATE TABLE "WorkAt"
-CREATE TABLE "WorkIn"
+    id primary key
+    memberid references "Members" (id)