Informationssysteme / Datenbankabfragen

Größe: px
Ab Seite anzeigen:

Download "Informationssysteme / Datenbankabfragen"

Transkript

1 Informationssysteme / Datenbankabfragen Thomas Mohr Agenda Datenbanken Wozu? Abfragesprachesprache SQL Verwaltung MySQL Datenbankmodellierung Themenvernetzung (DB-Zugriff, etc.) Ausblick 2

2 Informationssysteme 3 Was ist ein Informationssystem? Ein Informationssystem kann auf formalisierte Fragen eines Anwenders Antworten aus einer gegebenen Datenmenge geben Komponenten eines Informationssystems: Erfassung Speicherung Analyse Darstellung Informationssystem Datenbanksystem DBS Datenbankmanagementsystem DBMS, z.b. MySQL Datenbank (Datenbasis) Datenbank (Datenbasis) 4

3 Ein Ausgangspunkt im Unterricht Schüler führen eine Internet-Recherche durch: Städte in Deutschland Einwohner, geografische Lage Schüler nutzen ein Informationssystem Schüler stellen automatisch Informationen unterschiedlich dar Mainz Nord 8 16 Ost Landau ,19 8,12 Listen Name Mainz Landau Tabellen Einwohner Breite Länge Tabellen bieten schon von Hand Vorteile: leichter zu ergänzen (neue Spalte) Summenzeile Motivation - Datenbank Idee: Sammlung der gefundenen Städte in einem Tabellenblatt (OpenOffice Calc / MS Excel) auf einem zentralen Laufwerk Es treten typische Probleme auf: Es kann immer nur ein Benutzer die Datei öffnen. Daten können von jedem geändert / gelöscht werden. Keinerlei Konsistenzprüfung der eingegebenen Daten. Abhilfe: Nutzung eines Datenbanksystems MS Access ist in dieser Hinsicht schon ungeeignet. 7

4 Software-Architekturen: Standalone -Programm z.b. selbst programmierte Schülerdatei in Delphi programmierte Übersicht von Länderinformationen Anwendungsprogramm PC 8 Software-Architekturen: Standalone -Programm Vorteile Übersichtlichkeit (?) Schnell zu programmieren nur eine Programmiersprache Anwendungsprogramm Nachteile Daten meist nur vom erzeugenden Programm zu lesen Erweiterungen aufwändig Immer wieder gleiche Probleme (z.b. Datumsformat) PC 9

5 Software-Architekturen - Client-Server z.b. Outlook und Exchange-Server einfache, datenbank-basierte Schülerverwaltung Anwendungsprogramm Anwendungsprogramm (Datenbank)Server Client Server 10 Software-Architekturen - Client-Server z.b. Outlook und Exchange-Server einfache, datenbank-basierte Schülerverwaltung Anwendungsprogramm (Datenbank)Server Client Server 11

6 Software-Architekturen - Client-Server Vorteile Datenbank übernimmt Standardaufgaben Daten zentral vorhanden (für mehrere Benutzer / Programme) Erweiterungen relativ einfach Anwendungsprogramm (Datenbank)Server Nachteile Installation von Software auf allen Clients notwendig Weitere Sprache zum Datenbankzugriff Client Server 12 Software-Architekturen Webarchitektur Eine moderne 3-schichtige Webarchitektur Webclient (Browser) Anwendungsprogramm Webserver (z.b. Apache und PHP) Datenbankserver (z.b. MySQL) Client Server Server 13

7 Software-Architekturen Webarchitektur Eine moderne 3-schichtige Webarchitektur Webclient (Browser) Webserver (z.b. Apache und PHP) Datenbankserver (z.b. MySQL) Client Server Server 14 Software-Architekturen Webarchitektur Vorteile Keine Installation von zusätzlicher Software beim Client Webclient (Browser) Webserver (z.b. Apache und PHP) Datenbankserver (z.b. MySQL) Nachteile http-protokoll ohne Sessionverwaltung Client Server Server 15

8 Typische Hardware-Verteilung Viele (Web-) Clients teilen sich die Dienste eines Webservers, der wiederum auf einen Datenbankserver zurückgreift. In kleinen Systemen können Web- und Datenbankserver auf dem gleichen Rechner sein. Clients Webserver Datenbankserver 16 und zum Testen / für die Fortbildung? Alle drei Schichten sind auf einem Rechner! Clients Client Webserver Datenbankserver Webserver Internet Explorer Apache Datenbankserver MySQL 17

9 Das andere Extrem eine Web Farm Application Server Farm je 4 Prozessoren HACMP Fail-Over Production DB Server FailOver DB Server 32 GByte RAM 32 GByte RAM Load Balancer FDDI Switch 18 2,4 TByte Arten von Datenbanken Man unterscheidet verschiedene Arten von Datenbanken: Hierarchische Datenbanken Die Datenelemente sind baumartig miteinander verbunden Vernetzte Datenbanken Die Datenelemente sind mit Zeigern zu einem Netz miteinander verbunden 19 Beide Formen waren vor allem bei Großrechnern im Einsatz und werden zunehmend von relationalen Datenbanken abgelöst

10 Arten von Datenbanken Relationale Datenbanken Die Daten werden in Form von Tabellen gespeichert Zwischen den Tabellen werden Beziehungen aufgebaut (Relationen) Ort Datensatz (Tupel) Spalte (Merkmal, Attribut) Datenwert (Attributwert) Name Einwohner Breite Laenge Land Berlin ,52 13,41 Deutschland Mainz ,00 8,27 Deutschland Paris ,86 2,35 Frankreich Speyer ,31 8,43 Deutschland Attributklasse 20 Empfehlung: Einheitliche Begriffe nutzen, nicht zu nah an der mathematischen Betrachtung (Relationenalgebra) Arten von Datenbanken Relationale Datenbanken typische Vertreter Oracle IBM (DB/2) Microsoft SQL Server (Access?) Informix MySQL OpenSource PostGreSQL 21

11 Was bietet mir eine Datenbank? Strukturierte Speicherung von Daten Verteilter, gleichzeitiger Zugriff mehrerer Benutzer / Programme Verwaltung von Zugriffsrechten ACID Prinzip (Idee: Analogie zu Bank-Transaktionen) Atomicity Transaktionen (Änderungen an der Datenbank) werden ganz oder gar nicht durchgeführt. Consistency Eine Transaktion führt wieder zu einem konsistenten (gültigen) Zustand der Datenbank. Isolation Transaktionen beeinflussen sich nicht gegenseitig. Durability Eine Transaktion ist dauerhaft gespeichert, auch gegen Systemabstürze gesichert. 22 Im Unterricht gut durch Rollenspiele zu veranschaulichen. ACID-Prinzip A Atomicity Bsp.: Ein Kontosystem mit nicht überziehbaren Konten Bob überweist Alice 500. Die Transaktion bricht nach der Abbuchung von Bobs Konto ab. Bob Alice Die Transaktion darf nur ganz oder gar nicht stattfinden. Konkret: Das Geld darf unterwegs nicht verschwinden 23

12 ACID-Prinzip C Consistency Bsp.: Bob will Alice 1000 überweisen. Die Transaktion überzieht sein Konto, was nicht erlaubt ist. Bob Alice Jede Transaktion muss die Datenbank in einem konsistenten (den definierten Regeln entsprechenden) Zustand hinterlassen. (insbesondere bei der Konsistenz von Schlüsselbeziehungen, s.u.) ACID-Prinzip I Isolation Bsp.: Bob überweist Alice 400 und gleichzeitig an Carol 500. Jede Transaktion für sich ist in Ordnung, zusammen überziehen sie das Konto. Carol Bob Alice Jede Transaktion muss so ablaufen, dass parallel ablaufende Transaktionen sie nicht stören können. (zumindest logisch nacheinander ablaufen serialisierbar)

13 Agenda Datenbanken Wozu? Abfragesprachesprache SQL Verwaltung MySQL Datenbankmodellierung Themenvernetzung (DB-Zugriff, etc.) Ausblick 26 Sprachen zur Datenbankverwaltung An der Schnittstelle nach außen bietet das Datenbanksystem (DBS) Sprachen für folgende Zwecke: Datenabfrage und -manipulation (DML) Verwaltung der Datenbank und Definition der Datenstrukturen (DDL) Berechtigungssteuerung (DCL) Bei relationalen DBS ist dies alles in der Sprache SQL vereint. Beschränkung in der Schule im Wesentlichen auf Abfragesprache. GF - Lehrplan 27

14 MySQL Jetzt wird es (endlich) praktisch Starten Sie den Datenbankserver und den Webserver Das Datenbanksystem bietet einen Service für andere Rechner an Die Windows-Firewall kann dies melden. Der Port muss freigegeben werden. 28 Die erste Datenbank importieren Die Administration von MySQL funktioniert selbst schon am einfachsten über den Browser (oder Admin-Button in Control Panel) Webarchitektur Client Webserver Browser Apache MySQL 29 Datenbankserver

15 Die erste Datenbank importieren Legen Sie eine neue Datenbank terra1 an. Wechseln Sie zur Datenbank (links), wählen Sie den Punkt Importieren und suchen die Datei terra1.sql 30 Die erste Tabelle Klicken Sie auf Struktur : u.a. wird die Tabelle ort angezeigt. Lassen Sie sich den Inhalt der Tabelle anzeigen. Tipp: Ändern Sie die Einstellungen von phpmyadmin, so dass nur die Icons angezeigt werden! 31

16 Abfragen mit SQL SQL = Structured Query Language. bezeichnet eine Sprache zur Kommunikation mit Datenbanken. ist international genormt und wird von vielen DBS verstanden. wird im Folgenden zur Formulierung von Abfragen eingesetzt. Syntax einer (einfachen) SQL-Abfrage: SELECT [Spalten] FROM [Tabelle] WHERE [Bedingung] ORDER BY [Attribute]; Die WHERE- und die ORDER BY-Klausel sind optional. 32 Datenbankzugriff mit SQL - Ein erstes Beispiel SELECT Name, Einwohner, Land FROM Ort WHERE Einwohner > Ort Name Einwohner Breite Laenge Land Berlin ,52 13,41 Deutschland Mainz ,00 8,27 Deutschland Paris ,86 2,35 Frankreich Speyer ,31 8,43 Deutschland Ergebnistabelle Name Einwohner Land Berlin Deutschland Paris Frankreich Millionenstädte? 35

17 SQL WHERE Bedingungen mit Textattributen: Name = 'Paris' Name LIKE 'P%' Name LIKE 'A_len' (Potsdam, Peine, Pirmasens) (Aalen, Ahlen) Bedingungen mit Zahlattributen: Stufe=7 (gleich 7) Stufe<>7 (ungleich 7) Stufe<7 (kleiner 7) Stufe>7 (größer 7) Stufe<=7 (kleiner gleich 7) Stufe>=7 (größer gleich 7) Stufe BETWEEN 7 AND 10 (zwischen 7 und 10) 36 SQL WHERE Vergleich auf Nullwert (kein Attributwert angegeben): Breite IS NULL Logische Verknüpfungen: NOT (Land='Deutschland') (Land nicht Deutschland) (Land='Deutschland') AND (Einwohner>100000) (Millionenstädte in Deutschland) (Land='Deutschland') OR (Land='Schweiz') (Orte in Deutschland und Schweiz) 37

18 SQL ORDER BY Das Abfrageergebnis kann sortiert werden: SELECT [Spalten] FROM [Tabelle] WHERE [Bedingung] ORDER BY [Attribute]; Die Sortierung geschieht nach dem angegebenen Attribut. Bei mehreren Sortierattributen wird nach dem zweiten (dritten...) sortiert, sobald die Werte des ersten (zweiten...) identisch sind. Absteigende Sortierung mit DESC Beispiele: SELECT * FROM Ort ORDER BY Name SELECT * FROM Ort ORDER BY Land, Einwohner DESC 38 Die ersten SQL Befehle Öffnen Sie das SQL-Fenster 1. Geben Sie alle Länder aus! SELECT * FROM Land 2. Geben Sie alle Länder aus: Name, Einwohner, Hauptstadt Sortierung nach Einwohner absteigend SELECT Name, Einwohner, Hauptstadt FROM Land ORDER BY Einwohner DESC 39

19 Aufgaben, Datenbank: terra1 3. Welche Länder liegen in Asien und Australien? WHERE Kontinent='Asien' OR Kontinent='Australien' 4. Welche Länder haben zwischen 10 und 100 Mio. Einwohner? Absteigend nach Einwohner sortiert WHERE Einwohner BETWEEN 10 AND 100 ORDER BY Einwohner DESC 5. Welche Länder haben einen Arm oder ein Bein im Namen? WHERE name like '%bein%' OR name like '%arm%' 40 Hilfsfunktionen Wichtig sind vor allem Funktionen zur Manipulation von Strings und Datumsangaben, z.b. DATEDIFF(D1, D2) Differenz (Tage) NOW() Aktuelle Zeit/Datum (SELECT CURDATE()) Wichtige Stringfunktionen CONCAT(S1,S2, ) Verbinden von Strings LOWER(),UPPER() In Groß-/Kleinbuchstaben umwandeln CHAR_LENGTH() Länge in Zeichen MID(str,pos,len) String ausschneiden TRIM(s), LTRIM, RTRIM Abschneiden von Leerzeichen Weitere Funktionen online in der Hilfe zu MySQL! 41 SQL ist hier nicht standardisiert Die Funktionen sind bei anderen DBS oft unterschiedlich

20 Aufgaben, Datenbank: terra1 5. Geben Sie die Länder in folgender Form aus: CONCAT(UPPER(Name),' - ',Hauptstadt) AS Land, round(einwohner) AS "Mio. Einwohner" Spalten können mit AS umbenannt werden 6. Welche Länder gibt es in Europa mit mehr als 20 Mio Einwohner? WHERE Kontinent = 'Europa' AND Einwohner > 20 Frankreich?? Problem: Europa wird unterschiedlich geschrieben! Lösung: Auslagerung in eine eigene Tabelle 42 Exkurs: Primärschlüssel Wozu dient die Spalte LNR in der Land-Tabelle? ein anderes Beispiel: Suche nach der Hauptstadt Berlin Suche nach der Hauptstadt Washington Man benötigt noch das Land als Suchhilfe. 43 Selbst das Land reicht als Suchhilfe nicht aus.

21 Relationale Datenbanken Beziehungen 45 Land und Kontinent werden in zwei getrennten Tabellen gespeichert und über eine Beziehung miteinander verknüpft. Zur Verknüpfung dient ein Kürzel des Kontinents, das als Fremdschlüssel in Land gespeichert wird. Land LNR Name Einwohner Hauptstadt Kontinent DK Dänemark 5.16 Kopenhagen Europa D Deutschland Berlin Europa IND Indien Delhi Asien RWA Rwanda 6.30 Kigali Afrika LNR Name KNR DK Dänemark EU D Deutschland EU IND Indien AS RWA Rwanda AF Schlüsselattribut aus Kontinent Kontinent KNR EU AS AF Name Europa Asien Afrika Relationale Datenbanken Beziehungen 46 Land LNR Name KNR DK Dänemark EU D Deutschland EU IND Indien AS RWA Rwanda AF Primärschlüssel aus Kontinent Kontinent KNR Name Die Verknüpfung erfolgt grundsätzlich dadurch, dass ein Fremdschlüssel der einen Tabelle auf den zugehörigen Primärschlüssel der anderen Tabelle zeigt. Vorteile: Daten werden jeweils nur in einer Tabelle gespeichert. Datenänderungen sind leichter durchzuführen. Strukturänderungen (z.b. das Hinzufügen der Kontinentfläche) lassen sich meist mit geringem Aufwand realisieren. Die Struktur lässt flexiblere Abfragen zu. EU AS AF Europa Asien Afrika

22 SQL einfache Joins Müssen in SQL Daten aus mehreren Tabellen entnommen werden, so werden sog. Joins gebildet. Die Abarbeitung eines Joins in mehreren Schritten kann an folgendem Beispiel veranschaulicht werden: Land Es sollen alle Länder mit ihren Kontinenten ausgegeben werden, die mehr als 10 Mio. Einwohner haben. LNR Name Einwohner KNR DK Dänemark 5.16 EU D Deutschland EU IND Indien AS RWA Rwanda 6.30 AF Kontinent KNR EU AS AF Name Europa Asien Afrika 47 SQL einfache Joins 48 Land 1. Cross-Join ( jede Zeile mit jeder ) SELECT * FROM Land, Kontinent LNR Name Einwohner KNR DK Dänemark 5.16 EU D Deutschland EU IND Indien AS RWA Rwanda 6.30 AF KNR EU AS AF LNR Name Einwohner KNR KNR Name DK Dänemark 5.16 EU EU Europa DK Dänemark 5.16 EU AS Asien DK Dänemark 5.16 EU AF Afrika D Deutschland EU EU Europa D Deutschland EU AS Asien D Deutschland EU AF Afrika IND Indien AS EU Europa IND Indien AS AS Asien IND Indien AS AF Afrika Name Europa Asien Afrika Kontinent

23 SQL einfache Joins Einschränken auf passende Datensätze. Es dürfen nur die Zeilen genommen werden, für die die Land und die Kontinent Tabelle Daten des gleichen Kontinents enthalten. Dies wird durch die sog. Join-Bedingung erreicht. SELECT * FROM Land, Kontinent WHERE Land.KNR= Kontinent.KNR LNR Name Einwohner KNR KNR Name DK Dänemark 5.16 EU EU Europa DK Dänemark 5.16 EU AS Asien DK Dänemark 5.16 EU AF Afrika D Deutschland EU EU Europa D Deutschland EU AS Asien D Deutschland EU AF Afrika IND Indien AS EU Europa IND Indien AS AS Asien IND Indien AS AF Afrika SQL einfache Joins Einschränken auf passende Datensätze (2). Es sollen nur Länder mit > 10 Mio. Einwohner gezeigt werden. Momentan würde auch Dänemark ausgegeben werden. Also muss eine weitere Bedingung erfüllt sein: SELECT * FROM Land, Kontinent WHERE Land.KNR = Kontinent.KNR AND Land.Einwohner > 10 LNR Name Einwohner KNR KNR Name DK Dänemark 5.16 EU EU Europa DK Dänemark 5.16 EU AS Asien DK Dänemark 5.16 EU AF Afrika D Deutschland EU EU Europa D Deutschland EU AS Asien D Deutschland EU AF Afrika IND Indien AS EU Europa IND Indien AS AS Asien IND Indien AS AF Afrika

24 SQL einfache Joins Einschränken auf gesuchte Spalten. Nur bestimmte Spalten werden ausgegeben. SELECT Land.Name, Land.Einwohner, Kontinent.Name FROM Land,Kontinent WHERE Land.KNR = Kontinent.KNR AND Land.Einwohner > 10 LNR Name Einwohner KNR KNR Name D Deutschland EU EU Europa IND Indien AS AS Asien Name Einwohner Name Deutschland Europa Indien Asien In der Realität versucht das DBMS, durch geschicktes Vorgehen die Datenmenge schon früher zu reduzieren. Aufgaben, Datenbank: terra2 1. Geben Sie alle Kontinente mit ihren Ländern aus: Name der Kontinente und Länder Sortierung nach Kontinent absteigend 2. In welchen Kontinenten gibt es Länder mit mehr als 100 Mio. Einwohner? SELECT DISTINCT Kontinent.Name Kontinent.Name FROM Land, Kontinent WHERE Land.KNR = Kontinent.KNR AND Land.Einwohner > 100 Problem: Es werden Duplikate angezeigt SELECT Kontinent.Name, Land.Name FROM Kontinent, Land WHERE Kontinent.KNR = Land.KNR ORDER BY Kontinent.Name DESC 52 Lösung: DISTINCT-Anweisung

25 Erweiterung der Datenbank Es sollen nun die wichtigsten Orte der Länder gespeichert werden. Wie sieht eine solche Ländertabelle aus? Es wird eine neue Tabelle Ort angelegt mit einem Fremdschlüssel auf Land. Ort ONR Name LNR BANGAL Bangalore IND GOETTI Göttingen D KARLSR Karlsruhe D KOPENH Kopenhagen DK Land LNR Name KNR DK Dänemark EU D Deutschland EU IND Indien AS RWA Rwanda AF Schlüsselattribut aus Land 53 Bisheriges Schema der Datenbank 54 Ein erstes E/R-Modell (Entity/Relationship) eigentlich intuitiv zu lesen!? Teil von Land Hauptstadt Teil von Kontinent Ort Finden Sie die Stelle in der Datenbank terra3, an der die Hauptstadt abgespeichert ist?

26 Aufgaben, Datenbank: terra3 1. Geben Sie alle Orte mit ihren Ländern aus: Name der Orte und Länder Sortierung nach Einwohnerzahl absteigend SELECT Ort.Name, Ort.Einwohner, Land.Name AS Land FROM Ort, Land WHERE Ort.LNR = Land.LNR ORDER BY Ort.Einwohner DESC 2. Geben Sie alle Länder mit ihrer Hauptstadt aus! Sortierung nach Kontinent und Land. SELECT Kontinent.Name AS Kontinent, Land.Name, Ort.Name AS Hauptstadt FROM Ort, Land, Kontinent WHERE Ort.ONR = Land.HauptONR AND Land.KNR = Kontinent.KNR ORDER BY Kontinent.Name, Land.Name 55 SQL Tabellen-Alias Soll in SQL auf eine Tabelle mehrfach zugegriffen werden, so kann dies mit Alias-Namen geschehen: Es sollen alle Städte mit mehr als 1 Mio. Einwohner ausgegeben werden; dabei auch das zugehörige Land mit Hauptstadt. logische Struktur: Ort Teil von Land SELECT o.name AS Stadt, l.name AS Land, hs.name FROM Ort o, Land l, Ort hs WHERE o.lnr = l.lnr AND l.hauptonr = hs.onr AND o.einwohner> Hauptstadt Ort Der Alias-Name für Land ist nicht notwendig (verkürzt die Abfrage) 56

27 Erweiterung der Datenbank Es sollen Flüsse gespeichert werden. Flüsse fließen durch Orte. Manche Orte werden von mehreren Flüssen durchflossen (z.b. Koblenz) Wie sieht die Tabelle für die Flüsse aus? Fluss FNR Name Laenge ELB Elbe 1144 MEK Mekong 4500 MOS Mosel 544 RHE Rhein 1320 ONR HAMBUR PHNOMP KOBLEN KOBLEN Ort ONR Name GOETTI Göttingen KARLSR Karlsruhe KOBLEN Koblenz KOPENH Kopenhagen Problem: Für Flüsse müssen beliebig viele Orte eingetragen werden. 57 Erweiterung der Datenbank Es sollen Flüsse gespeichert werden. Flüsse fließen durch Orte. Manche Orte werden von mehreren Flüssen durchflossen (z.b. Koblenz) Wie sieht die Tabelle für die Flüsse aus? Fluss FNR Name Laenge ELB Elbe 1144 MEK Mekong 4500 MOS Mosel 544 RHE Rhein 1320 Ort ONR Name GOETTI Göttingen KARLSR Karlsruhe KOBLEN Koblenz KOPENH Kopenhagen FNR LEI RHE RHE Problem: Für Orte müssen mehrere Flüsse eingetragen werden. 58 Lösung: Auslagerung der Zuordnung in eine eigene Tabelle

28 Erweiterung der Datenbank 59 Es sollen Flüsse gespeichert werden. Flüsse fließen durch Orte. Manche Orte werden von mehreren Flüssen durchflossen (z.b. Koblenz) Zuordnungstabelle mit Schlüsseln aus beiden Haupttabellen. Fluss FNR Name Laenge ELB Elbe 1144 MEK Mekong 4500 MOS Mosel 544 RHE Rhein 1320 Stadtfluss FNR ONR ELB HAMBUR RHE KOBLEN RHE KARLSR MOS KOBLEN Ort ONR Name GOETTI Göttingen KARLSR Karlsruhe KOBLEN Koblenz KOPENH Kopenhagen Struktur der Datenbank terra4 Land n Teil von 1 Kontinent 1 n Teil von Ort Hauptstadt 1 1 n durchfließt m Fluss 60

29 Aufgaben, Datenbank: terra Welche Orte liegen an der Donau? 2. Welche Länder durchfließt die Donau? 3. Welche Flüsse fließen durch Deutschland? SELECT o.name FROM Ort o, Stadtfluss sf, Fluss f WHERE o.onr = sf.onr AND sf.fnr = f.fnr AND f.name = 'Donau' SELECT DISTINCT l.name FROM Land l, Ort o, Stadtfluss sf, Fluss f WHERE l.lnr = o.lnr AND o.onr = sf.onr AND sf.fnr = f.fnr AND f.name = 'Donau' SELECT DISTINCT f.name, f.laenge FROM Fluss f, StadtFluss sf, Ort o, Land l WHERE f.fnr = sf.fnr AND sf.onr = o.onr AND o.lnr = l.lnr AND l.name = 'Deutschland' Gruppieren von Ergebnissen 62 Manchmal müssen die Ergebnisse einer Anfrage gruppiert und verrechnet werden. Bsp.: Wie viele Städte sind in Europa pro Land verzeichnet? SELECT o.onr, l.name FROM Ort o, Land l WHERE o.lnr = l.lnr AND l.knr = 'EU ORDER BY l.name ONR Name AALBOR Dänemark KOPENH Dänemark BERLIN Deutschland DUESSE Deutschland MAINZ Deutschland TALLIN Estland Selbst zählen??? NEIN!

30 Gruppieren von Ergebnissen Manchmal müssen die Ergebnisse einer Anfrage gruppiert und verrechnet werden. Bsp.: Wie viele Städte sind in Europa pro Land verzeichnet? SELECT l.name, COUNT(*) AS Anzahl FROM Ort o, Land l WHERE o.lnr = l.lnr AND l.knr = 'EU GROUP BY l.name ORDER BY l.name ONR Name AALBOR Dänemark KOPENH Dänemark BERLIN Deutschland DUESSE Deutschland MAINZ Deutschland TALLIN Estland Name Dänemark 2 Deutschland 3 Estland 1 Anzahl 63 Aufgaben, Datenbank: terra4 1. Wie viele Staaten haben Megacities (> 5 Mio. Einwohner) als Hauptstadt? SELECT COUNT(*) FROM Land L, Ort O WHERE O.ONR = L.HauptONR AND O.Einwohner > Zählen Sie die Staaten pro Kontinent! Geben Sie die Kontinente nach der Anzahl absteigend aus. SELECT K.Name, COUNT(*) AS Anzahl FROM Land L, Kontinent K WHERE L.KNR = K.KNR GROUP BY K.Name ORDER BY Anzahl DESC GROUP BY entfällt, wenn nur gezählt wird. 64

31 Aufgaben, Datenbank: terra4 3. Wie viele Einwohner haben die Länder pro Kontinent im Schnitt? SELECT k.name AS Kontinent, AVG(l.Einwohner) AS Schnitt FROM Kontinent k, Land l WHERE k.knr = l.knr GROUP BY k.name ORDER BY k.name 4. Welche Städte liegen an mehr als einem Fluss? SELECT o.name, COUNT(*) AS Anzahl FROM Ort o, StadtFluss sf WHERE o.onr = sf.onr GROUP BY o.name HAVING COUNT(*)>1 ORDER BY o.name Weitere BuiltIn- Funktionen: MAX, MIN, SUM, 65 Struktur der kompletten Datenbank miniterra n benachbart m Sprache n gesprochen m Land n Teil von 1 1 n Teil von Ort Hauptstadt 1 1 n durchfließt m Kontinent Fluss 1 mündet 66 n

32 Für Experten Welche Städte liegen an mehr als einem Fluss? Welche Flüsse sind es jeweils? SELECT o.name, f.name FROM Ort o, StadtFluss sf1, Fluss f WHERE o.onr = sf1.onr AND f.fnr = sf1.fnr AND EXISTS (SELECT NULL FROM StadtFluss sf2 WHERE sf1.fnr<>sf2.fnr AND sf2.onr=o.onr) ORDER BY o.name Welche Länder grenzen an Deutschland? SELECT l1.name, l2.name FROM Nachbarland n, Land l1, Land l2 WHERE (n.lnr1='d' OR n.lnr2='d') AND l1.lnr = n.lnr1 AND l2.lnr = n.lnr2 67 Für Experten Welche Länder grenzen an Deutschland? Geben Sie nur die Nachbarländer aus! SELECT IF(l1.LNR='D',l2.Name, l1.name) AS "Direkte Nachbarn" FROM Nachbarland n, Land l1, Land l2 WHERE (n.lnr1='d' OR n.lnr2='d') AND l1.lnr = n.lnr1 AND l2.lnr = n.lnr2 ORDER BY "Direkte Nachbarn" Welche Flüsse münden in den Rhein? SELECT fc.name FROM Fluss fp, Fluss fc WHERE fp.fnr = fc.zielfnr AND fp.name = 'Rhein' ACHTUNG: Nicht genormt! Selbstreferenz der Tabelle Fluss 68

33 u.v.m. SQL bietet noch einige weitere (hier nicht behandelte) Möglichkeiten: OUTER JOINS: Es werden beim Join auch Datensätze angezeigt, die keinen Join-Partner finden. Bsp.: Alle Städte sollen ausgegeben werden und zwar (wenn vorhanden) mit ihren Flüssen. Behandlung von leeren Feldern (NULL-Werten) 69 Agenda Datenbanken Wozu? Abfragesprachesprache SQL Verwaltung MySQL Datenbankmodellierung Themenvernetzung (DB-Zugriff, etc.) Ausblick 70

34 Verwaltung des Datenbanksystems In einem Datenbanksystem müssen Rechte für verschiedene Benutzer verwaltet werden: MySQL arbeitet nach der Installation ohne Schutz des Administrators Jeder kann auf alle Datenbanken zugreifen und diese verändern Mehrere Schüler sollen sich einen Datenbankserver teilen, dabei sich aber nichts gegenseitig kaputtmachen Die Rechte können sehr fein vergeben werden, am Wichtigsten sind: SELECT: Benutzer kann Tabellen auslesen INSERT/UPDATE/DELETE: Tabelleninhalte dürfen verändert werden CREATE/ALTER/ : Tabellenstruktur darf verändert werden 71 Grundlegenden Schutz einrichten Das XAMPP-Paket erlaubt das Einrichten des Administrator- Passworts auf einfache Weise: Rufen Sie auf. Klicken Sie auf Sicherheitscheck. Im Link unter der Tabelle können wichtige Sicherheitslücken geschlossen werden. Setzen Sie zumindest das Passwort für den Administrator (root) und stellen Sie die Anmeldung um auf http. 72 dann: MySQL Server neu starten (XAMPP Control Panel)

35 MySQL Passwort für Administrator ändern phpmyadmin in Browser starten Menüpunkt Rechte Benutzer root auswählen und bearbeiten Passwort eingeben und speichern Beim nächsten Aufruf von phpmyadmin ist die Eingabe des neuen Passworts notwendig 73 Benutzer / Rechte vergeben Über den Reiter Rechte können weitere Benutzer angelegt werden und Rechte auf den Datenbanken vergeben werden z.b. für einen zentralen Datenbankserver sollen pro Schülergruppe exklusive Datenbanken zur Verfügung gestellt werden Da phpmyadmin immer lokal auf dem Server läuft 74

36 Benutzer / Rechte vergeben Einem Benutzer können aber auch Rechte (z.b. nur Leserecht) auf zentralen Datenbanken wie miniterra vergeben werden: 75 Problem: XAMPP-Rechte Jetzt kann der Benutzer über oder über vom Schulnetzwerk auf den Server zugreifen. Problem: Neues Rechte-System in aktuelleren XAMPP-Versionen Manuelles Anpassen der Konfigurationsdatei httpd-xampp.conf nötig. 76

37 Anpassen der Konfigurationsdatei httpd-xampp.conf 77 Im Verzeichnis \xampp\apache\conf\extra findet sich die Konfigurationsdatei httpd-xampp.conf Sicherungskopie anlegen! Im letzten Abschnitt muss der Zugriff wieder erlaubt werden, indem das Verbot auskommentiert wird. Danach muss der Webserver mit XAMPP Control Panel neu gestartet werden. Dies ist die quick and dirty -Methode ohne Beachtung eines Sicherheitskonzepts Die Anpassung ist für ein öffentliches System im Internet absolut ungeeignet! Benutzer anlegen 1. Schützen Sie den Administrator-Zugang für ihren mysql-server wie zuvor beschrieben. 2. Legen Sie einen Benutzer ifb und Passwort Speyer an. Dieser soll die Leserechte (SELECT) auf der Datenbank miniterra erhalten. 3. Passen Sie die Konfigurationsdatei httpd-xampp.conf an. 4. Versuchen Sie, mit diesem Benutzer auf die Datenbank des Nachbarn / der Nachbarin zuzugreifen. 78

38 Skript zur Anlage der Datenbanken Zur Vereinfachung existiert ein PHP-Skript, das eine erste Umgebung für den Unterricht einrichtet: Verzeichnis terra_install in das htdocs-verzeichnis des XAMPP-Pakets kopieren. aufrufen. Das Skript legt die Datenbanken terra1 4 und miniterra an. erzeugt Benutzerkonten und Datenbanken für die Schüler mit entsprechenden Rechten. 79 Agenda Datenbanken Wozu? Abfragesprachesprache SQL Verwaltung MySQL Datenbankmodellierung Themenvernetzung (DB-Zugriff, etc.) Ausblick 80

39 Ein neues Informationssystem Anforderungskatalog Schulverwaltung Die Benutzer können eine Liste aller Lehrer mit ihrem Dienstkürzel abrufen. Für jede Klasse ist eine Liste der durchgeführten Klassenfahrten mit dem leitenden Lehrer ersichtlich. StD L. Lämpel übernimmt dieses Jahr die 7a als Klassenleiter. Die Klasse kann das im Internet schon in den Ferien erfahren. Eine Suche ist möglich über Klassenstufe, Lehrer oder Fach. StR A. Kribich hat sich fortgebildet und darf ab diesem Jahr neben Mathematik und ev. Religion auch Informatik unterrichten. Die Fachschaftsliste muss aktualisiert werden. Nachdem LiA Sch. Merz in Rente gegangen ist, geht die Fachbereichsleitung in Sport an OStR G. Lenk. 81 Modellbildung Um ein Informationssystem zu erstellen, muss ein Ausschnitt der realen Welt ( Miniwelt ) im Computersystem erfasst werden. Die Benutzer können eine Liste aller Lehrer mit ihrem Dienstkürzel abrufen. StD L. Lämpel übernimmt dieses Jahr die 7a als Klassenleiter. Die Klasse kann das im Internet schon in den Ferien erfahren. Eine Suche ist möglich über Klassenstufe, Lehrer oder Fach. Miniwelt Datenmodell? 82 Unstrukturierte Informationen über die Miniwelt Repräsentation der Informationen als strukturierte Daten

40 Modellbildung 83 Um aus einer Beschreibung einer Miniwelt das Datenmodell einer Datenbank abzuleiten, bietet es sich an, zunächst ein grafisches Konzept der Daten zu erstellen. Text Externe Sicht Konzeptionelle Sicht Internes Modell (z.b. relationales Datenmodell) Konzeptionelles Modell E/R-Diagramme E/R-Diagramme dienen dazu, das konzeptionelle Modell des Informationssystems zu erstellen. Es werden zwei Konstrukte verwendet: Entitätstypen Beziehungstypen (Relationships) Eine Entität ist ein bestimmtes Objekt der realen Welt oder unserer Vorstellung z.b. eine Person, ein Gegenstand, ein Ereignis Entitäten mit gleichen Eigenschaften werden zu Entitätstypen zusammengefasst Symbol: Rechteck Lehrer 84

41 E/R-Diagramme - Entitätstyp 85 Beispiel Entitätstyp: Entität: Lehrer Lämpel, Kürzel Lä Entitätstyp: Menge aller Lehrer mit den Merkmalen Vorname, Nachname, Kürzel, Primärschlüssel: Kürzel (?) (oder ein künstlicher Schlüssel) Entitätstyp Lehrer Kürzel: Lä Name: Lämpel Vorname: Ludwig Titel: StD Kürzel: Kr Name: Kribich Vorname: Alfred Titel: StR Kürzel: Le Name: Lenk Vorname: Gertrud Titel: OStR' 3 Entitäten E/R-Diagramme - Beziehungstyp Gleichartige Beziehungen zwischen Entitäten werden als ein Beziehungstyp zwischen den Entitätstypen definiert. Symbol: Raute Beispiel: Ein Lehrer führt Klassenfahrten durch. Kuerzel: Lä Name: Lämpel Kuerzel: Kr Name: Kribich Kuerzel: Me Name: Merz Beziehungen Stufe: 8 Teil: a Stufe: 11 Teil: M1 Stufe: 12 Teil: m3 Lehrer Klassenfahrt Klasse 86 Entitätstyp Beziehungstyp Entitätstyp

42 Modellierung oft nicht eindeutig Die Beziehung Klassenfahrt könnte man auch als eigenen Entitätstyp modellieren. Modellierung ist oft nicht eindeutig, es gibt je nach Ansicht mehrere sinnvolle Modelle für eine Miniwelt. Lehrer führt durch Klassenfahrt Klasse nimmt teil 87 E/R-Diagramme - Attribute Die Eigenschaften aller Entitäten und Beziehungen eines Entitätstyps bzw. eines Beziehungstyps werden mit Hilfe von Attributen erfasst. Symbol: Ellipse Beispiel: Name Vorname Lehrer beschreibend Kürzel identifizierend Klassenfahrt Ziel Datum Stufe Klasse Teil Anzahl 88

Informationssysteme / Datenbankabfragen

Informationssysteme / Datenbankabfragen Informationssysteme / Datenbankabfragen Thomas Mohr I N F O R M A T I K Agenda Datenbanken Wozu? Abfragesprachesprache SQL Verwaltung MySQL Datenbankmodellierung Themenvernetzung (DB-Zugriff, etc.) Ausblick

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Der Einsatz von MySQL-Datenbanken (mit XAMPP)

Der Einsatz von MySQL-Datenbanken (mit XAMPP) Informatik in der Mittelstufe: Der Einsatz von MySQL-Datenbanken (mit XAMPP) Hannes Heusel Eduard-Spranger-Gymnasium Landau Warum soll ich eine MySQL- Datenbank verwenden? kostenlos Mehrbenutzersystem

Mehr

7. Übung - Datenbanken

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

Mehr

Access Grundkurs. M. Eng. Robert Maaßen

Access Grundkurs. M. Eng. Robert Maaßen Access Grundkurs M. Eng. Robert Maaßen Wer steht da? M. Eng. Robert Maaßen ich@robertmaassen.de www.robertmaassen.de Studium: Informatik Vertiefungsrichtung Medientechnik, Diplom Ingenieur (FH), HAWK,

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken Profilbezogene informatische Bildung in den Klassenstufen 9 und 10 Schwerpunktthema Robby Buttke Fachberater für Informatik RSA Chemnitz Fachliche Einordnung Phasen relationaler Modellierung Fachlichkeit

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Vorlesung 30.03.2009 1) Einführung

Vorlesung 30.03.2009 1) Einführung Vorlesung 30.03.2009 1) Einführung Was versteht man unter dem Begriff Datenbank? - Eine Datenbank ist eine Struktur zur Speicherung von Daten mit lesendem und schreibendem Zugriff - Allgemein meint man

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

Mehr

Inhalt. 1. MySQL-Einführung 1. 2. Datenbankentwurf 27

Inhalt. 1. MySQL-Einführung 1. 2. Datenbankentwurf 27 Inhalt 1. MySQL-Einführung 1... 1.1 Geschichte von MySQL... 1 1.2 Entscheidungskriterien für MySQL... 2 1.3 Installation eines MySQL-Servers... 3 1.3.1 Linux... 5 1.3.2 Windows 9x/Me/NT/2000/XP... 7 1.3.3

Mehr

1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten...

1 Grundbegriffe...1. 2 Datenbanksysteme...7. 3 Entwicklung von Datenbanksystemen...15. Inhaltsverzeichnis. 1.1 Information und Daten... Inhaltsverzeichnis 1 Grundbegriffe...1 1.1 Information und Daten...2 1.2 Datenorganisation...3 1.3 Dateikonzept...5 1.4 Kontroll- und Vertiefungsfragen...6 2 Datenbanksysteme...7 2.1 Datenintegration...7

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

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

Schulinternes Curriculum im Fach Informatik

Schulinternes Curriculum im Fach Informatik Schulinternes Curriculum im Fach Informatik Unterricht in EF : 1. Geschichte der elektronischen Datenverarbeitung (3 Stunden) 2. Einführung in die Nutzung von Informatiksystemen und in grundlegende Begriffe

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme

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

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

Arbeiten mit ACCESS 2013

Arbeiten mit ACCESS 2013 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2013 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Teil VI. Datenbanken

Teil VI. Datenbanken Teil VI Datenbanken Überblick 1 Grundlegende Begriffe Motivation 2 Relationale Datenbanksysteme Das Relationale Datenmodell SQL 3 Entwurf von Datenbanken Das Enity Relationship (ER) Modell Abbildung von

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

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

Einführung in Datenbanksysteme. H. Wünsch 01.2001

Einführung in Datenbanksysteme. H. Wünsch 01.2001 Einführung in Datenbanksysteme H. Wünsch 01.2001 H. Wünsch 01/2001 Einführung Datenbanken 2 Was sind Datenbanken? Datenbanken sind Systeme zur Beschreibung, Speicherung und Wiedergewinnung von Datenmengen.

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen 3. Spezielle ER-Modelle und Tabellenableitung Spezialfälle von ER-Modellen Grundlage, was sind Relationen Transformation von ER-Diagrammen in Relationen 56 Lesebeispiel Access (Realisierungmodell!) 57

Mehr

Einführung in Datenbanken

Einführung in Datenbanken Grundlagen der Programmierung 2 Einführung in Datenbanken Grundlagen der Programmierung 2 I-1 Inhalt Einführung Entity-Relationship-Diagramm Relationales Modell Entity-Relationship-Diagramm ins Relationales

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence SS 2014 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 07.05.2014 Business Intelligence Praktikum

Mehr

Einstieg in relationale Datenbanken mit MySQL. Dr. Kerstin Puschke September 2009

Einstieg in relationale Datenbanken mit MySQL. Dr. Kerstin Puschke September 2009 Einstieg in relationale Datenbanken mit MySQL Dr. Kerstin Puschke September 2009 1 Lizenz Lizenz Dieser Text steht unter einer Creative Commons Attribution-Share Alike 3.0 Germany Lizenz, siehe http://creativecommons.org/licenses/by-sa/3.0/de/

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Datenbanken mit OpenOffice-Base Tabellen und einfache Abfragen

Datenbanken mit OpenOffice-Base Tabellen und einfache Abfragen Datenbanken mit OpenOffice-Base Tabellen und einfache Abfragen Im Rahmen der IFB - Veranstaltung Nr. 92 177 01 01 Informatik in der Sek I Programmierung vom 21.-22.09.2009 Peter Dauscher Gymnasium am Kaiserdom,

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung Prof. Dr. Alfred Holl, Georg Simon Ohm University of Applied Sciences, Nuremberg, Germany 29.03.2014/1 Entwurf einer einfachen Datenbank zur

Mehr

S(tructured)Q(uery)L(anguage)

S(tructured)Q(uery)L(anguage) S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

Mehr

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1 1 Installationsanleitung für die netzbasierte Variante Bis Version 3.5 Copyright KnoWau Software 2013 KnoWau, Allgemeine Bedienhinweise Seite 1 2 Seite absichtlich leer KnoWau, Allgemeine Bedienhinweise

Mehr

AixVerein 2.0 - Anleitung zur Einrichtung des

AixVerein 2.0 - Anleitung zur Einrichtung des Seite 1/6 AixVerein 2.0 - Anleitung zur Einrichtung des Datenbank-Servers und der Dokumentenablage Bei der vorliegenden Anwendung handelt es sich um eine Client-Server-Anwendung, d.h. die Software wird

Mehr

Heureka CAQ. Reorganisation 7.0. QDaTech GmbH

Heureka CAQ. Reorganisation 7.0. QDaTech GmbH Heureka CAQ Reorganisation 7.0 QDaTech GmbH This manual was produced using ComponentOne Doc-To-Help. Inhalt Einleitung 1 Allgemeines...1 Welche Reorganisation ist notwendig...1 Notwendige Dateien...2 Ablauf

Mehr

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken

2 7 Erweiterungen. 7.1 Prozess-Kommunikation mit Datenbanken 2 7 Erweiterungen 7 Erweiterungen 7.1 Prozess-Kommunikation mit Datenbanken Im Buch Einstieg in das Programmieren mit MATLAB wird im Abschnitt 4.8 das Thema Prozess-Kommunikation am Beispiel von MS-Excel

Mehr

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf IT-Kompaktkurs Skript zur Folge 5 Prof. Dr. Georg Herde Fachhochschule Deggendorf Semantisches Datenmodell, Entity-Relationship, Normalformen Bei der Entwicklung einer Datenbank wird das Ziel angestrebt,

Mehr

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird. Übungen und Lösungen 1. Einführung Datenbanken 1) Welche Datenbanktypen kennen Sie? Wodurch sind sie gekennzeichnet? Hierarchische Datenbanken: Zwischen den Datensätzen besteht eine untergeordnete Rangfolge.

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken 30 Wozu dient ein Primärschlüssel? Mit dem Primärschlüssel wird ein Datenfeld

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen

SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen SQL- & NoSQL-Datenbanken - Speichern und Analysen von großen Datenmengen Lennart Leist Inhaltsverzeichnis 1 Einführung 2 1.1 Aufgaben einer Datenbank...................... 2 1.2 Geschichtliche Entwicklung

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel meusel@iat.uni-leipzig.de

Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel meusel@iat.uni-leipzig.de Institut für Angewandte Trainingswissenschaft Leipzig ein Institut des Trägervereins IAT / FES des DOSB e.v. Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel meusel@iat.uni-leipzig.de

Mehr

Datenbanken (WS 2015/2016)

Datenbanken (WS 2015/2016) Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Vom Datenmodell zur Datenbank

Vom Datenmodell zur Datenbank Vom Datenmodell zur Datenbank Eine Einführung in Relationale Datenbanksysteme am Beispiel MS-ACCESS 1-1 Inhaltsverzeichnis Inhalt Kapitel 1: Grundlagen Inhaltsverzeichnis... 1-2 1 Was versteht man unter

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig) 1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence WS 2013-14 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.10.2013 Business Intelligence Praktikum

Mehr