]> Shamusworld >> Repos - schematic/blob - database-schema.txt
Move DB access to NoteDialog class, new AlertDialog class.
[schematic] / database-schema.txt
1 Supply Chain Management Database (SCheMatic: The Supply Chain Manager-O-Matic)
2 ------------------------------------------------------------------------------
3
4 TABLES:
5
6 Vendor
7 VID (P-key) | VLID | signedNDA | Name
8 CREATE TABLE Vendor (vid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vlid INT, signedNDA TINYINT(1) NOT NULL DEFAULT 0, name VARCHAR(100), FOREIGN KEY (vlid) REFERENCES VendorLevel(vlid)) ENGINE=INNODB;
9
10 VendorLevel
11 VLID (P-key) | VendorUsable | Color | Description
12 CREATE TABLE VendorLevel (vlid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vendorUsable TINYINT(1) NOT NULL DEFAULT 0, color INT(4), description VARCHAR(100)) ENGINE=INNODB;
13
14 VendorType
15 VTID (P-key) | VGID | SeqNo | Description
16 CREATE TABLE VendorType (vtid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vgid INT, seqNo INT(4) NOT NULL, description VARCHAR(100), FOREIGN KEY (vgid) REFERENCES VendorGroup(vgid)) ENGINE=INNODB;
17
18 VendorGroup
19 VGID (P-key) | SeqNo | Description
20 CREATE TABLE VendorGroup (vgid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, seqNo INT(4) NOT NULL, description VARCHAR(100)) ENGINE=INNODB;
21
22 VendorSpecificTypes
23 VID (multi) | VTID (multi)
24 CREATE TABLE VendorSpecificTypes (vid INT, vtid INT, FOREIGN KEY (vid) REFERENCES Vendor(vid), FOREIGN KEY (vtid) REFERENCES VendorType(vtid)) ENGINE=INNODB;
25
26 Location
27 LID (P-key) | VID | Address | City | State | Country | Code
28 CREATE TABLE Location (lid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vid INT, address VARCHAR(100), city VARCHAR(64), state VARCHAR(64), country VARCHAR(64), code VARCHAR(32), FOREIGN KEY (vid) REFERENCES Vendor(vid)) ENGINE=INNODB;
29
30 Contact
31 CID (P-key) | VID | CTID | Name | Email | Address | Phone1 | Phone2 | Fax
32 CREATE TABLE Contact (cid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vid INT, CTID int, name VARCHAR(64), email VARCHAR(64), address VARCHAR(200), phone1 VARCHAR(32), phone2 VARCHAR(32), fax VARCHAR(32), FOREIGN KEY (vid) REFERENCES Vendor(vid), FOREIGN KEY (ctid) REFERENCES ContactType(ctid)) ENGINE=INNODB;
33
34 ContactType
35 CTID (P-key) | Description
36 CREATE TABLE ContactType (ctid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, description VARCHAR(100)) ENGINE=INNODB;
37
38 User
39 UID (P-key) | UCID | Name | Login | Password
40 CREATE TABLE User (uid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ucid int, name VARCHAR(64), login VARCHAR(32), password VARCHAR(64), FOREIGN KEY (ucid) REFERENCES UserClass(ucid)) ENGINE=INNODB;
41
42 UserClass
43 UCID | PrivilegeLevel | Description
44 CREATE TABLE UserClass (ucid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, privilegeLevel INT NOT NULL DEFAULT 0, description VARCHAR(100)) ENGINE=INNODB;
45
46 PurchaseOrder
47 POID (P-key) | VID | Closed | PONumber | OriginalDate | AdjustedDate | Description
48 CREATE TABLE PurchaseOrder (poid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, vid INT, closed TINYINT(1) NOT NULL DEFAULT 0, poNumber VARCHAR(100), originalDate DATE, adjustedDate DATE, description VARCHAR(200), FOREIGN KEY (vid) REFERENCES Vendor(vid)) ENGINE=INNODB;
49
50 Documents
51 DID (P-key) | DTID | VID | POID | Filename | Document
52 CREATE TABLE Documents (did INT NOT NULL PRIMARY KEY AUTO_INCREMENT, dtid INT, vid INT, poid INT, filename VARCHAR(256), document LONGBLOB, FOREIGN KEY (dtid) REFERENCES DocumentType(dtid)) ENGINE=INNODB;
53
54 DocumentType
55 DTID (P-key) | Description
56 CREATE TABLE DocumentType (dtid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, description VARCHAR(100)) ENGINE=INNODB;
57
58 Notes
59 NID (P-key) | UID | POID | Note
60 CREATE TABLE Notes (nid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, uid INT, poid INT, note VARCHAR(200)) ENGINE=INNODB;
61
62 Alerts
63 AID (P-key) | UID | NID | Date | Description
64 CREATE TABLE Alerts (aid INT NOT NULL PRIMARY KEY AUTO_INCREMENT, uid INT, nid INT, date DATE, description VARCHAR(200), FOREIGN KEY (uid) REFERENCES User(uid)) ENGINE=INNODB;
65
66 History
67 UID | Date | Note
68 CREATE TABLE History (uid INT, date DATETIME, note VARCHAR(100), FOREIGN KEY (uid) REFERENCES User(uid)) ENGINE=INNODB;
69
70 -------------------------------------------------------------------------------
71
72 PurchaseRequest
73 PRID (P-key) | UIDRequestor | Description
74 CREATE TABLE () ENGINE=INNODB;
75
76 PRItems
77 PRID (multi) | Quantity | UnitPrice | Description
78 CREATE TABLE () ENGINE=INNODB;
79
80 PurchaseApprovals
81 PRID (multi) | UIDApprover | Approved
82 CREATE TABLE () ENGINE=INNODB;
83
84 Approvers
85 UIDApprover (multi) | UIDRequestor (multi)
86 CREATE TABLE () ENGINE=INNODB;
87