Filmdatenbank anlegen
Hallo!
Ich möchte mit Access eine Filmdatenbank anlegen, jedoch beschäftige ich mich erst seit gestern mit diesem System.
Es sollen Titel, Genre, Länge, Regisseure, Darsteller und Produktionsländer in die Datenbank aufgenommen werden um diese dann gezielt durchsuchen zu können.
Da manche Filme mehreren Genres zugeordnet werden können und einem Genre logischerweise viele Filme zuzuordnen sind muss ich m:n-Beziehungen herstellen (Verhält sich mit den Regisseuren, Darstellern und Produktionsländern genauso).
Ich habe also eine Tabelle in der jeder FilmID (Primärschlüssel) genau ein Titel und eine Länge zugeordnet wird.
Dann habe ich eine Tabelle die jeder GenreID (PK) ein Genre zuordnet. (ist in dieser Tabelle das Feld FilmID überflüssig)
Zur verknüpfung habe ich eine Relationstabelle mit FilmGenreID (PK) sowie FilmID und GenreID (die als Feldgröße wie die autowerte auch Long Integer haben).
Jetzt habe ich Eine Beziehung vom PK FilmID zur FilmID aus der Relationstabelle und eine vom PK GenreID zur GenreID aus der Relationstabelle erstellt (beide vom Typ 1:n)
Dasselbe habe ich noch für die Darsteller, Regisseure und Produktionsländer gemacht.
Ist das soweit richtig?
Warum kann ich bei den Beziehungen keine referentielle Integrität auswählen? Als Fehlermeldung kommt "Das Datenbankmodul konnte die Tabelle 'Relationstabelle' nicht sperren, da sie bereits von einem anderen Benutzer oder Vorgang bearbeitet wird.
Also das was ich hier mache ist bestimmt für die meisten von euch ein Kinderspiel, aber da ich noch nicht herausgefunden habe mit was für einem Formular ich nun endlich anfangen kann die Daten einzugeben bin ich ziehmlich frustriert und erbitte eure Hilfe.
Mir ist einfach noch unbegreiflich wie ich ein Formular erstelle, in das ich dann einen Filmtitel aber zB 6 zugehörige Schauspieler eintrage und diese dann alle nur eine ID zugewiesen bekommen bzw beim nächsten Film wo wieder einer derselben mitspielt.
Vielen Dank schonmal!
Ich möchte mit Access eine Filmdatenbank anlegen, jedoch beschäftige ich mich erst seit gestern mit diesem System.
Es sollen Titel, Genre, Länge, Regisseure, Darsteller und Produktionsländer in die Datenbank aufgenommen werden um diese dann gezielt durchsuchen zu können.
Da manche Filme mehreren Genres zugeordnet werden können und einem Genre logischerweise viele Filme zuzuordnen sind muss ich m:n-Beziehungen herstellen (Verhält sich mit den Regisseuren, Darstellern und Produktionsländern genauso).
Ich habe also eine Tabelle in der jeder FilmID (Primärschlüssel) genau ein Titel und eine Länge zugeordnet wird.
Dann habe ich eine Tabelle die jeder GenreID (PK) ein Genre zuordnet. (ist in dieser Tabelle das Feld FilmID überflüssig)
Zur verknüpfung habe ich eine Relationstabelle mit FilmGenreID (PK) sowie FilmID und GenreID (die als Feldgröße wie die autowerte auch Long Integer haben).
Jetzt habe ich Eine Beziehung vom PK FilmID zur FilmID aus der Relationstabelle und eine vom PK GenreID zur GenreID aus der Relationstabelle erstellt (beide vom Typ 1:n)
Dasselbe habe ich noch für die Darsteller, Regisseure und Produktionsländer gemacht.
Ist das soweit richtig?
Warum kann ich bei den Beziehungen keine referentielle Integrität auswählen? Als Fehlermeldung kommt "Das Datenbankmodul konnte die Tabelle 'Relationstabelle' nicht sperren, da sie bereits von einem anderen Benutzer oder Vorgang bearbeitet wird.
Also das was ich hier mache ist bestimmt für die meisten von euch ein Kinderspiel, aber da ich noch nicht herausgefunden habe mit was für einem Formular ich nun endlich anfangen kann die Daten einzugeben bin ich ziehmlich frustriert und erbitte eure Hilfe.
Mir ist einfach noch unbegreiflich wie ich ein Formular erstelle, in das ich dann einen Filmtitel aber zB 6 zugehörige Schauspieler eintrage und diese dann alle nur eine ID zugewiesen bekommen bzw beim nächsten Film wo wieder einer derselben mitspielt.
Vielen Dank schonmal!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 162471
Url: https://administrator.de/contentid/162471
Ausgedruckt am: 08.11.2024 um 12:11 Uhr
3 Kommentare
Neuester Kommentar
servus,
dein modell solltest du mal schnell vergessen.
am besten orientierst du dich an den im netz vorhanden filmdatenbanken.
solltest du dann noch vorhaben suchfunktionen nach schauspieler etc. zu planen und das halbwegs komfortabel bediennen zu wollen is das nicht unbedingt die aufgabe die man am tag I mit access realisiert.
sollte dich der mut nicht verlassen, kannst mir ja eine pn schreiben vielleicht kann ich dir das was auf die schnelle zusammenzimmern
lg,
dein modell solltest du mal schnell vergessen.
am besten orientierst du dich an den im netz vorhanden filmdatenbanken.
solltest du dann noch vorhaben suchfunktionen nach schauspieler etc. zu planen und das halbwegs komfortabel bediennen zu wollen is das nicht unbedingt die aufgabe die man am tag I mit access realisiert.
sollte dich der mut nicht verlassen, kannst mir ja eine pn schreiben vielleicht kann ich dir das was auf die schnelle zusammenzimmern
lg,
Moin Patches0hulahan,
du solltest schregis Kommentar nochmals lesen.
Der sagte:
Das sind ZWEI Aussagen, nicht eine.
Die zweite Aussage "orientiere dich an vorhandenen Filmdatenbanken" hast du wohl wahrgenommen.
Aber davor - in schregis Antwort und auch in der Wichtigkeit - steht die Aussage "datenmodell schnell vergessen".
Das Modell KANN nicht physikalisch umgesetzt werden - weil die "FilmID" in jeder deiner gatesverdammten Tabellen vorgesehen ist.
Und wenn es denn gleichzeitig Child und Parent und Oppa und Grosscousine sein soll, dann sagt natürlich Access und auch sonst jeder mit etwas Schlagfertigkeit
Dazu machst du eben aus der m:n-Beziehung zwei 1:n-Beziehungen und das dazwischen heisst INTERSECT-Tabelle.
Unter diesem Suchwort findest du mit Sicherheit etwas Passendes- zumindest vor 20 Jahren war das so.
Grüße
Biber
du solltest schregis Kommentar nochmals lesen.
Der sagte:
dein modell solltest du mal schnell vergessen.
am besten orientierst du dich an den im netz vorhanden filmdatenbanken.
am besten orientierst du dich an den im netz vorhanden filmdatenbanken.
Das sind ZWEI Aussagen, nicht eine.
Die zweite Aussage "orientiere dich an vorhandenen Filmdatenbanken" hast du wohl wahrgenommen.
Zitat von @Patches0hulahan:
Danke für deine Einschätzung.
Aber ich wollte schon ganz gerne was lernen und selbst produktiv sein, dass ich das nicht in einer Woche hinbekomme war mir schon klar.
Danke für deine Einschätzung.
Aber ich wollte schon ganz gerne was lernen und selbst produktiv sein, dass ich das nicht in einer Woche hinbekomme war mir schon klar.
Aber davor - in schregis Antwort und auch in der Wichtigkeit - steht die Aussage "datenmodell schnell vergessen".
Das Modell KANN nicht physikalisch umgesetzt werden - weil die "FilmID" in jeder deiner gatesverdammten Tabellen vorgesehen ist.
Und wenn es denn gleichzeitig Child und Parent und Oppa und Grosscousine sein soll, dann sagt natürlich Access und auch sonst jeder mit etwas Schlagfertigkeit
"Das Datenbankmodul konnte die Tabelle 'Relationstabelle' nicht sperren, da sie bereits von einem anderen Benutzer oder Vorgang bearbeitet wird."
Solche verwandschaftlichen Im-Kreis-Beziehungen sind vielleicht in Nordhessen, hauptsächlich in der Schwalm üblich, aber nicht in Datenmodellen.Leider finde ich jedoch bis jetzt weder im Netz noch in der Hilfe Anleitungen wie man auch nur eine einzige m:n-Beziehung mit Daten auffüllen kann.
Wie sollte das auch gehen? Eine m:n-Beziehung kannst du natürlich nicht mit Relationen/Foreignkey-Constraints abbilden.Dazu machst du eben aus der m:n-Beziehung zwei 1:n-Beziehungen und das dazwischen heisst INTERSECT-Tabelle.
Unter diesem Suchwort findest du mit Sicherheit etwas Passendes- zumindest vor 20 Jahren war das so.
Naja ich werde einfach erstmal weiterlesen und rumprobieren, hoffe aber auch weiter auf Hilfe von euch.
Sollst du gerne bekommen - Aber prüfe trotzdem erstmal mit einem Filzstift auf Papier, in welchen Tabellen du wohl eine "FilmID" haben willst/musst.Grüße
Biber