Datenbanken: Grundlagen und Entwurf
Von Veikko Krypczyk und Christopher Ezell
()
Über dieses E-Book
Bei der Entwicklung von Software kann im Idealfall auf eine bestehende Datenbank zurückgegriffen werden und es ist nur die Anbindung zu dieser zu realisieren. Andererseits kann es auch zum Auftragsumfang gehören, die Datenbank vom ersten Schritt an aufzubauen. In beiden Fällen sind Kenntnisse im Datenbankdesign notwendig. Dieser shortcut vermittelt Ihnen das nötige Handwerkszeug. Für den Neueinsteiger ist es ein guter Leitfaden, um sich Wissen anzueignen. Für den erfahrenen Entwickler ist es eine Chance, die eine oder andere Lücke zu schließen.
Andere Titel in Datenbanken Reihe ( 16 )
Big Data - Apache Hadoop Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing Anbietervergleich: Amazon / Microsoft / Google & Co Bewertung: 0 von 5 Sternen0 BewertungenCSS: Grundlagen und Best Practices Bewertung: 0 von 5 Sternen0 BewertungenDatenbanken: Grundlagen und Entwurf Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Bewertung: 0 von 5 Sternen0 BewertungenEnterprise Java Web Services Bewertung: 0 von 5 Sternen0 BewertungenHTML 5 meets GWT Bewertung: 0 von 5 Sternen0 BewertungeniOS Essentials: Frameworks, Tools und Twitter API Bewertung: 0 von 5 Sternen0 BewertungenMagento Entwicklung: Themes, Widgets und Eigene Entitäten Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Project Coin, Generics und NIO2 Bewertung: 0 von 5 Sternen0 BewertungenNoSQL Einführung: CouchDB, MongoDB und Regis Bewertung: 0 von 5 Sternen0 BewertungenOnlinerecht: Grundlegende juristische Spielregeln im eCommerce Bewertung: 0 von 5 Sternen0 BewertungenUsability von UML Editoren: Ein Vergleich Bewertung: 0 von 5 Sternen0 BewertungenPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Bewertung: 1 von 5 Sternen1/5Java ME: Pragmatische Plattform für Mobile und Embedded Bewertung: 0 von 5 Sternen0 BewertungenProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Bewertung: 0 von 5 Sternen0 Bewertungen
Mehr von Veikko Krypczyk lesen
Ähnlich wie Datenbanken
Titel in dieser Serie (16)
Big Data - Apache Hadoop Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing Anbietervergleich: Amazon / Microsoft / Google & Co Bewertung: 0 von 5 Sternen0 BewertungenCSS: Grundlagen und Best Practices Bewertung: 0 von 5 Sternen0 BewertungenDatenbanken: Grundlagen und Entwurf Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Bewertung: 0 von 5 Sternen0 BewertungenEnterprise Java Web Services Bewertung: 0 von 5 Sternen0 BewertungenHTML 5 meets GWT Bewertung: 0 von 5 Sternen0 BewertungeniOS Essentials: Frameworks, Tools und Twitter API Bewertung: 0 von 5 Sternen0 BewertungenMagento Entwicklung: Themes, Widgets und Eigene Entitäten Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Project Coin, Generics und NIO2 Bewertung: 0 von 5 Sternen0 BewertungenNoSQL Einführung: CouchDB, MongoDB und Regis Bewertung: 0 von 5 Sternen0 BewertungenOnlinerecht: Grundlegende juristische Spielregeln im eCommerce Bewertung: 0 von 5 Sternen0 BewertungenUsability von UML Editoren: Ein Vergleich Bewertung: 0 von 5 Sternen0 BewertungenPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Bewertung: 1 von 5 Sternen1/5Java ME: Pragmatische Plattform für Mobile und Embedded Bewertung: 0 von 5 Sternen0 BewertungenProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
Programmieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenVisio 2019: Das Handbuch für Anwender Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenKeine Angst vor Microsoft Access!: Datenbanken verstehen, entwerfen und entwickeln - Für Access 2007 bis 2019 Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Programmieren für Einsteiger: Teil 2 Bewertung: 0 von 5 Sternen0 BewertungenC# 10 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenPowerprojekte mit Arduino und C: Schluss mit dem frustrierenden Ausprobieren von Code-Schnipseln! Bewertung: 0 von 5 Sternen0 BewertungenAgiles Projektmanagement: Scrum für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenSoftwarearchitektur für Dummies Bewertung: 0 von 5 Sternen0 BewertungenRoboter mit Raspberry Pi: Mit Motoren, Sensoren, LEGO® und Elektronik eigene Roboter mit dem Pi bauen, die Spaß machen und Ihnen lästige Aufgaben abnehmen Bewertung: 0 von 5 Sternen0 BewertungenArduino: Mikrocontroller-Programmierung mit Arduino/Freeduino Bewertung: 0 von 5 Sternen0 BewertungenPHP 7 und MySQL: Ihr praktischer Einstieg in die Programmierung dynamischer Websites Bewertung: 0 von 5 Sternen0 BewertungenDocker: Webseiten mittels Containerarchitektur erstellen Bewertung: 3 von 5 Sternen3/5Heim-Netzwerke: Netzwerktechnik • High-Speed-Internet • Arbeiten im Heimnetz Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Bewertung: 0 von 5 Sternen0 BewertungenWebseiten hacken: Schnelleinstieg inkl. Entwicklung eigener Angriffsscripte Bewertung: 0 von 5 Sternen0 BewertungenTraumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Bewertung: 5 von 5 Sternen5/5Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenProjektmanagement kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenBessere Softwareentwicklung mit DevOps Bewertung: 0 von 5 Sternen0 BewertungenAndroid mit Arduino™ Due: Steuern Sie Ihren Arduino™ mit einem Android-Gerät Bewertung: 5 von 5 Sternen5/5Blockchain kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenWeb-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Bewertung: 0 von 5 Sternen0 Bewertungen
Computer für Sie
60+ Webtools - Für den Unterricht und mehr: Unterricht Digital gestalten und spielerisch Online Unterrichten Bewertung: 0 von 5 Sternen0 BewertungenDie Welt der Commons: Muster gemeinsamen Handelns Bewertung: 0 von 5 Sternen0 BewertungenCommand Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell Bewertung: 0 von 5 Sternen0 BewertungenNiklas Luhmann: "... stattdessen ...": Eine biografische Einführung Bewertung: 0 von 5 Sternen0 BewertungenLexikon der Symbole und Archetypen für die Traumdeutung Bewertung: 5 von 5 Sternen5/5Kinderlieder: 100 Liedertexte der schönsten Kinderlieder Bewertung: 4 von 5 Sternen4/5ALS SIE VERSCHWANDEN: DAS VERGESSENE ERBE DER MENSCHHEIT Bewertung: 0 von 5 Sternen0 BewertungenNimm den Chor doch selber auf: Crashkurs für das Aufnehmen und Mischen von Chören Bewertung: 0 von 5 Sternen0 BewertungenDie KI Bibel, mit künstlicher Intelligenz Geld verdienen: Echte Fallbeispiele und Anleitungen zum Umsetzen Bewertung: 1 von 5 Sternen1/5Einführung ins Darknet: Darknet ABC Bewertung: 0 von 5 Sternen0 BewertungenAnglizismen und andere "Fremdwords" deutsch erklärt: Über 1000 aktuelle Begriffe Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenSAFe® 4.6: Eine Anleitung zur lean agilen Revolution? Bewertung: 0 von 5 Sternen0 BewertungenGrundlagen und Methoden der Wirtschaftsinformatik: Eine anwendungsorientierte Einführung Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in den Online-Unterricht: Videokonferenzen in der Erwachsenenbildung Bewertung: 0 von 5 Sternen0 BewertungenAlles außer Q: Das ABC der systemischen Beratung Bewertung: 0 von 5 Sternen0 BewertungenKybernetik, Kommunikation und Konflikt: Gregory Bateson und (s)eine kybernetische Konflikttheorie Bewertung: 0 von 5 Sternen0 BewertungenDie besten KI-Tools: Ein Leitfaden von JvS Creative Possibilities Bewertung: 0 von 5 Sternen0 BewertungenHOPIUM: Texte zu Zeitenwende, Technokratie und Korporatismus III Bewertung: 0 von 5 Sternen0 BewertungenAffiliate Marketing und wie man damit Geld verdienen kann Bewertung: 0 von 5 Sternen0 BewertungenTechnische analyse leicht gemacht: Wie Sie Diagramme zur technischen Analyse erstellen und interpretieren, um Ihre Online-Handelsaktivitäten zu verbessern Bewertung: 0 von 5 Sternen0 BewertungenIT Management: Grundlagen, Organisation, Aufgaben, Outsourcing, Herausforderungen Bewertung: 0 von 5 Sternen0 BewertungenTastenkombinationen für den Mac: Alle wichtigen Funktionen Bewertung: 0 von 5 Sternen0 BewertungenDie 10 besten Regal-Lautsprecher: 1hourbook Bewertung: 0 von 5 Sternen0 BewertungenIT-Servicemanagement (in OWL): Umfrage und aktuelle Trends Bewertung: 0 von 5 Sternen0 BewertungenPrompt Engineering für die Sekundarstufe 1+2: Ein praxisnaher Leitfaden für Lehrpersonen Bewertung: 0 von 5 Sternen0 BewertungenEinführung in H5P: Interaktive Lerninhalte austauschen, verändern und wiederverwenden Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Datenbanken
0 Bewertungen0 Rezensionen
Buchvorschau
Datenbanken - Veikko Krypczyk
Veikko Krypczyk und Christopher Ezell
Datenbanken –
Grundlagen und Entwurf
ISBN: 978-3-86802-403-6
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Grundlagen des Datenbankentwurfs, ER-Modell, Normalisierung
von Dr. Veikko Krypczyk
Ein Datenbanksystem ist Bestandteil fast jeder betriebswirtschaftlichen Anwendung. Für die Konzeption dieser Anwendungen ist es notwendig, über ausreichende Kenntnisse im Entwurf von Datenbanken zu verfügen. Die Vermittlung der Grundlagen erfolgte meist im Studium oder in der Ausbildung und wurde vielleicht durch Seminare und Kurse aufgefrischt. Der Gesamtzusammenhang kann dabei leicht verloren gehen. Stichworte sind: relationale Datenbank, Normalisierung, ER-Modell und SQL.
Bei der Entwicklung von Software ist meist auch ein Datenbanksystem zu integrieren. Dabei kann im Idealfall auf eine bestehende Datenbank zurückgegriffen werden und es ist nur die Anbindung zu dieser zu realisieren. Andererseits kann es auch zum Auftragsumfang gehören, die Datenbank vom ersten Schritt an aufzubauen. In beiden Fällen sind Kenntnisse im Datenbankdesign notwendig. Wie so oft lautet das Motto, nicht unmittelbar mit dem Anlegen der Tabellen zu beginnen, sondern erst mal in Ruhe mit Bleistift und Papier ein Konzept zu entwerfen (wer es lieber am Rechner machen will, das geht natürlich auch). Wir versuchen, Ihnen in den folgenden vier Kapiteln das notwendige Handwerkszeug zu vermitteln. Für den Neueinsteiger ist es ein guter Leitfaden, um sich das Wissen anzueignen, für den erfahrenen Entwickler die Chance, die eine oder andere Lücke zu schließen. Beginnen wir mit einem Überblick über die Phasen der Datenbankentwicklung.
Phasen der Datenbankentwicklung
Der Aufbau einer Datenbank gelingt nicht in einem Schritt. Dazu müssen mehrere Phasen durchlaufen werden (Abb. 1.1):
Externe Phase: Ermittlung der Informationsstruktur: Die Datenbank soll einen Ausschnitt aus der realen Welt (auch als „Miniwelt" bezeichnet) im Rechner abbilden. Diese Abbildung erfolgt durch die Beschreibung der Daten. Dazu ist der Informationsbedarf der Benutzer zu ermitteln und zu strukturieren. Das Ergebnis dieses ersten Schrittes – auch als Spezifikations- und Anforderungsanalyse bezeichnet – ist eine informelle Beschreibung des Fachproblems.
Konzeptionelle Phase: Aufstellung des semantischen Modells: Ziel des konzeptionellen Entwurfs ist die formalisierte Beschreibung des betrachteten Sachverhalts. Es existieren verschiedene Ansätze zur Erzeugung einer solchen Gesamtsicht. Das bekannteste Modell ist das so genannte Entity Relationship Model (ER-Modell). Eine Erläuterung dieses ER-Modells folgt später. Das Ergebnis dieses Schrittes ist das Fachkonzept der Datenbank.
Logische Phase: Erstellung des logischen Datenmodells: Ziel ist die Übertragung des semantischen Datenmodells in ein logisches Datenmodell, z. B. in ein relationales Datenmodell (Tabellenform). Diese Phase umfasst zwei Schritte: Im ersten Schritt muss eine Transformation des konzeptionellen Schemas (ER-Modell) in das Datenbankschema erfolgen. Dieser Schritt ist mithilfe von Software automatisierbar. Im zweiten Schritt erfolgt eine Optimierung des relationalen Schemas, z. B. die Durchführung einer Normalisierung der Tabellenstruktur (Abschnitt: „Optimierung: Normalisierung des Datenmodells").
Physische Phase: Implementierung der Datenbank: Am Ende dieser Phase sollte die leere Datenbank existieren. Dazu sollte das logische Modell unter Verwendung einer Datendefinitionssprache (z. B. SQL) in ein konkretes Datenbankschema übersetzt werden. Es müssen Datentypen, Wertebereiche, Relationen und Sichten festgelegt werden.
krypczyk_db_1.bmpAbbildung 1.1: Phasen des Datenbankentwurfs
Exkurs: Auf den Typ kommt es an – (Standard-)Datentypen
Für jedes Attribut einer Tabelle ist der Datentyp zu spezifizieren. Die verfügbaren Datentypen unterscheiden sich zwischen den einzelnen Datenbanken. Daher kann eine vollständige Kompatibilität nicht gewährleistet werden. Dieses ist insbesondere bei einem Wechsel der Datenbank zu beachten. Es ist sicherzustellen, dass der Import von externen Daten nicht zu Datenverlust bzw. Fehlern in den Daten führt. Besonders aufmerksam ist der Datentransfer bei „nicht standardisierten" Datentypen, um z. B. Datumswerten nachzuvollziehen. Tabelle 1 gibt einen Überblick über wichtige Datentypen, die eigentlich in jeder Datenbank verfügbar sind.
