Hallo,
ich habe da 1-2 Fragen (:
Einmal bei dem erstellen von Tabellen mit Fremdschlüsseln. In den Musterlösungen gibt es einmal, das der Fremdschlüssel am Ende hinzugefügt wird mit ALTER.
ALTER TABLE Personal
ADD CONSTRAINT fk_abt FOREIGN KEY (Abteilung) REFERENCES Abteilungen(AID)
INITIALLY IMMEDIATE DEFERRABLE;
Mich stört das INITIALLY IMMEDIATE DEFERRABLE. Ich dachte eigentlich INITIALLY IMMEDIATE sei die Voreinstellung und mit INITIALLY DEFERRED sorgt man dafür, das die Prüfung ans ende der Transaktion verschoben wird. Aber was ist dann INITIALLY IMMEDIATE DEFERRABLE?
Und welchen Sinn hat es dort unten? Hätte man das so nicht schon beim CREATE TABLE Personal reinbauen können?
Oder welche Prüfung wird ans Ende geschoben? Das vom erstellen der Tabelle oder später wenn man Werte einfügt?
Und zu ER-Diagrammen. In der ersten Klausur war ja angeben man solle die Notation, die bekannt ist aus der Vorlesung, benutzen.
In Skript sowieso in den Übungsblättern wird [1,*] etc. und n, 1 etc. benutzt. Sind beide okay oder nur eines davon?
Und zu ER-Diagrammen. In der ersten Klausur war ja angeben man solle die Notation, die bekannt ist aus der Vorlesung, benutzen.
In Skript sowieso in den Übungsblättern wird [1,*] etc. und n, 1 etc. benutzt. Sind beide okay oder nur eines davon?
Ich vermute, dass beide in Ordnung sind! Solange du kontinuierlich bei der einen Schreibweise bleibst.
In der Schule früher habe ich es genau andersrum gelernt. 1:n = ein x zu n y.
Für die GDB stelle ich es mir als Tabelle vor.
x|y
auf der seite wo der Wert nur einmal vorkommen soll ist die 1, da wo der Wert mehrmals vorkommen soll n!
Hauptsache du bleibst konstant bei deiner Wahl!
Mich stört das INITIALLY IMMEDIATE DEFERRABLE. Ich dachte eigentlich INITIALLY IMMEDIATE sei die Voreinstellung und mit INITIALLY DEFERRED sorgt man dafür, das die Prüfung ans ende der Transaktion verschoben wird. Aber was ist dann INITIALLY IMMEDIATE DEFERRABLE?
Jedes Contraint besitzt zwei Eigenschaften:
a) DEFERRABLE vs NOT DEFERRABLE: Wenn DEFERRABLE angegeben ist,
kann die Auswertung des Contraints bis an das Ende späterer Änderungstransaktionen (das ist Transaktion, in der sowas wie "UPDATE Personal …" vorkommt) verzögert werden (es wird dann am Anfang einer Änderungstransaktion mit SET CONSTRAINTS explizit angegeben, welcher Modus gewünscht ist).
b) INITIALLY IMMEDIATE vs INITIALLY DEFERRED: Legt fest, welcher Modus verwendet werden soll, wenn nicht mittels SET CONSTRAINTS der Modus explizit angeben wird.
Im konkreten Fall heißt dies also: Das Constraint wird standardmäßig sofort geprüft, ich kann aber mit SET CONSTRAINTS die Prüfung verzögert durchführen lassen, falls ich dies wünsche/benötige.
Und welchen Sinn hat es dort unten? Hätte man das so nicht schon beim CREATE TABLE Personal reinbauen können?
Das geht hier nicht, weil dieser Fremdschlüssel auf die Tabelle Abteilung verweist, die zum Zeitpunkt der Definition von Personal noch nicht existierte.
Oder welche Prüfung wird ans Ende geschoben? Das vom erstellen der Tabelle oder später wenn man Werte einfügt?
Hier scheinen viele ein Verständnisproblem zu haben. Daher nochmal explizit:
- Das Trennen der Definition eines Contraints von der Definition der zugehörigen Tabelle (aktuelle Transaktion in DDL: CREATE TABLE …; ALTER TABLE ADD CONSTRAINT) betrifft im Wesentlichen den Fall, dass es zyklische Referenzen zwischen mehreren Tabellen existieren (z.B. Tabelle Personal referenziert Tabelle Abteilung und Tabelle Abteilung referenziert Tabelle Personal). Zum Erzeugen von zyklischen Referenzen müssen die Tabellen in eine sequentielle Reihenfolge gebracht werden, in der diese mittels CREATE TABLE erzeugt werden. Zum Zeitpunkt der Definition der ersten Tabelle existieren die Tabellen, die von der zu erzeugenden Tabelle referenziert werden, jedoch noch nicht. Daher kann das Constraint erst nach der Definition der referenzierten Tabelle nachträglich hinzugefügt werden (ALTER TABLE).
- [NOT] DEFERRABLE und INITIALLY IMMEDIATE/DEFERRED betrifft spätere Transaktionen (in der DML), in denen Daten in dieser Tabelle eingefügt/gelöscht/geändert werden. Dies wird auch (aber nicht nur) bei zyklischen Referenzen benötigt, um Daten in die Tabellen einzufügen. Klassischer Fall: die Tabellen sind leer. Ich kann aber in Personal nur einen Datensatz einfügen, der eine gültige Referenz auf einen Datensatz in der Tabelle Abteilung besitzt. Um aber einen Datensatz in der Tabelle Abteilung einfügen zu können, muss ich auf einen gültigen Datensatz in der Tabelle Personal referenzieren. Das klappt nur, wenn ich die Auswertung des Constraints an das Ende meine Änderungstransaktion verschieben kann.
Hängen die Ergebnisse zur 2. Klausur vielleicht schon aus?
Hängen die Ergebnisse zur 2. Klausur vielleicht schon aus?
Kam eben (19:12) per email rein.
Liebe Studierende,
die vorläufigen Ergebnisse der GDB-Klausur von heute (30.03.2010) sind am schwarzen Brett vor F-516 einsehbar. Am 9.4.2010, um 11:30 Uhr, wird die Möglichkeit zur Einsichtnahme gegeben; eine vorherige Anmeldung per E-Mail an panse@informatik.uni-hamburg.de ist hierfür erforderlich. Die STiNE-Eintragung der Noten wird nach der Einsichtnahme erfolgen.
Freundliche Gruesse,
Norbert Ritter
Vorlaeufige Ergebnisse der heutigen Klausur haengen aus (vor F-516).
Ich radel jetzt gleich zum Ikum und schau mal nach;)
kann jemand ein bild machen und es hochladen???
jo ein bild wäre super, bis wann könnte man denn sonst noch zum ikum und nachsehn (heute natürlich…schon zu spät?)
So hab nen Bild da, wer es möchte PN an mich. Bin aber erstmal etwas essen.
Gruß
mach das bild doch ins verzeichnis. will nicht unbedingt meine matrikelnr an jemanden geben, den ich nicht kenne…
liegt nun auch im scratchverzeichnis als "2010-03-30-GDB". Normal antworte ich Leuten auch nicht, die ich nicht kenne, nurmal so am Rande….
Was bedeutet das "liegt nun auch im scratchverzeichnis als "2010-03-30-GDB" wie finde ich???
hilfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.
https://www.fb18.de/mybb/showthread.php?tid=10205Da erstes Programm die Anleitung und dann scratch suchen..
Irgendwie sieht das schlechter aus als 1. Termin oder?
War da der Schnitt nicht bei 2.7?
Mir fehlt 1 kleiner klitze kleiner Punkt zu einer besseren Note ): Ob sich bei Klausureinsicht jammern lohnt? ):
hab immer noch nicht wie seheich die Ergebnisse?bitte hilfe
wie kann ich die Ergebnisse von 2.Klausur erreichen wer hat das fotografiert? ich kann nicht nach informatikum gehen leider????
ja aber wie finde ich scratchverzeichnis als "2010-03-30-GDB". so was kenne ich leider nicht.
ich kann das Ergebnisse von GDB 2.Termin nicht lesen oder hab kein ahnung davon kann jemand das mir per mail schicken??? zu inhx102@studium.uni-hamburg.de bitte
kann jemand die Ergebnisse hier einfügen??? die andere programe kenne ich nicht.
danke
kann jemand die Ergebnisse hier einfügen???
Nein! (Datenschutz)
Ich kann verstehen, dass jemand möglichst schnell Bescheid wissen will. Andererseits macht es vorerst keinen Unterschied, da es keine weitere Klausur gibt, oder?
Also, ich sehe mindestens zwei Möglichkeiten:
1. Auf den Servern des Rechenzentrums liegt im Verzeichnis /home/scratch/ die Lösung.
Wie Du mit Windows darauf zugreifen kannst, findest Du hier angeleitet:
https://www.fb18.de/mybb/showthread.php?tid=102052. Du gehst zum Ikum
3. Du wartest bis es in Stine steht.