TabellenkalkulationInformatik-Buch, DatenbankSQL-Befehle

PHPMyAdmin

Das, was hier steht ist noch sehr dürftig. Erst mal stehen da nur Dinge, die nötig sind, um die SchülerInnen als User einzurichten, die aber eigentlich keinen interessieren. Statt dessen empfehlen meine Jungs aus der 10 die Seite http://www.bplaced.net, auf der man sich kostenlos registrieren lassen kann, kostenlosen Webspace, kostenlose Datenbanken, FTP-Zugang und zur Bearbeitung der Datenbanken PHPMyAdmin bekommt. Werbefrei. Eigentlich sollte man meinen, dass es dabei irgendwelche Haken gibt, aber ich hab noch keinen gefunden. Dann also los…

Aufbau der Bücherei-Datenbank mit PHPMyAdmin

  1. Beim Anlegen der Tabellen darauf achten, dass als engine InnoDB gewählt wird, da sonst keine Fremdschlüssel genutzt werden können.
  2. Anlegen einer Tabelle Buecher mit:
    • ID, int(11), primary key, auto_increment
    • Titel, text
    • Autor, text
    • ISBN, text
    • Exemplar, tinyint(4)
    • Präsenz, bool=tinyint(1)
  3. Anlegen einer Tabelle Benutzer mit:
    • ID. int(11), primary key, auto_increment
    • Vorname, varchar(50)
    • Nachname, varchar(50)
    • Geburtsdatum, date
    • Telefon, varchar(15)
    • E-Mail, varchar(30)
  4. Anlegen einer Tabelle Ausleihe mit:
    • ID, int(11), primary key, auto_increment
    • ausgeliehhen, date
    • zurueckzubringen, date
    • Buch, int(11)
    • Benutzer, int(11)
  5. Attribute Buch und Benutzer zu Fremdschlüsseln machen.
    Ich habe in PHPMyAdmin keine Möglichkeit gefunden, die folgenden Befehle per Klick auszuführen. Also manuell…
ALTER TABLE Ausleihe ADD FOREIGN KEY ( Buch ) REFERENCES Buecher( ID )  
ALTER TABLE Ausleihe ADD FOREIGN KEY ( Benutzer ) REFERENCES Benutzer( ID )  

Anlegen der Benutzer-Tabelle kann man auch mit SQL machen:

 CREATE TABLE `claude`.`Benutzer` (
    `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Surrogatschlüssel',
    `Vorname` VARCHAR( 50 ) NOT NULL ,
    `Name` VARCHAR( 50 ) NOT NULL ,
    `Geburtsdatum` DATE NOT NULL ,
    `Telefon` VARCHAR( 15 ) NOT NULL ,
    `E-Mail` VARCHAR( 30 ) NOT NULL
) ENGINE = InnoDB

Füllen der Tabelle:

INSERT INTO `claude`.`Benutzer` (
`ID` ,
`Vorname` ,
`Name` ,
`Geburtsdatum` ,
`Telefon` ,
`E-Mail`
)
VALUES (
NULL , 'Hugo', 'Schmidt', '1960-09-22', '0271 / 08 15', 'Hugo.Schmidt@web.de'
), (
NULL , 'Gerda', 'Müller', '1967-09-14', '', '02745 / 012398'
);

Die einzelnen SQL-Befehle

 CREATE TABLE `claude`.`Buecher` (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Der Primärschlüssel',
`Titel` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`Autor` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`ISBN` VARCHAR( 17 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`Exemplar` TINYINT NOT NULL ,
`Praesenz` BOOL NOT NULL
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_bin 
 CREATE TABLE `claude`.`Benutzer` (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Primärschlüssel',
`Vorname` VARCHAR( 30 ) NOT NULL ,
`Name` VARCHAR( 30 ) NOT NULL ,
`Telefon` VARCHAR( 15 ) NOT NULL ,
`E-Mail` VARCHAR( 30 ) NOT NULL ,
`Geburt` DATE NOT NULL
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_bin 
 CREATE TABLE `claude`.`Ausleihe` (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Primärschlüssel',
`ausgeliehen` DATE NOT NULL ,
`zurueckbringen` DATE NOT NULL ,
`BuchID` INT NOT NULL ,
`BenutzerID` INT NOT NULL
) ENGINE = InnoDB 
ALTER TABLE Ausleihe ADD FOREIGN KEY ( BuchID ) REFERENCES Buecher( ID )  
ALTER TABLE Ausleihe ADD FOREIGN KEY ( BenutzerID ) REFERENCES Benutzer( ID )

Einrichten der SchülerInnen

  • Installieren.
  • root-Passwort anlegen:
    • als root ohne Passwort einloggen
    • → Rechte
    • → root@localhost auswählen und auf „Rechte Ändern“ klicken
    • oder:
      SET PASSWORD FOR 'root'@ 'localhost' = PASSWORD( '*******' )
  • Benutzer (Schülerinnen und Schüler) einrichten:
    • als root ohne Passwort einloggen
    • → Rechte
    • Neuen Benutzer hinzufügen
    • Benutzername, Passwort (2 Mal) eingeben
    • Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte auswählen
    • oder
      CREATE USER 'heinz'@ '%' IDENTIFIED BY '*****';
       
      GRANT USAGE ON * . * TO 'heinz'@ '%' IDENTIFIED BY '*****' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
       
      CREATE DATABASE `heinz` ;
       
       
      GRANT ALL PRIVILEGES ON `heinz` . * TO 'heinz'@ '%';
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International