1. #CREATE DATABASE Hochschule
  2.  
  3. DROP TABLE IF EXISTS Lehrveranstaltung_Studiengang;
  4. DROP TABLE IF EXISTS Studiengang_Dozent;
  5. DROP TABLE IF EXISTS Student_Lehrveranstaltung;
  6. DROP TABLE IF EXISTS Assistent_Dozent;
  7. DROP TABLE IF EXISTS Dozent_Lehrveranstaltung;
  8. DROP TABLE IF EXISTS Raum_Lehrveranstaltung;
  9. DROP TABLE IF EXISTS Lehrveranstaltung;
  10. DROP TABLE IF EXISTS Raum;
  11. DROP TABLE IF EXISTS Assistent;
  12. DROP TABLE IF EXISTS Student;
  13. DROP TABLE IF EXISTS Studiengang;
  14. DROP TABLE IF EXISTS Fachbereich;
  15. DROP TABLE IF EXISTS Dozent;
  16.  
  17. CREATE TABLE Dozent
  18. (
  19. id INT NOT NULL AUTO_INCREMENT,
  20. Name VARCHAR(50) NOT NULL,
  21. Geburtsdatum DATE NOT NULL,
  22. Adresse VARCHAR(100) NOT NULL,
  23. Tel INT NOT NULL,
  24. Photo BLOB NOT NULL,
  25. PRIMARY KEY (id),
  26. CHECK (Name!='')
  27. ) ENGINE=INNODB;
  28.  
  29.  
  30. CREATE TABLE Fachbereich
  31. (
  32. id INT NOT NULL AUTO_INCREMENT,
  33. name VARCHAR(30) NOT NULL,
  34. dekan VARCHAR(100) NOT NULL,
  35. gebaeude VARCHAR(10) NOT NULL,
  36. PRIMARY KEY (id)
  37. ) ENGINE=INNODB;
  38.  
  39. CREATE TABLE Studiengang
  40. (
  41. id INT NOT NULL AUTO_INCREMENT,
  42. name VARCHAR(30) NOT NULL,
  43. fachbereich INT NOT NULL,
  44. PRIMARY KEY (id),
  45. FOREIGN Key (fachbereich) REFERENCES Fachbereich(id)
  46. ) ENGINE=INNODB;
  47.  
  48. CREATE TABLE Student
  49. (
  50. id INT NOT NULL AUTO_INCREMENT,
  51. Name VARCHAR(50) NOT NULL,
  52. Geburtsdatum DATE NOT NULL,
  53. Adresse VARCHAR(100) NOT NULL,
  54. Studiengang INT NOT NULL,
  55. PRIMARY KEY (id),
  56. FOREIGN Key (Studiengang) REFERENCES Studiengang(id)
  57. ) ENGINE=INNODB;
  58.  
  59. CREATE TABLE Assistent
  60. (
  61. id INT NOT NULL AUTO_INCREMENT,
  62. Name VARCHAR(50) NOT NULL,
  63. Geburtsdatum DATE NOT NULL,
  64. Adresse VARCHAR(100) NOT NULL,
  65. Tel INT NOT NULL,
  66. Studiengang INT NOT NULL,
  67. PRIMARY KEY (id),
  68. FOREIGN Key (Studiengang) REFERENCES Studiengang(id)
  69. ) ENGINE=INNODB;
  70.  
  71. CREATE TABLE Raum
  72. (
  73. id INT NOT NULL AUTO_INCREMENT,
  74. Plaetze INT NOT NULL,
  75. Ausruestung VARCHAR(100),
  76. PRIMARY KEY (id),
  77. CHECK (Plaetze>0)
  78. ) ENGINE=INNODB;
  79.  
  80. CREATE TABLE Lehrveranstaltung
  81. (
  82. id INT NOT NULL AUTO_INCREMENT,
  83. name VARCHAR(30) NOT NULL,
  84. themen VARCHAR(100) NOT NULL,
  85. PRIMARY KEY (id),
  86. UNIQUE(themen)
  87. ) ENGINE=INNODB;
  88.  
  89.  
  90.  
  91. # Relationstabellen
  92.  
  93. CREATE TABLE Raum_Lehrveranstaltung
  94. (
  95. Raum_id INT NOT NULL,
  96. Lehrveranstaltung_id INT NOT NULL,
  97. FOREIGN Key (Raum_id) REFERENCES Raum(id),
  98. FOREIGN Key (Lehrveranstaltung_id) REFERENCES Lehrveranstaltung(id)
  99. ) ENGINE=INNODB;
  100.  
  101. CREATE TABLE Dozent_Lehrveranstaltung
  102. (
  103. Dozent_id INT NOT NULL,
  104. Lehrveranstaltung_id INT NOT NULL,
  105. FOREIGN Key (Dozent_id) REFERENCES Dozent(id),
  106. FOREIGN Key (Lehrveranstaltung_id) REFERENCES Lehrveranstaltung(id)
  107. ) ENGINE=INNODB;
  108.  
  109. CREATE TABLE Assistent_Dozent
  110. (
  111. Assistent_id INT NOT NULL,
  112. Dozent_id INT NOT NULL,
  113. FOREIGN Key (Assistent_id) REFERENCES Assistent(id),
  114. FOREIGN Key (Dozent_id) REFERENCES Dozent(id)
  115. ) ENGINE=INNODB;
  116.  
  117. CREATE TABLE Student_Lehrveranstaltung
  118. (
  119. Student_id INT NOT NULL,
  120. Lehrveranstaltung_id INT NOT NULL,
  121. FOREIGN Key (Student_id) REFERENCES Student(id),
  122. FOREIGN Key (Lehrveranstaltung_id) REFERENCES Lehrveranstaltung(id)
  123. ) ENGINE=INNODB;
  124.  
  125. CREATE TABLE Studiengang_Dozent
  126. (
  127. Studiengang_id INT NOT NULL,
  128. Dozent_id INT NOT NULL,
  129. FOREIGN Key (Studiengang_id) REFERENCES Studiengang(id),
  130. FOREIGN Key (Dozent_id) REFERENCES Dozent(id)
  131. ) ENGINE=INNODB;
  132.  
  133. CREATE TABLE Lehrveranstaltung_Studiengang
  134. (
  135. Lehrveranstaltung_id INT NOT NULL,
  136. Studiengang_id INT NOT NULL,
  137. FOREIGN Key (Lehrveranstaltung_id) REFERENCES Lehrveranstaltung(id),
  138. FOREIGN Key (Studiengang_id) REFERENCES Studiengang(id)
  139. ) ENGINE=INNODB;