E/R Diagramm < Datenbanken < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:54 Do 28.04.2005 | Autor: | Rusty |
Hey!
Hatten in der Uni gerade ne kurze Einführung zu Datenbanken und sollen jetzt mal selber ran und ne kleine Problemstellung lösen. Ist an sich auch kein Problem doch es stellt sich mir nun die Frage ob ein Attribut das ja eigentlich die Eigenschaft der Unteilbarkeit erfüllen soll Unterattribute haben darf wenn es diese Bedingung eben nicht erfüllt....
konkret: Attribut "Adresse" mit den Unterattributen "Straße, Haus Nr., Plz, Stadt, Land"
Habe das beim googeln durch das Netz mal irgendwo so gesehen, leider finde ich die Seite nicht mehr . Ein Komolitone von mir der sich seit Jahren mit Datenbanken beschäftigt ist sich auch nicht ganz sicher bei der Sache...
Gruß Rusty
|
|
|
|
Hallo,
Ja. Das ist in der Tat korrekt.
Ist ein größeres Thema. Hr.Dr.Codd hat uns im Jahre 1970 seine Normalformenlehre beschert.
1. Normalform: Jedes Attribut muss Atomar sein!
Am besten du lernst einmal die ersten drei. Sind irgendwie auch logisch und eine äußerst wichtige Grundlage fürs Studium.
http://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29
Ich hoffe ich konnte dir damit helfen.
Wenn noch Fragen sind, einfach posten.
Gruß
Tobias
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:40 Do 28.04.2005 | Autor: | Rusty |
Hey Tobias!
Danke dir für deine Antwort. Es war mir eigentlich schon vorher klar.
Etwas seltsam war da halt unsere Vorlesung:
Bsp. Kunde (n) bestellt Artikel(m) wobei die der Beziehung "bestellt" noch die beiden Attribute "Lieferadresse" und "Bestelldatum" zugeordnet worden. Lieferadresse ist aber eben nicht atomar - also FALSCH. Habe eben dann im Internet ein Bsp. gefunden wo ein solches Attribut noch mit Unterattributen belegt wurde - das ist dann wohl nicht möglich?
Sehe ich das richtig? (Nur noch mal zur Kontrolle....)
gruß rusty
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:51 Do 28.04.2005 | Autor: | mathenix |
> Hey Tobias!
>
> Danke dir für deine Antwort. Es war mir eigentlich schon
> vorher klar.
> Etwas seltsam war da halt unsere Vorlesung:
> Bsp. Kunde (n) bestellt Artikel(m) wobei die der Beziehung
> "bestellt" noch die beiden Attribute "Lieferadresse" und
> "Bestelldatum" zugeordnet worden. Lieferadresse ist aber
> eben nicht atomar - also FALSCH. Habe eben dann im Internet
> ein Bsp. gefunden wo ein solches Attribut noch mit
> Unterattributen belegt wurde - das ist dann wohl nicht
> möglich?
> Sehe ich das richtig? (Nur noch mal zur Kontrolle....)
>
> gruß rusty
Es ist vielleicht besser bei der 'Adresse' von einem Objekt zu reden,
welches die Attribute 'Straße', 'Hausnr.', 'Stadt', etc hat. Das ist dann
zumindest mit der objektorientierten Programmierung verträglicher.
Die Beziehung 'bestellt' kann auch als Methode des Objektes 'Artikel'
verstanden werden, die eben die 'Lieferadresse' und das 'Bestelldatum'
(beides Objekte mit Attributen) als Parameter bekommt:
Artikel.bestellen(Lieferadresse, Bestelldatum). Das Objekt 'Artikel' ist
dem Objekt 'Kunden' sichtbar und die Methode 'bestellen' zugreifbar.
Man könnte so etwas sehr schön z.B. in Java implementieren.
Es ist ja auch Sinn des ER-Modells implementiert werden
Gruß, mathenix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:08 Fr 29.04.2005 | Autor: | MyStiC1985 |
Hallo Rusty,
Ja, das ist in der Tat korrekt. Die Liefereradresse würde redundante Informationen beeinhalten, das entspräche nicht den Normalisierungsgrundsätzen.
Richtig wäre ein Feld "Lieferer_id" (Sekundärschlüssel) zu integrieren, welches auf den Primärschlüssel (Lieferer_ID) in der Lieferertabelle verweist, in der auch die Adresse gespeichert ist.
Dann ist es richtig.
Gruß
Tobias
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:53 Fr 29.04.2005 | Autor: | Rusty |
Hey Leute!
@ mathenix
Jo, dem kann ich nur zustimmen. Ein Objekt kann ja als abstrakte Darstellung quasie jede Eigenschaft
annehmen die dann eben über interne Variablen und Methoden realisiert werden. Es ging mir hier aber
nicht um eine Realisierung sondern um ein den "Vorschriften" entsprechendes Modell das eben formal Korrekt sein muss; andernfalls wäre es eben leider falsch od. teilweise falsch was eben zu Punkt abzügen führt. Trotzdem danke für deine Antwort
@ Tobias
Danke für deine Bestätigung. Wollte die Sache nicht noch unnötigt aufblähen und habe in meinem Modell einfach auf eine Adresse verzichtet - ansonsten hätte ich die Attribute einfach noch Entity "Kunde" zugeordnet. War ja auch nur so gedacht das man das Prinzip verstanden hat.......
Bin mal auf die Korrektur gespannt
Gruß Rusty
|
|
|
|