Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 19

Thema: Frage zum DB Design

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.12.2001
    Beiträge
    27

    Frage zum DB Design

    Hi,

    die Datenbank soll Ausleihvorgänge von Medien verschiedenster Art speichern, Medientypen sollen später einfach hinzugefügt werden können.

    Bisher habe ich folgendes:

    + = PK, # = FK

    Ausleiher: Name, Vorname, +Mitgliedsnummer
    Exemplar: +Inventarnummer, Beschreibung, #MedientyTyp
    Medientyp: +MedienTyp
    Autoren: Name, Vorname, +AutorID
    Buch: #AutorID, #Inventarnummer, #Beschreibung, ISBN
    CDDVD: #AutorID, #Inventarnummer, #Beschreibung
    Artikel: #AutorID, #inventarnummer, #Beschreibung
    Ausleihvorgang: Ausleih Datum, Rückgabe Datum, #Mitgliedsnummer, #Inventarnummer


    Da ich allerdings Neuling im DB Entwurf bin gibts da sicher noch Verbesserungen?

    Julius
    Geändert von deathb (14-04-2006 um 18:25 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von deathb
    Hi,

    die Datenbank soll Ausleihvorgänge von Medien verschiedenster Art speichern, Medientypen sollen später einfach hinzugefügt werden können.

    Bisher habe ich folgendes:

    + = PK, # = FK

    Ausleiher: Name, Vorname, +Mitgliedsnummer
    Exemplar: +Inventarnummer, Beschreibung, #MedientyTyp
    Medientyp: +MedienTyp
    Autoren: Name, Vorname, +AutorID
    Buch: #AutorID, #Inventarnummer, #Beschreibung, ISBN
    CDDVD: #AutorID, #Inventarnummer, #Beschreibung
    Artikel: #AutorID, #inventarnummer, #Beschreibung
    Ausleihvorgang: Ausleih Datum, Rückgabe Datum, #Mitgliedsnummer, #Inventarnummer


    Da ich allerdings Neuling im DB Entwurf bin gibts da sicher noch Verbesserungen?

    Julius
    Das fehlt einiges. Auf die schnelle ist dein Artikel nicht richtig normalisiert worden. Den kannst du doch über z. B. MedienTyp <-> ArtikelId erreichen.
    Deine Beschreibung sollte nur 1x vorkommen, und nicht an jeder Ecke
    nochmals gespeichert werden.

    Um es kurz zu machen... Ich vermute dir fehlt noch das Verständnis für
    die 3. Normalform.
    Geändert von Romanday (15-04-2006 um 08:53 Uhr)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.03.2005
    Beiträge
    16
    Ich würds so machen:
    ausleiher: id(mitgliedsnr),name,vorname
    medien: id,typ,inventar,isbn,beschreibung,ausleiher(=mitgl iedsnummer, 0 wenn nicht ausgeliehen),ausleihdatum,rückgabedatum

  4. #4
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Xato
    Ich würds so machen:
    ausleiher: id(mitgliedsnr),name,vorname
    medien: id,typ,inventar,isbn,beschreibung,ausleiher(=mitgl iedsnummer, 0 wenn nicht ausgeliehen),ausleihdatum,rückgabedatum
    Das funktioniert nur wenn die Cd, Video nur 1x
    im Sortiment vorhanden ist. Und das ist doch bei einer
    Videothek nicht der Fall!?
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.12.2001
    Beiträge
    27
    Hab das ganze überarbeitet, hier ist ein Bild der aktuellen Fassung:

    home.pages.at/metalfan

    bin grade dabei verschiedene Datensätze zu testen.

    Julius

  6. #6
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von deathb
    Hab das ganze überarbeitet, hier ist ein Bild der aktuellen Fassung:

    home.pages.at/metalfan

    bin grade dabei verschiedene Datensätze zu testen.

    Julius
    Wie gesagt 3. Normalform.
    Deine Medientypen sind noch nicht richtig normalisiert.
    Longtext ist vielleicht ein bissle heftig, text reicht doch bestimmt aus?
    Ein User ist doch ein Suplier, oder gibt es noch andere Arten von Usern?
    Es fehlt noch die Darstellung der Beziehungen (1-1, 1-n usw.).
    Wie willst Du dir alle DVDs der Kategorie Action anzeigen lassen?
    Darf ein Autor z. B. ein Buch und eine DVD vertreiben, wenn ja wie
    findest Du die?
    item_All_Author ist überflüssig.
    Geändert von Romanday (16-04-2006 um 23:39 Uhr)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  7. #7
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    An der Postleitzahl fällt mir was auf: Es können 2 Orte die gleiche PLZ haben. So zum Beispiel Aschaffenburg/Schweinheim und Gailbach. Beide 63743. Das ist bei dir nicht möglich.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  8. #8
    Registrierter Benutzer
    Registriert seit
    07.12.2001
    Beiträge
    27
    Also die Spalte Typ hat zb die Werte AudioCD, DatenCD, DVD, Buch. Zusammen mit der Identity ist es doch machbar das man die Zahlen 1-4 in diesem Beispiel für Typen in der Tabelle Item verwendet?

    select * from Mediatype;
    +----------+---------+
    | Identity | Type |
    +----------+---------+
    | 1 | DataCD |
    | 2 | AudioCD |
    | 3 | Book |
    +----------+---------+

    select * from Item;
    +------------------------------------------------------------------------------------------------------+----------+------------------+---------------------+-------------------+---------------------------------------+
    | Description | Identity | SupplierIdentity | CopyInventorynumber | MediatypeIdentity | Titel |
    +------------------------------------------------------------------------------------------------------+----------+------------------+---------------------+-------------------+---------------------------------------+
    | Jeder, der im Bereich Rechnernetze und Datenkommunikation tätig i
    st... | 1 | 1 | 9 | 3 | Taschenbuch Rechnernetze und Internet |
    | Vor ihr liegt ein Sommer, in dem | 2 | 2 | 2 | 3 | Sommerdiebe |
    | Dieser eine Satz, mit dem er im Juli 1997 seinen Kapitän Jan Ullrich zum Tour-de-France-Sieg trieb, | 3 | 2 | 8 | 3 | Quäl dich du Sau |
    | Es heißt das dritte Album ist die Feuertaufe..., | 4 | 3 | 7 | 2 | Coldplay |
    | Stadium Arcadium führt den Weg der Peppers in aller Konsequenz fort: Herrlich aufputschendes F | 5 | 4 | 6 | 2 | Stadium Arcadium |
    | test123test | 6 | 2 | 5 | 1 | Titeltest |
    +------------------------------------------------------------------------------------------------------+----------+------------------+---------------------+-------------------+---------------------------------------+



    Bei Datentypen hab ich erstmal nur zwschen Zahl und Text unterschieden, das wird noch angepasst.
    Das ganze ist eine Schulbibliothek, ein User war erstmal mein erster Begriff für einen Schüler - die einzigste Kategorie die es also gibt ist Bildung. Der Supplier ist zB. eine Buchhandlung.
    Autoren dürfen mehrer Medientypen geschrieben/erstellt haben.
    Item_All_Author ordnet in jeder Zeile einem Item einen Author zu....dadurch kann ein Item von mehreren Authoren kommen.

    Zum Auffinden aller Items eines Authors dessen Vorname = Helme oder Nachname = Helme

    SELECT Surname, `First Name`, Type, Titel FROM `Item_All_Author`, Author, Item, Mediatype WHERE (((`Item_All_Author`.AuthorIdentity = Author.Identity) AND (`Item_All_Author`.ItemIdentity = Item.Identity) AND (Item.MediatypeIdentity = Mediatype.Identity)) AND ((Author.Surname = 'Helme') OR (Author.`First Name` = 'Helme')));
    +---------+------------+--------+---------------------------------------+
    | Surname | First Name | Type | Titel |
    +---------+------------+--------+---------------------------------------+
    | Helme | Heine | DataCD | Titeltest |
    | Helme | Heine | Book | Taschenbuch Rechnernetze und Internet |
    | Udo | Bölts | Book | Quäl dich du Sau |
    +---------+------------+--------+---------------------------------------+


    Wozu braucht man 1-1, 1-n,n-m überhaupt?

    @turbohummel: durch Identity (auto_increment) sind die zeilen eindeutig
    Geändert von deathb (17-04-2006 um 11:33 Uhr)

  9. #9
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Ich würde Identity weglassen, und einen aus "Name" und "PLZ" zusammengesetzten PK definieren.

    Überhaupt gefällt mir der Name "Identity" nicht, ich würde stattdessen lieber "cd_id", "item_id" usw. verwenden.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  10. #10
    Registrierter Benutzer
    Registriert seit
    07.12.2001
    Beiträge
    27
    Identity ist vielleicht ünglücklich gewählt, aber da bisher noch keine mysql abfrage gescheitert ist bin ich dabei geblieben...

    Name und PLZ könnte es 2 mal geben

  11. #11
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Ähm, nö. Plz 11111 kann 2 Orte haben. Ein Ort kann in mehreren PLZs liegen.
    Aber wozu zweimal eintragen: Ort1 liegt in PLZ-Bereich 11111?
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  12. #12
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Turbohummel
    Ich würde Identity weglassen, und einen aus "Name" und "PLZ" zusammengesetzten PK definieren.
    Dann gibt es keine 2 Schröder unter z.B. 12357?
    Ist doch eine Schulbibliothek.
    Die meisten Schüler wohnen doch nicht so weit von ihrer
    Schule entfernt. Das kann es eventuell Probleme mit der PLZ geben.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  13. #13
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    So wie ich das sehe, ist doch PLZ ne eigene Tabelle, oder, die von User aus referenziert wird.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  14. #14
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Turbohummel
    So wie ich das sehe, ist doch PLZ ne eigene Tabelle, oder, die von User aus referenziert wird.
    Ja, klar, aber reicht ein PK aus Name und PLZ aus?
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  15. #15
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Hast du so ein PLZ-Buch von der Post? Da steht genau drin, wie was wo wann eindeutig ist.
    Die restlichen 1000 Seiten sind ne super Einschlafhilfe.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •