Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SQL Server 2008 { Was ist neu für Entwickler? }

Ähnliche Präsentationen


Präsentation zum Thema: "SQL Server 2008 { Was ist neu für Entwickler? }"—  Präsentation transkript:

1 SQL Server 2008 { Was ist neu für Entwickler? }
3/30/ :18 PM SQL Server 2008 { Was ist neu für Entwickler? } Jens K. Süßmeyer, Daniel Walzenbach DB Consultant, Developer Evangelist Microsoft Deutschland GmbH © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

3 Unstrukturierte Daten FileStream
VARBINARY(MAX) Unstrukturierte Daten werden direkt in NTFS Dateisystem gespeichert Zwei Programmiermodelle T-SQL (genau wie SQL BLOB) Win32 Streaming APIs mit T-SQL transaktionaler Semantik Transaktionales Verhalten Bessere Handbarkeit Backup/restore SQL Server Sicherheit Dateigröße nur durch das Dateisystem limitiert BLOBs in DB + Datei-system speichern Anwendung BLOB DB

4 { Unstrukturierte Daten }
demo Der FileStream Datentyp

5 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

6 Neue Zeiten sind angebrochen
DateTimeOffset(n) DateTime2(n) Date Time(n)

7 Neue Zeiten sind angebrochen Date
Enthält nur den Datumswert Feste Größe von 3 byte Spanne: – Bsp: ,

8 Neue Zeiten sind angebrochen Time(n)
Enthält nur den Zeitwert Variable Größe von 3-5 byte (je nach konfigurierter Genauigkeit) Genauigkeit bis zu 100 Nanosekunden möglich) Bsp: 08:17:

9 Neue Zeiten sind angebrochen DateTimeOffset(n)
Datum und Uhrzeit inklusive der Zeitzonenverschiebung Variable Größe von 8-10 byte (je nach konfigurierter Genauigkeit, bis zu 100 Nanosekunden möglich) Bsp: :17: :00

10 Neue Zeiten sind angebrochen DateTime2(n)
Kombination aus dem neuen Date und Time Datentyp mit erweiterter Spanne und Präzision Variable Größe von 6-8 byte (je nach gewünschter Genauigkeit) Genauigkeit bis zu 100 Nanosekunden möglich) Spanne von – Bsp: :17:

11 Neue Zeiten sind angebrochen Visual Studio 2008
Erweiterung des SqlDbType Enum und der Clientbibliotheken SQL Server Type .NET Type date System.DateTime time System.TimeSpan datetimeoffset System.DateTimeOffset datetime2

12 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

13 T-SQL Verbesserungen HierarchyID Datentyp
Perfekter Einsatz für Unternehmensorganisation, Stücklisten, etc… Repräsentiert eine Position in einer Hierarchie Kompakte/effiziente Speicherung Beliebige Datensätze speichern/löschen Leistungsfähige Abfragen GetRoot, GetLevel, IsDescendant, ReParent, etc.

14 Hierarchische Daten in SQL 2005
Parent ID <- ChildID Einfach Daten einzupflegen aber… Aufwändig in der Abfrage Rekursion

15 Hierarchische Daten in SQL 2008
Neuer „Built-In“ Datentyp – HierarchyID SQLCLR basierte System UDT Kann auch in .NET (VB.NET, C#) verwendet werden (SqlHierarchyId) Als path enumeration model implementiert (ORDPATH) HierarchyID (SQLCLR Typ) kann erweitert werden Von dem Typ ableiten Um Methoden und Properties erweitern

16 HierarchyID erweitern
Da HierarchyID ein SQLCLR Typ ist Kann von dem Typ abgeleitet werden Erweitern um Methoden und Properties

17 HierarchyID Indexstrategien Depth-first
3/30/ :18 PM HierarchyID Indexstrategien Depth-first Knoten in einem Unterbaum sind benachbart angeordnet Effizient für Fragen nach Unterbäumen „Suche nach allen Dateien in diesem und den untergeordneten Ordnern“ CREATE UNIQUE INDEX Org_Depth_First ON Organization(EmployeeID) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

18 HierarchyID Indexstrategien Breadth-first
3/30/ :18 PM HierarchyID Indexstrategien Breadth-first Knoten in einer Ebene sind benachbart angeordnet Effizient für Fragen nach direkt unterstellten Knoten „Suche nach allen Angestellten eines Managers“ CREATE CLUSTERED INDEX Org_Breadth_First ON Organization(OrgLevel,EmployeeID) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

19 { Hierarchische Daten }
demo Hierarchische Struktur anlegen verwalten

20 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

21 Merge statement Ausgangslage
Für einen Abgleich müssen drei separate statements erzeugt werden (INSERT/UPDATE/DELETE) und nacheinander ausgeführt werden Eine explizite Transaktion muss über alle DML Operationen separat gepflegt werden um bei Fehlern das Rollback zu ermöglichen

22 Merge statement Anwendungsgebiete
Bietet die Möglichkeit für die gleichzeitige Verwendung von DML Operationen (INSERT / UPDATE / DELETE) in einer Anweisung Bietet die Möglichkeit Änderungen in einem Batch durch den Client übertragen zu lassen und die Logik serverseitig auszuführen Befüllungen eines DataWareHouse BatchUpdate von Clients Synchronisieren von Datenquellen

23 Merge statement Syntax
[ WITH <common_table_expression> [,...n] ] MERGE [ TOP ( expression ) [ PERCENT ] ] [ INTO ] target_table [ [ AS ] table_alias ] [ WITH ( <merge_hint> ) ] USING <table_source> (… 58 lines of syntax following…)

24 Merge statement Aktionen
WHEN MATCHED (INNER JOIN) Ermöglicht Operationen wenn Datensätze sowohl in der Quelle als auch im Ziel vorhanden sind WHEN [TARGET] NOT MATCHED (LEFT OUTER JOIN) Ermöglicht Operationen wenn Datensätze in der Quelle aber nicht im Ziel existieren

25 Merge statement Aktionen
WHEN SOURCE NOT MATCHED (RIGHT OUTER JOIN) Ermöglicht Operationen wenn Datensätze im Ziel aber nicht in der Quelle existieren

26 Merge statement Vorteile
MERGE ist transaktional und benötigt keine explizite Transaktion für die beinhaltetenden DML Operationen MERGE löst Trigger nur einmal pro Aktion aus (BTW: Triggers are fired per statement NOT per row! ) $action ermöglicht es die ausgeführte Aktion (INSERT / UPDATE / DELETE) des Datensatzes zu erkennen

27 Merge statement Vorteile
UPDATE Nicht-deterministisch: Mehrere gefundene (durch ON clause) Datensätze in der Quelltabelle MERGE Deterministisch: Join (ON clause) erwartet einen eindeutigen Datensatz in der Quelle

28 { Merge } demo Die Verwendung von Merge Statements

29 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

30 Integrierte Volltextsuche
Komplett neue Volltextsuche Architektur Volltextsuche als Feature der Datenbank Volltextkataloge sind in DB inregriert Umfassend Konfiguration von „Noise Words“ „Noise Word“ Konfiguration bleibt bei Backup/Restore und Detach/Attach intakt Suchergebnisse visualisieren Verbesserte Suchergebnisse Query und Indexing Performance deutlich gesteigert

31 { Integrierte Volltextsuche }
demo Volltextindex anlegen, abfragen, mit SQL Server 2005 vergleichen

32 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

33 Table-valued parameter Ausgangslage
Batch Updates benötigten bisher mehrere Roundtrips zum Server um einen Abgleich zu machen Senden von strukturierten Daten war bisher nicht möglich, außer diese auf dem Server wieder zu zerlegen (TextArrays, XML, Binärdaten) Untypisierte Daten führten oftmals zu serverseitigen Fehlern

34 Table-valued parameter Ausgangslage
Grundlage sind benutzerdefinierte Tabellentypen Erweiterung der benutzterdefinierten Typen, der Typ wird in sys.table_types persistiert Erweiterung der bestehenden “Create Type” Syntax CREATE TYPE myTableType AS TABLE (id INT, name NVARCHAR(100),qty INT); myTableType

35 Table-valued parameter Anwendung
Table-valued parameters Verwendung von benutzerdefinierte Tabellentypen für die temporäre Speicherung von und den lesenden Zugriff auf die Daten (READONLY) Vereint Vorteile von Tabellenvariablen und temporären Tabellen

36 Table-valued parameter Anwendung
Ermöglicht die Übergabe als SqlParameter von Instanzen der Typen DataTable DbDataReader System.Collections.Generic.IList<SqlDataRecord> Unterstützung der client stacks OLEDB/ODBC/ADO.NET Erweiterung der .NET (3.x) Client durch den neuen SqlDbType „Structured“

37 Table-valued parameter Vorteile
Ermöglicht große Mengen an Daten vom Client an den Server effizient (zur weiteren Verarbeitung) zu übertragen Bietet die Möglichkeit Parameter / Datensätze an Routinen in einer Variable zu übergeben (vs. XML, BLOB, CSV und andere Möglichkeiten die zusätzliche Verarbeitungen benötigen) Verringert bei großen Datenmengen die Anzahl der erzeugten Roundtrips erheblich

38 { Table-valued parameters}
demo Mit Table-valued parameters arbeiten

39 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

40 Geodaten Geodaten sind vielfältig einsetzbar
Planare (ebene Welt) und geodätische (runde Welt) Algorithmen Visualisierung von Geodaten mit dem Virtual Earth SDK Austausch von Geodaten über GML XML Integration von Geodaten in .NET Anwendungen Verbesserte Performance durch „Spatial Indexes“ ,

41 Geodaten Geography Datentyp
Geodätisches Modell („Runde Erde“) Beschreibt Punkte, Linien und Gebiete durch Längen- und Breitengrade Berechnet Erdkrümmung und berücksichtigt korrekte „Großkreis“-Entfernungen

42 Geodaten Geometry Datentyp
Ebenes Modell („Flache Erde“) Beschreibt Punkte, Linien und Gebiete durch X/Y Koordinaten Einsetzbar für kleine Gebiete und nichtprojezierte Oberflächen wie Innenräume, etc.

43 Geodaten Methoden des Geometry Datentyps
OGC Methoden (43) Erweiterte Methoden (10) OGC Statische Methoden (16) Erweiterte Statische Methoden (4)

44 Sven Schneider Teamleiter Softwareentwicklung JobScout24
3/30/ :18 PM { JobScout24 } Partner Sven Schneider Teamleiter Softwareentwicklung JobScout24 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

45 { Geodaten } demo Übersicht Geodaten Mit Geodaten arbeiten

46 Überblick Mit unstrukturierten Daten arbeiten
Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

47 Die kleinen Dinge im Leben…
C# Unterstüzung für SSIS-Tasks Large UDTs Die Größe von 8k wurde gebrochen, neue mögliche Größe der UDTs ist 2GB Intellisense in SQL Server Management Studio

48 Die Kleinen Dinge im Leben…
Row constructors SELECT * FROM (VALUES (10002,1,12,1,12), (10003,1,12,1,12) ) AS SomeOrders(OrderId, ProductId, UnitPrice, Quantity, Discount)

49 Die kleinen Dinge im Leben…
Row constructors Insert Into [Order Details] VALUES (10001,1,12,1,12) , (10002,1,12,1,12) , (10003,1,12,1,12)

50 Die kleinen Dinge im Leben…
INSERT over DML Erweiterung zu OUPUT INTO Anweisung Ermöglicht die Speicherung und Verarbeitung der DML relevanten Informationen (INSERTED /DELETED / $Actions) INSERT INTO OrdersThatChanged (OrderId,PosId) SELECT OrderId,PosId FROM ( Update [Order Details] SET Discount = 0 OUTPUT DELETED.OrderId, DELETED.PosId WHERE Price < 10 ) ChangedOrders (OrderId, PosId) WHERE ProductId > 1000 Update [Order Details] SET Discount = 0 WHERE Price < 10 Update [Order Details] SET Discount = 0 OUTPUT DELETED.OrderId, DELETED.PosId INTO OrdersThatChanged WHERE Price < 10

51 Die kleinen Dinge im Leben…
Variableninititalisierungen INT = 0 Zuweisungsoperatoren +=, -=, *=, /=, &=,|=,%=,^= UPDATE [Order Details] SET Discount *= 1.1 FROM [Order Details] OD INNER JOIN Orders OD ON O.OrderId = OD.OrderId WHERE OrderId = 10001

52 Die kleinen Dinge im Leben…
Variableninititalisierungen Zuweisungsoperatoren +=, -=, *=, /=, &=,|=,%=,^= INT = 0 UPDATE [Order Details] SET Discount *= 1.1 FROM [Order Details] OD INNER JOIN Orders OD ON O.OrderId = OD.OrderId WHERE OrderId = 10001

53 Die kleinen Dinge im Leben…
Intellisense :-)

54 Zusammenfassung SQL Server 2008 ermöglicht ein effektiveres Arbeiten mit Daten Geo- und unstrukturierte Daten T-SQL Verbesserungen Neue Datentypen Synchronisierungen von Daten ADO.NET Entity Framework

55 Resources Learn more about data programmability
Learn more about spatial data Learn more about SQL Server 2008 Discover SQL Server 2008: Webcasts, Virtual Labs, and White Papers SQL Server 2008 training Download latest SQL Server CTP Join the SQL PASS community

56 Visual Studio 2008 weitere Angebote
3/30/ :18 PM Visual Studio 2008 weitere Angebote Visual Studio Team System Information Day Regelmäßige ganztägige Informationsveranstaltung von Microsoft Praxisnahe Demos & viel Raum für Diskussionen Details & Anmeldung: TeamConf 2008 – Die Visual Studio Team System Konferenz VSTS in der Praxis April 2008 in München Anwenderberichte (Siemens, ABB, Commerzbank, Datev, Münchener Rück,..) Fach- und Technologievorträge Vortragsprogramm und Anmeldung: Visual Studio Launch Promotion Tauschen Sie Ihre Visual Studio Standard in eine höherwertige Visual Studio Edition Ihrer Wahl Anrechnung in Höhe von 299 € beim Kauf eines anderen VS Produktes vom 19. Februar bis zum 30. April 2008 Nur bei den Partnern: PC Ware, SoftExpress, SOS und Zoschke (befinden sich alle in der Ausstellerhalle) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

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

58 3/30/ :18 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "SQL Server 2008 { Was ist neu für Entwickler? }"

Ähnliche Präsentationen


Google-Anzeigen