Stefan Pröll, Eva Zangerle, Wolfgang Gassler. MySQL 5.6. Das umfassende Handbuch

Größe: px
Ab Seite anzeigen:

Download "Stefan Pröll, Eva Zangerle, Wolfgang Gassler. MySQL 5.6. Das umfassende Handbuch"

Transkript

1 Stefan Pröll, Eva Zangerle, Wolfgang Gassler MySQL 5.6 Das umfassende Handbuch

2 Auf einen Blick Auf einen Blick 1 Datenbanken eine allgemeine Einleitung Datenbankmodellierung Schnellstart-Tutorial Einführung in die Beispieldatenbank Architektur Manuelle Installation, Plugins und Upgrades MySQL administrieren Replikation und Hochverfügbarkeit Anfrageoptimierung Sicherheit Gespeicherte Programme und Events Softwareentwicklung mit MySQL NoSQL mit MySQL A Referenz

3 Inhalt Inhalt Vorwort TEIL I Erste Schritte 1 Datenbanken eine allgemeine Einleitung Grundlagen von Datenbanken Die Geschichte von Datenbanken Moderne Datenbanken und Datenmodelle Vorteile Einsatzgebiete Anforderungen an ein Datenbankmanagementsystem MySQL Einleitung und Vorstellung Die Geschichte von MySQL Open Source und Lizenzen Zusammenfassung Datenbankmodellierung Einführung in den Datenbankentwurf Anforderungsanalyse Konzeptioneller Datenbankentwurf Logischer Datenbankentwurf Physischer Datenbankentwurf Der Datenbankentwurf im Überblick Ein konkretes Beispiel: Flughafenverwaltung Das relationale Datenbankenmodell Tabellen, Spalten und Zeilen Schlüssel identifizieren Datensätze Die relationale Algebra Joins Datenbankdesign Das ER-Diagramm

4 Inhalt Entitäten Beziehungen Normalformen Die erste Normalform Die zweite Normalform Die dritte Normalform Weitere Normalformen Zusammenfassung Schnellstart-Tutorial MySQL herunterladen Minimale Systemanforderungen MySQL installieren Schnellinstallation unter Windows Schnellinstallation unter Linux Schnellinstallation unter Mac OS X Zusammenfassung der Installation Endlich loslegen MySQL ausprobieren Übersicht der wichtigsten Befehle Datenbanken anlegen und löschen Tabellen anlegen, Daten einfügen und löschen Datensätze anlegen, abfragen und löschen Datensätze abfragen und anzeigen Zusammenfassung Einführung in die Beispieldatenbank Die Datenbank für das Szenario anlegen Die Beispieldatenbank auf der Buch-DVD Hilfe bei der Arbeit mit MySQL Fehlermeldungen und Warnungen Online-Manual und weitere Anlaufstellen Zusammenfassung

5 Inhalt TEIL II MySQL-Administration 5 Architektur Einführung Teile einer Datenbank das Fünf-Schichten-Modell MySQL-Architektur Abfrageverarbeitung Der Query-Cache das Kurzzeitgedächtnis von MySQL Der Optimierer die Intelligenz von MySQL Execution-Engine der Arbeiter von MySQL Transaktionen und Nebenläufigkeit Nebenläufigkeit Transaktionen Lock-Management Storage-Engines Grundlagen des Storage-Engine-Plugin-Systems InnoDB MyISAM MEMORY Sonstige Engines Fremdhersteller-Engines Vergleichstabelle Zusammenfassung Manuelle Installation, Plugins und Upgrades Von neuen Quellen MySQL selbst kompilieren und installieren Voraussetzungen MySQL kompilieren und installieren Die Installation grundlegend absichern Anlegen der Konfigurationsdatei Den MySQL-Dienst starten Zusammenfassung der Installation Usermanagement Die zentrale Konfigurationsdatei»my.cnf« Die Syntax der Konfigurationsdatei Die grundlegenden Einstellungen

6 Inhalt Kommandozeilenargumente Servervariablen setzen und ändern MySQL aktualisieren und erweitern Upgrades Die Plugin-API Zusammenfassung MySQL administrieren Der bordeigene Werkzeugkasten Der Name ist Programm:»mysqladmin« Datenbanken anlegen und löschen Caches leeren Das»root«-Passwort ändern Den Server überwachen Daten importieren und exportieren Daten aus Dateien importieren Daten exportieren Richtig sichern Backups und Strategien Die Basics Physisches oder logisches Backup Online- und Offline-Backups Volle und inkrementelle Backups Logische Backups und Wiederherstellung mit»mysqldump« Physisches Offline-Backup schnell, sicher und effizient MySQL Hot Copy InnoDB-Tabellen sichern mit Percona XtraBackup Recovery von Bedienfehlern zeitpunktbezogene Wiederherstellung Backups mit Replikation Backups automatisieren Tabellenwartung mit»mysqlcheck« MyISAM-Tabellen überprüfen und reparieren Die Erholungsphase Crash Recovery Performance-Check mit»mysqlslap«

7 Inhalt 7.7 MySQL beobachten Die»INFORMATION_SCHEMA«-Tabellen Den Status abfragen Statistiken zu InnoDB-Tabellen MySQL überwachen Die grafischen Werkzeuge im Überblick MySQL Workbench MySQL Administrator Weitere Tools Optimierungstechniken Leistungsschau Profiling Das Percona Toolkit Die wichtigsten Variablen der zentralen Konfigurationsdatei im Überblick MySQL feineinstellen Empfehlungen eines Skripts Exakte Statistiken mit dem Performance Schema Grundlagen des Performance Schemas Instrumente einrichten und Messvorgaben anpassen Anpassen der Einstellungen und Ausgabe von Statusvariablen Auswertung des Performance Schemas Den Gesamtüberblick mit Summary-Tabellen behalten Aufspüren von Problemen Replikation und Hochverfügbarkeit Grundprinzipien Ablauf Arten von Replikation Topologien Master Slave Master Slave mit zwischengeschaltetem Slave Master Master Vorarbeiten zur Replikation Konfiguration einer Master-Slave-Replikation Zusammenfassung

8 Inhalt 9 Anfrageoptimierung Aufspüren von langsamen Anfragen Langsame Anfrage protokollieren Log-Dateien regelmäßig kontrollieren Indexstrukturen Die Grundidee von Indexstrukturen Primärindex vs. Sekundärindex Der limitierende Faktor die Festplatte Technische Umsetzung von Indexstrukturen der B-Baum und MyISAM Clustered Index Non-clustered Index Mehrdimensionale Indexstrukturen der R-Baum GIS und raumbezogene Indizes Volltextindex Die großen Nachteile des Indexes Optimierung von Anfragen Die EXPLAIN-Anweisung Auswertung der EXPLAIN-Informationen und Optimierungen Partitionierung Sicherheit Grundlagen Verschiedene Szenarien für das Rechtemanagement Die zwei Phasen des Berechtigungssystems Privilegiert die Benutzerrechte im Detail Die Ebenen der Benutzerberechtigungen Berechtigungen zum Schutz der Daten Berechtigungen zur Programmierung mit MySQL Das Sicherheitskonzept von Programmen oder DEFINER vs. INVOKER Berechtigungen zur Administration von MySQL Die Befehle GRANT und REVOKE im Detail Benutzerverwaltung ohne GRANT die Datenbank»mysql«

9 Inhalt 10.3 Tipps und Tricks Vorgehen bei der Erstellung von Benutzern Tausende Benutzer und Datenbanken ohne Chaos verwalten Benutzerverwaltungs-API Benutzerverwaltung in der Applikation, nicht in der Datenbank? Workaround für Berechtigungen auf Zeilenebene/Kapselung STOP! MySQL absichern Allgemeine Sicherheitshinweise der gewissenhafte Administrator Zugang beschränken oder verschlüsseln MySQL im Web Zusammenfassung Teil III Programmierung 11 Gespeicherte Programme und Events Wozu gespeicherte Programme? Arten von gespeicherten Programmen MySQL Stored Program Language Grundlegendes Arbeiten mit gespeicherten Programmen Kommentare Datentypen Sicherung und Backup gespeicherter Programme und Sichten Rechte von gespeicherten Programmen Einschränkungen Gespeicherte Prozeduren Erzeugung gespeicherter Prozeduren Erweiterte Einstellungen beim Erzeugen von gespeicherten Prozeduren Verwendung gespeicherter Prozeduren Löschen von gespeicherten Prozeduren Bearbeiten gespeicherter Prozeduren Parameter Ergebnismengen Gespeicherte Funktionen Erzeugen von gespeicherten Funktionen Erweiterte Optionen beim Erzeugen von gespeicherten Prozeduren Aufrufen gespeicherter Funktionen

10 Inhalt Bearbeiten gespeicherter Funktionen Einschränkungen Informationen zu bestehenden gespeicherten Programmen (Metadaten) Programmieren in MySQL BEGIN-/END-Blöcke Variablen Ablaufsteuerung und konditionale Anweisungen Schleifen Cursors Handler Selbstdefinierte Fehlermeldungen mit SIGNAL Verschachtelte Cursors und ihre Handler Temporäre Tabellen Rekursion Transaktionen Trigger Trigger erstellen Löschen und Bearbeiten von Triggern Informationen über bestehende Trigger (Metadaten) Einschränkungen Events Event-Scheduler Erzeugung von Events Löschen und Bearbeiten von Events Informationen zu bestehenden Events (Metadaten) Sicherheit, Rechte und Einschränkungen Sichten (Views) Erzeugung und Verwenden von Sichten Updates auf Sichten Löschen und Bearbeiten einer Sicht Informationen zu bestehenden Sichten (Metadaten) Zusammenfassung Softwareentwicklung mit MySQL Konnektoren/Programmiersprachen Allgemeines ODBC

11 Inhalt Java, JDBC und Connector/J PHP,»mysqli«,»PDO_MYSQL« NET Perl,»DBD:mysql« Ruby Python »node-mysql«, Node.js serverseitiges JavaScript Zusammenfassung NoSQL mit MySQL Not Only SQL NoSQL Skalierung und Verteilung: ACID vs. BASE Mit Hochgeschwindigkeit ins Herz: MySQL öffnet sich»memcached«-benutzern Die Integration von Memcached in die MySQL-Architektur Grundlagen des Memcache-Protokolls Memcached zur Verwendung mit InnoDB installieren Die Verbindung testen Memcached und InnoDB verbinden Lesen und Schreiben von Daten mittels Memcached Replikation und Memcached Sicherheit gegen Geschwindigkeit Weitere Einstellungen Zusammenfassung Teil IV Anhang 14 Referenz 695 A.1 Datentypen A.2 Datendefinition, Datenmanipulation und Abfragen A.3 Index A.4 Boolesche Operatoren A.5 Mathematische Funktionen A.6 Zeit- und Datumsfunktionen

12 Inhalt A.7 String-Funktionen A.8 Transaktionen A.9 Sperren A.10 Sichten (Views) A.11 MySQL-Client A.12 Gespeicherte Prozeduren A.13 Gespeicherte Funktionen A.14 Triggers A.15 Events A.16 Kontrollfluss-Elemente A.17 Variablen in Programmen A.18 Cursors A.19 Handlers A.20 Volltextsuche A.21 Replikation A.22 GIS-Funktionen A.23 Partitionierung A.24 Administrationsaufgaben A.25 Benutzerverwaltung und Sicherheit A.26 Wartungsarbeiten A.27 Backups, Wiederherstellung und Logfiles A.28 Import und Export A.29 Benchmarking, Monitoring und Profiling A.30 Query-Cache A.31 Plugins A.32 Storage-Engines A.33 Hilfe, Warnungen und Fehler A.34 Fehlernummern und SQL-States A.35 Escape-Sequenzen A.36 Zeichensätze und Sortierfolgen (Character Sets und Collations) Index

13 Vorwort Da Sie dieses Buch aufgeschlagen haben, haben Sie mit großer Wahrscheinlichkeit bereits von MySQL gehört. In diesem Buch geht es um eines der erfolgreichsten und weitverbreitetsten Open-Source-Softwareprojekte der Welt. MySQL ist ein vollwertiges Datenbankmanagementsystem, das nicht nur im Allgemeinen kostenlos für alle Betriebssysteme verfügbar ist, es ist zudem relativ einfach zu bedienen. Doch wozu dann ein eigenes Buch, wenn die Software doch so einfach zu bedienen ist? Der angemerkte einfache Umgang mit MySQL setzt voraus, dass Sie wissen, wo Sie welche Einstellungen vornehmen müssen. Nun könnten Sie sich durch die frei verfügbare englischsprachige Dokumentation im Umfang von mehreren Tausend Seiten quälen. Oder Sie wählen die smarte Alternative: Sie haben sich richtig entschieden! Schließlich lesen Sie bereits dieses Buch; herzlichen Glückwunsch! Damit Sie so schnell wie möglich sicher im Umgang mit MySQL werden, bietet dieses Buch ein umfangreiches und realistisches Praxisbeispiel, anhand dessen wir die wichtigsten Kniffe, Tipps und Tricks erklären. Für wen ist dieses Buch gedacht? MySQL ist ein sehr weit verbreitetes Datenbanksystem, das in den verschiedensten Szenarien erfolgreich eingesetzt werden kann. Wie Sie das meiste aus MySQL herausholen, lernen Sie in diesem Buch. Vorwiegend richtet sich das vorliegende Administrationshandbuch an Einsteiger und Fortgeschrittene. Aber gleichgültig, ob Sie Datenbanken-Einsteiger sind oder schon Erfahrungen mit MySQL gesammelt haben, ja sich vielleicht sogar schon zu den Profis zählen können: In diesem Buch werden Sie viel Neues lernen! Dasselbe gilt natürlich auch für Umsteiger von anderen Datenbankmanagementsystemen. Das Besondere an diesem Buch ist das umfassende Praxisbeispiel, anhand dessen wir die Themen aller Kapitel und die darin enthaltenen Befehle genau erläutern. Wir sind der Meinung, dass ein interessantes und reales Praxisbeispiel besser ist als eine öde Schritt-für-Schritt-Anleitung. Das bedeutet jedoch auch, dass Sie an manchen Stellen selbst gefordert sind, da wir eine gewisse Eigeninitiative voraussetzen. Getreu dem Motto learning by doing werden Sie MySQL immer besser kennenlernen, indem Sie die Entwicklung des vorgestellten Szenarios selbst nachvollziehen werden. Wir sind überzeugt, dass Sie so viel mehr lernen und sicherer im Umgang mit dem Datenbanksystem MySQL werden, als wenn Sie zu sehr an die Hand genommen werden. Doch keine Bange, auf der mitgelieferten DVD finden Sie die notwendigen Daten, um jederzeit neu anfangen zu können, falls Sie sich mal einen gröberen Schnitzer leisten. 15

14 Vorwort Konventionen In diesem Buch gibt es ein paar wenige Konventionen, die die Lesbarkeit erhöhen. So werden sämtliche Befehle durch dieses Format hervorgehoben, damit Sie schneller erkennen, dass es sich um eine Anweisung für den MySQL-Server bzw. für Ihr Betriebssystem handelt. Eingaben, die für den MySQL-Server gedacht sind, tätigen Sie mit dem sogenannten MySQL-Client, einem Kommandozeilen-Programm, in das Sie die Befehle eintippen, um mit dem Server zu interagieren. Alle kürzeren oder längeren Befehlssequenzen sind in Listings als Code-Auflistungen angegeben. Jene Befehle, die Sie innerhalb dieses Clients eingeben müssen, werden durch die Eingabeaufforderung (englisch prompt) mysql> hervorgehoben. Oftmals können die Eingaben für den Client aus Platzgründen nicht in einer Zeile eingegeben werden. Ein solcher Zeilenumbruch wird durch diesen Pfeil -> dargestellt. Dadurch wird ausgedrückt, dass dieser Befehl noch nicht abgeschlossen ist und daher noch fortgesetzt wird. Diese Pfeile dürfen Sie nicht selbst eingeben. Der MySQL-Client schreibt diese Pfeile selbstständig nach einem Zeilenumbruch. In Listing 1 sehen Sie ein Beispiel für das Format, das wir in diesem Buch für MySQL-Befehle verwenden. mysql> SELECT vorname, nachname FROM passagier -> WHERE passnummer = 'P137884'; Listing 1 Ein MySQL-Befehl Die MySQL-Befehle selbst sind immer in GROSSBUCHSTABEN gehalten, damit Sie sie leichter von Benutzereingaben unterscheiden können. Jene Kommandos, die Sie in der Kommandozeilenumgebung eingeben müssen, werden durch den Linux- Prompt bash# eingeleitet. Dadurch sehen Sie auf den ersten Blick, für welche Umgebung der Befehl vorgesehen ist. Listing 2 zeigt ein Beispiel für einen Konsolenbefehl. bash# mysqladmin ping Listing 2 Ein Konsolenbefehl An manchen Stellen im Buch sehen Sie das neben diesem Absatz gezeigte Symbol. Damit kennzeichnen wir diejenigen Befehle, die mit MySQL 5.6 wichtige Unterschiede in der Bedeutung erhalten haben. Die so markierten Befehle sind übrigens nicht zwangsläufig veraltet. In der Regel sind sie nach wie vor gültig, haben aber beispielsweise eine geänderte Semantik, die Sie beachten müssen. Besondere Formatierungsübereinkünfte gelten auch für die Referenz am Ende dieses Buches, in der wir alle besprochenen Befehle und Kommandos auflisten. 16

15 Vorwort Der Aufbau dieses Buches Dieses Buch ist in vier Teile gegliedert: in»erste Schritte«,»MySQL-Administration«,»Programmierung«und den»anhang«. Der Teil»Erste Schritte«enthält unter anderem ein Schnellstart-Tutorial, in dem Sie die wichtigsten Befehle kennenlernen, um mit MySQL grundlegend arbeiten zu können. Nach diesem Kapitel sind Sie in der Lage, die Datenbanken selbst samt ihren Tabellen, in denen letztendlich die Daten gespeichert werden, anzulegen und zu verwalten. Außerdem stellt dieser Teil das praxisnahe Flughafenszenario vor, das sich durch das gesamte Buch zieht und einen nachvollziehbaren Rahmen für die unterschiedlichsten Aufgaben bietet. Sie lernen in diesem Abschnitt, wie Sie die Anforderungen an ein Datenbanksystem herausarbeiten und umsetzen. Auf der DVD zu diesem Buch finden Sie einen sehr umfangreichen Datensatz, mit dem Sie auf realistische Weise den Umgang mit MySQL testen können. Dieses Daten-Set für das Flughafenszenario enthält mehrere Millionen Datensätze und eignet sich daher gut für Tests und Optimierungsmaßnahmen. Der zweite Teil,»MySQL-Administration«, beschäftigt sich mit der Installation und der Wartung von MySQL. Hier erfahren Sie nicht nur, wie Sie MySQL optimal an Ihre Anforderungen anpassen, sondern auch, wie Sie MySQL aktuell halten. Des Weiteren lernen Sie mit der Replikation eine interessante Möglichkeit kennen, MySQL im Hochverfügbarkeitsbereich und somit auch im High-Performance-Bereich einzusetzen. Wie Sie Ihre Queries möglichst effizient gestalten, lernen Sie ebenfalls in diesem Teil. Ein sehr wichtiger Aspekt dieses Teils ist die Benutzerverwaltung und das Absichern Ihrer MySQL-Installation. Im dritten Teil,»Programmierung«, werden Sie lernen, mit MySQL zu programmieren, um so auch spezielle Anforderungen geschwindigkeitsoptimiert umzusetzen. Mit gespeicherten Programmen lassen sich viele Probleme sehr elegant lösen. Da MySQL in den meisten Fällen als Daten-Backend für Software-Programme dient, lernen Sie hier ebenfalls, wie Sie mit den unterschiedlichsten Programmiersprachen auf den Datenschatz einer MySQL-Installation zugreifen. Abgerundet wird dieses Buch durch eine umfangreiche Referenz im vierten und letzten Teil, in der Sie alle im Buch besprochenen Befehle samt Syntax und Kurzbeschreibung vorfinden. Diese Befehle sind übersichtlich nach Themen geordnet, wodurch Sie sich schneller zurechtfinden werden. Natürlich enthält dieses Buch auch einen Index, in dem Sie alle wichtigen Begriffe und Befehle nachschlagen können und somit schnell finden werden. 17

16 Vorwort Die DVD zum Buch Die beiliegende DVD enthält nicht nur alle Versionen der aktuellen, stabilen Version 5.6 von MySQL für Windows, Mac und Linux, sondern auch im Buch vorgestellte Skripte und Tools, die Sie sofort einsetzen können. Im Verzeichnis FlughafenDB finden Sie die Beispieldatenbank mit dem Flughafenszenario. Sie bildet das Herzstück dieses Buches, denn sie ermöglicht es Ihnen, alle Befehle, Tricks und Tools sofort anhand einer vollwertigen Datensammlung auszuprobieren. Die darin enthaltenen Flug-, Passagier- und Buchungsdaten sind möglichst realistisch gehalten. Sie finden zwei Versionen der Daten des Flughafenszenarios auf dieser DVD. Sie unterscheiden sich im Umfang der enthaltenen Daten. Während Sie die kleine Ausgabe sehr schnell importieren können, dient die große Version mit einigen Millionen Datensätzen besonders zum Testen von Optimierungen und Tuning-Maßnahmen. Wie Sie diese Daten importieren, erfahren Sie in Abschnitt 4.2,»Die Beispieldatenbank auf der Buch-DVD«. Die Webseite zum Buch Unter der Web-Adresse finden Sie aktuelle Informationen rund um dieses Buch, Kontaktmöglichkeiten und Neues rund um MySQL. Vorwort zur zweiten Auflage Am 5. Februar 2013 verkündete Oracle stolz die Freigabe der aktuellen Version MySQL 5.6 für den produktiven Einsatz. Seit wir an der ersten Ausgabe dieses Buches gearbeitet haben, sind beinahe zwei Jahre vergangen, und es hat sich viel getan. Damals haben wir in unseren Beispielen die Version verwendet, in dieser Ausgabe werden wir uns auf das aktuelle Release konzentrieren. Diese Developer-Version MySQL war in der letzten Ausgabe noch nicht offiziell für den professionellen Einsatz freigegeben. Inzwischen ist diese Vorsichtsmaßnahme jedoch nicht mehr gültig, und nun können Sie auch in kritischen Umgebungen alle neuen Features einsetzen. Der Versionssprung von MySQL 5.5 auf 5.6 umfasst viele Neuigkeiten, die wir Ihnen in diesem Buch vorstellen möchten. Zu den bemerkenswertesten Neuerungen zählen vor allem deutliche Performancesteigerungen vor allem in Zusammenhang mit der InnoDB Storage Engine, ein noch schlauerer Optimierer, bessere Skalierbarkeit und eine erhöhte Sicherheit. Mit der aktuellen Version wagt MySQL sich in neue Gefilde und entert den Bereich der NoSQL-Datenbanken. Dem Schlagwort NoSQL sind Sie sicher schon begegnet, es ist schließlich in aller Munde. NoSQL (Not Only SQL) bezeichnet ein sehr flexibles Datenbankmodell, das insbesondere auf Ska- 18

17 Vorwort lierung ausgelegt ist. Details dazu finden Sie in Teil III,»Programmierung«, und dort in Kapitel 13,»NoSQL mit MySQL«. Die Autoren Stefan Pröll (Dipl.-Ing.), Jahrgang 1983, studierte in Innsbruck und Madrid Informatik und spezialisierte sich dabei im Masterstudiengang auf Datenbanken und Informationssysteme. Während seines Studiums absolvierte er mehrere Praktika im In- und Ausland bei internationalen Organisationen und Unternehmen im Bereich Wissenschaftskommunikation, Webentwicklung und Datenbankadministration. Seit 2009 lebt er in Wien, wo er Wirtschaftsingenieurswesen an der Technischen Universität Wien als zweites Masterstudium studiert und zusätzlich im Bereich der Linux-Serveradministration bei privaten Unternehmen gearbeitet hat. Seit 2011 ist er wissenschaftlicher Mitarbeiter und Doktorand bei einem auf IT-Sicherheit spezialisierten Forschungszentrum. Dort beschäftigt er sich mit aktuellen Fragen in den Bereichen Digital Preservation, e-science und Business Processes. In seiner Freizeit treibt er gelegentlich Sport, hört leidenschaftlich gerne Soul-, Funk- und Jazzmusik, geht ins Theater und reist, wann immer die Zeit es zulässt. Dr. Eva Zangerle studierte Informatik an der Universität Innsbruck in Österreich. Dabei spezialisierte sie sich während ihres Masterstudiums auf den Bereich der Datenbanken. In ihrer Masterarbeit entwickelte sie neue Techniken, um komplexe Datenstrukturen, wie graphbasierte Wissensdarstellungen, in Datenbanken optimiert zu verarbeiten. Seit 2007 arbeitet sie als wissenschaftliche Mitarbeiterin am Lehrstuhl für Datenbanken und Informationssysteme am Institut für Informatik der Universität Innsbruck. Dabei beschäftigt sich ihre Forschung und Lehre mit der Entwicklung von neuen Methoden zur Personalisierung sogenannten Recommender- Systemen und der damit verbundenen intelligenten Datenspeicherung. Die von ihr entwickelten Techniken und Verfahren wurden bereits auf zahlreichen internationalen Konferenzen veröffentlicht. Neben der Forschung und Lehre von neuartigen Datenbanksystemen setzt Eva Zangerle aber bereits seit 2002 auf MySQL, mit dem sie zahlreiche erfolgreiche Projekte im universitären Umfeld realisierte. Wolfgang Gassler (Dipl.-Ing.) absolvierte das Informatikstudium an der Universität Innsbruck in Österreich und ist seit 2007 wissenschaftlicher Mitarbeiter in der Forschungsgruppe Datenbanken und Informationssysteme an der Universität Innsbruck. Er beschäftigt sich in seiner Forschung mit neuen Datenbanktechnologien und neuartigen Verfahren zur optimierten Wissensspeicherung und Analyse. Seit 1999 arbeitet er mit dem Datenbanksystem MySQL damals in der Version 3.21 und der zu dieser Zeit in Tirol/Österreich beinahe unbekannten Programmiersprache 19

18 Vorwort PHP in der Version 3. Seit dieser Zeit, als einer der ersten PHP-Entwickler in Tirol, ist er in zahlreichen Softwareprojekten vorrangig in den Bereichen Web und Mobile bis heute als Entwicklungsleiter oder in beratender Funktion tätig. Die Verbindung zwischen Forschung und Wirtschaft ist ihm ein großes Anliegen, und so arbeitet er auch heute noch neben seiner wissenschaftlichen und lehrenden Tätigkeit an der Universität Innsbruck an Projekten in der Wirtschaft. 20

19 Kapitel 2 Datenbankmodellierung 2 Dieses Kapitel behandelt die Grundlagen der Datenbankmodellierung. Sie lernen, wie Sie jene Anforderungen, die Sie an Ihre Datenbankanwendung stellen, identifizieren, abstrahieren und sowohl im Modell als auch in der Datenbank umsetzen können. Am Anfang einer jeden Datenbankanwendung steht immer der Entwurf des zugrundeliegenden Datenbankmodells. In diesem Kapitel lernen Sie die notwendigen Schritte kennen, mit denen Sie ein Konzept in ein passendes Datenbankmodell umsetzen. Sie werden anhand eines praktischen Anwendungsbeispiels sehen, wie Sie die notwendigen Phasen erfolgreich durchlaufen, und so alle Aspekte, von den Vorüberlegungen bis hin zum konkreten Datenbankenschema in MySQL, nachvollziehen können. 2.1 Einführung in den Datenbankentwurf Datenbanken werden zur Lösung und Unterstützung von vielschichtigen Aufgaben und Problemen eingesetzt. Überall dort, wo viele Daten anfallen, die geordnet und strukturiert aufbewahrt und zuverlässig verfügbar sein müssen, werden diese Systeme verwendet. Denken Sie beispielsweise an die Personalverwaltung, die Buchhaltung oder auch an die Lagerlogistik. Datenbanken sind dazu gedacht, Vorgänge der realen Welt in einem Schema abzubilden, mit Hilfe dessen bestimmte Aufgaben umgesetzt werden können. MySQL ist ein sogenanntes relationales Datenbanksystem, für das bestimmte Anforderungen gelten, wie wir sie in Kapitel 5,»Architektur«, ausführlich darstellen. Sofern wir es nicht anders betonen, handelt es sich auch bei allgemeinen Beschreibungen immer um diesen Datenbankentyp. Damit Datenbanken der Aufgabe der Abbildung gerecht werden, müssen kleine Ausschnitte der Umwelt abstrahiert und in eine einheitliche Darstellungsform umgewandelt werden. Unter diesem Vorgang der Abstraktion versteht man das Modellieren eines Prozesses der realen Welt mit Hilfe eines Datenbankenmodells. Ein solcher Ausschnitt der Umwelt ist beispielsweise die Adress- und Mitgliedsverwaltung eines Vereins, das Management eines Unternehmens oder das Betreiben eines Newsportals im Web. Der Datenbankentwurf beschäftigt sich also mit der Frage, wie ein Ausschnitt der Wirklichkeit in einer Datenbank abgebildet werden kann. 49

20 2 Datenbankmodellierung Die Schwierigkeit der Abstraktion besteht darin, alle relevanten Eigenschaften, die einen bestimmten Ausschnitt der Wirklichkeit ausmachen, zu identifizieren und in ein konzeptionelles Schema zu übertragen. Wie der Name andeutet, beschreibt ein konzeptionelles Schema die zugrundeliegende Idee, nicht jedoch die konkrete Ausprägung eines Objekts der realen Welt. Abstraktion ist daher immer eine Verallgemeinerung und dient der Vereinfachung komplexer Sachverhalte. Der Datenbankentwurf besteht aus mehreren Phasen, die für die Modellierung notwendig sind. Diese stellen wir nun vor Anforderungsanalyse Die Grundlage eines soliden Modellentwurfs ist es, die Anforderungen und den eigentlichen Sinn und Zweck des Einsatzes eines Datenbankmanagementsystems zu analysieren und sich klarzumachen, welche Aspekte eines Ausschnitts der realen Welt überhaupt abgebildet werden müssen, also welche Ausschnitte relevant für die Modellierung in einer Datenbank sind. Oftmals sind diese Abbildungen Geschäftsprozesse eines Unternehmens, die abstrahiert werden sollen. Diese Geschäftsprozesse werden in den allermeisten Fällen durch eine Software abgebildet, die den Benutzer bei seiner täglichen Arbeit unterstützt. Die Datenbank selbst ist Teil dieses Softwaresystems und speichert die abstrahierten Objekte der abgebildeten Modellwelt ab. Unter Objekten versteht man in diesem Kontext jene Gegenstände oder Sachverhalte, die durch den Vorgang der Abstraktion mittels einer allgemeineren Beschreibung im Datenbanksystem gespeichert werden sollen. Diese Objekte sind für die Software dauerhaft verfügbar. Die Software bzw. der Anwender können neue Objekte anlegen, vorhandene verändern und nicht mehr benötigte Daten aus der Datenbank löschen. Damit diese Objekte adäquat umgesetzt werden können, müssen sie vom Benutzer bzw. von den Softwareentwicklern in einer Art und Weise beschrieben werden, die vom Datenbankmanagementsystem verstanden wird. Zuallererst müssen Sie daher, gemeinsam mit Ihren Mitarbeitern und Kollegen, Informationen sammeln, welche Anforderungen genau Ihr Datenbankmanagementsystem umsetzen muss. Innerhalb dieses Prozesses erstellen Sie ein strukturiertes Dokument, in dem Sie alle Funktionen und Methoden festhalten, die Ihr System bereitstellen soll. Wichtig ist hierbei, dass all die Punkte, die Sie sich notieren, nachvollziehbar und vollständig sind. Ob Sie dabei spezielle Tools, Mindmaps, Karteikarten oder ein gewöhnliches Word-Dokument einsetzen, bleibt ganz allein Ihnen überlassen, solange Sie alle Aspekte sorgfältig spezifizieren. Wenn Sie sich an das sehr einfach gehaltene Motivationsbeispiel aus dem ersten Kapitel erinnern, dann muss ein Datenbanksystem die Anforderungen der Vereinsverwaltung unterstützen. Dazu müssen die notwendigen Objekte abstrahiert werden. 50

21 2.1 Einführung in den Datenbankentwurf In dem Beispiel handelt es sich bei diesen Objekten um die Daten der Vereinsmitglieder. Die Datensätze müssen, neben weiteren Informationen, mindestens den Namen und das Geburtsdatum der Mitglieder abbilden können. Des Weiteren muss das System grundlegende Funktionen wie das Einfügen, Bearbeiten und Löschen von Mitgliedsdaten beherrschen. 2 Die Beschreibung dieser und weiterer Anforderungen kann rein textuell, auch ohne Formalismus erfolgen. Wichtig ist nur, dass Sie all jene Informationen festhalten, die Ihr Datenbanksystem später aufnehmen und verarbeiten soll. Um diesen Vorgang an einem etwas komplexeren Beispiel zu demonstrieren, stellen wir im späteren Teil dieses Kapitels das Szenario einer Flughafenverwaltung vor, anhand dessen Sie diesen Vorgang nachverfolgen können Konzeptioneller Datenbankentwurf Der nächste Schritt der Datenbankmodellierung ist der konzeptionelle Datenbankentwurf. Ziel dieser Phase ist es, die während der Anforderungsanalyse gewonnenen Erkenntnisse unabhängig von der konkreten Implementierung in einem Datenbankentwurf darstellen zu können. Die im vorherigen Schritt gewonnenen Informationen über die gewünschten Fähigkeiten des Datenbanksystems werden im konzeptionellen Entwurf oder Design mit Hilfe eines Modells genauer beschrieben und in einer unmissverständlichen Form spezifiziert. Auch hier ist die eigentliche Wahl des Datenbanksystems, das letztendlich zum Einsatz kommen wird, noch irrelevant, da ein solches Modell unabhängig von der konkreten Umsetzung ist. In diesem Schritt übersetzen Sie die in der Anforderungsanalyse erstellte Liste von Aufgaben und Fähigkeiten, die Ihr Datenbankmanagementsystem umsetzen muss, in ein standardisiertes Datenbankmodell. Um eine einheitliche Beschreibung der gewonnenen Anforderungen zu ermöglichen, werden unterschiedliche Modellierungsverfahren eingesetzt. Diese Verfahren erlauben eine genauere Beschreibung der mit Hilfe des Datenbanksystems zu lösenden Aufgaben. Das bekannteste dieser Modelle ist sicherlich das Entity-Relationship- Modell (ER-Modell), das wir im Laufe des Kapitels noch detailliert beschreiben werden. Sprechende Namen Wenn Sie während des Modellentwurfs beginnen, Ihre Entitäten und deren Eigenschaften festzulegen, sollten Sie bereits hier»sprechende Namen«für alle Bezeichner wählen. So erkennen andere Mitarbeiter und Kollegen bereits am Namen einer Datenbank und an den Bezeichnern einer Tabelle, einer Funktion oder Variablen, was das betreffende Objekt für eine Funktion erfüllt. Vermeiden Sie auf jeden Fall 51

22 2 Datenbankmodellierung nichtssagende Bezeichnungen wie»tabelle1«oder»testdb«, denn Sie werden in wenigen Wochen nicht mehr wissen, was die betreffende Tabelle bzw. Datenbank ursprünglich bezwecken sollte. Wählen Sie daher aussagekräftige Bezeichner, auch wenn das eventuell mehr Schreibarbeit bedeutet. Entscheiden Sie sich außerdem, ob Sie für Ihre Bezeichner und Kommentare die englische oder deutsche Sprache wählen möchten. Mischen Sie aber keine Sprachen, denn das führt zu Missverständnissen und ist verwirrend. Apropos Kommentare: Verwenden Sie Kommentare so oft und ausführlich wie möglich! Logischer Datenbankentwurf Ist das grundlegende Modell aus dem konzeptionellen Entwurf fertiggestellt, dann folgt als nächste Phase der logische Datenbankentwurf. Darunter versteht man die Modellierung des zuvor entworfenen Schemas mit Hilfe jenes Datenbankmanagementsystems, das zum Einsatz kommen soll. In diesem Fall ist das MySQL als DBMS und SQL als Data Definition Language (DDL). Ab diesem Modellierungsschritt ist der Modellentwurf nicht mehr unabhängig von der konkreten Modellierung, da hier die Entscheidung für ein konkretes System in diesem Fall MySQL bereits gefallen ist. In dieser Entwurfsphase erfolgt auch die Umsetzung in das relationale Datenmodell, das Gegenstände aus der realen Welt in Tabellen und Beziehungen zwischen Tabellen, sogenannte Relationen, übersetzt. Hier erfolgt also die Übersetzung des unabhängigen ER-Modells in jene Sprache, die von MySQL verstanden werden kann. Dieser Transformationsschritt vom konzeptionellen Modell in das logische Modell kann entweder manuell oder automatisch durch Tools geschehen. In diesem Buch erfolgt diese Umwandlung manuell, damit wir auf die Feinheiten in diesem Schritt eingehen können. Mehr dazu erfahren Sie in Abschnitt 2.3,»Das relationale Datenbankmodell« Physischer Datenbankentwurf In der vierten und letzten Phase des Datenbankentwurfs geht es um den physischen Datenbankentwurf und damit um die Art und Weise, wie die Daten konkret auf der Hardware des Datenbankservers durch das DBMS gespeichert werden. Diese Phase dient unter anderem der Performancesteigerung, indem die Besonderheiten von Daten- und Indexstrukturen sowie die Eigenheiten des Serverbetriebssystems und der Hardware analysiert und ausgenutzt werden, um die Leistung zu erhöhen. Details zum Datenbanktuning finden Sie in Kapitel 9,»Anfrageoptimierung«. 52

23 2.1 Einführung in den Datenbankentwurf Der Datenbankentwurf im Überblick Die vier Phasen des Datenbankentwurfs lauten: 1. Anforderungsanalyse 2 2. konzeptioneller Entwurf 3. logischer Entwurf 4. physischer Entwurf Diese vier Schritte müssen nicht streng nacheinander durchlaufen werden. Vielmehr handelt es sich dabei um ein iteratives Vorgehensmodell, bei dem Sie immer wieder in bereits durchlaufene Phasen zurückspringen und Ihr Modell weiter verfeinern können. Je weiter der Entwicklungsprozess jedoch fortgeschritten ist, desto aufwendiger werden diese Änderungen. Daher sollten Sie jeder Phase besondere Aufmerksamkeit widmen, um zeit- und kostenintensive Überarbeitungen zu vermeiden. Natürlich müssen Sie insbesondere bei der Anforderungsanalyse und beim konzeptionellen Design intensive Rücksprache mit Ihrem Team halten, damit Sie alle Aspekte berücksichtigen können, die Ihnen selbst vielleicht verborgen sind. In Abbildung 2.1 sehen Sie diese vier Phasen schematisch dargestellt. Anforderungsanalyse Konzeptioneller Entwurf Logischer Entwurf Physischer Entwurf Abbildung 2.1 Die vier Entwurfsphasen 53

24 2 Datenbankmodellierung 2.2 Ein konkretes Beispiel: Flughafenverwaltung Um die Begriffe, die für das Verständnis und das Design von Datenbanken notwendig sind, besser erklären zu können, ziehen wir im Folgenden ein praxisnahes Beispiel heran. Es dient dazu, die Fachtermini einzuführen und gleich anhand einer konkreten Problemstellung zu erklären. Als Beispiel wird uns die Verwaltung eines Flughafens mit Hilfe einer MySQL-Datenbank dienen. Im Laufe der folgenden Kapitel werden wir dieses Beispiel immer weiter ausbauen und verfeinern. Stellen Sie sich die Verwaltung eines großen internationalen Flughafens vor. Flughäfen sind die Drehscheiben des internationalen Personen- und Güterverkehrs und aus unserem Alltag nicht mehr wegzudenken. Es handelt sich dabei um ein komplexes Unternehmen, das verschiedenste Geschäftsregeln umsetzen muss, um erfolgreich und sicher wirtschaften zu können. Dazu gehören neben verschiedensten Geschäftsprozessen, wie der Verwaltung der Mitarbeiter, das Ticket- und Buchungssystem, die Protokollierung aller Starts und Landungen und vieles mehr, so auch sämtliche Informationsflüsse zwischen diesen Systemen. Um dieser Fülle an Informationen Herr zu werden, werden zu einem Großteil Datenbanksysteme eingesetzt, die diese Daten in ihrem Datenbankenschema speichern. Dieses Datenbankenschema legt demnach die genaue Struktur fest, also welche Eigenschaften in welcher Form gespeichert werden und wie die verschiedenen Elemente eines Modells zueinander in Beziehung stehen. Stellen Sie sich vor, in Ihrer Stadt wird ein neuer Flughafen gebaut. Er soll zukünftig als die zentrale Achse für den aufstrebenden Tourismus, die Geschäftswelt und für den Güterverkehr Ihrer Region dienen. Ein derart komplexes Unternehmen wie ein internationaler Flugplatz ist auf eine effiziente und leistungsfähige IT-Infrastruktur angewiesen, um den vielen Aufgaben gerecht zu werden. Sie als Datenbankdesigner und Datenbankadministrator in Personalunion werden mit der Umsetzung des Datenbanksystems für diesen Flughafen betraut. Sogleich machen Sie sich daran, die Anforderungen für eine Flughafenverwaltungs-Datenbank herauszuarbeiten. Der Flugplatz ist nicht nur wichtige Drehscheibe, sondern auch ein beliebter Arbeitgeber in der Region, der für viele Angestellte einen sicheren Arbeitsplatz bereitstellt. Ihr Design muss daher neben den Aspekten des Flugbetriebes auch die Anforderungen einer Personalverwaltung erfüllen, denn die Mitarbeiter sind verschiedenen Aufgaben wie Verwaltung, Bodenpersonal, Luftpersonal oder Sicherheitspersonal zugeordnet. Auch deren Daten sollen mit Ihrem Datenbanksystem verwaltet werden. Für das Management der komplexen Abläufe an einem Flughafen müssen Sie selbstverständlich alle Bereiche abdecken, die mit dem Tagesgeschäft an sich den Flügen zusammenhängen. Daher müssen nicht nur die Flüge, die den Flughafen anfliegen, sondern auch sämtliche startenden Maschinen erfasst werden. Doch damit nicht genug: Um die Start- und Landezeiten an den internationalen Flugverkehr anpassen 54

25 2.3 Das relationale Datenbankenmodell und optimieren zu können, muss in Ihrer Datenbank ein vollständiger Flugplan vorhanden sein. Auch dieser wird mit Ihrem System verwaltet. Die Flüge werden ebenfalls mit der Datenbank verwaltet, indem jeweils eine eindeutige Flugnummer, Startund Landeflughafen und weitere Details festgehalten werden. 2 An dem Flughafen operieren mehrere Fluglinien, die diesen Flugplatz als Heimatflughafen verwenden, von dem aus sie ihre Flüge abwickeln. Dazu gehört neben der Verwaltung der Fluglinien natürlich auch ein System für die Erfassung der Flotte jeder Fluglinie. Da Sie den lokalen Flugplatz auch im Internet präsentieren wollen, stellen Sie eine Webseite mit dynamischem Inhalt zur Verfügung, die nicht nur den Flugplatz selbst, sondern auch die einzelnen Flugzeuge der Fluglinien beschreibt. Doch was wäre ein neuer Flughafen ohne Kunden? Daher müssen Sie alle Passagiere samt ihren Daten im System erfassen. Aus diesem Grund ist die Passagierliste ein weiteres zentrales Element für die Verwaltung des Flughafens mit dem Datenbanksystem. Schließlich werden hier sämtliche Daten der Passagiere von Vorname bis -Adresse erfasst und geprüft. Diese Passagiere können Flüge buchen, eine wichtige Funktion, die Ihr System unbedingt erfüllen muss. Auch hier müssen Sie viele Details berücksichtigen. Mehr dazu erfahren Sie, nachdem wir das relationale Datenbankenmodell vorgestellt haben. 2.3 Das relationale Datenbankenmodell Das relationale Datenbankmodell ist die theoretische Grundlage von sehr vielen aktuellen Datenbankmanagementsystemen, und es wird auch bei MySQL eingesetzt. Das relationale Datenbankmodell basiert auf der relationalen Algebra, die selbst wiederum auf der mathematisch exakt definierten Mengentheorie aufbaut. Das ist wichtig, denn durch das robuste mathematische Fundament lassen sich die Abfrageoperationen auf beweisbare Operationen der Mengenlehre zurückführen und liefern daher korrekte Ergebnisse. Da detaillierte Kenntnisse des mathematischen Formalismus jedoch nicht zwingend notwendig sind, um gute Datenbankdesigns zu entwickeln, greifen wir nun auf die anschaulichere Darstellung von Relationen als Tabellen zurück. Im Folgenden benutzen wir die Begriffe Tabelle und Relation daher synonym Tabellen, Spalten und Zeilen Wie Sie bereits wissen, werden Gegenstände aus der realen Welt in Tabellen nachempfunden. So wie Sie zum Beispiel auch in den Tabellen eines Tabellenkalkulationsprogramms wie Microsoft Office Excel oder OpenOffice Calc zusammengehörige Datensätze erfassen, werden in einer Datenbank ebenfalls Daten in einer Tabelle zusammengefasst, die über gemeinsame Eigenschaften verfügen. Eine Tabelle stellt 55

26 2 Datenbankmodellierung Daten, die in einem Zusammenhang stehen, zueinander in Beziehung sie setzt sie in Relation zueinander. Eine Datenbank bündelt diese Tabellen zu einer Einheit; eine Tabelle kann nicht für sich allein, ohne Datenbank existieren. Beachten Sie, dass der Begriff der Datenbank nicht gleichbedeutend mit dem Datenbankmanagementsystem MySQL ist, sondern ein Teil dessen. Eine Tabelle ist eine zweidimensionale Datenstruktur, die aus Zeilen und Spalten besteht. Jede Tabelle hat einen eindeutigen Namen, den Bezeichner (englisch identifier). Dieser Bezeichner wird allgemein auch Tabellenname genannt, und er muss innerhalb einer Datenbank eindeutig sein. Zwei Tabellen innerhalb ein und derselben Datenbank dürfen also keinen identischen Bezeichner haben. Eine Tabelle besteht aus mehreren Spalten, die selbst wiederum alle einen eigenen Bezeichner haben. Passnummer Vorname Nachname Geburtsdatum Anschrift P Ada Betha Adresse 1 P Edgar Zetmann Adresse 2 P Gabriel Deltram Adresse 3 P Jonas Kapper Adresse 4 P Etha Thees Adresse 5 Tabelle 2.1 Passagiertabelle Betrachten Sie das obige Beispiel für eine Tabelle im Flughafenszenario (Tabelle 2.1). Diese Tabelle stellt einen Ausschnitt der Passagierliste für einen Flug dar und ist daher ein zentrales Element für die Flugverwaltung. In der ersten Zeile befinden sich die Tabellenüberschriften, die gleichzeitig die Spaltennamen darstellen. Jede dieser Spalten steht für eine Eigenschaft des abzubildenden Objekts in diesem Fall ist dieses Objekt ein Passagier. Diese Eigenschaften werden auch als Attribute bezeichnet, und sie fassen jene Informationen über konkrete Passagiere zusammen, die für die Verwaltung des Flughafens notwendig sind. In diesem Ausschnitt sind diese Attribute die eindeutige Passnummer, der Vor- und der Nachname des Passagiers sowie dessen Geburtsdatum und die Anschrift. Eine Reihe oder Zeile in einer Tabelle steht für die Abbildung eines konkreten Objekts aus der realen Welt innerhalb der Datenbank. Ein Passagier besteht aus der Tabellenperspektive aus Attributen wie Passnummer, Vor- und Nachname und weiteren persönlichen Details eines wirklichen Passagiers. Beispielsweise ist die Zeile mit der Passnummer P , dem Vornamen Edgar und dem Nachnamen Zetmann, dem Geburtsdatum sowie der Anschrift ein kompletter Datensatz, der genau einen Passagier beschreibt und im Normalfall genau einmal innerhalb einer Tabelle 56

27 2.3 Das relationale Datenbankenmodell vorhanden ist, er ist also eindeutig. Datensätze werden auch als Tupel bezeichnet. In diesem konkreten Beispiel wird diese Eindeutigkeit durch den Bezug auf die Passnummer dargestellt, die weltweit genau ein einziges Mal für eine Person vergeben wird. Obwohl zwei Passagiere denselben Namen tragen, werden sie anhand der Passnummer unterschieden. Für Datenbanksysteme ist es von entscheidender Wichtigkeit, dass ein Datensatz eindeutig von allen anderen Datensätzen unterscheidbar ist wie sonst sollten Verwechslungen zwischen verschiedenen Passagieren vermieden werden, wenn nicht jeder einzelne eindeutig identifizierbar wäre. 2 Eine Datenbank selbst umfasst mindestens eine Tabelle. Selbstverständlich kann eine Datenbank nicht nur eine, sondern beliebig viele Tabellen enthalten, solange diese voneinander unterscheidbar sind und daher eindeutige Bezeichner aufweisen. Außerdem muss natürlich genügend Speicherplatz auf dem Server zur Verfügung stehen. Die Darstellung von Daten in Tabellen und deren Zusammenfassung in Datenbanken hat einen triftigen Grund. Wie bei allen Anwendungen in der Informatik ist auch hier die Mathematik nicht weit. Denn auch diese anschauliche Darstellungsform hat ihre Entsprechungen im mathematischen Formalismus. So werden Tabellen als Relationen, Spalten als Attribute und Zeilen als Tupel bezeichnet. Das Ziel dieses Formalismus ist es, mathematische Operationen der Mengenlehre auf die Daten der Tabelle anwenden zu können. Die Konsequenzen dafür sind weitreichend, wenn es zum Beispiel um die Verbindung mehrerer Tabellen (Kreuzprodukt), um Sortierreihenfolgen oder Schlüssel geht. Wann immer es nötig sein sollte, erfahren Sie davon in den jeweiligen Abschnitten. Auch wenn dieses Hintergrundwissen nicht zwingend für den praxisnahen Entwurf von Datenbankenmodellen notwendig ist, wird es Ihnen leichter fallen, wenn Sie den Begriffen hier schon einmal begegnet sind Schlüssel identifizieren Datensätze Wie Sie im vorangegangenen Abschnitt bereits erfahren haben, ist es für das Datenbankmanagementsystem unerlässlich, die einzelnen Datensätze voneinander unterscheiden zu können. Daher hat jede Datenbank innerhalb eines DBMS einen eindeutigen Namen, jede Tabelle innerhalb der Datenbank besitzt ebenfalls einen eindeutigen Bezeichner, und auch jede Spalte innerhalb der Tabelle ist eindeutig benannt, sofern diese Spalte nicht als Schlüssel dient. Auch der Inhalt der Tabellen jeder einzelne Datensatz muss eindeutig sein. Nur durch eindeutige Datensätze kann sichergestellt werden, dass es zu keinen Verwechslungen kommt, was im realen Leben zu fatalen Folgen führen kann. Stellen Sie sich vor, jemand mit nicht ganz so weißer Weste hätte zufällig denselben Namen wie Sie, und das System rät nun, wer von Ihnen beiden am Flughafen den Sicherheitscheck passieren möchte... 57

28 2 Datenbankmodellierung Um solche Fehler zu vermeiden, verlassen sich Datenbanken lieber gar nicht auf»ratespielchen«, sondern setzen auf das Konzept von Schlüsseln. Ein Schlüssel identifiziert die Zeile einer Tabelle eindeutig durch einen oder mehrere Werte. Diese Werte werden so gewählt, dass sie allein oder auch in Kombination nur ein einziges Mal innerhalb einer Tabelle vorkommen können. Dadurch wird sichergestellt, dass es keine Zweifel gibt, welcher Datensatz gemeint sein könnte. Wie wir beim vorherigen Beispiel schon gesehen haben, reicht bei Passagieren die Kombination aus Vorund Nachname nicht aus, um sicherzustellen, dass ein Passagier eindeutig identifizierbar ist. Auch wenn Sie einen ausgefallenen Namen haben, kann Ihnen niemand garantieren, dass nicht noch jemand Eltern mit einem Hang zur kreativen Namensfindung hatte. Anders sieht es mit der Passnummer aus. Da sie von staatlicher Seite nur genau einmal vergeben wird, schützt sie vor Verwechslungen. Die Passnummer ist daher ein Attribut, das als Schlüssel geeignet ist. Somit ist es wichtig, Attribute zu finden, die als Schlüssel eingesetzt werden können, denn dadurch sind Verwechslungen per Definition ausgeschlossen. Zahlen eignen sich für diesen Zweck hervorragend, da sie auch automatisch vergeben werden können. So kann für jeden neuen Eintrag beim Anlegen die nächsthöhere Nummer zugewiesen werden. Aus diesem Grund werden oftmals künstliche Schlüssel vergeben, wie Sie im späteren Tutorial noch sehen werden. Dieser Mechanismus wird sehr häufig eingesetzt, da er leicht zu handhaben ist und von MySQL unterstützt wird. Generell können für Schlüssel nicht nur einzelne Attribute wie oben nur die Passnummer, sondern auch Kombinationen von Attributen verwendet werden, solange diese Kombination als Gesamtheit eindeutig ist Die relationale Algebra Nachdem Sie im einleitenden Teil von Abschnitt 2.3 schon mit den grundlegenden Begriffen der relationalen Datenbanken in Berührung gekommen sind, folgt nun eine exaktere Definition. In der Einleitung haben Sie gelernt, dass Sie sich Relationen als Tabellen vorstellen können. Der Begriff der Relation stammt aus der relationalen Algebra, einem Teilgebiet der Mathematik. Mit Hilfe der relationalen Algebra können Anfragen an das definierte Datenbankenschema gestellt werden. Sie stellt verschiedenste Operationen bereit, die selbst wiederum Teilmengen bzw. Ergebnismengen zurückliefern, die beinahe beliebig kombiniert und verknüpft werden können. Die relationale Algebra arbeitet demnach nicht mit einzelnen Zahlen, sondern mit Mengen bzw. Teilmengen. Sie können sich eine Tabelle auch als Menge im mathematischen Sinn vorstellen, deren Elemente die einzelnen Datensätze sind. Auf diese Menge werden verschiedene Operationen angewendet, die als Ergebnis ebenfalls eine Menge zurückliefern. Diese Ergebnismengen sind wiederum Ausschnitte oder Kombinationen der Ausgangstabellen. Der folgende Abschnitt soll einen kurzen Überblick über die Materie der relationalen Algebra vermitteln. 58

Auf einen Blick. MySQL-Administration

Auf einen Blick. MySQL-Administration Auf einen Blick Auf einen Blick TEIL I Erste Schritte 1 Datenbanken eine allgemeine Einleitung... 25 2 Datenbankmodellierung... 51 3 Schnellstart-Tutorial... 93 4 Einführung in die Beispieldatenbank...

Mehr

Auf einen Blick. 1 Datenbanken - eine allgemeine Einleitung... 23. 2 Datenbankmodellierung... 49. 3 Schnellstart-Tutorial... 91

Auf einen Blick. 1 Datenbanken - eine allgemeine Einleitung... 23. 2 Datenbankmodellierung... 49. 3 Schnellstart-Tutorial... 91 Auf einen Blick Auf einen Blick 1 Datenbanken - eine allgemeine Einleitung... 23 2 Datenbankmodellierung..................... 49 3 Schnellstart-Tutorial..................... 91 4 Einführung in die Beispieldatenbank...

Mehr

Inhalt. TEILI Erste Schritte

Inhalt. TEILI Erste Schritte Vorwort 15 Für wen st dieses Buch gedacht? 15 Konventionen 16 Der Aufbau dieses Buches 17 Die DVD zum Buch 18 Die Webseite zum Buch 19 Die Autoren 19 TEILI Erste Schritte 1.1 Grundlagen von Datenbanken

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Avira Server Security Produktupdates. Best Practice

Avira Server Security Produktupdates. Best Practice Avira Server Security Produktupdates Best Practice Inhaltsverzeichnis 1. Was ist Avira Server Security?... 3 2. Wo kann Avira Server Security sonst gefunden werden?... 3 3. Was ist der Unterschied zwischen

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Warenwirtschaft Handbuch - Administration. 2013 www.addware.de

Warenwirtschaft Handbuch - Administration. 2013 www.addware.de Warenwirtschaft Handbuch - Administration 2 Warenwirtschaft Inhaltsverzeichnis Vorwort 0 Teil I Administration 3 1 Datei... 4 2 Datenbank... 6 3 Warenwirtschaft... 12 Erste Schritte... 13 Benutzerverwaltung...

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Hinweise zur Installation von MySQL

Hinweise zur Installation von MySQL Hinweise zur Installation von MySQL Im Folgenden werden einige Hinweise gegeben, die die Einrichtung einer MySQL-Lernumgebung am eigenen Windows-Rechner erleichtern sollen. Der Text ist vor allem für diejenigen

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein Einrichtung von orgamax-mobil Um die App orgamax Heute auf Ihrem Smartphone nutzen zu können, ist eine einmalige Einrichtung auf Ihrem orgamax Rechner (bei Einzelplatz) oder Ihrem orgamax Server (Mehrplatz)

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

1. Aktionen-Palette durch Fenster /Aktionen ALT+F9 öffnen. 2. Anlegen eines neuen Set über Neues Set... (über das kleine Dreieck zu erreichen) Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Anleitung für den Euroweb-Newsletter

Anleitung für den Euroweb-Newsletter 1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf

Mehr

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 Neue Version: Outlook-Termine, Kontakte, Mails usw. ohne Exchange-Server auf mehreren Rechnern nutzen! Mit der neuesten Generation intelligenter

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server? Vorbemerkung Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server? Da wir schon seit einigen Jahren mit OTRS arbeiteten, hat uns ein Kunde beauftragt,

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung: Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen

Mehr

Benutzeranleitung Superadmin Tool

Benutzeranleitung Superadmin Tool Benutzeranleitung Inhalt 1 Einleitung & Voraussetzungen... 2 2 Aufruf des... 3 3 Konto für neuen Benutzer erstellen... 3 4 Services einem Konto hinzufügen... 5 5 Benutzer über neues Konto informieren...

Mehr

Schulberichtssystem. Inhaltsverzeichnis

Schulberichtssystem. Inhaltsverzeichnis Schulberichtssystem Inhaltsverzeichnis 1. Erfassen der Schüler im SBS...2 2. Erzeugen der Export-Datei im SBS...3 3. Die SBS-Datei ins FuxMedia-Programm einlesen...4 4. Daten von FuxMedia ins SBS übertragen...6

Mehr

Installationsanleitung Webhost Windows Flex

Installationsanleitung Webhost Windows Flex Installationsanleitung Webhost Windows Flex Stand März 2014 Inhaltsverzeichnis 1. Zugangsdaten & Login... 3 2. Passwort ändern... 4 3. Leistungen hinzufügen / entfernen... 6 4. Datenbanken anlegen / entfernen...

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

Windows 10 > Fragen über Fragen

Windows 10 > Fragen über Fragen www.computeria-olten.ch Monatstreff für Menschen ab 50 Merkblatt 103 Windows 10 > Fragen über Fragen Was ist das? Muss ich dieses Upgrade machen? Was bringt mir das neue Programm? Wie / wann muss ich es

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

1 PIVOT TABELLEN. 1.1 Das Ziel: Basisdaten strukturiert darzustellen. 1.2 Wozu können Sie eine Pivot-Tabelle einsetzen?

1 PIVOT TABELLEN. 1.1 Das Ziel: Basisdaten strukturiert darzustellen. 1.2 Wozu können Sie eine Pivot-Tabelle einsetzen? Pivot Tabellen PIVOT TABELLEN. Das Ziel: Basisdaten strukturiert darzustellen Jeden Tag erhalten wir umfangreiche Informationen. Aber trotzdem haben wir oft das Gefühl, Entscheidungen noch nicht treffen

Mehr

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Wie richten Sie Ihr Web Paket bei Netpage24 ein Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30 Die neue Datenraum-Center-Administration in Brainloop Secure Dataroom Service Version 8.30 Leitfaden für Datenraum-Center-Manager Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Dokumentversion:

Mehr

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

TeamViewer App für Outlook Dokumentation

TeamViewer App für Outlook Dokumentation TeamViewer App für Outlook Dokumentation Version 1.0.0 TeamViewer GmbH Jahnstr. 30 D-73037 Göppingen www.teamviewer.com Inhaltsverzeichnis 1 Installation... 3 1.1 Option 1 Ein Benutzer installiert die

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

SMART Newsletter Education Solutions April 2015

SMART Newsletter Education Solutions April 2015 SMART Education Newsletter April 2015 SMART Newsletter Education Solutions April 2015 Herzlich Willkommen zur aktuellen Ausgabe des Westcon & SMART Newsletters jeden Monat stellen wir Ihnen die neuesten

Mehr

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen. Bedienungsanleitung CAD-KAS Reklamationserfassung Einen neuen Datensatz anlegen Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen. Datensatz löschen Daten hier erfassen. Automatische Reklamationsnummer

Mehr

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro)

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro) Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro) 1. Vorbereitung/Hinweise Norman Endpoint Manager und Norman Endpoint Protection (NEM/NPro) kann

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

HTBVIEWER INBETRIEBNAHME

HTBVIEWER INBETRIEBNAHME HTBVIEWER INBETRIEBNAHME Vorbereitungen und Systemvoraussetzungen... 1 Systemvoraussetzungen... 1 Betriebssystem... 1 Vorbereitungen... 1 Installation und Inbetriebnahme... 1 Installation... 1 Assistenten

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Hinweise zum Ausfüllen der Zeiterfassung

Hinweise zum Ausfüllen der Zeiterfassung Hinweise zum Ausfüllen der Zeiterfassung Generelle Hinweise zu Excel Ab Version VSA 4.50 wird die dezimale Schreibweise für Zeiteingaben verwendet. Die Zeiterfassung, die Sie erhalten haben wurde für Excel

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook E-Mail-Versand an Galileo Kundenstamm Galileo / Outlook 1 Grundsätzliches...1 2 Voraussetzung...1 3 Vorbereitung...2 3.1 E-Mail-Adressen exportieren 2 3.1.1 Ohne Filter 2 3.1.2 Mit Filter 2 4 Mail-Versand

Mehr

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo

Mehr

ODBC-Treiber 1. 1.1 Programmübersicht

ODBC-Treiber 1. 1.1 Programmübersicht 1 O D B C - Treiber ODBC-Treiber 1 1.1 Programmübersicht Nach einer ausgiebigen Testphase wurde kürzlich der neue ODBC-Treiber freigegeben. Dieser ist somit ab der 2000-er-Version lizenzpflichtig und kann

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Die i-tüpfelchen: Favicons

Die i-tüpfelchen: Favicons Schenken Sie Ihrer URL ein eigenes Icon Sie werden lernen: Wo werden Favicons überall angezeigt? Wie kommen Favicons in die Adressleiste? So erstellen Sie Favicons auf Windows und Mac Ein Favicon für unsere

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr