SQL

o++oPS

Zwei Darstellungen einer Tabelle:

STID, NAME, ORT?, STIP, FAK,( KURS, NOTE l),( PROJ, STUNDEN m) m
1234 Ernst Oehna 500 Mathe Algebra 1 Fritz 4
Logik 2 Otto 2
          Geschichte 1    
1245 Sophia Berlin 400 Infor Algebra 3 Mao 5
          Datenbanken 1 Ming 4
          Otto 1 Otto 6
2456 Clara Oehna 450 Infor Datenbanken 1
          OCaml 2    
4567 Ulrike   400 Kunst     Monet 10
5678 Kaethe Gerwisch 0 Kunst Repin 1 Monet 20
          Apel    
(students.tab)

STID,NAME,ORT?,STIP,FAK,(KURS,NOTE l),(PROJ,STUNDEN m) m
1234  Ernst  Oehna  500  Mathe
  Algebra  1 
  Logik  2 
  Geschichte  1 
    Fritz  4 
    Otto  2 
1245  Sophia  Berlin  400  Infor
  Algebra  3 
  Datenbanken  1 
  Otto  1 
    Mao  5 
    Ming  4 
    Otto  6 
3456  Clara  Oehna  450  Infor
  Datenbanken  1 
  OCaml  2 
4567  Ulrike  empty  400  Kunst
    Monet  10 
5678  Kaethe  Gerwisch  0  Kunst
  Repin  1 
  Apel  1 
    Monet  20 
(students.hsq)

         SQL erfordert die Speicherung der obigen Tabelle students in drei Tabellen:

STID, NAME, ORT?, STIP, FAK m
1234 Ernst Oehna 500 Mathe
1245 Sophia Berlin 400 Infor
3456 Clara Oehna 450 Infor
4567 Ulrike   400 Kunst
5678 Kaethe Gerwisch 0 Kunst
        (students1.tab)

         

STID, KURS, NOTE m
1234 Algebra 1
1234 Geschichte 1
1234 Logik 2
1245 Algebra 3
1245 Datenbanken 1
1245 Otto 1
3456 Datenbanken 1
3456 OCaml 2
5678 Apel 1
5678 Repin 1
   (exams1.tab) 

      

STID, PROJ, STUNDEN m
1234 Fritz 4
1234 Otto 2  
1245 Mao 5
1245 Ming 4  
1245 Otto 6  
4567 Monet 10  
5678 Monet 20  
           (projects1.tab)