-
Hallo Leute.
Gleich mal vorweg. Ich bin noch nicht so gut in Sachen MySQL und Datenbanken, da ich dem Thema früher immer aus dem Weg ging.
Allerdings möchte ich mich jetzt doch einarbeiten und habe gleich ein kleines Verständnisproblem.
Ich habe ein Projekt, indem User Ihre Bücher anhand einer Liste auswählen können welche Sie besitzen.
Also es gibt ja vorgegebene Bücher (Autor, Titel, Verlag, etc.) und User, die eine unterschiedliche Anzahl an Büchern haben.
Jetzt hab ich mich schon soweit eingelesen dass es sinnvoll ist die Datenbank zu normalisieren, was ich auch schon getan habe. Also ne Tabelle mit Bücher (eine ID für jedes Buch, als Primärschlüssel), darin beschrieben der Buchtitel und Autor. Eine zweite Tabelle mit Verlag (mehrere Verlage können das gleiche Buch haben, etc).
So. Aber jetz zu meinem Problem. User x hat 2 Bücher, User y hat 10 Bücher, User z hat 30 Bücher. Wie kann ich das jetzt in ne Tabelle einfügen? Für jeden User eine eigene Tabelle zu erstellen ist nicht sinnvoll oder? Aber ich kann ja nicht eine Tabelle "user" erstellen, die dann soviele Spalten wie es Bücher gibt hat.
Also ich stell mir das so vor.
Tabelle_user ......... buch A ......... buch B ........ buch ...
-------------------
user x: .................... x .................. x
user y: .................... x ..................................... x
user z: .................... x .................. x................ x
user ...:
Versteht man meine Frage? Oder kann ich einfach eine User-Tabelle machen in der eine einzige Spalte namens "Bücher" existiert, um dann in diese Spalte die Bücher-IDs eines Users einzutragen? Aber was ist wenn ein User an die Hunderte von Büchern besitzt, ist das für einen Spalteneintrag dann noch zumutbar?
Kleine Nebenfrage: Gibt es Projekte in denen mehrere Datenbanken verwendet werden, oder ist es üblich nur mit einer Datenbank, und verschiedenen Tabellen zu arbeiten? Wenn ja, bei welchen Projekten z.B. arbeitet man mit mehreren Datenbanken?
Vielen Dank.
LG, dartoxGeändert von dartox (03.11.11 um 09:45 Uhr)
-
03.11.11 10:12 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Du erstellst zwei Tabellen:
- Tabelle USER mit sämtlichen Angaben zu den einzelnen Usern und einer eindeutigen ID pro User
- Tabelle USER_BOOKS und hier kommt immer die ID des Users und die ID des entsprechenden Buches rein.
Für User X gibt es dann 2 Datensätze, für User Y gibt es 10 und für User Z gibt es 30.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Danke für deine schnelle Antwort.
Ok, das mit der Tabelle USER und den Daten des einzelnen users verstehe ich. Nur verstehe ich das mit USER_BOOKS wiederrum nicht (wie Anfangs auch).
Also ich erstell ne Tabelle USER_BOOKS, mit zwei Spalten, links user_id, rechts book_id?
Also visuell so:
user_id ...... book_id
-------------------------
user.x ........ book1
user.x ........ book2
user.y ........ book1
user.y ........ book4
user.z ........ book5
user.z ........ book6
...
?
-
03.11.11 11:07 #4
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Genau so habe ich es gemeint.
Du kannst dann z.B. Abfragen welche Bücher welcher User hat:
Code sql:1
SELECT user_id, book_id FROM user_books WHERE user_id = 'x'
oder welche/wieviele User ein bestimmtes Buch haben:
Code sql:1
SELECT user_id, book_id FROM user_books WHERE book_id = 'book5'
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ok, danke. Hab's verstanden

Momentan hab ich keine Frage mehr die mir einfällt, werde aber nicht lang auf mich warten lassen!
Lg, dartox.
Ähnliche Themen
-
CSS Verständnisproblem
Von angelikamorgan im Forum CSSAntworten: 3Letzter Beitrag: 13.06.08, 19:20 -
Verständnisproblem
Von andreas89 im Forum C/C++Antworten: 8Letzter Beitrag: 28.02.08, 20:03 -
JNI-Verständnisproblem
Von swalbking im Forum C/C++Antworten: 1Letzter Beitrag: 05.10.07, 14:32 -
Pointer aka Zeiger - kleines Verständnisproblem bei Arrays
Von Tackleberry im Forum C/C++Antworten: 9Letzter Beitrag: 22.04.05, 21:16 -
verständnisproblem
Von zarqon im Forum C/C++Antworten: 5Letzter Beitrag: 18.05.03, 20:41



1Danke

Zitieren

Login





