Ruprecht Dröge BeConstructed GmbH. Firma (Schulung, Beratung, Softwareentwicklung): SQL Reihe auf MSDN-Solve https://www.microsoft.com/germany/msdn/solve/knowhow/

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

ER-Datenmodell und Abfragen in SQL
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
SQL als Abfragesprache
SQL als Abfragesprache
Auswertung im GTDS fixe Abläufe für Standard-Aufgaben Mamma-Auswertung
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
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],
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
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 Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
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.
Kapitel 9: Integritätssicherung
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Datenbanken 10: Einfügen, Ändern, Löschen
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)
Arbeiten mit SQL in Visual FoxPro 9.0
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.
Arbeiten mit SQL in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow SQL.
Presenter: Daniel Walzenbach Technologieberater
objekt-relationale Datenbanken
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Relationale Datenbanken III
Daniel Walzenbach Developer Evangelist Microsoft Deutschland GmbH.
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
SQL Server 2008 { Was ist neu für Entwickler? }
Datenbanksysteme für hörer anderer Fachrichtungen
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
MODULA-2.
Datenbankanbindung mit
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Semantische Integritätsbedingungen  AIFB SS trigger-Klausel (2/5) Beispiel 3-5: Angestellter: (Ang-Nr, Ang-Name, Gehalt,Familienstand, Abt-Bez).
Integritätsbedingungen (Constraints)
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SQL-Prozeduren Charakteristika: Kapselung von SQL-Anweisungen in Prozeduren, die wiederholt aufgerufen werden können. Dazu Verbergen parametrisierter SQL-
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbank für Skriptenverkauf
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
Exotisches SQL Author: Sven Weller.
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
DB2 UDB im z/VSE Heinz Peter Maassen – Lattwein GmbH COURSE Tagung Bad Hersfeld 2008.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Vorlesung #5 SQL (Teil 2).
Beispiele zur Datenänderung
Create Table, Rechte und Rollen
(Structured Query Language)
 Präsentation transkript:

Ruprecht Dröge BeConstructed GmbH

Firma (Schulung, Beratung, Softwareentwicklung): SQL Reihe auf MSDN-Solve sql/default.mspx BLOG: Camp auf Mallorca über Katmai und BI 2008:

Deklaration und Inititialisierung Inkrement / Dekrement Zeilen-Konstruktor Tabellen Parameter Grouping Sets Neue Datentypen Merge Backup Compression Lock Escalation

Immer weitreichendere Kompatibilität mit ANSI z.B. das Semikolon am Anweisungsende in immer mehr Befehlen verpflichtend Sollte man sich schon mal angewöhnen ; Angleichung an andere Programmiersprachen im Microsoft Umfeld Try Catch etc. Initialisierung und Deklaration

Neue Möglichkeit z.B. in gespeicherten Prozeduren und Batches eine Variable in einem Statement sowohl zu deklarieren als auch zu initialisieren. nvarchar = 'SQL Server 2008; SELECT

Die Möglichkeit Variablen in einer vereinfachten Syntax zu inkrementieren und zu dekrementieren int=1; Select Select

Das Einfügen mehrerer Zeilen in einem Statement INSERT INTO tblLaender (id,land) Values (1,'Frankreich'), (2,'Deutschland'), (3,'Großbritanien'), (4,'Italien') ;

Neue Möglichkeiten der Programmierung CREATE TYPE Angestellte AS TABLE ( Vorname nvarchar(50) NOT NULL, Nachname nvarchar(50) NOT NULL, Gehalt money NULL ); CREATE PROCEDURE Angestellte READONLY AS SELECT * Ist ein "gewöhnlicher" benutzerdefinierter Typ SELECT * FROM Sys.types; Oder im SQL Server Management Studio

Neue Syntax ANSI Kompatibel SELECT Planet, Kontinent, Land, AnzahlStaedte=Count(*) FROM Staedte GROUP BY GROUPING SETS (Planet, Kontinent, Land)

Bisher: (small)Datetime, Datum UND Uhrzeit Nun: DATE Nur Datum von bis TIME(n) Nur Zeit, optional mit Genauigkeit bis 100 ns (n=1-7) DateTime2(n) Kombination Großer Datumsbereich, optional mit Genauigkeit bis 100 ns, aber keine Zeitzonen DateTimeOffset(n) UTC Zeit mit Zeitzonen, optional mit Genauigkeit bis 100 ns

HierarchyID Abbildung hierarchischer Strukturen z.B. in Firmen CREATE TABLE MPressOrg (ID int identity primary key,HiD HierarchyID,Lastname nvarchar(80)); GO INSERT INTO MPressOrg VALUES ('/','Braun-Weisholler'),('/1/','Löffelmann'),('/2/','Weiherer'),('/1/1/','Raatz'),('/1/2/','Dröge'),('/2/1/','Holert');.NET Datentyp Muss nicht fortlaufend nummeriert sein Auch '/1/1.5/' möglich Viele Methoden

GetAncestor(i) (Vorfahr), Also Einträge der übergeordnete Ebene, i=Anzahl der Ebenen GetDescendant(p1,p2) (Nachkomme) untergeordnete Ebene (bei p1=null, p2=null), oder Abhängig von p1,p2 GetLevel Ebene des aktuellen Wertes GetRoot Wurzel IsDescendant Ist untergeordnete Ebene Parse Einlesen von String-Werten Read Nur zu internen Zwecken bei der Umwandlung varbinary / hierarchyid Reparent Neuzuweisung der übergeordneten Ebene ToString Write Nur zu internen Zwecken

hierarchyid = OrgNode FROM HumanResources.EmployeeDemo WHERE LoginID = 'adventure-works\gail0' ; -- Node /1/1/2/ = OrgNode FROM HumanResources.EmployeeDemo WHERE LoginID = 'adventure-works\roberto0' ; -- Node /1/1/ = OrgNode FROM HumanResources.EmployeeDemo WHERE LoginID = 'adventure-works\wanida0' ; -- Node /2/3/ UPDATE HumanResources.EmployeeDemo SET OrgNode WHERE OrgNode ;

Geo-Datentypen CREATE TABLE SpatialTable ( id int IDENTITY (1,1), GeomCol1 geometry, GeomCol2 AS GeomCol1.STAsText() ); GO INSERT INTO SpatialTable (GeomCol1) VALUES (geometry::STGeomFromText('LINESTRING ( , , )', 0)); Ebenfalls.NET Implementierung

Im System, das im englischen als "Flat- earth" oder "planar" System bekannt ist, werden Distanzen und Bereiche mit der gleichen Einheit wie Koordinaten beschrieben. Wenn man der geometry Datentyp benutzt, ist die Distanz zwischen (2,2) und (5,6) 5 Einheiten groß, unabhängig davon, welche Einheit man benutzt. Im "ellipsoidal" oder "round-earth" System werden Koordinaten in Längen- und Breitengraden (latitude und longitude) angegeben. Dabei werden Längen und Bereiche normalerweise in Metern bzw. Quadratmetern angegeben. Die Maßeinheit hängt dann ab von dem "spatial reference identifier" (SRID) der geography Instanz. Üblicherweise wird der Meter als Maßeinheit benutzt.

ANSI Standard SQL 2006 "UPSERT" Also Insert oder Update (oder Delete) in einem Statement MERGE dbo.Personen USING PersonenImport ON Personen.ID=PersonenImport.ID WHEN MATCHED THEN UPDATE SET Personen.Nachname=PersonenImport.Nachname, Vorname=PersonenImport.Vorname WHEN NOT MATCHED THEN INSERT VALUES (Nachname, Vorname) OUTPUT $Action, inserted.Nachname, inserted.Vorname ; Vorteil gegenüber von einzelnen Insert- oder Update-Statements Ziel und Quelltabelle werden nur einmal gelesen Daher bessere Performance

MERGE Dann Tabellen-Name USING Refrenztabelle oder SELECT-Statement ON Verknüpfung der beiden Informationen Wie bei JOIN Ausdrücken WHEN MATCHED THEN Auszuführende Befehle, wenn die in der ON- Klausel angegebenen Werte übereinstimmen WHEN NOT MATCHED THEN Auszuführende Befehle, wenn die in der ON- Klausel angegebenen Werte nicht übereinstimmen

WHEN SOURCE NOT MATCH Auszuführende Befehle, wenn die Werte, die in der ON-Klausel angegeben werden, im USING nicht vorkommen Mehrere MATCHED Anweisungen WHEN MATCHED AND Lager.Anzahl-Verkauf.Anzahl<=0 THEN DELETE WHEN MATCHED THEN UPDATE SET Lager.Anzahl=Lager.Anzahl-Verkauf.Anzahl

Sehr einfache aber wirkungsvolle Erweiterung BACKUP DATABASE Test TO DISK=C:\Test\Testfull.bak WITH COMPRESSION

Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.