SQL und ACCESS! Ich brauche Hilfe für meine Aufgabe

fhwn.jan

Benutzer
Beiträge
13
Hallo

Ich vorbereite mich für meine Prüfung. Ich habe eine Aufgabe für die Vorbereitung bekommen aber ich kenne mich nicht viel aus.
Ich würde mich freuen, wenn einer von euch mir helfen könnte.

danke
 

Anhänge

  • datenbank1.JPG
    datenbank1.JPG
    87,8 KB · Aufrufe: 7
Werbung:
Um Dir für 4. mal einen Ansatz zu geben, wie ich es grob machen würde. Also, Du hast angenommen eine Vertreter-Tabelle:

Code:
test=# create table vertreter(id int primary key, name text);
CREATE TABL

Wichtig ist, daß da ein PK ist.

Nun 2 Tabellen, eine für die Fahrzeug-Stammdaten (Kennzeichen, bla bla), diese hat wieder einen PK, und eine für Bewegungsdaten (KM-Stand). Diese greift via Foreign Key auf dem PK der Stammdatentabelle zu:

Code:
test=*# create table fahrzeug(id int primary key, name text);
CREATE TABLE
test=*# create table fahrzeug_km_stand(fahrzeug int references fahrzeug, datum date, km_stand int);
CREATE TABLE

Nun brauchen wir noch die Tabelle für die Zuordnung eines Fahrzeuges zu einem Vertreter. Hier nutzen wie nun 2 Foreign Keys auf die jeweiligen Tabellen. Außerdem einen Exclude Constraint, der verhindert, daß ein Fahrzeug zeitgleich an 2 oder mehr Vertreter zugewiesen ist - da müßte man das Auto ja zerteilen.

Code:
test=*# create table vertreter_fahrzeug(vertreter int references vertreter, fahrzeug int references fahrzeug, von_bis daterange, exclude using gist(fahrzeug with =, von_bis with &&));
CREATE TABLE

Voila, Kaffee.
 
Vielendank Akretchmer,

ich habe noch diese Fragen. Kannst du mal schauen? vielen vielen dank
 

Anhänge

  • 1.PNG
    1.PNG
    129,6 KB · Aufrufe: 4
  • 2.PNG
    2.PNG
    63,2 KB · Aufrufe: 3
  • 3.PNG
    3.PNG
    351,7 KB · Aufrufe: 2
Ich möchte von Dir *etwas* Eigeninitiative sehen. Und hier einfach nur 3 Bilder mit den Fragen reinzuknallen ist schon etwas, ähm, dreist.
 
Werbung:
für 1. Normal form eine Lieferant ID erstellen damit keine duplikate mehr in dieser Spalte gibt
2. Form in 2 Tabellen zeigen damit auch keine doppelte zeilen mehr gibt
stimmt es so?
 
Zurück
Oben