Sei sulla pagina 1di 110

Banco de Dados

Modelagem Prof. Daniel Oliveira Danielbarbosa77.wordpress.com

MODELAGEM CONCEITUAL DE DADOS


Modelo Conceitual: aquele onde os objetos, suas caractersticas e relacionamentos tm a representao fiel ao ambiente observado independentemente de restries impostas pela tecnologia.

MODELAGEM CONCEITUAL DE DADOS


Modelo Conceitual de Dados
No se leve em conta particularidade de implementao. Modelos que praticamente so imunes ao ambiente que ser utilizado para implement-lo. A partir do MCD, ser possvel derivar para qualquer tipo de estrutura de implementao, como por exemplo, usar um SGBD Hierrquico ou um SGBD Relacional

MODELAGEM CONCEITUAL DE DADOS


Nveis:
MCD (Modelo Conceitual de Dados) MLD (Modelo Lgico de Dados) MFD (Modelo Fsico de Dados):

MODELAGEM CONCEITUAL DE DADOS


Por que Modelar Dados?
Porque Dados so mais estveis que os procedimentos. Porque Dados existem e podem ser descritos independentemente de como so usados Porque os Dados possuem propriedades prprias e bem definidas.

MODELAGEM CONCEITUAL DE DADOS


complemento numero logradouro rua CNPJ codigo Razao social cidade estado cep nome endereco codigo Preco unit

telefone

FORNECEDORES

FORNECIMENTO

PRODUTOS

Fonte: Silberschatz, 2006, p.143-148

MODELAGEM CONCEITUAL DE DADOS

FORNECEDORES

FORNECIMENTO

PRODUTOS

DICIONRIO DE DADOS

FORNECEDORES = cdigo + cnpj + razo social + ENDERECO + {telefone} PRODUTOS = codigo + nome + preco unit ENDERECO= RUA + cidade + estado + cep RUA = logradouro + numero + (complemento)

MODELAGEM CONCEITUAL DE DADOS


logradouro Complemento (0,1) numero cidade estado rua Razao social endereco codigo cep

codigo Telefone (0,n)

CNPJ

nome

Preco unit

FORNECEDORES

FORNECIMENTO

PRODUTOS

MODELAGEM CONCEITUAL DE DADOS


Entidade
Entidades so abstraes de coisas do mundo real. Tendo as mesmas caractersticas e sujeitas as mesmas normas. Uma entidade pode ser: Um Ser, um fato, uma coisa, um organismo social.

MODELAGEM CONCEITUAL DE DADOS


Entidade
O conjunto de cada um desses elementos (seres, fatos, etc...) denominado Classe de Entidade ou Conjunto de Entidades. So identificadas a partir dos Substantivos e perduram no tempo, podendo cada elemento do conjunto ocorrer uma nica vez.

MODELAGEM CONCEITUAL DE DADOS


Entidade
A representao grfica de uma entidade no Modelo ER feita atravs de um retngulo, contendo um nome dentro do retngulo que nomeia a entidade Este nome dever ser escrito em letras maisculas e no plural.
FUNCIONARIOS CARGOS NOTAS FISCAIS LIVROS

MODELAGEM CONCEITUAL DE DADOS


Entidade
Estratgia para reconhecimento de Entidades: Esta estratgia prope separar os conjuntos de entidades em 5 grandes grupos: Coisas tangveis, Funes, Eventos ou Ocorrncias, Interaes e Especificaes (COUGO, 1997)

MODELAGEM CONCEITUAL DE DADOS


Atributos
A identificao de entidades est diretamente relacionada a necessidade de se armazenar dados (caractersticas ou propriedades) a seu respeito. Tais caractersticas ou propriedades so denominadas atributos. O papel do atributo o de descrever caractersticas ou propriedades relevantes de um conjunto de Entidades.

MODELAGEM CONCEITUAL DE DADOS


Atributos
Deseja-se que o processo de identificao de atributos alcance um elenco de atributos que sejam completos, fatorados e independentes (SHLAER e MELLOR, 1990, p.31).

MODELAGEM CONCEITUAL DE DADOS


Atributos
Completo: Deve abranger todas as informaes pertinentes ao objeto que est sendo definido. Os atributos devem contemplar todas as caractersticas que proporcionem uma perfeita identificao das entidades a qual esteja associado.
Ex.: Entidade: PESSOAS Atributos: nome, rua, numero, bairro, cidade, estado, uf, data de nascimento, sexo, estado civil.

MODELAGEM CONCEITUAL DE DADOS


Atributos
Fatorado: Cada atributo deve ser responsvel por um aspecto. No se deve agrupar responsabilidades acessrias aos atributos.

MODELAGEM CONCEITUAL DE DADOS


Atributos
Independente: Os valores que um atributo pode receber (domnio) devem ser independentes uns dos outros. Cada atributo possui um conjunto dos possveis valores que pode assumir e isso independe dos demais atributos da entidade

MODELAGEM CONCEITUAL DE DADOS


Atributos
Atributos Monovalorados ou Univalorado: um atributo que recebe um nico valor para cada entidade. So atributos que possuem cardinalidade mxima 1. Atributos Multivalorados: um atributo que pode assumir vrios valores para cada entidade. So atributos que possuem cardinalidade mxima N

MODELAGEM CONCEITUAL DE DADOS


Atributos
Atributos Obrigatrios: um atributo que obriga a existncia de valor para cada entidade. So atributos que possuem cardinalidade mnima 1. Atributos Opcionais: um atributo que NO obriga a existncia de valor para cada entidade. So atributos que possuem cardinalidade mnima 0.

MODELAGEM CONCEITUAL DE DADOS


Atributos
Atributo Composto: So atributos formados por um ou mais atributos, ou seja, so atributos que abrigam uma estrutura de dado. Quando no so compostos, os atributos so denominados simples

MODELAGEM CONCEITUAL DE DADOS


Atributos
Atributo Determinante ou Identificador: Atributo que identifica de modo inequivocamente uma Entidade. Pode ser visto como a Chave Primria dessa entidade ou Identificador dessa entidade. Sero sublinhados no diagrama como forma de distingui-lo dos demais..

MODELAGEM CONCEITUAL DE DADOS


Forma de representao dessas definies para atributos
Complemento (0 , 1 ) numero cidade estado rua codigo postal

logradouro

codigo

CNPJ

Razao social
endereco

Telefone

(0 , n )
FORNECEDORES

MODELAGEM CONCEITUAL DE DADOS


Notao alternativa para atributos

FORNECEDORES

Dicionrio de Dados: FORNECEDORES = codigo + CNPJ + razaosocial + ENDERECO + {telefone} ENDEREO = RUA + cidade + estado + codigopostal RUA = logradouro + numero + (complemento)

MODELAGEM CONCEITUAL DE DADOS


Atributos
Domnio
o conjunto dos possveis valores que um atributo pode assumir. No domnio de um atributo, especificamos o Formato desse atributo, seu tamanho, os valores especificamente.
Ex.: Atributo (Sexo do Empregado) Domnio (Campo Alfanumrico, 1 caracter, s pode assumir os valores F e M).

Relacionamentos
Pompilho (2002, p.79) define relacionamento como uma estrutura que indica associaes entre elementos de um conjunto de entidades. Conjunto de conexes entre objetos

Relacionamentos
Por ser uma afirmao, normalmente dita nos dois sentidos
Ex.: CLIENTES COMPRAM ITENS ITENS SO COMPRADOS POR CLIENTES

Relacionamentos
Com esses dois elementos (verbo e seta) possvel estabelecer uma forma ativa ou passiva para leitura do modelo
COMPRAM CLIENTES ITENS

Podemos afirmar que clientes compram itens denotando a voz ativa do verbo referido e por outro lado, itens so comprados por clientes denotando a voz passiva.

Relacionamentos
Pode existir mais que um tipo de relacionamento entre duas entidades:
POSSUEM

PESSOAS UTILIZAM

VEICULOS

Relacionamentos
ENTIDADE

PAPEL1

PAPEL2

Notao genrica para auto-relacionamento

Relacionamentos

Relacionamentos
Relacionamento entre objetos de tipo diferente

COMPRAM CLIENTES ITENS

Relacionamentos
Grau ou Cardinalidade do Relacionamento
Refere-se ao numero mximo de possveis associaes de um relacionamento Busca definir o numero mximo de pares que cada indivduo de uma entidade poder fazer com os indivduos de outra entidade
EMITEM FORNECEDORES 1 N NOTAS FISCAIS

Relacionamentos
emite

Um fornecedor FORNECEDORES

EMITEM 1 N

N notas fiscais NOTAS FISCAIS

Por Um fornecedor

Uma nota fiscal

emitida

Relacionamentos
Os graus dos relacionamentos podem ser enquadrados em trs grandes grupos:
1:1 1:N M:N (Um-para-um) (Um-para-Muitos) (Muitos-para-Muitos)

Relacionamentos
Relacionamento 1:1
RECEBEM
1 1

PESSOAS

CERTIDES DE OBITO

Relacionamentos
Relacionamento 1:N
POSSUEM EMPRESAS

FILIAIS

Relacionamentos
Relacionamento M:N

ESCREVEM M AUTORES N LIVROS

Relacionamentos
Relacionamentos ternrios
P-A-D
1 N

PROFESSORES

ALUNOS

DISCIPLINAS

Relacionamentos
Obrigatoriedade de participao em um relacionamento (cardinalidade mnima) POSSUEM EMPRESAS (1,1) (0,N) FILIAIS

Interpretao:
Uma empresa possui no mnimo nenhuma e no mximo muitas filiais. Uma filial de no mnimo 1 e no mximo 1 empresa.

Tambm podemos ler:


A empresa pode no ter filiais ou poder ter muitas. toda filial deve estar vinculada a obrigatoriamente uma e somente uma empresa.

Relacionamentos
Exemplo
POSSUEM AVIES

(0,N)

(4,15)

TRIPULANTES

Relacionamentos
Relacionamentos Independentes
Permitem que ocorra relacionamento entre elementos das entidades, sem que se tenha que avaliar qualquer outro relacionamento existente.
MINISTRAM (0,N) (1,N)

DISCIPLINAS

PROFESSORES COORDENAM (1,1) (0,1) CURSOS

Relacionamentos
Relacionamentos Contingentes
Tendo dependncia uns com os outros, impem o estabelecimento simultneo de associaes entre os vrios elementos envolvidos.

NECESSITAM (1,N) (0,N) CIRURGIA CARDACA EXAMES LABORATORIAIS

NECESSITAM
(0,N) (1,N) EXAMES FSICOS

Relacionamentos
Relacionamentos mutuamente exclusivos
Nesse tipo de relacionamento, se a associao de um elemento for estabelecida, no poder ser estabelecida pelos demais

REALIZAM (0,N)

(1,N) PARTO NORMAL

GRAVIDAS
REALIZAM (0,N) (1,N) CESREA

Relacionamentos
Relacionamentos mutuamente exclusivos
REALIZAM (0,N) GRAVIDAS REALIZAM (0,N) (1,N) CESREA (1,N) PARTO NORMAL

Relacionamentos
Relacionamentos Parciais ou Totais
Diz-se que um relacionamento parcial, quando no par ordenado dos elementos x e y oriundos da Entidades X e Y, no existe a obrigatoriedade de que para todo x exista um y relacionado.

Relacionamentos
Relacionamentos Parciais ou Totais
Diz-se que um relacionamento total, quando no par ordenado dos elementos x e y oriundos da Entidades X e Y, existe a obrigatoriedade de que para todo x exista um y relacionado, ou seja, todo elemento na Entidade X deve possuir uma relao com no mnimo um elemento da Entidade Y

Relacionamentos
Relacionamentos Parciais ou Totais
Representamos a totalidade acrescentando uma bolinha cheia na sada da aresta do Relacionamento que une o Losango ao ngulo da Entidade, no caso desse Relacionamento ser Total para esta Entidade
POSSUEM
EMPREGADOS 1 N

DEPENDENTES

Relacionamentos
Uma notao alternativa para a totalidade a de explicitar na prpria cardinalidade os valores mximos e mnimos.
LOTAM DEPARTAMENTOS

(1,N)

(0,N) EMPREGADOS

Relacionamentos
Relacionamentos com Atributos
Exemplo: Relacionamento com cardinalidade mxima 1:1 com atributo alocado no relacionamento
Cdigo nome Data nascimento Data registro numero livro folha

(1,1)
PESSOAS

RECEBEM

(1,1)
CERTIDES DE NASCIMENTO

Relacionamentos
Relacionamentos com Atributos
Relacionamento com cardinalidade 1:1 com atributo alocado na entidade da direita
Cdigo nome Data nascimento RECEBEM livro numero folha Data registro

(1,1)

(1,1)

PESSOAS

CERTIDES DE NASCIMENTO

Relacionamentos
Relacionamentos com Atributos
Relacionamento com cardinalidade mxima 1:N com atributo alocado no relacionamento
matricula nome

Data admisso

Data cadastramento numero POSSUEM

nome Data de nascimento

(1,1)

(0,N)

EMPREGADOS

DEPENDENTES

Relacionamentos
Relacionamentos com Atributos
Relacionamento com cardinalidade 1:N com atributo alocado na entidade de cardinalidade mxima N
matricula nome Data admisso POSSUEM (1,1) (0,N)

numero

nome Data de nascimento Data cadastramento

EMPREGADOS

DEPENDENTES

Relacionamentos
Relacionamentos com Atributos
Relacionamento com cardinalidade mxima M:N com atributo alocado no relacionamento
nome
codigo durao COMPEM

faixa

codigo

Nome

ano da criao

MUSICAS

(1,N)

(0,N)

CDS

Relacionamentos
Entidade Fraca
So entidades que no possuem identidade prpria, ou seja, no possuem atributos suficientes para formar uma chave. Sua existncia est condicionada a existncia de outra entidade dita Forte O relacionamento entre a entidade forte e a fraca e de grau 1:N e a participao da entidade fraca total

Relacionamentos
Entidade Fraca
O atributo determinante da entidade fraca ser formado pelo atributo determinante da entidade forte mais um atributo diferenciador pertencente a entidade fraca
matricula nome nome

Data admisso POSSUEM


(1,1)

matricula

numero

Data de nascimento

(0,N)

EMPREGADOS

DEPENDENTES

Relacionamentos
Agregaes
Em alguns casos (e no raros) necessitamos vincular uma entidade C a um par, formado pelo relacionamento de outras entidades A e B Ou seja, precisamos construir um relacionamento entre a C com o relacionamento de A e B. Para resolver este problema, adotamos uma estrutura denominada Agregao

Relacionamentos
Agregaes
ITENS PEDIDO REQUISITAM (0,N) (1,N)

PEDIDOS DE COMPRA

MATERIAIS

(1,1)

ATENDEM

(0,N) ORDENS DE COMPRA

Relacionamentos
Agregaes
Analisando o modelo proposto e tomando por base a linha do tempo, est sendo demonstrado que o relacionamento REQUISITAM envolvendo as entidades PEDIDOS DE COMPRA e MATERIAIS d-se em um primeiro momento. Em um segundo momento, d-se o relacionamento entre o agregado ITENS DE PEDIDO e a entidade ORDENS DE COMPRA Um agregado pode ser representado por um retngulo envolvendo o relacionamento das entidades

Relacionamentos
Agregaes
Notao alternativa para agregao
A-B R1

(0,N)
A (1,1)

(1,N) B

R2

(0,N) C

Relacionamentos
Generalizao e Especializao
matricula

nome

especialidade

MDICOS

Data inicio residncia

Nome orientador

Data avaliao

Local de atuao

Tempo de permanncia

Data efetivao

RESIDENTES

EFETIVOS

Relacionamentos
Generalizao e Especializao
codigo
nome Ano fabricao

MEIOS DE TRANSPORTE

Quilometragem mxima

Profundidade mnima regio

Altitude mnima

Altitude mxima

TERRESTRE
AEREO

AQUATICO

Relacionamentos
Generalizao e Especializao
TOP DOWN, parte-se de um conjunto de entidades iniciais e vai se refinando at alcanar nveis mais detalhados. BOTTOM UP, parte da anlise de elementos mais detalhados

Relacionamentos
Generalizao e Especializao
Especializaes so disjuntas,define que, um individuo, poder pertencer a no mximo uma entidade especializada a uma Categoria. No-disjunta ou Inclusiva, pois reconhece a possibilidade de um mesmo indivduo realizar papis distintos no contexto.

Relacionamentos
Generalizao e Especializao
Na bibliografia consultada encontramos as seguintes sugestes, ambas a serem escritas dentro do tringulo:
Um X para especializao disjunta e um O para nodisjunto, ou Um C para especializao disjunta e um P para nodisjunto

Como as especializaes disjuntas so as mais comuns, podemos convencionar no acrescentar nenhuma caracterstica nesses casos e adotar um P para representar a especializao no-disjunta

Notao
Diversos so as notaes que podem ser utilizadas para representar um Modelo Conceitual. As mais difundidas so as de James Martin e as de Peter Chen

Dicionrio de Dados
O dicionrio de dados uma relao de todos os elementos de dados componentes do sistema. Notao do Dicionrio de Dados

SMBOLO = + () x{}y [|] ** @

SIGNIFICADO
composto de E Opcional (pode estar presente ou ausente) Iterao Escolha uma das opes alternativas Comentrio Identificador (campo chave)

Dicionrio de Dados
Exemplo
NOME = TITULO-CORTESIA + PRIMEIRO-NOME + (NOME-INTERMEDIRIO) + ULTIMO-NOME TITULO-CORTESIA = [ Sr. | Srta. | Sra. | Sras. | Dr. | Professor ] PRIMEIRO-NOME = {CARACTER-VALIDO} NOME-INTERMEDIARIO = {CARACTER-VALIDO} ULTIMO-NOME = {CARACTER-VALIDO} CARACTER-VALIDO = [ A Z | a z | 0 9 | | - | | ]

COMPOEM

Modelo de Dados Fabrica de Chocolate Bombom


(1,N) (0,N) CONSOMEM MATERIAIS (1,N) (0,N) PROJETOS

c
FABRICACAO INTERNA COMPRADOS

(0,N) POSSUEM ALOCAO ATUAM (0,N) (1,1) CARGOS

UTILIZAM (0,N) (0,N) (1,N)

(1,N)

(1,N)

COMPRAM EMPREGADOS (1,1) COMPRAM (0,N) (0,N) ALUGAM (0,N)

(0,N)

REPRESENTANTES

(0,1) ARMAZENS SITUAM-SE AVALISAM

CLIENTES

(0,N)

(0,N)

(1,1)

LOCAIS

DICIONRIO DE DADOS

MATERIAIS = codigom + nome + quantidade FABRICAO INTERNA = codigom + modelo + precocusto COMPRADOS = codigom + precocompra + dataultimacompra PROJETOS = codigop + nome + dataelaborao + objetivo CLIENTES = codigoc + razaosocial + ENDEREO + (e_mail) + 1{telefones} REPRESENTANTES = codigor + razosocial + endereo + (e_mail) + 1{telefones} ARMAZENS = codigoa + telefone LOCAIS = codigol + bairro + cidade EMPREGADOS = codigoe + nome + dataadmissao ALOCAO = datainicio + datafim CARGOS = codigoc2 + nome + salario ENDERECO=logradouro + numero + (complemento) + bairro + cidade + UF + CEP

Modelagem de Dados
A partir do MCD obtemos o MLD Um Modelo Lgico aquele em que os objetos, caractersticas e relacionamentos so representados de acordo com as regras de implementao a partir das restries impostas por uma tecnologia A obteno do modelo lgico se d pela traduo dos elementos presentes no Modelo Conceitual

Modelagem de Dados
Simbologia
Tabelas (traduo das Entidades) so representadas por um Retngulo, com o nome da tabela escrito dentro do retngulo. Observe que por se tratar de um objeto a ser compreendido e armazenado dentro de um SGBD, aceita-se abreviaturas
Materiais

Modelagem de Dados
Simbologia
Colunas (traduo dos atributos) so representadas dentro do retngulo da tabela, com suas respectivas caractersticas.
Ex.: Tabela MATERIAIS representando a entidade MATERIAIS e as colunas CODIGO, NOME e QUANTIDADE representando atributos com mesma nomenclatura.

MATERIAIS CODIGOM NOME QUANTIDADE

Modelagem de Dados
Ligaes (traduo dos relacionamentos): so representadas conforme a tabela abaixo.
As regras para anlise e traduo dos relacionamentos sero estudadas em detalhes mais a frente. Cardinalidade 0,1 1,1 0,N Ligao

1,N

Modelagem de Dados
Propriedades do Modelo Relacional Normalizado
Cada clula pode ser vazia ou conter no Mximo 1 valor. A ordem das linhas irrelevante do ponto do visto do usurio. No h duas linhas iguais Cada coluna tem um nome Duas colunas distintas devem ter nomes diferentes. A partir do nome, a ordem das colunas irrelevante. Cada relao tem um nome prprio diferente dos demais nomes de relao. Os valores de uma coluna so retirados de um conjunto denominado Domnio. Duas ou mais colunas podem ter o mesmo domnio

Modelagem de Dados
Mapeamento do MCD para o MLD
Entidade Regulares Para cada Entidade Forte E no MCD ser criada uma tabela T no MLD. Incluir todos os atributos simples e os atributos compostos j decompostos como colunas em T.
CLIENTES CODIGOC <pk> not null RAZAO_SOCIAL not null LOGRADOURO not null NUMERO not null COMPLEMENTO null BAIRRO not null CIDADE not null ESTADO not null CEP not null E_MAIL null

Modelagem de Dados
Mapeamento do MCD para o MLD
Tabela de Relacionamento a terceira soluo ser criar uma nova tabela para abrigar o relacionamento. Esta soluo mais indicada para relacionamento de cardinalidade M:N.

PESSOAS CODIGO <pk> not null NOME not null DATA_NASCIMENTO not null

REGISTRO CODIGO <pk,fk1> not null NUMERO <pk,fk2> not null DATA_REGISTRO not null

CERTIDOES_DE_NASCIMENTO NUMERO <pk> not null LIVRO not null FOLHA not null

Modelagem de Dados
Mapeamento do MCD para o MLD
Relacionamento de Cardinalidade 1:N
codigo
CNPJ Razao social Razao social

codigo
POSSUEM

CNPJ

EMPRESAS

(1,1)

(0,N)

FILIAIS

Modelagem de Dados
Mapeamento do MCD para o MLD
Transposio de Chave Estrangeira inserir na entidade que possui a cardinalidade N a Chave Primria da Entidade que possui cardinalidade 1 como Chave Estrangeira
FILIAIS EMPRESAS CODIGO <pk> not null CNPJ not null RAZAO_SOCIAL not null CODIGOFILIAL <pk> not null CODIGO <fk> not null CNPJ not null RAZAOSOCIAL not null

Modelagem de Dados
Mapeamento do MCD para o MLD
Relacionamento de Cardinalidade M:N
CDS MUSICAS CODIGO <pk> not null NOME not null DURACAO not null GRAVACAO CODIGO <pk,fk1> not null CDS_CODIGO <pk,fk2> not null FAIXA not null CODIGO <pk> not null NOME not null ANOCRIACAO not null

Modelagem de Dados
Mapeamento do MCD para o MLD
Relacionamentos enrios Os relacionamentos sero traduzidos conforme a cardinalidade dos mesmos.
nome Data admissao matricula P-A-D
1 N

nome e_mail matricula

PROFESSORES
nome codigo
N

ALUNOS

carga horaria

DISCIPLINAS

nome Data admissao matricula

nome e_mail matricula

P-A-D
1 N

PROFESSORES nome carga horaria


N

ALUNOS

codigo

DISCIPLINAS

PROFESSORES MATRICULA <pk> not null NOME not null DATA_ADMISSAO not null

TURMAS MATRICULA <pk,fk1> not null ALU_MATRICULA <pk,fk2> not null CODIGO <pk,fk3> not null

ALUNOS MATRICULA <pk> not null NOME not null E_MAIL null

DISCIPLINAS CODIGO <pk> not null NOME not null CARGA_HORARIA not null

Modelagem de Dados
Generalizao Especializao
1 : Criar uma tabela para cada entidade generalizada e uma tabela para cada entidade especializada.
MEDICOS MATRICULA <pk> not null NOME not null ESPECIALIDADE not null

RESIDENTES MATRICULA <pk,fk> not null NOME_DO_ORIENTADOR not null DATA_INICIO_RESIDENCIA not null DATA_AVALIACAO not null

EFETIVOS MATRICULA <pk,fk> not null LOCAL_DE_ATUACAO not null TEMPO_DE_PERMANENCIA not null DATA_EFETIVACAO not null

Modelagem de Dados
Generalizao Especializao
MEDICOS MATRICULA <pk> not null NOME not null ESPECIALIDADE not null NOME_DO_ORIENTADOR null DATA_INICIO_RESIDENCIA null DATA_AVALIACAO null LOCAL_DE_ATUACAO null TEMPO_DE_PERMANDENCIA null DATA_EFETIVACAO null

2: Criar somente a tabela para a entidade generalizada e migrar todos os atributos e relacionamentos das entidades especializadas para ela

Modelagem de Dados
Generalizao Especializao
3 - Criar somente tabelas para as entidades especializadas e migrar todos os atributos e relacionamentos da entidade generalizada para cada uma dessas tabelas.
RESIDENTES MATRICULA <pk> not null NOME not null ESPECIALIDADE not null NOME_DO_ORIENTADOR not null DATA_INICIO_RESIDENCIA not null DATA_AVALIACAO not null EFETIVOS MATRICULA <pk> not null NOME not null ESPECIALIDADE not null LOCAL_DE_ATUACAO not null TEMPO_DE_PERMANENCIA not null DATA_EFETIVACAO not null

Modelagem de Dados
Agregao
A traduo da Agregao se dar em duas partes:
Primeiro ser tratado o aspecto relativo ao relacionamento (aquele que dar vida ao agregado) Em segundo lugar faremos a traduo do aspecto relativo a entidade, ou seja, ao agregado e seus vnculos com os demais elementos do modelo

Modelagem de Dados
Agregao
data numero valortotal ITENS PEDIDO REQUISITAM PEDIDOS DE COMPRA (0,N) codigo quantidade (1,N) nome quantidade

MATERIAIS

(1,1)

ATENDEM data numero (0,N) ORDENS DE COMPRA valortotal

Modelagem de Dados
Agregao
PEDIDOS_COMPRA NUMERO <pk> not null DATA not null VALORTOTAL not null ITENS_PEDIDO NUMERO <pk,fk1> not null CODIGO <pk,fk2> not null QUANTIDADE not null MATERIAIS3 CODIGO <pk> not null NOME not null VALOR_UNITARIO not null

ORDENS_COMPRA CODIGO_ <pk> not null NUMERO <fk> not null CODIGO_MATERIAL <fk> not null DATA not null VALOR_TOTAL not null

Modelagem de Dados
Auto-relacionamento
nome matricula Data admissao cargo

(1,1)

FUNCIONRIOS

(0,N)

EMPREGADOS MATRICULA <pk> not null NOME not null DATA_ADMISSAO not null CARGO not null EMP_MATRICULA_GERENTE <fk> not null

GERENCIA

GERENCIAM

GERENCIADO

Modelagem de Dados
Auto-relacionamento
COMPONENTE DE
codigo (1,N) nome quantidade (0,N)

MATERIAIS

COMPEM

COMPOSTO DE

MATERIAIS CODIGO <pk> not null NOME not null QUANTIDADE not null COMPOSICAO CODIGO <pk,fk1> not null PRO_CODIGO <pk,fk2> not null

com posi o codi gom _com posto codi gom _com ponente <pk,fk1> <pk,fk2> not nul l not nul l

consum o codi gom codi gop m ateri ai s codi gom nom e quanti dade <pk> not nul l not nul l not nul l <pk,fk1> <pk,fk2> not nul l not nul l proj etos codi gop nom e datael aboracao obj eti vo <pk> not not not not nul l nul l nul l nul l

al ocacao fabri cacaoi nterna codi gom m odel o precocusto <pk,fk> not nul l not nul l not nul l com prados codi gom codi goe precocom pra dataul ti m acom pra <pk,fk1> <fk2> not not not not nul l nul l nul l nul l codi gop codi goe datai ni ci o codi goc2 datafi m <pk,fk1> <pk,fk2> <pk> <fk3> not not not not not nul l nul l nul l nul l nul l CARGOS codi goc2 nom e sal ari o <pk> not nul l not nul l not nul l

em pregados uso codi gom com _codi gom <pk,fk1> <pk,fk2> not nul l not nul l codi goe nom e dataadm i ssao al uguei s not nul l not nul l not nul l codi gor codi goa <pk,fk1> <pk,fk2> not nul l not nul l arm azens codi goa codi gol tel efone <pk> <fk> not nul l not nul l not nul l <pk> not nul l not nul l not nul l

com pras codi gom codi goc codi gor <pk,fk1> <pk,fk2> <pk,fk3>

representantes codi gor razaosoci al l ogradouro num ero bai rro ci dade estado cep e_m ai l <pk> not nul l not nul l not nul l not nul l not nul l not nul l not nul l not nul l nul l

cl i entes codi goc razaosoci al l ogradouro num ero bai rro ci dade estado cep e_m ai l <pk> not nul l not nul l not nul l not nul l not nul l not nul l not nul l not nul l nul l

aval i stas codi gor codi goa <pk,fk1> <pk,fk2> not nul l not nul l

tel efones codi goc tel efone <pk,fk> <pk> not nul l not nul l l ocai s codi gol bai rro ci dade <pk> not nul l not nul l not nul l

Modelagem de Dados e Normalizao


Normalizao
Processo de anlise do esquema das relaes buscando alcanar as seguintes propriedades:
Reduo da redundncia Minimizao das anomalias de insero, excluso e atualizao dos dados

Existem 6 Formas Normais A maioria dos projetos de BD atualmente se limitam a 3 FN.

Modelagem de Dados e Normalizao


Anomalias
Num. Pedido 003 Data Emisso 20-jan Nome Fornec. CNPJ PEDIDO Endereo Cd. Produto 033A 002M 145J 002M 083P 033A 145J 029K 083P Produtos Nome Qtde. Produto DOS 04 COREL 01 ABC 13 COREL 02 ZAPT 10 DOS 50 ABC 50 WIN 15 ZAPT 10 Preo Unit. 130,00 499,00 256,00 450,00 85,00 110,00 110,00 200,00 87,00

Software 12345-78

Av. Lapa 777, Lapa RJ 20000

004 005 006

27-Jan 27-Jan 14-Mar

23456-89 R. Itu 49, Itu SP 11000 R. Vitoria 12, Computer 34567-00 Vitoria ES 30000 Brasoft 23456-89 R. Itu 49, Itu SP 11000 Brasoft

5 Modelagem de Dados e Normalizao


Normalizao
Primeira Forma Normal Segunda Forma Normal Terceira Forma Normal Forma Normal de Boyce_Codd Quarta Forma Normal
Quinta Forma Normal

Modelagem de Dados e Normalizao


Normalizao
1 Forma Normal
Representa a prpria definio do M. Relacional

Uma tabela est em 1FN Normal se: Est integrado por tabelas As linhas da tabela so unvocas As linhas no contem itens repetitivos Os atributos so atmicos Os atributos no contem valores nulos.

Modelagem de Dados e Normalizao


Normalizao
Processo de obteno da 1FN?
Transformar atributos compostos em atmicos
Criar uma coluna para cada aspecto do composto.

Eliminar Itens Repetitivos


Criar uma coluna para cada ocorrncia Criar uma tabela para abrigar a multivalorao Desmembrar em linhas uma para cada ocorrncia.

Definir as chaves candidatas e escolher a chave

Modelagem de Dados e Normalizao


Normalizao
Dependncia Funcional
Um atributo x de uma entidade X funcionalmente dependente de outro atributo y tambm presente na mesma entidade X, ou seja, se a cada valor de x corresponde exatamente um valor de y

Modelagem de Dados e Normalizao


Normalizao
Dependncia Funcional
Dependncia Funcional Total quando existe uma Chave Primria Composta e os atributos presentes na relao (e que no so chave) dependem da chave como um todo e no somente de parte da chave

Modelagem de Dados e Normalizao


Normalizao
Dependncia Funcional
Dependncia Funcional Transitiva ocorre quando a interdependncia entre os atributos se d sem que algum dos atributos seja Chave Primria da tabela

Modelagem de Dados e Normalizao


Normalizao
2 Forma Normal
Baseia-se no conceito de Dependncia Funcional Total da Chave Primria Composta Uma tabela est em 2 FN se:

Estiver em 1 FN

Modelagem de Dados e Normalizao


Normalizao
2 Forma Normal
Cada uma das colunas no pertencentes Chave Primria, no for dependente parcialmente dessa chave. Havendo Chave Primria Composta, ou seja, formada por mais de uma coluna, todas as demais colunas da tabela devem ser dependentes da chave como um todo e no s de parte da chave

Modelagem de Dados e Normalizao


Normalizao
2 Forma Normal
Relaes que possuam somente um atributo como

Chave Primria esto automaticamente na 2 FN .

Modelagem de Dados e Normalizao


Normalizao
2 Forma Normal
Processo de obteno da 2FN identificar as colunas que no participam da chave primaria da tabela. avaliar se o conhecimento do valor das demais colunas est condicionada ao conhecimento da chave primaria parcial ou total

Modelagem de Dados e Normalizao


Normalizao
2 Forma Normal
Para as colunas dependentes parcialmente da chave primaria: Retir-la da tabela original, colocando-a em uma nova tabela. A Chave Primria dessas novas tabelas ser a parte da Chave Primria da tabela original que determinava o valor das colunas dependentes parcialmente.

Modelagem de Dados e Normalizao


Normalizao
2 Forma Normal
Num. Pedido 003 003 003 004 004 005 005 006 006

ITEM_PEDIDO Cd. Qtde. Produto 033A 04 002M 01 145J 13 002M 02 083P 10 033A 50 145J 50 029K 15 083P 10

Preco Unit. 130,00 499,00 256,00 450,00 85,00 110,00 110,00 200,00 87,00

Criar novas tabelas com as colunas dependentes parcialmente das chaves e excluir essas colunas da tabela original.
PRODUTO Cd. Produto 033A 002M 145J 083P 029K Nome Produto DOS COREL ABC ZAPT WIN

Modelagem de Dados e Normalizao


Normalizao
3 Forma Normal
Baseia-se no conceito de Dependncia Funcional Transitiva. Uma tabela est em 3FN se:
Estiver na 2 FN. Todas as colunas da tabela forem dependentes da Chave Primria. Possuir um nico atributo, alm da PK.

Modelagem de Dados e Normalizao


Normalizao
3 Forma Normal
Processo de obteno da 3FN Identificar as colunas que no participam da chave primaria da tabela. Para cada uma das colunas identificadas, analisar se o seu valor determinado por alguma outra coluna no pertencente Chave .

Modelagem de Dados e Normalizao


Normalizao
3 Forma Normal
Para colunas dependentes transitivamente da chave, deve-se: Criar novas tabelas para estas colunas e exclu-las da tabela origem, porm, manter a coluna determinante da transitividade na tabela origem. A chave primria dessas novas tabelas ser(o) a(s) coluna(s) que determinou(aram) o valor da(s) coluna(s) analisada(s).

Modelagem de Dados e Normalizao


3 Forma Normal
Num. Pedido 003 003 003 004 004 005 005 006 006

Num. Pedido 003 004 005 006

PEDIDO Data Emisso 20-Jan 27-Jan 27-Jan 14-Mar

CNPJ 12345-78 23456-89 34567-00 23456-89

ITEM_PEDIDO Cd. Qtde. Produto 033A 04 002M 01 145J 13 002M 02 083P 10 033A 50 145J 50 029K 15 083P 10

Preco Unit. 130,00 499,00 256,00 450,00 85,00 110,00 110,00 200,00 87,00

FORNECEDOR CNPJ 12345-78 23456-89 34567-00 Nome Fornec. Logradouro Numer Cidade o Software Av. Lapa 777 Lapa Brasoft R. Itu 49 Itu Computer R. Vitoria 12 Vitoria Uf RJ SP ES cep 20000 11000 30000

Linguagem de Manipulao Relacional


SQL
Surgiu na dcada de 70, junto com o SGBDR. Incorporado como padro ANSI/ISO em 82. Novos padres de 86, 92*, 99 e 2003. Fabricantes constroem superconjuntos de um subconjunto do padro. Baseado nos conceitos da lgebra Relacional Duas sub-linguagens: Definio dos Dados DDL e Manipulao dos Dados DML.

Linguagem de Manipulao Relacional


SQL
DDL
Agem no esquema das tabelas Atuam no Nvel Conceitual Persistncia no Dicionrio de Dados CREATE, ALTER, DROP Agem nas Instncias dos dados Atuam no Nvel Interno Persistncia no Arquivo de Dados INSERT, UPDATE, DELETE e SELECT
110

DML

Bibliografia
DATE, C.J. Introduo a Sistemas de Banco de Dados. 8ed. Rio de Janeiro: Elsevier, 2003. ELMASRI, R., NAVATHE, S. B. Sistemas de Banco de Dados. 4ed. So Paulo: Adisson Wesley, 2005. GILLENSON, M. L. Fundamentos de Sistemas de Gerncia de Banco de Dados. Rio de Janeiro: LTC, 2002. GUIMARES, C. C. Fundamentos de Bancos de Dados. Modelagem, projeto e linguagem SQL. So Paulo: Unicamp, 2003. KORTH, H. F. & SILBERSCHATZ, A. Sistema de Bancos de Dados. 3ed. So Paulo: Makron Books, 1999.

Potrebbero piacerti anche