Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 14th, 2012  |  syntax: None  |  size: 2.95 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. SQL Design Decision: Should I merge these tables?
  2. mysql> describe chapters;
  3. +--------------------+------------------+------+-----+---------+----------------+
  4. | Field              | Type             | Null | Key | Default | Extra          |
  5. +--------------------+------------------+------+-----+---------+----------------+
  6. | id                 | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
  7. | school_id          | int(10) unsigned | NO   | MUL |         |                |
  8. | is_active          | tinyint(1)       | NO   |     | 1       |                |
  9. | registration_date  | date             | YES  |     | NULL    |                |
  10. | state_registration | varchar(10)      | YES  |     | NULL    |                |
  11. | renewal_date       | date             | YES  |     | NULL    |                |
  12. | population         | int(10) unsigned | YES  |     | NULL    |                |
  13. +--------------------+------------------+------+-----+---------+----------------+
  14. 7 rows in set (0.01 sec)
  15.  
  16. mysql> describe schools;
  17. +----------------------+------------------------------------+------+-----+---------+----------------+
  18. | Field                | Type                               | Null | Key | Default | Extra          |
  19. +----------------------+------------------------------------+------+-----+---------+----------------+
  20. | id                   | int(10) unsigned                   | NO   | PRI | NULL    | auto_increment |
  21. | full_name            | varchar(255)                       | NO   | MUL |         |                |
  22. | classification       | enum('high','middle','elementary') | NO   |     |         |                |
  23. | address              | varchar(255)                       | NO   |     |         |                |
  24. | city                 | varchar(40)                        | NO   |     |         |                |
  25. | state                | char(2)                            | NO   |     |         |                |
  26. | zip                  | int(5) unsigned                    | NO   |     |         |                |
  27. | principal_first_name | varchar(20)                        | YES  |     | NULL    |                |
  28. | principal_last_name  | varchar(20)                        | YES  |     | NULL    |                |
  29. | principal_email      | varchar(20)                        | YES  |     | NULL    |                |
  30. | website              | varchar(20)                        | YES  |     | NULL    |                |
  31. | population           | int(10) unsigned                   | YES  |     | NULL    |                |
  32. +----------------------+------------------------------------+------+-----+---------+----------------+
  33. 12 rows in set (0.01 sec)
  34.        
  35. CREATE TABLE School (
  36.    SchoolID int unsignedNOT NULL AUTO_INCREMENT,
  37.    CONSTRAINT PK_School PRIMARY KEY (SchoolID)
  38. )
  39.  
  40. CREATE TABLE Chapter (
  41.    ChapterID int unsigned NOT NULL,
  42.       CONSTRAINT PK_Chapter PRIMARY KEY (ChapterID)
  43.       CONSTRAINT FK_Chapter_School FOREIGN KEY (ChapterID) REFERENCES School (SchoolID)
  44. )