Você está na página 1de 19

Sumrio Banco de Dados

Conceitos Bsicos, Independncia de Dados, Dicionrio de Dados Arquitetura de Bancos de Dados Conceitos de Alta Disponibilidade Gerncia de Transaes e Bloqueios Gerncia de Desempenho Modelagem de Dados (Abordagem Relacional, Modelagem Entidade-Relacionamento) Transformao do Modelo Conceitual Normalizao Linguagem ANSI-SQL Sistemas de Informaes Gerenciais e Apoio a Deciso
Modelagem de Dados

Banco de Dados
Projeto Conceitual: Atravs de uma ferramenta conceitual (modelo de dados ao nvel conceitual) um grupo de especialistas repassa a especificao textual em um diagrama ou outras forma de linguagem que descrevem com clareza as necessidades dos usurios, isto chamado modelagem. O objetivo desta fase organizar melhor as idias passadas pela fase de Anlise e Especificao e perceber alguma falta de informaes - neste caso necessrio retornar; Projeto Lgico: Atravs de uma ferramenta lgica (modelo de dados ao nvel lgico) um grupo de especialistas repassa a especificao conceitual em lgica atravs de um diagrama ou outra linguagem, isto chamado mapeamento. Com esta fase obtm-se a definio lgica dos arquivos de dados. Especificao lgica depende do SGBD que ser utilizado pois as estruturas dos arquivos devem ser compatveis com tal gerenciador; Projeto Fsico : Atravs de conhecimentos coletados nos requisitos, com relao a freqncia e forma de utilizao dos dados, estabelece-se a organizao mais adequada para os arquivos e os mtodos de indexao mais eficientes.
1 2

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Conceito de Trabalho: Um modelo de dados uma coleo de conceitos que podem ser usados para descrever a estrutura de uma Banco de Dados. Obs.: Utilizar mecanismos de abstrao (generalizao, classificao e agregao) um aspecto bsico de todos os modelos. Relembrando: O que ABSTRAO? um processo mental de seleo de algumas caractersticas relevantes de um conjunto de objetos em detrimento de outras. - Categorias de Modelos de Dados No existe uma nica forma de representao de modelos, porm qualquer forma que permita a correta compreenso das estruturas de dados compreendidas no Banco de Dados, pode ser considerada adequada. Modelos Conceituais conceitos de como os usurios percebem os dados. Modelos Lgicos (Representacionais) conceitos que podem ser entendidos pelos usurios e alguns aspectos de armazenamento. Modelos Fsicos conceitos que descrevem detalhes de como os dados esto armazenados.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Os modelos de dados so colees de ferramentas conceituais para descrio dos dados, relacionamentos entre os dados, semntica e restrio dos dados. Diversos modelos de dados foram propostos, e esto classificados em trs grupos: modelos orientados objetos, semnticos e orientados registros.

Modelo Conceitual:
Descrio de alto nvel da estrutura do Banco de Dados. No contm detalhes de implementao. Independente de tipo de SGBD usado. Ponto de partida do projeto da base de dados.

Modelos Orientados Objetos:


So modelos conceituais que procuram representar e estruturar Bancos de Dados atravs do paradigma de Orientao a Objetos. Estendem o modelo de dados relacional incluindo orientao a objeto e construes para lidar com tipos de dados inseridos. Permitem que atributos tenham tipos complexos, incluindo valores no atmicos como relaes aninhadas. Fornecem compatibilidade com linguagens relacionais posteriores existentes.

Modelo Lgico:
Descrio da estrutura do BD que pode ser processada pelo SGBD. Modelo conceitual mapeado para um modelo lgico de dados. Dependente da classe de modelos de dados utilizada pelo SGBD, mas NO do SGBD especfico escolhido para a implementao. Futuras alteraes no modelo lgico devem ser primeiro efetuadas no MC.

Modelo Fsico:
Mapeamento do modelo lgico em um esquema fsico de acordo com o SGBD especfico. Descrio da implementao da base de dados. Descreve as estruturas de armazenamento e os mtodos de acesso. Exemplos: alocao dinmica de espaos, particionamento fsico das tabelas, etc.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Modelos Semnticos:
So modelos onde existe uma representao explcita das entidades e relacionamentos. So capazes de melhor representar um problema pois possuem conceitos mais elaborados. O Modelo Entidade-Relacionamento e o Funcional, so exemplos deste tipo de abordagem.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Modelos Hierrquicos:
Os dados e relacionamentos so representados por registros e ligaes, respectivamente. Os registros so organizados como colees arbitrrias de rvores. Os relacionamentos so do tipo pai-filho. Desta forma, um relacionamento N:N (muitos para muitos) no pode ser representado diretamente, uma vez que filhos s podem relacionar-se com um pai. Uma das maneiras de resolver este problema repetir o registro em mais de um relacionamento. O modelo hierrquico difere do modelo em rede porque os registros so organizados como colees de rvores em vez de grafos.

Modelos Orientados Registro: So usados na descrio de dados nos nveis conceitual e externo (viso). Especificam tanto a estrutura lgica global do banco de dados como uma descrio em alto nvel de implementao. Representam esquematicamente as estruturas das tabelas de forma bastante prxima a existente fisicamente. Basicamente so apresentados os registros de cada tabela (inclusive seus campos) e seus relacionamentos elementares. O Modelo Relacional, o Modelo de Rede e o Hierrquico so exemplos deste tipo de representao. Os bancos de Dados convencionais tm como um dos critrios de classificao, a referncia ao modelo de dados implementado. Esse critrio representa a estrutura fsica baseada na qual o armazenamento de dados foi projetado e o modelo modelo identifica a estrutura interna de recuperao e armazenamento dos dados. Assim, Bancos de Dados Hierrquicos so oriundos de Modelos Hierrquicos, Bancos de Dados de Redes so oriundo de Modelos de Redes e Bancos de Dados Relacionais so oriundos de Modelos Relacionais.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Modelos Relacionais: Este modelo representa os dados contidos em um Banco de Dados atravs de relaes que contm informaes sobre as entidades representadas e seus relacionamentos. O Modelo Relacional, claramente baseado no conceito de matrizes, onde as chamadas linhas (das matrizes) seriam os registros e as colunas (das matrizes) seriam os campos. Os nomes das tabelas e dos campos so de fundamental importncia para compreenso entre o que est armazenado, onde est armazenado e qual a relao existente entre os dados armazenados. No necessita de estruturas de ndice eficientes e hardware adequado para alcanar bom desempenho em situaes prticas. Quando uma relao pensada como uma tabela de valores, cada linha nesta tabela representa uma coleo de dados relacionados. Estes valores podem ser interpretados como fatos descrevendo uma instncia de uma entidade ou de um relacionamento. Na terminologia do modelo relacional, cada tabela chamada de relao ou RelVar; uma linha de uma tabela chamada de tupla; o nome de cada coluna chamado de atributo; o tipo de dado que descreve cada coluna chamado de domnio.
10

Modelos de Redes: Os dados so representados por colees de registros e os relacionamentos entre os dados so representados por ligaes (ou elos) que podem ser vistas como apontadores. Os dados podem incluir atributos compostos como pro exemplo vetores. Os registros no banco de dados so organizados como colees de grafos.

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Modelos Relacionais Mais conceitos: Tabela = Relao = RelVar = Conjunto de Tuplas (linhas) distintas. Nome da Coluna = Atributo [ Simples (nome completo), Composto (Nome primeiro, ltimo), Derivado (pode ser calculado) e Multivalorado (telefone). Chave Simples = chave formada por apenas um atributo. Chave Primria = identifica univocamente a relao (CPF, RG) portanto no pode conter valor nulo nem se repetir. Chave Composta = chave formada por mais de um atributo. Chave Candidata ou Alternativa = atributo que poderia identificar univocamente a relao tem as mesmas caractersticas de unicidade da chave primria podendo, contudo, no ter seu preenchimento obrigatrio. Chave Estrangeira = Primria em outra relao; especifica, genericamente, um relacionamento entre tabelas.

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

11

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

12

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Modelos Relacionais Mais conceitos: Outras restries so denominadas de Restries Semnticas, que podem ser ou no especificadas ou garantidas por um BD Relacional. Estas restries ditas semnticas se referem mais especificamente sobre valores ou caractersticas que determinados atributos podem assumir no contexto de uma determinada aplicao. As Restries Semnticas consistem em definir intervalos de valores para os atributos, limites, condies de existncia entre outras. Exemplos: - Salrio: valores no intervalo de R$ 150,00 a R$ 2400,00; - Categoria: Senior se tempo de trabalho > 20, Pleno se tempo de trabalho >10, Jnior caso contrrio.

RESTRIES DE INTEGRIDADE so normas estabelecidas para a manter a integridade dos dados armazenados no Banco de Dados. As principais restries de integridade so: Restrio de Domnio: os valores de atributos devem ser coerentes com os domnios correspondentes. Cada Atributos de uma relao definido com base em um domnio de valores (exemplos: Idade, seu domnio so os nmeros inteiros positivos; Salrios, seu domnio so os nmeros reais positivos). Restrio de Chave Primria (unicidade): cada valor de chave primria deve ser nico dentro de seu escopo (a relao a que pertence). Restrio de Entidade: o valor de uma chave primria nunca deve ser nulo. O valor nulo no permite a identificao de uma tupla. Restrio de Referncia: toda referncia a uma tupla atravs de chave estrangeira deve ser verificada, ou seja, toda tupla referenciada deve previamente existir no Banco de Dados a menos que esta restrio seja explicitamente desprezada pelo usurio do Banco de Dados.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

13

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

14

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados

MODELAGEM OBJETO-CONCEITUAL USANDO UML (Unified Modeling Language) Metodologia que se tornou popular devido sua aplicao na modelagem de software (envolve tambm a modelagem dos bancos de dados que sero acessados pelos SW). Nos diagramas de classe da UML, uma classe exibida como:

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

15

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

16

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Conceitos:
Entidade Objeto ou Conceito do mundo real. (Ex.: empregado ou projeto). Atributos Propriedades de interesse que descrevem as entidades. (Ex.: nome do empregado, ttulo do projeto). Relacionamentos Representam a interao (associao) entre as entidades. (Ex.: alocao de um funcionrio a um projeto). Repetio existe quando a entidade A se relaciona com a entidade B, atravs do mesmo relacionamento, mais de uma vez. Relacionamentos com repetio devem que ter um atributo identificador que no se repete. Cardinalidade o nmero de ocorrncias de uma entidade que est associado ocorrncias de outra entidade. Alguns autores igualam cardinalidade a Grau de Relacionamento.

Modelo Entidade-Relacionamento
O Modelo Entidade-Relacionamento (MER) foi originalmente criado pelo norte-americano Peter PinShan Chen enquanto trabalhava no Massachusetts Institute of Technology. O MER uma poderosa ferramenta de apoio ao projeto conceitual de Bancos de Dados propiciando uma viso mais natural e consistente do mundo real atravs do uso de conceitos simples porm de grande representatividade. O principal motivo do grande sucesso da MER foi a facilidade com que pode ser utilizado e a clareza com que apresenta seus resultados. Devido a sua grande importncia, muitos trabalhos propuseram extenses do modelo para que se torna-se mais preciso na representao do mundo real. A incluso destes novos conceitos podem rebatizar o modelo como MER* ou MER-X. A representao grfica atravs do Diagrama Entidade-Relacionamento (DER) tambm foi criada por Peter Chen para facilitar a visualizao dos resultados de uma modelagem. Como o DER apresenta smbolos muito simples, pode ser utilizado para a depurao da modelagem junto ao cliente.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

17

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

18

Banco de Dados
Modelagem de Dados Modelagem de Dados Unrio Un

Banco de Dados

Tipos de Relacionamentos e Cardinalidades


Unrio: um Tipo de Relacionamento que envolve uma nica Entidade. Binrio: um Tipo de Relacionamento que envolve duas Entidades. Ternrio: um Tipo de Relacionamento que envolve trs Entidades. Quaternrio: um Tipo de Relacionamento que envolve quatro Entidades. A quantidade de Entidades envolvidas em cada Relacionamento determinado pela Cardinalidade do Tipo de Relacionamento, ou seja, pode-se estabelecer a quantidade mnima e mxima de Entidades envolvidas com cada Entidade relacionada. A Cardinalidade Mnima que determina a quantidade mnima de Entidades relacionadas determinada pelo nmero representativo, ou seja, 0 (zero) 1, 2, ...., N (muitos). A Cardinalidade Mxima que determina a quantidade mxima de Entidades relacionadas determinada pelo nmero representativo, ou seja, 1, 2, ...., N (muitos).

Binrio Bin

Ternrio Tern

Quaternrio Quatern

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

19

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

20

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Abstraes de Dados Existem algumas construes semnticas que so naturais dos serem humanos e usadas para facilitar o entendimento do mundo. Para tentar representar com fidelidade estas construes foram criadas as diversas Abstraes de Dados. Abstrao o ato de separar mentalmente elementos de uma totalidade complexa, seja material, representao ou fato real. Especializao um mecanismo de abstrao que permite subdividir um grande conjunto de elementos em conjuntos menores de acordo com padres estabelecidos pelas necessidades da aplicao.
o processo de definio de um conjunto de classes de uma entidade; essa entidade chamada de superclasse de especializao. O conjunto de subclasses formado baseado em alguma caracterstica que distinga as entidades entre si.

Generalizao a abstrao inversa da Especializao, ou seja, agrupa-se conjuntos de elementos com alguma semelhana semntica em um conjunto maior.
pode ser pensada como um processo de abstrao reverso ao da especializao.
22

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

21

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Caractersticas das Especializaes/Generalizaes TOTAL quando os subconjuntos especializados formarem o conjunto universo (atravs de unio ou interseo); PARCIAL quando, aps apresentados os subconjuntos, ainda existirem outros que no sero objeto de estudo, mas pertencem ao conjunto universo; SUPERPOSIO (interseo); EXCLUSIVO quando houverem elementos que pertenam a dois subconjuntos

As caractersticas semelhantes que existem entre os Homens e as Mulheres so representadas no conjunto Pessoas, como por exemplo, o nome, a idade e a profisso. Todo Homem (ou Mulher) possui estas caractersticas pois uma Pessoa. Esta migrao de caractersticas denominada Herana. Alm das caractersticas herdadas de Pessoas, o conjunto de Homens possui suas caractersticas prprias por exemplo altura, o mesmo ocorrendo com as Mulheres com a caracterstica peso.

no h interseo ou um, ou outro.

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

23

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

24

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados
Um outro mecanismo de abstrao a AGREGAO. -

GENERALIZAO

ESPECIALIZAO
CDIGO

o resultado de uma associao entre Entidades que cria uma outra Entidade ou melhor um Agregado. Um Agregado pode se relacionar com outras Entidade e possuir caractersticas prprias. Pode ser dita ainda como um mecanismo de abstrao atravs do qual uma nova classe de objetos definida a partir de outras classes componentes. Agregaes tambm so denominadas ENTIDADES ASSOCIATIVAS.

NOME

(1,N)

ALUNO
MATRCULA

(0,N)

CURSA

DISCIPLINA

PERODO MDIA_FINAL

PESSOA
RG NOME END CPF TEL

(P,S) (1,N) LECIONA (0,N)

PROFESSOR
REG_MEC

(1,N)

HABILITAO

(0,N)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

25

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

26

Banco de Dados
Modelagem de Dados Modelagem de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

27

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

28

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

29

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

30

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

31

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

32

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

33

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

34

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

35

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

36

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

37

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

38

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

39

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

40

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

41

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

42

Banco de Dados
(1)

Banco de Dados

EXERCCIOS
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

(2)

(3)

43

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

44

Banco de Dados
(1) FUNCIONARIO ( Matricula , Nome ); LIVRO ( Codigo , Titulo , Editora , Ano); ALUGA ( Matricula , Codigo ); (2) CLIENTE ( Cod_CL , Nome_CL , UF_CL ); PEA ( Cod_PE , Nome_PE , Cor_PE, Valor_PE ); FABRICANTE ( Cod_FA , Nome_FA , UF_FA ); COMPRA ( Cod_CL , Cod_PE , Data , Qtde ); FABRICACAO ( Cod_PE , Cod_FA); (3) FUNCIONARIO ( Matr , Nome , Salario , Cod_DEPTO ); DEPARTAMENTO ( Cod_DEPTO , Nome_DEPTO , Matr );
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

Banco de Dados

45

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

46

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

47

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

48

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

49

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

50

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

51

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

52

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

53

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

54

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

55

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

56

Banco de Dados

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

57

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

58

Banco de Dados
Normalizao Normalizao

Banco de Dados
- O processo de Normalizao pode ser considerado como a aplicao de uma srie de regras, que
constituem as Formas Normais que iro provocar a decomposio de esquemas de dados insatisfatrios de algumas relaes, em novas relaes. - A Normalizao tambm permite ao programador controlar o quanto da consistncia garantida pela maneira de estrutura do BD, e quanto deve ser responsabilidade dos aplicativos e/ou do SGBD. - No entanto deve ser realizada alguma ponderao: normalizar demais diminui a eficincia dos aplicativos e de menos abre flancos para inconsistncias. - Uma das maneiras de controlar a consistncia atravs de Dependncias Funcionais existentes entre os atributos armazenados. - A Dependncia Funcional baseia-se no reconhecimento que os valores de alguns atributos podem ser determinados a partir de outros pelo SGBD, e portanto deve ser avaliado e informado pelo programador ao BD. Se o valor de um conjunto de atributos A permite descobrir o valor de um outro conjunto de atributos B, diz-se que A determina funcionalmente B, ou que B depende de A. - A representao grfica para esta dependncia a seguinte : A B.

- Uma vez definidos os elementos de dados que formaro a base de dados, o prximo passo do
projeto do sistema simplificar os arquivos para remover elementos de dados redundantes e grupos repetitivos. - Esse processo de simplificao de arquivos que compem uma base de dados denominado NORMALIZAO. - Os conceitos e as tcnicas de normalizao foram desenvolvidos por Codd da IBM e sua equipe, quando pesquisavam sobre a matemtica de conjuntos. De acordo com a teoria dos conjuntos, foram estabelecidos cinco tipos de arquivos normalizados, denominados, em ordem crescente de simplicidade: primeira forma normal (1FN), segunda forma normal (2FN), terceira forma normal (3FN), quarta forma normal (4FN) e quinta forma normal (5FN). - O processo de normalizao consiste basicamente em regras para definir adequadamente os elementos de dados ou campos que comporo os arquivos de dados. As regras de normalizao de arquivos visam a:
a) Minimizar redundncias; b) Eliminar anomalias de atualizao; c) Prover o melhor caminho de acesso a qualquer elemento de dado; d) Assegurar resistncia a manutenes no modelo de dados; e) Evitar dados no identificveis atravs de definio rigorosa de identificadores.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

59

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

60

Banco de Dados
Normalizao Normalizao

Banco de Dados
- Primeira Forma Normal (1FN) - Uma relao se encontra na Primeira Forma Normal (1FN) se todos os atributos possuem apenas valores atmicos (indivisveis). - A 1FN no permite a construo de relaes que apresentem atributos compostos e nem possibilita a existncia de atributos multivalorados em suas tuplas. - Os nicos valores de atributos permitidos devem ser simples e atmicos. - Colocar uma relao na 1FN significa eliminar os atributos multivalorados. - Relaes que no esto na 1FN so chamadas de "Nested Relations" (relaes dentro de relaes). - A Forma Normal relacionada a uma tabela, ou seja, uma tabela est em uma determinada forma normal.

- Conceito Formal de Normalizao: um mecanismo formal para analisar esquemas de relaes, baseados nas suas chaves e nas dependncias funcionais entre seus atributos, fazendo com que cada tabela represente um nico fato . - Dependncia Funcional: - Um atributo B depende funcionalmente de A se, para um valor de A, este valor determinar no mximo um valor de B. A determinante funcional de B. - Pode ser: - TOTAL - PARCIAL primria. o atributo da relao conhecido, apenas, a partir da chave primria; o atributo da relao conhecido, tambm, a partir de parte da chave

- TRANSITIVA o atributo da relao conhecido, tambm, a partir de outro atributo que no seja parte da chave primria.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

61

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

62

Banco de Dados
Normalizao Normalizao

Banco de Dados

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

63

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

64

Banco de Dados
Normalizao Normalizao

Banco de Dados
- Assim, com a chave concatenada, devemos ainda fazer a segunda pergunta para cada campo nochave:
- A quantidade em estoque depende apenas de parte da chave? A resposta no, porque preciso conhecer tanto o produto como a loja para se obter a quantidade. - O preo depende apenas de parte da chave? A resposta tambm no, porque preciso conhecer tanto o produto como a loja para se obter o preo. - O telefone da loja depende apenas de parte da chave? Neste caso a resposta sim, pois se voc conhecer a loja tambm poder saber qual o seu telefone, independentemente do produto.

- Segunda Forma Normal (2FN) - Uma relao se encontra na Segunda Forma Normal (2FN) se: - Estiver na primeira forma normal (1FN); e - Todos os atributos no-chave dependerem da totalidade da chave primria (eliminao da Dependncia Funcional Parcial). - Para testar se um arquivo de dados est na segunda forma normal devemos fazer inicialmente as seguintes perguntas: - Qual o campo-chave do arquivo? Se a chave for composta, isto , formada por mais de um campo, perguntamos tambm: - H qualquer campo no-chave que dependa de apenas parte da chave? - No arquivo do exemplo anterior, o produto, por si s, no suficiente para identificar inequivocamente um determinado registro, pois vrios registros possuem o mesmo produto. - Para obtermos uma chave identificadora exclusiva devemos concatenar produto com loja, pois no h nenhuma chave [produto + loja] duplicada.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

- Portanto, o arquivo exemplificado anteriormente no est na segunda forma normal, pois ele no passou pelo teste. Quando um arquivo de dados no est na segunda forma normal, a base de dados no estar correta pelas seguintes razes:

- O arquivo de dados ocupar mais espao no disco do que seria necessrio, pois o nmero do telefone se
repete para cada produto armazenado no mesmo arquivo; - Se uma loja mudar de nmero de telefone, todos os registros de produtos para aquela loja devero ter o campo telefone alterado; - Se ocorrer algum problema com o processo de atualizao dos dados, uma mesma loja poder aparecer com nmeros de telefones diferentes, dependendo de qual registro seja acessado posteriormente, ou seja, a integridade da base de dados estar comprometida; - Quando uma loja possuir um nico produto e seu registro for eliminado (porque acabou o estoque), tambm ser eliminado o telefone da loja, pois poder no haver outro lugar na base de dados que o armazene.
Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

65

66

Banco de Dados
Normalizao Normalizao

Banco de Dados

Para evitar esse problemas e obedecer segunda forma normal (2FN), o arquivo anterior dever ser dividido em dois outros arquivos:

- Ambos os arquivos esto na 2FN. O arquivo de produtos em estoque est na segunda forma normal porque os campos no-chave (quantidade, preo e valor total) so dependentes de toda chave composta [produto + loja] e de nada mais. - O segundo arquivo, lojas, tambm est na 2FN porque ele no possui uma chave composta e, portanto, uma coluna no-chave, como endereo ou telefone, naturalmente ser dependente da totalidade do nico campo-chave, que a loja. - Por outro lado, fcil perceber que o arquivo anterior, apesar de estar na 1FN, contm dados descrevendo duas coisas distintas: produtos e lojas. Como regra geral, uma tabela numa base de dados deve armazenar dados que descrevam apenas uma entidade ou evento. Cesar Azevedo Teixeira 68 Paulo
(pcateixeira@yahoo.com.br)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

67

Banco de Dados
Normalizao Normalizao

Banco de Dados

- Terceira Forma Normal (3FN) - Uma tabela estar na terceira forma normal se: - Estiver em 2FN; e - Nenhum campo no-chave depender de qualquer outro campo no-chave (eliminao da Dependncia Funcional Transitiva). - Para verificar se uma tabela da 2FN tambm est na 3FN devemos perguntar: Algum campo no-chave dependente de qualquer outro campo no-chave? - O arquivo dos produtos em estoque possui trs campos (ou colunas) no-chave: - quantidade, preo e valor total Se soubermos a quantidade em estoque e o preo, saberemos o valor total em estoque. - Portanto, o campo valor total dependente de dois campos no-chave, pois pode ser obtido a partir da quantidade multiplicada pelo preo. - Conclumos, ento, que o arquivo de produtos em estoque no est sob a 3FN. - Se o campo valor total for eliminado, o arquivo de produtos em estoque passa a estar na 3FN, Paulo Cesar Azevedo menos espao no disco, sem qualquer perda de informao. ocupando Teixeira 69
(pcateixeira@yahoo.com.br)

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

70

Banco de Dados
Normalizao Normalizao

Banco de Dados
- Quarta Forma Normal (4FN) - Uma tabela que estiver na 3FN tambm estar na 4FN se no contiver mais do que um fato multivalor a respeito do objeto descrito pelo arquivo. - Para que uma tabela de 3FN seja simplificada para a 4FN devemos, portanto, eliminar as dependncias multivaloradas. - A tabela abaixo no atende a exigncia da quarta forma normal.

- Forma Normal de Boyce-Codd (FNBC) Boyce- Uma tabela estar na Forma Normal de Boyce-Codd (FNBC), quando: - Estiver na Primeira Forma Normal ; e - Para cada chave candidata, todos os atributos que no participam da chave candidata so dependentes no transitivos de toda a chave candidata.

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

71

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

72

Banco de Dados
Normalizao Normalizao

Banco de Dados
- Quinta Forma Normal (5FN) - O conjunto de relaes do BD estar na 5FN quando: - Dado o conjunto de multi-dependncias funcionais do BD, no se estabelece um ciclo de multidependncia entre pelo menos 3 atributos, ou os Atributos de um ciclo esto na mesma relao.

- Quarta Forma Normal (4FN) - Na tabela anterior temos uma dependncia multivalorada de produto em relao a fornecedor e tambm de representante em relao a fornecedor. - Para ser simplificada para a 4FN, esta tabela precisa ser subdividida em dois: - fornecedor x produto; e - fornecedor x representante. - Neste caso, a chave primria de cada tabela sob a 4FN passa a ser fornecedor + produto e fornecedor + representante.

- Para que um conjunto de tabelas esteja na 5FN deve-se : - Colocar todos os atributos multi-valorados que pertencem um mesmo ciclo em uma relao.

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

73

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

74

Banco de Dados
Normalizao Normalizao

Banco de Dados

- Quinta Forma Normal (5FN) - O conjunto de relaes anterior possui a seguinte lista de Multi-Dependncias Funcionais : - Nome Disciplina (Cada professor pode ministrar vrias disciplinas) - Nome Apostila (Um grupo de professor pode elaborar uma apostila) - Disciplina Apostila (Cada disciplina pode ter um certo nmero de apostilas) - Apostila Nome (Cada apostila pode ser elaborada por vrios professores) - Aps a transformao teremos:

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

75

Paulo Cesar Azevedo Teixeira (pcateixeira@yahoo.com.br)

76

Você também pode gostar