I. Daten modellieren: Datenbanksysteme 1. Speichern großer Datenmengen Warum sollte man sich Grundlagen über Datenbanksysteme aneignen? Lagerbestand und Kundenadressen im Versandhandel, Namen, Fotos, Beiträge in sozialen Netzwerken im Internet oder die Adressverwaltung auf dem eigenen Smartphone - überall werden Informationen gespeichert. Von jedem Unternehmen werden Daten gesammelt und ausgewertet. Datenbanken sind sozusagen der Dreh- und Angelpunkt jeder unternehmerischen Tätigkeit, da alle wichtigen Informationen in ei- ner Datenbank abgelegt werden können. Dabei werden heutzutage diese Informationen auf Datenträgern gespeichert und mittels Computerprogrammen verwaltet. Dies bezeichnet man als Elektronische Datenverarbeitung (EDV). Ob und unter welchen Voraussetzungen gespeicherte Daten missbraucht werden können, lässt sich oft nur beurteilen, wenn man weiß, wie Datenbanksysteme arbeiten. Datensicherheit und Datenschutz spielen in unserem täglichen Leben eine große Rolle. Beispiele für das Speichern großer Datenmengen Organisation Deutsche Bahn gespeicherte Daten Zugläufe, Sitzplatzreservierungen, Fahrpreise, Wartung und Pflege von Waggons und Loks, Personal in Zügen, Personalverwaltung, Lohn ... Vor der Verbreitung von Computersystemen wurden Daten meist auf Karteikarten (Bild2) erfasst und in Kästen oder Schränke geordnet. Nur staatliche Institutionen oder große Firmen konnten sich eine elektromechanische Datenverarbeitung leisten. Wichtigstes Objekt der Elektromechanischen D ate nve ra rbeitung war die Lochkarte (Bild1). Auf ihr wurden mittels Lö- 2. Das Datenbanksystem 2.1. Funktion und Aufbau cher Informationen gespeichert, die dann von einer Tabelliermaschine ausgewertet werden konnten. Als der Pionier der elektromechanischen Datenverarbeitung gilt Herman Hollerith, der Lochkarten einsetzte, um die Datenmengen der Volkszählung 1890/1891 in den USA zu bewältigen. Die EDV erfolgt durch Datenbanksysteme. Diese Datenbanksysteme ermöglichen Daten so zu verwalten, dass • sie einfach und kontrolliert erfasst werden können • schnell und leicht auf sie zugegriffen werden kann • sie sicher und verlustfrei abgespeichert werden • einzelne Daten für Auswertungen (z.B. Rechnungen) zusammengeführt werden können • neue Informationen aus dem Datenbestand gewonnen werden können • verschiedene Personen unabhängig voneinander den Datenbestand bearbeiten können Auswahl von Datenbankmanagementsystemen: • Oracle Database (von Oracle) • DB2 (von IBM) • Microsoft Access (von Microsoft) • Microsoft SQL Server (von Microsoft) • SAP MaxDB (von SAP) • Paradox (von Corel) • MySQL (Open Source aus Schweden) • Base (von Apache OpenOffice) • Lotus Notes (von Lotus) Ein Datenbanksystem (DBS, engl. data base system) ist ein Informationssystem, das aus einer Datenbasis und einem Datenbankmanagementsystem besteht. Eine Datenbasis (DB, engl. data base) ist die Gesamtmenge der strukturiert abgespeicherten Daten mit ihren Beziehungen und Beschreibungen. Ein Datenbankmanagementsystem (DBMS, engl. data base management system) ist das zur Eingabe, Verwaltung und Ausgabe der Daten erforderliche System. Bild3 Aufbau eines Datenbanksystems Bild4 Mehrbenutzerfähigkeit 2.2. Relationales Datenbanksystem Eine relationale Datenbank kann man sich als Tabelle ist ein Datensatz. Jedes Tupel besteht aus eine Sammlung von Tabellen (Relationen) vor- einer Reihe von Attributwerten. Die Spalten der stellen, in welchen Datensätze (Attributwerte) Tabelle stellen die Attribute dar. (Bild5) abgespeichert sind. Jede Zeile (Tupel) in einer Tabelle (Relation, Klasse) - Sammlung von Datensätzen mit gleichen Datenfeldern. Datensatz (Tupel, Attributwerte) - Abbild von Objekten der realen Welt (Person, Gegenstand, Ereignis). Datenfeld (Attribut) - dem Objekt zugeordnete Attribute. Sie haben einen Datenfeldnamen und einen Datentyp. ______________ (Relation, Klasse) _______________ (Relationenname, Klassenname) _________ (Tupel, Zeile, Objekt) Bild5 2 _____________ (Attribut) _________________ 3. Das Datenbanksystem nutzen 3.1. Beispieldatenbank Zum Kennenlernen der Datenbankmanagementsystemfunktionen wird eine Beispieldatenbank genutzt. Diese Datenbank hat das Thema Deutschland zum Inhalt und bietet Informatio- 3.2. Der Bericht nen über die Bundesländer, deren Landkreise, Städte, Berge, Flüsse uvm. Die Datensammlung erhebt keinen Anspruch auf Vollständigkeit und dient nur zu Übungszwecken. Ein Bericht ist ein Datenbankobjekt, das zum Anzeigen und Zusammenfassen von Daten verwendet wird. Berichte bieten eine Möglichkeit, Momentaufnahmen der Daten – entweder durch Drucken, Konvertieren in PDF-Dateien (Bild6) oder durch Exportieren in andere Dateiformate – zu verteilen oder zu archivieren. Berichte lassen sich über das Datenbankmanagementsystem erstellen. Dabei ist die Vorgehensweise bei den einzelnen Programmen ähnlich. Der Berichts-Assistent führt Schritt für Schritt zum fertigen Bericht. Erfahrene Nutzer erstellen ihre Berichte selbständig. Bild6 In älteren Office-Versionen lassen sich Berichte über das Datenbankfenster (Bild8) aufrufen. Microsoft verwendet in Office-Programmen ab Version 2007 als Menü ein Menüband (Ribbon). Hier werden die Objekte am linken Rand angezeigt und die Berichte erstellt man über das Register ERSTELLEN und der Aufgabengruppe BERICHTE (Bild7). Register ERSTELLEN Aufgabengruppe BERICHTE Datenbankobjekte Bild7 Datenbankfenster Datenbankobjekte Bild8 Berichte lassen sich nach individuellen Wünschen anpassen. Dazu stehen verschiedene Tools zur Verfügung. 3 Aufgaben I Erstelle Berichte nach folgenden Attributen und speichere diese unter eindeutigen Namen ab. Korrigiere in den Berichten die angezeigten Attributnamen (z.B. aus BUNDESLAND_name wird Bundesland). 1. Name, Hauptstadt, Fläche und Einwohnerzahl der Bundesländer. 2. Name und Verwaltungsbezirke der Bundesländer. 3. Name der Bundesländer mit Berge und deren Höhe. 4. Name der Landkreise mit Verwaltungssitz und Kfz-Kennzeichen. 5. Name der Bundesländer mit Flaggen und Hauptstadt. 6. Städte mit Namen, Einwohnerzahl (absteigend) und Bundesland. 7. Name und Kfz-Kennzeichen der Städte, alphabetisch nach Namen. 3.3. Datenbankabfragen 3.3.1. Einführung Mithilfe von Abfragen lassen sich ganz spezielle Fragen zu den Daten stellen, die beim direkten Anzeigen der Tabellendaten schwierig zu beantworten sind. Mit Abfragen kann man Daten filtern, Berechnungen für die Daten anstellen, die Daten zusammenfassen und auch Aktionen (Ändern, Löschen) durchführen. Die Antwort eines Datenbanksystems auf solche Fragen ist eine Menge passender Datensätze, die in einer Ergebnistabelle (Bild9) dargestellt werden. Die beiden Tabellen unten zeigen links eine Abfragetabelle nach den größten Städten Deutschlands (Bild10) und rechts das Ergebnis, durch welche Bundesländer die Elbe fließt (Bild11). Ergebnistabelle Frage Tabelle Bild10 Abfragen lassen sich einerseits mit der einheitlichen Abfragesprache SQL und anderseits bei vielen Datenbankmanagementsystemen mit einer grafischen Benutzeroberfläche realisieren. Bild9 Bild11 Beim Arbeiten mit SQL werden die Zusammenhänge und Beziehungen der Datenstruktur verständlich, was bei einer späteren Nutzung der grafischen Oberfläche vorteilhaft ist. 3.3.2. SQL Eine einheitliche Abfragesprache für relationale Datenbanksysteme ist SQL [engl. Structured Query Language - Strukturierte Abfragesprache]. Bei den Fragen lassen sich zwei Grundelemente feststellen: • WAS (welche Datenfelder) soll ausgegeben werden und • Welche Bedingungen sollen die Daten erfüllen? Führt man eine Abfrage in SQL aus, sind drei Eingabewerte gut erkennbar: <Datenfelder> <Tabellen> <Bedingungen> <Datenfelder>: Mit Komma getrennt werden alle gewünschten Datenfelder (Attribute) angegeben. * steht für „alle Datenfelder“. <Tabellen>: Hier werden alle Tabellen durch Komma getrennt angegeben, die in die Abfrage ein- bezogen werden sollen. <Bedingungen>: Die Aussagen, ob ein Datensatz (Tupel) in die Ergebnistabelle aufgenommen werden soll. 4 In Programmen mit Menüband werden Abfragen über das Register ERSTELLEN und die Aufgabengruppe ABFRAGEN (Bild12) aufgerufen. Der Abfrageassistent ermöglicht Kreuztabellenabfragen, Duplikat-und Inkonsistenzsuche und Auswahlabfrage. Für die SQL-Abfrage wird der Abfrageentwurf benötigt. Das Tabellenfenster wird geschlossen (Bild13), um dann in der Aufgabengruppe ERGEBNISSE zur SQL-Ansicht zu wechseln (Bild14). Im Fenster kann dann die Abfrage eingegeben werden. Das Abfrageergebnis wird durch einen Klick auf das Ausrufezeichensymbol (Bild15) in ERGEBNISSE angezeigt. In älteren Office-Versionen wird im Datenbankfenster das Register „Abfragen“ und dann „Erstellt eine Abfrage in der Entwurfsansicht“ ausgewählt (Bild16). Das Fenster „Tabelle anzeigen“ wird geschlossen (Bild17). Im Menü wird unter ANSICHT die SQL-ANSICHT aktiviert (Bild18). Daraufhin erscheint das Fenster zur Abfrageeingabe. Die Abfragetabelle wird auch hier durch das Aufrufezeichen in der Symbolleiste aufgerufen (Bild19). Bild12 Bild16 Bild13 Bild17 Bild18 Bild14 Bild19 Bild15 5 Beispiele für SQL-Abfragen 1. Zeige Name und Landeshauptstadt von Sachsen an. SELECT name, hauptstadt FROM BUNDESLAND WHERE name="Sachsen" Ergebnistabelle: Merke: Sind die Attributwerte Texte, werden sie in An- und Ausführungsstriche gesetzt. 2. Zeige Name und Landeshauptstadt von Sachsen, Thüringen und Hessen an. SELECT name, hauptstadt FROM BUNDESLAND WHERE name="Sachsen" OR name="Thüringen" OR name="Hessen" Merke: OR kombiniert mehrere Attributwerte und gibt nur diese aus, die einer Bedingung entsprechen (hier: Sachsen, Thüringen, Hessen als Bundeslandname) 3. Zeige den Inhalt der Tabelle BUNDESLAND. SELECT * FROM BUNDESLAND WHERE TRUE Merke: * Platzhalter, steht für „alle“ Attribute TRUE [engl. WAHR], zeigt alle vorhandnen Attributwerte an] 4. Zeige Name und Einwohnerzahl aller Städte mit mehr als 500.000 Einwohner. SELECT name, einwohner FROM STADT WHERE einwohner>500000 Merke: Für Vergleiche werden Symbole aus der Mathematik gewählt. = < > <= >= <> 6 5. Zeige Name und Einwohnerzahl aller Städte mit mehr als 500.000 Einwohner, der Größe nach. SELECT name, einwohner FROM STADT WHERE einwohner>500000 ORDER BY einwohner DESC Merke: Sortieren ist eine Methode des DBMS. Es ändert sich nur die Reihenfolge der Anzeige aber nicht deren Inhalt. Mit den Zusätzen ASC bzw. DESC wird festgelegt, ob aufsteigend oder absteigend sortiert wird. ASC ascend [engl.: aufsteigen] aufsteigend: 0<1, a<z, A<a DESC descend [engl.: hinuntergehen] absteigend: a>A, z>a, 1>0 6. Wo kommt das Fahrzeug mit dem Kfz-Kennzeichen ME her? Zeige Landkreis, Verwaltungssitz und Bundesland. SELECT LANDKREIS.kfz, LANDKREIS.name, LANDKREIS.verwaltungssitz, BUNDESLAND.name FROM BUNDESLAND INNER JOIN LANDKREIS ON BUNDESLAND.BL_nr = LANDKREIS.BL_nr WHERE LANDKREIS.kfz="ME" Merke: Werden Daten aus mehreren Tabellen (hier: LANDKREIS und BUNDESLAND, Bild20) abgefragt, die gleiche Attributbezeichnungen (hier: name) haben, schreibt man bei der Abfrage KLASSE.attribut (hier: LANDKREIS.name, BUNDESLAND.name) Bild20 Bei SQL-Abfragen müssen Beziehungen zwischen den Tabellen mit angegeben und die Tabellen verbunden werden. Dies geschieht durch: INNER JOIN ... ON [engl. innere Verknüpfung] „BUNDESLAND INNER JOIN LANDKREIS ON BUNDESLAND.BL_nr = LANDKREIS.BL_nr“ bedeutet, dass die Tabelle BUNDESLAND mit der Tabelle LANDKREIS über das Attribut BL_nr, welches in beiden Tabellen vorhanden ist, verbunden wird. 7. Welche Länder grenzen an Sachsen? SELECT BUNDESLAND.name, GRENZLAND.name FROM GRENZLAND INNER JOIN (BUNDESLAND INNER JOIN BUNDESLAND_ZU_GRENZLAND ON BUNDESLAND.BL_nr = BUNDESLAND_ZU_GRENZLAND.BL_nr) ON GRENZLAND.GLAND_nr = BUNDESLAND_ZU_GRENZLAND.GLAND_nr WHERE BUNDESLAND.name="Sachsen" Merke: Jede Tabelle muss einzeln verbunden werden. Das kann verschachtelt geschehen. 7 8. Durch welche Bundesländer fließt der Rhein? SELECT FLUSS.name, BUNDESLAND.name FROM FLUSS INNER JOIN (BUNDESLAND INNER JOIN FLUSS_ZU_BUNDESLAND ON BUNDESLAND. BL_nr = FLUSS_ZU_BUNDESLAND.BL_nr) ON FLUSS.FLUSS_nr = FLUSS_ZU_BUNDESLAND.FLUSS_nr WHERE FLUSS.name="Rhein" 9. Zeige alle Städte aufsteigend der Größe nach mit Name, Kfz-Kennzeichen und Einwohnerzahl, die mehr als 50.000 und weniger als 100.000 Einwohner haben. SELECT name, kfz, einwohner FROM STADT WHERE einwohner>50000 AND einwohner<100000 ORDER BY einwohner ASC Merke: UND kombiniert mehrere Attributwerte und gibt nur diese aus, die mehreren Bedingungen entsprechen (hier: Anzahl der Einwohner zwischen 50.000 [1. Bedingung] und 100.000 [2. Bedingung]) 9. Zeige alle Bundesländer die mit „H“ beginnen. SELECT name FROM BUNDESLAND WHERE name Like "H*" Merke: LIKE sucht Attributwerte, die mit einem Muster übereinstimmen (hier: Anfangsbuchstabe „H“, restliche Buchstaben beliebig, was durch den „*“ gekennzeichnet wird, siehe auch Abfrage 3) 10. Zeige alle Bundesländer, außer jene, die mit „B“ beginnen. SELECT name FROM BUNDESLAND WHERE name NOT Like "B*" Merke: NOT negiert ein Muster als Bedingung (hier: Nicht Anfangsbuchstabe „B“, restliche Buchstaben beliebig) Aufgaben II Schreibe die SQL-Befehle für folgende Abfragen unter die jeweilige Aufgabenstellung. 1. Zeige Name und Fläche von Mecklenburg-Vorpommern, Brandenburg, Niedersachsen und Schleswig-Holstein an. [Tabelle BUNDESLAND] 8 2. Ordne die Bundesländer aus Frage 1 der Größe nach. [Tabelle BUNDESLAND] 3. Zeige den Inhalt der Tabelle FLUSS an. [Tabelle FLUSS] 4. Welche Bundesländer haben Berge, die über 1000 Meter hoch sind? Belege mit Namen der Bundesländer und Berge und die jeweilige Höhe. [Tabelle BUNDESLAND] 5. Welche Bundesländer haben die meisten Einwohner? Belege mit Namen der Bundesländer und Einwohnerzahl. [Tabelle BUNDESLAND] 6. Wo kommen die Fahrzeug mit den Kfz-Kennzeichen DON, OHV, CUX, SÜW und MSE her? Zeige Landkreis und Verwaltungssitz. [Tabelle LANDKREIS] 7. Zeige zu den Ergebnissen aus Aufgabe 6 noch die dazugehörigen Bundesländer an. [Tabellen LANDKREIS, BUNDESLAND] (Achtung! „name“ kommt in jeder Tabelle vor!) 8. Welche Flüsse fließen durch Bayern? Alphabetisch geordnet! [Tabellen BUNDESLAND, FLUSS_ZU_BUNDESLAND, FLUSS] 9. Zeige alle Kfz-Kennzeichen Deutschlands, die mit einem „E“ beginnen. Ergänze die dazugehörigen Landkreise, Verwaltungssitze und Bundesländer. [Tabellen LANDKREIS, BUNDESLAND] 10. Welche Landkreise gibt es in Sachsen? [Tabellen LANDKREIS, BUNDESLAND] 10. Welche Großstädte haben weniger als 1.000.000 Einwohner? Zeige Namen und Einwohnerzahl, die größten zuerst. Hinweis: Eine Stadt ist Großstadt, wenn sie mehr als 100.000 Einwohner hat. [Tabelle STADT] 9 Aggregatfunktionen Wie viele Einwohner hat Deutschland? Wie viele Menschen wohnen in Sachsen und Thüringen zusammen? Wie heißt die kleinste Kreisstadt in Deutschland? Um solche Fragen beantworten zu können, benötigt man die Aggregatfunktionen [engl. to aggregate - anhäufen, vereinigen, zusammenballen] in SQL. Aggregatfunktionen bilden genau einen Ergebniswert aus einer Vielzahl von Eingabewerten. Die fünf wichtigsten SQL-Aggregatfunktionen sind: COUNT(<Datenfeld>) Anzahl der Einträge in diesem Datenfeld SUM(<Datenfeld>) Summe aller Werte in diesem Datenfeld MAX(<Datenfeld>) Maximum aller Werte in diesem Datenfeld MIN(<Datenfeld>) Minimum aller Werte in diesem Datenfeld AVG(<Datenfeld>) Durchschnitt aller Werte in diesem Datenfeld Beispiele: Wie viele Einwohner hat Deutschland? SELECT SUM(einwohner) AS [Einwohner Deutschland] FROM BUNDESLAND Addiert alle Attributwerte von Einwohner Abfragetabelle erhält den Namen: Einwohner Deutschland Wie viele Menschen wohnen in Sachsen und Thüringen zusammen? SELECT SUM(einwohner) AS [Einwohner Sachsen und Thüringen] FROM BUNDESLAND WHERE name=“Sachsen“ or name=“Thüringen“ Wie heißt die kleinste Kreisstadt in Deutschland? SELECT MIN(STADT.einwohner) AS [Kleinste Kreisstadt] FROM STADT GROUP BY STADT.name ORDER BY Min(STADT.einwohner) Welche Fläche nehmen die Bundesländer im Durchschnitt ein? SELECT AVG(flaeche) AS [Mittelwert Fläche BL] FROM BUNDESLAND Wie viele Bundesländer gibt es? SELECT COUNT(name) AS [Anzahl BL] FROM BUNDESLAND Aufgaben III Schreibe die SQL-Befehle für folgende Abfragen unter die jeweilige Aufgabenstellung. 1. Wie viele Landkreise gibt es in Deutschland? 2. Wie groß ist die Gesamtlänge der Flüsse, die in der Datenbank enthalten sind? 10 3.3.3. Abfragen über die grafische Benutzeroberfläche Abfragen über die grafische Benutzeroberfläche werden adäquat der SQL-Abfragen durchgeführt. Im Tabellenfenster (Bild20) müssen dann aber die benötigten Tabellen ausgewählt und hinzugefügt werden, damit die Beziehungen der Tabellen zueinander zur Verfügung stehen. Nach Schließen des Tabellenfensters werden im unteren Bereich die Abfragekriterien eingestellt. In FELD (Bild21) wird das gewünschte Attribut eingestellt. TABELLE wird dann automatisch ausgefüllt. SORTIERUNG (Bild22) ermöglichtdas Sortieren der Attributwerte des unter FELD eingestellten Attributs. KRITERIEN wird ausgefüllt, wenn Bedingungen für das gewählte Attribut vorhanden sind (Bild23). Die Abfragetabelle wird auch hier durch das Aufrufezeichen aufgerufen. Bild22 Bild23 Bild20 Bild21 4.Erstellen einer Datensammlung 4.1. Das Pflichtenheft Vor dem Speichern großer Datenmengen sollten Überlegungen über die Art und die Menge der • _________________________ Daten angelegt werden. Dabei leistet ein Pflichtenheft gute Dienste. • _________________________ Ein Pflichtenheft zu einer Datenbankanwendung beinhaltet die Beschreibung der: • _________________________ Beispiel: Pflichtenheft der Datensammlung - Deutschland 1. Funktionalität Es sollen Informationen zu geografischen Gegebenheiten, Verwaltungsgliederung und Sehenswürdigkeiten abgefragt werden können. Dateneingabe und -korrektur soll möglich sein. Dazu sollen Formulare zur Verfügung stehen. Realisierung der Datenausgabe durch Berichte als Anzeige und Export. 2. Auswertung Welche Bundesländer gibt es in Deutschland? Welche Verwaltungsbezirke gibt es in den Bundesländern? Welche Landkreise gibt es in den Bundesländern und in den Verwaltungsbezirken? Wie viele Einwohner und welche Fläche haben die Bundesländer? Wie heißen die Landeshauptstädte, welche Sehenswürdigkeiten gibt es in den Bundesländern? Wie heißt der höchste Berg und wie hoch ist dieser in jedem Bundesland? Wie heißen die Landkreise, deren Verwaltungssitz und die Kfz-Kennzeichen? Welches Kfz-Kennzeichen hat welche Stadt? Rückwärtssuche für Kfz-Kennzeichen. Wie viele Einwohner haben die Verwaltungssitze und wichtige Städte in den Landkreisen? Welche großen Flüsse fließen durch welche Bundesländer? Welche Bundesländer haben mit welchen (Bundes-)Ländern gemeinsame Grenzen? (In Abhängigkeit des Programmes: Zeige Flaggen, Wappen und Lage der Bundesländer. Zeige Lage und Wappen der Landkreise) 11 3. Datenbasis Welche Informationen brauche ich zu: • Bundesland - Name, Verwaltungsbezirke, Landkreise, Einwohnerzahl, Fläche, höchster Berg, Höhe, Sehenswürdigkeiten, Grenzland, (Flagge, Wappen, Karte mit Lage) • Landkreis - Name, Verwaltungssitz, Kfz-Kennzeichen (Wappen, Karte mit Lage) • Stadt - Name, Kfz-Kennzeichen, Einwohnerzahl • Fluss - Name, Länge, Lage 4.2. Datenmodelle 4.2.1. Einführung Sind Inhalt und Funktionalität der Datensammlung geklärt, überlegt man sich die Anordnung und Organisation der Daten. Es wird ein Modell der Datenbasis erstellt. Modellierung ist die formalen Abbildung der relevanten Objekte (Entitäten) mittels ihrer Attribute und Beziehungen. Eine Entität ist ein eindeutig identifizierbares Objekt oder ein eindeutig identifizierbarer Sachverhalt der realen Welt oder der Vorstellungswelt. Beispiel: Entität = ________________ Attribute = _______________________________________ Attributwerte = ____________________________________________________________ Die Modellierung erfolgt dabei in folgenden Schritten: • Finden der nötigen Objekte (Entitäten) • Zuordnung der Objekte zu Klassen (Entitäten mit gleichen Attributen ergeben den Entitätstyp) • Festlegen von aufgabenrelevanten Attributen • Beschreiben von Beziehungen zwischen den Klassen Das Ergebnis dieser Vorüberlegungen kann in verschieden Darstellungsformen notiert werden: • als ___________________________ • als ___________________________ • als ___________________________ 4.2.2. Die Mindmap Eine Mind-Map [engl. mind map; auch: Gedanken[land]karte, Gedächtnis[land]karte] beschreibt eine Technik, die man z. B. zum Darstellen eines Themengebietes, zum Planen oder für Mitschriften nutzen kann. In der Form als Mindmap werden die Klassen als Äste vom The- Zweig (Attribut) Ast (Klasse =Entitätstyp) Thema 12 ma weggeführt. Die Attribute schließen sich als Zweige den Ästen an. Klassen und Attribute können jederzeit ergänzt werden. Beziehungen zwischen den Klassen lassen sich jedoch umständlich eintragen. 4.2.3. Das Klassendiagramm in vereinfachter UML-Notation Die UML-Notation [engl. UML: Unifed Modeling tributen werden als Rechtecke dargestellt. ZwiLanguage - standardisierte Modellierungsspra- schen den Klassen werden die Beziehungen einche] ist eine weitere Methode das Modell der getragen. Datenbasis grafisch darstellen. Klassen mit AtBUNDESLAND 1 _______________ _______________ _______________ _______________ _______________ _______________ _______________ _______________ _______________ _______________ hat > < liegt im ∞ LANDKREIS _______________ _______________ _______________ _______________ _______________ _______________ VERWALTUNGSBEZIRK __________________ _______________ _______________ _______________ STADT _______________ _______________ _______________ _______________ _______________ SEHENSWUERDIGKEIT _______________ _______________ _______________ ______________________________ ______________________________ GRENZLAND _______________ _______________ _______> < ______ ______________________________ ______________________________ _____ > < __________ FLUSS _______________ _______________ _______________ 13 4.2.4. Das Entity-Relationship-Diagramm Das Entity-Relationship-Diagramm [engl. Entity - Objekt, Relationship - Beziehung - Objektbeziehungsdiagramm] bildet Objekte der realen Welt als Entities ab. Sie haben Attribute, die als BUNDESLAND Ellipsen dargestellt sind. Entities mit gleichen Attributen bilden Entity-Klassen, die als Rechtecke gezeichnet werden. Relationships werden durch eine Raute symbolisiert. hat / liegt im VERWALTUNGSBEZIRK 14 LANDKREIS 4.3. Beziehungen zwischen den Tabellen (Kardinalität) Für die Beschreibung eines realen Sachverhaltes genügt die Angabe von Entitäten allein nicht. Zwischen den Entitäten können vielfältige Beziehungen bestehen. hat > n 1 < liegt im BUNDESLAND LANDKREIS Die Klassen BUNDESLAND und LANDKREIS ste- von 1 und n deutlich. Das ergibt den Beziehungshen in einer Beziehung zueinander. Jedes Bun- typ: 1:n desland hat mehrere (n) Landkreise. Umgekehrt Weitere Beispiele: ______________________ liegt jeder Landkreis in genau einem (1) Bundesland. Diese Beziehung wird durch die Angaben _____________________________________ Jedem Objekt der Klasse 1 können mehrere Objekte der Klasse 2 zugeordnet werden. Umgekehrt kann jedem Objekt der Klasse 2 nur genau ein Objekt der Klasse 1 zugeordnet werden. hat > 1 1 < gehört zu BUNDESLAND Jedes Bundesland hat eine (1) Flagge. Umgekehrt gehört eine Flagge zu genau einem (1) Bundesland. Diese Beziehung wird durch die Angaben von 1 und 1 deutlich. Das ergibt den Beziehungstyp: 1:1 Die meisten Daten, die auf diese Weise in Beziehung stehen, sind normalerweise in nur einer Tabelle zu finden. Deshalb ist diese Art der FLAGGE Beziehung eher selten. Sinnvoll zu verwenden ist sie aber zum Beispiel, wenn eine Tabelle aus Gründen der Zugriffsrechte in mehrere Tabellen aufgeteilt werden muss. Weitere Beispiele: ______________________ _____________________________________ Jedem Objekt der Klasse 1 wird genau ein Objekt der Klasse 2 zugeordnet und umgekehrt. BUNDESLAND hat > n m < fließt durch FLUSS Jedes Bundesland hat mehrere (n) Flüsse. Umge- Beziehungstyp: n:m kehrt kann ein Fluss durch mehrere (m) Bundes- Weitere Beispiele: ______________________ länder fließen. Diese Beziehung wird durch die Angaben von n und m deutlich. Das ergibt den _____________________________________ Jedem Objekt der Klasse 1 können mehrere Objekte der Klasse 2 zugeordnet werden und umgekehrt. Achtung! n:m-Beziehungen lassen sich in herkömmlichen Sinne nicht abfragen. Im Beispiel gehören ein Bundesland und ein Fluss zusammen, sie bilden ein Paar. Diese Paare können aber nicht angelegt werden, weil es im Bundes- land mehrere Flüsse geben kann und ein Fluss durch mehrere Bundesländer fließen kann. Deshalb wird hier eine weitere Tabelle benötigt, die die bestehenden Paare zusammenführt, die FLUSS_ZU_BUNDESLAND-Tabelle (Bild24). Beziehungstabelle 1:n m:1 Bild24 15 Die Tabelle FLUSS_ZU_BUNDESLAND ist eine Beziehungstabelle. Die n:m - Beziehung wird eine 1:n und in eine m:1- Beziehung aufgeteilt. Die Kardinalität [lat. cardinalis- wichtig, grundlegend] gibt an, wie viele Entitäten (Objekte) eines Entitätstyps (Klasse) mit genau einer Entität des anderen am Beziehungstyp beteiligten Entitätstyps (und umgekehrt) in Beziehung stehen können oder müssen. 4.4. Schlüssel In Deutschland gibt es 21 eigenständige Orte, die darf jeder Datensatz nur einmal vorkommen, er Neustadt heißen. Sie liegen in unterschiedlichen muss sich von anderen unterscheiden. Aus dieBundesländern, haben unterschiedliche Wap- sem Grund gibt es die Primär- und Fremdschlüspen, unterscheiden sich in der Einwohnerzahl sel. Ein Schlüssel dient in einer relationalen und die Autos der Bürger von Neustadt haben Datenbank dazu, die Tupel (Datensätze) einer Nummernschilder, die sich in der Landkreisken- Relation (Tabelle) eindeutig zu identifizieren. nung unterscheiden. Wird mittels Datenbank- In der Tabelle BUNDESLAND gibt es den managementsystem in der Datenbasis nach Primärschlüssel BL_nr. Die Attributwerte des Neustadt gesucht, hat der Computer ein Prob- Schlüssel kommen in der Tabelle BUNDESLAND lem. Welchen Datensatz (Tupel) soll er anzeigen? nicht doppelt vor. Somit kann das Datenbankmanagementsystem jedes Bundesland eindeutig Es gibt ja 21 verschiedene! Gleiche Attributwerte in den Datensätzen kom- bestimmen. Selbst wenn es zwei Bundesländer men häufig vor. Vornamen, Familiennamen oder mit gleichem Namen gäbe, wären die Schlüssel Wohnorte können sich gleichen. Damit der Com- unterschiedlich. puter den richtigen Datensatz auswählen kann, Ein Schlüssel dient in einer relationalen Datenbank dazu, die Tupel (Datensätze) einer Relation (Tabelle) eindeutig zu identifizieren. Um ein Datenfeld als Schlüssel zu definieren, markiert man das Datenfeld in der Entwurfsansicht und klickt auf das Schlüsselsymbol in der Symbolleiste. Danach wird vor dem Datenfeld ein Schlüssel abgebildet (Bilder 25-27) Bild25 4.5. Redundanz Bild26 Redundanzen [lat. redundare - im Überfluss vorhanden sein] sind doppelte Informationen in einer Datenbank bzw. Datenbank-Tabelle. Man spricht von einer redundanzfreien Datenbank, Beispiel: Ein Autohaus möchte alle Autobesitzer in einer Datenbank erfassen. Es wird für jeden Autobesitzer jeweils pro Wagen einen Datensatz angelegt. Bild27 wenn alle doppelte Informationen entfernt werden können, ohne das ein Informationsverlust stattfindet. Hat eine Person mehr als ein Auto, dann wird auch sein Name, Adresse, usw. zu jedem Auto gespeichert. Das ist redundant. Lösung: ________________________________________________________________________________ ________________________________________________________________________________ 16 5. Eine Datensammlung erstellen 5.1. Tabellen anlegen Wie kommen die Daten in den Computer? werden. Das Programm verlangt nach einem Bevor man Tabellen anlegen und Daten einge- Speicherort. Danach werden Tabellen nach den ben kann, muss erst eine Datenbasis angelegt vorher erarbeiteten Klassen erstellt. Bild28 Bild29 Für Tabellen gibt es zwei Ansichten: • die Entwurfsansicht (Bild32) und • die Datenblattansicht (Bild5, Seite 2). Wechseln lassen sich die Ansichten über die Symbolleiste (Bild30 und Bild31). In der Entwurfsansicht werden die einzelnen Felder (Attribute) der neuen Tabelle festgelegt. Das Eintragen von Daten wird in den Tabellen über die Datenblattansicht vorgenommen. Bild31 Bild30 Tabellenname (Relationenname, Klassenname, Entitätstyp) Attribut (hier: Feldname, Spalten) Datentyp (hier: Felddatentyp, Form des Attributwertes) Der Datentyp eines Feldes legt fest, welchem Wertebereich die Feldinhalte entsprechen müssen und welche Operationen mit Feldinhalten möglich sind. Bild32 17 Felddatentyp oder welche Form kann der Attributwert annehmen? Verfügbare Felddatentypen (Bild31) Bild33 Bild34 Mit einem Klick in das Feld FELDDATENTYP lässt sich die Form des Attributwertes auswählen. Dabei gibt es zwischen den einzelnen Programmen geringe Ausdrucksunterschiede (Bild33 und Bild34). Bild35 Mögliche unterschiedliche Zahlengrößen für die Form (Datentyp) Zahl (Bild36) Bild36 Bei der Festlegung der Datentypen lassen sich bei FELDEIGENSCHAFTEN weitere Einstellungen durchführen. So kann man z. B. Angaben zum maximalen Speicherplatz machen. Man legt fest, wie lang Einträge in den Textfeldern höchstens sind (Bild37), bzw. wie groß eine Zahl maximal werden darf (Bild38). Bild38 Bild37 18 5.2. Dateneingabe 5.2.1. Allgemein Der Benutzer einer Datenbank arbeitet in der Regel nicht direkt mit Tabellen oder Abfragen, sondern er greift mittels entsprechender Formulare auf die jeweiligen Datensätze zu. Formulare ermöglichen das Sortieren und Filtern von Datensätzen sowie die Bearbeitung und Neuein- gabe. Formulare werden durch den Datenbankentwickler bereitgestellt, können aber, falls die entsprechenden Zugriffsberechtigungen vorliegen, auch durch Benutzer erstellt bzw. verändert werden. Natürlich ist eine direkte Eingabe in die Tabellen auch möglich. 5.2.2. Das Formular Ein Formular ist ein Datenbankobjekt, mit dem man eine Benutzeroberfläche für eine Datenbankanwendung erstellen kann. Ein gebundenes Formular ist direkt mit einer Datenquelle wie einer Tabelle oder Abfrage verbunden und dient zum Eingeben, Bearbeiten oder Anzeigen von Daten aus dieser Datenquelle. Es gibt auch Formulare, die nicht direkt mit einer Datenquellen verbunden sind, aber dennoch Befehlsschaltflächen, Bezeichnungen und andere Steuerelemente enthalten, die für das Betreiben der Anwendung benötigt werden. Datenbankneulinge sollten zum Erstellen des Formulars den Assistenten (Bild39 und Bild40) benutzen. Auch hier gibt es verschiedene Ansichten (Bild41 und Bild42), die nach Gebrauch aufgerufen werden. Die Layoutansicht ist die intuitivste Ansicht für Formularänderungen und kann für fast alle Änderungen verwendet werden. In der Layoutansicht wird das Formular tatsächlich ausgeführt. Daher kann man die Daten weitestgehend so sehen, wie sie angezeigt werden, wenn das Formular verwendet wird. Die Entwurfsansicht (Bild43) bietet eine detailliertere Ansicht der Struktur des Formulars. Das Formular wird nicht tatsächlich ausgeführt. Es gibt jedoch bestimmte Aufgaben, die sich in der Entwurfsansicht einfacher ausführen lassen als in der Layoutansicht (Hinzufügen und Bearbeiten von Steuerelementen, Größenänderungen). Die Formularansicht (Bild44) zeigt die Oberfläche des Datenbankmanagementsystems für die Eingabe oder Korrektur von Daten. Bild39 Bild40 Bild42 Bild41 Bild43 Bild44 19 6. Datensicherheit und Datenschutz 6.1. Datensicherheit Datensicherheit hat zum Ziel, die Verarbeitung, Speicherung und Kommunikation von Informationen so zu gestalten, dass die Vertraulichkeit, Verfügbarkeit und Integrität der Informationen und Systeme in ausreichendem Maß sichergestellt wird. - Funktionalität: Hardware und Software sollen erwartungsgemäß funktionieren. - Integrität: Daten dürfen nicht unbemerkt verändert werden. - Verfügbarkeit: Der Zugriff auf Daten muss innerhalb eines vereinbarten Zeitrahmens gewährleistet werden. - Authentizität: Echtheit und Glaubwürdigkeit einer Person oder eines Dienstes müssen überprüfbar sein. - Verbindlichkeit: Urheber von Veränderungen müssen erkennbar sein und dürfen Veränderung nicht abstreiten können. Zu den Bedrohungen für die IT-Sicherheit gehören unter anderem: - Computerviren, Trojaner und Würmer, die zusammengefasst als Malware bezeichnet werden (Ein Computervirus ist ein sich selbst vermehrendes Computerprogramm, welches sich in andere Computerprogramme einschleust und sich damit reproduziert. Einmal gestartet, kann es vom Anwender nicht kontrollierbare Veränderungen am Status der Hardware (zum Beispiel Netzwerkverbindungen), am Betriebssystem oder an der Software vornehmen (Schadfunktion). Als Trojanisches Pferd bezeichnet man ein Programm, das als nützliche Anwendung getarnt ist, im Hintergrund aber ohne Wissen des Anwenders eine andere Funktion erfüllt. Ein Computerwurm ist ein Computerprogramm, das sich über Computernetzwerke verbreitet. Es verbreitet sich zum Beispiel durch das Versenden infizierter E-Mails. Ein Wurmprogramm muss nicht unbedingt eine spezielle Schadensroutine enthalten. Da das Wurmprogramm sowohl auf den infizierten Systemen als auch auf den Systemen, die es zu infizieren versucht, Ressourcen zur Weiterverbreitung bindet, kann es allein dadurch gewaltige wirtschaftliche Schäden anrichten.) - Spoofing, Phishing, Pharming oder Vishing, wo eine falsche Identität vorgetäuscht wird (Spoofing (aus dem Englischen, zu deutsch: „Manipulation“ oder „Verschleierung“) nennt man verschiedene Täuschungsversuche in Computernetzwerken zur Verschleierung der eigenen Identität. Personen werden in diesem Zusammenhang auch gelegentlich als „Spoofer” bezeichnet. Phishing (engl. fishing = abfischen) ist eine Form des Trickbetrugs im Internet. Dabei wird per E-Mail versucht, den Empfänger irrezuführen und zur Herausgabe von Zugangsdaten und Passwörtern zu bewegen. Dies bezieht sich in den meisten Fällen auf Online-Banking und andere Bezahlsysteme. Pharming ist eine Betrugsmethode, um den Benutzer auf gefälschte Webseiten umzuleiten. Es ist eine Weiterentwicklung des klassischen Phishings. Der Begriff „Pharming“ rührt von dem Umstand her, dass die Pharming-Betrüger eigene große Server-Farmen unterhalten, auf denen gefälschte Webseiten abgelegt sind. Vishing ist eine Form des Trickbetrugs im Internet. Die Bezeichnung steht für „Voice Phishing“. Dabei wird per automatisierten Telefonanrufen versucht, den Empfänger irrezuführen und zur Herausgabe von Zugangsdaten, Passwörtern, Kreditkartendaten usw. zu bewegen. Die Betrüger machen sich hierbei die niedrigen Kosten der Internettelefonie zu Nutze und rufen automatisiert unzählige Telefonnummern an. - Hacking, Cracking sowie andere Formen von Sabotage Ein Hacker ist eine Person, die sich daran erfreut, ein tiefgreifendes Verständnis der internen Arbeitsweise eines technischen Systems zu erlangen. Als Beispiel kann er ein Computerbenutzer sein, der sich mit dem Erstellen und Verändern von Computersoftware oder –hardware beschäftigt und dabei ein überdurchschnittliches Fachwissen aufweist oder eine Person, die mit ihren Fachkenntnissen eine Technologie beliebiger Art außerhalb ihrer eigentlichen Zweckbestimmung benutzt. Ein Hacker identifiziert sich mit seiner Tätigkeit besonders und genießt die intellektuelle Herausforderung, auf kreative Weise Grenzen zu überwinden oder zu umgehen. Zum Betätigungsfeld eines (Software-) Crackers gehört die Manipulation von Softwarecode, um den Zugriffsoder Kopierschutz einer Software zu entfernen, wozu auch Schutzmechanismen wie Passwortabfragen zählen. Alternativ dazu erstellen sie Generatoren für Lizenznummern.) - Spionage, z.B. in Form von Man in the Middle Angriffen, (Der Angreifer steht dabei zwischen den beiden Kommunikationspartnern und hat dabei mit seinem System komplette Kontrolle über den Datenverkehr zwischen zwei oder mehreren Netzwerkteilnehmern und kann die Informationen nach Belieben einsehen und sogar manipulieren.) 20 - höhere Gewalt, z.B. in Form von Blitzschlag, Feuer oder Überschwemmung - Social Engineering (Der Begriff Sozialkonstruktion bzw. englisch Social Engineering (auch Social Hacking) bezeichnet in der Soziologie das Erlangen vertraulicher Informationen durch Annäherung an Geheimnisträger mittels gesellschaftlicher Kontakte. Dieses Vorgehen wird von Geheimdiensten und Privatdetektiven seit langem praktiziert, der Begriff wird jedoch meist im Zusammenhang mit Computerkriminalität verwendet, da er hier das Gegenstück zum rein technischen Vorgehen (Engineering) beim Eindringen in fremde Systeme bildet.) Schutz Ein System wird dann als sicher bezeichnet, wenn der Aufwand für das Eindringen in das System höher ist als der daraus resultierende Nutzen für den Angreifer. Deshalb ist es wichtig, die Hürden für einen erfolgreichen Einbruch möglichst hoch zu setzen und damit das Risiko zu reduzieren. Der Mangel an Computersicherheit ist eine vielschichtige Bedrohung, die nur durch eine anspruchsvolle Abwehr beantwortet werden kann. Operative Maßnahmen Maßnahmen sind unter anderem physische bzw. räumliche Sicherung von Daten, Zugriffskontrollen, das Aufstellen fehlertoleranter Systeme und Maßnahmen der Datensicherung und die Verschlüsselung. Wichtige Voraussetzung ist die Sicherheit der verarbeitenden Systeme. Ein effektives Sicherheitskonzept berücksichtigt jedoch neben technischen Maßnahmen auch organisatorische und personelle Maßnahmen. - Software aktualisieren Für viele Programme werden Aktualisierungen angeboten. Diese bieten nicht immer nur eine erweiterte oder verbesserte Funktionalität, sondern beheben häufig auch schwere Sicherheitslücken. Besonders betroffen sind alle Programme, die Daten mit dem Internet austauschen, wie zum Beispiel Betriebssysteme, Browser, Schutzprogramme oder E-Mail-Programme. Die Aktualisierungen sollten so schnell wie möglich auf den entsprechenden Rechnersystemen installiert werden. - Antiviren-Software verwenden Wenn Daten aus dem Internet oder von E-Mail-Servern heruntergeladen oder von Datenträgern kopiert werden, besteht immer die Möglichkeit, dass sich darunter auch schädliche Dateien befinden. Um dies zu vermeiden, muss eine sogenannte Antiviren-Software installiert werden. Auch bei dieser Software ist darauf zu achten, dass sie regelmäßig (unter Umständen sogar mehrmals täglich) aktualisiert wird. - Firewalls verwenden Für Angriffe, die ohne das aktive Zutun des Nutzers drohen, ist es unerlässlich eine Netzwerk-Firewall oder Personal Firewall zu installieren. Viele unerwünschte Zugriffe auf den Computer und unbeabsichtigte Zugriffe vom eigenen Computer, die vom Benutzer meist gar nicht bemerkt werden, können auf diese Weise verhindert werden. Die Konfiguration einer Firewall ist nicht trivial und erfordert eine gewisse Kenntnis der Vorgänge und Gefahren. - Sicherungskopien erstellen Von jeder Datei, die wichtig ist, muss mindestens eine Sicherungskopie auf einem separaten Speichermedium angefertigt werden. - Sensible Daten verschlüsseln Daten, die nicht in die Hände Dritter geraten sollen, sollten durch geeignete Maßnahmen verschlüsselt werden. Dies betrifft nicht nur Daten die zwischen zwei bestimmten Rechnern ausgetauscht werden, sondern auch entsprechende Daten, die sich auf Massenspeichern befinden. Ein Zugriff auf die Inhalte darf nur dann möglich sein, wenn die Beteiligten über den richtigen Schlüssel verfügen. Besonders gefährdet sind unverschlüsselte, kabellose Netze, wie zum Beispiel nicht konfigurierte WLANs, da hierbei Unbefugte unbemerkt Zugriff auf die Daten und sogar die Kontrolle über den ungeschützten Computer erlangen können. Aufgaben IV 1. Was versteht man unter Malware? 2. Wie kann eine falsche Identität vorgetäuscht werden? 3. Wann ist ein System sicher? 4. Welche Maßnahmen erhöhen die Datensicherheit? 5. Was ist das Ziel der Datensicherheit? 21 6.2. Datenschutz Datenschutz bezeichnet ursprünglich den Schutz personenbezogener Daten vor Missbrauch. Heute wird der Zweck des Datenschutzes darin gesehen, den Einzelnen davor zu schützen, dass er durch den Umgang mit seinen personenbezogenen Daten in seinem Recht auf informationelle Selbstbestimmung beeinträchtigt wird. Datenschutz steht für die Idee, dass jeder Mensch grundsätzlich selbst entscheiden kann, wem wann welche seiner persönlichen Daten zugänglich sein sollen. Der Datenschutz will den so genannten gläsernen Menschen verhindern. Daten sind personenbezogen, wenn sie eindeutig einer bestimmten Person zugeordnet sind oder diese Zuordnung zumindest mittelbar erfolgen kann. Im zweiten Fall spricht man auch von personenbeziehbaren Daten. Beispiele für personenbezogene Daten: - Klaus Meier hat blaue Augen. - Erika Mustermann besitzt einen VW Golf. - Der erste Kanzler der Bundesrepublik Deutschland war gebürtiger Kölner. Im ersten Beispiel wird die Angabe hat blaue Augen der Person Klaus Meier zugeordnet. Die Angabe hat blaue Augen wird dadurch zu einem personenbezogenen Datum. (Im Regelfall wird die Gesamtinformation Klaus Meier hat blaue Augen als personenbezogenes Datum angesehen.) Im zweiten Beispiel ist besitzt einen VW Golf das personenbezogene Datum. Ein personenbezogenes Datum muss also nicht zwangsläufig ein körperliches Merkmal der Person sein. Es genügt ein Bezug zwischen der Person und einer Sache, einer anderen Person, einem Ereignis, einem Sachverhalt. Im dritten Beispiel ist die Person, auf die sich die Angabe gebürtiger Kölner bezieht, zwar nicht namentlich genannt. Sie ist jedoch bestimmbar, da allgemein bekannt ist, dass Konrad Adenauer der erste Kanzler der Bundesrepublik Deutschland war. Auch Daten, über die sich ein Personenbezug herstellen lässt, sind als personenbezogene Daten anzusehen (Beispiel: Kfz-Kennzeichen, Telefonnummer, E-Mail-Adresse, Kontonummer, Rentenversicherungsnummer), selbst wenn die Zuordnungsinformationen nicht allgemein bekannt sind. Entscheidend ist allein, dass es gelingen kann, die Daten mit vertretbarem Aufwand einer bestimmten Person zuzuordnen. Bundesdatenschutzgesetz Das deutsche Bundesdatenschutzgesetz (BDSG) regelt zusammen mit den Datenschutzgesetzen der Bundesländer und anderen bereichsspezifischeren Regelungen den Umgang mit personenbezogenen Daten, die in IT-Systemen oder manuell verarbeitet werden. Ein wesentlicher Grundsatz des Gesetzes ist das so genannte Verbotsprinzip mit Erlaubnisvorbehalt. Dieses besagt, dass die Erhebung, Verarbeitung und Nutzung von personenbezogenen Daten im Prinzip verboten ist. Sie ist nur dann erlaubt, wenn entweder eine klare Rechtsgrundlage gegeben ist (das heißt, das Gesetz erlaubt die Datenverarbeitung in diesem Fall) oder wenn die betroffene Person ausdrücklich (meist schriftlich) ihre Zustimmung zur Erhebung, Verarbeitung und Nutzung gegeben hat. Besonders geschützt werden so genannte besondere Arten von Daten gemäß § 3 Abs. 9 BDSG, nämlich Daten über rassische und ethnische Herkunft, die politische Meinung, religiöse oder philosophische Überzeugungen, die Gewerkschaftszugehörigkeit, die Gesundheit und das Sexualleben. Rechte der Betroffenen Betroffene (natürliche Personen, über die Daten bei öffentlichen oder nicht-öffentlichen Stellen gespeichert sind), haben nach dem Bundesdatenschutzgesetz folgende unabdingbare Rechte: - Auskunft darüber, ob und welche personenbezogenen Daten über sie gespeichert sind - Auskunft darüber, aus welchen Quellen diese Daten stammen und zu welchem Verwendungszweck sie ge- speichert werden - Berichtigung von falschen personenbezogenen Daten - Übermittlung persönlicher Daten an Dritte zu untersagen - Löschung seiner Daten - Sperrung seiner Datensätze - Beschwerderecht bei der zuständigen Aufsichtsbehörde für den Datenschutz 22 Jeder Bundesbürger hat also ein Auskunftsrecht bezüglich der über ihn gespeicherten Daten sowie ein Recht auf Richtigstellung falscher Daten. Für die befragten Stellen ergibt sich eine Auskunftspflicht, von der jedoch Polizei und Geheimdienste ausgenommen sind. Die Auskunft ist von öffentlichen Stellen unentgeltlich zu erteilen (§ 19 Abs. 4 BDSG). Bei der Auskunftserteilung durch private Stellen kann unter Umständen ein Entgelt verlangt werden (§ 34 BDSG), allerdings muss der Betroffene darauf hingewiesen und ggf. eine kostenfreie Alternative angeboten werden. Gläserner Mensch Die Bezeichnung Gläserner Mensch wird als Metapher [griechisch - Übertragung, bei der ein Wort nicht in seiner wörtlichen Bedeutung, sondern in einer übertragenen Bedeutung gebraucht wird] des Datenschutzes verwendet, die für die als negativ empfundene angeblich vollständige „Durchleuchtung“ der Menschen und ihres Verhaltens durch einen überwachenden Staat steht. Die Verwender dieses Begriffes verweisen auf die zunehmende Überwachung der Menschen, neue technische Überwachungsmethoden sowie das steigende Interesse des Staates an Informationen über seine Bürger. Sie befürchten einen vollständigen Verlust der Privatsphäre und eine daraus resultierende Anpassung der Menschen an das vom Staat als normgerecht vorgegebene Verhalten. Der Begriff wird in verschiedenen abgewandelten Formen verwendet: Am gebräuchlichsten ist die Bezeichnung Gläserner Bürger. Im Zusammenhang mit der staatlichen Kontenabfrage, die durch das Gesetz zur Förderung der Steuerehrlichkeit ermöglicht wurde, wird vom Gläsernen Steuerzahler oder Gläsernen Bankkunden gesprochen. Verbraucherschützer warnen vor dem Gläsernen Kunden. Unternehmen benötigen Daten von potenziellen Kunden (Verbrauchern), um diese bewerben zu können und an sich zu binden. Je mehr Daten über eine Person vorliegen (z. B. Alter, Hobbys, Beruf), desto zielgerichteter kann ein Werbeangebot ausgerichtet werden. Zu diesem Zweck kaufen Unternehmen teilweise von anderen Unternehmen, die darauf spezialisiert sind, solche Daten zu sammeln, Datensätze an. Mit der Eröffnung der Möglichkeit zur Inverssuche durch die Novellierung des Telekommunikationsgesetzes ist es für solche Unternehmen noch einfacher geworden, an Daten zu kommen. Auch die Erstellung von Kundenprofilen dient der Ermöglichung zielgerichteter Werbung. Daneben können Unternehmen durch Kundenprofile einerseits Unternehmensabläufe optimieren und andererseits Kundenbindung betreiben (Payback, HappyDigits u. ä.). Cookies im Browser werden z. B. dafür verwendet, Benutzerprofile über das Surfverhalten eines Benutzers zu erstellen. Ein Online-Shop kann z. B. diese Daten mit dem Namen des Kunden verknüpfen und zielgruppenorientierte Werbemails schicken. Aufgaben V 1. Was sind personenbezogene Daten? 2. Was regelt das Bundesdatenschutzgesetz? 3. Welche Rechte haben Personen, deren Daten gespeichert wurden? 4. Was bedeutet „Gläserner Mensch“? 5. Schreibe weitere Beispiele für das Sammeln von Daten (Staat, private Unternehmen) auf. 6. Wie kann man sich vor der „Sammelwut“ des Staates und privater Unternehmen schützen? 7. Was ist Ziel des Datenschutzes? 23