Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

NzuM Beziehung Updaten

Frage Entwicklung Datenbanken

Mitglied: djfflow

djfflow (Level 1) - Jetzt verbinden

07.07.2009, aktualisiert 16:34 Uhr, 2987 Aufrufe, 6 Kommentare

Ich habe 3 Tabellen Film, Schauspieler, FiSc.
Die Tabellen Schauspieler und Film stehen über FiSc in einer n:m Beziehung.
Ich lasse nun per PHP zu einem Film alle Schauspieler ausgeben.
Nun möchte ich auch bearbeiten können, welcher Schauspieler in einem Film mitgespielt hat.

Wie kann ich es erreichen, dass entweder ein Datensatz hinzugefügt, upgedatet oder gelöscht wird?

Die einfachste Lösung wäre ja alle Verbindungen zu einem Film zu löschen und dann nachher neueinzutragen, aber das muss doch auch eleganter gehen?
Mitglied: Biber
07.07.2009 um 18:34 Uhr
Moin djfflow,

hast Du denn auch ein konkretes Datenbankblech drunter oder arbeitest Du eher abstrakt?

Und wo ich grad beim Nachfragen bin:
a)
Die einfachste Lösung wäre ja alle Verbindungen zu einem Film zu löschen und dann nachher neu einzutragen
Ist das ein Hella-von-Sinnen-Zitat oder bist Du allein zu dieser Einsicht gekommen?
b) wo genau ist Dein Problem jetzt?
Wenn Du einen vorhandenen Film ausgewählt hast (den mit der ID 77 zum Beispiel), dann kannst Du doch aus der Zuordnungstabelle FiSc alle SchauspielerInnen selektieren, die bereits diesem Film zugeordnet sind.
Aus den vorhandene kannst Du selektiv "löschen"; aus den noch nicht diesem Film zugeordneten kannst du neue hinzufügen.
Und du kannst auch "ändern" (einen vorhandenen Schaupieler löschen und statt dessen einen anderen hinzufügen)

Wo genau ist jetzt Dein Problem?
Ich meine, so etwas machen Delmenhorster ohne Datenbank...

Grüße
Biber
Bitte warten ..
Mitglied: djfflow
08.07.2009 um 09:31 Uhr
Hallo Biber,

ich bin leider kein Profi für DBs.
Die Datenbank ist MySQL, falls du das mit "Datenbankblech" meinst.

Ich lese mit PHP/HTML zu einem Film alle Schauspieler in ein Multiples Select/Option Feld aus und lasse alle Schauspieler markieren die mit dem Film in Verbindung stehen.

Jetzt kann es natürlich sein, dass ich statt 2 Schauspielern 3 auswähle, oder statt 2 nur noch 1en, oder bei 2 Schauspielern 2 andere auswähle.

Meine Frage ist jetzt, kann ich diese 3 Fälle mit einem SQL-Befehl abarbeiten oder wie mache ich das?
Bitte warten ..
Mitglied: Biber
08.07.2009 um 13:55 Uhr
Moin djfflow,

danke für die Antwort.
Ja, mit "Datenbankblech" meinte ich mySQL in Deinem Fall.

Wenn ich Dich richtig verstehe, möchtest Du die Programmlogik "Ist für die Zuordnung bzw. Abwahl SchauspielerX -zu-Film-Y ein INSERT, ein Update oder ein Delete nötig?" gar nicht erst auf PHP-Seite implementieren, sondern willst es gleich der DB aufdrücken?

Lässt sich auch machen, allerdings dann über eine Triggerlösung.

Dann kannst Du z.B. alle 4 Sätze, die in Deinem multiplen Select am Ende markiert sind als INSERT an die DB schicken.
Und vorher alle vorhandenen Sätze Fi-Sc zu diesem Film löschen. (Jetzt versteh ich erst, was Du mit diesem ersten Satz gestern gemeint haben könntest.)

Ich halte dieses Vorgehen nicht für besonders elegant und auch nicht performant, aber machbar ist es.

Dann wäre jetzt erstmal eine Suche "mySQL+Trigger" Deinerseits nötig, damit Du Dir dieses Vorgehen vorstellen kannst.

Und abschätzen kannst, was wohl schneller zusammenzuschreddern ist - die Trigger oder die unterschiedliche Fallbehandlung Insert/Delete auf PHP-Appz-Seite.

Grüße
Biber
Bitte warten ..
Mitglied: djfflow
08.07.2009 um 14:34 Uhr
Hallo Biber,

wenn du meinst, das sich der Aufwand wenig lohnt werde ich es auf PHP Seite lösen.
Ich hatte gehofft, das man das relativ einfach mit mysql abbilden kann.

Für die Umsetzung würde ich die alten und die neuen Werte in je ein Array schreiben und dann vergleichen. und je nach Fall dann das passende Query auslösen.

Oder hast du eine bessere Idee?
Bitte warten ..
Mitglied: Biber
08.07.2009 um 15:24 Uhr
Moin djfflow,

nein, da hätte ich keine bessere Idee. Würde ich genauso angehen.

Ist ja aus meiner Sicht auch wirklich "Programmlogik" und von daher natürlich am besten
  • in einer Programmiersprache statt einer Datenmanipulationssprache zu lösen (PHP statt SQL)
  • und zweitens besser im Hauptspeicher lösbar als auf der Festplatte ("mach eine fallunterscheidung" statt "lösche alle Sätze, lege dann alle neu an")

Grüße
Biber
Bitte warten ..
Mitglied: djfflow
08.07.2009 um 15:32 Uhr
Ok.
Dann vielen Dank für deine Antworten
Bitte warten ..
Ähnliche Inhalte
Webentwicklung
Beziehungen in Webbrowser dynamisch darstellen
gelöst Frage von ATVATVWebentwicklung1 Kommentar

Hallo Administratoren, kennt ihr eine Software, mit der Beziehungen dynamisch im Browser angezeigt werden können? Ich meine ein Diagramm, ...

Microsoft
Zentrale Kundendatenbank mit Firma - Mitarbeiter Beziehung
Frage von n0cturneMicrosoft7 Kommentare

Hallo Zusammen, ich suche eine einfache Möglichkeit eine Kunden/Mitarbeiter Datenbank auf einem Windows Server zu hosten. Der Umfang braucht ...

Datenbanken
SQL Server m:n Beziehung mit Zuordnungstabelle auflösen
Frage von EUuserDatenbanken1 Kommentar

Hallo zusammen, ich habe folgendes Szenario: Ich habe auf einem SQL-Server ein paar verknüpfte Tabellen laufen. Einige sind 1:n ...

Windows Update
Update Fehler mit Mai Updates
Frage von AmistarWindows Update7 Kommentare

Hey zusammen, ich habe folgendes Problem: Auf einem Windows Server 2008 R2 kann ich folgende Updates einfach nicht installieren: ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 4 StundenWindows 10

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 6 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 20 StundenInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 23 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte15 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...