Escolar Documentos
Profissional Documentos
Cultura Documentos
EAD5754
2019
Sumário
Usando a Tecnologia da Informação (TI), todos os objetos de interesse de um negócio ou organização são
normalmente armazenados numa estrutura lógica denominada Banco de Dados ou Base de Dados. Em
um banco de dados relacional os Objetos que correspondem a entidades e eventos de interesse do
negócio são armazenados em registros ou linhas de tabelas de dados. Cada atributo, característica ou
qualidade que descreve um Objeto (uma entidade ou um evento em particular), é armazenado em uma
coluna ou campo da tabela de dados. Um registro é, portanto, formado por um conjunto de atributos
(valores de dados) que descrevem um Objeto (entidade ou evento) de interesse de uma organização.
Os objetos ou registros, por sua vez são armazenados em arquivos de dados. Um arquivo ou tabela de
dados é formado por um conjunto de registros ou objetos que descrevem através dos atributos as
mesmas entidades ou eventos; por exemplo, todos os clientes ou todas as vendas de uma organização.
Cada objeto em uma tabela de dados deve conter pelo menos um atributo (ou dado) que identifique de
forma única este objeto, para que ele possa ser recuperado (lido), atualizado e classificado, ou seja,
processado e utilizado de forma adequada. Esse atributo identificador único de cada objeto contido numa
tabela de dados é chamado de chave primária ou primary-key (PK).
Chaves secundárias são outros atributos do objeto ou registro que contém alguma característica
identificadora da entidade ou evento, mas, em geral, não os identificam de forma única, sendo utilizados
apenas para fins de processamentos como ordenação e busca.
Chaves estrangeiras ou foreign-key (FK) são dados que permitem o relacionamento entre objetos ou
tabelas de dados diferentes, por exemplo, como um evento venda sempre está relacionado a uma
entidade cliente, o dado identificador do cliente (chave-primaria) precisa fazer parte dos atributos da
venda (chave-estrangeira), de forma a permitir que saiba para qual cliente foi feita cada venda.
Assim, portanto, um banco de dados relacional é composto por um conjunto de arquivos ou tabelas de
dados que armazenam objetos de interesse do negócio. Uma tabela armazena um conjunto de objetos e
cada objeto é composto por um conjunto de atributos ou dados que o descrevem de acordo com o
interesse da organização. O dado em si corresponde ao valor ou conteúdo que está armazenado no campo
ou coluna reservado para cada atributo dentro das linhas das tabelas de dados.
A estrutura lógica de um arquivo de dados relacional é facilmente representada através de uma tabela.
Nesta tabela, as linhas correspondem aos objetos ou registros do arquivo e as colunas correspondem aos
atributos ou campos de dados descritivos de cada objeto. Cada coluna é identificada pelo nome do
atributo que será nela armazenado, enquanto que cada linha é identificada pela chave primária (PK) de
cada objeto. Na figura a seguir é representada a estrutura lógica típica de um banco de dados relacional,
bem como a representação dos arquivos ou tabelas de dados que o compõem.
BANCO DE
DADOS
Modelo de Dados
Antes de se construir um banco de dados é necessário desenvolver um modelo dos dados que serão
utilizados pela organização. Em um modelo de dados, cada entidade ou evento de interesse do negócio
deve ser representado pelo menos por uma tabela de dados. Consequentemente, algo que não requeira
pelo menos dois dados para ser descrito não será uma entidade ou um evento, e sim um atributo ou dado
de outro objeto de informação. Desta forma, uma data não é uma entidade ou um evento, mas apenas
um dado ou atributo de uma entidade. Por exemplo: a "data de admissão" da entidade Funcionário, ou a
"data da compra" de uma transação de Compra.
Como regra geral, cada tabela de dados armazena os dados que descrevem entidades e eventos de
interesse dos processos de negócio da organização e que, consequentemente, farão parte de seu sistema
de informação. Um banco de dados é composto por várias tabelas de dados relacionadas umas às outras.
Assim, por exemplo, um cliente poderá estar relacionado a várias vendas, uma venda relacionada a vários
produtos vendidos, um vendedor relacionado a várias vendas, e assim por diante.
Uma vez que as entidades que formarão o banco de dados estão relacionadas de forma consistente e
lógica, será através desses relacionamentos que são geradas as informações para o negócio, como por
exemplo, “todos os produtos vendidos para um cliente”.
Para o desenvolvimento e entendimento de um banco de dados que será usado como base para os
sistemas de informação e ações de inteligência de negócios de uma organização, é preciso definir todas
as tabelas e seus respectivos dados e relacionamentos através de um modelo de dados.
O Modelo Relacional de Dados (RDM) é um diagrama gráfico através do qual são identificadas todas as
entidades ou tabelas que formarão o banco de dados da organização e definidos todos os
relacionamentos entre elas. Por esse motivo, o RDM é fundamental para o projeto do banco de dados de
uma organização ou projeto de pesquisa.
O RDM mostra os três tipos de relacionamento possíveis entre as entidades e eventos de interesse da
organização (ou tabelas de dados):
1. Um-para-um (1, 1);
2. Um-para-muitos (1, ∞ ou 1, N);
3. Muitos-para-muitos (∞, ∞ ou N, N).
No RDM cada entidade ou tabela de dados é representada por um retângulo, e o relacionamento entre
elas por uma linha unindo os retângulos. O tipo do relacionamento pode ser representado por vários
símbolos. Particularmente, neste texto adotaremos a notação utilizada pelo RDBMS Microsoft SQL Server,
representada por um par de símbolos nas extremidades da linha de relacionamento entre tabelas de
dados relacionadas:
• 1 identifica um relacionamento com uma única entidade da tabela;
• ∞ identifica um relacionamento com muitas ou N entidades.
Na figura a seguir é representado o relacionamento entre as tabelas PESSOA e DEPARTAMENTO. O
número 1 indica que uma pessoa trabalha em um único departamento. Por outro lado, o símbolo ∞ indica
que em um departamento podem trabalhar várias ou N ( ∞) pessoas.
chave estrangeira "número do professor" na tabela DISCIPLINA e retirar a chave estrangeira “código da
disciplina” da tabela PROFESSOR.
Requisitos
Os componentes e ferramentas a seguir são necessários para este laboratório:
• Microsoft SQL Server: gerenciador de banco de dados relacional (SQL) da Microsoft
• Microsoft SQL Server Management Studio: ferramenta para administração do banco de dados
SQL Server da Microsoft.
• Banco de dados de exemplo Adventure Works: banco de dados da empresa Adventure Works,
que utilizaremos neste e nos próximos laboratórios de análise de dados.
Todos estes componentes podem ser obtidos gratuitamente, em português, no SISNE – Laboratório de
Sistemas de Negócios (www.idigital.fea.usp.br) ou através dos seguintes endereços:
• SQL Server: https://imagine.microsoft.com/pt-br/catalog
• Bancos de dados exemplo da Adventure Works: http://sqlserversamples.codeplex.com/
Além disso, você deve atender aos seguintes pré-requisitos para concluir com êxito este laboratório:
• Você deve ser um membro do grupo de Administradores locais no seu computador.
• Você deve ser um membro do grupo de Administradores do banco de dados Microsoft SQL Server
instalado no seu computador.
Etapas
Este laboratório é dividido nas seguintes etapas:
1. Criar um Banco de Dados Relacional
Nesta etapa, você criará um banco de dados relacional no gerenciador de bancos de dados
Microsoft SQL Server.
2. Criar tabelas no Banco de Dados Relacional
Nesta etapa, você criará algumas tabelas que comporão o banco de dados criado na etapa
anterior, e as relacionará através de suas chaves-primárias e estrangeiras.
3. Inserir, atualizar e excluir dados das Tabelas
Nesta etapa, você manipulará as tabelas criadas na etapa anterior, inserindo, atualizando e
excluindo dados.
4. Consultar dados das Tabelas
Nesta etapa, você consultará os dados que foram inseridos nas tabelas na etapa anterior.
5. Para criar um novo banco de dados, clique o botão “Nova Consulta” na barra de botões, logo
acima da árvore de objetos do banco de dados. Note que agora uma janela de edição em branco
será apresentada, na qual você poderá digitar e executar comandos da linguagem SQL.
6. Para criar o seu primeiro banco de dados, que denominaremos FEA, digite o comando abaixo e
depois clique o botão “!Executar”, logo acima da árvore de elementos do banco de dados.
CREATE DATABASE FEA
7. Se tudo tiver dado certo, você receberá a mensagem “Comando(s) concluído(s) com êxito.”
Muito bem, você criou com êxito o banco de dados FEA. Emocionante, não é mesmo?!
8. Clique com o botão direito do mouse sobre o ramo “Banco de Dados” e escolha a opção
“Atualizar” do menu que será apresentado para ver que o seu novo banco FEA já está lá! Clique
o sinal [+] do seu banco de dados para expandir os seus elementos componentes.
9. Clique o sinal [+] das Tabelas do seu banco de dados para expandi-las. Não, ainda não haverá
nenhuma tabela de dados, pois será justamente o que faremos na próxima etapa.
2. Escolha cada uma das tabelas criadas e expanda seus elementos clicando sobre o respectivo sinal
de [+]. Em particular, expanda suas colunas, chaves, índices e restrições para verificar a estrutura
de cada tabela criada. Legal, não?!
3. Mais legal ainda será criar um diagrama com o Modelo de Dados do banco FEA. Para isso clique
no sinal [+] do ramo “Diagramas de Banco de Dados” e confirme com “Sim” caso o SQL Server
perguntar se você deseja criar os objetos para a diagramação do banco de dados.
4. Depois disso, clique com o botão direito do mouse sobre o ramo “Diagramas de Banco de Dados”
e escolha a opção “Novo diagrama de Banco de Dados”.
5. Será aberta uma nova janela para edição do Diagrama do banco de dados e você será solicitado
a selecionar as tabelas que deverão compor este diagrama. Selecione todas elas (Shift-Clique),
clique o botão “Adicionar” e depois o botão “Fechar” (requer alguma habilidade de Windows).
6. Pronto! Se tudo tiver dado certo, o diagrama ou Modelo de Dados do seu banco de dados será
apresentado na janela conforme abaixo.
7. Para fechar a janela do diagrama basta clicar sobre o botão [X] no topo. Note que o SQL Server
perguntará se você deseja gravar o diagrama solicitando que você digite um nome para ele.
Digite por exemplo “ModeloBanco” e clique o botão “OK”.
8. Para fechar as outras janelas de consulta/comando que estiverem abertas, clique sobre o botão
[X] no topo de cada uma; nestes casos não será necessário gravar ou salvar nenhum comando.
Porém caso você queira, o procedimento é equivalente, só que os comandos serão armazenados
nos arquivos texto (com extensão .SQL) que você indicar.
GO
Para consultar dados das tabelas
1. Clique no botão “Nova Consulta” para que uma nova tela de edição de consulta/comando seja
aberta e digite os comandos abaixo.
2. Para cada consulta você receberá a mensagem “N linha(s) afetada(s)”.
SELECT * FROM FEAGRUPO
GO
SELECT * FROM FEAPESSOA
GO
SELECT * FROM FEAGRUPOPESSOA
GO
Após a criação da VIEW (ou visão) execute o comando a seguir para ver o resultado. Note que a VIEW
permite que você relacione diversas tabelas (no exemplo as três) e consulte simultaneamente os seus
dados através de um único comando de consulta SELECT.
SELECT * FROM vFeaTurma
GO
Vamos agora nos colocar no papel de gerentes de negócio da Adventure Works. Através dos dados
armazenados em seu banco de dados transacional, vamos procurar informações que nos permitam
melhorar o desempenho dos seus negócios. Desta forma, inicialmente vamos procurar conhecer os seus
produtos, clientes e as suas vendas realizando simples consultas nas tabelas do seu banco de dados.
1. Clique sobre o banco de dados AdventureWorks para selecioná-lo e, em seguida, clique o botão
“Nova Consulta” para abrir a janela de edição de consultas e comandos do SQL Server
Management Studio.
2. Para alcançar os objetivos desta etapa, vamos consultar e analisar os dados das seguintes tabelas
através de comandos SQL e suas variações:
a. Produtos: SELECT * FROM Production.ProductCategory;
b. Produtos: SELECT * FROM Production.ProductSubcategory;
c. Produtos: SELECT * FROM Production.ProductModel;
d. Produtos: SELECT * FROM Production.Product;
e. Produtos: SELECT * FROM Production.ProductDescription;
f. Vendas: SELECT * FROM Sales.Customer;
g. Vendas: SELECT * FROM Sales.CustomerAddress;
h. Pessoas: SELECT * FROM Person.AddressType;
i. Pessoas: SELECT * FROM Person.Address;
j. Pessoas: SELECT * FROM Person.StateProvince;
k. Pessoas: SELECT * FROM Person.CountryRegion;
l. Vendas: SELECT * FROM Sales.Individual;
m. Vendas: SELECT * FROM Sales.SalesOrderHeader;
n. Vendas: SELECT * FROM Sales.SalesOrderDetail;
o. Vendas: SELECT * FROM Sales.SalesReason;
p. Vendas: SELECT * FROM Sales.SalesOrderHeaderSalesReason;
q. Vendas: SELECT * FROM Sales.SpecialOffer;
r. Vendas: SELECT * FROM Sales.SpecialOfferProduct;
3. Como você pode observar, devido à natureza transacional do banco de dados da Adventure
Works, os dados de interesse estão distribuídos em diversas tabelas. Para melhor poder analisa-
los teríamos que:
a. Selecionar apenas os dados de interesse de cada tabela;
b. Relacionar as tabelas, criando visões, de forma a obter informações mais completas
sobre os nossos objetos de interesse de análise: CLIENTES, PRODUTOS e VENDAS;
f. Vendas:
SELECT ProductKey
,OrderDateKey
,ShipDateKey
,CustomerKey
,PromotionKey
,OrderQuantity
,UnitPrice
,UnitPriceDiscountPct
,DiscountAmount
,ProductStandardCost
,TotalProductCost
,SalesAmount
,TaxAmt
,Freight
FROM FactInternetSales
Avalie os resultados das consultas através do data warehouse da Adventure Works. Não ficou bem melhor
do que realizá-las diretamente no banco de dados transacional?
Pronto agora com os dados armazenados no data warehouse os analistas de dados e a área de negócio já
podem dizer para os dirigentes da Adventure Works o que eles precisam fazer para “dobrar” o seu lucro.
SERÁ???
Parabéns! Você concluiu com sucesso o Laboratório de Banco de Dados.
Referências
• Documentação e Tutoriais do Microsoft SQL Server
Microsoft
• Apostila SQL Tutorial – tutorialspoint.com