Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Referat Web-Engineering Copyright © 2006 by Manuel Hegemann

Ähnliche Präsentationen


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

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

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

3 Inhaltsverzeichnis II
Adminwerkzeuge und Benutzeroberflächen PHPMyAdmin MySQL-Administrator Datenbankdesign Tabellentypen Feldtypen SQL-Einführung Zugriff auf MySQL Zugriff per Perl 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
Betriebssystem Maximale Dateigröße Linux 2.2 – Intel 32 Bit 2 GByte Linux 2.4+ 4 TByte Solaris 9/10 16 TByte NetWare 8 TByte Win 32 FAT / FAT 32 2 GByte / 4 GByte Win 32 NTFS 2 TByte Mac OS

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

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 32767 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, etc.) @data_sources = 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 Copyright © 2006 by Manuel Hegemann"

Ähnliche Präsentationen


Google-Anzeigen