MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

Größe: px
Ab Seite anzeigen:

Download "MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein"

Transkript

1 MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

2 MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein Webseite zum Buch: Comelio Medien 2011

3 Alle Rechte vorbehalten. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jeder Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für die Vervielfältigung, Übersetzung, Mikroverfilmung und die Einspeicherung und Verbreitung in elektronischen Systemen. Comelio GmbH Comelio GmbH Goethestr. 34 D Berlin Fon: +49 (0) Fax: +49 (0) Umschlaggestaltung, Comelio-Grafiken, Layout & Satz: Nadine Kilian ISBN

4 Inhaltsverzeichnis Inhaltsverzeichnis 1. Grundlagen Beispiel-System MS SQL Server Installation Management Studio Abfragen direkt ausführen Beispieldatenbank AdventureWorks Personaldaten Produktdaten Verkaufsdaten Das relationale Modell Grundbegriffe des relationalen Modells Semantisches Modell Eigenschaften von Daten Klassifikation von Datentypen Beziehungen zwischen Daten Entity-Relationship-Modell Normalisierung mit Normalformen DB-Anomalien Das relationale Datenbank-System Zentrale Begriffe Sichten auf ein relationales Datenbanksystem Anforderungen an ein DBMS Bestandteile einer Tabelle Inhalte einer relationalen Datenbank Architektur-Muster beim Einsatz relationaler Datenbanken SQL Structured Query Language Sprachbestandteile Ursprung: Relationale Algebra Einfache Abfragen Grundstruktur von SELECT Spaltenauswahl Aliasnamen Qualifizierte Spaltennamen Bedingungen Einfache Bedingungen und Operatoren Boolesche Operatoren Mathematische Operatoren Mengen-Operatoren Ergebnisse aufbereiten Duplikate ein-/ausblenden Ergebnisse sortieren Standard-Aggregate Gruppieren 64 3

5 Inhaltsverzeichnis 3. Komplexe Abfragen Verknüpfungen Manuelle Verknüpfungen ANSI-SQL-Verknüpfungen Unterabfragen Einfache Unterabfragen Spaltenunterabfragen Abgeleitete Tabellen Korrelierte Unterabfragen Operatoren für Unterabfragen Verzweigungen CASE mit Selektor Selektorlose CASE-Anweisung Datenmanipulation Datenstrukturen anlegen Tabellen grafisch anlegen Tabellen mit SQL erstellen Tabellen und ihre Eigenschaften ändern Sichten Datentypen Indizes Daten bearbeiten Vorbereitung Einfügen Aktualisieren Löschen Objekte verwalten Katalogsichten für Objekte Funktionen Grundlagen T-SQL T-SQL Blöcke SQL als Programmiersprache Variablen und Anweisungen Kontrollanweisungen Fallunterscheidungen Schleifen Fehlerbehandlung Ausnahmen Traditionelle Fehlerbehandlung Cursor Deklaration Verwendung Beispiele Transaktionen Einfache Transaktionen Sicherungspunkte Erweiterte Transaktionssteuerung Programm-Module in der DB Prozeduren 142 4

6 Inhaltsverzeichnis Einführung Prozedurarten Parameter und Aufruf Funktionen Skalare Funktionen Tabellenwertfunktion Trigger Grundlagen DML-Trigger DDL-Trigger Weitere Optionen Administration Sicherheit Allgemeine Überlegungen zur Sicherheit Datensicherheit Zugriffskontrolle Rollen Benutzer verwalten Rechte verwalten Rechte kaskadierend weitergeben Sicherheit von Prozeduren, Funktionen und Trigger Sicherung und Wiederherstellung Datensicherung Wiederherstellung von Datenbanken DB-Zustand 182 5

7 Vorwort

8 Vorwort Vorwort Herzlich willkommen zu einem Fachbuch von Comelio Medien, einem Unternehmensbereich der Comelio GmbH. Wir hoffen sehr, dass Sie mit der Darstellung und Aufbereitung dieses Einstiegs in SQL und relationale Datenbanken am Beispiel von MS SQL Server zufrieden sind und die für Ihren Berufsalltag wesentlichen Themen finden. Zu dieser Reihe Dieses Buch gehört zu einer Gruppe von verschiedenen Büchern bei Comelio Medien im Bereich relationale Datenbanken und Microsoft SQL Server. Sie umfasst Themen, welche bei der Verwendung als Programmierer und Administrator wichtig sind. Die Reihe enthält folgende Themen: Abfragen von relationalen Datenbanken mit T-SQLund PL/SQL und Programmierung von Prozeduren, Funktionen und Triggern MS SQL Server: T-SQL-Programmierung und Abfragen, ISBN , Oracle PL/SQL, ISBN Oracle SQL, ISBN , oracle/oracle_sql Erzeugen von XML aus Oracle- und MS SQL Server-Daten sowie deren Verarbeitung MS SQL Server: XML und SOAP Webservices - ISBN , Oracle, PL/SQL und XML, ISBN , buch-katalog/oracle/oracle_und_xml Autoren Die beiden Autoren Marco Skulschus und Marcus Wiederstein blicken bereits auf zahlreiche Bücher zu Themen rund um Programmierung und auch Datenbanken zurück. Bei der Comelio GmbH sind sie im Bereich Softwareentwicklung als Projektleiter und auch als Dozenten tätig und stellen mit Hilfe der Veröffentlichungen ihre Erfahrungen im Bereich der Softwareentwicklung einem breiteren Publikum zur Verfügung. Dies geschieht auch im Bereich Weiterbildung, der von der Comelio GmbH im gesamten deutschsprachigen Raum angeboten wird. Marco Skulschus (Jahrgang 1978) studierte Ökonomie in Wuppertal und Paris. Er setzt C# und den MS SQL Server für Kundenprojekte ein. Nichtsdestoweniger ist er auch in anderen Themenbereichen wie 7

9 Vorwort Oracle/Java aktiv. Insbesondere der Themenbereich Datenbanken, Datenmodellierung und XML steht an erster Stelle. Seine Spezialthemen sind Ontologien auf Basis von OWL (Web Ontology Language). Marcus Wiederstein (Jahrgang 1971) studierte Elektrotechnik in Bochum und Dortmund. Er beschäftigt sich nicht nur mit Softwareentwicklung auf Basis von Microsoft-Technologien, sondern auch mit der Administration von Microsoft-Servern. Seine speziellen Interessengebiete sind die Sicherheit und die Planung von sicheren Anwendungsstrukturen. Marco Skulschus und Marcus Wiederstein haben zusammen bereits viele Bücher zu XML sowie zu Datenbanken herausgebracht. Darüber hinaus haben sie unterschiedliche Zertifizierungen von Microsoft und Oracle erworben. Aufbau des Buchs 1. Das erste Kapitel beschreibt zunächst Grundlagen zur Arbeitsumgebung. Es beschreibt bspw. kurz die Installation der Datenbank, den Umgang mit dem grafischen Werkzeug Management Studio sowie die Beispieldatenbank AdventureWorks. In der zweiten Hälfte des Kapitels lernen Sie die wesentlichen Prinzipien von relationalen Datenbanken kennen. Diese umfassen die Themen der Datenmodellierung mithilfe des Entity-Relationship-Modells, den Prozess der Normalisierung, den Aufbau von relationalen Datenbanksystemen und eine allgemeine Einführung in das relationale Modell. 2. Das zweite Kapitel stellt Standard-SQL am Beispiel vom MS SQL Server und vor allen Dingen der AdventureWorks-Datenbank vor. Dabei beginnt es mit einfachen Standardabfragen und arbeitet sich dann durch die typischen Bereiche wie Filtern, Sortieren und Gruppieren, die nicht nur mit dem MS SQL Server, sondern mit jeder Datenbank möglich sind. Es stellt anschließend die verschiedenen Standard-SQL-Funktionen für Aggregate und damit für Datengruppierungen vor. 3. Das dritte Kapitel konzentriert sich auf die Darstellung von so genannten komplexen Abfragen. Dies bedeutet zunächst, dass man die Daten nicht nur aus einer einzigen Tabelle abruft, sondern mehrere Tabellen miteinander über ihre Primärschlüssel-Fremdschlüssel-Verknüpfung verbinden muss. Hier stellt das Kapitel die traditionelle Variante den neuen, so genannten ANSI-SQL-Verknüpfungen gegenüber. Eine zweite Stufe hinsichtlich der Verwendung von komplexen Abfragen ist dann der Einsatz von Unterabfragen. Hier folgt eine Darstellung von einfachen Unterabfragen, Spaltenunterabfragen, abgeleiteten Tabellen und korrelierten Unterabfragen. Die verschiedenen Techniken sind in vielen Datenbanken gleich oder wenigstens ähnlich nutzbar. Schließlich folgt noch die Darstellung, wie man Fallunterscheidungen über die CASE-Anweisung in SQL realisiert und wie zusätzliche Aggregate errechnet werden können. Darunter sind Rangfolgen, Untersummen und Würfel zu verstehen. 4. Das vierte Kapitel arbeitet die Bereiche der Einrichtung von Datenstrukturen und der Datenmanipulation durch. In einem ersten Teil erstellt man über SQL die Datenstrukturen für Tabellen und Sichten. In einem zweiten, umfangreicheren Teil werden dann für verschiedene vereinfachte Tabellen der Beispieldatebank die typischen Bearbeitungsszenarien von Datenerfassung, -bearbeitung, -aktualisierung und -löschung vorgestellt. 5. Das fünfte Kapitel bietet schließlich eine übersichtliche Einführung in die SQL-Erweiterung von MS SQL Server mit dem Namen Transact SQL (T-SQL). Zwar gibt es in einigen vorherigen Kapiteln bereits verschiedene Beispiele, die mit einfachen Mitteln von T-SQL operieren, doch die Erstellung von Variablen, die Verwendung und die Auswahl von geeigneten Datentypen, die Erstellung und Nutzung von Cursorn sowie schließlich auch die Erstellung von Prozeduren und Funktionen ist den 8

10 Vorwort einzelnen Abschnitten dieses fünften Kapitels vorbehalten. T-SQL steht hier als Beispiel für andere SQL-Erweiterungen wie sie in Oracle oder IBM DB2 zu finden sind. 6. Das sechste Kapitel erweitert die Möglichkeiten der Programmierung in der Datenbank und zeigt, wie man für einfache Administration oder die Anwendungsentwicklung Module in der Datenbank erstellt. Jeweils werden Funktionen, Prozeduren und Trigger theoretisch und mit praktischen Beispielen vorgestellt. 7. Das siebte Kapitel schließt das Buch dann mit einigen administrativen Themen ab. Hier sollen nicht MS SQL Server-spezifische Themen behandelt werden, sondern Bereiche wie Benutzer, Rollen und Rechte sollen stattdessen anhand von allgemeinen Beispielen präsentiert werden. Neben dem Thema Sicherheit enthält dieses Kapitel auch Erläuterungen und entsprechende SQL-Skripte für Daten-Sicherung und Wiederherstellung. Beispieldateien Das Beispiel-Datenbank-System ist MS SQL Server, von der auch eine Test-Version und eine kostenlose so genannte Express-Version vorliegen. Als Beispiel-Datenbank dient die sehr umfangreiche Datenbank AdventureWorks, welche im ersten Kapitel kurz eingeführt und vorgestellt wird. Die Datenbank kann sehr leicht zusätzlich installiert und kostenlos aus dem Internet herunter geladen werden. Die verschiedenen Abfragen und Programmdateien, welche in diesem Buch erstellt und diskutiert werden, liegen ebenfalls im Internet zum Download bereit. Die einzelnen Quelltexte sind vollständig dokumentiert und enthalten neben dem eigentlichen Quelltext auch in einem Kommentarbereich die Ergebnisse. Dies ermöglicht es, die Dateien auch ohne Testen vollständig zu verwenden. Die Beispiel-Skripte und auch Seminar-Folien für den Unterrichtseinsatz oder das Selbststudium finden Sie unter. Kontakt zu den Autoren Sie erreichen das Sekretariat der Autoren unter der -Adresse Von dort werden Ihre s dann weitergeleitet. Die Webseite des Verlags finden Sie unter der Adresse während Sie auf der Unternehmenswebseite folgende weitere Informationen finden: SQL-Artikel: Kurzreferenzen: Auch in der realen Welt ist der Verlag zu erreichen. Die Hauptzentrale befindet sich in Berlin, Deutschland. Comelio GmbH, Goethestr. 34, D Berlin 9

11 Grundlagen

12 1. Grundlagen 1. Grundlagen Dieses Kapitel führt im ersten Teil in die Arbeitsumgebung und kurz in das Beispiel-System sowie die Beispiel-Datenbank ein. Im zweiten Teil präsentiert es die wesentlichen Prinzipien und Aspekte der relationalen Modellierung und die Theorie von relationalen Datenbanken Beispiel-System MS SQL Server Für dieses Buch setzen wir als Beispiel-System den Microsoft SQL Server ein. Er zählt zu den am häufigsten eingesetzten Datenbanksystemen der Welt. Grundsätzlich ist die Installation des MS SQL Servers recht einfach, solange nur Testzwecke oder reine Anwendungsentwicklung betroffen ist und nicht etwa der Aufbau eines realistischen Systems. Der MS SQL Server ist in unterschiedlichen Varianten erhältlich. Im Normalfall interessiert man sich am Anfang für die Testversion, die 180 Tage gültig ist oder die Developer Edition, da beide Versionen den vollen Umfang der Datenbank bieten. Zusätzlich ist auch noch eine MS SQL Server Express Edition verfügbar, welche die Datenbankgröße auf 4 Gigabyte und maximal eine CPU sowie bis zu 1 GB Arbeitsspeicher unterstützt. Sie ist für die kostenlose Weiterverteilung und Einbettung in Anwendungen gedacht. Für die Beispiele verwenden wir die Developer-Version, wobei Sie bei einem Test zuhause oder in der Firma auf die angesprochene 180-Tage-Testversion zurückgreifen können Installation Folgende Schritte sind für eine Standardinstallation notwendig: 11

13 1. Grundlagen Abbildung 1.1: Installation (1) 12

14 1. Grundlagen Abbildung 1.2: Installation (2) 13

15 1. Grundlagen Abbildung 1.3: Installation (3) Management Studio Die Steuerung des Systems erfolgt über die Sprache SQL, die Sie in diesem Buch kennen lernen werden, und die Desktop-Anwendung SQL Server Management Studio vorgestellt wird. 14

16 1. Grundlagen Abbildung 1.4: Management Studio Starten Das Management Studio ist die zentrale Anlaufstelle für die Arbeit mit dem MS SQL Server. Starten Sie das Programm, indem Sie unter Start / Programme / Microsoft SQL Server / SQL Server Management Studio auswählen. Auf der linken Seite des sich öffnenden Fensters befindet sich der so genannte Objekt-Explorer, der die Objekte des Servers anzeigt. Dies sind zunächst die Datenbanken selbst, gefolgt von weiteren Bereichen wie Sicherheit, Verwaltung, unterschiedliche Dienste und Datensicherung. Abbildung 1.5: Objekt-Explorer einer Datenbank 15

17 1. Grundlagen Abfragen direkt ausführen Das Management Studio bietet die Möglichkeit, über einen einfachen Texteditor Abfragen an die Datenbank zu senden. Selbstverständlich gibt es dazu auch eine große Anzahl an grafischen Werkzeugen für die Erstellung von Abfragen, Manipulation von Daten oder Verwaltung von DB-Objekten. Mehr über die Beispieldatenbank und wo Sie sie beziehen, erfahren Sie im nächsten Abschnitt. 1. Um eine Abfrage oder allgemein eine DB-Anweisung auszuführen, wählen Sie die Schaltfläche Neue Abfrage. 2. In der Auswahlliste, welche die verschiedenen Datenbanken enthält, die gerade innerhalb des Datenbankservers enthalten sind, wählen Sie die AdventureWorks-Datenbank aus, da die Anweisung in dieser DB ausgeführt werden soll. 3. Tragen Sie dann Ihre SQL-Anweisungen wie bspw. SELECT * FROM Production.Product in das sich öffnende Textfenster ein. 4. Wählen Sie die Ausführen-Schaltfläche oder drücken Sie die F5-Taste. 5. Das Ergebnis erscheint standardmäßig in der so genannten Raster-Ansicht (engl. Grid View) im Bereich Ergebnisse. Zusätzliche Meldungen oder natürlich Fehlermeldungen erscheinen dagegen im Bereich Meldungen. Um eine Folge von SQL-Anweisungen wie bspw. eine Abfrage, die Sie später noch einmal ausführen wollen, als Textdatei zu speichern, wählen Sie Datei / SQL1Query.sql speichern oder Datei / SQL1Query.sql speichern als... aus. Die Endung der Datei ist für die Funktionstüchtigkeit der Datei bedeutungslos, d.h. die Endung.txt wäre genauso sinnvoll. Allerdings können Sie die.sql-endung mit dem Management Studio verknüpfen und sie ist die gebräuchliche Endung für Datenbankanweisungen. Eine solchermaßen gespeicherte Datei lässt sich dann über Datei / Öffnen wieder laden und zur Ausführung bringen. Abbildung 1.6: Ausführen einer Abfrage 16

18 1. Grundlagen Beispieldatenbank AdventureWorks Die Beispiel-Datenbank ist in unterschiedliche Schemata (Bereiche) eingestellt, die mit ihren wesentlichen Tabellen im nachfolgenden kurz vorgestellt werden. Es werden in diesem Buch aus Gründen der Übersichtlichkeit nicht alle Tabellen genutzt. Der Umfang der gesamten Datenbank wäre dafür ein wenig zu groß. Das Thema der Datenbank ist die fiktive Firma AdventureWorks, welche Fahrräder produziert und weltweit per Internet oder lokale Läden vertreibt. Die Datenbank erhalten Sie in verschiedenen Versionen unter com/. Der Installationsprozess ist einfach und richtet die Datenbanken auch sofort ein Personaldaten Innerhalb der Personaldaten werden die Angestellten in einer Employee-Tabelle gespeichert. Sie arbeiten in einer Abteilung, die in einer Department-Tabelle dargestellt ist. Da ein Angestellter nicht notwendigerweise permanent in der gleichen Abteilung arbeitet, sondern von Zeit zu Zeit auch wechselt, ist keine direkte Beziehung zwischen Department und Employee vorhanden, sondern stattdessen eine Beziehungstabelle EmployeeDepartmentHistory eingefügt, welche insbesondere den Eintritt in eine neue Abteilung und den möglichen Austritt enthält. Darüber hinaus arbeiten die Mitarbeiter in Schichten, wobei die Schichteinteilung in der Shift-Tabelle angegeben ist. Betreten Sie eine Abteilung werden sie ebenfalls zu einer Schicht zugeordnet, sodass in der erwähnten EmployeeDepartmentHistory-Tabelle auch eine Verknüpfung zu dieser Shift-Tabelle existiert. Abbildung 1.7: Schema HumanResources Die Kontaktdaten aller Objekte des modellierten Weltausschnitts, die Kontaktdaten aufweisen können, sind zentral in zwei Tabellen gespeichert. Die Contact-Tabelle enthält die allgemeinen persönlichen Daten wie Vorname, Nachname etc. Die Address-Tabelle dagegen enthält Adressinformationen mit Straße, Stadt und PLZ. Für beide Tabellen existieren dann auch noch jeweils zwei Type-Tabellen, d.h. eine Tabelle namens ContactType und eine AddressType-Tabelle, durch die die jeweiligen Datensätze kategorisiert werden können. Länder und allgemeine geografische Bereiche, die außerhalb von konkreten Adressen liegen bzw. die wie Wertelisten angesehen werden können, sind dann in verschiedenen weiteren Tabellen untergebracht. Dies sind solche Tabellen wie CountryRegion oder State- Province. 17

19 1. Grundlagen Abbildung 1.8: Schema Person Produktdaten Die Produkte werden im Schema Production in eine Vielzahl von Tabellen eingeteilt. Davon werden in den Beispielen in diesem Buch nicht alle verwendet, da die Gesamtzahl der Informationen nicht für alle Beispiele didaktisch wertvoll ist, sofern man nicht gerade ein Beispiel benötigt, um zehn Tabellen zu verknüpfen. Die zentrale Tabelle ist Product, in der die wesentlichen Informationen eines Produkts wie Nummer, Bezeichnung, Farbe, Sicherheitsbestand im Lager, Standardkosten und Listenpreis enthalten sind. Für die beiden Attribute Größe und Verkaufseinheit gibt es ausgelagerte Tabellen mit Wertelisten. Kunden bewerten die Produkte in einer ProductReview-Tabelle. Fotos zu den Produkten speichert die Tabelle ProductPhoto in Form eines Pfads. Die historischen Preise werden in einer ProductListPriceHistory gespeichert. Die Kategorien schließlich, die wieder für verschiedene Beispiele sehr hilfreich sind, um Produkte zu kategorisieren und über diese Kategorien Aggregate abzubilden, sind in zwei Tabellen gespeichert. Man unterscheidet zwei Kategorieebenen: zum eine die ProductSubcategory und zum anderen die ProductCategory, wobei die Product-Tabelle zunächst die Unterkategorie verknüpft und diese Unterkategorie wiederum die Oberkategorien. Abbildung 1.9: Schema Production 18

20 1. Grundlagen Verkaufsdaten Die Verkaufsinformationen befinden sich im Schema Sales, wobei aus den sehr vielen Tabellen in den Beispielen im Wesentlichen nur die SalesOrderHeader-Tabelle benutzt wird, da sie die zusammenfassenden Informationen für einen Verkauf (Kopfdaten) enthält. Sie referenziert in sehr vielen Fremdschlüsselspalten eine große Menge an anderen Tabellen, da sie als typische Buchungstabelle die Geschäftsaktivitäten der Firma abbildet. Zu den Kopfdaten eines Auftrags gehören solche Informationen wie drei verschiedene Zeiten (Bestell-, Auslieferungs-, Fälligkeitsdatum), Preise (Netto, Steuer, Total, Fracht) und die erwähnten Referenzen wie Adressen (Liefer-, Rechnungsadresse), Kunden- und Kontaktinformationen sowie Verkaufsgebiet. Abbildung 1.10: Schema Sales Neben diesen Kopfdaten, die ja bereits umfangreich genug sind, wenn man nur die ganzen Referenzen auflöst, gibt es noch weitere Tabellen in diesem Schema. Jede Bestellung enthält natürlich auch einzelne Positionen, die in SalesOrderDetail gespeichert werden, welche insbesondere eine Referenz zur Product-Tabelle enthält. Die Bestelldetails werden in fast allen Beispielen außer Acht gelassen. Ähnliches gilt auch für die verschiedenen Währungen, die man eigentlich für die Bildung von Umsatzaggregaten mit Wechselkursen berücksichtigen müsste. Dazu gibt es die Tabellen CurrencyRate-Tabelle mit den zeitbezogenen Wechselkursdaten und die Currency-Tabelle mit dem Währungsnamen als Werteliste. Die ermittelten Umsatzzahlen, die in den verschiedenen Aggregatbeispielen genutzt werden, müssten also eigentlich noch jeweils in eine gemeinsame Währung umgerechnet werden, was jedoch zu nebensächlichem Zusatzquelltext führt, der das eigentliche Beispiel nur vernebelt Das relationale Modell Dieser Abschnitt beschreibt einige wesentliche Begriffe des relationalen Modells, auf dem die relationalen Datenbanken, welche später noch genauer beschrieben werden, aufbauen Grundbegriffe des relationalen Modells Beim relationalen Modell handelt sich um ein mathematisches Modell, dessen grundlegende Einheit die so genannte Relation ist, welche in einer Datenbank schließlich zu einer Tabelle wird. Eine solche Relation wiederum wird als eine Menge von n-tupeln bezeichnet. Ein Tupel ist in einer Datenbankta- 19

21 1. Grundlagen belle eine einzelne Zeile bzw. ein Datensatz. Die Menge aller Zeilen bildet dann die gesamte Tabelle, während die Menge aller Tupel die Relation bildet. Operationen, die man auf einer solchen Relation ausführen kann, werden als relationale Algebra bezeichnet. Sie baut auf der Mengenlehre auf. Ihre Ausprägung in einer Datenbank ist dann die SQL-Sprache, mit der diese Operationen formuliert werden können. Grundlegende Züge der Mengen-Theorie und ihrer Operationen sind auch in SQL gut zu erkennen und bereits ein grundlegendes und allgemeines Verständnis dieser Operationen bzw. der Mengenlehre hilft sehr beim Erlernen von SQL und Formulieren von komplexen Abfragen. Die nachfolgende Tabelle enthält einen Vergleich zwischen Begriffen des relationalen Modells und einer relationalen Datenbank: Relationales Modell Relation n-tupel mit n Attributen Attribut Relationale Algebra Relationale Datenbank Tabelle Datensatz mit n-feldern Feld, Spalte, Attribut SQL (Structured Query Language) Semantisches Modell Ein semantisches Modell versucht, die Objekte der Realität möglichst genau zu erfassen und so eine Basis für die endgültig zu erstellende Datenbank zu liefern. Im Idealfall entsteht ein Text, der bereits alle Objekte, Beziehungen und Attribute nennt. Die Entwicklung des semantischen Modells stellt die erste analytische Phase dar. Dieses Thema berührt sehr viele verschiedene angrenzende Bereiche der Analyse und beschreibenden Darstellung zum Zwecke der Anwendungsentwicklung. Dazu zählen die folgenden groben Themen: Beschreibung von Abläufen und Prozessen mit ihren Eigenschaften, die an verschiedenen Stationen wertmäßig erfasst werden, und den Einschränkungen und Bedingungen, die für Abläufe und die Auswahl von bedingten Prozessschritten notwendig sind. Identifikation und Beschreibung von Objekten und Entitäten mit ihren Eigenschaften sowie den Beziehungen zwischen ihnen und Einschränkungen und Validierungsregeln für Eigenschaftswerte. Nahezu alle Mittel zur Analyse und Präsentation ihrer Ergebnisse lassen sich denken. Dazu zählen daher die folgenden: Texte und schriftliche Beschreibungen von Abläufen und Objekten mit den üblichen Techniken wie durchgehender Fließtext, Listen und Tabellen. Es empfiehlt sich hier, Techniken des strukturierten Schreibens zu verwenden. Bspw. gehört dazu, einfache und klar geliederte Aussagen zu formulieren und dabei klare Hauptwörter, Sinn tragende Verben und nur die notwendigsten Adjektive zu verwenden. Es ist auch empfehlenswert, Aussagen durch Formelsprache zur Abbildung von Einschränkungen und Bedingungen zu verkürzen. Zeichnungen und Abbildungen von Abläufen sowie den Objekten und ihren jeweiligen Beziehungen. 20

22 1. Grundlagen Einsatz von Darstellungs- und Analysetechniken, die für die Abbildung von Strukturen (Objekte mit ihren Eigenschaften und Beziehungen) sowie Abläufen entwickelt worden sind. Dazu zählen vor allen Dingen das Entity-Relationship-Diagramm (ER-Diagramm). Eine fortgeschrittene Technik ist dabei die UML (Unified Modeling Language). Ältere Techniken sind alle Arten von Flussdiagrammen, welche teilweise als Vorläufer der UML gesehen werden können. Sehr moderne und fortgeschrittene Techniken für Datenstrukturen und Beziehungen zwischen Daten sind Ontologien und ontologische Datenmodelle. Die Technik dieser Art Modellierung und Beschreibung ist schon sehr alt, aber im Bereich Softwaretechnik recht neu Eigenschaften von Daten Die kleinsten Einheiten in einem Datenbanksystem (DBS) sind zweifellos die Daten, die in einem sinnvollen Zusammenhang stehen und von Programmen unterschiedlicher Art für Zwecke der Kontrolle (Finanzsituation), des Marketing (personalisierte Kundenprofile) oder der Verwaltung (Stammdaten) verarbeitet werden. Dieser sinnvolle Zusammenhang ist in der Abbildung illustriert: Interessant sind nicht alle möglichen Namen und Adressen, die in den Telefonbüchern der Welt stehen (Grundgesamtheit), sondern nur die Namen und Adressen von Menschen, die wenigstens einmal ein Zimmer einer Hotelkette gebucht haben. Abbildung 1.11: Daten und ihre Erfassung und Nutzung Diese Daten und noch wesentlich mehr werden in die Datenbank aufgenommen, sobald ein Gast über ein Hotelreservierungssystem als Benutzerschnittstelle ein Zimmer bucht. Damit trägt er seinen Namen sowie weitere Informationen wie Beginn und Ende seines Aufenthalts und natürlich den Hotelnamen in ein Formular ein. Entweder wird dieses Formular direkt im Internet entgegengenommen 21

23 1. Grundlagen oder wandert erst über eine zentrale Stelle wie z.b. das Fremdenverkehrsamt. Im letzteren Fall würden die Daten vermutlich zusätzlich für Kontroll- und Werbezwecke gespeichert, die nicht das Hotel, aber die Stadt als solche betreffen. In einer ersten Phase benötigt das Hotel die Daten lediglich, um die Zimmerbelegung und die Rechnungserstellung zu automatisieren. In einer zweiten Phase könnte man dann diesen Gast in den regelmäßigen Verteiler des Hotelwerbematerials aufnehmen, sodass er für mindestens drei Jahre jährlich eine Broschüre über die weltweit zu buchenden Hotels der Kette erhält. Je mehr Daten vorhanden sind, desto genauer könnte diese personalisierte Marketingstrategie ausgeführt werden: Kennt man den Beruf und weiß man zusätzlich, dass der Grund für den Aufenthalt ein Messebesuch war, so könnte man in einem regelmäßig ablaufenden Programm die Messetermine mit den Aufenthaltsgründen abgleichen und zielgenau die vorjährigen Messebesucher anschreiben, um das Hotel in Erinnerung zu rufen. Mithilfe von drei Kategorien kann man die Eigenschaften von Daten beschreiben. Insbesondere bei der Neu- oder Weiterentwicklung einer Datenbank ist es wichtig, diese drei Eigenschaftsräume mit Leben zu füllen. Dass dies natürlich dann in ihrer Verarbeitung auch für die Programme gilt, in denen sie z.b. als Variablen auftreten, wird Ihnen schon bekannt sein. Der Datentyp dürfte die bekannteste Achse sein, mit der Daten beschrieben werden können. Er ordnet Informationen in bestimmte Kategorien, für die jeweils unterschiedliche Verarbeitungsmöglichkeiten bestehen. Der Name des Hotelgastes kann sinnvollerweise nur vom Datentyp Text sein, damit entsprechende Programmfunktionen und SQL selbst eine Spalte nach dem Alphabet sortieren oder eine Zeichenkette in ihre Bestandteile zerlegen kann. Die kleinste Einheit dieses Datentyps wiederum ist der einzelne Buchstabe. Anreise und Abreise dagegen könnten als Zahl oder Text gespeichert werden, wobei aber zusätzlich für diesen speziellen Typ auch noch ein Typ Datum existiert. Mit Zahlen lässt sich natürlich rechnen. Verwenden Sie den Typ Datum, können Sie später über entsprechende Funktionen auch Rechenoperationen durchführen und somit zum Beispiel die Anzahl der Übernachtungen automatisch berechnen lassen. Erst über diese Definition kann man mit Hilfe entsprechender Programmfunktionen die Dauer des Aufenthalts berechnen. Bei der Verwendung des Datentyps Text sind solche mathematischen Berechnungen dagegen gar nicht erst möglich. Die Eigenschaft Datenformat stellt oftmals kleine Hürden bei ersten Programmierarbeiten dar, wenn z.b. ein amerikanisches Datum in ein europäisches überführt werden soll oder Währungsbeträge nicht mit beliebig vielen Dezimalstellen (Benzin natürlich wieder ausgenommen), sondern mit genau zwei Dezimalstellen ausgegeben werden sollen. Das Problem tritt sicherlich öfter auf und muss manchmal an einer ganz anderen Baustelle gelöst werden. Das Format lässt sich mit SQL in einigen Fällen von vorne herein vorgeben, in anderen dagegen müssen die Ergebnisdaten eigens in das benötigte Format überführt werden. Damit gehört diese Eigenschaft eher zur externen Problemsicht der Abfrage und wird prinzipiell von SQL nicht weiter berücksichtigt. In einer Programmiersprache Ihrer Wahl können Sie mit den entsprechenden Funktionen sicherlich das Format nach Ihren Wünschen anpassen. Das wohl häufigste Beispiel für die Vorgabe eines Wertebereichs (Domäne) im Internet dürfte die Verwendung der möglichen Werte Herr und Frau für die Spalte Anrede oder Geschlecht sein. Menschen werden typischerweise mit diesen beiden Werten katalogisiert, um z.b. eine korrekte Anrede zu ermöglichen. Gerade bei Auswahl über Optionsfelder lässt sich nichts anderes in die Datenbank eintragen. Möchte man diesen Punkt sehr genau betrachten, so kann man diese Eigenschaft weiter differenzieren: Während der natürliche Wertebereich der in der Realität vorkommende Wertebereich ist (die 22

24 1. Grundlagen Zahl Pi besitzt schlicht und einfach unendlich viele Nachkommastellen), muss dieser Wertebereich oft für die Verwendung in einem Rechner eingeschränkt werden (ein Rechner verarbeitet sehr lange Zahlen, aber letztlich doch nur endlich lange). Der Wertebereich letztendlich, der wirklich Eingang in die Datenbank findet, ist noch einmal kleiner, denn neben der rechnerbedingten Endlichkeit und damit Begrenzung von Zahlen oder auch anderen Daten, gibt es Daten, die nur in einer bestimmten Größe (Postleitzahlen haben in Deutschland fünf Stellen, in der Schweiz und in Österreich dagegen vier) oder einem bestimmten Muster (Kreditkartennummern, Telefonnummern, ISBN-Nummern) auftreten. Dieser Eigenbereich kann bereits von der Datenbank mit entsprechenden SQL-Befehlen auf Korrektheit überprüft werden. Das Format wird dabei überprüft und mit einem Musterformat verglichen Klassifikation von Datentypen Wie immer könnte man feinere Verästelungen der Klassifikation von Daten verwenden, doch sollen diese Informationen Ihnen lediglich die wesentlichen Grundlagen vermitteln. Eine einfache Bildung von Unterkategorien im Eigenschaftsraum Datentypen ist die Unterscheidung zwischen elementaren und zusammengesetzten Datentypen. Sie konzentriert sich auf die Elemente der Wertemenge und damit auf die Struktur der Objekte. Typischerweise bewegt man sich bei der Entwicklung von Attributen bzw. Feldnamen von komplexen Begriffen zu elementaren. Dies werden Sie insbesondere bei der Normalisierung von Datenmodellen kennen lernen. Elementare Datentypen sind die Datentypen, die mit SQL für ein Feld vergeben werden und die bereits oben angesprochen wurden. Relationale Datenbanksysteme verwenden u.a. solche elementare Datentypen wie ganze Zahlen im Gegensatz zu reellen Zahlen, wobei die reellen Zahlen Nachkommastellen aufweisen können und damit genauer sind, wenn z.b. Rechenoperationen auf die einzelnen Daten angewandt werden. Zwei als ganze Zahlen definierte Daten ergeben bei einer nicht ganzzahligen Division keine Nachkommastellen, womit zwangsläufig Ungenauigkeiten auftreten, die man entweder wie bei der Modulo-Rechnung in Algorithmen einsetzen kann oder die man lieber vermieden hätte. Weitere Datentypen wie logische Daten, deren Wertebereich gleichzeitig auf WAHR und FALSCH beschränkt ist, können ebenfalls in Programmierabläufen eingesetzt werden. Zusammengesetzte Datentypen ergeben sich aus den Oberbegriffen zu Objekten, die in einem Datenmodell eingearbeitet werden sollen. Innerhalb einer Datenbank für eine Hotelkette werden neben den Gastinformationen natürlich auch Informationen zum Aufenthalt gespeichert. Die Aufenthaltsinformationen sind zunächst für die gegenwärtige Abrechnung wichtig. Da aber der Datensatz des Gastes nicht aus der DB entfernt wird, können die Gastinformationen für die oben erwähnten Marketing-Aktivitäten genutzt werden. Bei dieser Überlegung, die auf den Einsatzmöglichkeiten der Daten beruht, trennt man automatisch beide Bereiche voneinander ab. So wird zum Beispiel der Name atomisiert und in Vorname und Nachname aufgeteilt. Der Datentyp Name ist dann also zusammengesetzt aus Vorname und Nachname. Weitere Oberbegriffe wären dann im Rahmen der Gastinformationen die Adresse, wobei diese ebenfalls jeweils in zusätzliche Feldnamen aufgespaltet werden kann. Hier ist es wichtig zu erwähnen, dass unterschiedliche elementare Datentypen das komplexe Objekt Adresse bilden. Während die Postleitzahl eine Ganzzahl ist, sind Straßen- und Stadtnamen vom Typ Text. Die Hausnummer dagegen ist ebenfalls vom Typ Text, da ja Kombinationen aus Zahlen und Buchstaben (Bahnhofstr. 3a) möglich sind. 23

25 1. Grundlagen Abbildung 1.12: Verschieden strukturierte Daten Beziehungen zwischen Daten Eine wichtige Eigenschaft von Daten innerhalb eines Datenmodells ist die Beziehungsstruktur. Sie ist zunächst in der Realität vorhanden und wird durch die Abbildung im Datenmodell für die DB bedeutsam. In der Datenbank werden sie vor allen Dingen durch die so genannte Primärschlüssel-Fremdschlüssel-Beziehung abgebildet. Zwei hierarchische Ebenen müssen unterschieden werden: Beziehungen innerhalb eines Objekts: Die Beziehungen, die in den Attributen für den Hotelgast existieren, sind nur für ihn als Individuum bzw. sofern sie wie bei Messebesuchen bei einer Gruppe von Individuen auftreten als kleine Unterkategorie des Objekts Hotelgast interessant. Geht aus irgendeinem Grund die Information verloren, dass er wegen eines Messebesuchs im März im Hotel ein Zimmer gebucht hat, verschwindet in diesem kleinen Beispiel auch die Möglichkeit, ihn personalisiert zu bewerben. Es ist gerade diese Information bzw. ihre Beziehung zu den Attributen Namen und Adresse, die ihn ein wenig heraushebt und besser beschreibt. Beziehungen zwischen Objekten: Zwischen verschiedenen Objekten mit weitestgehend unterschiedlichen Attributen, also Daten, die pro Objekt erfasst werden, sind Beziehungen besonders bedeutsam, da sie die Grundkonzeption relationaler DBS bilden. Erst über spezielle Beziehungen, wie sie bspw. über das Schlüsselkonzept gebildet werden, können Netze von Objekten entstehen 24

26 1. Grundlagen und Vorteile wie z.b. Redundanzfreiheit genutzt werden. In diesem Zusammenhang sei nur kurz darauf verwiesen, dass ein Hotel, das sich durch günstigen Online-Anschluss im Hotelzimmer, lange Abendessenszeit und Transferdienst auf Messebesucher spezialisiert hat, die Messen ebenfalls als eigenes Objekt in der DB erfassen könnte. So könnten über die Verwendung eines eindeutigen Messenamens (oder typischerweise eine Nummer / einen Schlüssel) im Objekt Messebesucher genauere Messeinformationen mit den Hotelgästen kombiniert werden. Beziehungstyp Eineindeutig 1:1 Funktional 1:n Komplex n:m ÎÎ Die 1:1 (eineindeutige) Beziehung Definition Jedem Objekt vom Typ A ist genau ein Objekt vom Typ B zugeordnet. Jedes Objekt vom Typ A steht mit beliebig vielen Objekten vom Typ B in Beziehung. Dagegen steht ein Objekt vom Typ B höchstens mit einem Objekt vom Typ A in Beziehung. Beliebig viele Objekte vom Typ A stehen mit beliebigen Objekten vom Typ B in Beziehung und umgekehrt. In einem Ehepaarkreis mit vier Ehepaaren kann man die beiden Objekte Ehemänner und Ehefrauen unterscheiden. Da die Objektanzahl begrenzt ist, ist auch der Wertebereich für das Attribut Vorname auf insgesamt acht Werte beschränkt. Jeweils vier davon lassen sich auf eine der Gruppen verteilen. Kein Vorname taucht doppelt auf, sodass unterschiedliche Personen auch unterschiedliche Vornamen besitzen. In einer eineindeutigen Beziehung zwischen zwei Wertebereichen gehört zu jedem Wert des einen Wertebereichs ein Wert des anderen Wertebereichs. In diesem Fall ist Ralf mit Susanne, Reinhard mit Birte, Tom mit Tina und Nils mit Anja verheiratet. Wie das bei deutschen Ehepaaren so üblich ist, hat jeder nur einen einzigen Ehepartner. Abbildung 1.13: Eineindeutige Beziehung ÎÎ Die 1:n (funktionale) Beziehung Sobald man Kinder mit zur Familie zählt, wird alles bunter, und der Organisationsaufwand nimmt zu. So ist es natürlich auch bei der Bestimmung der Beziehungen. Susanne und Tina sind bereits Mütter, während Birte und Anja noch keine Kinder haben. Eine funktionale Beziehung zeichnet sich dadurch aus, dass zu den Werten des einen Wertebereichs null, einer oder mehrere Werte des anderen Wertebereichs gehören. Die funktionale Beziehung bedeutet also: Jeweils ein Kind hat genau eine Mutter. Umgekehrt kann aber eine Mutter mehrere Kinder haben. Daher auch die Beziehung 1:n. 25

27 1. Grundlagen So kann also Susanne zwei Kinder haben, Tina eines und die anderen Mütter keine. Bei der funktionalen Beziehung ist also nur erlaubt, dass ein Wertebereich uneindeutige Werte hat, sodass es wie in der Realität ausgeschlossen ist, dass ein Kind zwei Mütter hätte. Abbildung 1.14: Funktionale Beziehung ÎÎ Die n:m (komplexe) Beziehung Eine komplexe Beziehung liegt vor, wenn keine Einschränkungen wie bei der funktionalen Beziehung gemacht werden können. Ein solcher Fall stellt sich, wenn weitere Verwandten das Bild betreten. Eine Tante kann sowohl einen als auch mehrere Neffen oder Nichten haben. Umgekehrt ist es auch möglich, dass ein Kind mehrere Tanten besitzt. So ist Birte sowohl von Stefan als auch von Kristina die Tante, während Holger als Tanten Tina und Anja nennen kann. Eine komplexe Beziehung liegt vor, wenn es zu jedem Wert eines Wertebereichs null, einen oder mehrere Werte eines anderen Wertebereichs gibt und umgekehrt. Damit sind die Beschränkungen der funktionalen Beziehung aufgehoben. Abbildung 1.15: Komplexe Beziehung ÎÎZusammenfassung Abbildung 1.16: Zusammenfassung der Beziehungen 26

28 1. Grundlagen Entity-Relationship-Modell Bevor man sich daranmacht, für ein Datenbankprojekt sofort Tabellen und Feldnamen mit SQL zu tippen, kann man mithilfe eines grafischen Modells versuchen, die zu modellierenden Objekte zu finden und sich einen Überblick über die Beziehungen zu verschaffen. Seit 1976 wird das von P. P. Chen vorgeschlagene Entity-Relationship-Modell (ER-Modell oder ERM) für eine erste Annäherung verwendet, dessen Vorteile in der grafischen Darstellung und der mathematischen Verständlichkeit liegen. Es besteht aus den Elementen Entity, Entity-Typ, Relationship und Attribut. Element Bedeutung Zeichen Entity zu modellierendes Objekt Rechteck Entity-Typ Objekte mit ähnlichen Eigenschaften Rechteck Relationship Beziehung zwischen Objekten Raute Attribut Eigenschaft eines Objekts Oval Das RDM (relationale Datenmodell) beruht auf der Überführung der einzelnen Objekte im ER-Modell in Tabellen, die über die Primärschlüssel, die in der anderen Tabelle Sekundärschlüssel sind, in Beziehung stehen. Dieses Datenmodell wurde von E.F.Codd 1970 entwickelt und bildet die Grundlage für relationale Datenbanksysteme. In diesem Zusammenhang wird ein Datenmodell mit nur einer einzigen Tabelle und sämtlichen Informationen als Universal Relation bezeichnet. Folgende Schritte sind dabei zu berücksichtigen: 1. Entwickeln Sie ein semantisches Modell. 2. Leiten Sie aus dem semantischen Modell die benötigten Objekte ab. 3. Es ist nachher nicht weiter schwierig, sich mehr und mehr Attribute auszudenken, sodass man sich zunächst auf die wichtigsten beschränken sollte. Normalerweise findet man die benötigten Attribute über eine Tätigkeitsanalyse oder eine Objektanalyse. In einer solchen Tätigkeits- oder Prozessanalyse durchläuft man die gesamten Tätigkeiten, die ein Objekt ausführt. Sie verlaufen teilweise auch parallel zu den Tätigkeiten anderer Objekte, die entweder schon von Anfang an bestehen oder sich erst im Prozessverlauf herausbilden. Die Objektanalyse fokussiert mehr die Beschreibung von Objekten, die real vorhanden sind. 4. Erstellen Sie das Entity-Relationship-Diagramm. Dabei werden die einzelnen gefundenen Objekte zueinander in Beziehung gesetzt und in ein Diagramm gezeichnet. Es kann bei vielen Objekten oder Attributen oder komplexen Beziehungsstrukturen beträchtliche Größen erreichen. Wahlweise wird auch ein Name für die Beziehung vergeben. 5. Transformieren Sie das ER-Modell in das relationale Daten-Modell: Ein Objekt bildet eine eigene Tabelle. Die Datensätze sind die einzelnen Zeilen einer solchen Tabelle. 27

29 1. Grundlagen Die Attribute stellen die Spalten (Feldnamen) dar. Ein Schlüssel ist ein spezielles Attribut, das einen Datensatz eindeutig identifiziert. Oft können die übrig bleibenden Attribute bei Entfernung eines Attributes einen Datensatz nicht mehr korrekt oder eindeutig identifizieren. Der Wertebereich einer Spalte entspricht der Domäne, die dem Attribut zugeordnet wurde. Eine Beziehung wird entweder über Fremdschlüssel oder über eine eigene Beziehungstabelle ausgedrückt. 6. Spalten Sie die Beziehungen in Primärschlüssel-Fremdschlüssel (1:1 und 1:n) oder Beziehungstabellen (n:m) auf. 7. Verhindern Sie Dateninkonsistenzen. Hierbei müssen entsprechende Konventionen aus realen Gegebenheiten abgeleitet werden, um die Daten konsistent zu machen. Nur so können Sie garantieren, dass Abfragen auch tatsächlich korrekt ablaufen. Zwei typische Konzepte helfen bei diesem Ziel: Wertebereiche oder Domänen und Namensdefinitionen. 8. Testen Sie das Datenmodell durch beispielhafte Einträge. Es empfiehlt sich zusätzlich, lieber mit schlechten als mit guten Daten einen Testlauf zu machen, damit evtl. Fehler noch früh genug gefunden werden können. Schlechte Daten in diesem Zusammenhang sind vom DB-Entwickler aus der Prozessanalyse gewonnene Beispieldaten oder solche, die der Auftraggeber/Benutzer ihm als typische übermittelt hat. In jedem Fall sind es nicht die guten Daten, die nachher im normalen Arbeitsprozess, wenn alles funktionieren sollte, eingegeben werden. Mögliche Fehler, die insbesondere durch unerfasste Ausnahmeregelungen entstehen können, können Sie mit Testeinträgen versuchen zu entdecken. Abbildung 1.17: Entity-Relationship-Diagramm für den Komplex Buch-Autor-Verlag 28

30 1. Grundlagen Normalisierung mit Normalformen Ein in einer Universal-Relation (nicht normalisierte Struktur/Tabelle) vorliegendes Datenmodell kann über Normalisierungen in ein korrektes relationales Schema überführt werden. Dabei werden für die 1NF (erste Normalform) alle Attribute atomisiert, für die 2NF die funktionalen Abhängigkeiten zwischen Primärschlüssel und anderen Attributen elementar gemacht und in der 3NF die funktionalen Abhängigkeiten der Attribute untereinander direkt gemacht. Auf dem Weg von einem semantischen Modell b bis hin zu einem funktionsfähigen relationalen Datenmodell werden normalerweise die wichtigsten Strukturen erkannt und auch korrekt modelliert. Die Feinheiten allerdings bleiben erwartungsgemäß auf der Strecke. Nun soll noch einmal unter dem Blickwinkel des korrekten Tabellenaufbaus der Algorithmus der Normalisierung vorgestellt werden. Die in diesem Algorithmus ablaufenden Regeln und die ihn begründenden Gesetze haben folgende Ziele: Der Aufwand für die Weiterentwicklung der Anwendungsprogramme soll gesenkt werden. Die einzelnen Datenstrukturen sind logisch so weit wie möglich entflochten, sodass die Daten möglichst flexibel verwaltet werden können und Änderungen sowohl bei einzelnen Objekten als auch in der Anwendungssoftware leicht durchführbar bleiben. Eine fast redundanzfreie Speicherung von Daten verkleinert den Speicherplatz und nutzt Rechenzeit besser aus. Dies sind die Definitionen der ersten drei Normalformen: Eine Tabelle ist in der 1. Normalform, wenn sie einen Schlüssel besitzt und alle Attribute atomisiert sind. Atomisiert sind Attribute genau dann, wenn sie nicht weiter aufgeteilt werden können. Eine Tabelle ist in 2. Normalform, wenn sie in der 1. Normalform ist und die funktionalen Abhängigkeiten zwischen Schlüssel und den anderen Attributen elementar ist. Eine Tabelle ist in der 3. Normalform, wenn sie in der 2. Normalform ist und die Eigenschaft und die funktionalen Abhängigkeiten zwischen dem Schlüssel und den anderen Attributen direkt sind. Folgendes Anti-Beispiel erfüllt kein einziges der der oben genannten Merkmale, sodass es mit den folgenden Abschnitten als durchgehendes Beispiel schrittweise in ein geeignetes Datenmodell überführt werden kann. In einer Firma, die sich mit der Lösung von E-Commerce-Problemen beschäftigt, sind verschiedene Mitarbeiter abteilungsübergreifend in Projekten eingesetzt. Jeder Mitarbeiter hat eine Personalnummer (PersNr), einen Namen (Name) und ein Einstiegsjahr (Jahr). Die Mitarbeiter arbeiten in Abteilungen, die eine Abteilungsnummer (AbtNr), einen Abteilungsnamen (AbtName), eine Mitarbeiterzahl (MaZahl) und einen Abteilungsleiter (AbtLeit) besitzen. Die Projekte haben verschiedene Nummern (ProjNr) und einen Projektleiter (LeitNr). Die Mitarbeiter beschäftigen sich unterschiedlich intensiv (Zeit) mit den aktuellen Projekten. Eine solche nicht-normalisierte Tabelle nennt man Universalrelation. PersNr ProjNr LeitNr Zeit Name Jahr AbtNr AbtName MaZahl AbtLeit 1020 C % Ralf Medien Tauzieh 1020 B % Ralf Tauzieh Medien

31 1. Grundlagen PersNr ProjNr LeitNr Zeit Name Jahr AbtNr AbtName MaZahl AbtLeit 1035 C % Jana FiBu Grün 1042 B % Tom Seminare Schnell 1042 D % Tom Seminare Schnell 1048 D % Fritz Programmierung Bachler 1049 C % Tanja Sieben Programmierung Zwischen Daten können unterschiedliche Abhängigkeiten bestehen. Mit ihrer Hilfe können Daten in eine vernünftige relationale Form gebracht werden, wenn man die Daten entsprechend analysiert. Die funktionale Abhängigkeit ist diejenige, welche bei der Normalisierung insbesondere interessiert. Für die funktionale Abhängigkeit gilt, dass zwei Attribute eines Objekts dann funktional voneinander abhängen, wenn zu jedem Wert von A nur ein Wert von B gehört. In obiger Tabelle besteht also bspw. eine solche Abhängigkeit zwischen PersNr und Name, da über die Personalnummer (1020) sofort auf den zugehörigen Namen (Ralf Tauzieh) geschlossen werden kann. In diesem Fall sagt man, dass der Name funktional abhängig ist von der Personalnummer. Wenn Sie mit so häufigen Namen wie Ralf Müller oder Ralf Schmidt den gleichen Test machen, könnte es sein, dass auch noch ein Anderer im Betrieb den gleichen Namen hat und deswegen die Personalnummer nicht vom Namen abhängt. 1. Analysieren Sie die vorliegende Datenstruktur. 2. Richten Sie die Tabelle MITARBEITER ein. Ganz deutlich fällt auf, dass ein besonders einfach zu modellierendes Objekt der einzelne Mitarbeiter ist. Er wird in der Übersichtstabelle hauptsächlich durch seine PersNr, seinen Namen und sein Eintrittsjahr gekennzeichnet. Die Aufnahme der anderen Attribute verbietet sich deswegen schon, weil sie u.a. die Datenredundanz hervorgerufen haben. Sobald ja ein Mitarbeiter an zwei Projekten teilnimmt, taucht er mit zwei Datensätzen und seinen gesamten anderen Daten in der Übersichtstabelle auf. PersNr Name Jahr 1020 Ralf Tauzieh Jana Grün Tom Schnell Fritz Bachler Tanja Sieben Bringen Sie die Tabelle MITARBEITER in die 1. Normalform. Für die 1. Normalform gilt, dass sie einen Schlüssel besitzt und alle Attribute atomisiert sind. Ein Schlüssel ist durch die Personalnummer vorhanden. Die Atomisierung muss noch umgesetzt werden, da im Attribut Name sowohl der Vorname als auch der Nachname eingetragen sind. Atomisiert sind Attribute also dann, wenn sie nicht weiter aufgeteilt werden können. PersNr Vorname Name Jahr 1020 Ralf Tauzieh Jana Grün

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein www.comelio-medien.com MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

Mehr

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Vorwort. Zu dieser Reihe. Autoren. Vorwort Vorwort 11 12 Vorwort Herzlich Willkommen zu einem Fachbuch von Comelio Medien, ein Bereich der Comelio GmbH. Wir hoffen sehr, dass Sie mit der Darstellung und Aufbereitung zu den verschiedenen Themengebieten

Mehr

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein www.comelio-medien.com MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein MS SQL Server Einstieg in relationale Datenbanken und SQL Marco Skulschus Marcus Wiederstein

Mehr

Vorwort. Aufbau und Struktur

Vorwort. Aufbau und Struktur Vorwort Herzlich willkommen zu einem Fachbuch aus dem Verlag Comelio Medien. Dieses Buch aus dem Bereich Datenbanken soll Sie dabei unterstützen, die Oracle SQL zu lernen, um DB-Objekte zu erstellen und

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

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

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

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

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

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

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

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

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Übungsblatt 4 Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Die Saartal Linien beauftragen Sie mit dem Entwurf der Datenstrukturen für ein Informationssystem. Dieses soll zur Verwaltung

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

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

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

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

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

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

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

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! 9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden? Connext GmbH Balhorner Feld 11 D-33106 Paderborn FON +49 5251 771-150 FAX +49 5251 771-350 hotline@connext.de www.connext.de Pflegeberichtseintrag erfassen Produkt(e): Vivendi Mobil Kategorie: Allgemein

Mehr

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Produktschulung WinDachJournal

Produktschulung WinDachJournal Produktschulung WinDachJournal Codex GmbH Stand 2009 Inhaltsverzeichnis Einleitung... 3 Starten des Programms... 4 Erfassen von Notizen in WinJournal... 6 Einfügen von vorgefertigten Objekten in WinJournal...

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

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

Der Kundenmanager. Der Kundenmanager der Firma AED-SICAD ist ein Bestandteil des Web Order System (WOS) und unterscheidet zwischen folgenden Kunden:

Der Kundenmanager. Der Kundenmanager der Firma AED-SICAD ist ein Bestandteil des Web Order System (WOS) und unterscheidet zwischen folgenden Kunden: Der Kundenmanager Der Kundenmanager der Firma AED-SICAD ist ein Bestandteil des Web Order System (WOS) und unterscheidet zwischen folgenden Kunden: Geschäftskunden Bei Geschäftskunden handelt es sich um

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003 Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

1 BEDIENUNGSANLEITUNG

1 BEDIENUNGSANLEITUNG 1 BEDIENUNGSANLEITUNG 1.1 Kunde In diesem Fenster können die Stammdaten des Kunden eingetragen werden oder es kann eine Änderung der Stammdaten durchgeführt werden. Zusätzlich kann man auch Kunden nach

Mehr

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten. Personenverzeichnis Ab dem Wintersemester 2009/2010 wird das Personenverzeichnis für jeden Mitarbeiter / jede Mitarbeiterin mit einer Kennung zur Nutzung zentraler Dienste über das LSF-Portal druckbar

Mehr

Access 2000 und MS SQL Server im Teamwork

Access 2000 und MS SQL Server im Teamwork Access 2000 und MS SQL Server im Teamwork von Irene Bauder, Jürgen Bär 1. Auflage Hanser München 2000 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21473 6 Zu Inhaltsverzeichnis schnell und

Mehr

FEUERWEHR KAMERADEN LEHRGÄNGE 4 DRUCKEN 5

FEUERWEHR KAMERADEN LEHRGÄNGE 4 DRUCKEN 5 FEUERWEHR KAMERADEN LEHRGÄNGE 4 DRUCKEN 5 Der Menüpunkt Pflege Kameraden dient zur Verwaltung der Mitglieder der Feuerwehr. Hier erfassen Sie die grundlegenden Daten zu einem Mitglied / Kamerad. Dabei

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

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

Doku zur Gebäudebrüter Datenbank

Doku zur Gebäudebrüter Datenbank Autor: Christina Baradari, christina.baradari@berlin.de, 0162 2008 114 Doku zur Gebäudebrüter Datenbank Team Web Programmierer: Rahim Baradari Inhaltsverzeichnis 1 Suchen nach Kartierungsdaten... 2 1.1

Mehr

4 Grundlagen der Datenbankentwicklung

4 Grundlagen der Datenbankentwicklung 4 Grundlagen der Datenbankentwicklung In diesem Kapitel werden wir die Grundlagen der Konzeption von relationalen Datenbanken beschreiben. Dazu werden Sie die einzelnen Entwicklungsschritte von der Problemanalyse

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

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

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Vorwort. Zu dieser Reihe. Autoren. Vorwort

Vorwort. Zu dieser Reihe. Autoren. Vorwort Vorwort 9 10 Vorwort Vorwort Herzlich Willkommen zu einem Fachbuch von Comelio Medien, ein Bereich der Comelio GmbH. Dieses Buch aus unserer Reihe zur.net-entwicklung ist das Ergebnis einer Forschungsarbeit,

Mehr

ER-Modell. Entity-Relationship-Model

ER-Modell. Entity-Relationship-Model + ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü.

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü. Module Entwicklung 1. Einleitung Diese Eigenschaft erlaubt die Erstellung und Administrierung der neuen Felder für die folgende Module: Institutionen, Kontakte, Bestellungen und Besuche. Es ist auch möglich

Mehr

Internationales Altkatholisches Laienforum

Internationales Altkatholisches Laienforum Internationales Altkatholisches Laienforum Schritt für Schritt Anleitung für die Einrichtung eines Accounts auf admin.laienforum.info Hier erklären wir, wie ein Account im registrierten Bereich eingerichtet

Mehr

Inhaltsverzeichnis. 1. Fragestellung

Inhaltsverzeichnis. 1. Fragestellung Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.

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

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

Nutzer-Synchronisation mittels WebWeaver Desktop. Handreichung

Nutzer-Synchronisation mittels WebWeaver Desktop. Handreichung Nutzer-Synchronisation mittels WebWeaver Desktop Handreichung Allgemeine Hinweise Um die Synchronisation der Nutzerdaten durchzuführen, starten Sie WebWeaver Desktop bitte ausschließlich mit dem für Ihre

Mehr

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Hinweise Der Aufgabensatz

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

DRK Ortsverein Henstedt-Ulzburg e.v. DRK Möbelbörse. Benutzerhandbuch. Version 1.2

DRK Ortsverein Henstedt-Ulzburg e.v. DRK Möbelbörse. Benutzerhandbuch. Version 1.2 DRK Ortsverein Henstedt-Ulzburg e.v. DRK Möbelbörse Benutzerhandbuch Inhaltsverzeichnis Sinn und Zweck der Möbelbörse...3 Handhabung der Oberfläche... 3 Erklärung der einzelnen Menüteile...3 Bedingungen...

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

Gästeverwaltung. Gästestammdaten. Gäste verwalten. Hotelsoftware für Klein- und Mittelbetriebe

Gästeverwaltung. Gästestammdaten. Gäste verwalten. Hotelsoftware für Klein- und Mittelbetriebe Gästeverwaltung Hotelsoftware für Klein- und Mittelbetriebe Gästestammdaten Gäste verwalten Gästeverwaltung für Windows ermöglicht Ihnen die komfortable Erfassung Ihrer Gästestammdaten und stellt diese

Mehr

Benutzerhandbuch SMS4OLLite

Benutzerhandbuch SMS4OLLite Benutzerhandbuch SMS4OLLite Inhaltsverzeichnis INHALTSVERZEICHNIS 2 1 VORWORT 3 2 INSTALLATION DES SMS4OLLITE-CLIENT 4 2.1 Downloaden der Installationsdatei 4 2.2 Installation von SMS4OLLite 4 2.3 Registrierung

Mehr

Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==-

Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==- Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==- Einleitung : Zu Beginn möchte ich kurz den Sinn dieser Datenbank erläutern. Als Webmaster der Fachinformatiker -==

Mehr

Erweiterungen Webportal

Erweiterungen Webportal Erweiterungen Webportal Adress-Suche Inaktive Merkmale und gelöschte Adresse Die Suche im Webportal wurde so erweitert, dass inaktive Adresse (gelöscht) und inaktive Merkmale bei der Suche standardmässig

Mehr

50,2 Hz Portal - Kurzanleitung für die Rolle Sachbearbeiter

50,2 Hz Portal - Kurzanleitung für die Rolle Sachbearbeiter 50,2 Hz Portal - Kurzanleitung für die Rolle Sachbearbeiter Inhalt 50,2 Hz Portal - Kurzanleitung für die Rolle Sachbearbeiter... 1 Die Anmeldung am 50,2 Hz Portal... 2 Erfassung von Daten... 2 Drucken

Mehr

M e d i e n IT-Beratung I Projekte I Seminare

M e d i e n IT-Beratung I Projekte I Seminare M e d i e n IT-Beratung I Projekte I Seminare I N H A L T I N H A L T Buchkatalog... XML... Datenbanken... Web-Programmierung... Empirische Sozialforschung... Online Medien... Comelio-Blog... Kurzreferenzen...

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Anleitung zum LPI ATP Portal www.lpi-training.eu

Anleitung zum LPI ATP Portal www.lpi-training.eu Anleitung zum LPI ATP Portal www.lpi-training.eu Version 1.0 vom 01.09.2013 Beschreibung des Anmeldevorgangs und Erklärung der einzelnen Menüpunkte. Anmeldevorgang: 1. Gehen Sie auf die Seite http://www.lpi-training.eu/.

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Nutzung dieser Internetseite

Nutzung dieser Internetseite Nutzung dieser Internetseite Wenn Sie unseren Internetauftritt besuchen, dann erheben wir nur statistische Daten über unsere Besucher. In einer statistischen Zusammenfassung erfahren wir lediglich, welcher

Mehr

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent Beispieldaten-Assistent Jeder Access-Entwickler steht irgendwann vor der Situation, mal eben einige Beispieldatensätze zu seiner Anwendung hinzuzufügen. Wer keine Lust auf Fantasie-Einträge wie ASDF oder

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

Mehr

SEPA-Umstellungsanleitung Profi cash

SEPA-Umstellungsanleitung Profi cash In dieser Anleitung möchten wir Ihnen die wesentlichen Schritte zur automatisierten Umstellung Ihrer in Profi cash hinterlegten nationalen Zahlungsaufträge in SEPA Aufträge beschreiben. Fällige Zahlungsverkehrsjobs

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Anleitung zur Erstellung einer Gefährdungsbeurteilung Anleitung zur Erstellung einer Gefährdungsbeurteilung 1 Vorbereiten der Gefährdungsbeurteilung 1.1 Richten Sie mit Hilfe des Windows-Explorers (oder des Windows-Arbeitsplatzes) einen neuen Ordner ein,

Mehr

mobifleet Beschreibung 1. Terminverwaltung in der Zentrale

mobifleet Beschreibung 1. Terminverwaltung in der Zentrale mobifleet Beschreibung 1. Terminverwaltung in der Zentrale Die Termine werden wie bisher im Outlook verwaltet und erfasst. Der Außendienst selbst, wie auch andere Personen, die Termine für den Außendienst

Mehr

So gehts Schritt-für-Schritt-Anleitung

So gehts Schritt-für-Schritt-Anleitung So gehts Schritt-für-Schritt-Anleitung Software WISO Mein Büro Thema Eigene Auswertungen, Tabellenauswertungen Version/Datum V 13.00.05.101 Über die Tabellen-Auswertungen ist es möglich eigene Auswertungen

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

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

Dateimanagement in Moodle Eine Schritt-für

Dateimanagement in Moodle Eine Schritt-für Übersicht: Lehrende können Dateien in einen Moodle-Kurs hochladen, in Verzeichnissen verwalten und für Studierende zugänglich machen. Jeder Moodle-Kurs hat einen Hauptordner Dateien im Administrationsblock.

Mehr

Microsoft Access 2010 Navigationsformular (Musterlösung)

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

Mehr

Stundenerfassung Version 1.8

Stundenerfassung Version 1.8 Stundenerfassung Version 1.8 Anleitung Überstunden Ein Modul der Plusversion 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt.

Mehr

Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen

Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen & Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen Immer mehr Schulen setzen das erfolgreiche Leseförderungsprojekt "Antolin" ein - und die Bibliotheken verzeichnen große Nachfrage nach den Kinderbüchern,

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

Oracle PL/SQL Objekte und objektrelationale Techniken. Marco Skulschus Marcus Wiederstein

Oracle PL/SQL Objekte und objektrelationale Techniken. Marco Skulschus Marcus Wiederstein Oracle PL/SQL Objekte und objektrelationale Techniken Marco Skulschus Marcus Wiederstein Oracle PL/SQL Objekte und objektrelationale Techniken Marco Skulschus Marcus Wiederstein Webseite zum Buch: www.comelio-medien.com/buch-katalog/oracle/oracle_pl_sql_objekte

Mehr

Abschluss Version 1.0

Abschluss Version 1.0 Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten

Mehr

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse ) Die Versendung von Eintragungsnachrichten und sonstigen Nachrichten des Gerichts über EGVP an den Notar ist nicht möglich. Was kann der Notar tun, um den Empfang in seinem Postfach zu ermöglichen? In zahlreichen

Mehr

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0)

Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0) Serienbriefe schreiben mit Ratio - Adressen (Microsoft Word Versionen 8.0 und 9.0) Allgemeines Die in Ratio gespeicherten Adressen können jederzeit exportiert werden, um sie an anderer Stelle weiter zu

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des Imports und Exports von Adressen Dateiname Beschreibung_-_eCall_Import_und_Export_von_Adressen_2015.10.20 Version 1.1 Datum 20.10.2015 Dolphin Systems AG Informieren

Mehr

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Die Textvorlagen in Microsoft WORD und LibreOffice Writer Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol Rechenzentrum der Ruhr-Universität Bochum Integration von egroupware an der RUB in Outlook 2010 mit Funambol Um die Daten in Ihrem egroupware-account (Adressen, Termine, etc.) in Outlook zu verwenden,

Mehr