Relationale Datenbanken III

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Microsoft Access – Einführung – Allgemeine Technologien I
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL::Geschichte/Normen (Übersicht)
SQL als Abfragesprache
SQL als Abfragesprache
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Datenintegrität Referentielle Integrität create table
Typo3für RFB Anmeldung.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Buch S73ff (Informatik I, Oldenbourg-Verlag)
Datenbanken 13: Objekt-Klasse-Datenbank
Datenbanken 10: Einfügen, Ändern, Löschen
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern © Erhard Künzel.
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
2.2 Definition eines Datenbankschemas (SQL-DDL)
Datenbankentwicklung IV-LK
Starbull Daten aktualisieren Anleitung. Outlook Express öffnen, um die Datei ADS.ADR abzurufen.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
6 Mit dem Internet Explorer im WWW arbeiten
Relationale Datenbanken II
O.Univ.-Prof. Dr. Dimitris Karagiannis Datenbanken administrieren mit phpMyAdmin Martin Marinschek
Abfragen definieren Beispiele für Abfragen: Microsoft Query:
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
16. Mit dem Explorer im WWW arbeiten l Wenn die Adresse bekannt ist l Ins Feld Adresse klicken l URL eingeben (RETURN¢) oder l Wenn nach einer Adresse.
Mit Favoriten (Lesezeichen) arbeiten
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
Klicken um fortzufahren! WWW – The World Wide Web Wie man im Internet nach Informationen sucht...
Datenbanksysteme für hörer anderer Fachrichtungen
Relationales Datenmodell und DDL
Internet Praktikum Aufgabe Kopieren Sie die bitte das von Ihnen erstellte Kino-Projekt in Ihr Gruppenverzeichnis auf den HTTP-Server. \\SERVER1\VWA??\
Relationale Datenbanken IV
ICT – Modul Textverarbeitung
Dateiverwaltung Um Mit der Dateiverwaltung zu beginnen klicken Sie zunächst auf den Wiki verwalten Button. Dann klicken Sie auf Dateien.
Der Windows-Desktop Beispiel für den Windows-Desktop.
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Integritätsbedingungen (Constraints)
1 Referenzielle Konsistenz (1) Vorgehensweise: Klausel references mit nachfolgender Spezikation eines Attributs einer anderen Tabelle identifiziert ein.
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Dynamische Webseiten mit MySql und PHP
Datenbank für Skriptenverkauf
PHPmyadmin Maya Kindler 6c.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
15 Tabellen erstellen und Tabellenstruktur bearbeiten Grundlagen zu Tabellen l Tabelle l Enthält Daten zu einem bestimmten Thema l Beispiele:  Mitarbeiterdaten.
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
Veranstaltung: Datenbanken I Dozent: Ioannis Papakostas Belegarbeit 6 Online-Bestellung von Büchern Stefan Rüschenberg (Matrikel-Nr.: ) Sebastian.
PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt.
Drupal Installation Versionen 7.43 & Allgemein (bei beiden Versionen) Xampp Control- Panel öffnen Server starten, sonst kein Zugriff auf localhost.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Struktur von Datenbanktabellen
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Constraints anlegen und löschen, Data Dictionary Tabellen
Create Table, Rechte und Rollen
(Structured Query Language)
 Präsentation transkript:

Relationale Datenbanken III Mit SQL Datenbanken erzeugen und Daten in eine Datenbank eintragen

Beispiel Tabellen Reisebüro Person: {[PersNr, Name, Adresse]} Kunde: {[PersNr, Kaufkraft, GebDatum]} Mitarbeiter: {[PersNr, Gehalt]} Transportmedium: {[MedienNr, Bezeichnung, Preis]} Land: {[LandNr, Name, Sprache, Währung, Vorwahl]} Reiseziel: {[ZielNr, LandNr, Name, Preis]} Beratung: {[KundeNr, MitarbeiterNr]} Buchung: {[KundeNr, MitarbeiterNr, MedienNr, ZielNr, Datum]}

Datentypen? PersNr : INT (ganze Zahl) ebenso: MedienNr, LandNr, ZielNr, MitarbeiterNr Name : VARCHAR(256) (Zeichenkette, maximal 256 Zeichen) ähnlich: Sprache : VARCHAR(32) Währung : VARCHAR(3) Vorwahl : VARCHAR(6) Adresse : TINYTEXT (kleiner Textblock) Kaufkraft : ENUM('sehr gross','gross','mittel','gering') (Auswahl) ähnlich: Bezeichnung : ENUM('Zug', 'Flugzeug','Bus','Schiff','Auto','anderes') GebDatum : DATE (Datum) ebenso: Datum Gehalt : DECIMAL(10,2) (Dezimalzahl mit max. 10 Vor- und 2 Nachkommastellen) ebenso: Preis

Datenbank erzeugen und benutzen CREATE DATABASE reisebuero; USE reisebuero; falls eine alte, missratene Version dieser Datenbank vorher gelöscht werden muss: DROP DATABASE reisebuero; CREATE DATABASE reisebuero; USE reisebuero;

Tabellen erzeugen CREATE TABLE Person ( PersNr INT NOT NULL auto_increment, Name VARCHAR(256) COLLATE latin1_german1_ci default NULL, Adresse tinytext COLLATE latin1_german1_ci, PRIMARY KEY (PersNr) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; NOT NULL: leere Werte sind verboten default NULL: standardmässig auf NULL setzen auto_increment: jeder neue Eintrag bekommt automatisch eine um 1 höhere Nummer als der letzte Eintrag PRIMARY KEY (PersNr): PersNr darf nicht leer (NULL) sein, muss eindeutig sein DEFAULT CHARSET: welche Zeichencodierung verwendet wird COLLATE: welche Textsortierreihenfolge verwendet wird ENGINE: welche Datenbankmaschine zugrunde gelegt wurde.

Weitere Tabellen erzeugen CREATE TABLE Kunde ( PersNr INT NOT NULL, Kaufkraft enum('sehr gross','gross','mittel','gering') default NULL, GebDatum date default '0000-00-00', PRIMARY KEY (PersNr), FOREIGN KEY (PersNr) REFERENCES Person (PersNr) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; FOREIGN KEY: Fremdschlüssel REFERENCES: bezieht sich auf Tabelle (Element) ON DELETE CASCADE: lösche diesen Eintrag, falls der Bezug nicht mehr existiert (wird die Person gelöscht, löscht man damit auch den entsprechenden Kunden)

Weitere Tabellen erzeugen CREATE TABLE Mitarbeiter ( PersNr INT NOT NULL, Gehalt decimal(10,2) NOT NULL default '0.00', PRIMARY KEY (PersNr), FOREIGN KEY (PersNr) REFERENCES Person (PersNr) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; CREATE TABLE Transportmedium ( MedienNr INT NOT NULL auto_increment, Bezeichnung enum('Zug','Flugzeug','Bus','Schiff','Auto','anderes') default NULL, Preis decimal(10,2) NOT NULL, PRIMARY KEY (MedienNr), UNIQUE (Bezeichnung) UNIQUE: Gleicher Wert darf nicht mehrfach vorkommen

Weitere Tabellen erzeugen CREATE TABLE Land ( LandNr INT NOT NULL auto_increment, Name VARCHAR(256) collate latin1_german1_ci NOT NULL, Sprache VARCHAR(32) collate latin1_german1_ci NOT NULL, Waehrung VARCHAR(3) collate latin1_german1_ci NOT NULL, Vorwahl VARCHAR(6) collate latin1_german1_ci NOT NULL, PRIMARY KEY (LandNr), UNIQUE (Name) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; CREATE TABLE Reiseziel ( ZielNr INT NOT NULL auto_increment, Name VARCHAR(256) collate latin1_german1_ci default NULL, Preis decimal(10,2) NOT NULL default '0.00', LandNr INT NOT NULL default '0', PRIMARY KEY (ZielNr), FOREIGN KEY (LandNr) REFERENCES Land (LandNr) ON DELETE RESTRICT ON DELETE RESTRICT: Ein Land darf nicht gelöscht werden, solange es dort noch ein Reiseziel gibt

Weitere Tabellen erzeugen CREATE TABLE Beratung ( KundeNr INT NOT NULL, MitarbeiterNr INT NOT NULL, PRIMARY KEY (KundeNr, MitarbeiterNr), FOREIGN KEY (KundeNr) REFERENCES Kunde(PersNr) ON DELETE CASCADE, FOREIGN KEY (MitarbeiterNr) REFERENCES Mitarbeiter(PersNr) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; CREATE TABLE Buchung ( KundeNr INT NOT NULL, MitarbeiterNr INT NOT NULL, MedienNr INT NOT NULL, ZielNr INT NOT NULL, PRIMARY KEY (KundeNr, MitarbeiterNr, MedienNr, ZielNr), FOREIGN KEY (KundeNr) REFERENCES Kunde(PersNr) ON DELETE CASCADE, FOREIGN KEY (MitarbeiterNr) REFERENCES Mitarbeiter(PersNr) ON DELETE CASCADE, FOREIGN KEY (MedienNr) REFERENCES Transportmedium(MedienNr) ON DELETE CASCADE FOREIGN KEY (ZielNr) REFERENCES Reiseziel(ZielNr) ON DELETE CASCADE MP 1A Ws 2011

Wie gibt man das jetzt wirklich ein? Internet Explorer starten Seite https://www.gymmuenchenstein.ch/phpMyAdmin aufrufen Benutzername test, Passwort mp1abe2013 eingeben Tab SQL wählen Eingeben: CREATE DATABASE test_Ihr-Vorname auf OK klicken 2. Browserfenster oder 2. Browsertab öffnen auf www.gymmuenchenstein.ch/weiss gehen Aktuell-Link MP 1ABe folgen Datei reisebuero.txt ansehen gesamten Dateiinhalt in die Zwischenablage kopieren zurück ins phpMyAdmin-Fenster Datenbank mit ihrem Namen wählen, Tab SQL wählen Inhalt der Zwischenablage einfügen, OK klicken. aktualisieren (mit ) In MySQL eigenes Passwort ändern: set password = password('neues Passwort'); MP 1A Ws 2011

Damit wir alle an einer DB arbeiten Bei phpMyAdmin abmelden (mit ) Auf die Seite www.gymmuenchenstein.ch/weiss/SQL.php gehen Benutzername reisebuero, Passwort mp1abe2013 eingeben Tabelle "reisebuero" wählen In MySQL eigenes Passwort ändern: set password = password('neues Passwort'); MP 1A Ws 2011

Datensätze in Tabellen einfügen INSERT INTO Person (Name, Adresse) VALUES ('Bruno Buess', 'Baselstrasse 33, 4142 Münchenstein'); Das Feld PersNr wird automatisch eingefüllt, weil es die Eigenschaft auto_increment hat! INSERT INTO Mitarbeiter (PersNr, Gehalt) VALUES (1, 6395.15); Aufgabe: Füllen Sie gemeinsam die verschiedenen Tabellen der Datenbank!