17
30 Unidade II Unidade II 3 DIAGRAMA ENTIDADE-RELACIONAMENTO (E-R) O diagrama E-R é uma ferramenta para modelagem conceitual de banco de dados amplamente utilizada no projeto de banco de dados, sendo considerada praticamente um padrão para modelagem conceitual. É aconselhado como padrão por ser de fácil compreensão e apresenta poucos conceitos. Um diagrama E-R é uma representação gráfica, na forma de um diagrama, no qual são utilizados apenas três conceitos: entidades, relacionamentos e atributos, que serão descritos a seguir. 3.1 Entidades do DER Representam categorias de fatos do mundo real, sejam eles concretos ou abstratos, como empregados, departamentos, despesas etc. São representados por retângulos nomeados por substantivos, que indicam um conjunto de ocorrências da entidade. Sugerem-se nomes no plural. 3.2 Relacionamentos do DER Representam associações entre entidades, sendo que, em cada associação, são indicadas as cardinalidades, ou seja, o número de ocorrências de uma entidade que se relaciona com uma ocorrência de outra entidade. Por exemplo, como representado na Figura 9. Empregados Departamentos (1, N) (1, 1) Figura 9 – cardinalidade de um relacionamento Indica que 1 empregado trabalha no mínimo em 1 departamento e no máximo em 1 departamento. • Indica que em 1 departamento trabalha no mínimo 1 empregado e no máximo N empregados. 3.2.1 Relacionamentos binários Representam uma associação entre duas entidades, representada por um losango nomeado com linhas para as duas entidades envolvidas. Um relacionamento indica uma função cumprida pelas duas entidades envolvidas. Sugere-se que esse nome seja um substantivo no plural, uma vez que o uso de verbos limita mais a criatividade para a determinação de nomes.

Administração de Banco de Dados Unidade II

Embed Size (px)

Citation preview

  • 30

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    Unidade II3 Diagrama EntiDaDE-rElacionamEnto (E-r)

    O diagrama E-R uma ferramenta para modelagem conceitual de banco de dados amplamente utilizada no projeto de banco de dados, sendo considerada praticamente um padro para modelagem conceitual. aconselhado como padro por ser de fcil compreenso e apresenta poucos conceitos.

    Um diagrama E-R uma representao grfica, na forma de um diagrama, no qual so utilizados apenas trs conceitos: entidades, relacionamentos e atributos, que sero descritos a seguir.

    3.1 Entidades do DEr

    Representam categorias de fatos do mundo real, sejam eles concretos ou abstratos, como empregados, departamentos, despesas etc. So representados por retngulos nomeados por substantivos, que indicam um conjunto de ocorrncias da entidade. Sugerem-se nomes no plural.

    3.2 relacionamentos do DEr

    Representam associaes entre entidades, sendo que, em cada associao, so indicadas as cardinalidades, ou seja, o nmero de ocorrncias de uma entidade que se relaciona com uma ocorrncia de outra entidade.

    Por exemplo, como representado na Figura 9.

    Empregados Departamentos(1, N) (1, 1)

    Figura 9 cardinalidade de um relacionamento

    Indica que 1 empregado trabalha no mnimo em 1 departamento e no mximo em 1 departamento.

    Indica que em 1 departamento trabalha no mnimo 1 empregado e no mximo N empregados.

    3.2.1 Relacionamentos binrios

    Representam uma associao entre duas entidades, representada por um losango nomeado com linhas para as duas entidades envolvidas. Um relacionamento indica uma funo cumprida pelas duas entidades envolvidas. Sugere-se que esse nome seja um substantivo no plural, uma vez que o uso de verbos limita mais a criatividade para a determinao de nomes.

  • 31

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Quando se define um relacionamento, deve-se definir tambm a cardinalidade dessa associao, por meio de dois pares de valores, no qual o valor da esquerda indica o nmero mnimo esperado de ocorrncias de uma entidade que se relaciona com a entidade questionada, e o valor da direita o nmero mximo. Esses valores de mximo e mnimo podem ser constantes, quando se souber exatamente esses valores.

    3.2.2 Relacionamentos reflexivos

    um tipo de associao que envolve ocorrncias de uma mesma entidade (parte e chega da mesma entidade). Nesse caso, recomenda-se a indicao explcita do papel assumido por cada lado da associao, para tornar mais clara a interpretao do relacionamento. Por exemplo, em uma relao de chefia entre um empregado e outro, interessante a indicao dos papis de superior e subordinado.

    Alguns controles de integridade, no expressos no diagrama E-R, podem ser necessrios, como a proibio de um empregado ser chefiado por ele mesmo (valores iguais no relacionamento) ou uma hierarquia de gerncia com ciclos. interessante que esses controles, se desejados, sejam explicitamente comentados como um anexo ao diagrama E-R.

    3.2.3 Relacionamentos ternrios

    Relacionam trs ocorrncias de entidades. S interessante utilizar esse tipo de relacionamento quando realmente obrigatrio associar, ao mesmo tempo, um par de entidades com uma terceira. Por exemplo, um empregado que trabalha num projeto necessariamente realiza alguma tarefa nesse trabalho. Esses trs fatos esto sempre relacionados. Quando no ocorre essa obrigatoriedade, recomenda-se o uso da agregao.

    A determinao da cardinalidade de um relacionamento ternrio feita questionando um par em relao terceira entidade envolvida. Por exemplo, um empregado trabalhando em um projeto temos o par empregado-projeto que realiza de 1 a N tarefas. Logo, a cardinalidade (1,N) colocada ao lado da entidade TAREFAS.

    Outros relacionamentos acima de ternrios podem ocorrer em um diagrama E-R, porm so raros e deve-se avaliar cuidadosamente se sero necessrios. A determinao da cardinalidade semelhante ao comentado para ternrios, ou seja, questiona-se um conjunto de entidades associadas em relao quela que se deseja determinar a cardinalidade.

    3.3 atributos do DEr

    Representam uma propriedade de uma entidade ou de um relacionamento, como salrio de um empregado ou o tempo que um empregado estar alocado em um projeto.

    So representados por crculos nomeados, ligados por linhas a uma entidade ou relacionamento. Atributos identificadores de entidades, ou que sejam necessrios na identificao de relacionamentos, so indicados por um crculo preenchido ou pelo nome sublinhado.

  • 32

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    3.3.1 Atributos opcionais

    Atributos com propriedades que podem assumir NULL. So indicados por um trao que corta a linha que liga o atributo entidade ou relacionamento.

    3.3.2 Atributos compostos

    Representam uma abstrao de outros atributos, como um endereo que abstrai (agrega) outros dados como rua, CEP, cidade etc. representado por uma eclipse, com ligaes (linhas) para os atributos componentes (convencionais).

    3.3.3 Atributos multivalorados

    Atributos com propriedades que podem assumir mais de um valor, como os nmeros de telefone de um departamento. So representados por uma cardinalidade mnima e mxima que colocada ao lado do nome do atributo, indicando as quantidades de valores mnimos e mximos permitidos.

    3.4 Entidades fracas

    Entidades cujas existncias dependem da existncia de outra entidade, dita fork. representada por um retngulo duplo, podendo, opcionalmente, ser indicada uma seta que parte dela e chega sua entidade forte, para tornar mais clara a dependncia.

    A cardinalidade de uma ocorrncia de uma entidade fraca com a forte sempre (1,1), indicando que ela sempre depende de uma ocorrncia da entidade forte.

    3.5 Especializao

    Salienta que algumas ocorrncias de uma entidade assumem papis especficos, ou seja, so especializaes, como o fato de um empregado ser um motorista ou secretrio, inclusive com a possibilidade de terem atributos especficos. So classificadas em dois tipos, descritos a seguir.

    3.5.1 Especializao com ou sem excluso mtua

    Indica se uma ocorrncia de uma entidade genrica pode assumir apenas uma ou vrias especializaes, respectivamente.

    No primeiro caso, representa-se por meio de um nico tringulo que recebe uma linha da entidade genrica, sendo que da sua base partem linhas para vrias entidades especializadas, dando a ideia de uma escolha que deve ser feita.

    No segundo caso, desenha-se um tringulo para cada ligao entre a entidade genrica e uma especializao.

  • 33

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    3.5.2 Especializao com ou sem obrigatoriedade

    Indica se uma especializao obrigatria ou no. Em caso negativo, diz-se que a especializao parcial. A parcialidade indicada pelo uso da letra P colocada ao lado do tringulo.

    3.6 agregao

    Um agregado representa uma poro de um diagrama E-R que envolve um relacionamento entre vrias entidades. utilizado para indicar situaes em que entidades relacionadas podem ainda se relacionar com outras entidades. Essas entidades relacionadas so consideradas uma entidade de alto nvel, chamada agregado, e so recomendadas para representar situaes em que existe parcialidade na relao entre trs ou mais ocorrncias de entidade. Por exemplo, uma pessoa que tem a posse de um automvel e que pode ou no ter contratado seguro para o carro. Um agregado possvel representado pelo conjunto de pessoas que tem automvel com seguro.

    Uma agregao representada por um polgono fechado que envolve as entidades e o relacionamento entre elas, determinando a entidade agregada. Essa entidade agregada considerada, ento, uma entidade normal do diagrama E-R, que pode se relacionar com outras entidades.

    4 moDElo EntiDaDE rElacionamEnto (mEr)

    um modelo abstrato desenvolvido pelo Prof. Peter Chen, a fim de representar as estruturas de dados de forma mais natural e mais prxima do mundo real dos negcios. Seus aspectos estruturais formalizam matematicamente a maneira como os dados esto organizados no modelo relacional. A seguir, sero descritos os conceitos bsicos de um modelo relacional.

    composto por entidades, que so caracterizadas por atributos e que se relacionam entre si. Dentro do MER, utilizamos algumas formas geomtricas para a representao das entidades, seus atributos e seus relacionamentos, conforme apresentados a seguir.

    Pessoa

    Retngulos representam as entidades

    TEL

    Elipses representam os atributos de uma entidade

  • 34

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    Possui

    Losangos representam as relaes entre as entidades

    Figura 10

    4.1 Domnio

    O domnio define o universo de valores permitidos para certo item de dado. Por exemplo, o domnio para o item de dado salrio pode ser o conjunto dos nmeros reais; o domnio do item de dado idade pode ser o conjunto dos nmeros inteiros no intervalo [0,150]; o domnio do item sexo pode ser o conjunto limitado (masculino, feminino).

    Um domnio compreende um tipo de dado predefinido mais um conjunto de restries de integridade que limitam os valores permitidos para esse tipo de dado.

    Domnios podem ser simples, ou seja, possuem um nico valor, como um inteiro ou compostos, quando possuem vrios valores, como uma data. Os valores dos itens de dados que apresentam domnios compostos so abstrados e tratados como um nico valor. Uma data poderia ser manipulada como uma string, por exemplo.

    observao

    A noo de domnio de um item de dados assemelha-se noo de domnio de um conjunto na matemtica.

    lembrete

    MER o modelo terico inventado para transportar estruturas existentes no mundo real para o banco de dados. DER a representao grfica do MER.

    4.2 atributo do mEr

    Um atributo um nome dado a um domnio utilizado para representar um item de dado. Matematicamente falando, um atributo o nome de um conjunto.

  • 35

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Em uma tabela, representa uma coluna. Um atributo pode apresentar um valor condizente com o domnio associado a ele ou NULL, que indica a ausncia de valor ou valor desconhecido.

    Um atributo pode conter apenas um valor atmico, ou seja, um valor indivisvel.

    4.3 tupla

    um conjunto de pares (atributo valor) que define uma linha da tabela, ou seja, uma ocorrncia de uma entidade ou relacionamento. Se imaginarmos em uma tabela como sendo um conjunto, uma tupla seria um elemento desse conjunto.

    4.4 relao

    Pode ser definida como um subconjunto do produto cartesiano dos domnios (d1, d2, d3,...., dn) que correspondem aos atributos (a1, a2, a3,..,an) de uma tabela. O produto cartesiano gera (d1 x d2 x d3 x....x dn) tuplas e a relao mantm apenas aquelas tuplas que contm valores de atributos relacionados que esto presentes na realidade.

    Uma relao, portanto, um subconjunto. vista como uma tabela no modelo relacional, composta por um cabealho e um corpo. O cabealho formado por um conjunto fixo de atributos que possuem nomes distintos, para evitar ambiguidade na localizao de um item de dado. O grau de uma relao significa o nmero de atributos da mesma.

    O corpo de uma relao formado por um nmero varivel de tuplas, em que a ordem das mesmas no significativa, ou seja, dada uma relao R1 com trs tuplas, nesta ordem: t1, t2 e t3, e uma relao R2 com trs tuplas nesta ordem: t2, t3 e t1, teremos R1 igual a R2. A cardinalidade de uma relao significa o nmero de tuplas da relao.

    O conceito de relao ligeiramente diferente do conceito de tabela. Relao equivale noo de conjunto, ou seja, um agrupamento de elementos sem repetio. Tabela equivale noo de coleo, ou seja, um agrupamento de elementos em que permitida a repetio. Os Sistemas Gerenciadores de Banco de Dados, na prtica, lidam com o conceito de tabela.

    4.5 chave

    O conceito de chave fundamental no modelo para garantir a identificao de tuplas e estabelecer relacionamentos entre relaes.

    4.5.1 Chave primria (PK) primary key

    Atributo ou grupo de atributos que permite a identificao nica de uma tupla em uma relao, ou seja, o valor da PK (primary key) de uma tupla nunca se repetir nas demais tuplas da mesma relao.

  • 36

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    Uma PK escolhida dentre vrias chaves candidatas, que podem estar presentes na relao. As chaves candidatas no selecionadas so ditas chaves alternativas. A cada chave alternativa deve ser associada uma Relao de Integridade (RI) que garanta que seus valores sejam nicos.

    observao

    Quando a chave primria tem um atributo, dizemos que uma chave primria simples, e, quando ela tem dois ou mais atributos, dizemos que uma chave primria composta.

    Utilizamos uma chave primria simples para armazenar o ESTADO (UF) porque eles so nicos.

    UF

    PK SIGLA UF

    NOME_UF

    Figura 11 Exemplo de chave primria simples

    Utilizamos uma chave composta para CIDADE porque posso ter mais de uma cidade com o mesmo nome, por isso temos que associar o nome da cidade com o Estado ao qual ela pertence, para poder garantir a unicidade da tupla.

    UF

    PK UFCIDADE_NOME

    Figura 12 Exemplo de chave primria composta

    4.5.2 Chave estrangeira (FK) foreign key

    Atributo ou grupo de atributos de uma relao R1 que estabelece um relacionamento de equivalncia, por valor, com uma PK (primary key) de uma relao R2.

    O domnio da FK (foreign key) de R1 deve ser compatvel com o domnio da PK (primary key) de R2. Nada impede que R1 e R2 sejam a mesma relao.

    4.5.3 Chave artificial ou delegada (SK) surrogate key

    Serve para substituir a chave original da tabela. Normalmente composta de nmeros sequenciais, muito utilizada em Modelos Multidimensionais, em que o processo de dimensionamento associa a chave natural do modelo relacional, que vo ser apenas atributos da dimenso, e para garantir a unicidade criada a chave delegada (surrogate key).

  • 37

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Saiba mais

    Para aprofundar os estudos sobre o Modelo Multidimensional, recomendamos a leitura dos livros de Ralph Kimball. E no deixe de visitar frequentemente este site: , se quiser entrar na rea de Inteligncia Corporativa e aprender mais sobre a tecnologia de Datawarehouse.

    4.6 restries de integridades bsicas

    Os aspectos de integridade do modelo relacional esto associados aos conceitos de chave primria e chave estrangeira. Garantir a integridade de um esquema relacional significa assegurar o acesso individualizado a todas as tuplas de uma relao, assim como relacionamentos vlidos e condizentes com a realidade.

    O modelo relacional regido por duas regras de integridade bsicas: a de integridade de entidade e a de entidade referencial, descritas a seguir.

    4.6.1 Regra de integridade de entidade

    Diz respeito chave primria de uma relao. Ela diz que nenhum atributo que faz parte da chave primria pode ter NULL em alguma tupla. A manuteno dessa regra garante que toda tupla possa ser identificada unicamente.

    4.6.2 Regra de integridade referencial

    Diz respeito s chaves estrangeiras de uma relao. Ela diz que o valor de um atributo que faz parte de uma chave estrangeira pode assumir NULL desde que o mesmo no faa parte da chave primria. Ainda, esse mesmo atributo pode assumir um valor qualquer, condizente com o seu domnio, desde que esse mesmo valor exista na chave primria de uma tupla da relao referida por ele. Com isso, nunca existiro relacionamentos incorretos entre dados.

    Para que essas regras sejam sempre respeitadas, o SGBD deve implementar rotinas de verificaes automticas. Isso implica testes e aes a serem realizados pelo SGBD toda vez que uma operao de atualizao for submetida ao mesmo.

    No caso da regra de integridade de entidade, o seguinte algoritmo deve ser executado toda vez que for includa uma nova tupla em uma relao ou for alterado um valor de um atributo de uma tupla que faz parte da chave primria de uma relao:

    SE a chave primria da tupla for NULL

  • 38

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    OU existir tupla com o mesmo valor da chave primria

    ENTO impedir a efetivao da operao

    SENO efetivar a operao

    J para o caso da regra de integridade referencial, trs alternativas de aes so geralmente tomadas pelo SGBD quando se percebe que uma violao ir ocorrer:

    Impedimento a operao no efetivada.

    Cascata para o caso de excluses de tuplas ou alteraes de chave primria na relao referida, realizar a mesma operao em todas as tuplas que se referem a ela.

    Anulao para o caso de excluses de tuplas ou alteraes de chave primria na relao referida, altera-se para NULL o(s) atributo(s) que compe(m) a chave estrangeira que estabelece o relacionamento com essa relao. Uma variante dessa alternativa anular apenas a chave estrangeira de uma nica tupla.

    A aplicao dessas aes depende da operao de atualizao submetida e da relao que sofre a operao (a referida ou a que possui uma referncia). Se uma operao de atualizao submetida relao que possui a referncia (possui a chave estrangeira), o seguinte algoritmo deve ser executado toda vez que for includa uma nova tupla ou for alterado o valor de um atributo que faz parte da chave estrangeira:

    SE a chave estrangeira da tupla for NULL

    ENTO

    SE a chave estrangeira fizer parte da chave primria

    ENTO impedir a efetivao da operao

    SENO efetivar a operao

    SENO SE no existir uma tupla na relao referida com valor de chave primria igual ao valor da chave estrangeira desta tupla

    ENTO SE a chave estrangeira fizer parte da chave primria

    ENTO aplicar impedimento

    SENO aplicar impedimento

    OU aplicar anulao

    SENO efetivar a operao

  • 39

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Se uma operao de atualizao submetida relao referida (possui a chave primria), o seguinte algoritmo deve ser executado toda vez que for excluda uma tupla ou for alterado o valor de um atributo que faz parte da chave primria:

    SE a chave estrangeira fizer parte da chave primria

    ENTO aplicar impedimento

    OU aplicar cascata

    SENO aplicar impedimento

    OU aplicar cascata

    OU aplicar anulao

    lembrete

    Entidades, do original entity type, servem para representar objetos, coisas, pessoas que existem na realidade. No MER, os relacionamentos so identificados com um verbo, conforme pode ser observado na figura 13.

    Uma pessoa possui um automvel.

    PossuiPessoa Automvel

    1 1

    1 1

    Um automvel pertence a uma pessoa.

    Figura 13 Exemplo de um relacionamento 1:1

    Dentro de um modelo relacional, temos que ver como as entidades se relacionam entre si, ou seja, ver como a entidade Pessoa se relaciona com a entidade Automvel e como a entidade Automvel se relaciona com a entidade Pessoa, e podemos concluir que:

  • 40

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    Uma pessoa possui vrios automveis.

    PossuiPessoa Automvel

    1 N

    1 1

    Vrios automveis pertencem a uma pessoa.

    Figura 14 Exemplo de relacionamento 1:N

    Aqui fazemos os mesmos passos para a obteno da cardinalidade, verificamos o relacionamento de Pessoa com Automvel e de Automvel com Pessoa.

    1 Pessoa possui N (vrios) automveis.

    1 Automvel que pertence a 1 Pessoa.

    Um aluno possui vrios professores.

    PossuiAluno Professor

    1 N

    1 1

    Um professor possui vrios alunos.

    Figura 15 Exemplo de relacionamento N:N

    No exemplo da Figura 15, temos a seguinte definio: 1 aluno possui N (vrios) professores e 1 professor possui N (vrios) alunos.

    Para obter a cardinalidade final, devemos usar a multiplicao. Em cada um dos lados, pegamos os dois nmeros, que esto em destaque ao lado da entidade. Nesse caso, em aluno temos 1 e N, 1 x N = N (qualquer nmero multiplicado por 1 ele mesmo). J em professor, temos N e 1. N x 1 = N. Assim, obtemos um relacionamento de N para N.

    4.7 tipos de relacionamento

    Quando fazemos o relacionamento entre duas ou mais tabelas, esse relacionamento pode ser classificado de duas formas:

  • 41

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Identificado: tambm conhecido como relacionamento forte. Identifica que a chave estrangeira da tabela pai faz parte da chave da tabela filha.

    No identificado: tambm conhecido como relacionamento fraco. Identifica que a chave estrangeira da tabela pai no faz parte da chave primria da tabela filha, sendo esse apenas mais um atributo.

    A seguir, mostramos a representao desses tipos de relacionamento, com exemplos, nas figuras 16 e 17.

    UF Cidade

    PK UF-SIGLA PKPK, FK1CID_NOMEUF-SIGLA

    UF_NOME

    Figura 16 Exemplo de relacionamento forte

    Cor Carro Motor

    PK UF-SIGLA PK CHASSI PK MOTOR

    UF_NOME FK1FK2

    MODELOCOR

    MOTORMOTOR_NOME

    Figura 17 Exemplo de relacionamento fraco

    4.8 normalizao

    Normalizao de dados o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar redundncias e anomalias observadas na incluso, na excluso e na alterao de registros.

    4.8.1 Primeira Forma Normal (1FN)

    Uma relao estar na Primeira Forma Normal 1FN se, e somente se, todos os domnios bsicos contiverem somente valores atmicos (no contiver grupos repetitivos).

    Procedimentos:

    identificar a chave primria da entidade;

    identificar o grupo repetitivo e remov-lo da entidade;

    criar uma nova entidade com a chave primria da entidade anterior e o grupo repetitivo;

    a chave primria da nova entidade ser obtida pela concatenao da chave primria da entidade inicial e a do grupo repetitivo.

  • 42

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    Exemplo:

    ID Nome Telefone Endereo

    1 Joo (11)1234-5678(11)2345-6789

    Rua Seis, 85Morumbi12536-965

    2 Maria (11)3456-7890(11)4567-8901

    Rua Onze, 64Moema

    65985-963

    3 Jos (11)5678-9012(11)6789-0123

    Praa RamosLiberdade68858-456

    Figura 18

    Aqui temos os mesmos grupos de dados agrupados para todas as linhas.

    ID Nome Telefone Rua Bairro CEP

    1 Joo (11)1234-5678(11)2345-6789 Rua Seis, 85 Morumbi 12536-965

    2 Maria (11)3456-7890(11)4567-8901 Rua Onze, 64 Moema 65985-963

    3 Jos (11)5678-9012(11)6789-0123(11)7890-1234

    Praa Ramos Liberdade 68858-456

    Figura 19

    Foi resolvido o problema do endereo, quebrando a informao em trs colunas; porm, ainda persiste o problema da coluna telefone e, diferente da anterior, no tem a mesma repetio do outro grupo.

    Para resolvermos esse caso, teremos que quebrar essa tabela em duas.

    ID Nome Rua Bairro CEP 1 Joo Rua Seis, 85 Morumbi 12536-965 2 Maria Rua Onze, 64 Moema 65985-963 3 Jos Praa Ramos Liberdade 68858-456

    Figura 20

    A primeira, sem a informao de telefone.

    Telefone ID(11)1234-5678 1

    (11)2345-6789 1

    (11)3456-7890 2

    (11)4567-8901 2

    (11)5678-9012 3

  • 43

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Telefone ID(11)6789-0123 3

    (11)7890-1234 3

    Figura 21

    A segunda, apenas com a informao de telefone, associada com a primeira pelo cdigo do cliente.

    4.8.2 Segunda Forma Normal (2FN)

    Uma relao estar na Segunda Forma Normal 2FN se j estiver na 1FN e no existir nenhum atributo que no seja dependente de todo da chave da tabela.

    Procedimentos:

    identificar os atributos que no so funcionalmente dependentes de toda a chave primria;

    remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.

    Exemplo:

    C_Produto N_Produto Qtd Vl_Unitrio Subtotal

    1 1234 Impressora Matricial 4 100,00 400,00

    2 2345 Impressora Jato de Tinta 3 200,00 600,00

    3 3456 Impressora Laser 2 1000,00 2000,00

    4 5678 Impressora Multifuncional 1 350,00 350,00

    Figura 22

    No est na Segunda Forma Normal porque temos atributos que no dependem da chave primria.

    N_Pedido C_Produto Qtd Vl_Unitrio Subtotal

    1 1234 4 100,00 400,00

    2 2345 3 200,00 600,00

    3 3456 2 1000,00 2000,00

    4 5678 1 350,00 350,00

    Figura 23

    Para resolver, separamos a informao em duas tabelas.

  • 44

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    C_Produto N_Produto

    1234 Impressora Matricial

    2345 Impressora Jato de Tinta

    3456 Impressora Laser

    5678 Impressora Multifuncional

    Figura 24

    Da tabela de pedidos, foi retirada a descrio do produto, porque o atributo dependente apenas do cdigo do produto. Foi criada uma nova tabela chamada de Produto, composta por Cdigo do Produto e Nome do Produto. Foi mantido o Cdigo do Produto na tabela de Pedido para o relacionamento.

    4.8.3 Terceira Forma Normal (3FN)

    Uma tabela est na Terceira Forma Normal 3FN se estiver na 2FN e se nenhuma coluna no chave depender de outra coluna no chave.

    Procedimentos:

    identificar todos os atributos que so funcionalmente dependentes de outros atributos no chave e remov-los;

    a chave primria da nova entidade ser o atributo do qual os atributos removidos so funcionalmente dependentes.

    N_Pedido C_Produto Qtd Vl_Unitrio Subtotal

    1 1234 4 100,00 400,00

    2 2345 3 200,00 600,00

    3 3456 2 1000,00 2000,00

    4 5678 1 350,00 350,00

    Figura 25

    Ainda existe um atributo que est relacionado a outro atributo no chave.

    O atributo SUBTOTAL derivado do clculo da quantidade que multiplica o valor unitrio.

    N_Pedido C_Produto Qtd Vl_Unitrio

    1 1234 4 100,00

    2 2345 3 200,00

    3 3456 2 1000,00

    4 5678 1 350,00

    Figura 26

  • 45

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    AdmInIstrAo de bAnco de dAdos

    Nesse caso, removemos a coluna, j que, entre outras coisas, ela era derivada de um clculo.

    Saiba mais

    Na internet, existe muita informao sobre o fascinante mundo do DBA. Para comear a navegar nesse mundo, sugerimos alguns sites. Boa viagem!

    resumo

    Nesta unidade, apresentamos o modelo relacional, que foi formalmente definido por E. Codd, no laboratrio da IBM em San Jos, na Califrnia, em 1970. O projeto inicial foi denominado de Sistema R e definia a organizao dos dados e linguagem e linguagens formais para a sua manipulao. Com base nessas linguagens formais, a primeira verso da linguagem SQL foi definida. Essa linguagem , atualmente, um padro para gerenciamento de dados em um SGBD relacional.

    Entidades e relacionamentos so representados nesse modelo por relaes que equivalem ao conceito matemtico de conjunto, ou seja, um agrupamento de elementos sem repetio.

    Uma relao vista como uma tabela, em que as colunas indicam os campos e as linhas, as ocorrncias (valores). Relacionamentos entre relaes so estabelecidos por igualdade de valor de campos. Relacionamentos M:N so modelados como relaes que mantm os campos que identificam as duas relaes envolvidas mais os dados pertinentes ao relacionamento, caso existam.

    Uma das vantagens em adotar o modelo relacional a representao uniforme das entidades e dos relacionamentos. um conceito nico e simples para a organizao de dados. Um esquema no modelo relacional

  • 46

    Unidade II

    Reviso: And

    ria Dom

    es/M

    iche

    l Apt - Diagram

    ao

    : Jefferson

    - 20/07

    /201

    2

    dito um esquema do mais alto nvel, pois abstrai uma estrutura de implementao, como estruturas em rvore ou grafos, em que o usurio deve se preocupar em percorrer apontadores adequadamente.

    O modelo relacional o primeiro modelo de dados que oferece linguagens de manipulao de dados cujos comandos podem ser executados independentes da aplicao, pois no esto obrigatoriamente vinculados ao cdigo da aplicao. So, ainda, linguagens de alto nvel, ou seja, um pequeno comando de manipulao equivale a um procedimento de acesso a dados, se comparado com os modelos anteriores. Linguagens com essa caracterstica so ditas declarativas, ou seja, o usurio preocupa-se em dizer o que eles desejam obter do banco de dados e no como ele deseja obter.

    A normalizao uma metodologia para projeto de banco de dados relacionais, uma vez que sugere uma organizao de dados em tabelas. Assim sendo, a normalizao uma ferramenta para projeto lgico de banco de dados relacionais. O objetivo dessa tcnica evitar problemas de redundncia e anomalias de atualizao, que podem estar presentes em uma relao. A soluo para resolver esses problemas a decomposio de uma relao em uma ou mais relaes, com base na aplicao de certas regras de normalizao (formas normais). Essa proliferao de relaes nem sempre ideal do ponto de vista de performance, devendo ser balanceadas vantagens e desvantagens antes da efetivao dos resultados de uma forma normal.