SQL Basics Schulung 05.12.2016 – 07.12.2016
Vorstellungsrunde Organisatorisches Agenda Einführung
SQL Basics Schulung - Einführung Organisatorisches Mo, 05.12.16: 09:00 – ca. 16:00 Di, 08.12.16: 08:30 – ca. 16:00 Mi, 07.12.16: 08:30 – ca. 15:00 Mittagspause von 12:30 bis 13:30 SQL Basics Schulung - Einführung
SQL Basics Schulung - Einführung Agenda Grundlagen Datenbanken Vorstellung der Schulungsdatenbank Einfache Abfragen erstellen Mehrere Tabellen abfragen (Joins) Gruppierungen und Aggregationen Verschiedenes (DDL, DML, Unterabfragen, Mengenoperationen) Wahlbereich Üben der Grundlagen an Beispielen Unterabfragen Tabellen anlegen (DDL) und befüllen (DML) SQL Basics Schulung - Einführung
Grundlagen Datenbanken Was ist eigentlich eine Datenbank? Beziehungen Normalformen Transaktionen Grundlagen Datenbanken
SQL Basics Schulung – 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
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
SQL Basics Schulung – Grundlagen Datenbanken Normalformen - Ausgangslage Daten sind so nur schwer auswertbar SQL Basics Schulung – Grundlagen Datenbanken
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
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
SQL Basics Schulung – Grundlagen Datenbanken Normalformen - 3. Normalform 1/2 Def.: 2. NF + Nicht-Schlüsselfelder dürfen nicht von anderen Nicht-Schlü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
SQL Basics Schulung – Grundlagen Datenbanken Normalformen - 3. Normalform 2/2 SQL Basics Schulung – Grundlagen Datenbanken
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
Vorstellung der Schulungs-Datenbank Von der Anforderung zur Datenbank Vorstellung Schulungsdatenbank Vorstellung der Schulungs-Datenbank
DDL + DML 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 Empfehlung: Keine Namen in “ …. “ !!! CREATE TABLE tbl_xyz ( VORNAME VARCHAR2(20) NOT NULL, NACHNAME VARCHAR2(20) NOT NULL, …. ); <Name> <Datentyp> [NOT NULL][CHECK] [DEFAULT] NUMBER ( p, s ) VARCHAR2 ( l ) DATE CHECK <Bedingung> Empfehlung: Keine Namen in “ …. “ !!! DEFAULT <Wert> DEFAULT <Funktion> SQL Basics Schulung – DDL + DML
Struktur ändern ALTER TABLE tbl_xyz <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