Banco de Dados - Senado
Introdução
Ilka Kawashita
[email protected]
Material preparado :Prof. Marcio Vitorino
Ementa do Curso
Banco de Dados
n  Sistemas de Apoio à Decisão (SAD)
n  ORACLE
n 
Prof.: Ilka Kawashita
[email protected]
BANCO DE DADOS (BD)
Modelo Entidade e Relacionamento.
n  Normalização de dados.
n  Conceitos de transação, integridade,
concorrência e bloqueio de transações.
n  Projeto lógico para ambiente relacional.
n  Banco de dados distribuídos.
n 
Prof.: Ilka Kawashita
[email protected]
SISTEMAS DE APOIO À DECISÃO
(SAD)
n 
n 
n 
n 
n 
n 
Princípios e técnicas de modelagem dimensional
(Star Schema, Snow flake)
Arquitetura OLAP
ETL
Data Mining
Data Warehouse
Business Intelligence: Conceitos Princípios e
Processos.
Prof.: Ilka Kawashita
[email protected]
ORACLE
Procedures;
n  Packages;
n  Functions;
n  Triggers;
n  Views;
n  Materialized views;
n  Jobs e Sequences;
n  Linguagens SQL e PL/SQL
n 
Prof.: Ilka Kawashita
[email protected]
Dados não Compartilhados
Departamento
de Compras
Arquivos Compras
n 
Departamento
de Vendas
Arquivos Vendas
Departamento
de Produção
Arquivos Produção
Problema: redundância de dados:
q 
q 
controlada;
não controlada.
Prof.: Ilka Kawashita
[email protected]
Dados não Compartilhados
n 
Evitar redundância não controlada:
q 
q 
q 
compartilhamento de dados;
cada informação é armazenada uma única vez;
usar o conceito de banco de dados.
Departamento
de Compras
Departamento
de Vendas
Banco de Dados
Prof.: Ilka Kawashita
[email protected]
Departamento
de Produção
Banco de Dados
n 
Banco de Dados:
q 
n 
Conjunto de dados integrados que tem por
objetivo atender a uma comunidade de usuários.
Sistema de Gerência de Banco de Dados
(SGBD):
q 
Software que incorpora as funçoes de definição,
recuperação e alteração de dados em um banco
de dados.
Prof.: Ilka Kawashita
[email protected]
Evolução
Programa com
Programa
com
dados
armazenados
Programa
com
dados armazenados
dados armazenados
Programa com
Programa com
gerência
de arquivos
Programa
com
gerência de arquivos
gerência de arquivos
dados
dados
Prof.: Ilka Kawashita
[email protected]
SGBD
Programa de
Programa de
aplicação
de BDde
Programa
aplicação de BD
aplicação de BD
Banco de Dados
n 
n 
n 
n 
Modelos de Dados: descrição formal da estrutura de um
banco de dados.
Modelo Conceitual: modelo de dados abstrato, que
descreve a estrutura de um banco de dados de forma
independente de um SGBD particular.
Modelo lógico: modelo de dados que representa a
estrutura de dados de um banco de dados conforme
vista pelo usuário do SGBD.
Modelo Físico: é uma representação gráfica do
detalhamento físico das estruturas dos dados que o
banco de dados irá
armazenar. Este modelo é
dependente do SGBD em que será implementado.
Prof.: Ilka Kawashita
[email protected]
Modelo de Dados
n 
n 
n 
n 
n 
Modelo Hierárquico
Modelo em Rede
Modelo Relacional
Modelo Relacional-Objeto
Modelo Orientado a Objeto
Prof.: Ilka Kawashita
[email protected]
Evolução dos Bancos de Dados
Sistemas de arquivos
BD hierárquico
BD em rede
BD relacional
Linguagens
OO
Hipermídia
Modelos
semânticos
Inteligência
artificial
BD OO
BD “inteligente”
Prof.: Ilka Kawashita
[email protected]
Objetos
complexos
Information
retrieval
(Khoshafian 1995)
Modelo Conceitual (E-R)
editora
endereço
autor
N
código
Prof.: Ilka Kawashita
[email protected]
N
COMPRA
LIVROS
nome
telefone
número
CLIENTES
data
cadastro
nome
Modelo Lógico
Prof.: Ilka Kawashita
[email protected]
Modelo Físico
LIVROS
COMPRA
código: char(3)
número:
código:
cadastro:
nome: char(35)
autor: char(70)
editora:
text
código
data:
char(3)
char(3)
char(3)
datetime
cadastro
CLIENTES
cadastro:
Prof.: Ilka Kawashita
[email protected]
char(3)
nome:
char(35)
Telefone:
endereço:
char(14)
text
Níveis de Abstração
Dependência nível de Modelagem X SGBD
Modelo
Modelo do SGBD
SGBD Específico
Conceitual
Não
Não
Lógico
Sim
Não/Sim
Físico
Sim
Sim
Prof.: Ilka Kawashita
[email protected]
Banco de Dados - Senado
Modelo Entidade Relacionamento (MER)
Ilka Kawashita
[email protected]
Material preparado :Prof. Marcio Vitorino
Abordagem Entidade Relacionamento
n 
n 
n 
n 
Técnica para construir modelos conceituais
de base de dados.
Técnica de modelagem de dados mais
difundida e utilizada.
Criada em 1976 por Peter Chen.
O Modelo E-R é representado graficamente
pelo Diagrama Entidade Relacionamento
(DER).
Prof.: Ilka Kawashita
[email protected]
Conceitos Centrais
n 
n 
n 
n 
n 
Entidade: conjunto de objetos da realidade modelada,
sobre os quais deseja-se manter informações na base
de dados.
Relacionamento: conjunto de associações entre
entidades, sobre as quais deseja-se manter informações
na base de dados.
Atributo: dados ou informação que é associado a cada
ocorrência de uma entidade ou de um relacionamento.
Generalização/Especialização: permite atribuir
propriedades particulares a um subconjunto das
ocorrências (especializadas) de uma entidade genérica.
Entidade Associativa: permite representar
relacionamentos N:M
Prof.: Ilka Kawashita
[email protected]
Entidade
n 
n 
n 
Representada através de um retângulo.
Retângulo contém o nome da entidade.
Para referir um objeto particular fala-se em instância ou
ocorrência da entidade.
Pessoa
Prof.: Ilka Kawashita
[email protected]
Departamento
Relacionamento
n 
Este modelo nos diz que o BD mantém informações sobre:
q 
q 
q 
um conjunto de empregados;
um conjunto de departamentos; e
um conjunto de associações que ligam um departamento a um
empregado.
Pessoa
Prof.: Ilka Kawashita
[email protected]
Lotação
Departamento
Relacionamento
Pessoa
ENTIDADE
EMPREGADO
RELACIONAMENTO
LOTAÇÃO
ENTIDADE
DEPARTAMENTO
Prof.: Ilka Kawashita
[email protected]
Departamento
Lotação
e3
e1
e2
e1,d1
d1
e7
e4
e6
e2,d1
d2
e4,d2
e8
e5
e5,d3
d3
Auto-relacionamento
n 
n 
Normalmente um relacionamento associa entidades
diferentes. Há um caso especial no qual há um
relacionamento entre a mesma entidade.
Nesta situação surge o conceito de PAPEL que identificará
o relacionamento.
EMPREGADO
subordinado
gerente
GERENCIA
Prof.: Ilka Kawashita
[email protected]
Papel em Relacionamentos
n 
n 
Função que uma ocorrência de uma entidade
cumpre em uma ocorrência de um
relacionamento.
Relacionamento de gerência:
q 
q 
n 
Uma ocorrência de pessoa exerce o papel de
subordinado.
Uma ocorrência de pessoa exerce o papel de
gerente.
Relacionamento entre entidades diferentes
não é necessário indicar os papéis das
entidades.
Prof.: Ilka Kawashita
[email protected]
Cardinalidade de Relacionamentos
CARDINALIDADE MÁXIMA
A cardinalidade máxima de uma entidade em relacionamento é o número
máximo de ocorrências de entidade associadas à uma ocorrência da
entidade em questão através do relacionamento.
EMPREGADO
n
Prof.: Ilka Kawashita
[email protected]
DEPARTAMENTO
LOTAÇÃO
1
Cardinalidade de Relacionamentos
Para fins práticos, apenas duas cardinalidades máximas são de nosso
interesse, as:
- de valor 1; e a
- de valor n.
EMPREGADO
LOTAÇÃO
n
Prof.: Ilka Kawashita
[email protected]
DEPARTAMENTO
1
Relacionamentos Binários
A cardinalidade máxima é usada para
classificar os relacionamentos binários,
aqueles nos quais os relacionamentos se dão
entre duas entidades.
TIPOS DE RELACIONAMENTOS BINÁRIOS
- 1:1 ( um-para-um );
- 1:N ( um-para-muitos ); e
- N:M ( muitos-para-muitos).
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Binários 1:1
EMPREGADO
ALOCAÇÃO
1
Prof.: Ilka Kawashita
[email protected]
BANCADA
1
Relacionamentos Binários 1:N
EMPREGADO
DEPENDENTE
TEM
1
N
EMPREGADO
chefia
chefiado
N
1
CHEFE
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Binários N:M
PACIENTE
TEM
MÉDICO
N
M
PRODUTO
composto
componente
M
N
COMPOSIÇÃO
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Ternários
A abordagem ER permite que sejam definidos relacionamentos
de graus maiores que dois, muito embora não sejam comuns.
ANÁLISE
A cardinalidade refere-se a pares de entidades e
relacionadas com a terceira.
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
N
1
TEM
M
PRODUTO
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
N
1
TEM
M
PRODUTO
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Ternários
TABELA PARA ANÁLISE DE RELACIONAMENTOS TERNÁRIOS
DISTRIBUIDOR
PRODUTO
CIDADE
TRAMONTINA
FACA
RIO DE JANEIRO
TRAMONTINA
COLHER
RIO DE JANEIRO
EBERLE
FACA
BRASÍLIA
EBERLE
COLHER
BRASÍLIA
INOX
FACA
SÃO PAULO
INOX
COLHER
SÃO PAULO
TRAMONTINA
FACA
BELO HORIZONTE
TRAMONTINA
COLHER
BELO HORIZONTE
EBERLE
FACA
PORTO ALEGRE
EBERLE
COLHER
PORTO ALEGRE
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
n
1
TEM
n
PRODUTO
Prof.: Ilka Kawashita
[email protected]
Relacionamentos Ternários
CIDADE
DISTRIBUIDOR
n
1
TEM
n
PRODUTO
Prof.: Ilka Kawashita
[email protected]
Cardinalidade de Relacionamentos
CARDINALIDADE MÍNIMA
A cardinalidade mínima de uma entidade em relacionamento é o número
mínimo de ocorrências de entidade associadas à uma ocorrência da
entidade em questão através do relacionamento.
EMPREGADO
(0,1)
Prof.: Ilka Kawashita
[email protected]
BANCADA
ALOCAÇÃO
(1,1)
Cardinalidade de Relacionamentos
Para fins práticos, apenas duas cardinalidades mínimas são de nosso interesse,
a de valor 0 e a de valor 1.
A cardinalidade mínima 1 recebe a denominação de associação obrigatória, uma
vez que indica que o relacionamento DEVE obrigatoriamente associar uma ocorrência
de entidade à cada ocorrência da outra entidade em questão.
A cardinalidade mínima 0 recebe a denominação de associação opcional, uma
vez que indica que o relaciona-mento PODE ou não associar uma ocorrência de
entidade à cada ocorrência da outra entidade em questão.
EMPREGADO
(0,1)
Prof.: Ilka Kawashita
[email protected]
BANCADA
ALOCAÇÃO
(1,1)
Cardinalidade de Relacionamentos
DIAGRAMA DE OCORRÊNCIAS
ENTIDADE
EMPREGADO
RELACIONAMENTO
ALOCAÇÃO
ENTIDADE
BANCADA
n 
n 
n 
e1
e2
e1,b1
b1
e3
e4
e2,b2
b2
b3
e3,b6
b4
e4,b4
b5
b6
Os empregados e1, e2, e3 e e4 estão ligados às bancadas b1, b2, b4 e b6,
respectivamente;
Cada empregado está obrigatoriamente ligado à uma bancada;
Uma bancada pode existir sem que esteja ligado a ela nenhum empregado.
Prof.: Ilka Kawashita
[email protected]
VERBO
CARDINALIDADE
MÍNIMA
0
pode
deve
1
RELACIONAMENTO
MÁXIMA
GRAU
TIPO
1
um e inclusive nenhum
N
muitos e inclusive nenhum
1
um e somente um
opcional
obrigatório
N
muitos ou um
Leitura de Relacionamentos
Cada
FUNCIONÁRIO
( 1,1 )
RESPONSÁVEL
( 0,N )
DEPENDENTE
Prof.: Ilka Kawashita
[email protected]
Entidade Sujeito
funcionário
Verbo de Opcionalidade
pode
Relacionamento
ser responsável por
Grau de Relacionamento
Entidade Objeto
muitos e inclusive nenhum
dependente
Exemplo
n 
Deseja-se manter no BD informações sobre as entidades:
q 
q 
q 
q 
n 
Exemplo
Alunos;
Cursos;
Disciplinas; e
Departamentos.
As cardinalidades descrevem que:
q 
q 
q 
q 
cada Disciplina deve possuir um e somente um Departamento responsável, e
cada Departamento pode ser responsável por muitas e inclusive nenhuma
Disciplina;
cada Disciplina pode possuir muitas e inclusive nenhuma Disciplina pré-requisito
e cada Disciplina pode ser pré-requisito de muitas e inclusive de nenhuma
Disciplina;
cada Disciplina pode aparecer em muitos e inclusive nenhum Curso, e cada
Curso pode possuir muitas e inclusive nenhuma Disciplina em seu currículo;
cada Aluno deve estar inscrito em um e somente um Curso e cada Curso pode
ter nele inscrito muitos e inclusive nenhum Aluno.
Prof.: Ilka Kawashita
[email protected]
Exemplo
PRÉ-REQUISITO
liberada
liberadora
(0,N)
DEPARTMENTO
RESPONSÁVEL
(1,1)
(0,N)
DISCIPLINA
(0,N)
(0,N)
DISC/CURSO
(0,N)
ALUNO
Prof.: Ilka Kawashita
[email protected]
(0,N)
INSCRIÇÃO
(1,1)
CURSO
Atributo
Dado que é associado a cada ocorrência de uma entidade ou de um
relacionamento.
REPRESENTAÇÃO
EMPREGADO
código
ATUAÇÃO
tipo
função
data
nome
ENTIDADE
Prof.: Ilka Kawashita
[email protected]
RELACIONAMENTO
Cardinalidade de Atributos
Um atributo pode possuir uma cardinalidade, de maneira análoga à uma
entidade num relacionamento.
Esta cardinalidade define quantos valores deste atributo podem estar
associados com uma ocorrência da entidade ou relacionamento ao qual ele
pertence.
CARDINALIDADES DE INTERESSE
- Cardinalidade (1,1): obrigatória (não precisa representar a cardinalidade
no diagrama);
- Cardinalidade (0,1): opcional;
- Cardinalidade (0,N): opcional e multivalorada;
EMPREGADO
Prof.: Ilka Kawashita
[email protected]
código
nome
telefone(0,N)
Identificando Entidades
Um identificador é um conjunto de um ou mais atributos, ou
relacionamentos, cujos valores servem para distinguir uma ocorrência da
entidade das demais ocorrências da mesma entidade.
IDENTIFICADOR SIMPLES
Um único atributo é suficiente para distinguir uma ocorrência da entidade
das demais ocorrências da mesma entidade.
EMPREGADO
código
Prof.: Ilka Kawashita
[email protected]
nome
telefone
Somente o atributo
código identifica
exclusivamente um
empregado.
Identificando Entidades
IDENTIFICADOR COMPOSTO
Dois ou mais atributos podem ser necessários para distinguir uma
ocorrência da entidade das demais ocorrências da mesma entidade, neste
caso o identificador é dito composto.
PRATELEIRA
Os atributos número do corredor e
número da prateleira identificam
exclusivamente uma dada
prateleira.
capacidade
número da prateleira
número do corredor
Prof.: Ilka Kawashita
[email protected]
Relacionamento Identificador
Há casos em que o identificador de uma entidade é composto não somente
por seu ou seus atributos, mas também através de relacionamentos em que
ela participa.
código
nome
seqüência
EMPREGADO
POSSUI
(1,1)
nome
DEPENDENTE
(0,n)
A entidade Dependentes é identificada por seu atributo sequência e pelo
relacionamento com a entidade Empregado.
À semelhança do atributo identificador - que tem a sua bolinha cheia - o
relacionamento identificador recebe uma linha espessa no diagrama.
Prof.: Ilka Kawashita
[email protected]
Relacionamento Identificador
GRUPO
código
GR/EMP
EMPRESA
número da empresa
EMP/FIL
Prof.: Ilka Kawashita
[email protected]
FILIAL
número da filial
Propriedades dos Identificadores
O identificador deverá ser MÍNIMO, isso significa que se o
identificador deve ser composto de tal forma que retirando-se um
de seus atributos ou relacionamentos que o compõem, ele deixa
de ser identificador.
EMPREGADO
telefone
nome
código
Prof.: Ilka Kawashita
[email protected]
Um identificador composto
poderia ser, por exemplo, os
atributos código e nome. Mas não
forma um identificador mínimo,
pois somente o código já é
suficiente para tal.
Propriedades dos Identificadores
Cada entidade deverá ter um ÚNICO identificador.
EMPREGADO
nome
código
Prof.: Ilka Kawashita
[email protected]
CPF
telefone
A entidade Empregado tem
dois atributos que poderiam ser o
identificador da entidade: código
o u C P F. C a b e r á e n t ã o a o
modelador decidir qual deles será
utilizado como identificador.
Identificando Relacionamentos
Um relacionamento é identificado pelas entidades dele
participantes, bem como pelos seus próprios atributos
identificadores porventura existentes.
MÉDICO
PACIENTE
CONSULTA
n
n
data/hora
O atributo identificador de relacionamento data/hora distingue
uma Consulta entre um Médico e seu Paciente entre as demais
consultas deste Médico com os seus demais Pacientes.
Prof.: Ilka Kawashita
[email protected]
Generalização/Especialização
Através deste conceito é possível atribuir propriedades
particulares a um subconjunto das ocorrências especializadas de
uma entidade genérica.
código
FILIAL
CLIENTE
POSSUI
(1,1)
A entidade
especializada
herda as
propriedades da
entidade genérica.
Prof.: Ilka Kawashita
[email protected]
nome
(0,n)
CGC
tipo
CPF
PESSOA
JURÍDICA
PESSOA
FÍSICA
sexo
Generalização/Especialização
Prof.: Ilka Kawashita
[email protected]
Generalização/Especialização
Prof.: Ilka Kawashita
[email protected]
Generalização/Especialização
Prof.: Ilka Kawashita
[email protected]
Disjunção
TOTAL quando para cada ocorrência da entidade genérica existe
sempre uma ocorrência numa das entidades especializadas.
código
FILIAL
CLIENTE
POSSUI
(1,1)
O diagrama
descreve que os
clientes desta
filial ou são
pessoas jurídicas
ou pessoas
físicas.
Prof.: Ilka Kawashita
[email protected]
nome
(0,n)
t
CGC
tipo
CPF
PESSOA
JURÍDICA
PESSOA
FÍSICA
sexo
Disjunção
Disjunção
PARCIAL quando nem toda ocorrência da entidade genérica possui
uma ocorrência numa das entidades especializadas.
código
FILIAL
O diagrama
descreve que os
clientes desta filial
p o d e m s e r
pessoas jurídicas,
pessoas físicas ou
outras.
Prof.: Ilka Kawashita
[email protected]
tipo
CLIENTE
POSSUI
(1,1)
nome
(0,n)
p
CGC
tipo
CPF
PESSOA
JURÍDICA
PESSOA
FÍSICA
sexo
Generalização/Especialização
- Admite-se até que uma mesma entidade seja a especialização de
diversas entidades genéricas ( herança múltipla).
VEÍCULO
VEÍCULO
TERRESTRE
AUTOMÓVEL
Prof.: Ilka Kawashita
[email protected]
VEÍCULO
AQUÁTICO
VEÍCULO
ANFÍBIO
BARCO
Generalização/Especialização
- A generalização/especialização exclusiva descreve uma
ocorrência da entidade genérica no máximo uma vez na
generalização/especialização.
- A generalização/especialização não exclusiva descreve
mais de uma ocorrência da entidade genérica na generalização/
especialização. Quando ela ocorrer deverá ser tratada como
relacionamentos entre as entidades envolvidas.
Prof.: Ilka Kawashita
[email protected]
Entidade Associativa
Por definição um relacionamento é uma associação entre entidades.
Na modelagem ER não é prevista a possibilidade de associar uma
entidade a um relacionamento, ou de associar dois relacionamentos entre si.
Em certas oportunidades, durante a modelagem surgem situações nas
quais é desejável permitir uma associação entre uma entidade e um
relacionamento.
MÉDICO
PACIENTE
CONSULTA
n
n
Deseja-se modelar a prescrição de medicamentos receitados aos
pacientes, com a criação da entidade Medicamentos.
Prof.: Ilka Kawashita
[email protected]
Entidade Associativa
Modelar a prescrição de medicamentos receitados aos pacientes, com a
criação da entidade Medicamentos.
1ª SOLUÇÃO
Relacionar Medicamento a Médico. Neste caso só se tem a informação
de que Médico prescreveu qual Medicamento,não se tem a informação de qual
Paciente os teve prescritos.
2ª SOLUÇÃO
Relacionar Medicamento a Paciente. Neste caso só se tem a informação
de qual Paciente teve prescrito tal Medicamento, não se tem a informação de
qual Médico os prescreveu.
3ª SOLUÇÃO
Sendo possível relacionar a entidade Medicamento com o
relacionamento entre Médico e Paciente o problema estaria resolvido.
Mas estaríamos relacionando uma entidade a um relacionamento, algo
não previsto no MER.
Prof.: Ilka Kawashita
[email protected]
Entidade Associativa
MÉDICO
n
CONSULTA
n
A solução é então
transformar o relacionamento
entre Médico e Paciente
numa Entidade Associativa e
relacioná-la com a entidade
Medicamento.
Prof.: Ilka Kawashita
[email protected]
PRESCRIÇÃO
n
MEDICAMENTO
n
PACIENTE
Entidade Associativa
Outra solução seria transformar o relacionamento Consulta em entidade
e relacioná-la às entidades Médico, Paciente e Medicamento.
MÉDICO
PACIENTE
(1,1)
(1,1)
PRESCRIÇÃO
PRESCRIÇÃO
n
n
CONSULTA
n
PRESCRIÇÃO
n
Prof.: Ilka Kawashita
[email protected]
MEDICAMENTO
Símbolos - DER
Prof.: Ilka Kawashita
[email protected]
Download

Banco de Dados