Referat Web-Engineering Copyright © 2006 by Manuel Hegemann

Slides:



Advertisements
Ähnliche Präsentationen
Apache - PHP - MySQL Apache-PHP-MySQL.
Advertisements

Relationale Datenbank MySQL
(structured query language)
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
MySQL.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SendEplanung Datenbank
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
SQL als Abfragesprache
Basisinformationstechnologie WS 2003/04 T.Schaßan
Robotik mit LEGO Mindstorms
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Dynamische Webseiten mit PHP
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Otto-von-Guericke-Universität Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Treffen mit Siemens Siemens: Werner Ahrens Volkmar Morisse Projektgruppe: Ludger Lecke Christian Platta Florian Pepping Themen:
Seminarvotrag: PHP Von Stefan Niemczyk.
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
JDBC EDV JDBC.
Datenbanken 10: Einfügen, Ändern, Löschen
Einführung MySQL mit PHP
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
2.2 Definition eines Datenbankschemas (SQL-DDL)
Arbeiten mit SQL in Visual FoxPro 9.0
MSDN Webcast Visual Studio 2005 mit Visual FoxPro Jochen Kirstätter Mai 2005 –
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Einführung und Überblick
JDBC: JAVA Database Connectivity
Mailserver-Installation mit LDAP-Schnittstelle für die Firma XYZ GmbH
... und alles was dazugehört
Datenbankentwicklung IV-LK
ODBC (Open Database Connectivity)
MYSQL Von Rahan Bölzer.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Relationale Datenbanken III
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
DireXions – Connectivity Inside & Out File I/O Updates, ODBC 64-bit, & SQL Command Utility Presenter: Devon Austen.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Sesame Florian Mayrhuber
CGI (Common Gateway Interface)
JDBC (Java DataBase Connectivity)
Datenbanksysteme für hörer anderer Fachrichtungen
Flexible Datensicherung für kleine und mittlere Unternehmen
Einführung in Datenbankmodellierung und SQL
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Datenbankanbindung mit
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Structured Query Language
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
PhpMyAdmin.
Datenbank für Skriptenverkauf
PHPmyadmin Maya Kindler 6c.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
MySQL – Die freie Datenbank
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

Referat Web-Engineering 06.12.2006 Copyright © 2006 by Manuel Hegemann

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

Inhaltsverzeichnis II Adminwerkzeuge und Benutzeroberflächen PHPMyAdmin MySQL-Administrator Datenbankdesign Tabellentypen Feldtypen SQL-Einführung Zugriff auf MySQL Zugriff per Perl Zugriff per PHP

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

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.

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

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

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

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

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

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

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

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 http://www.mysql.de/products/tools/administrator/tutorials/custom-graphs.html

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

Datenbankdesign Numerische Feldtypen BIT: Anzahl von Bits pro Wert zwischen 1 und 64 TINYINT: -128 bis 127 BOOLEAN: TRUE oder FALSE SMALLINT: -32768 bis 32767 MEDIUMINT: -8388608 bis 8388607 INT: -2147483648 bis 2147483647 BIGINT: -9223372036854775808 bis 9223372036854775807 FLOAT: -3.402823466E+38 bis 3.402823466E+38 DOUBLE: -2.2250738585072014E-308 bis 1.7976931348623157E+308 DECIMAL: gepackte „extakte“ Festkommazahl

Datenbankdesign Datums- und Zeittypen DATE: 1000-01-01 bis 9999-12-31, Format immer YYYY-MM-DD DATETIME: 1000-01-01 00:00:00 bis 9999-12-31 23:59:59, Format immer YYYY-MM-DD HH:MM:SS TIMESTAMP: 1970-01-01 00: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)

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

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

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

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

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

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

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.]

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;

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);

ENDE Vielen Dank für Eure Aufmerksamkeit!