Es geht also um die sogenannte SQL- Data Definition Language.

Ähnliche Dokumente
Es geht also im die SQL Data Manipulation Language.

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Datenbank und Tabelle mit SQL erstellen

In diesem Abschnitt wollen wir uns mit einem besonderen Thema widmen. Dem Thema SQL-JOIN.

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Erstellen und Verwalten von Tabellen

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Übersicht der wichtigsten MySQL-Befehle

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

SQL. Datendefinition

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

MySQL Installation. AnPr

Erzeugung und Veränderung von Tabellen

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird:

Relationales Datenbanksystem Oracle

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Oracle SQL Tutorium - Wiederholung DB I -

Erzeugen von Constraints

Arbeiten mit einem lokalen PostgreSQL-Server

Referenzielle Integrität SQL

4. Datenbanksprache SQL

Sructred Query Language

Bibliografische Informationen digitalisiert durch

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Labor 3 - Datenbank mit MySQL

Integritätsbedingungen Eindeutige Identifikation (1)

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Abfragen (Queries, Subqueries)

SQL structured query language

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

Garten - Daten Bank. - survival pack -

INFORMATIONSUNTERLAGEN. Grundzüge der SQL-Programmierung. Vag 09/2005

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Relationale Datenbanken in der Praxis

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

Arbeiten mit ACCESS 2010

Microsoft Access Relationen. Anja Aue

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

PHP- Umgang mit Datenbanken (1)

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Die Datenquelle anlegen

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Oracle 10g Einführung

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Kapitel 1 Einführung in die Grundbegriffe der Datenbanken 17

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Arbeiten mit ACCESS 2013

Webbasierte Informationssysteme

Oracle Designer vs. SQL Developer Data Modeler

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

7. Datenbankdefinitionssprachen

Einführung in SQL Datenbanken bearbeiten

Datenbanken für Online Untersuchungen

Die einzelnen Vorgehensweisen werden wir uns im folgenden näher ansehen.

Inhaltsverzeichnis. Einleitung

Kapitel 3: Datenbanksysteme

Wie greifen Sie mit WinCC Runtime Advanced über ein Skript auf eine SQL- Datenbank zu?

In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken

Tabellen verknüpfen. In dieser Lektion lernen Sie

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Datenbanksysteme Kapitel 2: SQL Data Definition Language

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Datenmodelle und Datenbanken 2

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Kapitel 2: Das Relationale Modell

S(tructured)Q(uery)L(anguage)

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

quick documentation Inhalt Datenmodellierung

Java Database Connectivity-API (JDBC)

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

MySQL. MySQL ist ein Datenbanksystem. Es besteht aus einem zentralen Server und aus (mehreren) Clients. Es benutzt einen Dialekt der Sprache SQL.

Übung PL/SQL Trigger Lösungen

Abfragen aus mehreren Tabellen (mit join)

Datenbanken Kapitel 1

Persistenz. Ralf Gitzel

Das relationale Datenmodell

Heide Faeskorn-Woyke Birgit Bertelsmeier. Datenbanksysteme. Theorie und Praxis mit SQL2003, Oracle und MySQL

SQL Data Manipulation Language (DML) und Query Language (QL)

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)

Java Database Connectivity-API (JDBC)

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

Wiederholung VU Datenmodellierung

DB1-Datenbanksysteme. DB SQL-DDL 1 Mario Neugebauer

Datendefinition und Datenmanipulation in SQL

Transkript:

In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition Language. 1

In diesem Abschnitt wollen wir uns mit den SQL Befehlen aus dem Bereich SQL- DDL beschäftigen. Der wesentliche Fokus liegt hierbei auf Dem Anlegen von Tabellen Create Table Dem Löschen von Tabellen Drop Table Dem Ändern von Tabellen Alter Table 2

Um mit SQL arbeiten zu können benötigen wir als erstes einmal eine Tabelle. Tabellen legen wir mit dem Befehl CREATE TABLE an. Die einfachste Form, um eine Tabelle anzulegen, hat folgende Syntax : CREATE TABLE tabellenname ( spaltenname1 datentyp, spaltenname2 datentyp,.) Den Aufbau der Anweisung schauen wir uns als nächstes genauer an. 3

Hier sehen Sie zunächst die Syntax des CREATE TABLE Befehls. Mit dem Befehl legen wir im einzelnen folgende Eigenschaften fest: den Tabellennamen Je Spalte wird der Spaltenname sowie der zugehörige Datentyp definiert Sofern für die Tabelle ein Primärschlüssel definiert werden soll, werden nach dem Schlüsselwort PRIMARY KEY die Spaltennamen aufgeführt, die zu dem Primärschlüssel gehören. Tabellennamen Tabellennamen müssen eindeutig sein innerhalb des Datenbankschemas Tabellennamen sind Substantive ( alle Singular oder alle Plural) Über den Tabellennamen können wir auf die Inhalte (Zeilen) einer Tabelle zugreifen Spalten Spaltennamen müssen innerhalb einer Tabellendefinition eindeutig sein. In unterschiedlichen Tabellen, dürfen also die gleichen Spaltennamen vorkommen Für jede Spalte muss ein Datentyp festgelegt werden. Welchen Datentypen wir 4

verwenden, hängt von den Anforderungen bzw. den Daten ab, die wir ablegen wollen. Hierbei ist zu berücksichtigen, dass die meisten Hersteller auch eigene herstellerspezifische Datentypen unterstützen. Verwendet man solche Datentypen, dann ist das Datenbankschema nicht mehr ohne Anpassungen auf einem DBMS eines anderen Herstellers lauffähig (Portierungsaufwand). 4

In dieser Abbildungen sehen Sie, dass man den SQL Befehl für das Anlegen einer Tabelle direkt mit einem Entity-Typ aus dem physikalischen Datenmodell korrespondiert. Zur Auffrischung: Das physikalische Datenmodell ist herstellerspezifisch und enthält alle Informationen, um hieraus direkt SQL Befehle für das Anlegen eines Datenbankschemas erstellen zu können. Wie Sie in der Abbildung auf der rechten Seite erkennen können, ist dort der CREATE TABLE Befehl aufgelistet, um die entsprechende Tabelle ADRESSE anlegen zu können. TIPP: Bevor Sie weitergehen, führen Sie die Übungen zum Anlegen von Tabellen aus dem Übungsbuch durch. 5

In dieser Abbildung sehen Sie beispielhaft, wie in einem physikalischen Modell das zugehörige SQL Statement erzeugt werden kann. Links oben sehen Sie die Darstellung aus dem phy. Datenmodell. Rechts daneben sehen Sie den Tabellen-Editor des DBDesigner4, in dem wir die Tabellendefinition angeben können. Im unteren Teile der Abbildung sehen Sie die die SQL Anweisung zum Erstellen der dazugehörigen Tabelle. Das CREATE TABLE Statement entspricht hier der Syntax von MySQL Server. Bei Oracle und SQL Server sieht das Create Table etwas anders aus. Dies wollen wir aber hier nicht vertiefen, um den Fokus nicht zu verlieren. Zum Nachschlagen: Create Table Syntax H2 http://www.h2database.com/html/grammar.html?highlight=tablename&search =Table#create_table Oracle https://docs.oracle.com/cd/b28359_01/server.111/b28310/tables003.htm 6

SQL Server https://msdn.microsoft.com/en-us/library/ms365315.aspx 6

Nachdem wir eine Tabelle angelegt haben, können wir diese auch wieder löschen. Um eine Tabelle zu Löschen, verwenden wir den DROP TABLE Befehl und geben hierbei noch den Namen der Tabelle an, die wir löschen wollen. Die Syntax ist in der Abbildung dargestellt. DROP TABLE tablename Hinweis Beachten Sie, dass beim Löschen einer Tabelle auch alle Datensätze der Tabelle gelöscht werden. Bevor Sie weitergehen, führen Sie die Übungen zum Löschen von Tabellen aus dem Übungsbuch durch. 7

Nachdem wir nun Tabellen anlegen und löschen können, benötigen wir noch den Befehl ALTER TABLE, der es uns erlaubt eine existierende Tabelle ändern zu können. Dies ist sinnvoll, wenn wir nachträglich noch eine Spalte hinzufügen möchten. Würden wir die Tabelle löschen und neu anlegen, würden wir ja alle Daten verlieren und müssten die Daten erneut in die Datenbank einbringen. In der Abbildung sehen Sie zwei Varianten, um Tabellen zu ändern. Variante 1: Durch eine ALTER TABLE Anweisung in der Variante 1 kann man Spalten zu einer Tabelle hinzufügen bzw. auch Spalten einer Tabelle löschen. Wird eine Spalte gelöscht, gehen dabei auch die entsprechenden Attributwerte verloren. Variante 2: 8

Durch eine ALTER TABLE Anweisung in der Variante 2 ist es möglich nachträglich den Namen einer Tabelle zu ändern. Hierbei ist aber Vorsicht geboten, sofern Applikationen den alten Namen bereits verwenden, sind diese nicht mehr ablauffähig. Hinweis: In dem Abschnitt View werden wir eine Methode kennenlernen, wie man vermeiden kann, dass Applikationen den Namen einer Tabelle kennen müssen. Dies gibt uns dann die Möglichkeit auch nachträglich noch Tabellenamen zu ändern. 8

9