php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.07.2004, 09:32  
Erfahrener Benutzer
 
Registriert seit: 14.06.2004
Beiträge: 287
Boennchen
Standard Tabellen in Beziehung setzen!!

Hi Leute!

möchte mir gerne ne Video-Datenbank auf bauen mit Stammdaten, Filme und welche ausgeleihen werden. also brauche ich 3 Tabellen. habe die Stammdaten so geschrieben
Code:
CREATE TABLE `stammdaten` (
`id_stammdaten` INT( 6 ) NOT NULL AUTO_INCREMENT ,
`benutzername` VARCHAR( 50 ) NOT NULL ,
`nachname` VARCHAR( 50 ) NOT NULL ,
`vorname` VARCHAR( 50 ) NOT NULL ,
`passwort` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 75 ) NOT NULL ,
`datum` DATETIME NOT NULL , // keine ahnung ob das richtig ist, soll das aktuelle Datum automatisch nehmen
PRIMARY KEY ( `id_stammdaten` ) 
);
und die film Tabelle so:
Code:
CREATE TABLE `filme` (
`id_filme` INT( 6 ) NOT NULL AUTO_INCREMENT ,
`filmname` VARCHAR( 50 ) NOT NULL ,
`filmkategorie` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id_filme` ) 
);
nun will ich die Tabelle ausgeliehen schreiben, aber weiss nicht wie ich Beziehungen von Stammdaten und Filme dort hinheinbekomme
die Tabelle 'ausgeliehen' sollte so aussehen

id_ausgeliehem
benuzername //von stammdaten
filmname // von filme
filmkategorie // von filme
ausleihdatum
zurückdatum

kann mir jemand helfen

schon mal Dank im Voraus
__________________
Gruß
Boennchen
Boennchen ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.07.2004, 09:43  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Wenn du deine Datenbank nur einigermassen normalisiert haben willst, so wird deine Tabelle "Ausgeliehen" folgendermassen aussehen:
  • id_stammdaten // Fremdschlüssel Stammdaten
    id_filme // Fremdschlüssel Filme
    ausleihdatum
    zurückdatum
Alles andere ist ja in den beiden andern Tabellen enthalten und kann jederzeit von dort bezogen werden. Es ist ja ein wesentliches Merkmal von relationalen Datenbanken, das gleiche Daten nur einmal gespeichert werden.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 23.07.2004, 09:49  
Erfahrener Benutzer
 
Registriert seit: 14.06.2004
Beiträge: 287
Boennchen
Standard

und wie schreibe ich Tabelle mit den Fremdschlüssel hab ´null Ahnung davon
__________________
Gruß
Boennchen
Boennchen ist offline   Mit Zitat antworten
Alt 23.07.2004, 10:14  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das musst du nicht schreiben, MySQL kennt das eh nicht, war mehr ein Hinweis. Und die Tabelle erstellst du ganz normal, wie deine anderen, z.B. so:
Code:
CREATE TABLE ausgeliehen (
    id_stammdaten INT(6) NOT NULL, 
    id_filme INT(6) NOT NULL  ,
    ausleihdatum DATE NOT NULL,
    zurueckdatum DATE,
    PRIMARY KEY ( id_stammdaten, id_filme )
);
Die Beiden Fremdschlüssel stellen dann die Beziehung (Relation) zu den andern Tabellen her. Wenn du dann wissen willst, wer am 22. Juli welche Filme ausgeliehen hast, kannst du auf die folgende Art Abfragen:
Code:
SELECT s.vorname, s.nachname, f.filmname, f.filmkategorie
FROM stammdaten
INNER JOIN ausgeliehen a on s.id_stammdaten = a.id_stammdaten
INNER JOIN filme f on a.id_filme = f.id_filme
WHERE ausleihdatum = '2004.07.22';
Und noch zwei Dinge sind mir aufgefallen:
Zitat:
Zitat von Boennchen
`datum` DATETIME NOT NULL , // keine ahnung ob das richtig ist, soll das aktuelle Datum automatisch nehmen
Falls du das Datum automatisch haben willst, musst du den Typ "timestamp" wählen. Allerdings ist es eine kleine Sache, beim Erfassen der Stammdaten hier noch das Datum (mit now()) einzugeben.
Und da mehrere Filme zur gleichen Kategorie gehören können, müsste dazu eigentlich eine eigene Tabelle erstellt werden.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 23.07.2004, 13:20  
Erfahrener Benutzer
 
Registriert seit: 14.06.2004
Beiträge: 287
Boennchen
Standard

ja cool danke!

hast mir sehr weitergeholfen :P
__________________
Gruß
Boennchen
Boennchen ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen für Vokabeltrainer anlegen... anonym01 PHP Tipps 2008 9 03.03.2008 21:18
PHP Array in MYSQL Tabellen schreiben Matt Datenbanken 1 26.02.2008 19:43
5 tabellen miteinander verknüpfen. miwo Datenbanken 2 22.09.2007 11:17
abfrage aus zwei tabellen mit beziehung Dilandau Datenbanken 17 11.01.2007 19:06
Tabellen Limit? thefaxx Datenbanken 2 02.10.2006 17:06
Volltext-Suche Problem - 2 verschiedene Tabellen Datenbanken 1 18.09.2006 16:32
Join-Abfrage über mehrere Tabellen sinai Datenbanken 3 04.02.2006 13:05
einträge aus 2 tabellen sortieren Tschuu Datenbanken 11 20.12.2005 08:21
[Erledigt] abfrage mehrere tabellen PHP Tipps 2005-2 3 31.10.2005 21:57
Volltextsuche mit MATCH AGAINST über mehere Tabellen? Datenbanken 5 13.09.2005 15:02
2 Tabellen abfragen und dann variable unterschiedlich setzen Anuschka PHP Tipps 2004-2 2 22.12.2004 02:46
[Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen Datenbanken 2 26.10.2004 07:23
[Erledigt] tabellen verknuepfen und ergebnisse ueber link ausgeben PHP Tipps 2004 3 21.09.2004 06:04
Abfrage zweier Tabellen funzt net richtig Datenbanken 1 17.09.2004 12:53
[Erledigt] fulltext suche priorität von tabellen setzen Datenbanken 1 09.08.2004 15:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
in beziehung setzen, zwei tabele relation setzen, filmkategorien wiki, in relation setzen datenbank, sql tabellen in beziehung setzen, mysql tabellen in beziehung setzen, tabellen in relation setzten, relation mit gleicher tabelle, videodatenbank varchar text, beziehung setzen mysql php, msql tabellen in relation setzen, filmkategorien wikipedia, filmkatrgorien, tabellen unter mysql in beziehung setzen, in beziehung setzen sql, beziehungen setzen mysql, php mysql tabellen in beziehung bringen, gleiche primary keys in relation setzen, tabellen in beziehung setzen sql, mit sql in beziehung setzen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:57 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.