Nome Número: Série. A arquitetura cliente/servidor consiste em cliente, servidor e elementos de rede.



Documentos relacionados
Noções de. Microsoft SQL Server. Microsoft SQL Server

Projeto de Banco de Dados: Empresa X

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Google Drive. Passos. Configurando o Google Drive

Procedimentos para Reinstalação do Sisloc

Banco de Dados Microsoft Access: Criar tabelas

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Manual Captura S_Line

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Dicas para usar melhor o Word 2007

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Outlook Apresentação

Usar o Office 365 no iphone ou ipad

Segurança de Acesso a Banco de Dados no MS SQL Server

MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon

Prof. Omero, pág. 63. Banco de Dados InterBase.

2 de maio de Remote Scan

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Introdução ao Tableau Server 7.0

Iniciando o MySQL Query Brower

EDITORA FERREIRA MP/RJ_EXERCÍCIOS 01

INSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Guia de Início Rápido

AULA 06 CRIAÇÃO DE USUÁRIOS

O Primeiro Programa em Visual Studio.net

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Guia de início rápido do Powersuite

Gestão de Tecnologia da Informação

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

INSTALAÇÃO DO SISTEMA CONTROLGÁS

MANUAL DO ANIMAIL Terti Software

Aplicativo da Manifestação do Destinatário. Manual

MODEM USB 3G+ WM31. Manual do Usuário

Manual SAGe Versão 1.2 (a partir da versão )

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Procedimentos para Instalação do Sisloc

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Professor: Macêdo Firmino Disciplina: Redes de Computadores II

MANUAL DE CONFIGURAÇÃO DO BACKUP

Índice. Para encerrar um atendimento (suporte) Conversa Adicionar Pessoa (na mesma conversa)... 20

Sistema de Controle de Cheques GOLD

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Persistência e Banco de Dados em Jogos Digitais

Aula 1: Noção Básica e Criação de Tabelas.

Fox Gerenciador de Sistemas

MySQL Query Browser. Professor Victor Sotero SGD

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

Manual de configuração do sistema

Manual do Painel Administrativo

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project projeto

NetEye Guia de Instalação

CONFIGURAÇÃO MINIMA EXIGIDA:

O que são Bancos de Dados?

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Manual de Utilização COPAMAIL. Zimbra Versão 8.0.2

Instalação e utilização do Document Distributor

Instalando o Internet Information Services no Windows XP

Manual de operação. BS Ponto Versão 5.1

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

CSAU Guia: Manual do CSAU 10.0 como implementar e utilizar.

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

Integração de livros fiscais com o Microsoft Dynamics AX 2009

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Série ArcGIS Online I. Aprenda em 20. Módulo 4. Configure pop-ups.

Usar o Office 365 em seu telefone Android

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.

Pacote de Idiomas do ImageNow Guia de Introdução

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Usando o Conference Manager do Microsoft Outlook

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Banco de Dados. Prof. Antonio

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS COTAS DE DISCO. Professor Carlos Muniz

MANUAL DO PVP SUMÁRIO

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

GUIA INTEGRA SERVICES E STATUS MONITOR

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA...

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Questão Essência do Excel

Manual do usuário. v1.0

Restauração do Exchange Server.

Transcrição:

Nome Número: Série 4326: Introdução a Banco de Dados com Microsoft SQL Server TM 2005 Competências: Compreender a orientação a objetos e arquitetura cliente-servidor, aplicando-as em bancos de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados; Bases Tecnológicas: Ambientes/ferramentas de gerenciamento de bancos de dados (Linguagem de apoio: SQL Server 2005). Descrição: Analizar como a arquitetura cliente/servidor funciona, e examinar vários bancos de dados e regras de negócio que podem ser usadas com os componentes Microsoft SQL Server 2005. Também serão executadas consultas com bancos de dados SQL Server 2005 usando as ferramentas de consulta T-SQL, abordando o básico da linguagem T-SQL, sua sintaxe e como administrar scripts T- SQL. Este curso também prepara o aluno para obter a certificação no exame 70-431. Introdução ao SQL Server 2005 SQL Server 2005 é um Sistema Gerenciador de Banco de Dados Relacional (SGBDR). Ele possibilita o gerenciamento das classes de dados com ferramentas de Business Inteligence (BI) e suporte a arquitetura cliente/servidor, que pode ser usada para promover acesso multi-usuário. Mesmo com um número grande de usuários ou recursos como um servidor web. É possível usar componentes como o SQL Server 2005 Report Services (SSRS), o Integration Services (SSIS) o Replication Service, e o Notification Services para promover BI e soluções de dados empresariais. Descrevendo a arquitetura cliente/servidor A arquitetura cliente/servidor consiste em cliente, servidor e elementos de rede. O cliente é quem requisita o serviço, enquanto o servidor prove o serviço de banco de dados. Pode haver uma aplicação criada para arquitetura cliente/servidor que os usuários usam a partir de estações de trabalho (clientes). 1

Para auxiliar os usuários no acesso a aplicação, é necessário instalar aplicações cliente nas estações de trabalho. Também é necessário instalar a parte servidor da aplicação no servidor que está preparado com software servidor como o Microsoft SQL Server 2000 ou 2005. O usuário pode acessar o SQL Server 2005 usando Pipes ou bibliotecas multi-protocolo e uma rede Windows. O SQL Server permite acesso ao servidor baseado no login ou em grupos de identificação de segurança (SID). O Microsoft Access tem apenas arquivos compartilhados enquanto a arquitetura cliente/servidor permite compartilhar até mesmo processos. Quando uma estação cliente faz uma requisição de um serviço de dados ao servidor, o servidor responde a requisição. É possível categorizar aplicações cliente/servidor como baseadas em arquitetura multi-camada onde a regra de negócio é distribuida e onde o processamento acontece no cliente ou no servidor. Pode-se obter muitos benefícios usando a arquitetura cliente/servidor. Primeiramente, melhorando a integridade de dados, pois os dados são armazenados de maneira centralizada. Além disso, é possível definir regras de negócio e de segurança no servidor e garantir que essas regras funcionem igualmente entre os usuários. Ainda é possível também otimizar o trafego da rede por que o SGBDR atua efetivamente consultando e retornando apenas os dados que a aplicação requisita. Além do mais a aplicação pode dividir a carga de processamento entre o cliente e o servidor, promovendo portanto uma performance melhorada. Além de que a arquitetura cliente/servidor permite melhor escalabilidade de processos. Ao escalar o consumo de recursos é possivel estabelecer uma escala vertical ou horizontal, assim é possível melhorar a configuração do servidor para um processamento melhor ou aumentar o número de processos distribuídos na rede 2

para balancear melhor o acesso aos dados. Pode-se até aumentar o número de CPUs ou de Servidores. SQL Server 2005 O SQL Server é um SGBDR que pode ser usado para armazenar dados e manter relacionamentos entre várias entidades de dados. Em um SGBDR, os dados são organizados e acessados de acordo com os relecionamentos entre os valores dos dados. Portanto, é possível colecionar informações sobre várias entidade de dados usando os relacionamentos entre elas. Isso ajuda a reduzir a redundancia de dados e melhora a performance do SGBDR. O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração de dados segura. Assim, é possível manter os relacionamentos entre os dados usando regras de integridade de dados. O SQL Server usa padrões industriais e os padrões do Instituto Nacional de Padronizações Norte-americano (ANSI) em conformidade com a linguagem SQL para contemplar aplicações Cliente/Servidor. É possível usar o SQL Server para gerenciar bancos de dados com o Processamento de Transações On-line (OLTP), e usar o SSAS para gerenciar banco de dados de Processamento Analítico On-line (OLAP). seguir: Como um SGBDR o SQL Server pode ser usado para executar as funções a Manter os relacionamentos ente as entidades de dados em um banco de dados. Garantir que os dados estão armazenados corretamente e que as regras que estabelecem os relacionamentos entre os dados não serão violadas. Recuperar todos os dados armazenados caso haja alguma falha no sistema. Focar em atividades associadas com banco de dados OLTP e T-SQL. Permitir a partir do ambiente um alto volume de transações multi-usuário. Obs: Aplicações não SGBDR como o Microsoft Access não permitem amplo cenário multi-usuário. Diferentemente do SQL Server que usa arquitetura cliente/servidor, o MS Access usa arquitetura arquivo-servidor. Identificando os componentes do SQL Server 2005 O SQL Server 2005 tem muitos componentes e serviços que o torna mais seguro, escalável e fiel e mais fácil para interagir com aplicações desenvolvidas. 3

Relational Database Engine (Motor do Banco de Dados Relacional): O Relational Database Engine é o mais seguro ambiente de armazenamento, retirada e modificação de dados em formato relacional ou XML. A partir dele é possível armazenar objetos BLOB como imagens, documentos e planilhas no SQL Server. É possível também usar o motor de banco de dados para controlar o acesso veloz e as transações que são processadas para atender a demanda das aplicações. SQL Server 2005 Analysis Services (SSAS) É um tipo de serviço que pode ser usado para servir aplicações OLAP e data mining para business inteligence. Também podem ser desenhadas, criadas e administradas estruturas multidimensionais agregadas a partir de bancos de dados relacionais. SQL Server 2005 Integration Services (SSIS) Serviço que pode ser usado para desenvolver soluções de integração de dados com alta performance. Também pode ser usado para importação e exportação de dados. Notification Services É um framework que permite desenvolver e depurar aplicações que geram e enviam mensagens personalizadas instantâneas para uma lista de contatos. Essas mensagens podem ser entregues para varios dispositivos externos como telefones móveis, handhelds, etc. SQL Server 2005 Reporting Services É um serviço que pode ser usado para extrair dados a partir de um servidor de banco de dados e gerar relatórios. Usando o SSRS também é possível criar relatórios que extraem conteúde de várias fontes de dados, publicar relatórios em vários formatos, e centralizar o gerenciamento da segurança e das assinaturas. Service Broker É um mecanismo de fila que pode ser usado para validar, transacionar e trocar menssagens entre serviços de software. Estes serviços podem ser partes de uma aplicação baseada em um banco de dados ou aplicações distribuidas. 4

Suporte nativo http Quando instalado sobre o Microsoft Windows Server 2003 o SQL Server 2005 pode responder às requisições feitas por pontos http. Usando suporte nativo ao protocolo é possível construir interfaces para SQL Server sem usar o Microsoft Internet Information Services (IIS). SQL Server Agent É um centro de agendamento de tarefas que automatiza o gerenciamento do banco de dados e a administração de tarefas, eventos e alertas..net CLR (Common Language Runtime) É um componente da Área de Trabalho.NET para Microsoft Windows. Usando esta plataforma é possível implementar soluções de banco de dados usando código escrito em linguagem.net como o Visual C#, ou Visual Basic. Replication É um tipo de serviço que pode ser usado para copiar e distribuir dados e objetos de banco de dados de um banco para outro. É possível syncronizar estes banco de dados para mantê-los consistentes. Full Text Search Permite indexação rápida e flexível para pesquisas baseadas em palavras-chave de dados de texto armazenado em um banco de dados SQL Server. 5

Introdução a Bancos de Dados SQL Server Um banco de dados é uma coleção de dados relacionados, e o dado em um banco de dados é persistente, isto é, não se perde. Bancos de dados podem ser categorizados em bancos de dados hierárquicos, relacionais e dimensionais. Estes bancos de dados são diferentes entre si na maneira como armazenam os dados. Os bancos de dados SQL Server são bancos de dados relacionais que armazenam dados e mantem relacionamentos ente as várias entidades do banco de dados. Bancos de Dados Relacionais Em bancos de dados relacionais, os dados são armazenados em tabelas. Cada tabela possui linhas horizontais também chamadas tuplas ou simplesmente linhas, e colunas na vertical, que são os atributos das entidades. É possível identificar cada tabela atribuindo nomes únicos a cada uma delas, o banco de dados usa esses nomes para acessar as tabelas. Os objetos vitais em um banco de dados relacional são as entidades, as chaves e os relacionamentos. Entidades representam objetos do mundo real que podem ser identificados de maneira única e distinta, como lugares, objetos, eventos e pessoas. Atributos identificam ou descrevem as entidades. Os atributos que descrevem as entidades são chamados também de atributos não chave e, atributos que ajudam a identificar registros em uma entidade são chamados atributos chave. As chaves também podem se referir a outras entidades e são portanto usadas para construir relacionamentos entre as 6

entidades. Relacionamentos definem a associação entre entidades e as mantém juntas. As duas entidades em um relacionamento são sempre chamadas de entidades pai ou filho (forte ou fraca). Os tipos de relacionamentos implementados entre duas entidades são um para um, muitos para muitos e um para muitos. O relacionamento um para um ocorre quando uma instância de uma entidade pai relaciona-se com uma e apenas uma instancia da entidade filho (e vice-versa). Um relacinamento um para muitos acontece sempre que uma instancia de uma entidade pai está relacionada com muitas instancias da entidade filho (e uma instancia da entidade filho está relacionada com uma e apenas uma instancia da entidade pai). Um relacionamento muitos para muitos acontece quando uma instancia de uma entidade pai está relacionada com muitas instancias da entidade filho e uma instancia da entidade filho está relacionada com muitas instancias da entidade pai. Do ponto de vista lógico, é possível que existam várias entidades em um relacionamento enquanto fisicamente apenas duas tabelas podem estar relacionadas. Normalização Quando modelamos o banco de dados de uma aplicação, é preciso estruturar eficientemente as tabelas do banco para eliminar redundâncias e facilitar o acesso aos dados. A normalização é o processo de eliminação de duplicação de dados através da definição de chaves, novos relacionamentos e entidades. Durante a normalização, é preciso dividir tabelas em tabelas menores possibilitando que cada uma descreva apenas um tipo de entidade como uma pessoa, um lugar, um pedido, um item de produto. Existem seis níveis de normalização, mas a maioria dos bancos de dados são normalizados até a terceira forma normal. Primeira forma normal (1FN): Uma tabela estará na primeira forma normal se: Tiver uma chave primária Cada coluna tiver apenas um dado que não pode ser dividido em mais partes. Não existe um grupo de colunas repetidas (Telefone 1, Telefone 2, Telefone3...), (Produto 1, Produto 2, Produto 3,...) 7

Segunda forma normal (2FN): Uma tabela estará na segunda forma normal se: Estiver na primeira forma normal; Cada coluna não chave for dependente funcional total da chave primária (completa). Terceira forma normal (3FN): Uma tabela estará na terceira forma normal se: Estiver na segunda forma normal; Toda coluna não chave for dependente funcional total da chave primária sem que haja colunas não chave que dependam de qualquer outra coluna não chave. A normalização de um banco de dados pode ser realizada de duas formas. É possível normalizar as tabelas do banco de dados da 1FN até a 3FN ou normalizar diretamente as tabelas pela 3FN. É possível escolher uma aproximação mais fácil com base no tamanho da aplicação e na transparência dos requisitos. Obs: Se as tabelas não forem normalizadas antes de armazenar dados nelas, o usuário final pode encontrar dificuldade ao extrair os dados, por que existem muitas dependências e multiplas relações. Apesar dos usuários finais trabalharem com a informção eles não serão envolvidos no processo de normalização, o conhecimento sobre o processo facilitará definitivamente a criação de consultas melhores para eles. Processo de normalização Vamos supor a normalização de um banco de dados para uma livraria chamada AdventureWorks. Observe a estrutura de uma das tabelas criadas para o banco de dados da livraria. Você acha que a tabela tem redundâncias e que ela deve ser normalizada? Título Autor1 Autor2 ISBN Área NPaginas Editora Delphi 7 MANZANO, MENDES, 8571948542 Progrmação 262 Érica Avançado José Sandro Administração de Sistema de Informação O BRIEN, James MARAKAS, George 8586804770 Administração 537 McGrawHill 8

Se sim, então devemos começar o processo de normalização identificando três problemas com a tabela modelada. Primeiro: O armazenamento de dados na tabela não é eficiente: Exemplo: Caso os autores MANZANO e MENDES forem autores muito dedicados e escreverem muitos livros, logo o nome deles será repetido várias vezes. Teremos então o desperdício de espaço. Segundo: O modelo não protege a integridade dos dados: Se o mesmo nome tiver que ser escrito muitas vezes é provável que o usuário escreva o nome do autor errado em algumas linhas. Isso faz com que os dados se tornem inconcistentes e alguém que pesquisar os livros a partir do nome do autor terá o resultado da consulta incorreto. Terceiro: A tabela não é escalável: Isto é, não é possível registrar mais de dois autores para cada livro. Além disso a tabela se tornará um arquivo de dados muito grande, prejudicando a recuperação posterior dos dados armazenados. Baseado nos problemas citados acima fizemos a seguinte modificação na tabela: Título Autor ISBN Área NPaginas Editora Delphi 7 MANZANO, 8571948542 Informática 262 Érica Avançado José Administração de O BRIEN, 8586804770 Administração 537 McGrawHill Sistema de Informação James Delphi 7 MENDES, 8571948542 Informática 262 Érica Avançado Sandro Administração de MARAKAS, 8586804770 Administração 537 McGrawHill Sistema de Informação George Você acha que a tabela está suficiente ou pode ser melhorada? A tabela deveria ser dividida em mais tabelas? Que tabelas seriam essas? Autor, Livro ou Área? 9

Tabela autor CodAutor Sobrenome Nome NomeCompleto Biografia 1 MANZANO José MANZANO José Professor universitário e consultor. Tabela livro ISBN Título NPaginas Editora 8571948542 Delphi 7 Avançado 262 Érica Tabela área CodArea Area 1 Informática Finalmente é preciso redefinir as chaves primárias das tabelas criadas: Tabela autor com chave primária *CodAutor Sobrenome Nome NomeCompleto Biografia 1 MANZANO José MANZANO José Professor universitário e consultor. Tabela livro com chave primária *ISBN Título NPaginas Editora 8571948542 Delphi 7 Avançado 262 Érica Tabela área com chave primária Defina a relação entre as tabelas: Autor e Livro: *CodArea Area 1 Informática Um autor pode escrever um ou mais livros e um livro pode ser escrito por um ou mais autores, logo a relação é muitos para muitos. Neste caso, (sabendo que não existe relação muitos para muitos em um banco de dados físico), é necessário criar uma terceira tabela capaz de relacionar as tabelas livro e autor. 10

Tabela Autor_Livro Área e Livro: *ISBN *CodAutor 8571948542 1 8586804770 3 8571948542 2 8586804770 4 Uma área pode ter mais de um livro enquanto um livro pode pertencer a uma ou mais áreas. Tabela Area_Livro *ISBN *CodArea 8571948542 1 8586804770 1 8586804770 2 O SQL Server fará valer a regra de integridade referencial? Isto é, será permitido excluir uma área da tabela área, que esteja relacionada com algum livro? Seria possível adicionar um livro a uma área que não existe? Podemos observar que o banco de dados já está na primeira forma normal, porém, será que podemos melhorar a tabela livro separando a coluna Editora em outra tabela? Tabela Editora *CodEditora Editora 1 Érica Assim, a tabela Editora está separada do livro, para tanto, qual é a relação entre as duas tabelas? Uma editora pode publicar um ou mais livros, enquanto um livro pode ser publicado por uma e somente uma editora. Assim devemos alterar a tabela do lado muitos do relacionamento e adicionar uma chave estrangeira que possa ser relacionada a chave primária da tabela do lado um no caso, editora. 11

Tabela Livro *ISBN CodEditora Título NPaginas 8571948542 1 Delphi 7 Avançado 262 Mas, percebemos que, um livro pode ser editado por outra editora caso o autor desfaça o contrato com a editora antiga, o que faz com que o livro, isto é, os seus atributos, dependam totalmente do ISBN e do Código da editora que o editou, (independendo somente do ISBN como estava no modelo anterior) assim teremos uma chave primária composta para garantir que podemos cadastrar o mesmo livro mais de uma vez para mais de uma editora. Tabela Livro *ISBN *CodEditora Título NPaginas 8571948542 1 Delphi 7 Avançado 262 8571948542 2 Delphi 7 Avançado 262 A chave primária composta garante que todos os demais campos da tabela dependam totalmente dos dois campos definidos como chaves primárias. Por outro lado ela permite que existam dois livros diferentes, um editado por uma editora e outro, (diferente do primeiro), editado por outra editora, assim a tabela livro estará na segunda forma normal. Finalmente observamos que a tabela Autor está fora da terceira forma normal pois o campo NomeCompleto depende funcionalmente dos campos Nome e Sobrenome, portanto é necessário excluí-lo tornando a tabela dentro dos critérios da terceira forma normal. Tabela Autor *CodAutor Sobrenome Nome Biografia 1 MANZANO José Professor universitário e consultor. Objetos de um banco de dados SQL Server Antes de converter um banco de dados lógico em um banco de dados físico é necessário identificar os recursos do SGBDR que o banco de dados irá suportar. O modelo físico do banco de dados varia de acordo com o que suporta o banco de dados 12

físico e de acordo com os seus objetos. O SQL Server 2005 suporta vários objetos de banco de dados. Observe a tabela a seguir: Objetos Tabelas Views Constraints Indices Funções Procedimentos Triggers (Gatilhos) Descrição Uma tabela é composta por linhas e colunas. Ela é usada para armazenar dados em um banco de dados relacional. Cada tabela armazena informações sobre tipos de objetos modelados no banco de dados. Uma view ajuda a encapsular uma consulta em uma entidade relacional e facilita a visão de dados de uma ou mais tabelas de um banco de dados. Uma constraint define regras que regulam os valores permitidos e é um mecanismo que força a integridade dos dados. Em um banco de dados relacional, um indice é um campo de acesso rápido aos dados de uma tabela, baseado em valores chave. Os indices também podem retornar multiplas linhas de uma tabela. O SQL Server suporta indices agrupados e não agrupados. A chave primária é automáticamente indexada. Em pesquisas Full-Text um índice Full-Text armazena informações sobre palavras significativas e a sua localização em uma dada coluna. Uma função é um pedaço de código que funciona como uma unidade lógica independente. Uma função pode retornar um valor escalar ou uma tabela. Qualquer código capaz de executar a lógica incorporada em uma função pode chamar uma função ao invés de repetir a mesma lógica. Uma procedure é um conjunto de código T-SQL pré-compilado a ser executado e que retorna parâmetros para os usuários. É possível usar uma procedure temporariamente ou permanentemente. Além disso, é possível executar procedures automaticamente, sem o SQL Server ser inicializado. Uma trigger (gatilho) é uma Stored Procedure que é executada quando dados em uma tabela específica são modificados. Pode-se criar gatilhos para forçar integridade referencial entre dados logicamente relacionados em tabelas diferentes. Tabela 1 - Objetos de um banco de dados SQL Server 2005. Para organizar os objetos de um banco de dados dentro de espaços nomeados, o SQL Server 2005 introduz um novo recurso chamado schemas. Schemas ajudam a administrar a propriedade e a segurança dos objetos. A segurança em SQL Server é organizada hierarquicamente. Usa-se schemas para administrar a permissão dos objetos efetivamente. Pode-se agrupar regras de segurança que requerem permissões comuns e autorizar permissões para um schema ao invés de fazê-lo para objetos individuais. Como criar schemas Sintaxe: CREATE SCHEMA Nome_Schema [<elemento_1>,..., <elemento_n>] 13

O nome e o dono do schema podem ser especificados através da palavra reservada AUTHORIZATION Os elementos do esquema citados na sintaxe acima podem ser substituidos por uma declaração CREATE TABLE, CREATE VIEW ou GRANT válida. Portanto, é possível criar um schema, definir seus objetos e definir suas permissões em uma única sintaxe, conforme o exemplo a seguir: --Criando um esquema e uma tabela que pertence ao esquema MarketingDep CREATE SCHEMA MarketingDep CREATE TABLE Produto(Codigo INT, Descricao VARCHAR(50)); GO --Listando os dados contidos nos campos da tabela criada SELECT * FROM MarketingDep.Produto; GO --Excluindo a tabela e o esquema criados, respectivamente DROP TABLE MarketingDep.Produto; GO DROP SCHEMA MarketingDep; GO Vantagens de usar schemas As permissões dos objetos de banco de dados são facilmente administradas através do uso de schemas. Pode-se atribuir um schema a muitos usuários se eles pertencem ao mesmo grupo de usuários do sistema operacional ou têm uma regra de banco de dados na aplicação. Pode-se também autorizar multiplos usuários ao mesmo esquema padrão através de um mesmo nome comum. Pois o schema é separado do usuário, pode-se remover o nome ou a regra de um usuário sem mudar o nome qualificador dos objetos do banco de dados criados pelo usuário. Além do que, você não precisa armazenar objetos compartilhados em um schema dbo. Ao invés disso, você pode armazenar objetos compartilhados em um esquema padrão comum. Schemas necessitam de um nome qualificador completo No SQL Server 2005, todo objeto tem um nome qualificador completo, que tem a seguinte forma: <Servidor>.<BancoDados>.<Schema>.<Objeto>. Se não forem mencionados os nomes do servidor e do banco de dados no nome qualificador completo, o servidor atual e o nome do banco de dados são assumidos. A menos que 14

seja explicitado especificamente um nome padrão para o usuário, nomes de objetos não qualificados que existem por padrão em cada banco de dados são atribuídos ao schema dbo. Objetos podem ser referenciados em um banco de dados usando vários métodos como Servidor.Banco.Schema.Objeto, Schema.Objeto e Objeto. Como usar Identificadores Delimitadores Quando são usadas palavras reservadas para nomes de objetos ou partes de nomes de objetos, ou caracteres que não são delimitadores. Quando não é qualquer identificador que regula as regras de identificadores, é necessário usar identificadores delimitadores. Os dois tipos de identificadores delimitadores usados em T-SQL são: Aspas duplas: SELECT * FROM Lacunas no Nome da Tabela Colchetes SELECT * FROM [Lacunas no Nome da Tabela] Esse recurso é válido apenas quando a opção QUOTED_IDENTIFIER está ativada. Por padrão o Microsoft Objetct Linking Embedded Database (OLE DB) do SQL Server e do driver SQL Server Object Data Base Connectivity (ODBC) ativa a opção QUOTED_IDENTIFIER quando a aplicação é conectada ao banco de dados. Para se certificar de que a opção está sendo executada, é fortemente recomendado usar colchetes []. Componentes de uma tabela de um banco de dados SQL Server Quando armazenamos dados em uma tabela de um banco de dados, é preciso identificar os componente da tabela e verificar que os dados que estão sendo armazenados são os dados relevantes para estes componentes. Tabelas ou Entidades Entidades são representações do mundo real como lugares, objetos ou pessoas. Em um modelo de banco de dados relacional, as tabelas representam uma única entidade. Os dados de uma entidade, quando organizados em forma de linha e coluna, formam as tabelas. 15

Campos, Atributos ou Colunas Atributos são as características de uma entidade. Em um modelo de banco de dados relacional, atributos correspondem às colunas ou campos de uma tabela de um banco de dados. Tipos de Dados Para definir o valor dos dados que podem ser armazenados em uma coluna ou variável, é preciso usar os tipos de dados. O SQL Server tem alguns tipos de dados pré-definidos, porém, você também pode criar tipos de dados definidos pelo usuário. Chaves primárias e chaves estrangeiras Chaves primárias são atributos ou um conjunto de atributos que identificam de forma única cada instância de uma entidade. Chaves estrangeiras são atributos que identificam a entidade fraca em um relacionamento (ou o lado filho de um relacionamento). Restrições Para limitar a possibilidade de valores que podem ser inseridos em colunas, é possível usar restrições de checagem (check constraints). Os valores das expressões das constraints avaliarão a condição a partir de uma expressão booleana. 16

Introdução a linguagem SQL SQL é uma linguagem padronizada que é usada para acessar e manipular dados. O conceito de banco de dados relacional e SQL foi introduzido pelo Dr. E. F. Codd na IBM em 1970. Após isso, a Linguagem de Consulta em Ingês Estruturado (SeQuel) foi desenvolvida pelo laboratório de Pesquisas da IBM como uma linguagem padrão para ser usada com bancos de dados relacionais. Mais tarde, para padronizar o uso do SQL, a ANSI lançou o ANSI SQL. Diferenças entre ANSI SQL e T-SQL SQL é uma linguagem de programação não procedural usada para consultar modelos de dados relacionais. Linguagens não procedurais são diferentes das procedurais pois elas permitem que seja definida uma lista de dados a serem manipulados, e uma única operação a ser aplicada a acada elemento da lista. O processamento do banco de dados determina a melhor forma de listar e aplicar as operações aos dados. De qualquer forma, em uma linguagem procedural, após definir a lista de dados, é necessário planejar passo a passo, a forma como serão armazenados e atualizados os dados. Vantagens de linguagens não procedurais sobre as linguagens procedurais Uma linguagem não procedural é melhor que a liguagem procedural por dois motivos principais: 17

É possível executar consultas em uma linguagem não procedural em menos linhas, se comparado com as linguagens procedurais; É mais facil encontrar erros em linguagens não procedurais pois elas são mais rápidas em termos de operações de entrada e saída de dados e processamento. A SQL tem sido a linguagem dominante de banco de dados por mais de três décadas. Esta linguagem tem sido padronizada por causa da introdução de muitos SGBDR no mercado, esses SGBDR contem sintaxy SQL proprietária e dialetos SQL. Assim, os comandos SQL que executam diferentemente em um SGBDR, devem falhar quando forem portados para outro SGBDR. ANSI e T-SQL ANSI define o padrão para SQL. Consequentemente, distribuidores que enfrentam o problema de incompatibilidade entre os produtos de SGBDR podem implementar o padrão ANSI SQL para interoperabilidade. É necessário escrever scripts baseados no padrão ANSI SQL para certificar a compatibilidade e a portabilidade do banco de dados. O último padrão ANSI é o SQL 2003. Nem um distribuidor implementa o padrão ANSI completo. Antes disso, SQL 92 foi o padrão. O SQL Server 2000 e 2005 estão básicamente coerentes com o padrão ANSI SQL 92. SQL Server 2005 também implementa muitos recursos do SQL 99. Transact-SQL (T-SQL) é a implementação da linguagem SQL pela Microsoft e está fortemente ligado aos padrões ANSI-SQL. Categorias do código SQL Existem três tipos básicos de categorias de SQL ANSI 92 que ainda são comunmente usadas em todos os bancos de dados. Data Defination Language (DDL): Sintaxes SQL DDL podem ser usadas para a estrutura do banco de dados ou schemas. A seguir algumas das mais relevantes sintaxes SQL DDL: CREATE: Usada para criar objetos em um bancos de dados; ALTER: Usada para alterar objetos de um banco de dados: 18

Exemplo: USE AdventureWorks; GO --Exemplo de declaração DDL ALTER ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID; GO DROP: Usada para excluir objetos de um banco de dados; Data Control Language (DCL) Declarações DCL podem ser usadas para controlar o acesso aos dados e para certificar a segurança. A seguir algumas declarações DCL mais relevantes: GRANT: Declaração usada para atribuir privilégios de acesso dos objetos do banco de dados aos usuários. USE AdventureWorks GO GRANT SELECT ON Production.Product TO PUBLIC GO REVOKE: Declaração usada para retirar os privilégios dados aos usuários a partir do comando GRANT. DENY: É uma declaração usada para impedir que determinados usuários possam executar determinadas tarefas. Data Manipulation Language (DML): Declarações DML são usadas para manipular dados. A seguir, algumas declarações DML relevantes: INSERT: Usada para inserir dados em tabelas; Exemplo: USE AdventureWorks; GO --Exemplo de declaração DML INSERT INSERT INTO Production.UnitMeasure VALUES ('F2', 'Square Feet', GETDATE()); GO 19

UPDATE: Modifica dados existentes nas tabelas; DELETE: Deleta registros das tabelas; SELECT: Seleciona registros das tabelas. Exemplo: USE AdventureWorks; GO --Declaração DML SELECT SELECT * FROM Production.Product ORDER BY Name ASC; GO Obs: O SQL 2003 contem sete novas classes que substituem o DDL, DML e DCL. Essas classes são SQL connection statements, SQL control statements, SQL data statements, SQL dianostic statements, SQL schema statements, SQL session statements e SQL transaction statements. 20

Ferramentas de pesquisa T-SQL Em SQL Server 2005, é possível pesquisar bancos de dados usando várias ferramentas como o SQL Server Management Studio, o Business Intelligence Development Studio, o SQLCMD, e o Visual Studio.NET Designers. Ao usar o SQL Server Management Studio, é possível criar uma solução de banco de dados e executar uma query. Também é possível executa uma query SQL Server em outras aplicações clientes como o Microsoft Office Access e o Microsoft Office Excel. Além disso, ao conectar o SQL Server é possível executar queries a partir de outras aplicações clientes que usam o Open Database Connectivity (ODBC), o Object Linking and Embedding Database (OLEDB) e o SQL Native Access Client (SNCLI). Ferramentas de pesquisa em bancos de dados SQL Server 2005 Observe a seguir as ferramentas de desenvolvimento em SQL Server 2005 com o foco no SQL Server Management Studio. Existem várias ferramentas para desenvolvimento no Ambiente de Desenvolvimento SQL Server. SQL Server Management Studio É o ambiente de desenvolvimento principal para o SQL Server 2005. Ele pode ser usado para criar, executar, e salvar scripts associados a um banco de dados específico. Pode ser usado também para criar soluções de banco de dados contendo todos os scripts e aplicações de bancos de dados graficamente. Além disso, o SQL Server Managemnet Studio oferece o Query Builder, que pode ser usado para criar e rodar queries. 21

Business Intelligence Development Studio É um ambiente de desenvolvimento para SQL Server 2005. Pode ser usado para criar e manter soluções de BI ponto-a-ponto. O Business Intelligence Development Studio também é usado para desenvolver aplicações SSAS. SQLCMD É uma nova ferramenta de pesquisa em linha de comando do SQL Server 2005 que substitui os utilitários isql e o osql. O SQLCMD funciona como uma alternativa para a interface gráfica do SQL Server Management Studio. Podem ser executadas pesquisas interativas em SQLCMD, assim como poderiam ser executadas com o isql e o osql. Além disso, o SQLCMD pode ser usado para automatizar scripts T-SQL que são evocados pelos arquivos de lote ou outras aplicações que não precisam ser programadas na API do SQL Server. Visual Studio.NET Designers SQL Server 2005 proporciona muitas extensões para o Microsoft Visual Studio.NET environment. Isso torna fácil a construção de recursos SQL Server 2005 como relatórios e objetos de banco de dados. Obs: Também podem ser usados os produtos do pacote Office como Microsoft Office Access e Microsoft Office Excel para acessar bancos de dados SQL Server e apresentar os resultados em seus respectivos ambientes. Usuários também executam pesquisas usando consultas T-SQL em ambiente SQL Server Management Studio. Após exeutar suas consultas eles copiam e colam o código em suas respectivas aplicações. Identificando os elementos do SQL Server Management Studio O SQL Server Management Studio pode ser usado para criar e administrar projetos de banco de dados, que contém todas as conexões, consultas e outros objetos associados com a aplicação. Com o SQL Server Management Studio pode se combinar multiplos projetos de bancos de dados na mesma aplicação, e assim adiministrar aplicações complexas. Em aplicações de exemplo que são usadas para demonstração, o projeto de banco de dados é armazenado no servidor Gen-Dev. Para ver todos os projetos do servidor é preciso conectar-se a ele informando o nome do servidor, o login e senha na 22

caixa de diálogo de conexão. Após este procedimento, os conteúdos do Object Explorer e do Summary aparecerão. A janela do Object Explorer mostra o projeto e seus subdiretórios. O Object Explorer é uma ferramenta gráfica que é usada para localizar e administrar bancos de dados, e objetos de bancos de dados. Agora, feche a janela Object Explorer. Assim será mais fácil ver as informações relacionadas ao projeto na janela Summary. Após ver as informações, feche a janela Summary. E veja que a janela do Object Explorer pode ser aberta a partir do menu View. Para adicionar um novo projeto no Solution Explorer, clique no menu File, New, a caixa de diálogo Novo Projeto irá surgir. Agora, especifique o nome para o novo projeto e clique em OK. Perceba que o novo projeto está disponível no Solution Explorer, que é uma ferramenta gráfica que mostra os detalhes do novo projeto na janela Project Solutions em uma estrutura de árvore. Deverá haver três subdiretórios: Conecction, Queries, e Miscellaneous. Após criar um novo projeto, será necessário administrar o projeto e o servidor. Para ver uma lista de servidores que são registrados para o seu banco de dados, clique no menu View, clique em Registered Servers. A janela Registered Servers aparecerá com uma lista de servidores registrados. Essa janela facilita a administração eficiente dos servidores, proporcionando operações como parar, pausar e inicializar servidores. Para extrair informações de um banco de dados para o projeto, é preciso criar uma pesquisa na janela Query. Essa janela é usada para escrever e executar um query SQL. Para criar uma nova consulta, clique com o botão direito na pasta gen-dev (Registered Servers), aponte para Connect e clique em New Query. Um arquivo New Query aparecerá na janela Query. Também é possível abrir uma janela Nova Query no SQL Server Management Studio usando outros métodos. No menu File, aponte para New e clique em Query in Current Connection, ou clique no botão New Query na barra de ferramentas. Neste caso, será necessário entrar com login e senha para se conectar ao banco de dados. 23

Para executar uma query no banco de dados AdventureWorks, em um arquivo Nova Query escreva USE AdventureWorks. Para executar as declarações, clique no botão Execute, na barra de ferramentas ou pressione F5. A guia Messages mosta uma mensagem que indica que o comando foi executado com sucesso. Isso significa que houve sucesso ao se conectar ao banco de dados AdventureWorks. Para obter os 10 primeiros endereços da tabela Address do banco de dados AdventureWoks, digite os comandos de consulta pertinentes. E então, para executar as declarações feitas, use o botão Execute na barra de ferramentas. Para criar e editar uma consulta, use o Query Editor. Ferramenta de interface amigável que ajuda a desenvolver consultas facilmente. Para evocar o Query Editor, clique com o botão direito em uma query, em Design Query clique em Editor. Na tabela Address do Query Editor, desmarque as caixas de checagem de RowGuid, ModifiedDate e AddressID. Note que o comando SELECT mudou para suportar apenas os item selecionados através das caixa de checagem da tabela Address. Clique em OK. Após, clique no botão Execute da barra de ferramentas. Observe que os dez primeiros endereços da tabela Address foram exibidos, sem as colunas que foram desmarcadas. Agora, oculte a caixa de diálogo Registered Servers usando o Auto-Ocultar. Com este recurso é possível auto-ocultar janelas que não estão em uso, automaticamente. Para habilitar o Auto-Ocultar na janela Registered Servers, clique no botão Auto-Ocultar. Para abrir a janela novamente, clique na guia Registered Servers. Também é possível fechar a janela Registered Servers usando o Ocultar. Com este recurso é possível simplismente ocultar a janela. Para acionar o recurso na janela Registered Servers, clique no botão Posição da Janela, e clique em Ocultar. Para mostrar uma janela oculta, clique no menu View e clique no nome da janela. Sem usar o Auto-Ocultar e o Ocultar, é possível fechar diretamente qualquer janela usando o botão Fechar. Demonstração: 1. Identificando os Elementos do SQL Server Management Studio 24

Figura 1 - Caminho para o SQL Server Management Studio 2. Menu iniciar, apontar para Todos os Programas, Microsoft SQL Server 2005 e clique em SQL Server Management Studio. A caixa de diálogo Connect to Server irá surgir. Figura 2 - Caixa de diálogo Connect 3. Na caixa de diálogo Connect to Server clique em Connect para aceitar os valores padrão. O conteúdo das janelas Object Explorer e Summary aparecerão. 25

4. Feche o Object Explorer. 5. Feche a janela Summary. Figura 3 - Microsoft SQL Server Management Studio 26

Figura 4 - Registered Servers 6. No menu View, clique em Object Explorer. O Object Explorer irá surgir. Figura 5 - Object Explorer a partir do menu View 27

7. No menu Arquivo, aponte para New e clique em Project. Uma caixa de diálogo Novo Projeto irá surgir; Figura 6 - Menu New, Project 8. Na caixa de texto Name, selecione SQL Server Scripts1 e escreva Exemplo e clique em OK. 28

Figura 7 - Caixa de diálogo New Project 9. Caso a janela Registered Servers não esteja ativa clique no menu View e clique em Registered Servers. A janela que contem os Servidores Registrados aparecerá. 10. Clique com o botão direito no diretório gen-dev (ou outro servidor que esteja sendo usado GILBERTE-325703 por exemplo), aponte em Connect e clique em New Query ou clique no menu File, New, Query with Current Connection. Uma caixa de diálogo para conexão poderá surgir, clique em Connect. O arquivo GILBERTE-325703.master-SQLQuery1.sql aparecerá na janela Query. 29

Figura 8 - Menu File, New, Query with Current Connection 11. No arquivo GILBERTE-325703.master-SQLQuery1.sql, escreva USE AdventureWorks Figura 9 - GILBERTE-325703.Master-SQLQuery1.sql 12. Na barra de ferramentas clique em Execute. O nome da janela muda de GILBERTE-325703.master-SQLQuery1.sql para GILBERTE- 325703.AdventureWorks-SQLQuery1.sql. Na guia da caixa de diálogo uma menssagem surge indicando que o comando foi executado com sucesso. 30

Figura 10 - GILBERTE-325703.AdventureWorks-SQLQuery1.sql 13. No arquivo GILBERTE-325703.AdventureWorks-SQLQuery1.sql, escreva a linha de código a seguir: SELECT TOP 10 * FROM Person.Address; 14. Na barra de ferramentas clique em Execute. O resultado da consulta é mostrado na guia Results. 31

Figura 11 - Exemplo de dados com Query 15. No arquivo GILBERTE-325703.AdventureWorks-SQLQuery1.sql, selecione o comando SELECT TOP 10 * FROM Person.Address, clique com o botão direito e clique na opção Design Query in Editor. A janela do Query Editor surge. 32

Figura 12 - Usando o Design Query in Editor 16. Na tabela Address(Person), clique para limpar as caixas de checagem das colunas RowGuid, ModifiedDate e AddressID. 33

17. Clique em OK Figura 13 - Query Designer 18. Na barra de ferramentas clique em Execute. O resultado da query é mostrado na guia Results. 34

Figura 14 - Executando consulta modelada no Query Design 19. Na janela Registered Servers, clique na ferramenta Window Position e clique em Auto Hide. 35

Figura 15 - Auto Hide 20. Clique na janela Registered Servers que está oculta a esquerda 36

Figura 16 - Caixa de diálogo Registered Server Auto Oculta 21. Na caixa de diálogo Registered Servers, clique com no botão Window Position e clique em Hide. 37

Figura 17 - Window Position, Hide 22. Feche o SQL Server Managements Studio. SQL Server Solutions Figura 18 - SQL Server 2005: Solution Explorer O SQL Server Solution é uma coleção de um ou mais projetos que contém conexões de bancos de dados, e scripts T-SQL. Para criar um SQL Serve Solution, é preciso criar um projeto especificando o tipo de projeto. Isso pode ser feito a partir da 38

seleção do tipo do projeto de uma lista de modelos (templates) do SQL Server. Esses modelos incluem SQL Server Script, Analysis Server Script, e SQL Mobile Scripts. Após selecionar o tipo do projeto, a nova solução é criada e exibida no Solution Explorer. Funções dos Diretórios SQL Solution Os vários diretórios do SQL Server Solution: Connection, Queries, e Miscellaneous, com os componentes apropriados, são disponibilizados no Solution Explorer. A seguir estão as funções dos componente presentes nos diretórios do projeto. O Diretório Connections define os arquivos que podem ser usados para informar as credenciais de conexão para a nova solução. O Diretório Queries define os diferentes tipos de queries criadas para o projeto especifico. Por exemplo, se o projeto é um SQL Server Script, todos os scripts SQL são armazenados no diretório Queries. A partir do diretório é possível adicionar, modificar e deletar esses scripts. O diretório Miscellaneous serve para todos os demais arquivos suportados que são requisitados pela solução. Uma Solução SQL Server é salva como um arquivo de extensão.ssmssln. Quando o arquivo.ssmssln é aberto, é possível ver todos os scripts e conexões que são salvar para a solução. Criando um SQL Server Solution Para criar um SQL Server Solution no Microsoft SQL Server Managemnt Studio. Abra o SQL Server Management Studio. Conect ao servidor. Conforme mostrado no primeiro passo, crie um novo projeto no SQL Server Management Studio. Para isso, no menu File, aponte para New, e clique em Projeto. A caixa de diálogo New Project surge. Na caixa de diálogo, a opção SQL Server Scripts está selecionada como modelo padrão. Na caixa de texto Name, escreva Exemplo2 que será o nome do projeto, clique em OK. Perceba que este nome também é mostrado na caixa de texto Solution Name. Ao clicar em OK, o projeto é criado e é exibido o Solution Explorer. 39

A seguir conecte ao computador que está rodando o SQL Server para executar consultas. Clique com o botão direito no diretório Connect, e clique em New Connection. A caixa de diálogo Connect to Server será exibida. Nessa caixa de diálogo, verifique se o servidor a ser usado está selecionado na caixa de combinação Server name, e clique em OK. Depois de estabelecer a conexão ao servidor, você precisa criar uma consulta para obter os dados desejados. Clique com o botão direito no diretório Queries, e clique em New Query. Ao adicionar uma query, a caixa de diálogo Connect to Database Engine surge. Nessa caixa de diálogo, é preciso especificar as informações para conexão como o nome do servidor e a autenticação. Clique em Connect para aceitar o padrão. Agora, renomeie a query para ObterEndereco.sql. O arquivo ObterEndereco.sql será aberto em uma janela de query. Para acessar os endereços das dez primeiras pessoas no banco de dados AdventureWorks, digite o comando SQL a seguir: USE AdventureWorks SELECT TOP 10 * FROM Person.Address. Após escrever a query, salve-a e salve o projeto. Além de consultas, pode-se adicionar arquivos mistos como arquivos de ajuda (Help), documentos do Word e outros projetos ao projeto. Por exemplo, para adicionar um arquivo de ajuda ao projeto, na caixa de diálogo Add Existing Item, navegue até o local onde o arquivo está, selecione todos os arquivos a partir dos arquivos listados, e adicione o arquivo de ajuda, Help.txt. O arquivo aparecerá na janela query. Agora, o arquivo Help é adicionado ao diretório Miscellaneous e finalmente, salve o projeto. Demonstração 1. No menu Iniciar, aponte para Todos os programas, Microsoft SQL Server 2005, SQL Server Management Studio. 2. Na caixa de diálogo Connect to Server, verifique o tipo de servidor, o nome e as caixa de autenticação, para saber se estão ok, e clique em Connect para aceitar os valores padrão. 3. No menu File, do SQL Server Management Studio, aponte para New, e clique em Project. A caixa de diálogo New Project surge. 4. Na caixa de texto name, selecione SQL Server Scripts1, escreva Exemplo2 e clique em OK. 40

5. Na região Solution Explorer clique com o botão direito no diretório Connections do projeto Exemplo2 e clique em New Connection. A caixa de diálogo Connect to Server aparecerá. Figura 19 - Solution Explorer: Connection, New Connection 6. Na caixa de diálogo Connect to Server, clique em OK. Figura 20 - Caixa de Diálogo Connect to Server 7. Na região Solution Explorer, clique com o botão direito no diretório Queries e clique em New Query. A caixa de diálogo Connect to Database Engine surge. 41

Figura 21 - Solution Explorer: New Query 8. Na caixa de diálogo Connect to Database Engine clique em Connect Figura 22 Caixa de Diálogo: Connect to Database Engine 9. Na região Solution Explorer, clique com o botão direito no arquivo SQLQuery1.sql, clique em Rename, e escreva ObterEndereco.sql. O arquivo ObterEndereco.sql abre a janela de query. 42

Figura 23 - Rename: SQLQuery1 10. No arquivo ObterEndereco.sql, escreva a seguinte declaração SQL: USE AdventureWorks SELECT TOP 10 * FROM Person.Address. Figura 24 - Código SQL em ObterEndereco.sql 11. No menu Aquivo clique em Salvar ObterEndereco.sql. 43

12. (Para executar esta parte é necessário ter um arquivo help.txt por exemplo previamente salvo na área de trabalho!) Na região Solution Explorer, clique com o botão direito no projeto Exemplo2, aponte para Add e clique em Existing Item. A caixa de diálogo Add Existing Item surge. Figura 25 - Add Existing Item... 13. Na caixa de listagem Look in, clique em Desktop 14. Na lista Files of Type, clique em All files (*.*) 44

Figura 26 - Caixa de diálogo Add Existing Item 15. Na guia Desktop, clique em help.txt, clique em Add. O arquivo help.txt irá surgir na janela query. Figura 27 - Arquivo help.txt adicionado ao projeto Exemplo2 16. Na região Solution Explorer, clique com o botão direito no projeto Exemplo2 e clique em Salvar Exemplo2.ssmssqlproj 45