Guest User

Untitled

a guest
Oct 24th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. CHARSET utf8;
  2.  
  3. CREATE DATABASE events;
  4.  
  5. USE events;
  6.  
  7. CREATE TABLE IF NOT EXISTS event_categories(
  8. auto_id INT NOT NULL AUTO_INCREMENT,
  9. id INT NOT NULL,
  10. lang ENUM('pt','en','es') NOT NULL,
  11. name VARCHAR(50) NOT NULL,
  12. description TEXT,
  13. unique(id, lang),
  14. PRIMARY KEY(auto_id)
  15. )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  16.  
  17.  
  18. CREATE TABLE IF NOT EXISTS events(
  19. auto_id INT NOT NULL AUTO_INCREMENT,
  20. id INT NOT NULL,
  21. lang ENUM('pt','en','es') NOT NULL,
  22. id_org_unit INT,
  23. id_category INT NOT NULL,
  24. name VARCHAR(255) NOT NULL,
  25. description TEXT,
  26. start_day DATE NOT NULL,
  27. start_time TIME,
  28. end_day DATE,
  29. end_time TIME,
  30. address VARCHAR(100),
  31. UNIQUE(id, lang),
  32. UNIQUE(lang, name, start_day, start_time, address),
  33. FOREIGN KEY(id_category, lang) REFERENCES event_categories(id, lang) ON DELETE CASCADE,
  34. PRIMARY KEY(auto_id)
  35. )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  36.  
  37.  
  38. CREATE TABLE IF NOT EXISTS event_media_resources(
  39. auto_id INT NOT NULL AUTO_INCREMENT,
  40. id INT NOT NULL,
  41. id_event INT NOT NULL,
  42. lang ENUM('pt','en','es') NOT NULL,
  43. label VARCHAR(100),
  44. type ENUM('image', 'video', 'audio', 'link','other') NOT NULL,
  45. description VARCHAR(250),
  46. url VARCHAR(250) NOT NULL,
  47. FOREIGN KEY(id_event, lang) REFERENCES events(id, lang) ON DELETE CASCADE,
  48. UNIQUE(id, lang),
  49. PRIMARY KEY(auto_id)
  50. )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  51.  
  52.  
  53. CREATE TABLE IF NOT EXISTS persons(
  54. id INT NOT NULL AUTO_INCREMENT,
  55. name VARCHAR(100) NOT NULL,
  56. PRIMARY KEY(id)
  57. )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  58.  
  59.  
  60. CREATE TABLE IF NOT EXISTS person_infos(
  61. id_person INT NOT NULL,
  62. id INT NOT NULL AUTO_INCREMENT,
  63. lang ENUM('pt','en','es') NOT NULL,
  64. name VARCHAR(50) NOT NULL,
  65. content TEXT,
  66. FOREIGN KEY(id_person) REFERENCES persons(id) ON DELETE CASCADE,
  67. UNIQUE(id, lang),
  68. PRIMARY KEY(id)
  69. )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
  70.  
  71.  
  72. CREATE TABLE org_units(
  73. auto_id INT NOT NULL AUTO_INCREMENT,
  74. id INT NOT NULL,
  75. lang ENUM('pt','en','es') NOT NULL,
  76. name VARCHAR(100) NOT NULL,
  77. UNIQUE(id, lang),
  78. PRIMARY KEY(auto_id)
  79. )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  80.  
  81.  
  82.  
  83. CREATE TABLE IF NOT EXISTS events_have_persons(
  84. id_event INT NOT NULL,
  85. id_person INT NOT NULL,
  86. FOREIGN KEY(id_event) REFERENCES events(id) ON DELETE CASCADE,
  87. FOREIGN KEY(id_person) REFERENCES persons(id) ON DELETE CASCADE,
  88. PRIMARY KEY(id_event, id_person)
  89. )ENGINE=InnoDB DEFAULT CHARSET=utf8;
  90.  
  91.  
  92. ALTER TABLE events ADD FOREIGN KEY(id_org_unit, lang) REFERENCES org_units(id, lang) ON DELETE CASCADE;
Add Comment
Please, Sign In to add comment