|
|
Praxis Teil III ER Modell Tabellen
Create für ER Modell
Die folgenden DB Creates bilden das ER Modell in der Datenbank nach.
# Tabellenstruktur für Tabelle `adressen`
#
CREATE TABLE adressen (
id int(12) unsigned NOT NULL auto_increment,
vorname varchar(40) NOT NULL default '',
nachname varchar(40) NOT NULL default '',
geburtsdatum date NOT NULL default '0000-00-00',
strasse varchar(40) NOT NULL default '',
plz mediumint(6) unsigned NOT NULL default '0',
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY vorname (vorname(10)),
KEY nachname (nachname(10)),
KEY plz (plz)
) TYPE=MyISAM;
#
# Daten für Tabelle `adressen`
#
INSERT INTO adressen VALUES (3,'Thomas','Butz','1972-03-08','Fuhrmannstr. 6',76437);
INSERT INTO adressen VALUES (2,'Hans','Mustermann','1902-01-20','Am Hardtwald 9',76227);
INSERT INTO adressen VALUES (1,'Max','Müller','1980-01-11','Heiselstr. 12',76227);
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `bewertung`
#
CREATE TABLE bewertung (
cd_id int(12) unsigned NOT NULL default '0',
adressen_id int(12) unsigned NOT NULL default '0',
note tinyint(1) unsigned NOT NULL default '0',
kommentar varchar(200) NOT NULL default '',
PRIMARY KEY (cd_id,adressen_id)
) TYPE=MyISAM;
#
# Daten für Tabelle `bewertung`
#
INSERT INTO bewertung VALUES (1,1,6,'');
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `cd`
#
CREATE TABLE cd (
id int(12) NOT NULL auto_increment,
interpret_id int(12) NOT NULL default '0',
titel varchar(60) NOT NULL default '',
preis decimal(5,2) unsigned default '0.00',
laenge varchar(6) default NULL,
kaufdatum datetime NOT NULL default '0000-00-00 00:00:00',
beilagen set('Booklet','Papercover','Hardcover') NOT NULL default '',
info varchar(255) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY interpret_id (interpret_id),
KEY titel (titel(20))
) TYPE=MyISAM;
#
# Daten für Tabelle `cd`
#
INSERT INTO cd VALUES (4,1,'Jar of Flies','33.32',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (5,2,'TALK','12.99',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (6,3,'Hallelulija','12.67',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (7,3,'Mit Pfefferminz bin ich dein Prinz','22.34',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (8,4,'Matrix','22.45',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (9,4,'Im Namen der Rose','18.99',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (10,4,'Pulp Fiction','34.45',NULL,'0000-00-00 00:00:00','','');
INSERT INTO cd VALUES (11,4,'Vom Winde verweht','12.90',NULL,'0000-00-00 00:00:00','','');
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `interpreten`
#
CREATE TABLE interpreten (
id int(12) unsigned NOT NULL auto_increment,
name varchar(40) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY name (name(20))
) TYPE=MyISAM;
#
# Daten für Tabelle `interpreten`
#
INSERT INTO interpreten VALUES (1,'Alice in Chains');
INSERT INTO interpreten VALUES (2,'Yes');
INSERT INTO interpreten VALUES (3,'Westernhagen');
INSERT INTO interpreten VALUES (4,'Soundtrack');
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `ort`
#
CREATE TABLE ort (
plz mediumint(6) NOT NULL default '0',
name varchar(40) NOT NULL default '0',
PRIMARY KEY (plz),
UNIQUE KEY plz (plz),
KEY name (name(20))
) TYPE=MyISAM;
#
# Daten für Tabelle `ort`
#
INSERT INTO ort VALUES (76437,'Rastatt');
INSERT INTO ort VALUES (76227,'Kalsruhe - Durlach');
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `verliehen`
#
CREATE TABLE verliehen (
cd_id int(12) unsigned NOT NULL default '0',
adressen_id int(12) unsigned NOT NULL default '0',
leihdatum date NOT NULL default '0000-00-00',
rueckgabedatum date NOT NULL default '0000-00-00',
status enum('Ausgeliehen','zurueck') NOT NULL default 'Ausgeliehen',
PRIMARY KEY (cd_id,adressen_id,leihdatum)
) TYPE=MyISAM;
#
# Daten für Tabelle `verliehen`
#
INSERT INTO verliehen VALUES (5,1,'0000-00-00','0000-00-00','Ausgeliehen');
INSERT INTO verliehen VALUES (6,2,'0000-00-00','0000-00-00','Ausgeliehen');
INSERT INTO verliehen VALUES (7,2,'0000-00-00','0000-00-00','Ausgeliehen');
explain select * from cd,interpreten,verliehen,adressen, ort where interpret_id = interpreten.id and verliehen.cd_id = cd.id and verliehen.adressen_id = adressen.id and ort.plz=adressen.plz
|
|