DATABASE DEVELOPMENT WITH VSTS DATABASE EDITION By Chris Dahlberg ©2009 Aspect Software, Inc. All rights reserved. 1.

Slides:



Advertisements
Similar presentations
Roger Boesch Developer Technical Specialist Developer and Platform Group.
Advertisements

2012 © Trivadis BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN Welcome November 2012 Effiziente Data.
Ibiza, June 6 th 2011 Advanced Database Install Scripts.
XUnit Style Database Unit Testing ACCU London – 20 th January 2011 Chris Oldwood
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET.
SQL Overview Defining a Schema CPSC 315 – Programming Studio Spring 2008 Project 1, Lecture 3 Slides adapted from those used by Jeffrey Ullman, via Jennifer.
(code name: Data Dude) Josh Robinson Aculix.
Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Published: June 2008 Using Visual Studio 2008 to Improve Software Development.
SQL Server Management Studio Introduction
Simple Web SQLite Manager/Form/Report
 Gert E.R. Drapers Group Engineering Manager Microsoft Corporation TL45.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Data-tier Application, Import, Refactoring, Publish, Schema Comparison, Database Unit Testing Borislav Statev Telerik Software Academy academy.telerik.com.
SQL Overview Defining a Schema CPSC 315 – Programming Studio Slides adapted from those used by Jeffrey Ullman, via Jennifer Welch Via Yoonsuck Choe.
Copyright © 2006, SAS Institute Inc. All rights reserved. What Is New in SAS Profitability Management (PrM) 2.1? Authors: Jack Zhang Solution & Version:
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Databases in Visual Studio. Database in VisualStudio An MS SQL database are built in Visual studio The Name can be something like ”(localdb)\Projects”
Chapter 15: Using LINQ to Access Data in C# Programs.
Tom Castiglia Hershey Technologies
Managing the Database Lifecycle using Team Edition for Database Professionals Randy Pagels Developer Technology Specialist Microsoft Corporation.
Oracle Application Express. Program Agenda Oracle Application Express Overview Use Cases Key Features Packaged Applications Packaging Pricing Call to.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
Access 2013 Platform Overview Access Low up-front investment Easy to evolve and iterate Easy adoption One version of the truth Easy to collaborate.
17-20 OCTOBER 2011 DURBAN ICC. What code-database gap? Introducing Project Codename “Juneau” William
SQL: DDL. SQL Statements DDL - data definition language –Defining and modifying data structures (metadata): database, tables, views, etc. DML - data manipulation.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
Kako razvijate PL/SQL pakete? File based PL/SQL development Mitja Golouh SIOUG 2006,
ALM and practical guidance for VSTS Database Projects Jens K. Suessmeyer Developer hearted, relational minded Visual Studio ALM Core Ranger
Database projects in visual studio 2010 Anthony Brown
Database Projects in Visual Studio Improving Reliability & Productivity.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Module 1 Introduction to SQL Server® 2008 R2 and its Toolset.
Adxstudio Portals Training
CIS 375—Web App Dev II ASP.NET 1 Getting Started.
Azure databases 1. Azure storage possibilities Azure offers several storage possibilities Microsoft SQL Server database MySQL database Azure Document.
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
Virtual techdays INDIA │ august 2010 Data-tier Applications in Visual Studio 2010 Abhishek Kala │ Partner Technical Consultant, Microsoft Global.
DATABASE DEVELOPMENT WITH VISUAL STUDIO 2010 Chris Dahlberg 1.
Introducing Application and Multi-Server Management.
Introduction to MySQL  Working with MySQL and MySQL Workbench.
 What is DB Testing ?  Testing at the Data Access Layer  Need for Testing DB Objects  Common Problems that affect the Application  Should Testers.
Developing SQL/Server database in Visual Studio Introducing SQL /Server Data Tools Peter Lu.Net Practices Director Principle Architect Nexient March 19.
Sql Server 2012 Data Tools & Development Enhancements Emrah USLU Teknoloji Danışmanı TCM | Teknoloji Çözümleri Merkezi.
1 Copyright © 2005, Oracle. All rights reserved. Oracle Database Administration: Overview.
Others Talk, We Listen. Managing Database Projects in Visual Studio 2013.
Introduction to SSDT Daniel Maxic Important note: in order to make this presentation I have used some of the content.
Building Enterprise Applications Using Visual Studio®
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
Azure Automation and Logic Apps:
SQL Server Data Tools Gert Drapers
SQL OVERVIEW DEFINING A SCHEMA
Modern Systems Analysis and Design Third Edition
Rick Negrin, Program Manager Adrian Bethune, Program Manager Microsoft
Modern Systems Analysis and Design Third Edition
What about the Data Dude?
Data Definition Language
Data Definition Language
Change Is Easy! Managing Change is Hard
Modern Systems Analysis and Design Third Edition
Mark Quirk Head of Technology Developer & Platform Group
PNW SQL Users Group August 10th, 2011
Presentation transcript:

DATABASE DEVELOPMENT WITH VSTS DATABASE EDITION By Chris Dahlberg ©2009 Aspect Software, Inc. All rights reserved. 1

2 “Legacy” Database Development  Difficult to implement change management Full database backups CREATE/ALTER scripts  Difficult for offline development  Difficult to integrate into ALM Lack of proper versioning tools Lack of formal testing tools

The Solution: Database Development Life Cycle  Database development in Visual Studio Include databases in Visual Studio solution  Source Code Control (SCC) Let the developer declare database schema The tools figure out how to create/modify the database  Simplified Deployment  Code Analysis  Refactoring  Unit Testing  Build automation

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, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) class Auction { int id; void MethodA(); } class Auction { int id; void MethodA(); } ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_PK PRIMARY KEY (id) ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_PK PRIMARY KEY (id) ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) class Auction { int id; void MethodA(); void MethodB(); } class Auction { int id; void MethodA(); void MethodB(); } class Auction { int id; string cacheTitle; void MethodA(); void MethodB(); } class Auction { int id; string cacheTitle; void MethodA(); void MethodB(); } Version Control ChallengeDatabaseDatabase Revision History AppApp V 1 V 2 V 3

-- version 1 Add table dbo.Auction IF OBJECT_ID (N'dbo.Auction', N'U') IS NULL BEGIN CREATE TABLE dbo.Auction ( id INT NOT NULL, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) END -- version 2 Add PK Au_PK IF NOT EXISTS (SELECT * FROM sys.key_constraints WHERE name = 'Au_PK' AND type = 'PK') BEGIN ALTER TABLE Auction WITH CHECK ADD CONSTRAINT Au_PK PRIMARY KEY (id) END -- version 3 Add UC Au_SK IF NOT EXISTS (SELECT * FROM sys.key_constraints WHERE name = 'Au_SK' AND type = ‘UQ') BEGIN ALTER TABLE Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) END -- version 1 Add table dbo.Auction IF OBJECT_ID (N'dbo.Auction', N'U') IS NULL BEGIN CREATE TABLE dbo.Auction ( id INT NOT NULL, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) END -- version 2 Add PK Au_PK IF NOT EXISTS (SELECT * FROM sys.key_constraints WHERE name = 'Au_PK' AND type = 'PK') BEGIN ALTER TABLE Auction WITH CHECK ADD CONSTRAINT Au_PK PRIMARY KEY (id) END -- version 3 Add UC Au_SK IF NOT EXISTS (SELECT * FROM sys.key_constraints WHERE name = 'Au_SK' AND type = ‘UQ') BEGIN ALTER TABLE Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) END Manual Versioning

class Auction ( int id; void MethodA(); ) class Auction ( int id; void MethodA(); ) 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, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) Logical Database Version Control The “Visual Studio” Approach Revision History AppApp V 1 V 2 V 3 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, 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 ) CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, start DATETIME NULL, len INT NULL ) class Auction ( int id; void MethodA(); void MethodB(); ) class Auction ( int id; void MethodA(); void MethodB(); ) class Auction ( int id; string cacheTitle; void MethodA(); void MethodB(); ) class Auction ( int id; string cacheTitle; void MethodA(); void MethodB(); )

CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, 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 ) 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, 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, start DATETIME NULL, len INT NULL ) Incremental Deployment Logical Database Deployment The “Visual Studio” Approach Revision History CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, 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 ) New Deployment ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) V 1 V 2 V 3

2008 Database Data Generation Plan  Creating Databound Data Generation Plans for large database schemas was a sizable upfront investment: Each field had to be configured to use sequential databound generators Each data bound generator required a connection to a database Could not easily include data from existing databases for all tables and then customize as needed

Database project types Database Project Available for SQL Server 2005 and SQL Server 2008 Defines a user database Supports all objects implemented by the respective SQL Server version Server Project Available for SQL Server 2005 and SQL Server 2008 Defines server-level objects and modifications to the SQL master database Examples of server-level objects are logins and custom error messages Data-tier Application Component Defines databases that will be deployed to SQL Server Utilities A DAC is a self-contained unit of management that defines and bundles database objects and SQL Server instance objects that are associated with the database and deployment requirements

VSTS Database Tools Roadmap ©2009 Aspect Software, Inc. All rights reserved. 10 Offline Change management SQL 2000/2005 ALM support for databases SQL 2008 support Separated Build and Deploy No “DesignDB” required SQL 2008 R2 support SQL IntelliSense Support for 3 rd party database platforms Data-tier Application Component Projects introduced Data-tier Application Component projects and Database projects operate SxS SQL Azure support Visual Designers Single deployment engine Mission critical app support Full support for SQL objects Project system enhancements ALM feature enhancements vNext Vision Combine the best of Data-tier Application Component and Database Projects

Schema Compare Database Features in Visual Studio Versions Data Compare Refactoring Data Generation* Database Unit Testing* Static Code Analysis* Project System IntelliSense Build Deploy Build Integration Command Line Deploy