Datenbankanbindungen

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Datenbankdesign mit ACCESS.
Datenbanken Beispiel: Musikverwaltungsdatenbank Daten: Musikstück
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenbanken Einführung.
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Telefonnummer.
Das Entity-Relationship-Modell
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Franziska Schmidt Sarah Ahlheit
= = = = 47 = 47 = 48 = =
Statistiken und Tabellen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
Einführung und Überblick
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Relationale Datenbankmodelle
Prof. Dr. Günter Gerhardinger Soziale Arbeit mit Einzelnen und Familien Übersicht über die Lehrveranstaltung Grundlegende Bestimmungsfaktoren der Praxis.
20:00.
Zusatzfolien zu B-Bäumen
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
Datenbank-entwicklungsprozess
Datenbank.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Überblick über die Datenbankproblematik
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Freiwillige Feuerwehr der Stadt Perg
Geometrische Aufgaben
verstehen planen bearbeiten
Normalisierungsprozess
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Relationale Datenbanken
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Forschungsprojekt Statistik 2013 „Jugend zählt“ – Folie 1 Statistik 2013 „Jugend zählt“: Daten zur Arbeit mit Kindern und Jugendlichen.
AGOF facts & figures: Branchenpotenziale im Internet Q2 2014: Parfum & Kosmetik Basis: internet facts / mobile facts 2014-I.
Folie Einzelauswertung der Gemeindedaten
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Einführung Dateisystem <-> Datenbanksystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Vom Konzept zur Datenbank
Von Wietlisbach, Lenzin und Winter
ER-Modell und Relationales Schema
 Präsentation transkript:

Datenbankanbindungen Grundlagen von Datenbanken Datenbankabfragen Thomas Hödlmoser, ICP systems

Ziele dieser Schulung Was ist eine Datenbank Nutzungsmöglichkeiten Arten von Datenbanken notwendige Hard- bzw. Software Planung von Datenbankstrukturen Daten-abfragemöglichkeiten DI Thomas Hödlmoser

Praktische Inhalte Planung und Aufbau einer Datenbankstruktur Erstellen von Datenbankabfragen Problemlösungen und Fragen???? DI Thomas Hödlmoser

Agenda Mittwoch: Donnerstag: Datenbanken allgemein Datenbanktypen Datenbankarchitekturen Datenbank Aufbau und Organisation Der Datenbankentwurf Das relationale Datenmodell Donnerstag: Praktische Übung Datenbankdesign und –erstellung Datenbankabfragesprache SQL – Grundkomponenten Datendefinition DI Thomas Hödlmoser

Agenda Freitag: Einfache SQL-Abfragen Änderungen an Tabelleninhalten mittels SQL Praktische Beispiele SQL DI Thomas Hödlmoser

Datenbanken - allgemein DI Thomas Hödlmoser

Warum Datenbanken? Herkömmliche Speicherung in Dateisystemen DI Thomas Hödlmoser

Warum Datenbanken? Probleme: Redundanzen Inkonsistenzen Mehrfache Speicherung von Daten Inkonsistenzen Gleichzeitige Änderung von Daten von mehreren Benutzern möglich Datenschutzprobleme Zugriff auf Dateien kann nicht stark genug eingeschränkt werden Fehlende Datenunabhängigkeit Verwalten der Daten nur durch entsprechende Software (z.B. Explorer) DI Thomas Hödlmoser

Warum Datenbanken? Sinn der Datenbank: Logische Datenunabhängigkeit Physikalische Datenunabhängigkeit Prozedurale und nichtprozedurale Schnittstellen Effiziente Abarbeitung von Datenbankoperationen Minimale Datenredundanz Datenintegrität Konkurrierender Datenzugriff Datensicherheit Datenschutz DI Thomas Hödlmoser

Warum Datenbanken? Logische Datenunabhängigkeit Es existiert eine logische Struktur der Datenbank Jeder Benutzer sieht nur „seine“ relevanten Daten DI Thomas Hödlmoser

Warum Datenbanken? physikalische Datenunabhängigkeit Unabhängigkeit zwischen logischer und physikalischer Struktur Änderung der physikalische Struktur möglich ohne die logische Struktur zu ändern DI Thomas Hödlmoser

Warum Datenbanken? Prozedurale und nichtprozedurale Schnittstellen Unterscheidung Entwickler - Anwender Entwickler: Prozedurale Schnittstellen (C++, Java, Basic,…) Anwender: nichtprozedurale Schnittstellen (Anwendungssoftware) DI Thomas Hödlmoser

Warum Datenbanken? Effiziente Abarbeitung der Datenbankoperationen Verarbeitungszeit eines „Jobs“ sehr wichtig (responsetime) Viele „Jobs“ müssen parallel ausgeführt werden (Internet) Optimale Nutzung der Prozessorleistung (AS/400) DI Thomas Hödlmoser

Warum Datenbanken? Minimale Datenredundanz Reduktion des Speicherbedarfs Verwaltungsaufwand bei Datenänderung wird geringer Abhängig vom Datenbankdesign des Entwicklers DI Thomas Hödlmoser

Warum Datenbanken? Datenintegrität Unsinnige Daten werden geprüft, und zurückgewiesen Standardplausibilitätsprüfungen (z.B. 30. Februar) Plausibilitätsprüfungen des Entwicklers (z.B. Jahrgang > 1890) DI Thomas Hödlmoser

Warum Datenbanken? Konkurrierender Datenzugriff Viele gleichzeitige Zugriffe auf die gleichen Daten Datenbank muss Zugriffe richtig abarbeiten Kontostand ? DI Thomas Hödlmoser

Warum Datenbanken? Datensicherheit Herstellung des letzten konsistenten Datenstandes nach Ausfall von Hard od. Software Wiederhergestellter Datenstand muss verifizierbar sein (Buchungen) DI Thomas Hödlmoser

Warum Datenbanken? Datenschutz Schutz gegen unerlaubten Zugriff (z.B. Mitarbeitergehälter) Zugriff kann auf spezielle Daten eingeschränkt werden DI Thomas Hödlmoser

Datenbanktypen DI Thomas Hödlmoser

Datenbanktypen Übergang Dateisystem - Datenbank Speicher auf Magnetplatten (60er Jahre) 1. Datenbanksysteme (70er Jahre) Hierarchisches Datenbankmodell Netzwerkdatenbanken Relationale Datenbanken Objektorientierte Datenbanken DI Thomas Hödlmoser

Datenbanktypen Hierarchisches Datenbankmodell (Vater-Sohn Darstellung) Für jeden Knoten (Kunde, Bestellung, Posten) 1 Datensatz Redundante Datendarstellung DI Thomas Hödlmoser

Datenbanktypen Netzwerkdatenbanken DI Thomas Hödlmoser

Datenbanktypen Relationale Datenbanken Beziehungen werden benannt und im ER –Diagramm dargestellt Beziehungen wird Kardinalität zugeordnet (1:n; n:m,…) DI Thomas Hödlmoser

Datenbanktypen objektorientierte Datenbanken OODB Objekt-Klassen enthalten Attribute, Beziehungen und Methoden Dzt. Unterstützen nur wenige Datenbanksysteme OODB DI Thomas Hödlmoser

Datenbankstruktur DI Thomas Hödlmoser

Datenbankstruktur Zentralisierte Datenbanksysteme Verteilte Datenbanksysteme Client-Server Datenbanken Parallele Datenbanken DI Thomas Hödlmoser

Datenbankstruktur Zentralisierte Datenbanksysteme - Zentralrechner übernimmt alle Aufgaben - „dumme“ Terminals - Einfache Administration DI Thomas Hödlmoser

Datenbankstruktur Verteilte Datenbanksysteme Logisch zusammengehörige Teildatenbanken Datenbanksystem kümmert sich um das Zusammenführen der Daten Geographische Trennung möglich (Filialen) DI Thomas Hödlmoser

Datenbankstruktur Vorteile verteilter Datenbanksysteme Lokale Autonomie (Daten sind gespeichert wo sie benötigt werden) Zuverlässigkeit und Verfügbarkeit (erhöht durch Redundanz) Leistung (Parallelarbeit, geringerer Netzwerkverkehr) Erweiterbarkeit (Hinzufügen neuer Knoten) DI Thomas Hödlmoser

Datenbankstruktur Nachteile verteilter Datenbanksysteme Mangel an praktischen Erfahrungen (selten eingesetzt) Komplexität (Synchronisation, Replikation,..) Dezentrale Verwaltung (erhöhter Verwaltungsaufwand) Sicherheit ist komplizierter zu realisieren Kosten für Software und Hardware DI Thomas Hödlmoser

Datenbankstruktur Client – Server Datenbanken Datenbankabfragen und Anzeigeprogramme sind getrennt Client und Serverprogramme können auf einen Rechner laufen definierte Abfragesprache zwischen Client und Server (SQL) DI Thomas Hödlmoser

Datenbankstruktur Parallele Datenbanksysteme Mehrere Prozessoren, Platten und Hauptspeicher Daten werden auf verfügbare Platten verteilt Datenbankabfragen werden zerlegt, und parallel abgearbeitet DI Thomas Hödlmoser

Datenbankstruktur Parallele Datenbanksysteme Shared Memory Architektur (Shared Everything Architektur) Shared Nothing Architektur Shared Disk Architektur DI Thomas Hödlmoser

Datenbankstruktur Shared Memory Architektur (Shared Everything Architektur) DI Thomas Hödlmoser

Datenbankstruktur Shared Nothing Architektur DI Thomas Hödlmoser

Datenbankstruktur Shared Disk Architektur DI Thomas Hödlmoser

Datenbankaufbau und Organisation DI Thomas Hödlmoser

Datenbankaufbau Wichtigste Aufgaben des Datenbanksystems Trennung von Datenspeicher und Anwendungsprogrammen Logische Datenunabhängigkeit (logische Struktur) Physische Datenunabhängigkeit (Strukturänderung möglich) DI Thomas Hödlmoser

Datenbankaufbau 3-Ebenen Modell nach ANSI-SPARC 1978 DI Thomas Hödlmoser

Datenbankaufbau Externe Ebene Darstellungen der Daten für den Benutzer Benutzer sieht nur die für ihn relevanten Daten Zugriffsberechtigungen werden hier festgelegt DI Thomas Hödlmoser

Datenbankaufbau konzeptionelle Ebene Daten nach Anwendungsbereich (z.B. alle Abteilungsdaten) Logische Zusammenhänge zwischen Daten werden definiert DI Thomas Hödlmoser

Datenbankaufbau interne Ebene Organisation der Daten auf dem Speichermedium Benutzer sieht diese Struktur nicht Design der internen Ebene ist verantwortlich für die Funktionsweise der Datenbank DI Thomas Hödlmoser

Datenbankaufbau Datenbankmanagementsystem DBMS - Aufgaben Ist die eigentliche Datenbanksoftware z.B. Oracle, MySQL, Access, Centura, Sybase,… Übernimmt die Verwaltung der Daten Prüft Datenzugriffsrechte des Benutzers Prüft die Datenintegrität aufgrund des konzeptionellen Schemas DI Thomas Hödlmoser

Datenbankaufbau Datenbankmanagementsystem DBMS - Aufgaben Führt die Datensicherung (Recovery) nach Systemabstürzen durch Ist verantwortlich für die Datensynchronisation Verwaltet die verschiedenen Transaktionen der Benutzer DI Thomas Hödlmoser

Datenbankaufbau Datenbankmanagementsystem DBMS - Komponenten Data Dictonary / Repositories Logbuch Utilities zur Fehleranalyse CASE – Anwendungen (für Entwurf von Softwareanwendungen) DI Thomas Hödlmoser

Datenbankentwurf DI Thomas Hödlmoser

Datenbankentwurf Datenbanklebenszyklus Analyse Planung Entwicklung Testen Eigentlicher Betrieb DI Thomas Hödlmoser

Datenbankentwurf Entwurfsphasen DI Thomas Hödlmoser

Datenbankentwurf Datenbankentwurfsphasen (Wasserfallmodell) DI Thomas Hödlmoser

Datenbankentwurf Das Entity – Relationship Modell (ER-Modell) Hilfsmittel für den Datenbankentwurf Unabhängig vom Datenmodell bzw. DBMS Grundlage für die physikalische Struktur der Datenbank DI Thomas Hödlmoser

Entity – Relationship Modell Elemente des ER-Modell Entities (Entitäten), Entity-Sets Attribute (Eigenschaften), Domänen Schlüssel und Primärschlüssel Beziehungen (Relationships), Kardinalität (Komplexität) DI Thomas Hödlmoser

Entity – Relationship Modell Entities Unterscheidbare Dinge aus der realen Welt Entitäten unterscheiden sich durch ihre Eigenschaften z.B. Abteilung Forschung Mitarbeiter Huber Projekt 1234 DI Thomas Hödlmoser

Entity – Relationship Modell Entity-Sets Eine Menge (Sammlung) von Entities mit gleichen Eigenschaften z.B. Alle Abteilungen Alle Mitarbeiter Alle Projekte DI Thomas Hödlmoser

Entity – Relationship Modell Attribute (Eigenschaften) Charakterisieren eine Entität, eine Entitätsmenge oder eine Beziehung Attribute besitzen einen Namen und einen Wert z.B. Abteilung Abteilungsnummer Projektname Projektnummer Mitarbeitername DI Thomas Hödlmoser

Entity – Relationship Modell Domäne Beschreibt den zulässigen Wertebereich eines Attributes Können feste Werte sein, Wertebereiche oder Datentypangaben z.B. Abteilung Forschung, Entwicklung, Konstruktion Projektnummer 1 - 9999 Projektbeginn tt.mm.jjjj DI Thomas Hödlmoser

Entity – Relationship Modell Schlüssel Setzt sich aus einem oder mehreren Attributen zusammen Sollte so kurz wie möglich aber so lange wie nötig sein Dient zur schnellen Suche einer Entität in einer Entitätsmenge DI Thomas Hödlmoser

Entity – Relationship Modell Primärschlüssel Ermöglicht eine eindeutige Indentifizierung einer Entität in einer Entitätsmenge Wert kommt pro Entitätsmenge nur einmal vor Eine Entitätsmenge kann nur einen Primärschlüssel besitzen DI Thomas Hödlmoser

Entity – Relationship Modell Primärschlüssel DI Thomas Hödlmoser

Entity – Relationship Modell Domäne Beschreibt den zulässigen Wertebereich eines Attributes Können feste Werte sein, Wertebereiche oder Datentypangaben z.B. Abteilung Forschung, Entwicklung, Konstruktion Projektnummer 1 - 9999 Projektbeginn tt.mm.jjjj DI Thomas Hödlmoser

Entity – Relationship Modell Relationships (Beziehungen) Beschreiben die Wechselwirkungen bzw. Abhängigkeiten von Entitäten Beziehungen unterscheiden sich durch ihre Eigenschaften Beziehungen können auch Attribute enthalten Rekursive Beziehungen beschreiben Assoziationen zwischen zwei Entitäten der gleichen Entitätsmenge z.B. Mitarbeiter Huber arbeitet an Projekt 1234 DI Thomas Hödlmoser

Entity – Relationship Modell Beziehungsmenge Sammlung von Beziehungen gleicher Art Darstellung im ER-Modell als Raute DI Thomas Hödlmoser

Entity – Relationship Modell Kardinalität Legt fest wie viele Entitäten einer Entitätsmenge mit einer Entität einer anderen Entitätsmenge in Beziehung stehen können z.B. wieviele Mitarbeiter an einen Projekt mitarbeiten 1 : 1 Beziehung (1 Person ist verheiratet mit 1 Person) 1 : n Beziehung (Abteilung – Mitarbeiter) n : m Beziehung (Mitarbeiter – Projekt) DI Thomas Hödlmoser

Entity – Relationship Modell Konstrukte des ER Modells Entitätsmenge Attribut (Eigenschaft) Primärschlüssel Relation (Beziehung) DI Thomas Hödlmoser

Das relationale Datenmodell DI Thomas Hödlmoser

Das relationale Datenmodell 1970 vom Mathematiker E. F. Codd entwickelt Heute am weitesten verbreitet Beschreibt die physikalische Datenbankstruktur Datenmanipulationssprache SQL ist Standard Datenbank besteht aus einer Menge von Relationen DI Thomas Hödlmoser

Das relationale Datenmodell Darin werden die Daten gespeichert Ist eine Menge von Datensätzen (Tupeln) Hat die Form einer Tabelle Modelliert Entities und Beziehungen aus dem ER-Modell DI Thomas Hödlmoser

Das relationale Datenmodell Kennzeichen einer Relation Eindeutiger Name Mehrere Attribute (Spalten) Keine bis beliebig viele Tupel (Tabellenzeilen od. Datensätze) Einen einzigen Wert pro Attribut in einem Tupel (Tabellenzelle) Einen Primärschlüssel Dieser identifiziert jedes Tupel eindeutig Dessen Wert ändert sich nicht (für jeden Datensatz) DI Thomas Hödlmoser

Das relationale Datenmodell Aufbau einer Relation Nummer Name PLZ Ort Strasse 1 Huber 5020 Salzburg Plainstrasse 17 2 Maier 5071 Wals Unterfeldstr. 17 Tupel, Datensatz Attribut, Spalte, Feld DI Thomas Hödlmoser

Das relationale Datenmodell Schlüssel Primärschlüssel Index (Sekundärindizes) Fremdschlüssel DI Thomas Hödlmoser

Das relationale Datenmodell Primärschlüssel Identifiziert jedes Tupel einer Relation eindeutig Kann ein Attribut bzw. eine Attributskombination sein Besitzt eine Relation keine eindeutigen Schlüsselfelder muss eine Identifikationsnummer hinzugefügt werden DI Thomas Hödlmoser

Das relationale Datenmodell Index (Sekundärindizes) Dient dem schnelleren Zugriff auf Tupel (Sortierungen) Das Füllen von Tabellen dauert allerdings länger (bei vielen Indizes) DI Thomas Hödlmoser

Das relationale Datenmodell Fremdschlüssel Attribut einer Relation das eine Beziehung zu einem Primärschlüssel einer anderen Relation beinhaltet. z.B. Beinhaltet jedes Tupel der Relation Mitarbeiter ein Attribut Abteilungsnummer. Dies ist der Primärschlüssel in der Relation Abteilung DI Thomas Hödlmoser

Das relationale Datenmodell Normalisierung des Datenbankschemas Redundanzen zu vermeiden Übersichtlicher und einfacher Aufbau der Datenbank Ermöglichen einer einfachen Datenpflege DI Thomas Hödlmoser

Das relationale Datenmodell Nicht normalisierte Datenstruktur Eine Eigenschaft eines Datensatzes enthält eine Liste PersonalNr Name AbtNr AbtBezeichnung ProjNr ProjBeschreibung 0003 Huber 3 Verkauf 1, 2, Kundenumfrage, Verkaufsmesse, Teileanalyse DI Thomas Hödlmoser

Das relationale Datenmodell 1. Normalform einer Relation Relation ist zweidimensional (Zeilen und Spalten) Jeder Datensatz kommt nur einmal vor In jedem Datensatz befinden sich Daten die zu einem Objekt gehören Für jede Eigenschaft ist nur ein Wert eingetragen DI Thomas Hödlmoser

Das relationale Datenmodell 2. Normalform einer Relation Jedes Nicht-Schlüsselfeld ist vom Primärschlüssel abhängig DI Thomas Hödlmoser

Das relationale Datenmodell 3. Normalform einer Relation Alle Datenfelder sind nur vom gesamten Schlüssel abhängig Untereinander treten keine Abhängigkeiten auf Ist ein Nichtschlüsselfeld über ein anderes Nichtschlüsselfeld identifizierbar spricht man von transitiver Abhängigkeit z.B. PLZ - Ort DI Thomas Hödlmoser

Das relationale Datenmodell Transformation ER-Modell in relationales Modell (physikalische Struktur) DI Thomas Hödlmoser

Beispiel S-Designor Beispiel ER-Diagramm eingeben in S-Designor Automatische Erstellung physikalische DB-Struktur DI Thomas Hödlmoser

Planung einer Datenbank DI Thomas Hödlmoser

Datenbankplanung Vorgehensweise: Anforderungsanalyse Konzeptionelles Schema Logischen Datenbankentwurf Physikalischer Datenbankentwurf (Relationales Datenmodell) DI Thomas Hödlmoser

Datenbankplanung - Beispiel Auftraggeber ist eine Bibliothek oder Bücherei. Für diese soll eine Datenbank entwickelt werden, welche den Bücherbestand und die Entlehner (Leser) verwaltet. Für jedes Buch sollen einige Stichworte festgelegt werden, die den Inhalt charakterisieren. Alle Stichworte seien in einem Thesaurus zusammengefasst, der auch die Häufigkeit enthalten soll, wieviele Literaturquellen zu einem Stichwort vorhanden sind Es soll möglich sein durch logische Kombination von Stichworten, die entsprechenden Quellen zu finden. DI Thomas Hödlmoser

Datenbankplanung - Beispiel Folgende Abfragemöglichkeiten sollten gegeben sein: Welche Buchbestände sind vorhanden? Welche Leser sind registriert? Welche Bücher sind ausgeliehen? Von welchen Lesern sind Ausleihfristen überschritten? Angaben über Autoren (Name, Anschrift, Tel,…) Angaben über Verlage? DI Thomas Hödlmoser

SQL Structured Query Language DI Thomas Hödlmoser

SQL-allgemeines Entwickelt aus der Sprache SEQUEL von IBM Ziel ist möglichst einfache Sprache zur Abfrage von Daten 1986 wurde SQL zum Standard erklärt als SQL1 (SQL-86) Derzeit Aktuell SQL2 (SQL-92) DI Thomas Hödlmoser

SQL-allgemeines Sprachumfang wird untergliedert in 3 Conformance Level Entry Level Intermediate Level Full Level DI Thomas Hödlmoser

SQL-allgemeines Entry Level Wird von nahezu allen DBMS unterstützt Entspricht dem Standard von 1989 Umfasst Befehle zum Anlegen von Datenbanken und Tabellen Bearbeitung und Verwaltung von Datenbanken und Tabellen DI Thomas Hödlmoser

SQL-allgemeines Intermediate Level Zusätzliche Funktionalitäten Zusätzlicher Zeit-Datentyp Mengenoperationen Dynamisches SQL DI Thomas Hödlmoser

SQL-allgemeines Full Level Enthält weitere Verwaltungsfunktionen Bis jetzt nur unvollständig in den DBMS integriert DI Thomas Hödlmoser

SQL-allgemeines Sprachumfang von SQL Data Definition Language (Datenbank bzw. Tabellenerstellung) Data Query Language (Abfragen von Daten) Data Manipulation Language (Bearbeitung von Datensätzen) Data Control Language (Benutzeranlage, Zugriffsrechtsvergabe) DI Thomas Hödlmoser

SQL-allgemeines Grundelemente der SQL-Sprache Literale („Salzburg“, „Maier“, 1234) Begrenzer , ( ) < > . : = + - * / >= <= Namen (Bezeichner für Objekte der Datenbank) Reservierte Wörter (Befehle der Sprache SQL z.B. SELECT) DI Thomas Hödlmoser

SQL-allgemeines Datentypen der SQL-Sprache Numerische Datentypen (int, smallint, real,…) Alphanumerische Datentypen (char(), varchar(), text,…) Datentypen für Datum und Zeit (datetime, smalldatetime) Binäre Datentypen und der Dateityp bit (binary(), imgage(), bit) DI Thomas Hödlmoser

SQL-allgemeines Prädikate der SQL-Sprache Kennzeichnen logische Bedingungen die auf Datensätze angewendet werden Alle Vergleichsoperatoren BETWEEN, IN, LIKE, NULL, ALL, ANY, EXISTS DI Thomas Hödlmoser

SQL-allgemeines Skalare Funktionen der SQL-Sprache Numerische Funktionen (abs(), log(),) Datumsfunktionen (yy, dd,…) Zeichenkettenfunktionen (trim(), upper(),…) BLOB-Funktionen für Datentyp text bzw. image Systemfunktionen (datalength(), …) DI Thomas Hödlmoser

SQL Zusammensetzung der SQL-Statements Select nachname, vorname from mitarbeiter where personalnummer=1 create unique index ABTEILUNG_PK on ABTEILUNG (ABTEILUNGSNUMMER asc); create table ABTEILUNG ( ABTEILUNGSNUMMER INTEGER not null , BEZEICHNUNG VARCHAR(50) not null , ABTEILUNGSLEITER INTEGER not null , primary key (ABTEILUNGSNUMMER) ); DI Thomas Hödlmoser

SQL Vorgehensweise beim Erstellen einer Datenbank Anlegen der Datenbank (Container für Tabellen) Erstellen der benötigten Tabellen (Festlegen der Struktur) Füllen der Tabellen mit Datensätzen Datenauswertung bzw. -änderung DI Thomas Hödlmoser

SQL Anlegen der Datenbank Verwenden einer Datenbank Create database [if not exists] beispieldatenbank [user ‚benutzername‘ password ‚passwort‘; Die Create Database Anweisung legt eine neue Datenbank im DBMS an. Verwenden einer Datenbank use beispieldatenbank; DI Thomas Hödlmoser

SQL Löschen einer Datenbank Datenbanken anzeigen drop database [if not exists] beispieldatenbank; Die Create Database Anweisung legt eine neue Datenbank im DBMS an. Datenbanken anzeigen show databases; DI Thomas Hödlmoser

SQL Erstellen von Tabellen create table MITARBEITER ( PERSONALNUMMER INTEGER [DEFAULT Standardwert | NULL | NOT NULL [AUTO_INCREMENT] ABTEILUNGSNUMMER INTEGER [DEFAULT Standardwert | NULL | NOT NULL [AUTO_INCREMENT] primary key (PERSONALNUMMER) ); DI Thomas Hödlmoser

SQL Beispiele für Definitionen von Datenfeldern NACHNAME VARCHAR(50) Personalnummer integer not null anzahl default 1 Beschreibung default ‚Projektbeschreibung‘ DI Thomas Hödlmoser

SQL Ändern von bestehenden Tabellen Alter table Mitarbeiter add Telefonnummer char(80) default ‚unbekannt‘ Alter table mitarbeiter add primary key (personalnummer DI Thomas Hödlmoser

SQL Einfügen von Daten Abfragen der Daten Insert into projekt (projektnummer, beschreibung) values (1, ‚projektbeschreibung‘); Abfragen der Daten Select * from projekt; DI Thomas Hödlmoser

SQL Einfügen von Daten mit Abfrage von anderen Daten Ändern von Daten Insert into projekt (projektnummer, beschreibung) select * from tabelle2; Ändern von Daten Update Mitarbeiter set nachname=‚maier‘, Adresse=‚Salzburg‘ where personalnummer=10; DI Thomas Hödlmoser

SQL Löschen von Daten Delete from Mitarbeiter where Personalnummer=15; DI Thomas Hödlmoser

SQL Daten abfragen Select * from Mitarbeiter; Select Nachname, Vorname from Mitarbeiter; Select Nachname, Vorname from Mitarbeiter where Adresse like ‚%5020%‘; Select * from mitarbeiter order by Nachname asc; Select adresse as Anschrift, Vorname as name2 from Mitarbeiter; DI Thomas Hödlmoser

SQL Daten abfragen Select distinct nachname * from Mitarbeiter; Select * from mitarbeiter where nachname = ‚huber‘ limit 10; Select * from mitarbeiter where Personalnummer between 100 and 1000; Select ort as Wohnort, count(*) from Mitarbeiter group by ort; Select nachname count(*) from Mitarbeiter group by ort having count(*)>5; DI Thomas Hödlmoser