Produktivita vývoja nad SQL Server 2008 Miroslav Kubovčík Vývojársky špecialista Microsoft Slovakia Blog: http://blog.aspnet.sk/mirkub/
Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde 9/23/2018 1:03 AM Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde HTTP a SQL Server Visual Studio 2008 pre vývoj a správu databáz © 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.
Nové dátové typy SQL 2008 Date Time DateTime2 (1/1/0000 – 12/31/9999) DateTimeOffset (ukladá časové zóny) HierarchyID (1/2/3) Geometry Geography
Užívateľské dátové typy Veľkosť dát až 2GB SQL 2005 iba 8KB Veľké UDT môžu mať veľkosť -1 Obmedzenie na max. veľkosť BLOB Možnosť previesť na varbinary(max) alebo image
Hierarchické dáta Nový CLR dátový typ HierarchyId pre reprezentáciu pozície v hierarchii Logicky spracováva cestu od koreňa až k listu / /1/ /1/1/ /1/1/1/ /1/1/2/ /1/2/ /2/ /3/ /3/1/ /3/2/
FILESTREAM Neštruktúrované dáta sú uložené priamo do súborového systému (vyžaduje NTFS) Implementovaný ako atribút nad VARBINARY(MAX) Integrovaná správa Súčasť systému pre zálohovanie a obnovu dát Veľkosť obmedzená „voľným miestom“ na súborovom systéme
Dátové typy pre geografické systémy geography Geodetický model (“Glóbus”) Definuje body, čiary a oblasti pomocou zemepisnej dĺžky a šírky Napr. reštaurácie, sklady, línie ciest , oblasti jazier geometry Planárny model (“Mapa”) Definuje body, čiary a oblasti pomocou súradníc Vhodné pre lokálne mapové systémy alebo vnútorné priestory
Dátové typy pre GIS Geografické dátové typy sú k dispozícii ako systémové CLR typy Podporované formáty WKT a WKB GML XML formát Prístupné z ADO.NET Možnosť prepojiť s mapovými systémami napr. Virtual Earth
Indexy geografických typov Geografické dáta používajú pre indexy R-Stromy alebo Quad stromy SQL vykonáva „mapovanie“ geografických údajov do B-stromov Pri tvorbe indexov sa určuje typ mapovania údajov CREATE SPATIAL INDEX sixd ON spatial_table(geom_column) USING GEOMETRY_GRID WITH ( BOUNDING_BOX = ( xmin=0, ymin=0, xmax=500, ymax=200 ), GRIDS = (LOW, LOW, MEDIUM, HIGH), CELLS_PER_OBJECT = 64)
Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde 9/23/2018 1:03 AM Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde HTTP a SQL Server Visual Studio 2008 pre vývoj a správu databáz © 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.
Table-Valued parametre create type mytable as table (ProdCode integer, Qty integer) create proc usp (@t mytable READONLY) as Nový užívateľský dátový typ Vstupný parameter pre funkcie a procedúry Možnosť definovať indexy a obmedzenia Musí byť READONLY Nový systémový pohľad sys.table_types
MERGE Nový príkaz, ktorý kombinuje vkladanie, aktualizáciu a mazanie dát jedným príkazom Implementované podľa ANSI SQL-2006 Transakčný príkaz, triggery sú vyvolané iba raz
MERGE Cieľ môže byť ľubovoľná tabuľka alebo aktualizovateľný pohľad XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX Zdroj Zdroj môže byť ľubovoľná tabuľka alebo „query“ XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX Zdroj Cieľ XXXXX X XXXX XXX XXX Cieľ môže byť ľubovoľná tabuľka alebo aktualizovateľný pohľad
MERGE Zdroj zodpovedá cieľu, UPDATE Zdroj Cieľ XXXXX XXX XXX XXXX XXX
Riadky zdroja nezodpovedajú, INSERT MERGE Zdroj Cieľ XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXX XXX Riadky zdroja nezodpovedajú, INSERT
Cieľ nezodpovedá zdroju, MERGE Zdroj Cieľ XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXXXX XXX XXX XXXX XXX XXXXXXXXXX X XXX XXXX XX XX XXXX XXXXX XXX XX XXX XXX Cieľ nezodpovedá zdroju, DELETE
Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde 9/23/2018 1:03 AM Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde HTTP a SQL Server Visual Studio 2008 pre vývoj a správu databáz © 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.
Moderní weboví klienti Pracujú s oddelenými prezentačnými a dátovými vrstvami Prezentačná vrstva – cez HTTP z web servera Dáta – cez HTTP a XML z prehliadača Moderní weboví klienti používajú Silverlight AJAX
Dáta - webové služby a REST Web.služby aj REST používajú HTTP a XML Web. služby vyžadujú SOAP wrapper a proxy REST je bližšie k jednoduchému XML (POX) Webové služby sú výhodné pre Aplikácie orientované na obchodné procesy Prístup k dátam poskytovaný cez vrstvu fasády REST je výhodný pre Aplikácie orientované na dáta Možnosť využitia aplikačnej logiky Implementácia v ADO.NET Data Services
ADO.NET Data Services REST dátové služby s URI adresáciou služba/cesta/požiadavka „služba“ je založená na WCF „cesta“ korešponduje s modelom entít „požiadavka“ používa HTTP syntax Get - výber Post - vloženie Put - aktualizácia Delete – odstránenie
Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde 9/23/2018 1:03 AM Agenda Dátové typy pre nové aplikačné scenáre Produktivita v TSQL kóde HTTP a SQL Server Visual Studio 2008 pre vývoj a správu databáz © 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.
Visual Studio 2008 SP1 Úplná podpora pre SQL 2008 Nové dátové typy natívne (date, datetime2, datetimeoffset, time) zabudované SQL-CLR typy (geography, geometry, hierarchyid) FileStream vlastnosť v varbinary(max) Nové DDL príkazy Filtrované indexy, riedke stĺpce… Nové DML príkazy Merge, tabuľky ako parametre… Entity Framework Designer
Databázové projekty Produkčná databáza sa zvyčajne považuje za „jedinú verziu pravdy“ Časté zmeny v produkčnej databáze bez ich aplikovania v testovacom systéme Visual Studio Team System Database Edition Systematický prístup k databázovému vývoju VSTS projekt je „jedinou verziou pravdy“ Projekt je možné zaradiť do systému verzovania Nasadenie Vývoj->Test->Produkcia Build Nasadenie
VSTS Database Edition Generovanie dát Unit testy pre databázový kód Systém buildov riešenia Refactoring Porovnávanie schém Porovnávanie dát T-SQL debugging
Kolobeh databázového vývoja MGB 2003 Kolobeh databázového vývoja Editovanie Refactoring Porovnanie Databázový project Nasadenie Build Generovanie dát Testovanie Porovnanie © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Verzovanie Aplikácia Logická databáza class AuctionApplication ( int id; void MethodA(); ) class AuctionApplication ( int id; void MethodA(); void MethodB(); ) class AuctionApplication ( int id; string cacheTitle; void MethodA(); void MethodB(); ) Aplikácia Skripty kontrolované na zdroji a skripty nasadenia nemusia sedieť V 1 História úprav V 2 V 3 CREATE TABLE dbo.Auction ( id INT NOT NULL, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, start DATETIME NULL, len INT NULL ) Logická databáza
Inkrementálne nasadenie CREATE TABLE dbo.Auction ( id INT NOT NULL, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, start DATETIME NULL, len INT NULL ) Logická databáza V 1 História úprav V 2 V 3 Úplné nasadenie Inkrementálne nasadenie CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, start DATETIME NULL, len INT NULL ) ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name)
VSTS 2008 Database Edition GDR Edícia na základoch Visual Studio 2008 SP1 Pridáva podporu pre SQL Server 2008 Nová architektúra Model databázových poskytovateľov schém Oddelenie Build od nasadenia Rozširovateľnosť Power Tools vložené do nástroja Analýza T-SQL kódu Dependency Viewer
VS 2008 a SQL 2008 na vývoj Visual Studio 2008 Professional ...SQL Server 2008 Developer Edition... VS 2008 Professional s predplatným MSDN Professional alebo Premium ...všetky edície SQL Server 2008... VSTS 2008 Database Edition s predplatným MSDN Premium Na pokročilý databázový vývoj a správu Novinka od 1.10.2008 Zadarmo VSTS 2008 Development Edition Pri kúpe zadarmo školenie „Implementácia a správa Team Foundation Servera (MOC6215) v GOPAS-e
Zdroje I. SQL 2008 DevCenter SQL Server Community Worldwide http://msdn.microsoft.com/sk-sk/sqlserver/bb671064(en-us).aspx SQL Server Community Worldwide http://www.sqlcommunity.com/ Blog Gerta Drapera http://blogs.msdn.com/gertd MSDN Forum Visual Studio Team System - Database Professionals http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=725&SiteID=1
Zdroje II. Visual Studio Team System For Database Professionals Website http://msdn2.microsoft.com/en-us/teamsystem/aa718807.aspx Representational State Transfer (REST) http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Virtual Earth http://dev.live.com/virtualearth http://dev.live.com/virtualearth/sdk
TechReady7 Breakout Chalktalk Template Na záver... TechReady7 Breakout Chalktalk Template 9/23/2018 Webové aplikácie Dátové služby Windows Server 2008 SQL Server 2008 SharePoint ASP.NET WPF Aplikácie Mobilné aplikácie © 2008 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.
9/23/2018 1:03 AM © 2008 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.