4326: introdução a banco de dados com microsoft® sql · de consulta t-sql, ... o sql server é...

51
Tecnologias e Linguagens para Banco de Dados I Prof or : Gilberto Braga de Oliveira Nome ___________________________________________ Número: _____ Série ___________________ Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340 Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: [email protected] Site: http://www.etecfran.com.br/ 1 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).

Upload: phungtram

Post on 23-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Nome ___________________________________________ Número: _____ Série ___________________

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

1

4326: Introdução a Banco de Dados com Microsoft® SQL ServerTM 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).

Page 2: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

2

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

Page 3: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

3

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).

Como um SGBDR o SQL Server pode ser usado para executar as funções a

seguir:

� 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.

Page 4: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

4

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.

Page 5: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

5

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.

Page 6: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

6

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

Page 7: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

7

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, ...)

Page 8: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

8

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

Avançado

MANZANO,

José

MENDES,

Sandro

8571948542 Progrmação 262 Érica

Administração

de Sistema de

Informação

O’BRIEN,

James

MARAKAS,

George

8586804770 Administração 537 McGrawHill

Page 9: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

9

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

Avançado

MANZANO,

José

8571948542 Informática 262 Érica

Administração de

Sistema de

Informação

O’BRIEN,

James

8586804770 Administração 537 McGrawHill

Delphi 7

Avançado

MENDES,

Sandro

8571948542 Informática 262 Érica

Administração de

Sistema de

Informação

MARAKAS,

George

8586804770 Administração 537 McGrawHill

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?

Page 10: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

10

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

*CodArea Area

1 Informática

Defina a relação entre as tabelas:

Autor e Livro: “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.

Page 11: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

11

Tabela Autor_Livro *ISBN *CodAutor

8571948542 1

8586804770 3

8571948542 2

8586804770 4

Área e Livro: “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.

Page 12: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

12

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

Page 13: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

13

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 Descrição

Tabelas

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.

Views 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.

Constraints Uma constraint define regras que regulam os valores permitidos e é um mecanismo

que força a integridade dos dados.

Indices

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.

Funções

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.

Procedimentos

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.

Triggers

(Gatilhos)

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>]

Page 14: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

14

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

Page 15: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

15

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.

Page 16: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

16

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.

Page 17: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

17

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:

Page 18: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

18

É 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:

Page 19: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

19

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

Page 20: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

20

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.

Page 21: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

21

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.

Page 22: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

22

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

Page 23: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

23

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 sub-

diretó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.

Page 24: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

24

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

Page 25: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

25

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.

Page 26: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

26

Figura 3 - Microsoft SQL Server Management Studio

4. Feche o Object Explorer.

5. Feche a janela Summary.

Page 27: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

27

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

Page 28: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

28

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.

Page 29: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

29

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.

Page 30: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

30

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.

Page 31: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

31

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.

Page 32: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

32

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.

Page 33: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

33

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.

Page 34: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

34

Figura 13 - Query Designer

17. Clique em OK

18. Na barra de ferramentas clique em Execute. O resultado da query é mostrado na guia Results.

Page 35: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

35

Figura 14 - Executando consulta modelada no Query Design

19. Na janela Registered Servers, clique na ferramenta Window Position e clique em Auto Hide.

Page 36: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

36

Figura 15 - Auto Hide

20. Clique na janela Registered Servers que está oculta a esquerda

Page 37: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

37

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.

Page 38: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

38

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

Page 39: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

39

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.

Page 40: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

40

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.

Page 41: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

41

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.

Page 42: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

42

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.

Page 43: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

43

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.

Page 44: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

44

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 (*.*)

Page 45: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

45

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

Page 46: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

46

Figura 28 - Salvando o projeto Exemplo2

Executando uma Query em SQL Server Management Studio

SQL Server Management Studio é uma ferramenta integrada com SQL Server

2005 e pode ser usada para criar queries (consultas). Para criar queries, abra o SQL

Server Management Studio. Note que a janela com a caixa de diálogo Connect to

Server irá aparecer. Na aplicação de exemplo usada para demonstração, os projetos

de bancos de dados são armazenados em um servidor de nome GILBERTE-325703

(dado automaticamente em razão da maneira como o SQL Server 2005 foi instalado).

Para ver todos os projetos no servidor é preciso conectar-se a ele a partir do nome do

servidor e das credenciais de autenticação do windows na caixa de diálogo Connect to

Server. Após validar as credenciais, o SQL Server Management Studio aparecerá.

Para abrir uma nova janela de query no SQL Server Management Studio,

clique no botão New Query na barra de ferramentas. O arquivo de query será aberto

na Query Window. A Query Window é usada para escrever queries SQL, executar

stored procedures, e transactions. Para se conectar ao banco de dados

AdventureWorks no qual executaremos as queries, digite o comando USE no arquivo

de query. Perceba que a guia message indica que o comando foi executado

corretamente e a conexão ao banco de dados AdventureWorks está estabelecida.

Page 47: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

47

Figura 29 - Criando uma Query em SQL: Ferramentas NewQuery, Execute e Parse

Agora, para obter os dez primeiros endereços de pessoas a partir da tabela

Address do banco de dados AdventureWorks, escreva a declaração SQL pertinente. E,

na barra de ferramentas, clique no botão Parse (analizar) [Ctrl + F5], para analizar a

query antes de executá-la. Analizar a query ajuda a identificar erros. E pode-se

executar a query otimizando a transação. Para executar a query, clique no botão

Execute (executar) [F5] da barra de ferramentas.

Após executar uma query, será possível observar os resultados na guia

Results. Na guia Messages que está no painel Results, pode ser visto o número de

registros afetados pela query, e o tempo gasto na execução.

Agora, feche o arquivo query. Uma caixa de diálogo para verificar se você

deseja salvar as alterações será exibida. Na caixa de menssagem, clique em Não, se

você não quiser salvar as alterações feitas nos itens exibidos.

Page 48: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

48

Figura 30 - Código SQL preenchido no arquivo query e testado com a ferramenta Parse [CTRL + F5].

A seguir, abra o arquivo ExemploSQL.sql criado anteriormente, a partir do

menu File, Open e File. A caixa de diálogo Open File irá surgir. Abra o arquivo

ExemploSQL.sql. Na caixa de diálogo Connect to Database Engine, clique em

Connectar. Após ajustar as configurações de conexão para o arquivo de exemplo, na

janela Query, selecione o comando e clique no botão Execute (executar) [F5]. Será

possível observar as convenções coloridas na query selecionada. As palavra em azul

são palavras resenvadas, as que estão em rosa são funções, e as que estão em verde

são comentários. Assim, para executar uma query selecionada, na barra de

ferramentas, clique no botão Execute [F5].

Page 49: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

49

Figura 31 - Query executada: Resultados exibidos no painel Results, guia Results.

Demonstração

1. Menu Iniciar, Todos os programas, Microsoft SQL Server 2005, SQL Server Management Studio. A janela do Microsoft SQL Server Management Studio e a janela Connect to Server irão aparecer.

2. Na caixa de diálogo Connect to Server, clique em Connect. O Object Explorer e o Summary aparecerão.

3. Na barra de ferramentas do SQL Server Managements Studio, clique no botão New Query. O arquivo GILBERTE-325703-SQLQuery1.sql é aberto na janela query.

4. No arquivo GILBERTE-325703-SQLQuery1.sql, digite a sentença USE AdventureWorks e clique no botão Execute [F5].

5. No arquivo GILBERTE-325703-SQLQuery1.sql, digite SELECT TOP (10) * FROM Person.Address e clique no botão Execute [F5].

6. Na barra de ferramentas, clique em Parse [CTRL + F5] e Execute [F5]. O arquivo muda de GILBERTE-325703.master-SQLQuery1.sql para GILBERTE-325703.Adventureworks-SQLQuery1.sql.

7. No painel Results, clique na guia Messages, e na guia Results.

8. Feche o arquivo GILBERTE-325703.Adventureworks-SQLQuery1.sql. A caixa de diálogo verifica se você deseja salvar as alterações nos itens ativos da tela.

Page 50: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

50

9. Clique em Não.

10. (Crie, antes de executar este passo, um arquivo ExemploSQL.sql na área de trabalho) No menu File, aponte para Open, e clique em File. A caixa de diálogo Open File surge. No diretório Desktop, clique no arquivo ExemploSQL.sql e clique em Abrir. O arquivo ExemploSQL.sql abre em uma janela de query.

Figura 32 – menu File, Open File para abrir um arquivo.

11. Na caixa de diálogo Connect to Database Engine, clique em Connect.

12. No arquivo GILBERTE-325703.master-ExemploSQL.sql, selecione as declarações USE AdventureWorks SELECT AddressID, City, Getdate() FROM Person.Address e na barra de ferramentas, clique em Executar.

Page 51: 4326: Introdução a Banco de Dados com Microsoft® SQL · de consulta T-SQL, ... O SQL Server é desenhado para proporcionar alta performance, escalabilidade, fidelidade e administração

Tecnologias e Linguagens para Banco de Dados I Profor: Gilberto Braga de Oliveira

Rodovia Pref. Luiz Salomão Chamma, S/N Km 41 – Pouso Alegre – CEP 07895-340

Franco da Rocha – SP – Brasil - Telefones (11) 4443-6110/4449-3115

E-mail: [email protected] Site: http://www.etecfran.com.br/

51

Figura 33 - Resultado da execução de um arquivo (.sql) aberto.