92
BANCO DE DADOS Conceitos: Banco de Dados ou Base de Dados / Database é uma coleção de informações organizadas. É um conjunto de informações inter- relacionadas.

BANCO DE DADOS

Embed Size (px)

Citation preview

Page 1: BANCO DE DADOS

BANCO DE DADOS

• Conceitos:

– Banco de Dados ou Base de Dados / Database é uma coleção de informações organizadas.

– É um conjunto de informações inter-relacionadas.

Page 2: BANCO DE DADOS

BANCO DE DADOS

– É um conjunto de tabelas - dicionário / usuário, tratadas

como uma unidade, podendo conter vários bancos de dados individuais, cada um com seu próprio nome.

– Em um sistema baseado em computador, os dados são armazenados em discos e acessados através de programas.

Page 3: BANCO DE DADOS

BANCO DE DADOS

• Vantagens de um Banco de Dados:

– A alteração e a recuperação dos dados é mais rápida.

– Os dados / informações ocupam menos espaço para serem armazenadas.

– Muitos usuários podem compartilhar as mesmas informações ao mesmo tempo.

Page 4: BANCO DE DADOS

BANCO DE DADOS

– A redundância de dados é minimizada.

– Inconsistências podem ser evitadas.

– Padrões podem ser estabelecidos.

– Níveis de segurança podem ser implementados.

Page 5: BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS

• SGBD:

– DBMS: Database Management System.

– Sistema Gerenciador de Banco de Dados, são

programas responsáveis pelo controle de acesso dos

usuários à base de dados, bem como pelo controle do

armazenamento, alteração e recuperação dos dados.

Page 6: BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS

– O SGBD garante a independência física / lógica dos dados, em relação aos programas que os manipulam.

– É a interface entre as bases de dados e os usuários que as manipulam através de seus programas de aplicação.

Page 7: BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS

– Um SGBD oferece os seguintes serviços:

• Definição dos dados.

• Manutenção dos dados.

• Manipulação dos dados.

• Apresentação dos dados.

• Integridade dos dados.

Page 8: BANCO DE DADOS

BANCO DE DADOS RELACIONAL

• Conceitos:

– Um Banco de Dados Relacional pode ser definido como sendo um conjunto de Tabelas de duas dimensões: linhas / colunas, tratadas como uma unidade.

– Os dados são organizados em conjuntos matemáticos lógicos de uma estrutura tabular.

Page 9: BANCO DE DADOS

BANCO DE DADOS RELACIONAL

– Em um Banco de Dados Relacional, cada campo de dados pertence a uma coluna e cada registro, a uma linha de uma Tabela.

– A principal função do projetista de um Banco de Dados Relacional é fazer a definição das Tabelas, decidindo por quais colunas elas se relacionarão.

Page 10: BANCO DE DADOS

CONCEITOS RELACIONAIS

• Tabelas / Tables:

– São as unidades básicas de um SGBD Relacional.

– Uma Tabela, em um Sistema de Bancos de Dados Relacional, é um conjunto de linhas e colunas, no qual os valores de dados são inseridos.

Page 11: BANCO DE DADOS

CONCEITOS RELACIONAIS

• Colunas:

– Um nome único na Tabela, informado para representar os valores de dados inseridos sob a mesma.

– Podem ser consideradas como representação dos campos de um arquivo.

– São ordenadas da esquerda para a direita.

Page 12: BANCO DE DADOS

CONCEITOS RELACIONAIS

• Linhas / Tuplas:

– Linhas podem ser vistas como a representação dos registros de um arquivo.

– Cada Linha de uma Tabela possui apenas um valor para cada coluna da mesma.

– Todas as Linhas de uma Tabela devem ter o mesmo número de colunas.

– Não podem existir linhas idênticas em seus conteúdos de dados.

Page 13: BANCO DE DADOS

CONCEITOS RELACIONAIS

• Tabelas Virtuais / Visões / Views:

– Uma Tabela Virtual ou uma Visão / View, é uma Tabela que não existe fisicamente na Base de Dados, embora seus dados sejam recuperados de Tabelas existentes no Banco de Dados.

– São tabelas lógicas derivadas.

– As definições dos endereços de dados: quais as colunas e de que tabelas, a serem acessados, estão armazenados fisicamente no BD como um objeto.

Page 14: BANCO DE DADOS

MER: MODELO ENTIDADE-RELACIONAMENTO

• Entidades.

• Atributos.

• Relacionamentos.

Page 15: BANCO DE DADOS

ENTIDADE

• Definição de Entidade:

– Conjunto de elementos, denominados tuplas / ocorrências, identificados univocamente, que descrevem objetos, concretos ou abstratos, fenômenos, fatos, coisas do mundo real, e sejam de interesse para análise e armazenamento de dados.

Page 16: BANCO DE DADOS

ENTIDADE

• Exemplos de Entidades:– EMPREGADO– ALUNO– FORNECEDOR– DEPARTAMENTO– CLIENTE– CURSO– PRODUTO– HISTÓRICO ESCOLAR– MATÉRIA– CARGO

Page 17: BANCO DE DADOS

ENTIDADE

• Características de uma Entidade: – Deve conter mais de uma ocorrência / tupla e ser

finita.– Cada ocorrência deve ser identificada

univocamente / individualmente.– Ter necessidade de se armazenar dados:

enumerar, qualificar, relacionar, quantificar, controlar.

– Ter um nome, em letras maiúsculas e no singular.– É representada por um retângulo.

Page 18: BANCO DE DADOS

ENTIDADE

• Terminologia:

– Modelo Conceitual: Entidade

– DFD: Depósito de Dados

– Modelo Físico: Tabela / Arquivo

Page 19: BANCO DE DADOS

ATRIBUTOS

• Definição de Atributos:

– Descrevem as Entidades por suas características / propriedades.

– É o que dá algum valor às Entidades, permitindo

sua qualificação, identificação, classificação e quantificação.

– São fatos sobre as Entidades, úteis para o negócio.

Page 20: BANCO DE DADOS

ATRIBUTOS

• Exemplos de Atributos:

ENTIDADES ATRIBUTOS

EMPREGADO nome data-nascimento ...

PEÇA código-peça peso unidade ...

ALUNO nr-matrícula nome ...

Page 21: BANCO DE DADOS

ATRIBUTOS

• Valor do Atributo:

– O conteúdo de um Atributo é o seu valor.

– Os Atributos de uma ocorrência de uma Entidade, terão valores específicos.

Page 22: BANCO DE DADOS

ATRIBUTOS

• Exemplo de Valor do Atributo:

– Entidade: FUNCIONÁRIO

Atributos Valores de Atributos nome José da Silva data-nasc 20/02/61 cargo Analista setor Info

nome Maria de Souza data-nasc 30/03/59 cargo Gerente setor Vendas

Page 23: BANCO DE DADOS

ATRIBUTOS

• Características dos Atributos:

– Nomes com letras minúsculas.• Ex.: nome, nr-matrícula, endereço.

– Devem ser escritos abaixo da Entidade, como uma lista, um nome abaixo do outro.

• Ex.: ALUNO nr-matrícula nome filiação endereço

Page 24: BANCO DE DADOS

ATRIBUTOS

– Não existe Entidade sem Atributo.

– Os Atributos de uma Entidade podem ser:

• Obrigatórios: *

• Opcionais: o

• Seleção:

Page 25: BANCO DE DADOS

ATRIBUTOS

– Atributo Identificador de uma Entidade não pode ser Atributo de outra Entidade.

• Observação: Exceção para o caso de Entidades Fracas, onde seria parte do próprio Atributo Identificador Composto.

– Atributos múltiplos devem ser evitados, pois indicam possível esquecimento de uma Entidade e / ou Relacionamento.

• Ex.: Empregado / Dependentes.

Page 26: BANCO DE DADOS

ATRIBUTOS

– Categorias de Fontes de Atributos:

• Básico:– O valor do Atributo já existe, independente das

circunstâncias do negócio.– Ex.: nome-aluno, nr-rg.

• Projetado:– O valor do Atributo é criado, ou para atender alguma restrição

do negócio, ou para fornecer os meios para uma identificação única, ou para simplificar alguma operação do negócio.

– Ex.: cod-produto, nr-matrícula, sexo, curso.

Page 27: BANCO DE DADOS

ATRIBUTOS

• Derivado:– O valor é calculado sempre que necessário, a partir de outros

Atributos, através de um algoritmo.

– Deverá ser armazenado apenas em condições especiais.

– Ex.: saldo-conta, salário-líquido.

– Domínio do Atributo:• Conjunto / Range de valores que um Atributo pode assumir.• O porquê dos domínios:

– Para comparações de valores de atributos.

– Regras comuns de validação: Constraints.

– Formatos / Tipos comuns.

Page 28: BANCO DE DADOS

ATRIBUTOS

• Alguns Domínios de Atributos - Oracle:

TIPO CARACTERÍSTICAS

Char Caracter: campo fixo, até 255 caracteres. Varchar2 Caracter: campo variável, até 2000

caracteres. Varchar Idêntico ao Varchar2. Long Idêntico ao Varchar2, aceitando até 2 Gb. Long Raw Long, para multimídia. Date Data e hora: aceita datas entre 01/01/4712 AC até 31/12/4712 DC. Number (s,p) Numérico, onde: s = scale: inteiros p = precision: decimais

Limites para s / p = 38.

Page 29: BANCO DE DADOS

ATRIBUTOS

• Atributo Identificador:

– É o Atributo ou um conjunto de Atributos capaz de identificar, univocamente, cada ocorrência da Entidade.

– Ex.: Entidade Identificador EMPREGADO nr-funcional PEÇA cód-peça FORNECEDOR nr-cnpj CLIENTE/BANCO agência/conta

– Obs.: Os Atributos Identificadores deverão ser indicados pelo sinal # ou grifados.

Page 30: BANCO DE DADOS

ATRIBUTOS

• Atributo de Seleção:

– É o Atributo ou um Conjunto de Atributos que geram um sub-conjunto de ocorrências de uma Entidade.

– Ex.: Entidade Atributo de Seleção

EMPREGADO cód-departamento cód-salário data-admissão

ALUNO cód-curso cód-turma

Page 31: BANCO DE DADOS

RELACIONAMENTO

• É uma associação entre Entidades.

– Ex.: CLIENTE - PEDIDO

ATOR - FILME

• É uma associação entre ocorrências de diferentes Entidades, ou de uma mesma Entidade: Auto-Relacionamento.

– Ex.: PEÇA - PEÇA

• O conceito de Relacionamento auxilia o analista a modelar regras de negócio, no que se refere a dados.

Page 32: BANCO DE DADOS

RELACIONAMENTO

• Associações de Relacionamentos:

CLIENTE coloca PEDIDO

PEDIDO é colocado por CLIENTE

• Cada Relacionamento envolve duas associações e pode ser visto sob o ponto de vista de cada uma destas associações.

• A associação é uma participação de um tipo de Entidade em um Relacionamento.

Page 33: BANCO DE DADOS

RELACIONAMENTO

• Uma Entidade é o começo de uma associação: Fonte / Origem.

• A outra Entidade é o final da associação: Destino.

• Ambas as associações devem ter um nome.

• As associações são normalmente chamadas pelas formas ativa e passiva de um verbo.

Page 34: BANCO DE DADOS

RELACIONAMENTO

• Para os nomes das associações de um Relacionamento, use as regras:

– Evite verbos vagos, como por exemplo: tem / relaciona-se com / é / faz / tem a ver com.

– Use a forma de verbo no presente, a não ser que somente o futuro ou o passado estejam absolutamente corretos.

– Ex.: FUNCIONÁRIO dirige CARRO

CARRO é dirigido por FUNCIONÁRIO

Page 35: BANCO DE DADOS

RELACIONAMENTO

• Características de um Relacionamento:

– Os Relacionamentos entre as Entidades são representados por linhas de ligação, com os significados:

• Linha Contínua : ______________ ( Deve ser )

– Indica a obrigatoriedade do Relacionamento.

• Linha Tracejada : ----------------------- ( Pode ser )

– Indica a opcionalidade do Relacionamento.

Page 36: BANCO DE DADOS

RELACIONAMENTO

• Ex.: CLIENTE requisita PEDIDO PEDIDO é requisitado por CLIENTE

Não existe PEDIDO sem CLIENTE, mas pode haver CLIENTE sem ter feito PEDIDO.

• Obs.: A obrigatoriedade ou a opcionalidade do Relacionamento deverá ser

indicada na partida da Entidade.

Page 37: BANCO DE DADOS

RELACIONAMENTO

CLIENTE PEDIDOrequisita

é requisitado por

Page 38: BANCO DE DADOS

RELACIONAMENTO

• Relacionamento Múltiplo:

– Quando existe mais de um Relacionamento entre duas Entidades.

– Ex.: FUNCIONÁRIO está lotado DEPARTAMENTO

DEPARTAMENTO lota FUNCIONÁRIO

FUNCIONÁRIO é chefe DEPARTAMENTO

DEPARTAMENTO é chefiado FUNCIONÁRIO

Page 39: BANCO DE DADOS

RELACIONAMENTO

• Cardinalidade:

– É a indicação do número máximo de ocorrências de uma Entidade, às quais as ocorrências de

outra Entidade podem estar vinculadas.

– Ex.: FUNCIONÁRIO está lotado DEPARTAMENTO

DEPARTAMENTO lota FUNCIONÁRIO

• Cada FUNCIONÁRIO só pode ser vinculado a um único DEPARTAMENTO.

• Cada DEPARTAMENTO pode vincular mais de um FUNCIONÁRIO.

Page 40: BANCO DE DADOS

RELACIONAMENTO

• Tipos de Cardinalidade:

– Um para Um - 1 : 1

• No diagrama, é representada por um traço ( - ) em ambas as Entidades.

• Ex.: HOMEM é casado com MULHER

MULHER é casada com HOMEM

Page 41: BANCO DE DADOS

RELACIONAMENTO

– Um para N - 1 : N

• É representada por três traços na Entidade Destino:

(pé de galinha) ( ).

• Ex.: CLIENTE coloca PEDIDO

PEDIDO é colocado por CLIENTE

Page 42: BANCO DE DADOS

RELACIONAMENTO

– N para N - N : N

• É representada por três traços em ambas as Entidades (pé de galinha): ( ).

• Ex.: FORNECEDOR fornece PRODUTO

PRODUTO é fornecido por FORNECEDOR

Page 43: BANCO DE DADOS

RELACIONAMENTO

• Entidade Fraca:

– Uma Entidade é dita Fraca de uma ou mais Entidades com as quais se relaciona, quando sua identificação é resultante da combinação das identificações dessas Entidades com, pelo menos, um Atributo próprio.

– EX.: FUNCIONÁRIO tutela DEPENDENTE

DEPENDENTE é tutelado por FUNCIONÁRIO

Page 44: BANCO DE DADOS

RELACIONAMENTO

– Representação de Entidade Fraca:

NOME DAENTIDADE

Page 45: BANCO DE DADOS

RELACIONAMENTO

• Sub - Entidades:

– Às vezes, para o melhor entendimento de um problema, é útil particionar ou dividir o conjunto de Ocorrências / Linhas de uma Entidade / Tabela, em uma série de conjuntos mutuamente exclusivos.

– A cada um desses sub-conjuntos, dá-se o nome de Sub-Entidade.

Page 46: BANCO DE DADOS

RELACIONAMENTO

– O conceito de Sub-Entidade é útil quando:

• Além dos Atributos da Entidade maior, cada Sub-Entidade possui Atributos específicos.

• Uma Sub-Entidade participa de Relacionamentos dos quais a Entidade maior não participa.

– Uma Sub-Entidade pode ser particionada em Sub-Entidades menores.

Page 47: BANCO DE DADOS

RELACIONAMENTO

– Ex.: CARGO - ÓRGÃO

CARGO TÉCNICO - CURSO

CARGO ADMINISTRATIVO

– A Sub-Entidade pode ter uma única ocorrência.

– A intersecção das Sub-Entidades de um particionamento é Vazia.

– A união das Sub-Entidades de um particionamento é a Entidade que foi particionada.

Page 48: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

• Restrições de Integridade:

– É uma condição que precisa ser cumprida para que o modelo seja considerado válido / íntegro.

– Restrições = Constraints.

– Essa condição pode ser estabelecida para as Entidades, para Atributos ou para um Relacionamento.

Page 49: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

• Tipos de Restrições de Integridade:

– De Domínio:

• Define os valores que cada Atributo pode assumir.

• Ex.: categoria-docente:

– A - Assistente– D - Adjunto– T - Titular– L - Livre Docente

Page 50: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

– De Tupla ou de Linha / Registro:

• Define a validade de uma Tupla, com base nas características dos valores de seus Atributos quanto a:

– Sua obrigatoriedade (*) ou opcionalidade (o).

– Sua multiplicidade.

– Comparação ou dependência entre eles.

Page 51: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

– Ex.: Entidade : PROFESSOR

» Atributos : # matr-professor * nome-completo o endereço * situação-afastamento * nacionalidade o teses o jornada-trabalho o categoria-docente

– Restrições de Integridade:

» Multiplicidade: teses - até 3 ocorrências

» Comparação: situação-afastamento = ‘N’ e jornada-trabalho > 20 horas.

Page 52: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

– Relacionamento:

• Define condições de validade de uma tupla / registro, baseado na existência ou em atributos de outro registro / tupla.

• Tipos de restrições de Relacionamentos:

– Totalidade / Parcialidade - Cardinalidade Mínima:

» Um Relacionamento é dito Total, em relação a uma Entidade, quando todas as ocorrências desta Entidade se vincularem a ocorrências de outra Entidade por este Relacionamento.

Page 53: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

» Um Relacionamento é dito Parcial, quando ocorrer o inverso do Total.

» Ex.: Relacionamento : Matrícula

» a. Existe curso sem aluno matriculado?

» Ao se criar um curso, deve-se, obrigatoriamente, matricular, pelo menos, um aluno?

» Ao se eliminar todos os alunos, o curso deve ser eliminado?

Page 54: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

» b. Existe aluno sem estar matriculado em algum curso?

» Ao se matricular um aluno, deve-se inscrevê-lo em algum curso?

» Ao se eliminar o curso, os alunos devem ser eliminados?

» Obs.: Toda Entidade Fraca é dependente total da Entidade Forte.

Page 55: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

– Limites de Cardinalidade Máxima:

» Identifica o número de eventos que ocorrem.

» Ex.: Relacionamento : Matrícula

» a. Em quantos cursos um aluno pode ser matriculado?

» b. Quantos alunos podem ser matriculados em um curso?

» c. O que limita a matrícula de mais um aluno no curso?

Page 56: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

– Comparação entre Atributos:

» Define as restrições de integridade, comparando-se os conteúdos dos atributos.

» Exemplo 1: data-opção-fgts < = data-admissão.

» Exemplo 2: nr-cred-curso < = soma-cred-curso.

Page 57: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE UM MODELO DE DADOS

– Interdependência entre Relacionamentos:

• Visa o entendimento das precedências na inclusão / eliminação de ocorrências dos Relacionamentos.

• Exemplo 1: Para se criar um horário escolar, a matéria deve fazer parte do currículo do curso?

• Exemplo 2: Para se criar uma escala de professores, cada um deve estar habilitado na matéria do curso?

Page 58: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE DADOS - ORACLE

• NN - Not Null:

– Especifica que as colunas devem ser obrigatoriamente preenchidas.

• U - Unique:

– Especifica que a coluna ou grupo de colunas deve ter um conteúdo único para a Tabela.

Page 59: BANCO DE DADOS

RESTRIÇÕES DE INTEGRIDADE DE DADOS - ORACLE

• PK - Primary Key:

– Identificação única para cada ocorrência: Linha / Registro / Tupla, da Tabela.

• FK - Foreign Key:

– Identificação de chave estrangeira, ou seja, chave de outra Tabela.

• AK - Alternate Key:

– Identificação de chave de pesquisa de uma Tabela.

Page 60: BANCO DE DADOS

DIRETRIZES PARA A ANÁLISE DE DADOS

• Identificar as Entidades.

• Identificar os Relacionamentos que associam entre si as Entidades.

• Construir o Modelo de Dados - Gráfico, a partir das Entidades e Relacionamentos identificados.

Page 61: BANCO DE DADOS

DIRETRIZES PARA A ANÁLISE DE DADOS

• Identificar e representar as Cardinalidades dos Relacionamentos.

• Identificar os Atributos das Entidades e dos Relacionamentos.

• Determinar os Atributos Identificadores das Entidades e dos Relacionamentos.

• Descrever os elementos identificados no Dicionário de Dados.

Page 62: BANCO DE DADOS

DIRETRIZES PARA A ANÁLISE DE DADOS

• Ex.: Modelo de Dados para um Sistema de Controle de Quadro de Pessoal de uma Empresa.

– Entidades:

• EMPREGADO,• DEPARTAMENTO,• CARGO

– Relacionamentos:

• Lotação: EMPREGADO : DEPARTAMENTO 1 : N

• Exerce: EMPREGADO : CARGO N : 1

• Quadro Pessoal: CARGO : DEPARTAMENTO N : N

Page 63: BANCO DE DADOS

DICIONÁRIO DE DADOS

• Conceitos:

– Banco de Dados que armazena dados / informações sobre todos os bancos que compõem um sistema de banco de dados.

– O conteúdo do Dicionário de Dados pode ser definido como um conjunto de “dados sobre os dados” - ou seja, descrições de todos os objetos que constituem o sistema.

Page 64: BANCO DE DADOS

DICIONÁRIO DE DADOS

– Em particular, o Dicionário de Dados armazena todos os esquemas e especificações de arquivo bem como suas localizações.

– Um Dicionário de Dados completo, incluiria, ainda, informações sobre os programas que utilizam cada um dos dados, e quais os usuários interessados em cada um deles.

– O Dicionário costuma vir integrado ao Sistema de Banco de Dados que ele descreve.

Page 65: BANCO DE DADOS

DICIONÁRIO DE DADOS

• Modelo de Dados identificado no Dicionário de Dados:

– Descrição da Entidade:

• Uma explicação sucinta do que representa a Entidade.

– Volume de Ocorrências:

• Um número mínimo e máximo de ocorrências que formam a Entidade.

Page 66: BANCO DE DADOS

DICIONÁRIO DE DADOS

– Evento de Inclusão de Ocorrência:

• Descrever o evento que causa a inclusão de uma ocorrência na Entidade.

– Atributos:

• Relação dos Atributos que descrevem a Entidade.

– Atributos Identificadores:

• Relação dos Atributos que identificam unicamente as ocorrências da Entidade.

Page 67: BANCO DE DADOS

DICIONÁRIO DE DADOS

– Restrições de Integridade:

• Condições que os Atributos de uma ocorrência devem preencher para que a mesma seja considerada válida.

– Descrição dos Relacionamentos:

• As mesmas características documentadas para as Entidades, devem ser consideradas também para os Relacionamentos.

Page 68: BANCO DE DADOS

NORMALIZAÇÃO

• Conceitos:

– Tanto para Sistemas Manuais como para os Informatizados, geralmente é mais fácil e mais econômico modificar a lógica de um processo do que alterar a estrutura dos dados.

– Consequentemente, quanto mais simples e mais geral for a estrutura dos dados, mais fácil e econômico será efetuar mudanças nos dados.

Page 69: BANCO DE DADOS

NORMALIZAÇÃO

– A Normalização tem o objetivo de organizar e simplificar o conteúdo das Estruturas de Dados: Tabelas / Arquivos.

– Normalização é uma técnica de Análise de Dados, como o MER: Modelo Entidade-Relacionamento, que tem aplicação em casos particulares de sistemas e de ambientes de dados.

– A técnica procura identificar em documentos, arquivos e outras fontes de dados existentes, estruturas complexas a serem simplificadas e redundâncias a serem eliminadas.

Page 70: BANCO DE DADOS

NORMALIZAÇÃO

– Os produtos da técnica de Normalização, são as chamadas Relações Normalizadas: formas de arquivamento mais simples, que contém os mesmos dados do arquivo original, sem os defeitos que este arquivo possa apresentar.

– Os conceitos e técnicas de Normalização foram desenvolvidos por E. F. Codd da IBM e outros, baseados na teoria dos conjuntos.

Page 71: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

• Domínio:

– Dá-se o nome de Domínio ao conjunto de valores que um determinado elemento de dados pode assumir.

– O conceito de Domínio, está relacionado com o conceito de Atributo do MER.

– Exemplos:

• O conjunto formado pelos valores: Masculino e Feminino é o domínio do elemento de dados Sexo.

• O domínio de Matrícula do Aluno é o conjunto de todas as matrículas existentes.

Page 72: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

• Relação:

– É uma estrutura de dados representada por uma tabela bidimensional: linha / coluna, que expressa uma associação entre os elementos de dados que a compõe.

– Podemos definir uma Relação como sendo um sub-conjunto do produto cartesiano de diversos domínios.

Page 73: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

– O conceito de relação se assemelha ao conceito de Tabela / Arquivo.

– A relação Empregado pode ser definida como sendo os trios ordenados formados pelos domínios dos elementos de dados : matrícula, nome e sexo:

• Empregado (matrícula, nome, sexo)

Page 74: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

• Tupla:

– Chama-se Tupla, a cada uma das combinações de valores de domínios que formam a relação.

– Quando se representa a relação através de uma Tabela, cada linha dessa Tabela é uma Tupla.

– O conceito de Tupla é semelhante ao de Registro para arquivos físicos.

Page 75: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

• Chave:

– Toda relação possui um domínio ou um conjunto de domínios para os quais cada Tupla possui um único valor.

– A este domínio ou conjunto de domínios, dá-se o nome de Chave.

Page 76: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

– Ex.: Na relação Empregado, o domínio Matrícula é a Chave, porque não existem duas tuplas com o mesmo valor para Matrícula. O mesmo não se pode dizer para Nome ou Sexo.

– Na notação de relações, a chave é identificada, sublinhando-se o nome do domínio ou domínio correspondente.

– Ex.: Empregado (matrícula, nome, sexo)

Page 77: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

• Relações que contém Relações:

– Uma relação pode conter como domínio toda uma outra relação.

– A este tipo de relação damos o nome de Grupo Repetitivo.

– Ex.: Empregado (matrícula, nome, sexo, rendimento mensal : mês, salário)

• A relação Rendimento Mensal pode ter diversos valores para cada Matrícula.

Page 78: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

• Dependência Funcional:

– Um domínio é funcionalmente dependente de outro, quando um determinado valor do segundo está sempre associado a um determinado valor do primeiro, em um dado instante.

Page 79: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

– Ex.: Empregado (matrícula, nome, sexo, nível salarial, salário).

• Nível Salarial é dependente funcional de matrícula, uma vez que a cada valor de matrícula somente está associado um único nível salarial.

• O domínio salário é funcionalmente dependente de nível salarial, porque se atribui um único valor de salário para cada valor de nível salarial.

Page 80: BANCO DE DADOS

TERMINOLOGIA DA NORMALIZAÇÃO

ARQUIVOSFÍSICOS

MER NORMALIZAÇÃO BANCO DEDADOS

ARQUIVO ENTIDADE RELAÇÃO TABELA

REGISTRO OCORRÊNCIA TUPLA LINHA

CAMPO ATRIBUTO ELEMENTO DE DADO COLUNA

DADO VR DO ATRIBUTO DOMÍNIO VR DA COLUNA

Quadro Comparativo de Conceitos

Page 81: BANCO DE DADOS

FORMAS NORMAIS

• 1FN: Primeira Forma Normal

– Uma Entidade está na Primeira Forma Normal, quando não possui Atributos Repetitivos / Multi-Valorados, ou seja, Atributos que podem receber mais de um valor.

– A solução é desmembrar os Atributos multi-valorados, criando uma nova Entidade.

Page 82: BANCO DE DADOS

FORMAS NORMAIS

– Ex.: FUNCIONÁRIO

matrícula nome endereço telefone cod-setor currículo cod-curso n ocorrências

nome-curso data-conclusão nível-salárial vr-salário

Page 83: BANCO DE DADOS

FORMAS NORMAIS

– Solução:FUNCIONÁRIO matrícula

nome endereço telefone cod-setor nível-salárial vr-salário

CURRÍCULO matrícula cod-curso nome-curso data-conclusão

Page 84: BANCO DE DADOS

FORMAS NORMAIS

• 2FN: Segunda Forma Normal

– Uma Entidade está na Segunda Forma Normal quando, após a 1FN, os valores de cada Atributo dependem da chave inteira da Entidade e não de parte da chave.

– A solução é dividir os Atributos de maneira que todos eles dependam funcionalmente da chave inteira.

Page 85: BANCO DE DADOS

FORMAS NORMAIS

– Ex.: CURRÍCULO

matrícula

cod-curso

nome-curso

data-conclusão

Page 86: BANCO DE DADOS

FORMAS NORMAIS

– Solução: CURRÍCULO

matrícula cod-curso data-conclusão

CURSO

cod-curso nome-curso

Page 87: BANCO DE DADOS

FORMAS NORMAIS

• 3FN: Terceira Forma Normal

– Uma Entidade está na Terceira Forma Normal se, após a 2FN, todos os Atributos não chave, são dependentes, exclusivamente, da chave.

Page 88: BANCO DE DADOS

FORMAS NORMAIS

– Ex.: FUNCIONÁRIO

matrícula

nome

endereço

cod-setor

nível-salarial

salário

Page 89: BANCO DE DADOS

FORMAS NORMAIS

– Solução: FUNCIONÁRIO

matrícula nome endereço cod-setor nível-salarial

NÍVEL

nível-salarial vr-salário

Page 90: BANCO DE DADOS

FORMAS NORMAIS

– Solução Final:

• Entidades: FUNCIONÁRIO

CURRÍCULO

CURSO

NÍVEL

Page 91: BANCO DE DADOS

MÓDULO DESIGN

• É a conversão das Entidades, Atributos e Relacionamentos em Tabelas com seus conteúdos e características:

– Entidades Tabelas

– Relacionamentos Tabelas

– Atributos Colunas

Page 92: BANCO DE DADOS

MÓDULO DESIGN

– Características / Constraints:

• PK - Primary Key: Indica que a coluna é Chave Primária da Tabela.

• FK - Foreign Key: Indica que a coluna é Chave Estrangeira da Tabela.

• AK - Alternate Key: Indica que a coluna é Chave de Pesquisa da Tabela.

• NN - Not Null: Significa que a coluna é obrigatória restrição de integridade.

• U - Unique: Indica que a coluna não poderá receber valores repetidos.

• Obs.: Toda Coluna PK é, obrigatoriamente, NN e U.