SQL-Datentypen INTEGER

Slides:



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

Projekt: Datenbankentwurf
XSQL - Beispiel. © Prof. T. Kudraß, HTWK Leipzig Nested Cursor erzeugen in SQL-Anfragen die XML-typische Baumstruktur (anstelle von Tabellen) Beispiel:
Ein paar Grundlagen zur Informatik
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL als Abfragesprache
Claudio Moraga; Gisbert Dittrich
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.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
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.
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
OQL-Anfragen (1) Alle Punkte, die auf der Null-Ebene liegen: selectstruct (ex : x, ey : y) fromallePunkte wherez = 0 Rückgabetyp: bag > Alle Kanten, die.
SQL - Structured Query Language AIFB SS (1/3) Bildung von Gruppen (Group)(1/3) Zusammenfassung von Zeilen mit demselben Wert in einer vorgegebenen.
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Funktionsweise einer Kurvenscheibensteuerung.
Grundkonzepte Java - Klassendefinition
Brauchen Datenbanken eine Struktur?
Datenbanken Mehr als Tabellen.
Datenbankentwicklung IV-LK
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Erläuterung der wichtigsten Befehle
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Aggregatsfunktion SQL = Structured Query Language.
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
Mengenoperationen (1/3)
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Am Beispiel der Tabelle Crew des Raumschiffes Enterprise
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Relationale Datenbanken IV
Datentypen: integer, char, string, boolean
Datentypen Überblick Datentypen Einfache / fundamentale Datentypen
Verdichten von Daten mit Gruppenfunktionen
Naturwissenschaftlich-technologische Ausbildungsrichtung in der 8., 9. und 10. Jahrgangsstufe.
Structured Query Language
Vorlesung #5 SQL (Teil 2).
Semantische Integritätsbedingungen  AIFB SS trigger-Klausel (2/5) Beispiel 3-5: Angestellter: (Ang-Nr, Ang-Name, Gehalt,Familienstand, Abt-Bez).
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Vordefinierte Datentypen (1)
Übung Datenbanksysteme I SQL
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Aggregatfunktionen bei mehreren Tabellen
Aufgaben zu Rückgabewerten
Vorlesung #5 SQL (Teil 2).
Aggregatfunktionen.
Vorlesung #6 SQL (Teil 3).
Wirtschaftsinformatik
Klassen selbst programmieren
Textmuster.
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Nutzung und Modellierung von Datenbanken
2.3 Gruppierte Datensätze
(Structured Query Language)
 Präsentation transkript:

SQL-Datentypen INTEGER Ganze Zahlen (4 Byte  -2.147.483.648...2.147.483.647) CHAR(n) TEXT(n) TEXT Zeichenkette mit max. n Zeichen (n<=255) LONG INTEGER Ganze Zahlen (4 Byte) DATE Datum (tttt.MM.jjjj) BYTE Ganze Zahlen (1 Byte  0…255) TIME Uhrzeit (hh:mm:ss) COUNTER Ganze Zahlen (4 Byte)  Autowert DATETIME Datum/Uhrzeit (Datum + Uhrzeit –Format) CURRENCY Währung (8 Byte) BOOLEAN „Ja-Nein“ SINGLE Rationale Zahlen ( 4 Byte, -1032...1032, Genauigkeit bis 7 Stellen) LONGTEXT Memo  größer 255 Zeichen DOUBLE Rationale Zahlen (8 Byte, -10308...10308, Genauigkeit bis 15 Stellen)

SQL Datenbeschreibungssprache Anweisungen zur Bearbeitung der Datenbankstruktur CREATE z.B. Tabelle erstellen: create table Kunden(K_Nr counter,Name text(30) NOT NULL,Vorname text(30),Geburtsdatum date,Primary Key(K_Nr)); ALTER Datenstruktur ändern, z.B.: Spalte einfügen: alter table Kunden add column PLZ integer; Datentyp ändern: alter table Kunden alter PLZ text(5); Spalte als Primärschlüssel deklarieren: alter table Artikel add Primary Key (Art_Nr); DROP z.B. Tabelle löschen: drop table Artikel; Datenmanipulationssprache Anweisungen zum Einfügen und Bearbeiten der Daten INSERT Daten einfügen -vollständigen Datensatz einfügen: insert into Kunden values(5,“Fleißig“,“Lieschen“,,#13/03/1980#); -einzelne Felder einfügen insert into Kunden (Name,Geburtsdatum) values(“Ratlos“, #12/12/1982#); UPDATE Daten bearbeiten/aktualisieren Lieschen heiratet und ändert ihren Nachnamen: update kunden set Name=„Müller“ where K_Nr=5; Preiserhöhung für alle Artikel um 1% update artikel set Preis=Preis*1.01; DELETE Daten löschen Einen Datensatz aus der Tabelle löschen: delete * from Kunden where K_Nr=5; Alle Daten in einer Tabelle löschen: delete * from Kunden;

SQL SELECT Feld(er) FROM Tabelle(n) WHERE Kriterien ______ =optional Erstellen von Auswahlabfragen Auswahl von Datenfeldern aus 1 oder mehreren Tabellen; Auswahl von Datensätzen SELECT Feld(er) FROM Tabelle(n) WHERE Kriterien ______ =optional Einfache Beispiele: SELECT * FROM Kunden; SELECT Name, Vorname FROM Kunden; SELECT Name, Vorname FROM Kunden WHERE KNr=5; Operatoren: BETWEEN SELECT Name, Vorname FROM Kunden WHERE KNr BETWEEN 5 and 10; (SELECT Name, Vorname FROM Kunden WHERE KNr>=5 and KNr<=10); IN SELECT Name, Vorname FROM Kunden WHERE KNr IN(12,21,15); (SELECT Name, Vorname FROM Kunden WHERE KNr=12 or KNr=21 or KNr=15;) LIKE SELECT Name, Vorname FROM Kunden WHERE Name LIKE „B*“; SELECT Name, Vorname,Geburtsdatum FROM Kunden WHERE Geburtsdatum LIKE „*.12.*“; (Alle im Juni geborenen Kunden)

SQL Abfragen mit mehreren Tabellen SELECT Name, Vorname,Abteilung FROM Kunden,Abteilung WHERE Kunden.AbtNr=Abteilung.AbtNr; (Kunden.AbtNr=Abteilung.AbtNr  Verknüpfung zwischen Primär- und Fremdschlüsselfeld herstellen) SELECT Name, Vorname,Abteilung.AbtNr,Abteilung FROM Kunden,Abteilung WHERE Kunden.AbtNr=Abteilung.AbtNr; (Bei Feldern, die in mehreren Tabellen vorkommen, Tabelle angeben, aus der das Feld angezeigt werden soll) Daten sortieren: ORDER BY Kriterium ASC aufsteigend sortieren (Standard) ORDER BY Kriterium DESC absteigend sortieren Beispiele: SELECT * FROM Kunden ORDER BY Name; SELECT Name, Vorname FROM Kunden WHERE KNr IN(12,21,15) ORDER BY Name DESC; SELECT Name, Vorname,Abteilung FROM Kunden,Abteilung WHERE Kunden.AbtNr=Abteilung.AbtNr ORDER BY Abteilung.AbtNr;

SQL - Gruppenfunktionen COUNT(*) Anzahl der Datensätze AVG Mittelwert MAX Maximaler Wert MIN Minimaler Wert SUM Summe Übungsdatenbank Lehrgänge Lassen Sie die Anzahl der in der gleichnamigen Tabelle gespeicherten Teilnehmer ermitteln. Feldname für die Ausgabe: Teilnehmerzahl SELECT Count(*) AS Teilnehmerzahl FROM Teilnehmer; Ermitteln Sie die Anzahl der Teilnehmer aus dem PLZ-Bezirk 84. Feldname PLZ84 SELECT Count(*) AS PLZ84 FROM Teilnehmer WHERE PLZ like "84*"; Ermitteln Sie den durchschnittlichen UESatz in der Tabelle Dozent. Feldname: UESatzMittel SELECT Avg(UESatz) AS UESatzMittel FROM Dozent; Ermitteln Sie die Gesamtdauer aller Lehrgänge in der Tabelle Inhalt. Feldname: Lehrgangsdauer SELECT Sum(DauerUE) AS Lehrgangsdauer FROM Inhalt; Ermitteln Sie die höchste und die kürzeste Lehrgangsdauer. Feldnamen: MaxDauer, MinDauer SELECT Max(DauerUE) AS MaxDauer, Min(DauerUE) AS MinDauer FROM Inhalt;

SQL - Gruppenfunktionen GROUP BY fasst alle Datensätze, die in einem Feld gleiche Werte enthalten (z.B. ORT), zu einem Datensatz zusammen. Mit COUNT, SUM, usw.…kann dann ein zusammenfassender Wert für diesen Datensatz berechnet werden. Mit Hilfe der Tabellen Teilnehmer und Ort soll ermittelt werden, wie viele Teilnehmer aus den jeweiligen Orten stammen. Angabe der Felder Ort und Anzahl SELECT Ort.Ort, Count(*) AS Anzahl FROM Teilnehmer, Ort WHERE Ort.PLZ=Teilnehmer.PLZ GROUP BY Ort; Für den Dozenten Heider soll ermittelt werden, welchen Rechnungsbetrag er aus den von ihm durchgeführten Lehrgängen erzielt. (Lehrgangsdauer gespeichert in Tabelle Inhalt; Satz für eine Unterrichtseinheit gespeichert in Tabelle Dozent) SELECT Name, sum(DauerUE*UESatz) AS Rechnungsbetrag FROM Lehrgang, Inhalt, Dozent WHERE Name="Heidert" AND Lehrgang.INR=Inhalt.INR AND Dozent.DNR=Lehrgang.DNR GROUP BY Name;

SQL - Gruppenfunktionen Die Anzahl der Datensätze kann mit HAVING und einer Bedingung weiter eingeschränkt werden. Die HAVING-Klausel folgt dabei immer dem GROUP BY-Konstrukt Übungsdatenbank Mieter Es sollen angezeigt werden: Orte und Summe der Mietkosten, gruppiert und sortiert nach Orten: SELECT Ort, Sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY Ort ORDER BY Ort; Orte, Anzahl der Mieter, Gesamtmietkosten, gruppiert nach Orten SELECT Ort, count(*) AS Anzahl, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort; Orte, Summe der Mietkosten, gruppiert nach Orten, jedoch ohne Berlin SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter WHERE ort<>"Berlin“ GROUP BY ort ORDER BY ort; oder SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING ort<>"Berlin“ ORDER BY ort;

SQL - Gruppenfunktionen Orte, Gesamtmietkosten, jedoch ohne Hamburg; eine Gruppe soll nur dann erscheinen, wenn die Gesamtmietkosten nicht negativ sind. SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter WHERE ort<>"Hamburg“ GROUP BY ort HAVING sum(Mietkosten)>=0; oder SELECT Ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING sum(Mietkosten)>=0 and ort<>"Hamburg“ Orte, Anzahl der Mieter und Gesamtmietkosten, gruppiert nach Orten. Es sollen nur die Orte enthalten sein, in denen mehr als zwei Mieter wohnen. SELECT Ort, count(*) AS Anzahl, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING count(*)>2; Summe der Gesamtmietkosten bis maximal -200,00 € jener Orte, in denen mindestens zwei Mieter wohnen SELECT ort, sum(Mietkosten) AS Gesamtmietkosten FROM Mieter_Vermieter GROUP BY ort HAVING count(*)>=2 and sum(Mietkosten)<=-200;