Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.

Slides:



Advertisements
Apresentações semelhantes
Ana Paula B. Barboza Ivana Xavier Rodrigues
Advertisements

O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Object Query Language - OQL
Banco de Dados Prof. Antonio.
SQL Renata Viegas.
SQL Structured Query Language (continuação)
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados SQL TRIGGERS (Gatilhos)
Capítulo 28 Acessando bancos de dados com o JDBC
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Introdução a Bancos de Dados
Introdução à Engenharia da Computação
Linguagem de Banco de Dados - SQL
Linguagem de Banco de Dados - SQL
Banco de Dados Aplicado ao Desenvolvimento de Software
Banco de dados Profª Kelly Medeiros.
Design Patterns / Acesso ao banco de dados (java.sql)
Tipos de Linguagens do Banco de Dados
(Linguagem de Consulta Estruturada)
Desenvolvendo um script SQL
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Banco de dados.
Baseado no material do Professor Raul Paradeda
A abordagem de banco de dados para gerenciamento de dados
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
Banco de Dados I I Comandos SQL
Linguagem SQL Prof. Juliano.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
Conceitos básicos Professor Esp. Diego André Sant’Ana
Professor Me. Jeferson Bussula Pinheiro.
VBA – Visual Basic para Aplicativos
Linguagem de definição de dados - SQL
My drivers Podemos definir um driver como uma ponte de comunicação entre determinado dispositivo e a central de processamento de um computador. Na prática,
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
Tecnologias e Linguagens para Banco de Dados I - WEB Prof. João Ricardo Andrêo 29/5/ :40 1 Atividades: 1 - Criar uma base de dados para uma empresa.
José Antônio da cunha IFRN Administração de Banco de Dados.
1 Programação de Banco de Dados José Antônio da Cunha George Azevedo da Silva.
Como utilizar o SIGPP Tutorial. 1ª. Etapa: Cadastrar o Plano de Metas da Unidade.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Normalização.
Universidade Federal do Espírito Santo - UFES Laboratório de Computação de Alto Desempenho - LCAD Introdução ao Logisim Prof. Alberto F. De Souza LCAD/DI/UFES.
Glossário Autor: Skyup Informática. Atividade - Glossário A atividade glossário permite que o administrador crie páginas de definições, um dicionário.
Conhecendo o Tutorial support.ebsco.com. EBSCOhost é uma poderosa ferramenta de referência online que oferece uma variedade de bases de dados de texto.
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :17 1 Atividades: 1 – Descreva os tipos de dados existentes no Microsoft.
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :19 1 Respostas: 1. O que é um Sistema Gerenciador de Banco de Dados.
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Modelagem de Dados Aula 5.
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 2/6/ :46 1 TABELAS A TAG é utilizada para apresentação de dados no formato de tabelas (apresentação.
Dependência Funcional  Para entender as duas formas normais que serão apresentadas a seguir é necessário compreender o conceito de dependência funcional.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
Sistemas de Informação Prof. Me. Everton C. Tetila Dependências funcionais e normalização para bancos de dados relacionais Banco de Dados I.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
PHP + MYSQL. Mysql O MySQL é servidor de banco de dados multiusuário, multitarefa que trabalha com uma das linguagens de manipulação de dados mais popularizadas.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
Diagramas de Sequência e Comunicação
BANCO DE DADOS BASE DE DADOS – É UMA COLEÇÃO DE DADOS INTER- RELACIONADOS, REPRESENTANDO INFORMAÇÕES SOBRE UM DOMÍNIO ESPECÍFICO. EX.: LISTA TELEFONICA,
EDITOR DE PLANILHAS MICROSOFT EXCEL 2010
Organização de Arquivos e Indexação
Transcrição da apresentação:

Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na prática da engenharia reversa é a quarta forma normal (4FN).

Normalização (4FN) Para explicar a 4FN vamos utilizar um exemplo. Suponha que alguém tenha projetado um banco de dados relacional para o DER. Neste DER o relacionamento UTILIZAÇÃO indica que deseja-se manter a informação de que empregado usa que equipamento em que projeto.

Normalização (4FN) Caso seja projetado um banco de dados relacional para este exemplo, três tabelas servirão para implementar as entidades. Uma quarta tabela - Util (CodProj,CodEmp,CodEquip) servirá para implementar o relacionamento. Agora suponha que os requerimentos da aplicação tenham mudado.

Normalização (4FN) Agora deseja-se saber que equipamento é usado em que projeto (relacionamento Proj-Eq) e deseja-se saber que empregado está alocado a que projeto (relacionamento Proj_Emp).

Normalização (4FN) A informação de que equipamento é usado por qual empregado passa a ser uma informação derivada: um empregado pode usar todos equipamentos alocados aos projetos dos quais ele participa. Continuando o exemplo, supõe-se que o banco de dados projetado para o relacionamento ternário não tenha sido modificado, apesar da existência de novos requerimentos. Vamos verificar como ficaria o conteúdo da tabela UTILIZAÇÃO.

Normalização (4FN)

Normalização (4FN) A tabela, obviamente contém redundância de dados. Exemplificando, a informação de que os empregados {1,2,3} trabalham no projeto “1” está representada duas vezes na tabela. Isso ocorre, porque para cada equipamento usado no projeto é necessário informar todos seus empregados. A consequência é que também a informação de que equipamentos são usados em um projeto está armazenada redundantemente. Exemplificando, o fato do projeto “1” usar os equipamentos {1,2} está representada três vezes, já que o projeto conta com três empregados.

Normalização (4FN) Entretanto, se verificarmos a tabela contra as formas normais vistas até então, observa-se que: Está na 1FN por não conter tabelas aninhadas, está na 2FN por não possuir colunas não chave (as três colunas compõem a chave) e está na 3FN pela mesma razão. Para evitar este tipo de redundância de dados, é necessário considerar a quarta forma normal (4FN). Esta forma normal baseia-se no conceito de dependência funcional multi-valorada.

Normalização (4FN) Uma coluna ou conjunto de colunas depende multi-valoradamente de uma coluna (determinante) da mesma tabela quando um valor do atributo determinante identifica repetidas vezes um conjunto de valores na coluna dependente. No caso do exemplo, a coluna CodEmp depende multi-valoradamente da coluna CodProj, já que um valor de CodProj (por exemplo “1”) determina múltiplas vezes um conjunto de valores de CodEmp (no caso o conjunto de empregados do projeto, {1,2,3}, que aparece duas vezes).

Normalização (4FN)

Normalização (4FN) Para representar uma dependência funcional multi-valorada usa-se uma expressão semelhante a usada para representar dependências funcionais simples substituindo a seta simples por uma seta dupla. Na tabela UTILIZAÇÃO, há as seguintes dependências: CodProj → → CodEmp CodProj → → CodEquip Uma tabela está na 4FN caso, além de estar na 3FN, não possua mais que uma dependência funcional multi-valorada. Portanto, a tabela UTILIZAÇÃO não está na 4FN e deve ser decomposta em duas tabelas: ProjEmp (CodProj,CodEmp) ProjEquip (CodProj,CodEquip)

Normalização (4FN)

Normalização (4FN)

SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional).

SQL A instrução SELECT é usada para consultar o banco de dados e recuperar dados selecionados que correspondem aos critérios que você especificar. Aqui é o formato de uma instrução SELECT simples:

SQL Os nomes das colunas que seguem a palavra-chave select determinam quais colunas serão devolvidas nos resultados. Você pode selecionar tantos nomes das colunas que você gostaria, ou você pode usar um "*" para selecionar todas as colunas. A cláusula where (opcional) especifica quais valores de dados ou linhas serão devolvidas ou exibidas, com base nos critérios descritos após a palavra-chave where.

SQL (Where) Condições utilizadas na cláusula WHERE: = Igual > Maior que < Menor que >= Maior ou igual <= Menor ou igual LIKE

SQL (Like) A cláusula LIKE permite que você selecione apenas as linhas que são "como" o que você especificar. O sinal de porcentagem "%" pode ser usado como um curinga para corresponder a qualquer carácter possível que pode aparecer antes ou depois dos caracteres especificados.

SQL (Select) Esta instrução SQL irá corresponder a quaisquer primeiros nomes que começem com 'Er'. A String deve estar entre aspas simples. Ou você pode especificar, Esta declaração irá corresponder a todos os últimos nomes que terminam em um 's'.

SQL (Select) Essa instrução só irá selecionar linhas onde o primeiro nome é igual a 'Eric' exatamente.

SQL (Create) A instrução CREATE TABLE é usada para criar uma nova tabela. Abaixo segue o formato de uma simples declaração para criar uma tabela:

SQL (Create) Formato para criar tabela utilizando restrições opcionais:

SQL (Create) É possível ter tantas colunas como você gostaria, e as restrições são opcionais.

SQL (Insert) A instrução de inserção é usada para inserir ou adicionar uma linha de dados na tabela.

SQL (Insert) Para inserir registros em uma tabela, digite as palavras-chave insert into seguido do nome da tabela, seguido por um parêntese de abertura, seguida por uma lista de nomes de colunas separadas por vírgula, seguido por um parêntese de fechamento, seguido pelos valores de palavras-chave, seguido por a lista de valores entre parênteses.

SQL (Insert) Exemplo: Note que as Strings estão com aspas simples.

SQL (Update) A instrução update é usado para atualizar ou alterar os registros que correspondem a um critério específico. Isto é conseguido através da construção cuidadosamente uma cláusula where.

SQL (Update) Exemplos:

SQL (Delete) A instrução de exclusão é usada para excluir registros ou linhas da tabela.

SQL (Delete) Se você deixar de fora a cláusula where, todos os registros serão apagados!

SQL (Drop table) O comando drop table é usado para excluir uma tabela e todas as linhas na tabela. Para apagar uma tabela inteira, incluindo todas as suas linhas, deve-se emitir o comando drop table seguido do nome da tabela. Drop table é diferente de excluir todos os registros na tabela.

SQL (Drop table) Excluindo todos os registros na tabela você deixa a mesma, incluindo coluna e informações de restrição. A eliminação da tabela remove a definição da mesma, bem como todas as suas linhas.

SQL (Referência) http://www.sqlcourse.com/intro.html