Cadastre-se Revistas DevMedia Cursos
 

Space de Leandro Daniel
Busca Autor


Últimas 20 atualizações de Leandro Daniel

Artigo - Introdução à T-SQL - Easy .net magazine 3

Introdução à T-SQL


  Embora existam diversas maneiras de armazenarmos dados estruturados, os bancos de dados relacionais ainda são os mais utilizados na maioria das soluções e sistemas. Dentro da plataforma Microsoft de desenvolvimento, o SQL Server 2008 figura como principal opção para armazenamento de dados. 
  Dominar uma linguagem de banco de dados, como o SQL, é essencial para desenvolvedores de aplicações que pretendam utilizar o SQL Server. Notadamente, a T-SQL se firmou como uma linguagem poderosa e contribuiu para a consolidação do SQL Server.
  Veremos como podemos criar um ambiente de estudo para desenvolvimento com a T-SQL, quais são os conceitos e fundamentos por trás da linguagem e suas aplicações. Também aprenderemos a utilizar o SQL Server Manager Studio para criarmos scripts de banco de dados utilizando diversas facilidades para desenvolvimento.


Criando o ambiente para desenvolvimento

Como primeiro passo para criação do ambiente de desenvolvimento, devemos realizar a instalação do SQL Server 2008 Express. Na primeira edição da Easy .net Magazine você encontra o processo de instalação descrito detalhadamente. Ao final desse artigo, na sessão de Links, você encontrará a URL para o artigo que descreve a instalação.
  Após a instalação do SQL Server 2008 Express, devemos fazer o download do banco de dados de exemplo chamado “AdventureWorks”, disponível no CodePlex (vide sessão Links, “Downloads de bancos de dados de exemplo”). No link mencionado você encontrará o download do arquivo “AdventureWorks2008_SR4.exe”, um instalador do banco de dados de exemplo “AdventureWorks”. Uma vez executado, o instalador apresentará uma tela para selecionarmos as opções para instalação. Conforme podemos conferir na Figura 1, para os exemplos demonstrados nesse artigo utilizaremos apenas a opção “AdventureWorks OLTP”. Para iniciar a instalação clique no botão “Install”.

 A partir daqui o instalador realizará todo o processo de instalação, conforme ilustra a Figura 2. Além de criar a base de dados de exemplo o instalador fará o processo de anexar o banco de dados à instância do SQL Server 2008.

 Para entendermos como funciona o processo de anexação de uma base de dados no SQL Server vamos utilizar o SQL Server Management Studio, localizado no menu Iniciar > Microsoft SQL Server 2008. Na tela de login, ilustrada na Figura 3, clique em “Connect” (se você optar por logar com uma conta do SQL Server, informe antes o usuário e a senha).

 Aqui vale lembrar que os procedimentos que veremos não são necessários se você utilizou o instalador do banco de dados de exemplo do CodePlex. Contudo, é importante que você conheça a forma manual de instalação de uma base de dados, pois essa é a forma padrão utilizada na prática. Com o Microsoft SQL Server Management Studio iniciado, clique com o botão direito em Databases, conforme ilustra a Figura 4, e escolha a opção “Attach”.

 Na tela “Attach Databases” clique no botão “Add”, conforme destaque da Figura 5. Essa tela nos auxiliará no processo de anexação de um arquivo de banco de dados a nossa instância de SQL Server 2008.

 

Conforme podemos ver na Figura 6, a janela “Locate Database Files” exibe os diretórios da máquina. A título de exemplo, a Figura 6 mostra como faríamos para anexar a base de dados de exemplo “AdventureWorks”. Devemos escolher o diretório onde se localiza o arquivo “AdventureWorks_Data.mdf”. Por padrão, esse arquivo fica dentro de “c:\Arquivos de programas\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Data”, contudo, esse caminho pode variar muito caso haja instalações prévias do SQL Server.

 

Nesse momento bastaria confirmar a operação clicando em “Ok”, contudo, isso não será necessário, pois o banco de dados “AdventureWorks” já foi anexado pelo instalador do CodePlex. Conforme mostra a Figura 7, após todo o processo de instalação o banco de dados “AdventureWorks” está pronto para utilização. Podemos navegar em seus objetos e realizar nossa introdução ao desenvolvimento com T-SQL.

 

Nosso ambiente de desenvolvimento está totalmente pronto e funcional para os exemplos que veremos nesse artigo. Contudo, vamos conhecer antes a origem da linguagem SQL e o seus principais padrões. Esse conhecimento é importante para sabermos até onde os comandos e palavras-chave utilizadas em uma consulta são compatíveis com outros bancos de dados.


O surgimento do SQL e seus padrões

A linguagem SQL (do inglês, Structured Query Language) é conhecida por ser um padrão de banco de dados amplamente utilizado, principalmente devido a sua simplicidade e facilidade de uso. Diferente de outras linguagens de consulta a banco de dados, SQL especifica a forma do resultado e não o caminho para chegar a ele.

Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialetos" desenvolvidos por outros fabricantes, tais como: Oracle, Microsoft SQL Server, entre outros. Essa expansão levou à necessidade de ser criado e adaptado um padrão para a linguagem, o que foi realizado pela American National Standards Institute (ANSI) em 1986 e a ISO em 1987. O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente.

Dentro do padrão SQL (também conhecido como SQL Standard), temos alguns grupos de palavras-chave utilizados em contextos distintos, como veremos a seguir.

A DML (Data Manipulation Language, ou Linguagem de Manipulação de Dados) é um subconjunto da linguagem usada para inserir, atualizar e apagar dados. A seguir temos os comandos utilizados na manipulação de dados:

INSERT à é usada para inserir um registro (formalmente uma tupla) em uma tabela existente.

UPDATE à para mudar os valores de dados em uma ou mais linhas da tabela existente.

DELETE à permite remover linhas existentes de uma tabela.

A DDL (Data Definition Language, ou Linguagem de Definição de Dados) permite definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL. Os comandos básicos da DDL são poucos:

CREATE à cria um objeto (uma Tabela, por exemplo) dentro da base de dados.

DROP à apaga um objeto do banco de dados.

Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente. Outros comandos DDL:

ALTER TABLE

CREATE INDEX

ALTER INDEX

DROP INDEX

CREATE VIEW

DROP VIEW

O DCL (Data Control Language, ou Linguagem de Controle de Dados) controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Duas palavras-chaves da DCL:

GRANT à autoriza ao usuário executar ou setar operações.

REVOKE à remove ou restringe a capacidade de um usuário de executar operações.

 

Nota: Existem ainda outras linguagens de banco de dados, como por exemplo, a DTL (Linguagem de Transição de Dados) e a DQL (Linguagem de Consulta de Dados).

Conhecer os padrões da linguagem SQL é importante, pois quando queremos criar consultas portáveis para outros bancos de dados devemos nos preocupar com o tipo de palavra-reservada que usamos em nossas query’s. Utilizando os padrões SQL temos alguma garantia de que a maioria dos gerenciadores de banco de dados, como é o caso do Microsoft SQL Server, serão capazes de entender nossas consultas e realizá-las corretamente.

Obviamente, quando a portabilidade para outras engines de banco de dados não são necessárias, podemos tirar proveito dos recursos exclusivos que o SQL Server 2008 oferece. Veremos a seguir como podemos criar uma Solution no SQL Server Management Studio.

Iniciando nos recursos do SQL Server Management Studio

O SQL Server Management Studio inclui ferramentas gráficas para administração de banco de dados em um rico ambiente de desenvolvimento. O Management Studio permite acessar e gerenciar o Mecanismo de Banco de Dados, através do Query Analyser teremos a capacidade de escrever instruções Transact-SQL ou T-SQL (a implementação Microsoft do padrão SQL).

 

Nota: A versão Express do SQL Server Management Studio não possui o recurso que veremos a seguir de criação de projetos, contudo, é possível criar arquivos de scripts e salvá-los no diretório padrão do SQL Server 2008 ou em qualquer outro projeto. Caso esteja utilizando a versão Express, basta utilizar a opção New Query no Management e informar os scripts do exemplo para fazer os testes.

 

Para abrir o SQL Server Management Studio, vá ao menu iniciar escolha “Todos os Programas / Microsoft SQL Server 2008 e escolha SQL Server Management Studio”. Com o Management Studio iniciado, escolha no menu File a opção New / Project. A tela “New Project” será exibida, conforme vemos na Figura 8. Escolha o template “SQL Server Scripts” e informe o nome do projeto. No exemplo da Figura 9, utilizei o nome EasyNetMag. Para confirmar a criação do projeto, clique no botão “Ok”.

 


Figura 8. Criando um projeto de scripts SQL Server no SQL Server Management Studio

 

Devemos agora criar uma conexão para o nosso projeto. Na janela “Solution Explorer” clique com o botão direito no item “Connections” e escolha a opção “New Connection”. Será exibida a tela de login do SQL Server 2008. Após informar os dados de login clique no botão “Ok” para conectar no banco de dados e criar a nossa conexão. A Figura 9 ilustra como a nova conexão será exibida na janela “Solution Explorer” do Management Studio. Podemos criar tantas conexões quantas forem necessárias, mas para o nosso exemplo precisaremos apenas da conexão com a instância do SQL Server 2008 Express, previamente instalada.

 


Figura 9. Adicionando uma nova conexão no projeto EasyNetMag

 

Vamos agora criar o nosso primeiro script no projeto EasyNetMag. Seguindo a tradição universal para iniciarmos em qualquer linguagem, faremos uma query para exibir a mensagem “Hello world!”. Na janela “Solution Explorer”, clique com o botão direito no item Queries e escolha “New Query”. Será criado um novo arquivo dentro do item Queries, chamado “SQLQuery1.sql”. Para renomear o arquivo clique no item “SQLQuery1.sql” na janela “Solution Explorer” e em seguida clique na tecla F4 do teclado para abrir a janela Properties. Conforme vemos na Figura 10, na janela Properties podemos alterar o nome do arquivo “SQLQuery1.sql” utilizando a propriedade “Name”. Dê o nome “HelloWorld.sql” para o arquivo.

 


Figura 10. Alterando o nome de um arquivo de script

 

Feito isso, vamos garantir que o nosso arquivo de script recém-criado utilize a conexão correta. Para fazermos essa associação clique no editor de texto e observe que a janela “Properties” irá alterar as opções de configuração. A propriedade “Connection / Connection name” exibirá as conexões disponíveis para uso. No nosso caso teremos apenas uma, criada anteriormente. Caso você utilizasse mais de uma conexão no seu projeto, essa seria a propriedade a ser alterada para definir qual a associação necessária para cada arquivo de script (Figura 11).

 


Figura 11. Definindo qual a conexão que será utilizada pelo arquivo de script

 

Dentro do editor de texto, vamos inserir o código:

 

SELECT 'Hello world!'

 

Em seguida vamos clicar no botão Execute, localizado na barra de ferramentas do SQL Server Management Studio. A Figura 12 mostra onde está localizado o botão Execute, o editor de textos e o painel de resultados – que será exibido após a execução do script. Basicamente esse script instrui o SQL Server a processar como resultado da consulta um texto simples.

É importante salientar que esse texto não está, necessariamente, inserido dentro da nossa base de dados de exemplo. Essa é apenas uma das formas de exibirmos textos dentro de um script, poderíamos ao invés de utilizar a palavra-reservada “SELECT” utilizar “PRINT”, contudo isso faria com que o texto fosse exibido na aba “Messages”, localizada atrás da aba “Results” (painel de resultados). A palavra reservada “PRINT” pode ser utilizada para exibir informações relativas a um procedimento executado dentro de um script que não necessite fazer parte do retorno da consulta como um todo.

 


Figura 12. Principais componentes do SQL Server Management Studio

 

Além das facilidades que vimos até aqui, o SQL Server Management Studio é capaz de oferecer uma opção para debugarmos nossos scripts através do botão “Debug”, localizado imediatamente à direita do botão “Execute”. Ao utilizarmos a opção “Debug” podemos executar o nosso script, sentença a sentença. Utilizamos a tecla F11 para avançarmos para a próxima sentença, conforme vemos no exemplo da Figura 13.

 


Figura 13. Debugando scripts no Management Studio

 

A opção de Debug é extremamente útil quando queremos identificar algum erro ou inconsistência da nossa consulta, pois através das janelas “Locals” e “Call Stack” podemos verificar o valor de variáveis e a situação da nossa consulta na medida que o SQL Server processa cada sentença.

O SQL Server Management Studio oferece uma biblioteca de modelos de scripts prontos para uso. Eles cobrem a maioria das situações necessárias no desenvolvimento utilizando T-SQL, além de ser uma boa opção para vermos boas práticas na elaboração de scripts. Para acessar a biblioteca de modelos vá ao menu na opção “View / Template Explorer”, ou utilize a tecla de atalho “CTRL+Alt+T” (veja Figura 14).

 


Figura 14. Utilizando os templates do SQL Server Management Studio

 

Vamos utilizar um modelo, como exemplo, dentro do nosso projeto de scripts. Na janela “Template Explorer” selecione na opção “Stored Procedure” o modelo “Create Procedure Basic Template” e dê um duplo clique neste item. O modelo será aberto no editor de textos do Management Studio. Em seguida, na janela “Solution Explorer”, clique com o botão direito no item Queries e escolha “New Query”. Renomeie o arquivo para “ListarProdutos.sql”, conforme explicado anteriormente. Por fim, copie o conteúdo do arquivo de modelo e cole no arquivo criado.

Como resultado final você terá o projeto conforme mostra a Figura 15. Note que, se executarmos o script da forma que está, ocorrerá um erro. Isso porque o arquivo de modelo deve ser utilizado apenas como um guia na construção de scripts, portanto, devemos alterá-lo para atingir o objetivo pretendido.

 


Figura 15. Exemplo de template de script para Stored Procedure, disponível no SQL Server Management Studio

 

Altere o arquivo “ListarProduto.sql” de forma que o seu resultado final seja o demonstrado na Listagem 1. No script podemos notar três blocos distintos de código, separados pela palavra-reservada “GO”. No primeiro bloco temos apenas a instrução “USE AdventureWorks”, que informa para a engine do SQL Server que todas as sentenças que vierem em seguida devem ser executadas dentro da base de dados “AdventureWorks”. O segundo bloco serve para verificar se a Stored Procedure que queremos criar já existe no banco de dados, através do comando “IF EXISTS” verificamos se a consulta entre parênteses retorna algum resultado. Em caso afirmativo, a Stored Procedure chamada “Production.ListarProdutos” será deletada da base de dados, como o comando “DROP PROCEDURE”. O terceiro e último bloco de código cria a Stored Procedure através do comando “CREATE PROCEDURE”.

Você deve ter notado que no script a tabela e a stored procedure foram referenciadas da seguinte forma: “Production.Product” e “Production.ListarProdutos”, respectivamente. O termo “Production” é chamado de schema (ou esquema). Um esquema é simplesmente um contêiner de objetos. Um único esquema pode conter objetos de propriedade de vários usuários de banco de dados. Vários usuários de banco de dados podem compartilhar um único esquema padrão. Portanto, no nosso exemplo, “Production” é o schema que abriga os objetos “Product” e “ListarProdutos”.

 

Listagem 1. Exemplo de script de criação de stored procedure

USE AdventureWorks

GO

-- =============================================

-- Create basic stored procedure template

-- =============================================

 

-- Drop stored procedure if it already exists

IF EXISTS (

  SELECT *

    FROM INFORMATION_SCHEMA.ROUTINES

   WHERE SPECIFIC_SCHEMA = N'Production'

     AND SPECIFIC_NAME = N'ListarProdutos'

)

   DROP PROCEDURE Production.ListarProdutos

GO

 

CREATE PROCEDURE Production.ListarProdutos

AS

BEGIN

      SELECT

            Production.Product.ProductID,

            Production.Product.Name,

            Production.Product.ListPrice

      FROM

            Production.Product

      WHERE

            Production.Product.Color = 'Blue'

END

GO

 

Ao executarmos o script teremos a seguinte mensagem no painel Messages:

 

Command(s) completed successfully.

 

Abrindo a janela “Object Explorer” podemos expandir o item “Programmability / Stored Procedures” para vermos a Stored Procedure criada, conforme ilustrado na Figura 16.

 


Figura 16. Stored Procedure criada

 

Uma opção muito útil do Management Studio é o chamado IntelliSense. Basicamente, o IntelliSense é um recurso que nos auxilia em tempo de desenvolvimento dentro do editor de textos abrindo uma pequena janela com as opções disponíveis de comando ou objeto de acordo com o contexto. Para ativar o IntelliSense, clique com o botão direito no editor de textos e escolha a opção “IntelliSense”, conforme vemos na Figura 17.

 


Figura 17. Opção de IntelliSense do SQL Server Management Studio

 

Com o IntelliSense ativado, toda vez que estivermos utilizando o Editor de Textos e digitarmos “.” ou pressionarmos “CTRL-J” no teclado, uma janela com as opções de objetos (atributos, funções, propriedades, campos, tabelas etc.) possíveis serão exibidas. A Figura 18 mostra o IntelliSense exibindo a lista de campos disponíveis para a tabela “Sales.SalesTerritory”. A grande sacada do IntelliSense é que ele é capaz de exibir apenas o que interessa no contexto.

 


Figura 18. IntelliSense do SQL Server Management Studio em ação

 

Conforme vimos nesse tópico, o SQL Server Management Studio pode ser utilizado para criarmos um projeto de scripts além de fornecer um ambiente rico em recursos para desenvolvimento. Com isso mantemos nossos scripts de forma organizada e ainda podemos utilizar um repositório de códigos-fonte (como o Team Foundation Server) para armazenarmos todos os nossos scripts. Você pode utilizar o projeto criado para abrigar todos os exemplos que veremos ao longo do artigo. A seguir teremos uma introdução aos principais conceitos da T-SQL.


Entendendo os fundamentos da T-SQL

A T-SQL (ou Transact-SQL) possui vários elementos que são utilizados, ou influenciam, a maioria das instruções. Vamos conhecer a seguir cada um desses elementos.

Identificadores: Nomes de objetos como tabelas, exibições, colunas, bancos de dados e servidores;

Tipos de dados: Define os tipos de dados contidos nos objetos de dados, como colunas, variáveis e parâmetros;

Constantes: Símbolos que representam tipos de dados específicos, por exemplo, INT, VARCHAR, DATETIME, entre outros;

Funções: Elementos de sintaxe que utilizam zero ou um ou mais valores de entrada e retornam um valor escalar ou um conjunto tabular de valores. Como exemplo podemos citar a função SUM para adicionar vários valores, a função DATEDIFF para determinar quantas unidades de tempo separam duas datas, a função @@SERVERNAME para adquirir o nome de uma instância do Microsoft SQL Server;

Expressões: Unidades de sintaxe que o SQL Server pode resolver para valores únicos. Exemplos de expressões incluem constantes, funções que retornam um único valor, uma referência a uma coluna ou uma variável;

Operadores em expressões: Funcionam com uma ou mais expressões simples para formar uma expressão mais complexa. Por exemplo, o sinal de multiplicação (*) na expressão PriceColumn * 1,1 aumenta o preço em 10%;

Comentários: Partes do texto inseridas em instruções T-SQL ou scripts para explicar o objetivo da instrução. Os comentários não são executados pelo SQL Server;

Palavras-chave reservadas: Palavras reservadas para utilização pelo SQL Server e que não devem ser utilizadas para os nomes de objetos em um banco de dados.

A Tabela 1 apresenta todas as palavras-reservadas da T-SQL, sendo que as mais utilizadas estão destacadas em negrito.

 

AUTHORIZATION

DISK

INTO

READ

UPDATE

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
09/08/2010 14:24:00





Artigo - Artigo Easy .net magazine 1 - Introdução ao SQL Server

Introdução ao SQL Server
Primeiros passos na construção de um banco de dados com o SQL Server 2008 Express

    No mundo atual, para as organizações obterem sucesso elas precisam de uma visão que enderece as tendências principais no gerenciamento de dados. A Microsoft se preocupa em satisfazer esta necessidade e nesse sentido possui uma excelente plataforma de dados chamada SQL Server. A versão mais atual deste produto é o SQL Server 2008 R2. Veremos nesse artigo como podemos criar uma base de dados utilizando uma versão especialmente criada para fins de aprendizado: o SQL Server 2008 Express. O próximo tópico mostrará como podemos obter uma versão gratuita do produto e quais os passos necessários para realizar a instalação do SQL Server 2008 Express.
Instalando o SQL Server 2008 Express
Para instalarmos o SQL Server 2008 Express devemos primeiramente acessar o site do Web Platform Installer (veja sessão Links), que funcionará como um gerenciador de instalações da família de produtos Express, além de prover diversos outros recursos e componentes de desenvolvimento. Conforme podemos conferir na Figura 1, o site possui uma área (destacada na Figura 1) que direciona para a instalação do SQL Server 2008 Express. O link direto para este site você também obtém no final deste artigo na sessão Links. A finalidade do Microsoft Web Platform Installer é concentrar a instalação de produtos e componentes de forma simples, como veremos nos passos a seguir.

 
Figura 1. Site Microsoft /Express com o ponto de partida para instalação do SQL Server 2008 Express

Como segundo passo aguarde que o site solicite a instalação do Microsoft Web Platform Installer. A Figura 2 mostra o progresso da instalação. Um detalhe importante é que este passo será necessário apenas uma única vez, pois em futuros acessos o site “Microsoft/Express” é capaz de apresentar o Microsoft Web Platform Installer diretamente.

 
Figura 2. Instalação do Microsoft Web Platform Installer, que será utilizado para gerenciar as instalações da família de produtos Express

Caso você já tenha instalado previamente o Microsoft Web Platform Installer ou tenha executado os procedimentos de instalação mencionados anteriormente, a tela inicial de instalação do SQL Server 2008 Express será apresentada conforme mostra a Figura 3.

 
Figura 3. Tela inicial de instalação do SQL Server 2008 Express através do Microsoft Web Platform Installer

A partir daqui iremos de fato iniciar a instalação do SQL Server 2008 Express e das ferramentas de desenvolvimento. Além do próprio banco de dados a principal ferramenta de desenvolvimento que será instalada é o SQL Server Management Studio. Esse artigo explicará a finalidade e o uso deste componente nos próximos tópicos.
Ainda tomando como referência a Figura 3, clique no botão Install. É altamente recomendado que durante o processo de instalação você não realize nenhuma outra instalação e evite executar tarefas que requeiram a reinicialização da máquina. O processo de instalação em geral não é demorado, obviamente isso dependerá da sua velocidade de conexão com a Internet. A tela exibida na Figura 4 mostrará com detalhes o que será instalado bem como o tamanho total requerido. A Microsoft recomenda como configuração de hardware adequada o seguinte:
•    1 GB de espaço livre no disco rígido;
•    Mínimo de 256 MB de RAM, sendo o recomendado 1 GB;
•    Processador Intel ou compatível de 1 GHz, sendo o recomendado 2 GHz;
Para aceitar as condições de instalação basta clicar no botão I Accept, localizado no canto inferior direito, conforme vemos na Figura 4.

 
Figura 4. Tela de confirmação dos itens que serão instalados

O instalador apresentará a tela exibida na Figura 5, nela devemos escolher a opção Mixed Mode Authentication (recommended for application development), informar a senha do administrador do SQL Server no campo Password (a senha deve ser confirmada no campo Confirm Password). Na prática estaremos definindo uma conta de usuário interno do SQL Server, isso é importante para garantir um contexto de segurança na administração dos bancos de dados que serão criados. Como parte de uma política de segurança mínima necessária para garantir a segurança das informações contidas nos bancos de dados, o SQL Server obrigará que você determine no momento de sua instalação quem é o usuário que possuirá acesso administrativo na instância do SQL Server 2008 Express.

 
Figura 5. Definindo a senha do usuário administrador da instância do SQL Server 2008 Express

Como foi dito anteriormente, o Microsoft Web Platform Installer visa facilitar o processo de instalação. Comparado com a instalação de outras versões do SQL Server 2008, como a Enterprise, Professional e outras, a Express assumirá a responsabilidade de configurar todo o ambiente inicial da instância que será instalada. Conforme podemos conferir na Figura 6, deste ponto da instalação em diante precisaremos apenas acompanhar o download e a instalação completa do SQL Server 2008 Express, bem como das suas ferramentas e componentes de desenvolvimento.

 
Figura 6. Processo de download e instalação do SQL Server 2008 Espress no Microsoft Web Platform Installer

Ao final deste processo teremos a exibição da tela mostrada na Figura 7. Ela indicará se o processo de instalação ocorreu com sucesso. Caso haja algum problema durante a instalação, você pode consultar o link disponibilizado na sessão de Links (SQL Server 2008 Express Install) no final deste artigo. Nele você encontrará orientações e outros links que podem auxiliar na solução de possíveis problemas durante a instalação.

 
Figura 7. Tela de confirmação de instalação com sucesso

Caso você deseje alterar posteriormente a instalação do SQL Server 2008 Express, basta entrar novamente no site “Microsoft /Express” e quando o Microsoft Web Platform Installer for exibido, clicar na guia Web Platform conforme mostra a Figura 8. Lá você encontrará a opção Database e o link Customize. Clicando neste link será apresentada a tela exibida na Figura 9.

 
Figura 8. Tela do Microsoft Web Platform Installer com as opções de customização dos componentes instalados

Na tela exibida na Figura 9 podemos remover ou adicionar os componentes previamente instalados. Como podemos ver, além do SQL Server 2008 Express, temos a opção de instalar diversos outros produtos e componentes de desenvolvimento da plataforma .NET. Esse artigo trata apenas do SQL Server 2008, mas os passos aqui apresentados podem ser utilizados para instalação de outras ferramentas, devendo-se apenas fazer algumas adaptações devido às particularidades de cada produto.

 
Figura 9. Selecionando os componentes e ferramentas do SQL Server 2008 Express

Com o SQL Server 2008 Express instalado, temos tudo o que precisamos daqui por diante. Veremos a seguir como devemos pensar no desenvolvimento para banco de dados além de executarmos diversas ações e exemplos práticos no decorrer do artigo.
A importância da modelagem de dados
Chamamos de Modelagem de Dados a atividade de especificação das estruturas de dados e regras de negócio necessárias para suportar uma área de negócios. Isso significa representar um conjunto de requerimentos de informações de negócio em termos de dados que poderão ser armazenados e recuperados posteriormente por uma ferramenta de gerenciamento de banco de dados (SGBD). É uma parte importante do desenho de um sistema de informação. Em suma, a modelagem de dados compreende algumas etapas:
1)    Projeto conceitual: nesta etapa modelamos os requisitos de dados através de Diagramas de Entidade e Relacionamento (DER) ou Classes de Objetos (DCO);
2)    Projeto Lógico: aqui fazemos o mapeamento do esquema conceitual para o modelo de dados do SGBD escolhido, através do Diagrama de Estrutura de Dados (DED);
3)    Projeto Físico: por fim fazemos o mapeamento do esquema lógico para os tipos de dados e restrições de integridade do SGBD escolhido, além da criação das visões e índices.
Neste artigo vamos focar apenas alguns aspectos da modelagem de dados, dando ênfase aos conceitos importantes para criação de tabelas no SQL Server 2008 Express. Dito isso, veremos como podemos fazer a transição de uma estrutura de dados, desde a necessidade de negócio até a criação do banco de dados. Vamos imaginar que desejamos realizar a modelagem de dados de um Blog. Certamente, você leitor, está familiarizado com as necessidades de um blog, basicamente temos os posts escritos por um ou mais autores e comentários realizados pelos leitores. Como exemplo de cenário iremos a partir de agora realizar a modelagem das informações pertinentes para posteriormente desenvolvermos o nosso banco de dados utilizando o SQL Server 2008 Express. Faremos uso de um modelo simplificado, pois o mais importante é entendermos todos os meandros dessa etapa.
Podemos a partir desse cenário elaborar um primeiro esboço das informações que precisamos para publicar uma postagem completa, conforme ilustra a Tabela 1.

Informações contidas num post
Título do Post    Conteúdo do Post    Tags    Categoria    Informações sobre o Autor    Comentários
Tabela 1. Primeiro esboço da modelagem de informações de um blog

De acordo com o nosso esboço inicial podemos considerar algumas situações de uso. O importante agora é identificarmos o que chamamos de “anomalias de atualização”. As seguintes considerações irão nos auxiliar nesse exercício:
- Incluir um novo post implica em incluir dados da categoria na qual ele pertence, caso a categoria não exista devemos criá-la;
- Ainda na inclusão, devemos informar os dados do autor do post, como nome e e-mail de contato;
- Um post pode ter nenhum, um ou mais comentários;
- Excluindo um post que possui uma categoria associada estaremos excluindo a informação da categoria e das tags associadas. Caso a categoria tenha apenas um post, a informação da mesma será perdida;
- Modificando o e-mail de um autor teremos que modificar de todos os posts escritos por ele;
Observe que com algumas observações percebemos que o esboço é válido para reunirmos as informações de que precisamos. Contudo, se pensarmos em armazenamento dessas informações, teremos diversos pontos a serem tratados, pois dependendo de como modelarmos o nosso banco de dados teremos muitos problemas durante as operações de inclusão, alteração ou exclusão de registros. Outro fator bastante relevante é a repetição da mesma informação, como é o caso do autor do post, pois geramos dados repetidos (ou redundantes). Podemos afirmar que as primeiras preocupações serão, portanto, as anomalias de atualização e a redundância.
É aqui que entra o que chamamos de Normalização (através da observação e aplicação das chamadas “Formas Normais”). Mas o que é a Normalização? Podemos defini-la como sendo o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias observadas na inclusão, exclusão e alteração de registros (tuplas) exclusivos. Podemos então afirmar que a Normalização:
1)    Visa minimizar redundâncias e inconsistências;
2)    Facilitar a manipulação dos dados;
3)    Facilitar a manutenção das informações;
Para realizarmos a Normalização devemos seguir os seguintes passos.
1º Passo – Substituir um conjunto de entidades e relacionamentos por um outro mais “limpo”
Neste passo podemos pensar na divisão do esboço inicial em algumas estruturas, como por exemplo, a separação em posts, categorias, tags e autor;
2º Passo – Limpar anomalias de atualização em relação a atributos multivalorados
Aqui podemos tratar como sendo atributos multivalorados os comentários e as tags. Ou seja, não queremos que a estrutura contenha grupos repetitivos, como é o caso dos comentários. Além disso, queremos que uma determinada tag possa ser atualizada independentemente do post;
3º Passo – Limpar anomalias de atualização em relação a dependências parciais em chaves concatenadas
Devemos aqui nos preocupar em garantir que uma atualização não afete itens relacionados, como é o caso de posts e categorias;
4º Passo – Limpar anomalias de atualização em relação a redundância de dados desnecessários
Nesse passo devemos pensar numa estrutura de dados que favoreça o reaproveitamento de informações, de forma a minimizar a repetição de uma mesma informação em mais de um ponto. Podemos exemplificar com os dados do autor, que serão repetidos em vários posts;
5º Passo – Limpar anomalias de atualização em relação à perda de informações
Para que não haja perda de dados entre dados relacionados, quando apenas uma parte precisa ser excluída, devemos garantir que a estrutura de tabelas tenha independência suficiente. Podemos exemplificar esse passo através do relacionamento de posts com autores, categorias, tags e comentários.
6º Passo – Limpar anomalias de atualização em relação a dependência transitiva entre atributos
Eliminar a dependência transitiva significa garantir que não existe um elemento intermediário de ligação entre dois objetos.
7º Passo – Limpar anomalias de atualização em relação a dificuldades de representar a realidade observada
As informações do autor englobam atributos como: nome do autor e e-mail. Assim como um post possui uma data de publicação além de seu título e conteúdo. Nesse passo devemos refinar a representação de negócio dentro do nosso modelo de dados.
Diz-se que uma tabela num banco de dados relacional está numa certa forma normal se satisfaz certas condições. Cada forma normal representa uma condição mais forte que a que a precede na lista. Para a maioria dos efeitos práticos, considera-se que as bases de dados estão normalizadas se aderirem à terceira forma normal. Aplicando as três formas normais ao nosso esboço inicial teremos como resultado o diagrama apresentado na Figura 10.

Figura 10. Modelo de dados após a normalização, ainda numa visão com poucos detalhes

A primeira impressão que temos com o modelo apresentado na Figura 10 é de que a estrutura ficou mais complexa. Mas o que aconteceu na verdade é que traduzimos um esboço inicial, que não tinha a preocupação de representar os relacionamentos existentes entre os atributos, em uma visão mais detalhada, prevenindo as anomalias de atualização e as redundâncias. Outro benefício da revisão do modelo é que poderemos realizar um armazenamento dos dados de forma otimizada e consistente.
Podemos, pela primeira vez, ter uma ideia do que seriam as tabelas do banco de dados. Podemos entender como tabela um conjunto de dados dispostos em número finito de colunas e número ilimitado de linhas (tuplas, ou comumente chamados de registros). As principais mudanças do esboço inicial para o modelo da Figura 10 encontram-se destacadas a seguir:
•    Foi criada uma estrutura separada para Post, Comentário, Autor, Categoria e Tags. Isso porque cada um ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/04/2010 13:30:00





 

Músico amador, casado, pai e desenvolvedor de software. Atuou por mais de 11 anos como consultor de tecnologia da informação, tendo desempenhado atividades relacionadas a desenvolvimento e liderança de equipes. Trabalha desde 2002 com tecnologias da Microsoft com foco em .NET e possui as certificações MCP, MCAD, MCSD .NET, MCTS, MCITP e MCT. Trabalhou por 8 anos na Emphasys IT Solutions, empresa que lhe deu abertura para fazer (experimentar/aprender) tudo que desejou no desenvolvimento de software. Fez parte da Célula de Inovação, em conjunto com diretores da empresa. No início de 2009 realizou uma vontade antiga e começou a escrever artigos para a revista .net Magazine, onde procura contribuir com experiências vividas em projetos e boas práticas de desenvolvimento de software. Em 2010 tornou-se Editor Técnico da mesma revista e também da Clube Delphi. Ainda em 2009 ingressou nos estudos de metodologias ágeis, concluindo o treinamento oficial e tornando-me CSM. Em 2010, começou a mexer com cinema de animação, fazendo alguns filminhos de stop motion. Está tentando juntar isso com a música e em breve com TI. Atualmente trabalha como Senior Systems Architect no Rabobank, banco especializado em agronegócios, é um dos bancos mais seguros do mundo, o que se reflete na classificação de rating de crédito (AAA) atribuída por importantes agências internacionais: Standard & Poor’s, Moody’s e Dominion Bond Rating Service. Pode ser encontrado no Twitter em @leandronet.
Arquivo de atualizações
 2010

Estatísticas do Autor:
Número de posts: 9
Características dos posts deste autor:
Conteúdo:
Utilidade:
12 0
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group