Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Referat Web-Engineering 06.12.2006 Copyright © 2006 by Manuel Hegemann.

Ähnliche Präsentationen


Präsentation zum Thema: "Referat Web-Engineering 06.12.2006 Copyright © 2006 by Manuel Hegemann."—  Präsentation transkript:

1 Referat Web-Engineering Copyright © 2006 by Manuel Hegemann

2 Inhaltverzeichnis I 1. Was ist MySQL? 1. Geschichte 2. Wichtige Features 3. Maximale Größe von MySQL-Tabellen 2. Installation / Konfiguration 1. Unterstützte Betriebssystem 2. Installation unter Windows 3. Installation unter Linux 4. Einstellungen und Tests nach der Installation 1. Unter Windows 2. Unter Linux

3 Inhaltsverzeichnis II 3. Adminwerkzeuge und Benutzeroberflächen 1. PHPMyAdmin 2. MySQL-Administrator 4. Datenbankdesign 3. Tabellentypen 4. Feldtypen 5. SQL-Einführung 6. Zugriff auf MySQL 1. Zugriff per Perl 2. Zugriff per PHP

4 Was ist MySQL? Geschichte Ursprüngliche Absicht war Benutzung des SQL-Codes um eigene Low-Level-Routinen (ISAM) zu benutzen SQL jedoch weder schnell und flexibel genug um Anforderungen abzudecken Resultat war neue Datenbank, die allerdings fast gleiche API wie SQL benutzt Namensherkunft nicht endgültig geklärt Entweder weil große Anzahl an Bibliotheken und Werkzeugen das Präfix my tragen Oder vom Namen der Tochter des MySQL- Mitbegründers Monty Widenius, die My hieß Name des MySQL-Delphins ist Sakila Vorschlag wurde im Rahmen des Wettbewerbs Name the Dolphin ausgewählt

5 Was ist MySQL? Wichtige Features Geschrieben in C und C++ Läuft auf vielen Plattformen Multithread fähig Schnelle Joins Keine Speicherlecks (memory leaks) Sehr viele Datentypen Volle Standard-SQL-Unterstützung + teilweise ODBC- Syntax-Unterstützung Flexibles und Sicheres Berechtigungssystem Fehlermeldung und –lokalisierung in vielen Sprachen möglich Eingebaute SQL-Anweisungen zum Prüfen, Optimieren und Reparieren von Tabellen u.v.m.

6 Was ist MySQL? Maximale Größe von MySQL-Tabellen BetriebssystemMaximale Dateigröße Linux 2.2 – Intel 32 Bit2 GByte Linux TByte Solaris 9/1016 TByte NetWare8 TByte Win 32 FAT / FAT 322 GByte / 4 GByte Win 32 NTFS2 TByte Mac OS2 TByte

7 Installation / Konfiguration Unterstützte Betriebssysteme AIX Amiga BSDI Digital Unix FreeBSD HP-UX Linux Mac OS NetBSD OpenBSD OS/2 Solaris SunOS Tru64 Unix Windows

8 Installation / Konfiguration Installation unter Windows I Paketauswahl treffen Essentials-Paket enthält die mindestens erforderlichen Dateien für eine Windowsinstallation inkl. Konfigurationsassistent Complete-Paket enthält alle Dateien, inkl. optionale Komponenten und Konfigurationsassistent Noinstall-Paket enthält alle Dateien des Complete- Pakets mit Ausnahme des Konfigurationsassistenten Für die meisten Anwender wird das Essentials- Paket empfohlen

9 Installation / Konfiguration Installation unter Windows II Installation durch Konfigurationsassistenten Hinweisen des Assistenten folgen und erforderliche Eingaben tätigen Sofortiger Einsatz von MySQL möglich Nicht empfehlenswert für fortgeschrittene Benutzer, die volle Kontrolle über Serverkonfiguration wünschen und jene, die mehrere MySQL-Instanzen auf gleichem Host installieren wollen

10 Installation / Konfiguration Installation unter Linux Was zunächst benötigt wird make C/C++ Compiler tar cat Perl5-Library MySQL Source-Codes herunterladen Dateien entpacken Konfigurationsscript ausführen Anschließend Script kompilieren Kompiliertes Script installieren Datenbanken installieren MySQL mitteilen, wer Daemon ausführt my.cnf anpassen

11 Installation / Konfiguration my.cnf [mysqld] basedir=INSTALLATIONSVERZEICHNIS datadir=DATENVERZEICHNIS language=SPRACHVERZEICHNIS port=PORT Server=SERVERVERZEICHNIS user=BENUTZERNAME password=DEIN PASSWORT

12 Adminwerkzeuge/Benutzeroberflächen PHPMyAdmin Vorführung von PHPMyAdmin im Einsatz

13 Adminwerkzeuge/Benutzeroberflächen MySQL-Administrator Leistungsfähe, graphische Verwaltungskonsole Integration von Wartung und Administration einer Datenbank Ermöglicht die Benutzerverwaltung und die Steuerung von Zugriffsrechten innerhalb weniger Minuten Dynamische Zustandsüberwachung aller wesentlichen Zustandsindikatoren der MySQL-Umgebung Schnellere Optimierung durch einfache Einsicht verschiedenster Parameter möglich Schnelle Erstellung von konsistenten Datensicherungen Übersicht über Protokoll-Dateien Vollständige Kontrolle über Systemdienste MySQL Server kann gestartet und angehalten werden Plattformübergreifend, verfügbar für Windows und Linux für MySQL 4.x Testvideo unter graphs.html

14 Datenbankdesign Tabellentypen MyISAM: Standard-Speicher-Engine – Baut auf älterem ISAM-Code auf und enthält viele praktische Erweiterungen InnoDB: Transaktionssichere Speicher-Engine mit Commit-, Rollback- und Backupfähigkeit MERGE: Sammlung identischer MyISAM-Tabellen – Identisch = gleiche Spalten- und Indexdaten MEMORY: Legt Tabellen an, die im RAM gespeichert werden, auch als HEAP bezeichnet BDB: bessere Chancen Absturz zu überstehen, außerdem Commit- und Rollbackfunktion EXAMPLE: Beispiel für Entwickler wie man Speicher-Engines erstellt FEDERATED: greift auf Daten in entfernten Datenbanktabellen zu ARCHIVE: Speicherung großer Datenmengen ohne Indizes mit kleinem Speicherbedarf CSV: Speicherung in Textdateien im Format von kommatagetrennten Werten BLACKHOLE: Daten werden zwar entgegen genommen, aber nicht gespeichert

15 Datenbankdesign Numerische Feldtypen BIT: Anzahl von Bits pro Wert zwischen 1 und 64 TINYINT: -128 bis 127 BOOLEAN: TRUE oder FALSE SMALLINT: bis MEDIUMINT: bis INT: bis BIGINT: bis FLOAT: E+38 bis E+38 DOUBLE: E-308 bis E+308 DECIMAL: gepackte extakte Festkommazahl

16 Datenbankdesign Datums- und Zeittypen DATE: bis , Format immer YYYY-MM-DD DATETIME: :00:00 bis :59:59, Format immer YYYY-MM-DD HH:MM:SS TIMESTAMP: :00:00 und einem Zeitpunkt irgendwann im Jahr 2037 TIME: -838:59:59 und 838:59:59, Format immer HH:MM:SS YEAR (2|4): 1901 bis 2155, sowie 0000 – im zweistelligen Bereich von 70 bis 69 (1970 bis 2069)

17 Datenbankdesign String-Typen CHAR: von 0 bis 255 Zeichen VARCHAR: von 0 bis Zeichen TINYBLOB: 255 (2^8 – 1) Byte BLOB: (2^16 – 1) Byte TINYTEXT: 255 (2^8 – 1) Zeichen TEXT: (2^16 – 1) Zeichen ENUM: Liste von Werten durch Komma getrennt, maximal Werte

18 SQL-Einführung I SQL: Server Query Language Durch SQL-Statements können Daten von der Datenbank abgefragt, hinzugefügt, geändert und gelöscht werden SQL-Statements werden meist in Applikationen eingebunden, können aber auch in Adminwerkzeugen ausgeführt werden

19 SQL-Einführung II SELECT Syntax: SELECT attribute FROM tabelle WHERE bedingung [ORDER BY | GROUP BY | etc.]

20 SQL-Einführung III INSERT Syntax: INSERT INTO tabelle (attrib1, attrib2, attrib3) VALUES (´wert1´, ´wert2´, ´wert3´)

21 SQL-Einführung IV UPDATE Syntax: UPDATE tabelle SET attrib1=´wert1a´, attrib2=´wert2a´ WHERE bedingung

22 SQL-Einführung V DELETE Syntax: DELETE FROM tabelle WHERE bedingung

23 SQL-Einführung VI JOIN, am Beispiel INNER JOIN Syntax: SELECT tab1.attribute, tab2.attribute FROM tabelle1 tab1 INNER JOIN tabelle 2 tab2 ON tab1.pk = tab2.fk [WHERE bedingung] [ORDER BY | GROUP BY | etc.]

24 Zugriff auf MySQL Zugriff per Perl DBI ermöglicht Zugriff auf SQL-Datenbanken Beispiel: //Benutze DBI use DBI; //Quellen beziehen (Treiber, Host, = DBI->data_sources($driver_name); //Datenbankverbindung herstellen $dbh = DBI->connect($data_source, $username, $auth); //Statement ausführen $rv = $dbh->do($statement); //Datenbankverbindung schließen $rc = $dbh->disconnect;

25 Zugriff auf MySQL Zugriff per PHP PHP besitzt eigene Befehle um auf eine MySQL-Datenbank zuzugreifen Beispiel: //Datenbankverbindung herstellen $con = mysql_connect($host, $user, $pwd) or die(´Fehler´); //Datenbank auswählen mysql_select_db($database, $con) or die(´Fehler´); //Statement ausführen $query = mysql_query($statement); //Anzahl betroffene Zeilen abfragen $num = mysql_num_rows($query); //Bei Abfrage Datenarray auslesen $array = mysql_fetch_array($query); //Datenbankverbindung schließen; mysql_close($con);

26 ENDE Vielen Dank für Eure Aufmerksamkeit!


Herunterladen ppt "Referat Web-Engineering 06.12.2006 Copyright © 2006 by Manuel Hegemann."

Ähnliche Präsentationen


Google-Anzeigen