modelo lógico de banco de dados. a arquitetura do sgbd é estabelecida a partir de um modelo de...

62
Modelo Lógico de Banco de Dados

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Modelo Lógico de Banco de Dados

Page 2: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

A arquitetura do SGBD é estabelecida a partir de um modelo de dados

MODELOS:HierárquicoRedeRelacional

.

Page 3: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Modelo Hierárquico

• Percepção do banco de dados como uma estrutura de árvore envolvendo registros e ligações

• Cada registro pode ter vários dependentes

• Cada registro só pode possuir um ascendente (exceto a raiz que não tem ascendente)

• A navegação é feita com comandos do tipo:

•Acessar o primeiro (get first)

•Acessar o próximo (get next)

Page 4: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Representação Hierárquica de Registros em um BD

Criação de uma nova filial pode exigir a criação de um tipo de veiculo já existente.

SP São Paulo

SP01 João

SP02 Joana

SP03 Gastão

ESP Esporte

UTL Utilitário

LKY1201 Kombi Preta

JJM1814 Pick-up Azul

Filial

Agente Tipo de Veiculo

Veiculo

Page 5: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Modelo de Rede• Visto como um grafo ou uma malha de ligações um-para-muitos

entre os registros

• Um tipo de registro pode estar envolvido em mais de um relacionamento

• Cada registro pode ter vários ascendentes e vários descendentes

• Trabalha com o conceito de grupo ou conjunto

• Cada conjunto tem:

• Um tipo de registro proprietário (owner), que só pode participar de uma ocorrência do conjunto

• Um tipo de registro membro (member), que pode participar em qualquer quantidade de ocorrências

Page 6: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Representação em Rede de Registros em um BD

SP São Paulo UTL Utilitário

ESP Esporte

LKY1201

Kombi Preta

JJM1814 Pick-up Azul

AM Manaus

YYZ1891

Gurgel Branco

BNX9413

BMW Laranja

Page 7: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Modelo Relacional

• Um banco de dados relacional é percebido pelo usuário como um conjunto de tabelas

• Uma tabela ou relação é composta por linhas conhecidas com t-uplas (lê-se tuplas) e colunas

• Colunas possuem um conjunto de valores possíveis chamados domínio

“No Sistema Relacional os dados são percebidos como Tabelas e as operações aplicáveis ao sistema geram tabelas a partir das primeiras”

Page 8: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Operações Relacionais

• União (A U B)

Produz uma tabela resultado da União das tabelas operadas

• Interseção (A B)

Cria uma tabela resultado da interseção das tabelas operadas

• Diferença (A - B)

Cria uma tabela contendo tuplas que pertencem à primeira

tabelas operada, mas não à segunda.

• Produto Cartesiano (A * B)

Gera todas as combinações possíveis entre as tuplas de duas

tabelas

U

Page 9: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

• Projeção (A , B)

Cria uma tabela contendo alguns atributos específicos da tabela operada

• Seleção ou Restrição (A (a = ‘X’) )

Serve para extrair (selecionar) tuplas de uma certa tabela

• Junção (A.x = B.x)

Gera uma tabela que é a combinação das tabelas operadas segundo critérios impostos sobre atributos de uma e outra tabela

• Divisão (A / B)

Opera duas tabelas, criando uma terceira com os atributos da primeira tabela cujos atributos que os acompanham existem também na segunda tabela.

Page 10: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Livro (L)

Livro Autor Editora

ABC X ED1DEF Y ED2GHI Y ED2JKL X ED3MNO Z ED2

Autor

X Y Z

Usuário

U1 U2 U3 U4 U5

Usuário (U)

Empréstimos emaberto (E)

Livro Usuário ABC U1 GHI U2 JKL U5

Livrosrasurados (R)

Livro

ABC DEF

Memória (M)

Livro Usuário

ABC U1ABC U4DEF U1JKL U2

Para exemplificar, considere o seguinte Banco de Dados

Autor(A)

Page 11: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Empréstimo Global

Livro Usuário

ABC U1 ABC U4 DEF U1 GHI U2 JKL U2 JKL U5

Quais livros foram emprestados para quais usuários, incluíndo empréstimos em aberto ?

União das tabelas Empréstimo em Aberto e Memória de Empréstimo (Empréstimo.Global = E U M)

Page 12: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Empréstimo Já

Livro Usuário

ABC U1

Quais livros atualmente emprestados já haviam sido emprestados antespara o mesmo usuário ?

Interseção das tabelas Empréstimo em Aberto e Memória de Empréstimo (Empréstimo.já = E M)

U

Page 13: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Primeira

Livro Usuário

GHI U2 JKL U5

Quais livros atualmente emprestados nunca haviam sido retirados pelomesmo usuário ?

Diferença entre as tabelas Empréstimo em Aberto e Memória de Empréstimo. (Primeira = E - M)

Page 14: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Quais são todas as combinações de livros atualmente emprestados x usuários depositário x autor ?

Esta consulta não tem muito sentido, servindo apenas para exemplificar

Produto cartesiano ds tabelas Autor e Empréstimo em Aberto (Mistura = A * E)

Mistura

Autor Livro Usuário

X ABC U1 X GHI U2 X JKL U5 Y ABC U1

(continuação)

Autor Livro Usuário

Y GHI U2 Y JKL U5 Z ABC U1 Z GHI U2 Z JKL U5

Page 15: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Que autores escreveram livros para quais editoras ?

Projeção da tabela Livro segundo autor e editora (Filiação = L [ autor,editora])

Filiação

Autor Editora

X ED1 Y ED2 X ED3 Z ED2

Page 16: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Quais os livros escritos pelo autor Y ?

Seleção da tabela Livro segundo o autor “Y” (Y.autoria = L [ autor = Y])

Y.autoria

Livro Autor Editora

DEF Y ED2 GHI Y ED2

Page 17: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Que autores estão sendo lidos por quais usuários ?

Junção das tabelas Livro e Empréstimos em aberto (Lidos = L [ livro = livro] E)

Lidos

Livro Autor Editora Usuário

ABC X ED1 U1 GHI Y ED2 U2 JKL X ED3 U5

Page 18: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Quem são os possíveis rasuradores de livros ?

Divisão da Memória de Empréstimos pela tabela Livros Rasurados (Rasuradores = M / R)

Rasuradores

Usuário

U1 U4

Page 19: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

12 Regras para um SGBD ser

Relacional

São 12 regras, precedidas por uma regra geral 0 (zero). Destas 12, pelo menos 6 devem ser cumpridas para que o SGBD possa ser qualificado como completo relacionalmente.

Page 20: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Regra 0 (Genérica): Para ser Relacional, o SGBD deve ter a capacidade de gerenciar bancos de dados apenas através de suas capacidades relacionais.

Regra 1: Toda a informação em um banco de dados relacional é representada explicitamente no nível lógico e exatamente de uma forma: por valores em tabelas.

Regra 2: Todo e qualquer dado num banco de dados relacional tem a garantia de ser logicamente acessível por meio de uma combinação do nome da tabela, valor da chave primária e do nome da coluna.

Regra 3: Os valores nulos são suportados nos SGBDs completos para representar de modo sistemático a informação ausente ou não aplicável, qualquer que seja o tipo de dado.

Regra 4: A descrição do banco de dados a nível local é representada da mesma maneira que os dados comuns, de forma que os usuários autorizados possam usar, para consultá-la, a mesma linguagem usada para os dados comuns.

Page 21: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Regra 5: Um sistema relacional pode suportar várias linguagens e modalidades de uso com terminal. Porém, deve haver pelo menos uma linguagem cujos comandos possam ser expressos como cadeias de caracteres. A linguagem deve ser suficientemente completa para suportar definição de dados, visões, controle de integridade, autorização de acesso, manipulação e definição dos limites das transações (início, fim e possibilidade de anulação).

Regra 6: Todas as visões que forem teoricamente atualizáveis devem ser também atualizáveis pelo sistema.

Regra 7: A Capacidade de tratar em tabela básica ou uma tabela derivada aplica-se não só à recuperação dos dados mas também à inclusão, atualização e exclusão.

Regra 8: Programas de aplicação e atividades de terminal devem ficar logicamente inalterados quando ocorrem modificações, quer seja na representação dos dados armazenados, quer no método de acesso.

Page 22: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Regra 9: Programas de aplicação e atividades de terminal devem ficar logicamente inalterados quando ocorrem modificações de qualquer tipo que não alterem as informações contidas nas tabelas básicas.

Regra 10: As restrições de integridade de um banco de dados relacional específico devem ser definidas na sublinguagem de dados relacional e armazenáveis no dicionário de dados, e não em programas de aplicação.

Regra 11: Quer o sistema suporte ou não bancos de dados distribuídos, ele deve ter uma sublinguagem de dados que possa suportar estes bancos, sem prejudicar os programas de aplicação e as atividades de terminal.

Regra 12: Se um sistema relacional possui uma linguagem de nível baixo, esta capacidade não pode ser usada para subverter ou ignorar as regras e restrições de integridade espressas na linguagem relacional de mais alto nível.

Page 23: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

O M O D E L O

L Ó G I C O

R E L A C I O N A L

Page 24: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

O Modelo Relacional

Criado nos anos 1970 por Edgar F. Codd

Utilização efetiva à partir de 1987

Informações consideradas com relações matemáticas

Entidades e relacionamentos armazenados em tabelas bidimensionais

Definição

“São conjunto de dados vistos segundo um conjunto de tabelas e as operações sobre as tabelas feitas com manipulação da álgebra relacional.”

Page 25: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Funcionário:

Visão Lógicados Dados

Matricula Nome

830001860072870029920101

JoãoCrisPaulaChico

01/04/5019/12/7531/12/6708/09/70

Nascimento

>

Page 26: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Principais Vantagens

Independência de dados

Visão múltipla de dados

Melhor comunicação entre profissional de informática e usuário

Facilidades para desenvolvimento e manutenção de aplicações

Melhor segurança de dados

Maior agilidade para o processo decisório

Page 27: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

CHAVE PRIMÁRIA (Primary Key)

É um atributo ou conjunto de atributos que identifica univocamente um tupla (linha).

CHAVE SECUNDÁRIA (Secondary Key)

Ë uma chave candidata à chave primária

CHAVE ESTRANGEIRA (Foreign Key)

São os elos de ligação entre as tabelas. Atributos de uma tabela que casam com a chave primária de outra tabela.

Page 28: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

CHAVE ESTRANGEIRA (Foreign Key)

São os elos de ligação entre as tabelas. Atributos de uma tabela que casam com a chave primária de outra tabela.

Page 29: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Indica qual a ação que acontecerá na tupla que possua a chave estrangeira quando ocorrer exclusão da tupla a qual ela

está relacionada.

Restrict: Não permite a exclusão da tupla que possui a chave primaria .

Cascade: Exclui todas as tuplas relacionadas quando a tupla que possui a chave primária é excluída.

Set Null: Atualiza com NULO o campo chave estrangeira quando a tupla que possui a chave primária é excluída.

Page 30: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Regras de Integridade do Modelo Relacional

Integridade da Entidade:

Um atributo que participe de chave primária não pode ter valor nulo.

Integridade Referencial:

Se uma determinada tabela “A” possui uma chave estrangeira em relação a uma outra tabela “B”, então ela deve:

Ser igual a um valor de chave primária existente em “B” ou

Ser nula (NULL)

Não pode existir na chave estrangeira, um valor que não exista na tabela na qual ela é chave primária.

Page 31: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Derivação do Modelo E-R para o Modelo Relacional

Toda entidade torna-se uma tabela

Cada atributo vira uma coluna da tabela

Chaves primárias e chaves candidatas são projetadas para não permitirem ocorrências múltiplas e nem admitirem nulos

Chaves das entidades fracas são formadas pelas chaves primárias da entidade da qual ela é fraca mais os atributos individualizadores da mesma

Page 32: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:N

FuncionárioalocaDepartamento1:N 1:1

Código Nome Matricula Nome Cd-dpto

FuncionárioDepartamento

Page 33: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:N (exemplo)

FuncionárioalocaDepartamento1:N1:1

Código Nome Matricula Nome Cd-dpto

FuncionárioDepartamento

INFO Informática

CONT Contabilidade

TRAN Transporte

001 Jose INFO

002 Ana Paula CONT

005 Carolina TRAN

006 Fernanda CONT

007 Cristina INFO

Page 34: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:N Envolvendo Auto-Relacionamento

COMPÕE

PEÇA

0:1 0:N

NOME PEÇA-QUE-COMPÕECÓDIGOPeça

composta

É com

ponente

Page 35: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:N Envolvendo Auto-Relacionamento (exemplo)

COMPÕE

PEÇA

0:1 0:N

NOME PEÇA-QUE-COMPÕECÓDIGO

Peça

4534 Correia

6547 Parafuso

7734 Freio 65471198 Motor 6547

Page 36: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:1

FuncionárioChefiaDepartamento1:10:1

NOMEMATRICULA

Funcionário

CÓDIGO NOME

Departamento

MATRICULA

Page 37: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:1 (exemplo)

CÓDIGO

Departamento

FuncionárioChefiaDepartamento0:11:1

NOME

INFO Informática 002

CONT Contabilidade 006

TRAN Transporte 007

001 Jose

002 Ana

005 Carolina

NOME

Funcionário

MATRICULA

006 Fernanda

007 Cristina

MATRICULA

Page 38: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:1 Envolvendo Auto-Relacionamento

0:1

CASADA

PESSOA

Código Nome Esposo/Esposa

0:1

Pessoa

Page 39: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento 1:1 Envolvendo Auto-Relacionamento (exemplo)

0:1

CASADA

PESSOA

Código Nome Esposo/Esposa

0:1

Pessoa

P1 José P2

P2 Maria P1P3 Ana P6

P4 Flávia P5P5 João P4

P6 Carlos P3P7 Suzana

Page 40: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento M:N - Entidades Distintas

ProjetoalocadoFuncionário1:N0:N

COD-PRJMATR DATA

ALOCADO

MATR NOME

FUNCIONÁRIO

CÓDIGO NOME

PROJETO

Page 41: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento M:N - Entidades Distintas (exemplo)

NOME

ProjetoalocadoFuncionário0:N 1:N

P1 ConstruçãoP2 Informática

P3 Ensino

ALOCADO

MATR NOME

FUNCIONÁRIO

CÓDIGO

PROJETO

001 José002 Ana Paula

005 Carolina

006 Fernanda007 Cristina

COD-PRJMATR DATA

001 P1 02/01/95002 P2 12/07/94

005 P3 01/10/96

006 P3 01/03/97007 P2 01/06/86

Page 42: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento M:N - Auto-Relacionamento

PRÉ-REQ

DISCIPLINA

0:N 0:N

CÓDIGO CÓD-PRÉ

PRÉ-REQUISITO

CÓDIGO NOME

DISCIPLINA

Page 43: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamento M:N - Auto-Relacionamento (exemplo)

PRÉ-REQ

DISCIPLINA

0:N 0:N

CÓDIGO CÓD-PRÉ

PRÉ-REQUISITO

CÓDIGO NOME

DISCIPLINA

CL1 Cálculo I

CL2 Cálculo II

FIS1 Física 1FIS2 Física 2EST Estatística

CL2 CL1

FIS2 FIS1

EST CL1EST FIS2

Page 44: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamentos Múltiplos Conhecimento

UsadoFuncionário

0:NProjeto

0:N

Conhecimento

0:M

MATRICULA CONHECIMENTO PROJETO CONHECIMENTO

Física

MatemáticaBiologiaQuímica

Page 45: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamentos Múltiplos (exemplos)

ConhecimentoUsado

Funcionário0:N

Projeto0:N

Conhecimento

0:N

MATRICULA CONHECIMENTO PROJETO CONHECIMENTO

Física

MatemáticaBiologiaQuímica

001 Física P1 001 Matemática P1 002 Biologia P2005 Biologia P2005 Química P3007 Física P1007 Química P3

Page 46: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

GeneralizaçõesFuncionárioChefiaDepartamento

1:11:N

Vendedor SecretáriaEngenheiro

Matricula Matricula MatriculaAjuda de custo Hora extra Ling. Estrang.Especialidade Despesa extra Curso Placa carro

Page 47: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Generalizações (exemplo)

CÓDIGO

Departamento

NOME

INFO Informática

CONT Contabilidade

TRAN Transporte

Funcionário

Matricula Nome Função

001 Jose Eng 002 Ana Paula Secr

003 Carolina Eng

006 Fernanda Secr 007 Cristina Eng 008 Juarez Vend

Matricula

001006008

Page 48: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Generalizações (exemplo)

001 120 Computação

003 150 Civil

007 230 Elétrica

Matricula Ajuda de Custo Especialidade Matricula Lingua Estrang. Curso

002 Ingles Completo 006 Frances Incompl.

Matricula Hora extra Despesa Extra Placa carro

008 25 150 JPX1845

Engenheiro Secretária

Vendedor

Page 49: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Modelo Entidade - Relacionamento

A técnica de modelagem mais usada é a Abordagem Entidade-Relacionamento (ER). O modelo de dados é representado graficamente atraves de um Diagrama de Entidade-Relacionamento (DER).

Page 50: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Entidades

Empregado Departamento

Sócios Shows

Page 51: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Relacionamentos

Sócios Shows Participa

Empregado DepartamentoTrabalha

Page 52: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Cardinalidade

Expressa o numero de entidades as quais outra entidade pode

estar associada via um conjunto de relacionamentos.

Page 53: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Cardinalidade de Relacionamentos

Duas cardinalidades máximas são relevantes:A cardinalidade máxima 1A cardinalidade máxima “muitos” representada

pela letra n

Empregado DepartamentoTrabalhan 1

Page 54: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Cardinalidade Mínima

Empregado Mesaalocado

(1,0 ) (1,1 )

Page 55: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Um para Um – 1:1Uma entidade em A está associada no máximo a uma

entidade em B, e uma entidade em B está associada a no máximo uma entidade em A.

a1

a2

a3

a4

b1

b2

b3

b4

Page 56: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Um para muitos – 1:NUma entidade em A está associada a várias entidades em B.

Uma entidade em B, entretanto, deve estar associada no máximo a uma entidade em A.

a1

a2

b1

b2

b3

b4

Page 57: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Muitos para muitos – N:N ou M:N Uma entidade em A está associada a qualquer número de entidades em

B e uma entidade em B está associada a um número qualquer de entidades em A.

a1

a2

a3

a4

b1

b2

b3

b4

Page 58: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Modelagem E-R – James Martin

Exemplo de Modelagem, onde:

= muitos = um

= a ocorrência do relacionamento é opcional; = a ocorrência do relacionamento é obrigatória;

Empregado Departamento

Page 59: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Empregado Departamento

Empregado DepartamentoTrabalha(1,1) (0,n)

Page 60: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

TáxiMotorista

Associações de “Um para Um”

Cliente Animal

 Associações de “Um para Muitos”

Page 61: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Advogado Processo

Associações de “Muitos para Muitos”

Page 62: Modelo Lógico de Banco de Dados. A arquitetura do SGBD é estabelecida a partir de um modelo de dados MODELOS: Hierárquico Rede Relacional

Advogado

Processo/Advogado

Em um banco de dados não é possível implementar um relacionamentoM:N, sendo assim foi criado na modelagem a Entidade Associativa.

Entidade Associativa é a associação entre uma entidade e um relacionamento, ou a associação entre dois relacionamentos.

Processo