Conceito de Chave Composta

Slides:



Advertisements
Apresentações semelhantes
Exercícios Resolvidos
Advertisements

Modelo Relacional e Transformação DER x Relacional
Um pouco mais de cardinalidade e Relacionamentos
Normalização em BD Relacional
Motivação para listas duplamente encadeadas e circulares
SISTEMAS DE INFORMAÇÃO
Administração de Marketing 1
Normalização de Dados Profa. Dra. Marilde Santos
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
NORMALIZAÇÃO Unidade: Sistemas de Gestão de Base de Dados
DESENHO de BASE de DADOS RELACIONAL
Normalização.
Prof.: Bruno Rafael de Oliveira Rodrigues
NUTRIÇÃO NOS CICLOS DA VIDA
NUTRIÇÃO NOS CICLOS DA VIDA
Sistemas de Informação Redes de Computadores
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
UNIVERSIDADE FEDERAL DE SANTA MARIA Disciplina:
Modelo Relacional Professor Edson Emílio Scalabrin telefone: 0xx download:
Sistema Gerenciador de Banco de Dados SGBD
Modelo de Dados Professores Edson E. Scalabrin Marcos A. H. Shmeil telefone: 0xx {scalabrin, download:
Introdução a Bancos de Dados
Universidade Federal de Santa Catarina
UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE
Estatística Básica Utilizando o Excel
SCC Bancos de Dados e Suas Aplicações
(Dependência Funcional e Normalização)
Processo de Normalização
Profa Msc. Patricia Blini Estivalete
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Banco de Dados Aplicado ao Desenvolvimento de Software
Monitoria GDI Aula Prática
Campus de Caraguatatuba
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Módulo Financeiro Centro de Custo.
UNIDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS DE ANÁPOLIS - UEG
Normalização Disciplina: Banco de dados II.
SQL Server 2012 Introdução a Modelagem de Dados
Normalização de Dados. 2 SGBD + Banco de Dados Independência de dados Consistência de dados.
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
EXERCÍCIOS PARA GUARDA-REDES
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
Curso Técnico em Informática Prof. Tales Cabral Colégio da Imaculada.
Normalização Normalização é o conjunto de regras que visa minimizar as anomalias de modificação dos dados e dar maior flexibilidade em sua utilização.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Ceça Moraes – Introdução à Programação SI1
Rio Verde - Goiás - Brasil
Professor: Pedro Lopes
Análise de Sistemas de Informação
FORMATANDO O TRABALHO NO WORD 2007
Curso Técnico em Informática
CALENDÁRIO 2013 MÓDULO II.
Prof. Christiano Lima Santos
Banco de Dados Aplicado ao Desenvolvimento de Software
Planilha Eletrônica - Excel
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Bases de dados: cruzamento de tabelas
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Modelagem de Dados Consiste em mapear o mundo real do sistema em um modelo que irá representar a realidade e o relacionamento existente entre os dados.
@ Rafael Machado – ACCESS Base de Dados para a Gestão de Informação de Natureza Pedagógica.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Normalização Prof. Juliano. 2 Consistência de Dados Controlar a construção do sistema através da criação de tabelas segundo regras que garantam a manutenção.
Normalização.
Anomalias de Inserção, Remoção e Atualização
Base de Dados Departamento de Informática – Celio Sengo Base de Dados Normalização do DEA e do Modelo Relacional Dr. Célio B. sengo Novembro, 2013.
Transcrição da apresentação:

Conceito de Chave Composta Combinação de dois ou mais campos que têm altas chances de serem chaves: Aluno Disciplina Matr Nome Endereco 15315 Judson 11239 Angelica 24217 Amanda Codigo Nome Carga_Horaria A-100 POO 22 B-100 ED 35 C-100 Compiladores 65 Matricula Matr_Aluno Codigo_Disciplina Data_Matricula 15315 A-100 12/03/2010 11239 B-100 24217 C-100

Normalização Profa. Angélica Félix de Castro

Consistência de Dados Controlar a construção do sistema através da criação de tabelas segundo regras que garantam a manutenção de certas propriedades. As tabelas que atendem a um determinado conjunto de regras, diz-se estarem em uma determinada forma normal.

Normalização Processo de definir o formato lógico adequado para as estruturas de dados Objetivo de minimizar o espaço utilizado pelos dados e garantir a integridade e confiabilidade das informações Evita redundância Possibilita maior desempenho do BD A normalização é feita, através da análise dos dados que compõem as estruturas utilizando o conceito chamado "Formas Normais (FN)".

Normalização As FN são conjuntos de restrições nos quais os dados devem satisfazê-las. Exemplo: pode-se dizer que a estrutura está na primeira forma normal (1FN), se os dados que a compõem satisfizerem as restrições definidas para esta etapa. A normalização completa dos dados é feita, seguindo as restrições das três formas normais existentes, sendo que a passagem de uma FN para outra é feita tendo como base o resultado obtido na etapa anterior, ou seja, na FN anterior. Para realizar a normalização dos dados, é primordial que seja definido um campo chave para a estrutura, campo este que permite irá identificar os demais campos da estrutura. Formas Normais existentes:

Primeira Forma Normal Consiste em retirar da estrutura os elementos repetitivos, ou seja, aqueles dados que podem compor uma estrutura de vetor. Podemos afirmar que uma estrutura está normalizada na 1FN, se não possuir elementos repetitivos.

Primeira Forma Normal Estrutura original: Tabela Projetos (Cod_Proj, Tipo, Descricao, Empresa (onde para cada Empresa temos: Id_Emp, Nome, Categoria, Salario, data_inicio) Analisando a estrutura acima, observamos que existem várias empresas no campo Empresa, sendo portanto elementos repetitivos que deverão ser retirados.

Cod_Proj* Tipo Descricao Empresa Cod_Emp Nome Categoria Salario Data_inicio LSC001 RH Sistema RH 2191 Maria A1 4.000,00 01/05/2003 4112 João B1 9.000,00 04/01/2001 6126 José 1/11/2002 PAG004 Est Estoque 01/07/2007

Primeira Forma Normal Estrutura na primeira forma normal (1FN): Duas tabelas: Projeto e Projeto_Empregado, onde a segunda tabela (Projeto_Empregado) tem que possuir uma chave estrangeira vinda da primeira tabela (Projeto).

Cod_Proj* Tipo Descricao Empresa Cod_Emp Nome Categoria Salario Data_inicio LSC001 RH Sistema RH 2191 Maria A1 4.000,00 01/05/2003 4112 João B1 9.000,00 04/01/2001 6126 José 1/11/2002 PAG004 Est Estoque 01/07/2007

Projeto Cod_Proj* Tipo Descricao LSC001 RH Sistema RH PAG004 Est Estoque Projeto_Empregado Cod_Proj* Cod_Emp* Nome Categoria Salario Data_inicio LSC001 2191 Maria A1 4.000,00 01/05/2003 4112 João B1 9.000,00 04/01/2001 6126 José 1/11/2002 PAG004 01/07/2007

Uma relação está na 2FN se, e somente se: Segunda Forma Normal Uma relação está na 2FN se, e somente se: Estiver na 1FN entidades que tem chaves compostas, os campos não-chave precisam depender de toda a chave. Se algum campo depende apenas de parte da chave, então é necessário desmembrá-lo

Tabela Projeto_Empregado Dependência Parcial Cod_Proj* Cod_Emp* Nome Categoria Salario Data_inicio LSC001 2191 Maria A1 4.000,00 01/05/2003 4112 João B1 9.000,00 04/01/2001 6126 José 1/11/2002 PAG004 01/07/2007

Segunda Forma Normal: Duas novas tabelas: Cod_Proj* Cod_Emp* Nome Categoria Salario Data_inicio LSC001 2191 Maria A1 4.000,00 01/05/2003 4112 João B1 9.000,00 04/01/2001 6126 José 1/11/2002 PAG004 01/07/2007 Da 1 FN: Projeto (Cod_Proj, Tipo, Descricao) Da 2 FN: Projeto_empregado (Cod_Proj, Cod_Empr, Data_inicio) Da 2 FN: Empregado (Cod_Emp, Nome, Categoria, Salario)

Uma tabela está na 3FN, se e somente se: Terceira Forma Normal Uma tabela está na 3FN, se e somente se: Estiver na 2FN se os campos não-chave são dependentes de outro campo não-chave, é necessário desmembrar em outra entidade

Tabela Empregado: Dependência Transitiva Cod_Emp* Nome Categoria Salario 2191 Maria A1 4.000,00 4112 João B1 9.000,00 6126 José

Terceira Forma Normal: Duas novas tabelas: Cod_Emp* Nome Categoria Salario 2191 Maria A1 4.000,00 4112 João B1 9.000,00 6126 José Da 1 FN: Projeto (Cod_Proj, Tipo, Descricao) Da 2 FN: Projeto_empregado (Cod_Proj, Cod_Empr, Data_inicio) Da 3 FN: Empregado (Cod_Emp, Nome, Categoria) Da 3 FN: Categoria (Categoria, Salario)

Tabela Inicial X Normalização Cod_Proj* Tipo Descricao Empresa Cod_Emp Nome Categoria Salario Data_inicio LSC001 RH Sistema RH 2191 Maria A1 4.000,00 01/05/2003 4112 João B1 9.000,00 04/01/2001 6126 José 1/11/2002 PAG004 Est Estoque 01/07/2007 Da 1 FN: Projeto (Cod_Proj, Tipo, Descricao) Da 2 FN: Projeto_empregado (Cod_Proj, Cod_Empr, Data_inicio) Da 3 FN: Empregado (Cod_Emp, Nome, Categoria) Da 3 FN: Categoria (Categoria, Salario)

Mais exemplos de Normalização...

Formas Normais Primeira Forma Normal Uma relação está na 1a. forma normal quando todos os seus atributos são atômicos-monovalorados (não permite tabelas aninhadas).

Formas Normais Primeira Forma Normal Atributos multivalorados Telefone Nome Idade DataNasc Quantos números de telefone?

Formas Normais Primeira Forma Normal Atributos multivalorados Se forem 3 números Telefone Nome Idade DataNasc Nome Idade DataNasc fone1 fone2 fone3

Formas Normais Primeira Forma Normal Se forem muitos números Atributos multivalorados Telefone Nome Idade DataNasc Nome Idade DataNasc Nome Telefone

Formas Normais Segunda Forma Normal Uma relação está na 2a. forma normal quando: está na 1a. F.N. e; entidades que tem chaves compostas, os campos não-chave precisam depender de toda a chave. Se algum campo depende apenas de parte da chave, então é necessário desmembrá-lo

Formas Normais Segunda Forma Normal Número turma Sigla Sala Número -Horas Número, Sigla  Sala, Número-Horas Sigla  Número-Horas

Formas Normais Segunda Forma Normal Número turma Sigla Sala Número -Horas Número turma Sigla Sala Sigla Número-Horas

Formas Normais Segunda Forma Normal Evita: Inconsistências devido a duplicidade de informações Perda de dados em operações de remoções / alteração na relação

Segunda Forma Normal Valores Inconsistentes Sigla  Número-Horas Número turma Sigla Horário Número-Horas 1 DC122 10:00 2 2 DC122 14:00 2 1 DC189 8:00 3 2 DC189 4 15:00 Valores Inconsistentes 1 DC134 16:00 2 Número,Sigla  Horário, Número-Horas Sigla  Número-Horas

Segunda Forma Normal Se não houver turmas de uma Número turma Sigla Horário Número-Horas 1 DC122 10:00 2 2 DC122 14:00 2 1 DC189 8:00 3 2 DC189 4 15:00 Se não houver turmas de uma determinada disciplina em um semestre, perde-se a informação sobre o Número de Horas!!! 1 DC134 16:00 2

Formas Normais Terceira Forma Normal Uma relação está na 3a. Forma normal quando: Está na 2a. F.N. e; se os campos não-chave são dependentes de outro campo não-chave, é necessário desmembrar em outra entidade.

Formas Normais Terceira Forma Normal Número Prédio Sigla Sala Número, Sigla  Sala Sala  Prédio

Formas Normais Terceira Forma Normal Número Prédio Sigla Sala Número, Sigla  Sala Sala  Prédio Número Sigla Sala Sala Prédio

Valores Inconsistentes!!!!! Terceira Forma Normal Número Sigla Prédio Sala DC102 1 2 3 4 12 E1 C2 DC155 DC104 Número, Sigla  Sala Sala  Prédio Valores Inconsistentes!!!!!

Terceira Forma Normal Se não houver aula em uma determinada sala nesse Número Sigla Prédio Sala DC102 1 2 3 4 12 E1 C2 DC155 DC104 Se não houver aula em uma determinada sala nesse semestre perde-se a informação sobre qual prédio contém a tal sala.

Vamos tentar praticar um pouco...

 Esta tabela não está na 1FN! O que é preciso fazer?

Uma possível tabela, com a respectiva chave primária: Alunos-Disciplinas (IdAluno, Nome, Morada, IdDisciplina, Disciplina, IdProfessor, Professor)

 Segunda Forma Normal (2FN) A tabela: Alunos-Disciplinas (IdAluno, Nome, Morada, IdDisciplina, Disciplina, IdProfessor, Professor) não está na 2FN, pois os atributos: Nome e Morada dependem de parte da chave primária (IdAluno), Disciplina, IdProfessor e Professor, que depende de outra parte da chave primária (IdDisciplina). Tabelas na 2FN: Alunos (IdAluno, Nome, Morada) Alunos-Disciplinas (IdAluno, IdDisciplina) Disciplinas (IdDisciplina, Disciplina, IdProfessor, Professor)

É necessário verificar, tabela a tabela:  Terceira Forma Normal (3FN) Uma tabela está na terceira forma normal (3FN) quando estiver na 2FN e nenhum atributo que não seja parte da chave primária depender funcionalmente de outros atributos que não sejam parte da chave primária. É necessário verificar, tabela a tabela: As tabelas seguintes já estão na 3FN: Alunos-Disciplinas (IdAluno, IdDisciplina) Alunos (IdAluno, Nome) A tabela seguinte não está na 3FN Disciplinas (IdDisciplina, Disciplina, IdProfessor, Professor) pois o atributo Professor depende funcionalmente de IdProfessor que não é um atributo que faça parte da chave primária.

Desta forma, obtemos as seguintes tabelas normalizadas (3FN):  Terceira Forma Normal (3FN) Desta forma, obtemos as seguintes tabelas normalizadas (3FN): Alunos-Disciplinas (IdAluno, IdDisciplina) Alunos (IdAluno, Nome) Disciplinas (IdDisciplina, Disciplina, IdProfessor) Professores (IdProfessor, Professor)