Daten verwalten mit einer relationalen Datenbank
|
|
- Ida Berg
- vor 6 Jahren
- Abrufe
Transkript
1 Verwaltung und Analyse digitaler Daten in der Wissenschaft Daten verwalten mit einer relationalen Datenbank Theorieteil Inhaltsverzeichnis 1 Herausforderung bei der Arbeit mit digitalen Daten 3 2 Grenzen von Datenlisten 3 3 Prinzip einer relationalen Datenbank Normalisierung einer Datenliste Beziehungstypen zwischen zwei Tabellen Die Datenbanksprache SQL Tabellen anlegen und Daten eingeben mit SQL Tabellen anlegen Daten einfügen Abfragen mit SQL Abfragen über eine einzelne Tabelle Abfragen über mehrere Tabellen Verknüpfung von Tabellen mit WHERE statt JOIN...ON Weitere SQL-Konstrukte Hinweise zum Vorgehen 15
2 Begriffe Datenliste Datenbank Tabellen Spaltenüberschriften Zeilen Beziehung Beziehungstyp Primärschlüssel Fremdschlüssel Normalisierung Tabellenschema Referentielle Integrität Redundanz Relationale Operatoren Logische Operatoren SQL Autoren: Markus Dahinden, Lukas Fässler, Oliver Probst, David Sichau Datum: 07 August 2017 Version: 2.0 Hash: a9ee87a Trotz sorgfältiger Arbeit schleichen sich manchmal Fehler ein. Die Autoren sind Ihnen für Anregungen und Hinweise dankbar! Dieses Material steht unter der Creative-Commons-Lizenz Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International. Um eine Kopie dieser Lizenz zu sehen, besuchen Sie 2
3 1 Herausforderung bei der Arbeit mit digitalen Daten Bei wissenschaftlichen Tätigkeiten werden grosse Mengen digitaler Daten erfasst, modifiziert, visualisiert und archiviert. Dabei ist es eine Herausforderung, die Daten so abzulegen, dass mehrere Personen gleichzeitig darauf zugreifen und die Daten flexibel und effizient weiterverarbeiten können. Bei der Speicherung von Daten sind in der Praxis zwei Systeme vorherrschend: Datenlisten und Datenbanken. 2 Grenzen von Datenlisten Vielleicht haben Sie schon grosse Datenlisten mit einer Tabellenkalkulation (wie z.b. Microsoft Excel oder LibreOffice Calc) bearbeitet und dabei festgestellt, dass diese ab einer gewissen Länge und Breite unübersichtlich werden. Darüber hinaus sind oft einzelne Einträge mehrfach ( redundant ) vorhanden, so dass Änderungen an vielen Orten vorgenommen werden müssen (z.b. mittels Suchen und Ersetzen ). Mit jedem redundanten Eintrag steigt nicht nur der Aufwand für die Datenverwaltung, sondern es wird auch unnötig Speicherplatz verbraucht und bei Manipulationen der Daten steigt das Risiko von Inkonsistenzen. Ein Beispiel einer Datenliste mit redundaten Daten sehen Sie in Tabelle 1. Lebensmittel Kategorie Inhaltsstoff Menge Apfel Obst Calcium (in mg) 5.02 Apfel Obst Fett (in g) 0.3 Birne Obst Calcium (in mg) 10 Birne Obst Fett (in g) 0.3 Poulet Geflügel Calcium (in mg) 14 Poulet Geflügel Fett (in g) 5.92 Tabelle 1: Viele Einträge dieser Nährwerttabelle sind redundant vorhanden. Die Schweizerische Nährwertdatenbank weist Lebensmittel und 105 Inhaltsstoffe auf. 1 Würde man diese Daten als Liste in obiger Form exportieren, bestünde die Tabelle aus mehr als 1.1 Millionen Zeilen. Eine solch grosse Anzahl Redundanzen verunmöglicht eine effiziente Arbeitsweise (stellen Sie sich vor, Sie müssten an Stellen in dieser Tabelle die Übersetzung einer Lebensmittelkategorie abändern). Einfacher und sicherer wäre es, wenn die verschiedenen Kategorien redundanzfrei in einer separaten Tabelle gespeichert wären und mittels Verweisen sichergestellt wäre, dass die Lebensmittel weiterhin die korrekte Kategorie aufweisen. Genau das erlauben Datenbanksysteme (auch Datenbankmanagementsystem DMS genannt)
4 3 Prinzip einer relationalen Datenbank Das Prinzip einer relationalen Datenbank ist die Aufteilung einzelner Datensätze in logische Einheiten (Tabellen). Tabellen besitzen Spalten mit Spaltenüberschriften (auch Attribute genannt) und eine beliebige Anzahl an Zeilen. Diese Aufteilung (Normalisierung) muss verlustfrei sein, das heisst, ein nachträgliches Zusammenführen aller Tabellen muss wieder zur ursprünglichen Datenliste führen. Damit dies funktioniert, werden Schüssel-Spalten verwendet. Man unterscheidet zwischen Primär- und Fremdschlüsseln. Ein Primärschlüssel bezeichnet eindeutig eine einzelne Zeile in einer Tabelle. Eine Voraussetzung dafür ist, dass jeder Wert des Primärschlüssels in dieser Tabelle nur einmal vorkommt und ein gelöschter Schlüssel niemals wieder verwendet wird. Ein Fremdschlüssel hingegen darf mehrfach in einer Tabelle vorkommen. Er wird immer dann verwendet, wenn zwei voneinander abhängige Daten in eigene Tabellen ausgelagert werden. Dabei bleibt der Primärschlüssel der einen Tabelle als Fremdschlüssel in der anderen Tabelle erhalten (siehe Tabelle 2). In der Praxis kann es auch vorkommen, dass sich ein Primärschlüssel aus mehreren Spalten zusammensetzt. Man spricht dabei von einem zusammengesetzten Primärschüssel (ein Beispiel sehen Sie im Abschnitt Beziehungstypen zwischen zwei Tabellen ). Klasse Familie Id Name ref_id Name 1 Vögel 1 Pinguine 2 Reptilien 1 Pelikane 3 Säugetiere 3 Kängurus 2 Alligatoren Klasse Vögel Vögel Säugetiere Reptilien Familie Pinguine Pelikane Kängurus Alligatoren Tabelle 2: Das Prinzip von Primär- und Fremdschlüssel illustriert am Beispiel der Systematik von Tieren. Gegeben sind zwei Tabellen Klasse und Familie. Id stellt einen Primär- und ref_id einen Fremdschlüssel dar. Auf der rechten Seite ist die ursprüngliche Datenliste abgebildet. Sie lässt sich mit Hilfe der Schlüssel-Spalten wiederherstellen. Id ist ein in relationalen Datenbanken weit verbreiteter Kurzbegriff für Identifikationsnummer. Diese ist, wie der Name vermuten lässt, meist ein Primärschlüssel. 3.1 Normalisierung einer Datenliste Bei der Aufteilung von Daten auf mehrere Tabellen gibt es verschiedene mögliche Lösungen. Meist sind jedoch nur wenige davon auch tatsächlich praktikabel und sinnvoll. Das Verfahren der Normalisierung hilft, eine solche Lösung zu finden. Es hier im Detail zu beschreiben, würde den Rahmen dieses Theorieteils sprengen. Im Grundsatz lässt sich jedoch festhalten, dass die Normalisierung in zwei Schritten geschieht: Zunächst 4
5 wird die Datenliste in eine atomare Form gebracht, wobei zusammengesetzte Einträge in separate Zeilen getrennt werden. Anschliessend werden die redundant gespeicherten Daten in separate Relationen verschoben, so dass sie entfernt werden können. Unsere Nährwertdatenliste in Tabelle 1 liegt bereits in atomarer Form vor (Normalform 1, 1NF). In Tabelle 3 sehen Sie ein Beispiel einer nicht atomaren Datenliste. Lebensmittel Kategorie Inhaltsstoff Menge Apfel Obst Calcium (in mg) 5.02 Apfel, Birne Obst Fett (in g) 0.3 Birne Obst Calcium (in mg) 10 Poulet Geflügel Calcium (in mg) 14 Poulet Geflügel Fett (in g) 5.92 Tabelle 3: Der erste Schritt der Normalisierung ist noch nicht gemacht: die Werte der zweiten Zeile liegen nicht in atomarer Form vor und müssen zu zwei Zeilen erweitert werden (vergleiche Tabelle 1). Der zweite Normalisierungsschritt (2NF und 3NF) hat zum Ziel, die Daten in logische Gruppen aufzuteilen, um Redudanzen zu reduzieren. Dabei werden die Gruppen so gewählt, dass in jeder Datenliste alle Nicht-Schlüssel-Spalten von Schüssel-Spalten direkt abhängig sind. In der Umsetzung heisst das, dass jede Datenliste mindestens eine Schlüssel-Spalte braucht (Primär- oder Fremdschlüssel) und dass man vom Schlüssel eindeutig auf die ganze Zeile schliessen kann. Unsere Nährwert-Datenliste beinhaltet vier logische Gruppen: Lebensmittel, Kategorie, Inhalt und Menge. Die fertig normalisierten und in eine Tabelle übertragenen Daten sind in Tabelle 4 abgebildet. 3.2 Beziehungstypen zwischen zwei Tabellen In einer relationalen Datenbank unterscheidet man drei Beziehungstypen: 1:1, 1:N und N:M. 2 Die Zahl 1 deutet darauf hin, dass in der entsprechenden Tabelle nur genau ein Eintrag mit diesem Wert vorhanden ist (Primärschlüssel). Der Bezeichner N bedeutet hingegen, dass mehrere Zeilen mit dem gleichen Wert in der Tabelle vorhanden sein können (Fremdschlüssel). 3 Es gilt zu beachten, dass N:M -Beziehungen in relationalen Datenbanken nicht direkt, sondern nur mittels einer Zwischentabelle, die zwei 1 : N -Beziehungen herstellt, erstellt werden können. In Tabelle 4 stellt beispielsweise die Tabelle Menge eine Zwischentabelle dar: Ein Nahrungsmittel hat viele Inhaltsstoffe und 2 Eigentlich gibt es noch den N:1-Beziehungstyp, dies entspricht jedoch dem 1:N-Beziehungstyp umgekehrt zu gelesen. 3 Manchmal wird anstelle von N das Symbol oder auch M verwendet. 5
6 Lebensmittel Id Name Kategorie_Id 1 Apfel 1 2 Birne 1 3 Poulet 2 Kategorie Id Name 1 Obst 2 Geflügel Inhaltsstoff Id Name 1 Calcium (in mg) 2 Fett (in g) Lebensmittel_Inhaltsstoff Inhaltsstoff_Id Lebensmittel_Id Menge Tabelle 4: Die fertig normalisierten Nährwerttabellen. Alle logischen Gruppen sind in eigene Tabellen ausgelagert. Der Schüssel, von dem eine Spalte abhängig ist, wird Primärschlüssel in der neuen Tabelle (z.b. Id in der Tabelle Kategorie). In der Tabelle Lebensmittel_Inhaltsstoff gibt es keinen einzelnen Primärschüssel, stattdessen bilden die Spalten Inhaltsstoff_Id und Lebensmittel_Id einen zusammengesetzten Primärschüssel. 6
7 ein Inhaltsstoff kommt in vielen Nahrungsmitteln vor (1:N und N:1 N:M ). Die Beziehungstypen sind dann von Bedeutung, wenn wir Abfragen definieren, in denen Daten aus verschiedenen Tabellen zusammengeführt werden sollen. 4 Die Datenbanksprache SQL Um Tabellen in einer relationalen Datenbank zu erstellen oder Daten abzuspeichern respektive auszulesen, kommen Datenbanksprachen zum Einsatz. Dabei handelt es sich um klar strukturierte Textanweisungen, die sowohl für Computer als auch für Menschen verständlich sind. Die verbreitetste Abfragesprache für relationale Datenbanken ist SQL (Structured Query Language). Um mit Hilfe von SQL eine relationale Datenbank aufbauen zu können, benötigen Sie ein relationales Datenbanksystem. Dieses ist in der Lage, eine relationale Datenbank zu verwalten. Das System kann SQL-Befehl annehmen und verarbeiten. Neben der Verarbeitung von SQL hat das System noch weitere Aufgaben, wie zum Beispiel die Koordinierung gleichzeitiger Zugriffe von mehreren Benutzern. In diesem Modul werden Sie mit dem Programm DB Browser for SQLite und einer SQLite-Datenbank arbeiten. Das Programm DB Browser for SQLite stellt das Datenbankmanagementsystem dar, die relationale SQLite-Datenbank liegt in Form einer Datei vor. DB Browser for SQLite verfügt über eine grafische Oberfläche, um die Datenbank zu verwalten. Dies ist nicht für jedes Datenbanksystem gegeben. Jedoch verfügen relationale Datenbanksysteme über eine Möglichkeit, SQL-Befehle entgegenzunehmen. 4.1 Tabellen anlegen und Daten eingeben mit SQL Mit SQL können Nutzer Befehle formulieren, um eine Datenliste in eine relationale Datenbank zu übertragen. Viele Datenbanksysteme (wie zum Beispiel DB Browser for SQLite) bieten für diese Aufgabe auch einen grafischen Assistenten an. Sie werden in diesem Modul beide Möglichkeiten kennenlernen. Unabhängig von der gewählten Technologie muss zunächst die Tabellenstruktur definiert werden. Man spricht dabei vom Tabellenschema. Anschliessend können in die Tabelle Daten eingefügt werden Tabellen anlegen Für die Tabelle Klasse aus Tabelle 2 sieht das Tabellenschema in SQL wie folgt aus: CREATE TABLE Klasse ( Id INTEGER, Name TEXT, PRIMARY KEY(Id) ); 7
8 Mit dem Befehl CREATE TABLE wird zunächst der Tabellenname definiert. Im Beispiel ist dies Klasse. Anschliessend folgen zwei Zeilen, in denen je eine Spalte der Tabelle definiert wird. Eine Spaltendefinition besteht immer aus einem Spaltennamen und einem Datentyp. Der Datentyp bestimmt, welche Kategorie von Werten in der Spalte gespeichert werden darf. In der Spalte Id sollen nur Ganzzahlen gespeichert werden, deshalb wurde der Datentyp INTEGER (engl. Ganzzahl) verwendet. Die zweite Spalte verwendet den Datentyp TEXT, welcher es erlaubt, beliebigen Text einzufügen. Die letzte Zeile definiert den Primärschlüssel. Die Spalte Id wird als Primärschlüssel ausgewählt Daten einfügen Nachdem die Tabellenstruktur definiert und der entsprechende Befehl ausgeführt wurde, legt das Datenbanksystem die Tabellenstruktur in der relationalen Datenbank an. Es sind jedoch noch keine Daten in der Tabelle vorhanden. Mit folgendem SQL-Befehl können Sie eine Zeile in die Tabelle Klasse einfügen: INSERT INTO Klasse (Id, Name) VALUES (1, Vogel ); Zunächst muss der Name der Tabelle angegeben werden, in welcher die Zeile eingefügt werden soll. Anschliessend folgen die Spaltennamen der Tabelle. Im letzten Teil folgen die eigentlichen Werte der Zeile. Hierbei ist zu beachten, dass die Reihenfolge mit der Angabe der Spaltennamen übereinstimmen muss: Der erste Wert, im Beispiel 1, wird in die Spalte Id eingefügt, der zweite Wert, 'Vogel', wird in die Spalte Name eingefügt. Der Datentyp muss dabei übereinstimmen. Für Text müssen die einfachen Anführungszeichen verwendet werden. 4.2 Abfragen mit SQL Mit SQL können Nutzer Abfragen formulieren, wobei mittels relationalen und logischen Operatoren die gewünschten Zeilen gefiltert werden können. Eine Auflistung dieser Operatoren finden Sie in den Tabellen 5 und 6. Das Ergebnis einer relationalen Operation ist entweder true oder false, ebenso wie deren Verknüpfung mittels logischer Operatoren. SQL kann sowohl für Abfragen über eine einzelne Tabelle (nächster Abschnitt), als auch für Abfragen über mehrere durch Schlüssel-Spalten verknüpfte Tabellen verwendet werden (übernächster Abschnitt). Wichtig: Voraussetzung für eine erfolgreiche Abfrage ist die genaue Kenntnis der Datenbankstruktur ( Was sind die Schlüssel-Spalten?, Wie sind die Tabellen miteinander verknüpft? etc.). 8
9 Operator Beschreibung Beispiel Wert (wenn Id=4) > grösser als Id > 5 false < kleiner als Id < 10 true <> ungleich Id <> 0 true >= grösser oder gleich Id >= 4 true <= kleiner oder gleich Id <= 4 true Tabelle 5: Die häufigsten relationalen Operatoren, die in SQL-Abfragen Verwendung finden. Operator Beschreibung Beispiel Wert (wenn Id=4) AND logische UND-Verknüfpung Id > 5 AND Id < 10 false OR logische ODER-Verknüpfung Id > 5 OR Id < 10 true NOT logische NOT-Verknüpfung NOT Id > 5 true Tabelle 6: Die häufigsten logischen Operatoren, die in SQL-Abfragen Verwendung finden Abfragen über eine einzelne Tabelle Tabelle 7 zeigt ein Beispiel einer relationalen Datenbanktabelle Ablageort zur Erfassung von Farbe und Ablageort eines Objekts. Ablageort Nummer Farbe Ablage 1 blau Kiste 1 2 grün Kiste 2 3 rot Kiste 2 4 braun Kiste 3 Tabelle 7: Hier abgebildet ist die Tabelle Ablageort einer Datenbank, in der die Ablageorte von Objekten gespeichert sind. Die Spalte Nummer ist Primärschlüssel dieser Tabelle. Meist werden SQL-Abfragen, wie auch in diesem Modul, von Hand geschrieben. Einige Datenbankmanagementsysteme (wie z.b. Microsoft Access) bieten jedoch auch grafische Assistenten an, welche für einfache Abfragen ausreichend sind und im Hintergrund SQL- Code generieren. Abbildung 1 zeigt einen solchen Assistenten und den generierten SQL- Code. Rechts ist das Resultat der Abfrage abgebildet. Die Fragestellung lautet: Welche 9
10 Farbe haben die Objekte in Kiste 1? Abbildung 1: Beispiel eines Datenbankmanagementsystems mit grafischem Assistenten zur Eingabe von SQL-Code. Die SQL-Abfragen enthalten folgende drei Grundelemente: Die SELECT-Anweisung gibt die Spalten an, die im Resultat angezeigt werden sollen, die FROM-Anweisung gibt die Tabelle an, aus der die Daten bezogen werden sollen, mittels der optionalen WHERE-Anweisung kann das Resultat auf ausgewählte Zeilen eingeschränkt werden. Beispiel: SELECT Nummer FROM Ablageort WHERE Farbe = rot ; Resultat: Nummer 3 Wie Sie sehen, muss die im WHERE verwendete Spalte nicht zwingend auch im SELECT aufgeführt werden. 10
11 4.2.2 Abfragen über mehrere Tabellen Im folgenden Abschnitt wollen wir uns darauf konzentrieren, wie man Tabellen mit SQL verknüpft. Wir haben oben erfahren, dass die Stärke von relationalen Datenbanksystemen das Aufteilen grosser Tabellen ist. Um nun an Informationen zu gelangen, die sich über zwei oder mehr Tabellen erstrecken, muss die Verknüpfung in der SQL-Abfrage abgebildet werden. Dies wird mit der JOIN- oder der WHERE-Anweisung realisiert. Wir wollen diesen Vorgang nun schrittweise anhand eines Beispiels erläutern. Vorerst betrachten wir die Verknüpfung mittels JOIN, jene mit WHERE ist weiter unten beschrieben. Gegeben sind zwei Tabellen Lml (steht für Lebensmittel) und Kat (steht für Kategorie), die in einer 1:N -Beziehung stehen (siehe Tabelle 8): Lml (Lebensmittel) Kat (Kategorie) Id Name Kat_Id Id Name 1 Apfel 2 1 Gemüse 2 Banane 2 2 Obst 3 Blumenkohl 1 Tabelle 8: In der Tabelle Lml ist Id ein Primär- und kat_id ein Fremdschlüssel. Letzterer referenziert den Primärschlüssel Id in der Tabelle Kat. Beide Tabellen sind im Datenbanksystem abgespeichert und haben je mindestens eine Schlüssel-Spalte. Eine mögliche Verknüpfung dieser Tabellen sieht in SQL so aus: SELECT * FROM Lml JOIN Kat ON Lml.Kat_Id = Kat.Id; Beachten Sie, dass mit dem Wildcard -Zeichen (*) alle Spalten beider Tabellen ausgegeben werden. Um die Funktionsweise dieser Anweisungen zu verstehen, wollen wir die Abfrage schrittweise betrachten. Wir schauen uns erst den eigentlichen JOIN an: Lml JOIN Kat Dieser Befehl lässt das Datenbanksystem eine temporäre Tabelle erstellen, die aus dem Kreuzprodukt der Tabellen Lml und Kat besteht (siehe Tabelle 9). 4 Kreuzprodukt bedeutet, dass jede Zeile der Tabelle Lml mit jeder Zeile der Tabelle Kat verbunden wird. Tabelle 9 hat also 5 Spalten (drei aus der Tabelle Lml und zwei aus der Tabelle Kat) und 3 2 = 6 Zeilen (Anzahl Zeilen aus Lml Anzahl Zeilen aus Kat). Die Tabelle beinhaltet viele Einträge, die semantisch keinen Sinn ergeben. Dennoch ist sie das Beste, was das Datenbanksystem aus der Information Lml JOIN Kat machen 4 Die temporäre Tabelle wird nur im Arbeitsspeicher zwischengespeichert. Sobald die komplette Anweisung SELECT...FROM... abgearbeitet ist, wird die Tabelle wieder aus dem Arbeitsspeicher entfernt. 11
12 Temporäre Tabelle Lml.Id Lml.Name Lml.Kat_Id Kat.Id Kat.Name 1 Apfel 2 1 Gemüse 1 Apfel 2 2 Obst 2 Banane 2 1 Gemüse 2 Banane 2 2 Obst 3 Blumenkohl 1 1 Gemüse 3 Blumenkohl 1 2 Obst Tabelle 9: Ergebnis der JOIN-Anweisung. kann: Nämlich, jede Zeile der einen Tabelle mit jeder Zeile der anderen Tabelle zu verbinden (Kreuzprodukt). Wollen wir eine an die Bedeutung der Tabellen angepasste Verknüpfung erreichen, so müssen wir dem Datenbanksystem mehr Informationen zur Verfügung stellen. Dies geschieht über die ON-Anweisung: Lml JOIN Kat ON Lml.Kat_Id = Kat.Id Mit diesem Befehl ist das Datenbanksystem in der Lage, die korrekte Tabelle zu liefern: Nach dem Erstellen der Tabelle 9 wird diese Zeile für Zeile durchlaufen, und alle Einträge, die die Bedingung Lml.Kat_Id = Kat.Id nicht erfüllen, werden entfernt. Daraus ergibt sich die gewollte, sinnvoll verknüpfte Tabelle 10. Temporäre Tabelle Lml.Id Lml.Name Lml.Kat_Id Kat.Id Kat.Name 1 Apfel 2 2 Obst 2 Banane 2 2 Obst 3 Blumenkohl 1 1 Gemüse Tabelle 10: Ergebnis der JOIN-Anweisung. Wie wir oben angemerkt haben, existiert die resultierende Tabelle nur temporär im Arbeitsspeicher und auch nur solange, wie das Datenbanksystem sie braucht. Das heisst, wenn wir dem Datenbanksystem nur den Befehl Lml JOIN Kat ON Lml.Kat_Id = Kat.Id geben, dann wird Tabelle 10 im Arbeitsspeicher erstellt, aber direkt danach wieder gelöscht: Wir befehlen dem Datenbanksystem sozusagen nur das Erstellen der Tabelle. Sie wird aber nicht auf dem Bildschirm ausgegeben. Damit ergibt der obige Befehl so keinen 12
13 Sinn. Was wir eigentlich möchten, ist eine Abfrage der Tabelle. Wir wissen, dass Spalten einer Tabelle mittels der SELECT-Anweisung abgefragt werden können. Verbinden wir also jetzt die SELECT-Anweisung mit dem obigen Befehl, erhalten wir: SELECT * FROM Lml JOIN Kat ON Lml.Kat_Id = Kat.Id; Der Teil innerhalb der FROM-Anweisung erstellt die Tabelle im Arbeitsspeicher. Die SELECT-Anweisung angewandt auf diese Tabelle gibt den Inhalt auf dem Bildschirm aus. Wir verstehen jetzt also vollständig die Bedeutung unserer SQL-Abfrage. Erweiterungen der SELECT-Anweisungen sind natürlich möglich, wie zum Beispiel die Auswahl von bestimmten auszugebenen Spalten: SELECT Lml.Name, Kat.Name FROM Lml JOIN Kat ON Lml.Kat_Id = Kat.Id; Durch entsprechende Modifikation des SELECT-Befehls kann eine Untermenge aller Spalten abgefragt werden. Wie oben beschrieben, wird auch hier erst die temporäre Tabelle erstellt, aber dann werden nur die Spalten Lml.Name und Kat.Name ausgegeben (Tabelle 11). Temporäre Tabelle Lml.Name Apfel Banane Blumenkohl Kat.Name Obst Obst Gemüse Tabelle 11: Ergebnis der JOIN...ON-Anweisung mit SELECT und WHERE. Eine ebenfalls sehr häufig benutzte Funktion von SQL ist wie bereits erwähnt, die Limitierung der Ausgabe auf gewisse Zeilen. Dazu benutzt man die WHERE-Anweisung: SELECT Lml.Name, Kat.Name FROM Lml JOIN Kat ON Lml.Kat_Id = Kat.Id WHERE Kat.Id = 2; Diese Abfrage liefert Tabelle Verknüpfung von Tabellen mit WHERE statt JOIN...ON Statt des JOIN...ON kann auch die WHERE-Anweisung genutzt werden, um die Verknüpfung der Tabellen abzubilden. Aus Gründen der Lesbarkeit empfiehlt es sich aber, die Tabellen mittels JOIN...ON zu verknüpfen. Folgende SQL-Abfragen liefern exakt das gleiche Ergebnis: 13
14 Temporäre Tabelle Lml.Name Kat.Name Apfel Obst Banane Obst Tabelle 12: Ergebnis der JOIN...ON-Anweisung mit SELECT und WHERE. SELECT * FROM Lml JOIN Kat ON Lml.kat_Id = Kat.Id WHERE Kat.Id = 2; SELECT * FROM Lml, Kat WHERE Lml.Kat_Id = Kat.Id AND Kat.Id = 2; Weitere SQL-Konstrukte Wie Sie bisher gesehen haben, kann SQL dazu verwendet werden, die gewünschten Zeilen aus einer Datenbank auszulesen. Hierbei können auch Wildcard-Zeichen in Kombination mit LIKE in der WHERE-Anweisung verwendet werden. Das Prozent-Zeichen (%) steht für 0 bis viele beliebige Zeichen. Beispiel: Abfrage: Welche Nahrungsmittel haben ein n im Namen? SELECT Lml.Bezeichung FROM Lml WHERE Lml.Bezeichnung LIKE %n% ; Resultat: Lml.Bezeichnung Banane Blumenkohl Mittels der AS-Anweisung kann die Anzeige der Spaltenüberschriften festgelegt werden. Zudem kann die Funktion COUNT benutzt werden, um die Anzahl der gefundenen Datensätze zu bestimmen und auszugeben: 14
15 Beispiel: Namen? Abfrage: Wie viele Nahrungsmittel haben ein l als letzten Buchstaben im SELECT COUNT(Lml.Bezeichung) AS Anzahl_Lebensmittel FROM Lml WHERE Lml.Bezeichnung LIKE %l ; Resultat: Anzahl_Lebensmittel 2 SQL kann aber auch dazu verwendet werden, bestehende Zeilen zu verändern oder zu löschen. Statt mit SELECT beginnen diese SQL-Befehle mit UPDATE, DELETE oder INSERT. Diese SQL-Anweisungen sind jedoch nicht Inhalt dieses Moduls. 5 Hinweise zum Vorgehen Was gehört zu diesem Modul und was nicht? Das Erstellen einer sinnvollen Datenbank erfordert viel Wissen und Praxiserfahrung. Erwarten Sie deshalb nicht, dass Sie bereits nach diesem Kurs zum Datenbank-Experten werden. Der Einsatz von DB Browser for SQLite mit einer grafischen Oberfläche als Beispiel eines Datenbanksystems hat den Vorteil, dass Sie auch ohne Programmierkenntnisse an Probleme beim Erstellen und im Umgang mit Datenbanken herangeführt werden. Sie werden Schritt für Schritt eine Datenliste überführen und somit gewissermassen durch die Normalisierung der Datenliste geleitet. Anschliessend setzen Sie SQL ein, um Tabellen zu erstellen, Daten einzufügen und Abfragen durchzuführen. 15
Praxismodul. Daten verwalten mit einer relationalen Datenbank
Departement Informatik Praxismodul Daten verwalten mit einer relationalen Datenbank Copyright 1996-2013 Departement Informatik, ETH Zürich. Gruppe Informationstechnologie und Ausbildung Prof. Dr. Juraj
MehrDATENBANKEN 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.
MehrDatumsangaben, 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
MehrIn 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
MehrSQL 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
MehrInstitut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 5. Daten verwalten Teil 2 mit MS Access
Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 5 Daten verwalten Teil 2 mit MS Access Praxis 5 Daten verwalten (2) 2 Institut für Computational Science, ETH Zürich, 1996-2005
Mehr1. 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
MehrEinfü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
MehrAccess 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,
MehrRelationale 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
MehrARIS II - Modellierungsmethoden, Metamodelle und Anwendungen
ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren
MehrSQL 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-
MehrDatenbanken 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,
MehrSructred 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
MehrCarl-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,
Mehr4. Datenabfrage mit QBE 11
Informationsbestände analysieren Datenabfrage mit QBE 4. Datenabfrage mit QBE 11 4.1. QBE vs. SQL Relationale Datenbanken haben schon früh den Anspruch gestellt, auch für Nicht- Informatiker nutzbar zu
MehrInformatik 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
MehrInhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
MehrVielen 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
MehrEine 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
MehrLabor 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.
MehrInhaltsverzeichnis. 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
MehrDatenbanken 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
MehrDatenbanktechnologie 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
MehrIV. 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.
MehrEin 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
MehrEinfü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
Mehr7. Ü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
MehrMengenvergleiche: 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
MehrArbeiten 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
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrUnterabfragen (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
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrÜbung 1: Ein Website News-System mit MySQL
Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in
MehrInformatik Datenbanken SQL-Einführung
Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................
MehrEinfü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
Mehr2 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
MehrSQL. 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
MehrUni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr
Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale
MehrAufbau 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
MehrSQL-Befehlsliste. Vereinbarung über die Schreibweise
Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile
MehrSQL 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
MehrAufgaben 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
MehrDie SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:
Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine
Mehr105.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
MehrDatenbanken. 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)
Mehr2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13
Vorbemerkungen 1 Werner Geers Berufliche Informatik ISBN:978-3-427-60080-0 Bestellnr.:60080 Zusatzinformationen 1 ARBEITEN MIT XERDI 2 1.1 Vorbemerkungen 2 2 Download und Installation des Programms 3 2.1
MehrBesonders für den Anfänger empfiehlt sich folgende Vorgehensweise für die Erstellung von Manipulationsabfragen:
Manipulationsabfragen Datenbanksysteme 6 Manipulationsabfragen Lerninhalte Tabellenerstellungsabfragen Löschabfragen Anfügeabfragen Aktualisierungsabfragen Lerninhalte Mit den Datenbanksprachen SQL und
MehrDatenbank - 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
MehrSQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )
Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen
MehrXAMPP-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.
MehrViews 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
MehrU8: SQL Datenbank Daniel Baron 1
U8: SQL Datenbank Daniel Baron 1 Allgemein Eine SQL Datenbank ist eine meist serverseitige Software, die Daten speichern und verwalten kann. Dabei werden diese Daten in Tabellen abgelegt und indiziert.
Mehr2 Grundlagen in MySQL und phpmyadmin
Kapitel 2 Grundlagen in MySQL und phpmyadmin Seite 1/22 2 Grundlagen in MySQL und phpmyadmin Bemerkung: Da die Schüler der 9. Jahrgangsstufe sich mit Datenbanken und Datenbankabfragen beschäftigt haben,
MehrVerwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite.
Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite. Was tun, wenn man als Entwickler eine Datenbank einsetzen will, aber keine SQL-Datenbank installieren
MehrErstellen einer Datenbank. Datenbankabfragen
Erstellen einer Datenbank Datenbankabfragen Überblick Die fünf Stationen Semantisches Modell Logisches Modell Prüfung auf Redundanz Abfragen Softwaremäßige Implementierung Zur Erinnerung: Semantisches
MehrDatenbanken. Dateien und Datenbanken:
Dateien und Datenbanken: Professionelle Anwendungen benötigen dauerhaft verfügbare, persistent gespeicherte Daten. Datenbank-Systeme bieten die Möglichkeit, Daten persistent zu speichern. Wesentliche Aspekte
MehrDetails 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
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrWhitepaper. Produkt: combit Relationship Manager 6. Import von Adressen nach Firmen und Kontakte. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 6 Import von Adressen nach Firmen und Kontakte Import von Adressen nach Firmen und Kontakte - 2 - Inhalt Ausgangssituation
MehrBegleitskript. zum PHP/MySQL. Kurs
Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 SQLite als Datenbank-Managementsystem (DBMS) wenige 100 KB schlanke Programmbibliothek Aktuelle Version: 3.8.1 Für die
MehrANLEITUNG VSGIS.CH. Erweiterter geschützter Bereich
ANLEITUNG VSGIS.CH Erweiterter geschützter Bereich Rue de la Métralie 26 Autor: NS 3960 Sierre Mandat: 0933 Tel. 027 / 455 91 31 Version: 2.3 01.09.2014 info@rudaz.ch KURZANLEITUNG Der Zugang zum WebGIS
MehrVorlesung 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
MehrGrundkonzepte von SQL
Internet Praktikum im Grundstudium: Grundlagen von SQL Nutzung von phpmyadmin Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Grundkonzepte von SQL Relationale Datenbanken basieren auf Tabellen Objektorientierte
MehrEinführung Datenbank
Einführung Datenbank Einführung Datenbank Seite 2 Einführung in die Arbeit mit einer Datenbank Grundbegriffe: Datenbank - Datenbankmanagementsystem Eine Datenbank ist eine systematische strukturierte Sammlung
MehrAuswertung der Workload-Befragung mit MS ACCESS
Auswertung der Workload-Befragung mit MS ACCESS Inhaltsverzeichnis 1. Aufbereitung der Daten... 2 1.1. Herstellung der Textfiles... 2 1.2. Import der Textdateien... 3 1.3. Verbindungen erstellen... 8 2.
MehrAls logisches Datenmodell wird hier das Relationenmodell vorgestellt, das heute den Standard für relationale Datenbanken darstellt.
Das Relationenmodell Logische Datenmodell Das Entity Relation Modell wird in ein logisches Datenmodell umgesetzt. Welches logische Datenmodell gewählt wird, hängt von dem verwendeten Datenbanksystem ab.
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrRelationale 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
MehrOM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation
1 Inhalt: Relationale Datenbanken 8.1 Was ist ein Datenbanksystem? 8.2 Relationale Datenbanksysteme 8.3 Abbildung des objektorientierten Modells auf Tabellen 2 8.1 Was ist ein Datenbanksystem? Motivation
MehrDatenbanken: Datenintegrität. www.informatikzentrale.de
Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten
MehrHilfe zur Dokumentenverwaltung
Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente
MehrMini-Workshop Relationale Datenbanken und SQL
SFB441 Linguistische Datenstrukturen Mini-Workshop Relationale Datenbanken und SQL Dirk Wiebel 14.07.2003 1.1 Der Begriff Datenbank "Eine Datenbank ist eine Sammlung von nicht-redundanten Daten, die von
Mehr5.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
MehrEinfü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
MehrEin Ausflug zu ACCESS
Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet
Mehr(Von der Nähe zur Distanz zum User geordnet)
Datebanken Was ist eigentlich eine Datenbank? Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche. Datenbanken kann
MehrACCESS das Datenbankprogramm. (Aufbau) DI (FH) Levent Öztürk
ACCESS das Datenbankprogramm Vom Microsoft (Aufbau) DI (FH) Levent Öztürk Inhalt Projektentwicklung Planung einer Datenbank Implementierung einer Datenbank Testen der Datenbank Formulare Berichte SQL-Abfragen
Mehr1 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
MehrKapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023
Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten
MehrDatenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
MehrEinführung Datenbanken: Normalisierung
Einführung Datenbanken: Normalisierung Für die Kursverwaltung einer VHS hat der Datenbank-Programmierer ein ER-Modell entworfen: Entitätstyp Entitäten Attribute Attributsausprägungen Kurse Teilnehmer Dozenten
MehrArbeiten 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
MehrWhitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Integration der Ansicht "Adressen" in eigene Solution Integration der Ansicht "Adressen" in
MehrSemantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
MehrInhalt. 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
MehrTimeSafe 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
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrStructured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken
Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data
MehrIm Fall einer Personaldatenbank würde eine Relation beispielsweise wie folgt aussehen:
Grundwissen zu relationalen Datenbanken Die Funktion einer relationalen Dankbank besteht in der elektronischen Verwaltung von Daten in Computersystemen. Die Basis für relationale Datenbanken bildet das
MehrDie 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
Mehr5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten
5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL
MehrPHP + 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
MehrDatenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung
Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen
MehrDBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt
DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller
MehrEinfü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.
MehrVorlesung 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