dev331 visual studio team edition for database professionals 概述

41
DEV331 DEV331 Visual Studio Team Visual Studio Team Edition for Database Edition for Database Professionals Professionals 概概 概概

Upload: cid

Post on 25-Jan-2016

91 views

Category:

Documents


0 download

DESCRIPTION

DEV331 Visual Studio Team Edition for Database Professionals 概述. 课程内容概述. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DEV331 Visual Studio Team Edition for Database Professionals 概述

DEV331DEV331 Visual Studio Team Edition Visual Studio Team Edition for Database Professionalsfor Database Professionals 概概述述

Page 2: DEV331 Visual Studio Team Edition for Database Professionals 概述

课程内容概述课程内容概述

VSTSVSTS 今年年底将发布新的版本,今年年底将发布新的版本, Visual Studio Visual Studio Team Edition for Database Professionals. Team Edition for Database Professionals. 它为企业提供了它为企业提供了 SQL Server 2000SQL Server 2000 和和 SQL SQL Server 2005Server 2005 的管理的管理 , , 开发和测试工具开发和测试工具 . . 同时,同时,作为作为 VSTSVSTS 的一个角色版本,可以利用的一个角色版本,可以利用 Team Team Foundation ServerFoundation Server 提供的全部软件生命周期管提供的全部软件生命周期管理功能。本课程将对理功能。本课程将对 Visual Studio Team Visual Studio Team Edition for Database ProfessionalsEdition for Database Professionals 提供的功提供的功能和思想进行论述和演示能和思想进行论述和演示

Page 3: DEV331 Visual Studio Team Edition for Database Professionals 概述

课程内容安排课程内容安排

VSTDBVSTDB 简介简介VSTDBVSTDB 能为我们做什么能为我们做什么

管理数据库的变更管理数据库的变更项目和数据的生成项目和数据的生成确认变更的正确性确认变更的正确性 – – 测试测试创建可管理的变更创建可管理的变更生成和部署生成和部署

其它资源其它资源Q&AQ&A

Page 4: DEV331 Visual Studio Team Edition for Database Professionals 概述

Visual StudioVisual StudioVisual StudioVisual Studio

Visual Visual Studio Studio •高效的高效的•强大的强大的•易于使用的易于使用的•世界级的世界级的 IDEIDE• 适用于各种应用开发适用于各种应用开发

开发人员

Page 5: DEV331 Visual Studio Team Edition for Database Professionals 概述

架构师

项目经理

测试人员

设计人员

Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System

VS Team VS Team SystemSystem

• 适用于团队开发适用于团队开发• 提高团队的生产效率和团队的协提高团队的生产效率和团队的协

作作• 管理软件开发生命周期的平台管理软件开发生命周期的平台

开发人员

Page 6: DEV331 Visual Studio Team Edition for Database Professionals 概述

业务分析人员

PMO

操作人员

CIO

应用支持人员

架构师

项目经理

测试人员

设计人员

Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System

开发人员

Page 7: DEV331 Visual Studio Team Edition for Database Professionals 概述

Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SystemVisual Studio Team System

业务分析人员

PMO

操作人员

CIO

应用支持人员

架构师

项目经理

测试人员

设计人员

开发人员

数据库专业人士

Team Edition for Team Edition for Database Database ProfessionalsProfessionals

• 适用于数据层开发团队适用于数据层开发团队• 可以高效、便捷的管理数据库变更可以高效、便捷的管理数据库变更• 增加了团队的生产效率和增进了团队的协作增加了团队的生产效率和增进了团队的协作• 与与 VSTSVSTS 其它角色版本整合其它角色版本整合

Page 8: DEV331 Visual Studio Team Edition for Database Professionals 概述

我们听到的来自软件开发企业的声音我们听到的来自软件开发企业的声音 “ “我们为什么需要我们为什么需要 VSTDB…”VSTDB…”

管理数据库的变更是困难的管理数据库的变更是困难的…… ..技术上的尝试可能需要您将数据库结构进行暂时的修改,技术上的尝试可能需要您将数据库结构进行暂时的修改,如果尝试失败又可能需要将数据库的恢复成原来的状态,如果尝试失败又可能需要将数据库的恢复成原来的状态,而一个 而一个 Rollback Rollback 可能需要一个漫长的夜晚可能需要一个漫长的夜晚对数据库对象进行开发的时候,没有对所开发的数据库对数据库对象进行开发的时候,没有对所开发的数据库对象进行版本控制对象进行版本控制因为前期没有对所开发的数据库对象做好测试,在后期因为前期没有对所开发的数据库对象做好测试,在后期发现其存在错误发现其存在错误

与早期发现相比与早期发现相比 ,, 将增加成本的支出将增加成本的支出客户需求的变化导致数据库结构的变化,程序代码不得客户需求的变化导致数据库结构的变化,程序代码不得不进行修改,这将增加开发的成本投入不进行修改,这将增加开发的成本投入

程序代码开发团队和数据库开发团队缺少联系程序代码开发团队和数据库开发团队缺少联系需要更进一步的整合需要更进一步的整合

Page 9: DEV331 Visual Studio Team Edition for Database Professionals 概述

通过使用通过使用 VSTDB, VSTDB, 数据库开发人员可以在一个数据库开发人员可以在一个””测试环境测试环境””中,改变数据库的架构和其中的数据,中,改变数据库的架构和其中的数据,而这些操作我们以前通常要在实际的数据库中进而这些操作我们以前通常要在实际的数据库中进行行VSTDBVSTDB 中的数据生成器中的数据生成器 (Data Generator)(Data Generator) 可以可以模拟测试数据。当数据库的架构被修改的时候模拟测试数据。当数据库的架构被修改的时候 , , VSTDBVSTDB 可以精确地告诉我们数据库受到的影响可以精确地告诉我们数据库受到的影响

Page 10: DEV331 Visual Studio Team Edition for Database Professionals 概述

VSTDBVSTDB 中的版本控制可以让我们像对程序源代码中的版本控制可以让我们像对程序源代码那样,对数据库的架构进行版本控制那样,对数据库的架构进行版本控制 . .

VSTDBVSTDB 可以让我们跟踪 针对 数据库 架构 的签入可以让我们跟踪 针对 数据库 架构 的签入和签出操作和签出操作 , , 可以告诉我们是谁对数据库的架构可以告诉我们是谁对数据库的架构进行了操作进行了操作

Page 11: DEV331 Visual Studio Team Edition for Database Professionals 概述

管理数据库架构的改变管理数据库架构的改变

支持数据开发生命周期支持数据开发生命周期 ( DDLC )( DDLC ) 的工具的工具整合数据开发生命周期整合数据开发生命周期 ( DDLC )( DDLC ) 到到 整个软件开整个软件开发生命周期发生命周期 ( SDLC )( SDLC ) 中中

VSDTBVSDTB 的主要功能的主要功能

Page 12: DEV331 Visual Studio Team Edition for Database Professionals 概述

通过导入生产数据库中的架构对象通过导入生产数据库中的架构对象 , , 创建该数据创建该数据库库””离线的离线的””架构对象的存储架构对象的存储

当离线的数据库架构对象创建完成后当离线的数据库架构对象创建完成后 , , 我们可以我们可以将这些数据库的架构对象通过将这些数据库的架构对象通过 Team Team Foundation ServerFoundation Server 或兼容或兼容 MSCCIMSCCI 的软件进行的软件进行版本控制版本控制我们可以充分利用我们可以充分利用 Team Foundation ServerTeam Foundation Server 版版本控制功能本控制功能在准备部署最终的数据库架构对象的变更之前在准备部署最终的数据库架构对象的变更之前 ,, 我我们可以通过们可以通过 Team SystemTeam System 与团队中的其他人员与团队中的其他人员进行协作进行协作

管理数据库架构的改变管理数据库架构的改变

Page 13: DEV331 Visual Studio Team Edition for Database Professionals 概述

支持数据开发生命周期支持数据开发生命周期 ( DDLC )( DDLC ) 的工的工具具 VSTDB VSTDB 可以实现可以实现 , , 测试测试 ,, 创建创建 和部署一个特定和部署一个特定

的数据库变更的数据库变更VSTDBVSTDB 可以减少因更改数据库的架构而引起的风可以减少因更改数据库的架构而引起的风险险

风险的降低是通过风险的降低是通过 VSTDBVSTDB 对数据库对象提供单元测试对数据库对象提供单元测试的支持而实现的的支持而实现的

支持数据库对象的重构支持数据库对象的重构

VSTDBVSTDB 支持直接生成和部署数据库支持直接生成和部署数据库

Page 14: DEV331 Visual Studio Team Edition for Database Professionals 概述

整合数据开发生命周期到 整个软件整合数据开发生命周期到 整个软件开发生命周期中开发生命周期中

与与 Team SystemTeam System 的其它团队版本的紧密整合,的其它团队版本的紧密整合,为参与数据库开发的团队成员提供了一个参与协为参与数据库开发的团队成员提供了一个参与协作的公共平台作的公共平台

VSTDBVSTDB 可以让参与数据库开发的团队成员使用工可以让参与数据库开发的团队成员使用工作项作项 (Work items) (Work items) ;可以对数据库对象进行单;可以对数据库对象进行单元测试;并且数据库项目可以与应用程序一起,元测试;并且数据库项目可以与应用程序一起,进行自动构建进行自动构建

Page 15: DEV331 Visual Studio Team Edition for Database Professionals 概述

将数据库架构的开发过程将数据库架构的开发过程 整合到了软件开发生命周期中整合到了软件开发生命周期中 , VSTDB, VSTDB 提供给数据库开发提供给数据库开发团队一个可以管理数据库变更和进行数据库开发过程管理的工具团队一个可以管理数据库变更和进行数据库开发过程管理的工具 ..

将数据库架构的开发过程将数据库架构的开发过程 整合到了软件开发生命周期中整合到了软件开发生命周期中 , VSTDB, VSTDB 提供给数据库开发提供给数据库开发团队一个可以管理数据库变更和进行数据库开发过程管理的工具团队一个可以管理数据库变更和进行数据库开发过程管理的工具 ..

数据库变更管理数据库变更管理基于项目的开发基于项目的开发

项目模型 项目模型 把数据库架构信息表示成 项目,把数据库架构信息表示成 项目, 使得我们可以在使得我们可以在 Visual StudioVisual Studio 中进行离线的数据中进行离线的数据库对象的开发库对象的开发团队协作 团队协作 使用 使用 Team Foundation Server Team Foundation Server 实现团队协作 实现团队协作

便捷的变更支持便捷的变更支持重命名重构重命名重构比较工具比较工具 (Schema & Data Compare) (Schema & Data Compare) 允许在设计和开发时所用数据库 与 实际生产数据允许在设计和开发时所用数据库 与 实际生产数据库之间,比较或同步数据库的架构信息和数据库之间,比较或同步数据库的架构信息和数据源代码源代码 // 版本控制版本控制 通过使用版本控制,所有的数据库对象都可以恢复到以前的状态 通过使用版本控制,所有的数据库对象都可以恢复到以前的状态

数据库单元测试数据库单元测试与与 Team SystemTeam System 中的测试功能整合中的测试功能整合通过从实际数据库导入信息,例如行信息等, 通过从实际数据库导入信息,例如行信息等, VSTDBVSTDB 将可以生成将可以生成 “ “真实和有意义的真实和有意义的” ” 数据值,数据值,用于单元测试 用于单元测试 数据生成器数据生成器 (Data Generator )(Data Generator ) 提供了 提供了 可重复可重复 DatasetDataset 生成器生成器 (Repetitive Dataset (Repetitive Dataset Generation)Generation) 用于测试时使用用于测试时使用

生成 生成 / / 部署部署MSBuildMSBuild 整合 整合 用于基于项目用于基于项目 (Project)(Project) 的数据库的部署的数据库的部署 // 生成生成既可以在目标位置 既可以在目标位置 创建创建 一个新的数据库 一个新的数据库 ,也可以 ,也可以 修改修改 一个已经存在的数据库架构 一个已经存在的数据库架构

Page 16: DEV331 Visual Studio Team Edition for Database Professionals 概述

采用传统的方法采用传统的方法…………

对数据库的架构变更管对数据库的架构变更管理困难理困难数据库架构和数据一般数据库架构和数据一般都保存在生产数据库中都保存在生产数据库中开发人员会对数据库架开发人员会对数据库架构进行变更,在没有部构进行变更,在没有部署这些变更到生产数据署这些变更到生产数据库前,数据库管理员一库前,数据库管理员一般很难测试这些变更般很难测试这些变更对生产数据库进行了变对生产数据库进行了变更 ,在发现问题后,不更 ,在发现问题后,不能随意的进行回滚能随意的进行回滚

生产用生产用数据库数据库生产用生产用数据库数据库

ManagemeManagement Studiont Studio

SchemaSchemaSchema ChangesSchema Changes

Page 17: DEV331 Visual Studio Team Edition for Database Professionals 概述

使用使用 VSTDBVSTDB 与传统的方法比较与传统的方法比较对数据库架构 的变更现在可以由对数据库架构 的变更现在可以由 VSTDB VSTDB 结合 结合 Team Foundation Team Foundation Server Server 进行管理进行管理数据库的架构对象可以进行版本控数据库的架构对象可以进行版本控制制

生产用生产用数据库数据库生产用生产用数据库数据库

ManagemeManagement Studiont Studio

数据库的架构对象数据库的架构对象 •离线的 离线的 •可以进行版本控制可以进行版本控制

SchemaSchema

Schema ChangesSchema Changes

Page 18: DEV331 Visual Studio Team Edition for Database Professionals 概述

Visual Studio Team SystemVisual Studio Team SystemVisual Studio Team SuiteVisual Studio Team Suite

MS

F P

rocess a

nd

Gu

idan

ce

MS

F P

rocess a

nd

Gu

idan

ce

Visual Studio Team Foundation ServerVisual Studio Team Foundation Server

VisualVisualStudioStudio

IndustryIndustryPartnersPartners

SoftwareSoftwareArchitectsArchitects

SoftwareSoftwareDevelopersDevelopers

SoftwareSoftwareTestersTesters

DatabaseDatabaseProfessionalsProfessionalsVisualVisual

StudioStudioTeamTeam

ExplorerExplorer应用建模应用建模

架构和部署建模架构和部署建模

代码分析代码分析

性能优化性能优化

安全分析安全分析 数据库构建和部署数据库构建和部署

数据库变更管理数据库变更管理

数据库测试数据库测试

性能测试性能测试

手工测试手工测试

测试用例管理测试用例管理

Visual Studio Visual Studio 专业版专业版

变更管理变更管理

工作项跟踪工作项跟踪

报表报表

项目站点项目站点

整合服务整合服务

项目管理项目管理

负载测试代理负载测试代理

VisioVisio 和 和 UMLUML 建模建模

类建模类建模

单元测试单元测试

代码测试覆盖分析代码测试覆盖分析

New!New!

Page 19: DEV331 Visual Studio Team Edition for Database Professionals 概述

集成地数据存储集中了团队项目的所有数据 ,便于进行项目

相关的数据分析

实时报表为实时决策提供支持

过程管理减少项目实现过程中的不确定性和不可预见性

Team Foundation ServerTeam Foundation Server减少项目的风险减少项目的风险

Page 20: DEV331 Visual Studio Team Edition for Database Professionals 概述

使用

DB

PR

O 

实 

现 

数 

据 

库 

的 

团 

队 

开 

编写测试

编写数据库代码

重构

运行测试

代码签入 评审变更

将所做的变更与 生产机 做比较

生成部署包

部署到 生产机

创建新的数据库项目

把数据库逆向工程到项目

创建数据生成计划

管理管理 开发开发 部署部署

数据库管理员 数据库开发人员 数据库管理员

场景场景““ Northwind TradersNorthwind Traders 公司的数据库变更管理”公司的数据库变更管理”

Page 21: DEV331 Visual Studio Team Edition for Database Professionals 概述

创建创建 BaselineBaseline数据库项目数据库项目

Page 22: DEV331 Visual Studio Team Edition for Database Professionals 概述

创建项目创建项目核心思想核心思想 : : 数据库架构数据库架构 (( 对象对象 )) 的离线开发的离线开发把一系列文件集合到逻辑集合中把一系列文件集合到逻辑集合中可以包含在一个解决方案中可以包含在一个解决方案中可以使用任何兼容 可以使用任何兼容 SCCI SCCI 的版本控制软件进行版的版本控制软件进行版本控制,例如本控制,例如 : Team Foundation Server: Team Foundation Server

Page 23: DEV331 Visual Studio Team Edition for Database Professionals 概述

测试用 测试用 数据库数据库测试用 测试用 数据库数据库

生产用生产用数据库数据库生产用生产用数据库数据库

Create table AUCTION( id int not null,title varchar(25) not null,startDate DateTime not null,length in not null)

从生产机载入数据库架构对象,产生项目从生产机载入数据库架构对象,产生项目以前我们对数据库架构对象的变更将会立即生效以前我们对数据库架构对象的变更将会立即生效使用“离线项目”后,只有我们部署了相应的变更,使用“离线项目”后,只有我们部署了相应的变更,这些变更才会生效这些变更才会生效

数据库架构对象的 离线 开发数据库架构对象的 离线 开发

Page 24: DEV331 Visual Studio Team Edition for Database Professionals 概述

测试测试VSTDBVSTDB 提供了一个可靠的测试平台,支持测试数提供了一个可靠的测试平台,支持测试数据的自动生成据的自动生成确定性 确定性 – – 总是生成相同的框架总是生成相同的框架可以匹配数据库的架构并且很容易进行定制可以匹配数据库的架构并且很容易进行定制具有扩展机制,可以创建我们自己的生成器具有扩展机制,可以创建我们自己的生成器

功能特点功能特点 : DataGenerator: DataGenerator

Page 25: DEV331 Visual Studio Team Edition for Database Professionals 概述

创建项目和导入数据库架构信息创建项目和导入数据库架构信息创建项目和导入数据库架构信息创建项目和导入数据库架构信息

Page 26: DEV331 Visual Studio Team Edition for Database Professionals 概述

测试测试确保稳定性确保稳定性

Page 27: DEV331 Visual Studio Team Edition for Database Professionals 概述

单元测试单元测试

单元测试可以帮助我们验证变更的正确性单元测试可以帮助我们验证变更的正确性单元测试设计器是基于单元测试设计器是基于 SQL SQL 的的

我们可以选择这些语言我们可以选择这些语言 : TSQL, VB, C#: TSQL, VB, C#

基于基于 Team TesterTeam Tester 版本中的团队单元测试的功能版本中的团队单元测试的功能

Page 28: DEV331 Visual Studio Team Edition for Database Professionals 概述

我们可以测试我们可以测试…… ....

存储过程存储过程函数函数触发器触发器任意的任意的 SQLSQL语句语句RTMRTM 版本时将会支持自动部署变更到测试用数据版本时将会支持自动部署变更到测试用数据库,支持自动生成数据库,支持自动生成数据可靠的数据生成确保稳定的测试状态可靠的数据生成确保稳定的测试状态可以把数据层的对象 与 应用程序层代码一起进行可以把数据层的对象 与 应用程序层代码一起进行测试 测试 ( VSTS( VSTS 支持支持 ))

Page 29: DEV331 Visual Studio Team Edition for Database Professionals 概述

通过测试确保变更的正确性通过测试确保变更的正确性通过测试确保变更的正确性通过测试确保变更的正确性

Page 30: DEV331 Visual Studio Team Edition for Database Professionals 概述

管理变更管理变更管理变更管理变更Controlling what happensControlling what happens

Page 31: DEV331 Visual Studio Team Edition for Database Professionals 概述

管理变更管理变更

变更是在变更是在””项目项目””中,而中,而””项目项目””存放在本地存放在本地项目可以和数据库进行比较项目可以和数据库进行比较所有的元素都可以通过版本控制进行管理所有的元素都可以通过版本控制进行管理任何任何 SCCI SCCI 兼容的版本控制系统兼容的版本控制系统

模版模版 支持支持 SQL 2000 SQL 2000 和 和 SQL 2005SQL 2005

Page 32: DEV331 Visual Studio Team Edition for Database Professionals 概述

操作项目操作项目

添加新元素 添加新元素 修改已经存在的元素修改已经存在的元素删除项目删除项目部署增量的修改部署增量的修改

Page 33: DEV331 Visual Studio Team Edition for Database Professionals 概述

重构重构

带来了对带来了对 SQLSQL 进行重构的强大功能进行重构的强大功能级联更改级联更改

更改在数据库项目中的所有依赖对象更改在数据库项目中的所有依赖对象 Schema objects, Data generation, Unit Tests, Schema objects, Data generation, Unit Tests, SQL ScriptsSQL Scripts

创建原子性更改创建原子性更改重命名重命名

使其符合团队开发的标准使其符合团队开发的标准更清晰的表达语义更清晰的表达语义

Page 34: DEV331 Visual Studio Team Edition for Database Professionals 概述

创建变更创建变更创建变更创建变更

Page 35: DEV331 Visual Studio Team Edition for Database Professionals 概述

管理变更管理变更安全部署安全部署

Page 36: DEV331 Visual Studio Team Edition for Database Professionals 概述

生成和部署生成和部署Standard VS build taskStandard VS build task

配置配置New vs. Update buildsNew vs. Update builds

项目的项目的 buildbuild 属性属性用来进行用来进行 buildbuild 的的 SchemaSchema 的比较 的比较

部署之前部署之前 // 之后 的之后 的 scriptsscripts

部署 部署 借助于借助于 SQL query toolSQL query tool 进行部署进行部署借助于借助于 MSBuild taskMSBuild task 进行部署进行部署RTM: SQLCMD RTM: SQLCMD 命令支持命令支持

Page 37: DEV331 Visual Studio Team Edition for Database Professionals 概述

生成和部署生成和部署生成和部署生成和部署

Page 38: DEV331 Visual Studio Team Edition for Database Professionals 概述

价格价格 , , 许可信息和发布时间许可信息和发布时间

包含在 包含在 Team SuiteTeam Suite 中中可以单独购买可以单独购买

与其他与其他 Team System Team System 中版本一样的价格中版本一样的价格http://msdn.microsoft.com/vstudio/howtobuy/http://msdn.microsoft.com/vstudio/howtobuy/default.aspxdefault.aspx

发布时间发布时间CTP 5CTP 5已经推出已经推出

http://msdn.microsoft.com/vstudio/teamsystem/http://msdn.microsoft.com/vstudio/teamsystem/products/dbpro/products/dbpro/

RTM RTM 版本将在版本将在 20062006 年年底推出年年底推出

Page 39: DEV331 Visual Studio Team Edition for Database Professionals 概述

其它其它

VSTDBVSTDB 提供了可管理的提供了可管理的 ,, 面向项目的新的数据库面向项目的新的数据库架构管理工具架构管理工具免费获取 免费获取 CTPCTP 版本 版本

http://msdn.microsoft.com/http://msdn.microsoft.com/

VSTDB CTPVSTDB CTP 版本使用反馈 版本使用反馈 (good & bad)(good & bad)http://forums.microsoft.com/MSDN/http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=725&SiteID=1ShowForum.aspx?ForumID=725&SiteID=1

Page 40: DEV331 Visual Studio Team Edition for Database Professionals 概述

其它的资源其它的资源Technical Chats and Webcastshttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

MSDN & TechNet http://microsoft.com/msdnhttp://microsoft.com/technet

Virtual Labshttp://www.microsoft.com/technet/traincert/virtuallab/rms.mspx

Newsgroupshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx

Technical Community Siteshttp://www.microsoft.com/communities/default.mspx

User Groupshttp://www.microsoft.com/communities/usergroups/default.mspx

Page 41: DEV331 Visual Studio Team Edition for Database Professionals 概述