Normalização Funcional de Dados

Documentos relacionados
Normalização Funcional de Dados

Introdução à modelação conceptual de classes

Linguagem SQL - Structured Query Language

Linguagem SQL - Structured Query Language

Linguagem SQL - Structured Query Language

Sistemas de Informação. Normalização Funcional de Dados aula 02

Introdução à modelação conceptual de classes

Ano: 2014 Banca: FCC Órgão: TJ-AP Prova: Analista Judiciário - Área Apoio Especializado - Tecnologia da Informação

Modelo Entidade-Relacionamento (E-R)

2010 Diagrama Entidade - Associação

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

4. Projecto de Bases de Dados. Normalização Funcional de Dados para Concepção de Bases de Dados Relacionais

Técnicas de Modelação de Dados

Parte I (correspondente à matéria do 1º teste)

Bases de Dados 2006/2007 Exame

Cadeira de Tecnologias de Informação. Ano lectivo 2008/09. de Tabelas

Banco de Dados Modelagem e Normalização

Objetivos:

Recurso Didáctico. Dossier Técnico Pedagógico Projecto: 5742/2008/22 Acção: 5742/2008/

Banco de Dados Introdução. Profa.Ms.Denise Neves

NORMALIZAÇÃO DE BASE DE DADOS

Uma base de dados está num estado de integridade se contém apenas dados válidos. Os dados armazenados devem estar de acordo com a realidade

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

SQL Structured Query Language

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Normalização. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

Fundamentos de Bancos de Dados 3 a Prova

Informática I. Aula 8. Aula 8-25/09/2006 1

NORMALIZAÇÃO. Adão de Melo Neto

Análise de Sistemas de Informação

Modelo Relacional e Normalização de Dados. ENG1518/3VC Sistemas de Informação Gerenciais Prof. Marcos Villas

Cadeira de Tecnologias de Informação. Normalização Relacional

Banco de Dados Modelagem e Normalização

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Bases de Dados 2008/2009

INF1383 -Bancos de Dados

conteúdos. bases de dados, SGBD e aplicações. conceitos. modelo relacional (DER) conceitos

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

Modelo Entidade Relacionamento Estendido (ERE)

Prova de Fundamentos de Bancos de Dados 2003/1 Prova 1

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta.

1FN: os atributos de uma relação têm que ser atómicos. FNBC: para qualquer dependência funcional α β numa relação, ou α β é trivial ou α é super-chave

Disciplina: Banco de Dados I Professora: Ms. Márcia Jani. Trabalho de BD1

ENGENHARIA REVERSA DE ARQUIVOS

Normalização de BD 19:08:54. Fundamentos de Banco de Dados - Normalização 1

Normalização para Bancos de Dados Relacionais

Parte NORMALIZAÇÃO. As regras mais importantes oferecidas pelo Sistema Gerenciador de Banco de Dados. são:

Normalização para Bancos de Dados Relacionais

Prova de Fundamentos de Bancos de Dados 1 a Prova

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Banco de dados. Prof. Alexandre

Bases de Dados. Exame de 2 a Época. Identifique todas as folhas. Responda a cada grupo nas páginas respectivas do grupo. Exame sem consulta.

Informática II Cap. 5-2 Bases de Dados - MsAccess

Normalização: Noções Básicas

Bases de Dados. Normalização. Formas Normais. 1FN : atomicidade dos atributos. 2FN : proíbe dependência parcial de chaves

Planificação Anual. Departamento Expressões e Tecnologias

Das Folhas de Cálculo às Bases de Dados Relacionais

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Revisão de Bancos de Dados

Manuais Escolares Adotados

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9

Banco de Dados Aula 02

Algumas Notas sobre Queries em Access 2007

Manuais Escolares Adotados

Linguagem SQL Comando SELECT Agrupamento de Resultados

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional

Conceitos Básicos de modelagem de dados Modelo conceitual Modelo Lógico Modelo Físico

SCC Algoritmos e Estruturas de Dados II Profa. Cristina Oliveira. Terceiro Trabalho Prático Árvores B. Prazo máximo: 23:55h de 05/07/2012

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Relações binárias. Relações binárias. Discrete Mathematics with Graph Theory Edgar Goodaire e Michael Parmenter, 3rd ed 2006.

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

Bases de Dados 2007/2008 Exame

Revisando Banco de Dados. Modelo Relacional

Dependências funcionais e normalização

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Figura 1. Figura 2. Prova Escrita de Base de Dados 5 Novembro V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos)

Introdução às Bases de Dados

. Um modelo que represente fielmente a realidade. Um modelo capaz de responder às funcionalidades que se pretendem

Fundamentos de Bancos de Dados Prova 3

Tecnologia de Bases de Dados. Apontamentos sobre Normalização

Base de Dados. Base de Dados. O diagrama Entidade - Relacionamento Setembro, Msc Célio B. sengo. Ano Lectivo 2013

26/03/2012. É uma restrição entre dois conjuntos de atributos do banco de dados. Definição formal: Significa que: Exemplos

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

P R O J E T A N D O U M B A N C O D E D A D O S L O G I C A M E N T E P R O F. : A N D R É L U I Z M O N T E V E C C H I

Abordagem relacional. Capítulo 4

NORMALIZAÇÃO. Quantidade do Produto. Produto

Modelo de Dados Wendel Melo

Administração e Optimização de BDs

Até agora fizemos a análise dos dados, isto é, estudamos as propriedades dos

FUNÇÕES. Correspondências. Definição de função. Antes de começar

PROJETO: CONFERÊNCIA ACADÊMICA. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

Transcrição:

Normalização Funcional de Dados Alguns casos práticos: CP Trabalhadores das Empresas 1

Pretende-se armazenar a informação relativa a uma época do campeonato de Fórmula 1. De cada marca participante no campeonato pretende-se armazenar o seu nome, país de origem, nº actual de pontos no campeonato de marcas e quais os carros inscritos. De cada carro interessa saber o seu peso, potência e velocidade máxima. Relativamente aos pilotos participantes é necessário conhecer o seu nome, morada, idade, nacionalidade e nº actual de pontos no campeonato de pilotos. Um piloto só pode conduzir um carro ao longo da época, embora um determinado carro possa ser conduzido por mais de um piloto. Esta situação, embora não muito frequente, pode surgir, por exemplo, devido ao afastamento de um piloto ferido num acidente. Cada época é constituída por um conjunto de corridas que se realizam em circuitos e em datas definidas no início da época. Para uma determinada corrida pode, ao longo da época e por razões várias, ser alterado o circuito onde esta se realiza. Em situações excepcionais pode acontecer também a realização de duas corridas no mesmo circuito. De cada circuito pretendese saber o nome, local, país, nº de voltas e perímetro. No que diz respeito à realização de uma corrida interessa saber quais os pilotos que participaram, as posições que ocuparam na grelha de partida e a classificação final. Relativamente à corrida interessa também saber quais os pilotos que desistiram, em que volta ocorreu e qual o motivo da desistência. 2

Marca nome país nºpontos Carro nºcarro peso potência velocidademáxima Piloto nome morada idade nacionalidade nºpontos posiçãogrelha classificaçãofinal nºvolta motivodesistência Circuito nome local país nºvoltas perímetro data Corrida 3

1ª Forma Normal Uma relação está em primeira forma normal (1FN) se e só se todos os domínios utilizados contêm valores atómicos. Classificação nome_marca país_origem pontuação_marca num_carro peso_carro potência_carro vel_max nome_piloto morada_piloto idade_piloto nacionalidade_piloto pontuação_piloto nome_circuito local_circuito país_circuito num_voltas_circuito perímetro nome_corrida data posição_grelha classificação motivo_desistência num_voltas_realizadas

2ª Forma Normal Uma relação está em segunda forma normal (2FN) se e só se está em 1FN e cada atributo que não faça parte da chave primária seja funcionalmente dependente da chave primária. Piloto nome_piloto morada_piloto idade_piloto nacionalidade_piloto pontuação_piloto nome_marca país_origem pontuação_marca num_carro peso_carro potência_carro vel_max Corrida nome_corrida data nome_circuito local_circuito país_circuito num_voltas_circuito perímetro Classificação nome_piloto nome_corrida posição_grelha classificação motivo_desistência num_voltas_realizadas

3ª Forma Normal Uma relação está em terceira forma normal (3FN) se e só se está em 2FN e cada atributo que não faça parte da chave primária seja funcionalmente dependente da chave primária directamente (isto é, não seja dependente transitivamente). Piloto nome_piloto morada_piloto idade_piloto nacionalidade_piloto pontuação_piloto num_carro Carro Marca Corrida Circuito Classificação num_carro peso_carro potência_carro vel_max nome_marca nome_marca país_origem pontuação_marca nome_corrida data nome_circuito nome_circuito local_circuito país_circuito num_voltas_circuito perímetro nome_piloto nome_corrida posição_grelha classificação motivo_desistência num_voltas_realizadas

(Diagrama de Dependências Funcionais) morada_piloto peso_carro idade_piloto num_carro pontuação_piloto potência_carro vel_max nome_marca país_origem pontuação_marca nome_piloto nome_corrida nacionalidade_piloto classificação posição_grelha motivo_desistência perímetro num_voltas_realizadas país_circuito num_voltas_circuito nome_circuito local_circuito 7

Sabendo que existem 11 equipas, 22 carros, 28 pilotos, 16 corridas e 16 circuitos e ainda que em cada corrida participam exactamente 22 pilotos, estime o espaço ocupado pelas tabelas na 1ª, 2ª e 3ª formas normais. Admita que o espaço ocupado por cada atributo é de 4 bytes para os atributos numéricos e para as datas e de 30 bytes para os atributos texto. 1ª Forma Normal EspaçoOcupado = 22x16x(30+30+4+4+4+4+4+30+30+4+30+4+30+30+30+4+4+30+4+4+4+30+4) = 22x16x352 = 123 904 bytes 2ª Forma Normal EspaçoOcupado = 28x(30+30+4+30+4+30+30+4+4+4+4+4) + 16x(30+4+30+30+30+4+4) + + 22x16x(30+30+4+4+30+4) = 28x178 + 16x132 + 22x16x102 = 52 968 bytes 3ª Forma Normal EspaçoOcupado = 28x(30+30+4+30+4+4) + 22x(4+4+4+4+30) + 11x(30+30+4) + 16x(30+4+30) + 16x(30+30+30+4+4) + 22x16x(30+30+4+4+30+4) = 28x102 + 22x46 + 11x64 + 16x64 + 16x98 + 22x16x102 = 43 068 bytes 8

O Comando SELECT da Linguagem SQL (forma mais simples) SELECT lista_de_campos FROM lista_de_tabelas [WHERE lista_de_condições] EXEMPLO: Seleccionar o nome de todos os pilotos alemães SELECT nome_piloto FROM piloto WHERE nacionalidade_piloto= Alemanha ; 9

Usando a linguagem SQL diga qual a classificação final de Michael Schumacher no circuito de Monte Carlo utilizando para tal, as tabelas na 1ª, 2ª e 3ª Forma Normal. 1ª Forma Normal SELECT classificação FROM Classificação WHERE nome_piloto = Michael Schumacher AND nome_circuito = Monte Carlo ; 2ª Forma Normal SELECT classificação FROM Classificação, Corrida WHERE nome_piloto = Michael Schumacher AND nome_circuito = Monte Carlo AND Classificação.nome_corrida = Corrida.nome_corrida; 3ª Forma Normal SELECT classificação FROM Classificação, Corrida WHERE nome_piloto = Michael Schumacher AND nome_circuito = Monte Carlo AND Classificação.nome_corrida = Corrida.nome_corrida; 10

Considere uma relação R com o esquema relacional R(A,B,C,D,E,F,G,H,I,J) e as seguintes dependências funcionais: {I -> B, B -> D, DC -> E, A -> F, G -> H, AG -> I, AG -> J} a) Identifique a chave primária da relação R. b) Identifique os atributos desta relação R em que pode existir informação redundante ou repetida, antes de iniciar o processo de normalização. c) Obtenha um conjunto de relações em terceira forma normal, explicando todos os passos. a) F A I B D H G J C E A chave primária da relação R é {(A,G,C)} b) B, D, E, F, H, I, J c) R1(I -> B), R2(B -> D), R3(DC -> E), R4(A -> F), R5(G -> H), R6(AG -> IJ) 11

CP A CP utiliza a seguinte tabela para registar a informação relativa às viagens efectuadas pelos comboios alfa: #Viagem data Partida Chegada NºCarruagem Lugar Fumador? Reservado? 1 3/6/98 Braga Lisboa 3 2 Sim Sim 1 3/6/98 Braga Lisboa 3 52 Não Sim 2 4/6/98 Lisboa Porto 3 2 Nao Não 2 4/6/98 Lisboa Porto 3 52 Não Sim 2 4/6/98 Lisboa Porto 4 2 Não Não 2 4/6/98 Lisboa Porto 4 4 Não Não 2 4/6/98 Lisboa Porto 4 5 Não Não 3 4/6/98 Braga Lisboa 3 2 Sim Não 3 4/6/98 Braga Lisboa 3 4 Sim Não 3 4/6/98 Braga Lisboa 3 52 Não Sim 3 4/6/98 Braga Lisboa 4 2 Não Não 3 4/6/98 Braga Lisboa 4 4 Não Sim Indique qual a chave primária da tabela acima apresentada. Normalize a tabela (3 FN). Indique, para cada tabela que utilizar, qual a chave primária e quais as chaves estrangeiras. 12

CP Chave primária da tabela apresentada: (#Viagem, NºCarruagem, Lugar). Viagem #Viagem Data Partida Chegada Carruagens #Viagem NºCarruagem Chave estrangeira: #Viagem Lugares #Viagem NºCarruagem Lugar Fumador? Reservado? Chaves estrangeiras: #Viagem e (#Viagem, Nº Carruagem) 13

Trabalhadores das empresas Um empresário utiliza a seguinte tabela para registar informação referente aos trabalhadores das empresas de que é proprietário: #Empresa Nome Empresa #Dep. Nome Departamento #Trab. Nome Trabalhador 1,2 ACT, Biesa 1 Comercial 1 Abel Silva 2 Biesa 3 Pessoal 4 Carlos Ferreira 4 TolMar 2 Aprovisionamento 6 Eduarda Matos 3 TriCor 4 Informática 5 Gil Gonçalves 3 TriCor 4 Informática 2 Helena Pereira 2,4 Biesa, TolMar 4 Informática 3 Isabel Matias 2 Biesa 3 Pessoal 10 José Coelho 1 ACT 1 Comercial 9 Luís Amaral 1,3 ACT, TriCor 2 Aprovisionamento 7 Natércia Leal 4 TolMar 3 Pessoal 12 Olga Santos 4 TolMar 2 Aprovisionamento 8 Paula Lemos 3 TriCor 1 Comercial 11 Rui Almeida Indique qual a chave primária da tabela acima apresentada. Normalize a tabela (3 FN). Indique, para cada tabela que utilizar, qual a chave primária e quais as chaves estrangeiras. 14

Trabalhadores das empresas Chave primária da tabela apresentada: #Trab Trabalhador #Trab Nome Trabalhador #Dep Chave estrangeira: #Dep Departamento Empresa LocaisDeTrabalho #Dep Nome Departamento #Empresa Nome Empresa #Trab #Empresa Chaves estrangeiras: #Trab, #Empresa DepartamentosDasEmpresas #Dep #Empresa Chaves estrangeiras: #Dep, #Empresa 15