CETEP São Francisco Curso Técnico em Informática...

38
CETEP – São Francisco Curso Técnico em Informática Disciplina: Banco de Dados Prof. Joelson Carvalho dos Reis Analista de Sistemas

Transcript of CETEP São Francisco Curso Técnico em Informática...

Page 1: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

CETEP – São FranciscoCurso Técnico em Informática

Disciplina: Banco de Dados

Prof. Joelson Carvalho dos Reis

Analista de Sistemas

Page 2: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

Disciplina: Banco de Dados

Aula 05:Cardinalidades

Prof. Joelson Carvalho dos Reis

Analista de Sistemas

Page 3: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 4: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• Visão geral do projeto lógico:

Joelson Carvalho dos ReisAnalista de Sistemas

Transformação entre Modelos

Page 5: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•É 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

Page 6: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 7: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 8: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 9: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 10: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 11: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 12: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 13: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 14: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 15: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 16: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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)

Page 17: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 18: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 19: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•Exemplo:

Joelson Carvalho dos ReisAnalista de Sistemas

Atributos Multi-valorados

aluno (id, nome, peso, rg)

email (id, email, idAluno)

idAluno REFERENCIA Aluno

Page 20: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 21: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 22: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•Exemplo:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade N:N

Page 23: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•Exemplo:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade N:N

Page 24: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 25: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade 1:N

•Exemplo:

Page 26: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade 1:N

•Exemplo:

Curso (id, nome, cargaHoraria)

Aluno (id, nome, rg, idCurso)

idCurso REFERENCIA Curso

Page 27: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade 1:N

•Exemplo:

Curso (id, nome, cargaHoraria)Aluno (id, nome, peso, rg, idCurso, dataHora)IdCurso REFERENCIA Curso

Page 28: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•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

Page 29: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade 1:1

Exemplo:

Page 30: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 31: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•Exemplo:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade 1:1

Page 32: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

• 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

Page 33: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

•Exemplo:

Joelson Carvalho dos ReisAnalista de Sistemas

Cardinalidade 1:1

Page 34: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

Joelson Carvalho dos ReisAnalista de Sistemas

Resumo dos Mapeamentos de Relacionamentos

Page 35: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

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.

Page 36: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

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.

Page 37: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

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.

Page 38: CETEP São Francisco Curso Técnico em Informática ...joelsoncarvalho.000webhostapp.com/arquivos/bd/aula04.pdf · CETEP –São Francisco Curso Técnico em Informática Disciplina:

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.