Einzelnen Beitrag anzeigen
  #7  
Alt 18.09.2013, 19:20:18
loddoking loddoking ist offline
Anfänger
 
Registriert seit: Sep 2013
Alter: 41
Beiträge: 14
AW: MySQL - Filmdatenbak - Filmtitel/Darsteller Abfrage

Zitat:
Zitat von meikel Beitrag anzeigen
Da haste den Sysop falsch verstanden. Der hat Dir gezeigt, wie es ordentlich gemacht wird.

Dann hast Du eben das Pech, daß Du aus dem Schrott Dir die für eine ordentliche Datenbank erforderlichen Daten rausklaubst.

Nein, wenn die film_id + darsteller_id ZUSAMMEN einen primary_key bilden.

Du liest die Filme teilenweise ein. Filmtitel, Erscheinungsjahr, Inhalt (KA, was in der CSV Liste so alles rumschwirrt) erledigst Du ein INSERT, fragst insert_id ab. Dann nimmsste Dir die Darstellerspalten vor: bei jedem Darsteller guckste erst nach, ob der schon in der Darstellertabelle ist. Falls ja, haste die Darsteller id, falls nicht: INSERT + insert_id.
Mit den beiden ID machste in die Besetzungstabelle einen INSERT.

Und weil diese Aktion sicher länger als 30sec. dauert, mußte Dir was einfallen lassen, weil sonst PHP nach 30 sec. abbricht.
Ich sagte ja dass es ein paar Jährchen her is.;)
Da müsst ich mich erstmal n paar Tage schlau machen um diese Variante überhaupt anzugehen und über das phpMyAdmin brauch ich es erst gar nich zu versuchen.

Würde es einen unterschied machen wenn ich das über ein Tool wie HeidiSQL mache und dord das Query ausführe?

Mir wär es am liebsten wenn die Daten so bleiben könnten wie sie sind ohne umstrukturierung, auch wenn dadurch die anzahl der möglichen darsteller von vorn herein begrenzt ist.

Eventuell läst sich die vorgeschlagene Besetzungstabelle mit nur zwei spalten als zusammengesetztes Primärschlüssel ja auch mit externen mitteln erzeugen. CSV Files sind ja sehr flexibel in der hinsicht.

Mir ist nur nicht ganz klar wie das am ende mit der eingabe neuer Datensätze funktionieren soll wenn man zb einen neuen Film eingibt mit all seinen daten in der Filmtabelle also in verschiedenen Spalten aber dann die einzelnen Darsteller in einer weiteren Tabelle aber Zeilenweise jeweils als neuer Datensatz. Das wären dann doch zwei unterschidliche paar schuhe oder?
Wenn das dann auch noch einhergeht mit der eingabe neuer Darsteller kommt man doch in teufels küche. Da ja dann automatisch ein neuer Datensatz (zusammengesetzter Primärschlüssel) in der Besetzungstabelle erzeugt werden müsste der aus jeweils ebenfalls automatisch erzeugten IDs aud der Darsteller- und Filmtabelle besteht!?

Das weitere Problem ist dass da auch noch mindestens 5 weitere Tabellen für Serien, Kurzfilme, Musikvideos usw dazukommen. Die sollen ebenfalls mit der Darstellertabelle verknüpft werden. So dass ich am ende über ein Frontend bequem einen Darstellernamen eingebe und ich sämtliche Filme, Serien usw angezeigt bekomme. Umgekehrt selbstvertändlich ebenso bei der eingabe eines Filmes oder Serie usw. alle Darsteller.

Aber ihr habt ja recht. Wenn eine Kategorie in einer Tabelle mehrfach bis unbegrenzt vorkommt muss sie eigentlich zeilenweise als selbstständiger Datensatz eingegeben werden.

Ich versteh aber nicht wiedo es dann prinzipiell möglich ist ein Primärschlüssel mit zich Fremdschlüsseln in einer Zieltabelle zu verknüpfen? Dann müsste doch eine Abfrage über diese Verknüpfung möglich sein oder?

Aber danke schonmal für die Tipps. Auch wenn ich nun noch konfuser bin als vorher :)