Modelagem de
Banco de Dados
Parte do conteúdo exposto nestas transparências foi retirado dos livros: “Projeto de Banco de Dados”, de Carlos A. Heuser ;
“Projeto de Banco de Dados - Uma visão prática”, de Felipe Machado e Maurício Abreu
Parte 1
Definição de Dado
Dados são todos os elementos que servem de
base para a formação de opiniões ou para a
tomada de decisões. Um dado é apenas um
índice,
um
registro,
uma
manifestação
objetiva,
passível
de
análise,
exigindo
interpretação
da
pessoa
para
sua
manipulação. Em si, os dados têm pouco
valor, mas quando classificados, armazenados
e relacionados entre si, eles permitem a
obtenção de informações. A informação
apresenta significado e intencionalidade,
aspectos que a diferenciam do conceito de
dados (FERRARI, 1991).
3
Definição de Informação
Informação é o dado trabalhado que permite
ao executivo tomar decisões. É o resultado do
tratamento dos dados existentes acerca de
alguém ou de alguma coisa. Pode-se definir
também a informação como um conjunto de
fatos organizados de tal forma que adquirem
valor adicional além do valor do fato em si.
(CARVALHO, 1993)
Dado x Informação
5 Resumidamente:
DADO: algo conhecido, informado, mas sem
tratamento sistêmico, ou seja, o DADOprecisa de um processamento básico para se transformar em INFORMAÇÃO;
INFORMAÇÃO é o DADO processado !
Ex: Jogo de Baralho. Cartas/Jogada
Algoritmo para fazer a soma de dois nºs X e Y.
Os números são os dados e o resultado é a informação que se deseja saber.
Dado x Informação
6 Ex: Imagine que o sistema armazene os seguintes itens
a respeito dos funcionários de uma empresa.
Número Nome Data Contratação Endereço Bairro Cidade O que é DADO e o que é INFORMAÇÃO?
Os itens acima referem-se aos dados do funcionário e a partir destes dados é possível extrair informações.
Ex: - O tempo que o funcionário trabalha na empresa; - O endereço do funcionário (endereço+bairro+ cidade)
Compartilhamento de Dados
7 Quando a implantação da Informática nas organizações ocorre de forma gradual, é provável que ocorram alguns problemas.
Suponha que uma indústria execute três funções básicas: Vendas: concentra as atividades relativas ao contado com os clientes, como fornecimento de cotações de preços, vendas e a disponibilidade de produtos
Produção: concentra as atividades relativas à produção propriamente dita, como planejamento da produção, ou seja, dos produtos e controle do que foi produzido
Compras: concentra as atividades relativas à aquisição de insumos necessários à produção, como cotações de preços junto a fornecedores, etc.
8 SISTEMA PRODUÇÃO SISTEMA VENDAS SISTEMA DE COMPRAS
O que você vai PRODUZIR?
PRODUTO
É preciso saber quais os componentes dos produtos e como são
produzidos.
O que você vai VENDER? PRODUTO
É preciso saber o preço do produto, seu prazo de
validade, estoque...
O que você vai COMPRAR? MATÉRIA-PRIMA do
PRODUTO
É preciso saber quais componentes serão adquiridos para fabricar o
produto Arquivos Produção Arquivos Vendas Arquivos Compras
Compartilhamento de Dados
9
Se cada uma das funções for informatizada de forma separada, pode ocorrer que, para cada uma delas, seja criado um arquivo separado para PRODUTOS.
Dados de diferentes aplicações não estão integrados;
Dados estão projetados para atender uma aplicação específica. SISTEMA PRODUÇÃO SISTEMA VENDAS SISTEMA DE COMPRAS
Arquivos Produção Arquivos Vendas Arquivos Compras
Produto Produto Produto
Problemas da Falta de Integração de Dados
10 Redundância Controladae Não Controladade Dados Redundância de Dados- o mesmo objeto da realidade
é armazenado mais de uma vez no banco de dados. Ex: Produtos
Redundância Controlada - acontece quando o software tem conhecimento da múltipla representação e garante a sincronia entre as diversas representações. Ou seja, atualiza automaticamente os dados quando necessário. Ex: Sistemas distribuídos - um mesmo dado é armazenado em vários computadores, permitindo acesso rápido a partir de qualquer um deles.
Problemas da Falta de Integração de Dados
11 Redundância Não Controlada - acontece quando a responsabilidade pela manutenção da sincronia entre as diversas representações de um dado está com o usuário. Redundância Não Controlada leva a :
Redigitação de Dados -o mesmo dado é digitado várias vezes no sistema. Este trabalho repetitivo pode levar a erros;
Inconsistência dos Dados - os dados podem não representar corretamente a realidade. Imagine que o usuário alterou o preço de um produto no sistema de compra mas não alterou no sistema de vendas.
Dificuldade de extração de informações - os dados projetados para atender uma aplicação específica po-dem gerar dificuldade para o cruzamento dos dados
Solução
12 COMPARTILHAMENTO DE DADOS
A solução para evitar a redundância NÃO CONTROLADA de informações. SISTEMA VENDAS BANCO DE DADOS Produtos SISTEMA PRODUÇÃO SISTEMA DE COMPRAS
Assim, cada dado é armazenado uma ÚNICA VEZ, sendo acessada pelos vários sistemas que dele necessitam.
Compartilhamento de Dados
13 SISTEMA PRODUÇÃO SISTEMA VENDAS SISTEMA DE COMPRASArquivos Produção Arquivos Vendas Arquivos Compras
Produto Produto Produto
SISTEMA VENDAS BANCO DE DADOS Produto SISTEMA PRODUÇÃO SISTEMA DE COMPRAS 14
BANCO DE
DADOS
É o nome dado ao conjunto de arquivos integrados que atendem a um conjunto de sistemas
Conjunto de dados integradosque tem por objetivo atender a uma comunidade de usuários
“Uma coleção de dados operacionais inter-relacionados. Estes dados são armazenados de forma independente dos programas que os utilizam, servindo assim a múltiplas aplicações de uma organização.”
(Kort, Henry F.)
• Bancos de Dados começaram a ser utilizados
por volta dos anos 60 e em 70 E.F. Codd da IBM
publicou o artigo “Um Modelo Relacional de
Dados
para
Grandes
Bancos
de
Dados
Compartilhados” estabelecendo princípios sobre
gerência de banco de dados, surgindo então a
linguagem SQL (Structured Query Language ou
Linguagem
de
Consulta
Estruturada)
inicialmente chamada de SEQUEL (Structured
English Query Language).
15
Banco de Dados
Banco de Dados
16 O que muda com o surgimento dos Bancos de Dados, ou seja, com o Compartilhamento dos Dados?
Acesso por múltiplos programas - pode haver mais de uma equipe de desenvolvimento envolvida no desenvolvimento de uma aplicação
Os programas devem garantir a Restrição de Integridade,
ou seja, garantir a veracidade e a correção dos dados. Ex: Um funcionário não pode estar alocado em dois
departamentos.
O BD pode ser acessado concorrentemente por múlti-plos usuários - os programas devem implementar o controle de acesso concorrente
Banco de Dados
17 Restrições de Acesso -nem todo usuário pode acessar
qualquer informação. O programa deve implementar o controle de acesso, ou seja, quem tem permissão para acessar o quê
Dados são de importância vital e não podem ser perdi-dos - mecanismos simples como cópias de “backup” não são suficientes. Caso haja uma falha, o banco de dados deve ser recuperado rapidamente. Os programas devem implementar mecanismos de tolerância a falhas
Estruturas de dados mais complexas - os arquivos devem ser projetados para atender a diferentes necessidades dos sistemas, portanto, há que se tomar bastante cuidado na fase de definição dos DADOS.
Banco de Dados
18
BD =>
é uma coleção de dados relacionados.
Eles tem as seguintes propriedades:
1. Ele representa certos aspectos do mundo
real (mini-mundo ou universo do discurso);
2. Seus dados são logicamente relacionados;
3. Ele é criado para um propósito específico.
Tipos de Banco de Dados
19
Operacional
É
dinâmico
e
recebe
modificações
constantemente,
exibindo
a
informação
de
maneira instantânea.
Analíticos
Utilizados para acompanhar e analisar dados
históricos, além de auxiliar, na tomada de
decisões, esse tipo de banco de dados e
conhecido como “Data Warehouse” e geralmente
utiliza dados fornecidos pelos bancos de dados
operacionais.
Tipos de Banco de Dados Operacionais
20
Hierárquicos
O modelo de Banco de dados hierárquico é descrito
por um diagrama de estrutura de árvore, com dois
componentes básicos: as caixas correspondentes aos
tipos de registro e as linhas que representam as
ligações entre os tipos de registro.
Rede
É composto de uma estrutura mais completa, possui
as propriedades básicas de registros, conjuntos e
ocorrências, e utiliza a linguagem de definição de
bancos de dados e linguagem de manipulação de
dados, além de permitir uma evolução mais eficiente
do modelo hierárquico. onal
Tipos de Banco de Dados Operacionais
21
Relacional
É composto de relações entre entidades, possuindo
fortes características de segurança, compartilhamento
e integridade dos dados.
Objeto
Representa os dados e processos em um único objeto
Objeto-Relacional
Combina o modelo objeto com o relacional
Sistema de Gerência de Banco de Dados
22
SGBD ⇒ Software que incorpora as funções de
definição, recuperação e alteração de dados em um banco de dados.
Aplicação
SGBD
Banco de Dados
Software que serve para
armazenar e acessar dados em um banco de dados
SGBD: Vantagens
23 Independência de dados - SGBD oferece isolamento
das aplicações em relação aos dados, ou seja, altera-ções no modelo de dados (estrutura) afeta pouco as aplicações
Abstração de dados - aplicações não se preocupam com detalhes físicos de implementação (localização no meio de armazenamento, existência de índices, caminhos de acesso..)
Controle de segurança - que usuário pode fazer o que sobre qual dado
Tolerância a falhas - recuperação em caso de falha imperceptível ao usuário
Controle a acesso concorrente - muitos usuários acessando o banco ao mesmo tempo
Quatro Gerações de Gerenciamento de Dados
24
1960 1970 1980 1990 2000
Sistemas de Gerenciamento de Arquivos(ISAM, VSAM) SGBD’s Hierárquicos (IMS) e em Rede (CODASYL) SGBD’s RELACIONAIS (DB2,SQL Server, Oracle)
Quatro Gerações de Gerenciamento de Dados
25
1960 1970 1980 1990 2000
Sistemas de Gerenciamento de Arquivos(ISAM, VSAM) SGBD’s Hierárquicos (IMS) e em Rede (CODASYL) SGBD’s RELACIONAIS (DB2,SQL Server, Oracle)
SGBD’s OO (Versant, Objectivity)
1a Geração - Sistema de Arquivos (Final dos anos
50 e início dos 60)
Quatro Gerações de Gerenciamento de Dados
26
1960 1970 1980 1990 2000
Sistemas de Gerenciamento de Arquivos(ISAM, VSAM) SGBD’s Hierárquicos (IMS) e em Rede (CODASYL) SGBD’s RELACIONAIS (DB2,SQL Server, Oracle)
SGBD’s OO (Versant, Objectivity)
2aGeração - SGBD Hierárquico - HDBS (anos 60 e
início dos 70) Mais conhecido dos hierárquicos: IMS
da IBM e SGBD em Redes – NDBS (anos 60 e início
dos 70) Mais conhecidos dos SGBDs em rede: IDS
Quatro Gerações de Gerenciamento de Dados
27
1960 1970 1980 1990 2000
Sistemas de Gerenciamento de Arquivos(ISAM, VSAM) SGBD’s Hierárquicos (IMS) e em Rede (CODASYL) SGBD’s RELACIONAIS (DB2,SQL Server, Oracle)
SGBD’s OO (Versant, Objectivity)
3aGeração - SGBD Relacional - RDBS (anos 70 até
agora) Mais conhecidos dos SGBDs Relacionais:
Oracle, Sybase, DB2, SQL, Server, MySQL, PostgreSQL.
Quatro Gerações de Gerenciamento de Dados
28
1960 1970 1980 1990 2000
Sistemas de Gerenciamento de Arquivos(ISAM, VSAM) SGBD’s Hierárquicos (IMS) e em Rede (CODASYL) SGBD’s RELACIONAIS (DB2,SQL Server, Oracle)
SGBD’s OO (Versant, Objectivity)
4aGeração - SGBD Orientado a Objetos - OODBS
e Híbridos (Anos 80 até agora)
Mais conhecidos dos SGBDs OO: ObjectStore, O2, Jasmine, db4o (db4objects), Perst (McObject), Magma, InterSystems CACHÉ.
29 Arquivos
tradicionais
Projeto de Banco de Dados - Aplicação
30 Mas e daí, onde vou aplicar isto?
Quando estudamos as metodologias de desenvolvimento de sistemas, estudamos análise de requisitos e definimos o que é necessário ser executado, quais as rotinas devem ser desenvolvidas para atender as necessidades do cliente, isto é, quais as informações que o cliente necessita para ter sucesso em seu negócio.
Porém, para obter estas informações, é preciso definir quais são os dados que devem ser armazenados no banco de dados para que, posteriormente, possamos devolver ao cliente, as informações que satisfaçam as exigências definidas por ele, ou seja, as necessidades de informação do negócio.
Fases do Projeto de Banco de Dados
31
1. CONSTRUIR MODELO CONCEITUAL
2. CONSTRUIR MODELO LÓGICO
3. CONSTRUIR MODELO FÍSICO
4. VALIDAR MODELO FÍSICO
5. IMPLEMENTAR BANCO DE DADOS
Tipos de Modelagem de Dados
32
MODELO CONCEITUAL:
REPRESENTA
AS
INFORMAÇÕES
QUE
EXISTEM NO MUNDO REAL
MODELO LÓGICO:
REPRESENTA A VERSÃO DO MODELO
CONCEITUAL QUE PODE SER APRESENTADA
PELO SGBD
MODELO FÍSICO:
REPRESENTA A ESTRUTURA DE
33
34 Ainda não entendi
o que afinal de contas eu vou aprender nesta disciplina!!!