cetep são francisco curso técnico em informática...
TRANSCRIPT
CETEP – São FranciscoCurso Técnico em Informática
Disciplina: Banco de Dados
Prof. Joelson Carvalho dos Reis
Analista de Sistemas
Disciplina: Banco de Dados
Aula 05:Cardinalidades
Prof. Joelson Carvalho dos Reis
Analista de Sistemas
• Introdução
• Projeto Lógico do BD Relacional
• Atributos Multi-valorados
• Cardinalidade N:N
• Cardinalidade 1:N
• Cardinalidade 1:1
• Auto Relacionamento
• Relacionamento de grau maior que dois
• Generalização/Especialização
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
• Visão geral do projeto lógico:
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
•É a parte mais interessante da modelagem.
• Aqui começa “de verdade” a surgir,finalmente, o banco de dados propriamentedito.
•Em especial a tradução dos relacionamentos éo que deixa mais claro os conceitos vistos namodelagem conceitual, ou modelagem lógica.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
• Um relacionamento nada mais é do que uma“ligação” entre duas entidades (agora, Tabelas)que juntas criam informações complexas.
• Cada entidade passa a ser uma tabela físicano banco de dados.
• O banco precisa ser construído de formarelacionada, através do uso de CHAVES.
• As chaves tem variações e diferentesfinalidades, dentre elas, garantir a integridadedos dados armazenados.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
• Chave Primária:
• A chave primária é o "atributo identificador"na modelagem lógica.
• Geralmente é um campo da tabela quearmazena uma informação única, que não serepete em nenhum outro registro daquelamesma tabela. Desta forma ele serve comoidentificador daquele registro.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
•Chave Composta:
• É formada pela chave primária e por algumaoutra informação que também é única natabela.
• Os dois campos juntos, formam uma chavecomposta.
• Este tipo de chave é usado com maisfrequência em tabelas provenientes derelacionamentos N:N (vários para vários).
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
•Chave Estrangeira:
• Esta chave é um campo em uma tabela quearmazena o conteúdo da chave primária deoutra tabela.
• Chave estrangeira é sinônimo derelacionamento entre tabelas. Se hárelacionamento há chave estrangeira.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
• Implementação inicial das entidades:
• Cada entidade é traduzida como umatabela;
• Cada atributo define uma coluna databela;
•Atributos identificadores correspondem àchave primária da tabela.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
•Nome das colunas:
•São referenciados frequentemente emprogramas e outras formas de texto emcomputador;
• Para diminuir o trabalho dos programadores,manter os nomes de colunas curtos;
• Em um SGBD relacional, o nome da colunanão pode conter espaços em branco.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
•Nome de Atributos e Nome das Colunas:
•Não transcrever nomes de atributos para nome de colunas;
•Nomes de colunas não necessitam conter o nome da tabela.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
• Nome da Coluna Chave Primária:
• A chave primária pode aparecer emoutras tabelas na forma de chaveestrangeira;
• Recomendável: que sejam sufixados como nome ou sigla da tabela na qualaparecem como chave primária.
• Exemplo: codigoPessoa
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
• Implementação de relacionamentos:
• Depende das cardinalidades mínima emáxima do relacionamento.
• Alternativas:
• Tabela própria.
• Fusão de tabelas.
• Adição de colunas a uma das tabelas.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
•Tabela própria: Significa que será criada uma tabela própria para o relacionamento.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
A B
A1 A2 B1 B2R1
A (A1, A2)
B (B1, B2)
AB (A1, B1, R1)
A1 referencia A
B1 referencia B
•Fusão de tabelas: Significa que será criada uma únicatabela com todos os atributos das duas tabelasrelacionadas e os atributos do relacionamento, casoexistam.
• Devemos escolher entre um dos atributosidentificadores das entidades relacionadas para ser achave primária da tabela.
Joelson Carvalho dos ReisAnalista de Sistemas
A B
A1 A2 B1 B2R1
AB (A1, A2, B1, B2, R1)
•Adição de colunas a uma das tabelas: Significa queuma das duas tabelas vai receber a chave primária daoutra.
•Caso existam atributos no relacionamento, a mesmatabela que recebeu a chave primária da outra,também receberá o atributo do relacionamento.
Joelson Carvalho dos ReisAnalista de Sistemas
A B
A1 A2 B1 B2R1
A (A1, A2)B (B1, B2, A1, R1)A1 referencia A
•Atributo Multi-valorado: é um atributoopcional (cardinalidade mínima 0 ou 1) emulti-valorado (cardinalidade máxima N).
•Caso algum dos atributos seja multi-valorado,para este será criada uma tabela, contendo oatributo multi-valorado e uma chaveestrangeira da tabela origem, formando umachave primária composta.
Joelson Carvalho dos ReisAnalista de Sistemas
Transformação entre Modelos
Projeto Lógico do BD Relacional
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Atributos Multi-valorados
aluno (id, nome, peso, rg)
email (id, email, idAluno)
idAluno REFERENCIA Aluno
•Nestes casos, o relacionamento deve ser convertido em uma tabela (entidade associativa).
• Caso típico de Tabela Própria.
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade N:N
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade N:N
Aluno (id, nome, peso, rg)
Curso (id, nome, cargaHoraria)
Matricula (idAluno, idCurso, dataHora)
idAluno REFERENCIA Aluno
idCurso REFERENCIA Curso
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade N:N
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade N:N
•Nestes casos, cada entidade será convertidaem uma tabela.•Na entidade cuja cardinalidade dorelacionamento seja N, insere-se a chaveprimária da outra tabela;•Nos casos de relacionamentos com atributos,o conjunto de atributos do relacionamentodeve ser convertido em campos que farãoparte da tabela que conterá a ligação dorelacionamento.•Caso típico de Adição de Coluna.
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:N
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:N
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:N
•Exemplo:
Curso (id, nome, cargaHoraria)
Aluno (id, nome, rg, idCurso)
idCurso REFERENCIA Curso
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:N
•Exemplo:
Curso (id, nome, cargaHoraria)Aluno (id, nome, peso, rg, idCurso, dataHora)IdCurso REFERENCIA Curso
•Uma das duas entidades é obrigatória:
• Cardinalidades (0,1) ou (1,1)
• Substituir as duas entidades por umaúnica tabela;
• Chave primária será da entidadeobrigatória;
• Caso típico de Fusão de Tabelas.
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:1
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:1
Exemplo:
• As duas entidades são obrigatórias:
• Cardinalidade (1,1)
• Substituir as duas entidades por umaúnica entidade;
• Escolher uma das identificações comochave primária.
• Caso típico de Fusão de Tabela.
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:1
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:1
• As duas entidades são opcionais:
• Cardinalidade (0,1) e (0,1)
• Adição de colunas em qualquer uma das entidades.
• Caso típico de Adição de Colunas.
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:1
•Exemplo:
Joelson Carvalho dos ReisAnalista de Sistemas
Cardinalidade 1:1
Joelson Carvalho dos ReisAnalista de Sistemas
Resumo dos Mapeamentos de Relacionamentos
Joelson Carvalho dos ReisAnalista de Sistemas
Definição de TabelasRemoção de Tabelas
•1. Diga o que entende por Transformação Entidade-Relacionamento para Relacional.
•2. O banco precisa ser construído de forma relacionada, através do uso de CHAVES. As chaves têm variações e diferentes finalidades. Cite a principal delas.
•3. Defina chave primária.
•4. Defina chave composta.
•5. Defina chave estrangeira.
Joelson Carvalho dos ReisAnalista de Sistemas
Definição de TabelasRemoção de Tabelas
•6. Como se dá a implementação inicial das entidades.
•7. Quais as orientações sobre nomes de colunas?
•8. Quais as orientações para nome da coluna da chave primária?
•9. Quais as três alternativas para a implementação de relacionamentos?
•10. Explique a alternativa tabela própria para a implementação de relacionamentos.
Joelson Carvalho dos ReisAnalista de Sistemas
Definição de TabelasRemoção de Tabelas
•11. Explique a alternativa fusão de tabelas para aimplementação de relacionamentos.
•12. Explique a alternativa adição de colunas a umadas tabelas para a implementação derelacionamentos.
•13. Diga o que entende por atributo multi-valorado ecomo efetuar sua transformação para o modelorelacional.
•14. Explique o processo de transformação ERrelacional para relacionamentos N:N.
Joelson Carvalho dos ReisAnalista de Sistemas
Definição de TabelasRemoção de Tabelas
•15. Explique o processo de transformação ERrelacional para relacionamentos 1:N.
•16. Explique o processo de transformação ERrelacional para relacionamentos 1:1 onde umadas duas entidades é obrigatória.
•17. Explique o processo de transformação ERrelacional para relacionamentos 1:1 onde asduas entidades são obrigatórias.