uml e modelagem de dados com visual studio .net

25
LabTech Laboratório Técnico Manual do Laboratório – DEV024 UML e Modelagem de dados com Visual Studio .NET Data de revisão: Abril de 2004

Upload: lossilva

Post on 08-Nov-2015

16 views

Category:

Documents


7 download

DESCRIPTION

UML e Modelagem de Dados

TRANSCRIPT

Hands-On Lab

LabTech

Laboratrio TcnicoManual do Laboratrio DEV024

UML e Modelagem de dados com Visual Studio .NET

As informaes neste documento esto sujeitas a alteraes sem aviso prvio. Os exemplos de companhias, organizaes, produtos, pessoas, e eventos utilizados neste documento so fictcios. Nenhuma associao com qualquer companhia, organizao, produto, pessoa ou evento reais deve ser entendida como inferida. Respeito a qualquer lei aplicvel de direito de cpia de inteira responsabilidade do usurio. Sem limitar os direitos sobre a obra, nenhuma parte deste documento pode ser reproduzida, armazenada ou introduzida em um sistema de armazenamento, ou transmitida em nenhuma forma ou por nenhum meio (eletrnico, mecnico, fotocpia, gravao ou qualquer outro), ou por qualquer motivo, sem expressa permisso por escrito de Microsoft Corporation.

Microsoft pode ter patentes, pedidos de patentes, marcas registradas, ou outro direito de propriedade intelectual cobrindo os assuntos em questo deste documento. Exceto quando expressamente fornecido em qualquer acordo de licena por escrito da Microsoft, a fabricao deste documento no te d nenhuma licena a estas patentes, marcas registradas, direito sobre a obra, ou outra propriedade intelectual.

2006 Microsoft Corporation. Todos os direitos reservados.

Microsoft, MS-DOS, MS, Windows, Windows NT, MSDN, Active Directory, BizTalk, SQL Server, SharePoint, Outlook, PowerPoint, FrontPage, Visual Basic, Visual C++, Visual J++, Visual InterDev, Visual SourceSafe, Visual C#, Visual J#, e Visual Studio so todos marcas registradas ou marcas de Microsoft Corporation nos Estados Unidos e/ou outros pases.

Outros nomes de produtos e empresas descritos aqui podem ser marcas registradas de seus respectivos donos.ndice

1Lab 1: Modelagem UML com Visual Studio .NET

1Requisitos

1Objetivos do Lab

1Exerccio 1 Criando um diagrama de caso de uso

2Tarefa 1 Criando um diagrama de caso de uso

2Tarefa 2 Adicionando casos de uso ao diagrama

3Exerccio 2 Criando um diagrama de seqncia

3Tarefa 1 Adicionando um diagrama de seqncia ao modelo

4Tarefa 2 Adicionando linha de tempo ao diagrama de seqncia

4Tarefa 3 Adicionando retngulos de ativao no diagrama de seqncia

4Tarefa 4 Adicionando mensagens ao diagrama de seqncia

6Exerccio 3 Criando um diagrama de classe

6Tarefa 1 Adicionando um diagrama de classe ao modelo

6Tarefa 2 Adicionando classes ao diagrama de classe

7Exerccio 4 Gerando cdigo do modelo

7Tarefa 1 Gerando o cdigo

8Exerccio 5 Engenharia reversa de cdigo para um diagrama de classe

8Tarefa 1 Abrindo um projeto existente

8Tarefa 2 Engenharia reversa no projeto para um modelo UML no Visio

9Resumo do Laboratrio

10Lab 2: Modelagem de dados usando o Visual Studio .NET

10Requisitos

10Objetivos do Lab

10Exerccio 1 Desenho conceitual usando Object Role Modeling (ORM)

10Tarefa 1 Criando um novo modelo ORM

11Tarefa 2 Adicionando sentenas usando o editor de fatos

12Tarefa 3 Mostrando tipos de sentena no desenho

13Exerccio 2 Criando os modelos fsico e lgico de banco de dados

13Tarefa 1 Criando um modelo lgico de banco de dados a partir do modelo ORM

14Tarefa 2 Criando um modelo fsico de banco de dados a partir do modelo lgico

15Exerccio 3 Engenharia reversa no modelo de dados

15Tarefa 1 Engenharia reversa em um esquema existente de banco de dados

16Tarefa 3 Atualizando o banco de dados existente

16Resumo do Laboratrio

Lab 1: Modelagem UML com Visual Studio .NET

Requisitos

De forma a completar este lab, voc precisar:

Acesso a um SQL server, configurado com autenticao integrada com o Windows.

Acesso ao banco de dados Northwind no SQL Server.

Acesso a um servidor IIS, com a aplicao web PetShop instalada.

Objetivos do Lab

Tempo estimado para completar este lab: 45 minutosO objetivo deste lab criar um modelo de aplicao usando a Unified Modeling Language (UML) e o Microsoft Visio, gerar cdigo a partir desde modelo, e engenharia reversa no cdigo a partir de um projeto existente para criar um novo modelo.

O lab consiste em cinco exerccios:

Exerccio 1: Criando um diagrama de caso de uso

Criando um diagrama Use Case de um sistema de aluguel de carro.

Exerccio 2: Criando um diagrama de seqncia

Criando um diagrama de seqncia baseado no diagrama de caso de uso.

Exerccio 3: Criando um diagrama de classes

Criando um diagrama de classes baseado no diagrama de seqncia.

Exerccio 4: Gerando cdigo a partir do modelo

Gerando cdigo baseado no UML do sistema de aluguel de carro.

Exerccio 5: Engenharia reversa de um cdigo em um diagrama de classe

Gerando um modelo a partir de um projeto existente.

Exerccio 1 Criando um diagrama de caso de usoNeste exerccio, voc ir criar um diagrama de caso de uso para um sistema de aluguel de carro.Tarefa 1 Criando um diagrama de caso de uso

Clique em Start, aponte para Programs, e ento clique em Microsoft Visio.

Selecione File | New | Software | UML Model Diagram.

Na janela Model Explorer d um duplo - clique no sub-diretrio de Static Model Top Package. Se a janela Model Explorer no estiver visvel, selecione UML | View | Model Explorer para mostrar a mesma.

Configure a propriedade Name para Car Rental System. Clique em OK.

D um clique com o boto direito do mouse no pacote Car Rental System na janela Model Explorer, selecione New | Use Case Diagram. Um diagrama de caso de uso com o nome Use Case-1 dever aparecer embaixo do pacote Car Rental System.

D um clique com o boto direito do mouse no diagrama Use Case-1 na janela Model Explorer, selecione Rename, e renomeie o diagrama para Use Case Diagram.

Tarefa 2 Adicionando casos de uso ao diagrama

Selecione e arraste um System Boundary dos modelos UML Use Case sobre o desenho de pgina Use Case Diagram. Se o modelo no estiver visvel, selecione File | Stencils | Software | UML Use Case.

Selecione 100% da caixa de seleo Zoom na toolbar.

Arraste para o topo do desenho.

D um duplo - clique nas formas System Boundary, e digite Car Rental System par renomear a forma.

Clique em qualquer lugar fora da rea de texto para sair do modo de entrada de texto.

Selecione e arraste um Use Case do modelo UML Use Case no System Boundary. Repita isto mais duas vezes. Arrume os casos de usos verticalmente.

D um duplo - clique em um destes casos de uso na pgina de desenho, e configure a propriedade Name para Reserve Car. Renomeie os outros dois casos de uso para Pick Up Car e Return Car.

Selecione e arraste um Actor do modelo UML Use Case sobre a pgina de desenho fora da rea System Boundary.

D um duplo - clique no Actor e configure a propriedade Name para Customer.

Selecione e arraste a forma Communicates do modelo UML Use Case sobre a pgina de desenho. Repita isto mais duas vezes. As linhas devero aparecer com um marcador de erro vermelho para indicar que elas no foram conectadas devidamente ainda.

Selecione e arraste a forma Communicates at que uma das suas extremidades intercepte um ponto de conexo no Actor. Pontos de conexo so denotados por uma pequena marca azul "x" na forma.

Selecione a extremidade no conectada da forma Communicates, e arraste para a extremidade para um dos pontos de conexo de um caso de uso. O marcador de erro vermelho na forma Communicates dever desaparecer.

Repita os dois passos anteriores para as outras formas Communicates, mas conectando os casos de uso remanescentes.

Nota:Quando se conecta mltiplos pontos de finalizaesCommunicates ao mesmo ponto de conexo no Actor, esteja certo que as formas Communicates se conectam com o Actor e no uns aos outros. Voc pode aumentar o nvel de zoom para ver mais claramente aonde a conexo feita.

Pressione e segure a tecla Shift enquanto seleciona cada forma Communicates, continue segurando a tecla Shift e d um clique com o boto direito do mouse, ento selecione Shape Display Options....

Na janela de dilogo UML Shape Display Options, desmarque as opes First end name, Second end name e End multiplicities.

Clique em OK.

Escolha File | Save. Para o campo File name, digite C:\CarRentalSystem.vsd. Clique em Save.

Clique em OK para a janela de dilogo.

Exerccio 2 Criando um diagrama de seqnciaNeste Exerccio, voc criar um diagrama de seqncia para o sistema de aluguel de carro que foi previamente definido.Tarefa 1 Adicionando um diagrama de seqncia ao modelo

D um clique com o boto direito do mouse no pacote Car Rental System na janela Model Explorer, selecione New | Sequence Diagram. Um diagrama de seqncia com o nome Sequence-1 dever aparecer sobre o pacote Car Rental System.

D um clique com o boto direito do mouse no diagrama Sequence-1 na janela Model Explorer, selecione Rename, e renomeie o diagrama para Sequence Diagram.

Selecione 100% da caixa de seleo Zoom na toolbar.

Tarefa 2 Adicionando linha de tempo ao diagrama de seqncia

Selecione e arraste um Object Lifeline do modelo UML Sequence sobre a pgina de desenho. As formas devero aparecer com um marcador de erro vermelho para indicar que eles no foram ainda configurados devidamente.

Repita o ltimos passo mais duas vezes. Arrume as linhas de tempo uma ao lado da outra.

D um duplo - clique na forma mais a esquerda Object Lifeline na pgina de desenho.

Clique em New... para criar um novo Classifier, e configure a propriedade Name para Customer na janela de dilogo UML Class Properties. Clique em OK. Configure a propriedade Name para Customer na janela de dilogo UML Classifier Role Properties.

Clique em OK. O marcador de erro vermelho dever desaparecer.

Repita o passo anterior no prximo Object Lifeline usando RentalAgent para o nome da classe UML e Rental Agent para o nome do Classifier Role.

Repita para o ultimo Object Lifeline usando CarInventory para o nome da classe UML e Car Inventory para o nome da Classifier Role.

Pressione e segure a tecla Shift enquanto seleciona cada forma Object Lifeline, continue segurando a tecla Shift e d um clique com o boto direito do mouse, ento selecione Shape Display Options....

Na janela de dilogo UML Shape Display Options, marque a opo Destruction marker.

Clique em OK.

Tarefa 3 Adicionando retngulos de ativao no diagrama de seqncia

Selecione e arraste um forma Activation do modelo UML Sequence sobre a pgina de desenho. O retngulo dever ser marcado em vermelho para indicar que ele ainda no foi acoplado e nenhuma linha de tempo.

Selecione e arraste a extremidade superior da forma Activation perto da parte superior da linha de tempo Customer at que ela intercepte um ponto de conexo.

Conecte a outra extremidade da forma Activation para um ponto de conexo perto da parte inferior da linha de tempo Customer.

Repita os trs ltimos passos para acoplar as formas Activation para as linhas de tempo Rental Agent e Car Inventory.

Nota:Voc pode fazer as linhas de tempo maiores selecionando-as e redimensionando-as usando o marcador losango amarelo perto da parte inferior da linha de tempo. Voc ter que redimensionar tambm o retngulo de ativao selecionando o mesmo e usando os manipuladores de redimensionamento em suas extremidades.Tarefa 4 Adicionando mensagens ao diagrama de seqncia

Selecione e arraste uma Message (call) do modelo UML Sequence sobre a pgina de desenho. A linha dever aparecer com um marcador de erro vermelho porque no foi ainda conectado propriamente. Selecione e arraste o inicio da seta da Message (call) at a seta interceptar um ponto de conexo no retngulo de ativao da linha de tempo Customer. A Message (call) dever ser colocada perto do canto superior direito do retngulo de ativao.

Selecione e arraste a extremidade em seta do Message (call) para interceptar o retngulo de ativao da linha de tempo Rental Agent. O marcador vermelho de erro da forma Message (call) dever desaparecer.

D um duplo - clique nesta Message (call).

Configure a propriedade Name para DoRental.

Configure o Return type para C#::int.

Adicione o texto Returns a Rental ID para a propriedade Documentation.

Clique em OK para a janela de dilogo UML Operation Properties e a janela de dilogo UML Message Properties.

Selecione e arraste um novo Message (call) do modelo UML Sequence sobre a pgina de desenho.

Conecte os pontos terminais ao retngulo de ativao Rental Agent e o retngulo de ativao Car Inventory. Coloque a mensagem abaixo da mensagem DoRental.

D um duplo - clique nesta Message (call) no passo anterior e configure a propriedade Name para CheckAvailability.

No painel Categories, selecione Parameters, clique em New, e configure o valor na coluna Parameter para CarType.

Configure o valor na coluna Type para C#::string usando a caixa de seleo.

Clique em OK nas duas caixas de dilogo.

Selecione e arraste uma forma Message (return) do modelo UML Sequence sobre a pgina de desenho.

Conecte os pontos terminais ao retngulo de ativao Customer e o retngulo de ativao Rental Agent. Coloque a mensagem abaixo da mensagem CheckAvailability(CarType).

D um duplo - clique na forma Message (return) sobre o desenho e configure a propriedade Name para Approve Rental.

Clique em OK.

Pressione CTRL + S para salvar as mudanas.

Exerccio 3 Criando um diagrama de classeNeste Exerccio, voc ir criar um diagrama de classe para o sistema de aluguel de carro definido previamente.Tarefa 1 Adicionando um diagrama de classe ao modelo

D um clique com o boto direito do mouse no pacote Car Rental System na janela Model Explorer selecione New | Package.

Configure a propriedade Name para o pacote UML para Classes. Clique em OK.

D um clique com o boto direito do mouse no pacote Classes na janela Model Explorer, selecione New | Static Structure Diagram. Um diagrama de estrutura esttica com o nome Static Structure-1 dever aparecer sobre o pacote Classes.

D um clique com o boto direito do mouse no diagrama Static Structure-1 na janela Model Explorer, selecione Rename, e renomeie o diagrama para Class Diagram.

Selecione e arraste a classe CarInventory do pacote Car Rental System para a estrutura Classes.

Repita o passo anterior para as classes Customer e RentalAgent.

Selecione 100% da caixa de seleo Zoom na toolbar.

Nota:Um pacote separado Classes foi adicionado para evitar conflitos de nomes entre o actor do caso de uso Customer e a classe Customer, ambos sendo abaixo do pacote Car Rental System.

Tarefa 2 Adicionando classes ao diagrama de classe

Selecione e arraste a classe CarInventory da janela Model Explorer para a estrutura esttica do desenho de pgina.

Repita o passo anterior para as classes Customer e RentalAgent.

D um duplo - clique em Customer, selecione Attributes no painel Categories, e clique em New.

Configure o valor da coluna Attribute para Name.

Configure o valor da coluna Type para C#::string usando a caixa de seleo.

Configure o valor da coluna Visibility para public usando a caixa de seleo.

Clique em OK.

Selecione e arraste a forma Binary Association do modelo UML Static Structure sobre a pgina de desenho. A linha dever aparecer com um marcador de erro vermelho para indicar que ela ainda no foi conectada propriamente. Clique e arraste uma das extremidades do Binary Association para interceptar um ponto de conexo a classe Customer. Conecte a outra extremidade a classe Rental Agent.

Repita os dois passos anteriores para conectar as classes RentalAgent e CarInventory.

D um duplo - clique na classe Customer, configure Visibility para public.

Clique em OK.

Repita os dois passos anteriores para as classes RentalAgent e CarInventory.

Segure a tecla Shift e selecione ambas as formas Binary Association. Enquanto segura a tecla Shift, d um clique com o boto direito do mouse e selecione Shape Display Options....

Desmarque as opes First end name, Second end name e End multiplicities.

Clique em OK.

Pressione CTRL + S para salvar as mudanas.

Exerccio 4 Gerando cdigo do modeloNeste Exerccio, voc ir gerar cdigo baseado em um modelo existente.Tarefa 1 Gerando o cdigo

Selecione UML | Code | Generate.

Configure Target language para C#.

Configure Project Location para C:\.

Marque Add Classes to Visual Studio Project.

Selecione Class Library da caixa de seleo Template.

Marque Create directory for solution.

Marque Static Model sobre Select classes for code generation.

Clique em OK. Se uma caixa de dilogo perguntar se voc gostaria de criar um novo diretrio para o projeto, clique em Yes.

Tarefa 2 Examinando o cdigo gerado pelo Visio Abra Windows Explorer e navegue para C:\CarRentalSystem.

D um duplo - clique em CarRentalSystem.sln para abrir a soluo no Visual Studio .NET.

Na Solution Explorer, d um duplo - clique nos vrios arquivos sobre o diretrio Classes.

Note que os atributos foram modificados para variveis pblicas e a documentao para o mtodo DoRental se tornou comentrio.

Feche o Visual Studio .NET.

Exerccio 5 Engenharia reversa de cdigo para um diagrama de classeNeste Exerccio, voc criar um novo modelo UML baseado em um projeto existente.Tarefa 1 Abrindo um projeto existente

Clique em Start, aponte para Programs, aponte para Microsoft .NET Pet Shop, Ento clique em Pet Shop Visual Studio .NET Solution.

Nota:Caso aparea uma janela de mensagem perguntando se voc deseja atualizar o projeto para a nova verso, marque Yes.Nota:Algumas caixas de dilogo sobre controle de verso de fonte de cdigo podem aparecer. Clique em OK quando voc vir estas caixas de dilogo.Tarefa 2 Engenharia reversa no projeto para um modelo UML no Visio

Selecione Project | Visio UML | Reverse Engineer.

Na janela de dilogo Select Visio UML File, aceite os nomes de arquivos padro e clique em Save.

Nota:Clique em Yes se voc vir uma caixa de dilogo que pergunte se voc gostaria de sobrescrever um arquivo existente.

O Visual Studio .NET ir agora comear o processo de engenharia reversa. Uma vez completado, o Visio abrir o projeto PetShop contendo o desenho dos objetos que representam o cdigo do projeto PetShop.

Na janela Model Explorer do Visio, exponha o diretrio Web | Inc e seus sub-diretrios para revelar os objetos projetados representando as classes no cdigo do projeto PetShop.

Selecione e arraste a classe ControlAddress sobre o subdiretrio Components sobre a pgina de desenho.

Selecione 100% da caixa de seleo Zoom na toolbar.

D um clique com o boto direito do mouse em ControlAddress na pgina de desenho de projeto, e selecione Shape Display Options.

Marque Attributes no grupamento Suppress.

Clique OK.

Externo ao projeto, no namespace System.Web.UI, resides a classe base UserControl da qual a classe ControlAddress deriva. As definies para estes tipos base foram importados tambm.

Na janela Model Explorer exponha System, exponha Web, e exponha UI para acessar o desenho UML representando um UserControl.

Selecione e arraste o UserControl sobre a pgina de desenho.

Note que o Visio automaticamente detecta os relacionamentos entre o UserControl e a classe derivada ControlAddress e cria um smbolo de generalizao de acordo.

Sobre o subdiretrio Inc d um clique com o boto direito do mouse em Static Structure-1, selecione Rename e renomeie para Web Controls.

Pressione CTRL + S para salvar as mudanas.

Feche o Microsoft Visio.Resumo do Laboratrio

Neste lab voc realizou os seguintes exerccios.

Exerccio 1: Criando um diagrama de caso de uso

Criando um diagrama Use Case de um sistema de aluguel de carro.

Exerccio 2: Criando um diagrama de seqncia

Criando um diagrama de seqncia baseado no diagrama de caso de uso.

Exerccio 3: Criando um diagrama de classes

Criando um diagrama de classes baseado no diagrama de seqncia.

Exerccio 4: Gerando cdigo a partir do modelo

Gerando cdigo baseado no UML do sistema de aluguel de carro.

Exerccio 5: Engenharia reversa de um cdigo em um diagrama de classe

Gerando um modelo a partir de um projeto existente.

Neste lab voc criou um diagrama de caso de uso para um sistema de aluguel de carros. Voc criou um diagrama de seqncia baseado no caso de uso, e ento derivou um diagrama de classe do diagrama de seqncia. Voc gerou cdigo baseado no diagrama de classe, e notou como o modelo mapeia o cdigo. Voc tambm gerou um diagrama de classe baseado em um projeto existente e descobriu como o cdigo mapeia de volta para o modelo.Lab 2: Modelagem de dados usando o Visual Studio .NET

Requisitos

De maneira a completar este lab, voc necessita:

Acesso a um SQL server, configurado com autenticao integrada com o Windows.

Acesso ao banco de dados Northwind no SQL Server.

Alguma familiaridade com os utilitrios cliente do SQL Server.Objetivos do Lab

Tempo estimado para completar este lab: 30 minutosO objetivo deste lab criar um modelo de dados usando a tcnica Object Role Modeling (ORM) e o Microsoft Visio, gerar o modelos fsicos e lgicos do banco de dados baseados no desenho conceitual e explorar as capacidades de engenharia reversa do Visual Studio .NET.

O lab consiste em 3 exerccios:

Exerccio 1: Desenho conceitual usando Object Role Modeling (ORM)

Crie um diagrama ORM de um banco de dados de artigos de revista.

Exerccio 2: Criando os modelos lgico e fsicos do banco de dados

Crie um modelo lgico de um modelo ORM model, e gere scripts de Data Definition Language (DDL) para criar o modelo fsico.

Exerccio 3: Engenharia reversa no modelo de dados

Crie um modelo lgico de dados baseado em um esquema de banco de dados existente.

Exerccio 1 Desenho conceitual usando Object Role Modeling (ORM)Neste Exerccio, voc ir criar um modelo de dados conceitual baseado no uso de ORMTarefa 1 Criando um novo modelo ORM

Clique em Start, aponte para Programs, e ento clique em Microsoft Visio.

Selecione File | New | Database | ORM Source Model.

Tarefa 2 Adicionando sentenas usando o editor de fatos

Clique na aba Business Rules da janela Business Rules. Se a janela no estiver visvel, selecione Database | View | Business Rules.

D um duplo - clique na primeira entrada no painel Fact Types da janela Business Rules para mostrar o editor de fatos.

Nota:Voc pode acessar tambm o editor de fatos selecionando Database | View | Fact Editor.

Clique na radio button Guided sobre Input style. A caixa de seleo dever indicar Binary.

Configure a propriedade da parte esquerda Object Name para Author.

Configure a propriedade Relationship para writes.

Configure a propriedade da parte direita Object Name para Article.

Configure a propriedade Inverse relationship para are written by.

Clique na aba Object.

Configure a Reference / identifier para o Author para id.

Selecione o objeto Article na lista Select object.

Configure a Reference / identifier para Article para id.

Clique na aba Constraints.

Selecione One or More para a resposta para Constraint Question #1.

Selecione One or More para a resposta para Constraint Question #2.

Clique na aba Examples.

Clique na primeira linha vazia abaixo da coluna Author, e Configure o valor para 101.

Clique na primeira linha vazia abaixo da coluna Article, e Configure o valor para Database Design Using ORM.

Adicione uma segunda linha para Author, configure para 102, e a Article, configure para Database Design Using ORM.

Adicione uma terceira linha para Author, configure para 101, e a Article, configure para Essential .NET.

Clique em Analyze....

Nota: No deve aparecer nenhum aviso de erro.

Clique em Apply UC Constraints. As regras nicas so adicionadas ao modelo.

Clique em OK para fechar o editor de fato.

O fato anterior foi inserido usando o estilo Guided Input. Voc ir agora entrar um fato usando o estilo Freeform. Note que voc deve usar o estilo Freeform se voc tiver que entrar com um fato com uma arity maior que quatro, ou seja, maior que quatro papis esto presentes no fato.

D um duplo - clique na linha vazia abaixo do fato adicionado nos passos anteriores.

Clique no radio button Freeform.

Entre com Article(id) appears in Issue(id) em Enter FreeForm Fact.

Nota:O texto em parntesis indica a entidade reference / identifier.

Clique na aba Constraints.

Configure a resposta para a Constraint Question #1 to Exactly One.

Configure a resposta para a Constraint Question #2 to One or More.

Clique em Apply para adicionar o novo fato enquanto mantm o editor de fatos aberto.

Todos os objetos gravados at agora so da entidade kind, marcados por uma reference / identifier. Voc ir agora entrar um fato usando um tipo de valor que auto-identificado.

Clique na aba Fact.

Entre com o fato freeform Author has AuthorName.

Clique na aba Object.

Selecione o objeto AuthorName.

Mude a escolha da caixa de seleo Object kind para Value.

Clique na aba Constraints.

Configure a resposta para a Constraint Question #1 to Exactly One.

Configure a resposta para a Constraint Question #2 to One or More.

Clique em OK.

Tarefa 3 Mostrando tipos de sentena no desenho

Selecione 100% da caixa de seleo Zoom na toolbar.

Segure a tecla Shift e clique no primeiro fato listado no painel Fact Types, e ento clique no ltimo fato.

Clique e arraste a seleo inteira para a pgina de desenho.

Dica:Um jeito alternativo de mostrar os fatos no desenho selecionando um objeto do painel Object Types, e arrastando a seleo para a pgina de desenho. Voc pode dar um clique com o boto direito do mouse no objeto no desenho e selecionar Show Relationships para trazer automaticamente qualquer objeto relacionado sobre a pgina de desenho.

Selecione Database | View | Verbalizer.

Selecione qualquer objeto na pgina de desenho, e veja a descrio textual dos fatos relacionados na janela Verbalizer.

Nota: O Verbalizer prov um forma legal de permitir especialistas de domnios no tcnicos de verificar a validade do modelo de dados.

Escolha File | Save. Para o campo File name, digite C:\ORM_Articles.vsd. Clique em Save. Clique em OK para a janela de dilogo de propriedade.

Exerccio 2 Criando os modelos fsico e lgico de banco de dadosNeste exerccio, voc ir criar o modelo lgico a partir do modelo ORM. Voc ir ento criar as tabelas fsicas de banco de dados do modelo lgico.Tarefa 1 Criando um modelo lgico de banco de dados a partir do modelo ORM

Selecione File | New | Database | Database Model Diagram.

Selecione Database | Project | Add Existing Document....

Na janela de dilogo Add Document to Project, escolha o diagrama ORM salvo previamente. Clique em Open.

Selecione Database | Project | Build.... para o campo File name, digite C:\DB_Articles.vsd. Clique em Save.

Nota:Um aviso pode aparecer na janela Output. Este aviso pode ser ignorado. Segure a tecla Shift e selecione as tabelas Article, Author e Author writes Article da janela Tables and Views.

Clique e arraste a seleo inteira para a pgina de desenho.

Selecione 100% da caixa de seleo Zoom na toolbar.

Selecione Database | Model | Error Check.

Nota:No dever haver avisos de erro. um bom hbito verificar o modelo por erros enquanto est sendo construdo.

Tarefa 2 Criando um modelo fsico de banco de dados a partir do modelo lgico

Selecione Database | Generate....

Marque Generate a text file of the DDL Script.

Deixe a propriedade File name para o padro.

Marque Generate new database.

Clique em Next.

Selecione Microsoft SQL Server da lista de seleo Installed Visio drivers.

Selecione o radio button Create database.

Configure a propriedade Data source name para uma nova conexo de nome Data_Lab (voc cria esta nova conexo clicando em New e preenchendo os dados padres para o servidor SQL no Localhost).

Configure a propriedade Database name para ORMDatabase.

Clique em Next.

No existe nenhum nome de usurio e senha necessrios para a janela de dilogo Connect Data Source. Clique em OK

Clique em Finish.

Clique em Close na janela de dilogo SQL Server Create Database.

O assistente ir criar um banco de dados de nome ORMDatabase. Uma janela de dilogo aparecer perguntando se voc gostaria de ver o script de Data Definition Language (DDL) gerado.

Clique em Yes.

O editor de cdigo mostrar o script. Note que so comandos SQL para criar o banco de dados e as tabelas do modelo. Existem tambm comandos para adicionar chaves primrias e estrangeiras para as tabelas. O assistente pode gerar tambm uma DDL voltada para um banco de dados diferente, como Microsoft Access, Oracle ou DB2.

Feche o Code Editor.

Para ver as mudanas feitas para o banco de dados, voc pode usar uma aplicao como o Microsoft SQL Server Enterprise Manager.

Clique em Start, aponte para Programs, selecione Microsoft SQL Server e ento clique Enterprise Manager. Exponha o n Microsoft SQL Servers e ento exponha SQL Server Group. Abra o n local do SQL Server, e clique no diretrio Databases.Note que o banco de dados ORMDatabase foi criado. Exponha o n ORMDatabase. Clique em Tables.Note que as tabelas Article, Author, Author writes Article foram criadas.

Feche o Enterprise Manager.Exerccio 3 Engenharia reversa no modelo de dadosNeste exerccio, voc vai criar um modelo lgico de banco de dados em um esquema existente de banco de dados.Tarefa 1 Engenharia reversa em um esquema existente de banco de dados

No Microsoft Visio, selecione File | New | Database | Database Model Diagram.

Selecione Database | Reverse Engineer....

Selecione Microsoft SQL Server da caixa de seleo Installed Visio drivers.

Configure a propriedade Data source name para uma nova conexo de nome Data_Lab2 (voc cria esta nova conexo clicando em New e preenchendo os dados padres para o servidor SQL no Localhost e apontando para o banco de dados ORMDatabase).

Clique em Next.

A janela de dilogo Connect Data Source aparecer. Clique em OK.

Desmarque Views e Stored procedures.

Clique em Next.

Marque as tabelas Article, Author e Author writes Article.

Clique em Finish.

Selecione 100% da caixa de seleo Zoom na toolbar.

D um duplo - clique na tabela Articles.

Na janela Database Properties, selecione a categoria Columns.

Clique em Add.

Configure a propriedade Physical Name para ArticleDate.

Configure a propriedade Data Type para datetime.

Escolha File | Save. Para o campo File name, digite C:\Reverse_DB_ORM.vsd. Clique em Save. Clique em OK para a janela de dilogo propriedades.Tarefa 3 Atualizando o banco de dados existente

Selecione Database | Update....

Marque Generate a text file with the DDL script. Deixe o nome padro para o arquivo

Marque Update the database.

Clique em Next.

Selecione Microsoft SQL Server da caixa de seleo Installed Visio drivers.

Selecione Data_Lab2 da Data sources.

Clique em Next.

A janela de dilogo Connect Data Source aparecer. Clique em OK.

Nota: O esquema de banco de dados existente ser atualizado neste ponto. O assistente pode indicar que em algumas tabelas no banco de dados no foram realizadas engenharia reversa. Isto normal e pode ser ignorado.

Clique em Finish.

Clique em Yes para ver o script de DDL gerado.

Note que a coluna ArticleDate foi adicionada a tabela Articles. O mesmo procedimento de engenharia reversa pode tambm ser usado para recriar um modelo conceitual usando um modelo ORM Source Model ao invs de um Database Model Diagram.Resumo do Laboratrio

Neste lab voc realizou os seguintes exerccios.

Exerccio 1: Desenho conceitual usando Object Role Modeling (ORM)

Crie um diagrama ORM de um banco de dados de artigos de revista.

Exerccio 2: Criando os modelos lgico e fsicos do banco de dados

Crie um modelo lgico de um modelo ORM model, e gere scripts de Data Definition Language (DDL) para criar o modelo fsico.

Exerccio 3: Engenharia reversa no modelo de dados

Crie um modelo lgico de dados baseado em um esquema de banco de dados existente.

Neste lab voc criou um modelo conceitual de banco de dados usando ORM, usando fatos para descrever o modelo. A partir do modelo conceitual voc gerou um modelo lgico, e ento criou um esquema fsico do banco de dados usando o modelo lgico. Voc realizou tambm engenharia reversa em um esquema existente de banco de dados para recriar o modelo lgico. Voc ento usou as capacidades de ida e volta de engenharia mudando o modelo e atualizando o banco de dados existente com estas mudanas.

1Data de reviso: Abril de 2004