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. SQLite 3.1 Optionen 3.2 Befehle
DATENBANKEN
SINN UND ZWECK Es werden enorme Mengen an Daten erzeugt Daten sammeln und speichern Einfachstes Beispiel: in der Warenwirtschaft Im Internet: Registrierung auf einer Website immer dort, wo es nötig ist, Daten permanent zu speichern, sollten Datenbanken verwendet werden
DEFINITION Ein elektronisches Verwaltungssystem, das große Datenmengen effizient, widerspruchsfrei und dauerhaft speichern soll Datenbanksystem bestehend aus: Datenbankverwaltungssystem (DBMS) Menge der zu verwaltenden Daten
Anforderungen: Redundanz vermeiden Integrität sicherstellen Mehrbenutzerbetrieb ermöglichen Sicherheit gewährleisten Datenverlust vermeiden
MODELLE Datenbankmodell als Grundlage für die Strukturierung der Daten und ihre Beziehungen Hierarchisch Netzwerkartig Objektorientiert Dokumentorientiert Eine Vielzahl an Misch- und Nebenformen wir konzentrieren uns auf relationale Datenbanken
RELATIONALES DATENBANKMODELL Grundlage ist die Relation Daten werden in Tabellen gesammelt Jede Zeile ist ein Datensatz Jede Spalte enthält die dazugehörigen Eigenschaften Verknüpfungen können über Primärschlüssel oder Fremdschlüssel hergestellt werden
Zeile enthält Datensatz Spalte enthält Attribute
SQL
DEFINITION Die Standardsprache für relationale Datenbanken ist Structured Query Language Erste Version erschien 1974 Eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten Wichtige Aufgabenbereiche: Datendefinition Datenmanipulation Datenabfrage
TABELLEN ERSTELLEN Oftmals werden die Tabellen selbst erstellt Tabellen sind aus Zeilen und Spalten aufgebaut Erstellen mit CREATE TABLE Verschiedene Typen: INT VARCHAR (N) DATE NOT NULL PRIMARY KEY
Syntax: CREATE TABLE <Name> ( <Name der Spalte> <Typ> ); Beispiel Studenten: CREATE TABLE Studenten ( Name VARCHAR (40) NOT NULL, MatrNr INT NOT NULL, Geburtsdatum DATE NOT NULL, Adresse VARCHAR (30) );
WEITERE BEFEHLE CREATE INDEX Indizes für Tabellen anlegen ALTER TABLE Struktur der Tabelle ändern DROP TABLE Tabelle entfernen
SQL DATENMANIPULATION
DATEN EINFÜGEN mit INSERT INTO und VALUES Syntax: INSERT INTO <Tabellenname> (<Spalte>) VALUES (, ); Beispiel Studenten: INSERT INTO Studenten (Name, MatrNr, Geburtsdatum, Adresse) VALUES ( Max Mustermann, 5835620, 01.06.1990, Musterstr.12 ), ( Julia Meier, 7032904, 18.04.1992 ) ;
DATEN AKTUALISIEREN Mit UPDATE WHERE ist notwendig, damit nicht alle Werte verändert werden Syntax: UPDATE <Tabellenname> SET <Spalte=Wert> WHERE <Spalte=WERT>;
UPDATE Studenten SET Adresse = Pollkamp 950 WHERE Adresse = Hochstr.56 ;
DATEN LÖSCHEN Mit DELETE FROM WHERE ist wichtig, sonst werden alle Einträge gelöscht Syntax: DELETE FROM <Tabellenname> WHERE Spalte=Wert; Beispiel Studenten: DELETE FROM Studenten WHERE MatrNr = 5835620;
SQL DATENABFRAGE
DATEN SELEKTIEREN Daten aus einer Spalte auswählen Mittels SELECT Syntax: SELECT <Spaltenname> FROM <Tabellenname>; SELECT <Spaltenname> FROM <Tabellenname> WHERE <Spaltenname = Wert>; SELECT <Spaltenname> FROM <Tabellenname> ORDER BY <Spaltenname> ASC DESC ; SELECT <Spaltenname> FROM <Tabellenname> LIMIT Nummer;
SELECT Name FROM Studenten; Max Mustermann, Julia Meier, Sonja Müller SELECT * FROM Studenten WHERE MatrNr = 5835620; Max Mustermann, 5835620, 01.06.1990, Musterstr. 12 SELECT Name FROM Studenten ORDER BY MatrNr ASC; Sonja Müller, Max Mustermann, Julia Meier
VERGABE VON SCHLÜSSELN In Datenbanken können Schlüssel vergeben werden konkrete Zugriffe auf die Daten können gemacht werden Es gibt Primärschlüssel und Fremdschlüssel Primärschlüssel identifizieren einzelne Zeilen eindeutig Fremdschlüssel dienen als Verknüpfung zwischen Daten
BEISPIEL Die beiden Tabellen sollen miteinander verbunden werden Primärschlüssel = KinoNr Fremdschlüssel = FilmNr
PRIMÄRSCHLÜSSEL Vergabe per PRIMARY KEY Syntax: CREATE TABLE Kino ( KinoNr INTEGER NOT NULL PRIMARY KEY, Name VARCHAR (30) NOT NULL, Ort VARCHAR (40) );
FREMDSCHLÜSSEL Werte sind abhängig vom Primärschlüssel Syntax: CREATE TABLE Film ( Name VARCHAR (40) NOT NULL, Genre VARCHAR (30), FilmNr INTEGER NOT NULL );
ABFRAGEN AUS MEHREREN TABELLEN (1) Daten aus mehreren Tabellen abfragen Dazu müssen zwei Tabellen zuerst miteinander verbunden werden mit JOIN Wichtig: Werte der Tabellen müssen übereinstimmen Syntax: <Tabelle1> JOIN <Tabelle2> ON <WERT> = <WERT> ;
Kino k JOIN Film f ON k.kinonr = f.filmnr ;
ABFRAGEN AUS MEHREREN TABELLEN (2) Nun kann eine Abfrage erfolgen Syntax: SELECT <Werte> ; Beispiel: SELECT f.name, k.ort ;
SQLITE
DEFINITION Ist eine Programmbibliothek, die ein relationales Datenbanksystem enthält vor allem für den Einsatz in eingebettete Datenbanksysteme Datenbank in ein Programm einbinden gesamte Datenbank befindet sich in einer einzigen Datei Befehle über Terminal ausführen
OPTIONEN - help - version - bail - html
BEFEHLE SQL Befehle über cmd ausführbar Datei über.open öffnen Datei neu erstellen
QUELLEN Alles über Datenbanken: http://www.datenbanken-verstehen.de/ http://de.wikipedia.org/wiki/datenbank http://mysql.lernenhoch2.de/lernen/mysql-einleitung/wofur-braucht-man-eine-datenbankmysql/ Alles zu SQL: http://www.1keydata.com/de/sql/ http://sql.lernenhoch2.de/lernen/ http://www.sql-und-xml.de/sql-tutorial/ http://www.w3schools.com/sql/ http://wikis.zum.de/zum/ph_heidelberg/didaktik_der_itg/datenbanken:_einfache_abfragen_in_sql http://glossar.hs-augsburg.de/sql_integrit%c3%a4tsregeln Skript aus Info N (WS 2013/2014) Mehr zu SQLite: http://www.sqlite.org/about.html http://de.wikipedia.org/wiki/sqlite
VIELEN DANK FÜR DIE AUFMERKSAMKEIT!