Präsentation SQL Basic Schulung

Werbung
SQL Basics Schulung
05.12.2016 – 07.12.2016
• Vorstellungsrunde
• Organisatorisches
• Agenda
Einführung
Organisatorisches
Mo, 05.12.16:
Di, 08.12.16:
Mi, 07.12.16:
09:00 – ca. 16:00
08:30 – ca. 16:00
08:30 – ca. 15:00
Mittagspause von 12:30 bis 13:30
SQL Basics Schulung - Einführung
Agenda
1. Grundlagen Datenbanken
2. Vorstellung der Schulungsdatenbank
3. Einfache Abfragen erstellen
4. Mehrere Tabellen abfragen (Joins)
5. Gruppierungen und Aggregationen
6. Verschiedenes (DDL, DML, Unterabfragen, Mengenoperationen)
7. Wahlbereich
a) Üben der Grundlagen an Beispielen
b) Unterabfragen
c) Tabellen anlegen (DDL) und befüllen (DML)
SQL Basics Schulung - Einführung
• Was ist eigentlich eine Datenbank?
• Beziehungen
• Normalformen
• Transaktionen
Grundlagen
Datenbanken
Begrifflichkeiten 1/2
• Eine Tabelle beinhaltet Spalten und Zeilen
• Mehrere Tabellen gehören zu einer Datenbank (zu einem
bestimmten Thema)
SQL Basics Schulung – Grundlagen Datenbanken
Begrifflichkeiten 2/2
• Ein Datenbankmanagementsystem (DBMS) verwaltet die
Datenbanken.
• Zum lesenden Zugriff auf Daten gibt es die Structured Query
Language (SQL)
• Zur Erstellung und Veränderung der Daten gibt es noch die
Data Definition Language (DDL) und Data Manipulation
Language (DML)
SQL Basics Schulung – Grundlagen Datenbanken
Beziehungen 1/2
• Stellt Zusammenhänge zwischen Tabellen dar
• Es gibt verschiedene Typen:
• 1:1 Beziehung
• 1:n Beziehung
• N:m Beziehung
• Es gibt auch Kann-Beziehungen (0:1, 0:n)
• N:m Beziehungen können in rel. Datenbanken nicht direkt umgesetzt werden.
 Zwischentabelle
• Beziehungen werden in einem Entity-Relationship-Diagramm dargestellt
SQL Basics Schulung – Grundlagen Datenbanken
Beziehungen 2/2
• Def.: Schlüssel kennzeichnen einen Satz eindeutig.
• Es gibt dabei Primär- und Fremdschlüssel
SQL Basics Schulung – Grundlagen Datenbanken
Normalformen
• Ziel: Daten sollen redundanzfrei, eindeutig und in sich konsistent sein
• Normalformen sind Regeln, wie Daten in Tabellen abgelegt sein sollen und beseitigen
verschiedene Anomalien
• Es gibt insgesamt 5 verschiedene Normalformen, 3 werden in der Praxis verwendet
• Video Normalformen: https://www.youtube.com/watch?v=ktZ-W7BzqvE
SQL Basics Schulung – Grundlagen Datenbanken
Normalformen - Ausgangslage
• Daten sind so nur schwer auswertbar
SQL Basics Schulung – Grundlagen Datenbanken
Normalformen - 1. Normalform
• Def.: keine Wiederholungsgruppen innerhalb der
Tabelle und jedes Attribut ist Atomar (d.h. nicht weiter
aufteilbar)
• Dadurch werden Daten überhaupt erst vernünftig
auswertbar
SQL Basics Schulung – Grundlagen Datenbanken
Normalformen - 2. Normalform
• Def.: 1. NF + jedes Nicht-Schlüsselfeld hängt vom gesamten Primärschlüssel ab
und nicht nur von Teilen.
• dadurch ist sichergestellt, dass nur zusammengehörige Daten in der Tabelle
sind und es werden Redundanzen vermieden
SQL Basics Schulung – Grundlagen Datenbanken
Normalformen - 3. Normalform 1/2
• Def.: 2. NF + Nicht-Schlüsselfelder dürfen nicht von anderen NichtSchlüsselfeldern abhängen.
• dadurch werden weitere Redundanzen vermieden
• Durch Normalisierung steigt die Anzahl der Tabellen und es kann negative
Auswirkungen auf die Abfrageperformance haben.
• Es gibt Fälle in der Praxis, in denen Daten auch denormalisiert werden
SQL Basics Schulung – Grundlagen Datenbanken
Normalformen - 3. Normalform 2/2
SQL Basics Schulung – Grundlagen Datenbanken
Datenbanktransaktionen
• Um sicherzustellen, dass bei Datenänderungen, die Daten hinterher auch noch in sich
konsistent sind, gibt es das sog. ACID-Paradigma:
•
•
•
•
Atomicity  alle Änderungen oder keine
Concistancy  Daten sollen hinterher auch noch konsistent sein
Isolation  Operationen sollen sich nicht gegenseitig beeinflußen können
Durability  Daten müssen zum Abschluss dauerhaft gespeichert werden
• In DBMS wird ACID über sog. Transaktionen realisiert. (COMMIT und ROLLBACK)
• Konsistenz kann über Constraints sichergestellt werden (Foreign Key Constraints, Check
Constraints, ref. Integrität)
SQL Basics Schulung – Grundlagen Datenbanken
• Von der Anforderung zur Datenbank
• Vorstellung Schulungsdatenbank
Vorstellung der
SchulungsDatenbank
• Erstellen von Tabellen
• Erstellen von Schlüsseln und FK Constraints
• Nachträgliches Ändern der DB Strukturen
• Datensätze einfügen / ändern / löschen
• Abschneiden von Tabellen
DDL + DML
Tabellen erstellen
CREATE TABLE tbl_xyz (
VORNAME VARCHAR2(20) NOT NULL,
NACHNAME VARCHAR2(20) NOT NULL,
….
);
Empfehlung: Keine Namen in “ …. “ !!!
<Name> <Datentyp> [NOT NULL][CHECK] [DEFAULT]
NUMBER ( p, s )
VARCHAR2 ( l )
DATE
CHECK <Bedingung>
DEFAULT <Wert>
DEFAULT
<Funktion>
SQL Basics Schulung – DDL + DML
Struktur ändern
ALTER TABLE tbl_xyz <ALTER TABLE OPTION>;
ALTER TABLE OPTION
Beschreibung
ADD ( <Spalten Def.> )
Ergänzung einer Spalte zu bestehender Tabelle.
DROP <Spalten Name>
Löschen einer Spalte aus einer Tabelle
MODIFY <Spalten Def.>
Ändern einer Spalte in der Tabelle
ADD CONSTRAINT ….
ALTER TABLE TBL_PRODUKT ADD ( test VARCHAR2(20) );
ALTER TABLE TBL_PRDUKTT ADD CONSTRAINT PK_PRODUKT PRIMARY KEY …. ;
SQL Basics Schulung – DDL + DML
Herunterladen