Modelagem Bd

  • Published on
    24-Jun-2015

  • View
    528

  • Download
    8

Embed Size (px)

Transcript

<p>Instituto de Ensino Santo Antonio</p> <p>Apostila de Modelagem de DadosCurso: Tcnico de Informtica Ano: 2 Srie Disciplina: A.S.M.D.</p> <p>Verso 2007Elaborado por: Prof. Fernando Salles Claro</p> <p>Apostila de A.S.M.D. Mdulo de Modelagem de Dados</p> <p>I</p> <p>SumrioCAPTULO 1 MODELAGEM DE DADOS .............................................................................................................1 INTRODUO .............................................................................................................................................................1 Sistemas Gerenciadores de Bancos de Dados .....................................................................................................1 MODELOS DE BANCOS DE DADOS .............................................................................................................................1 Modelo Hierrquico.............................................................................................................................................1 Modelo de Rede ...................................................................................................................................................2 Modelo Relacional...............................................................................................................................................3 CAPTULO 2 - MODELO ENTIDADE-RELACIONAMENTO ...........................................................................5 Modelo Relacional e Modelos Semnticos de Dados ..........................................................................................5 ENTIDADES ................................................................................................................................................................5 Concepo de uma entidade ................................................................................................................................7 RELACIONAMENTOS ..................................................................................................................................................7 Grau e Classe de um relacionamento ..................................................................................................................8 Algumas Extenses ao Modelo ER.....................................................................................................................10Quando a cardinalidade no exatamente 1....................................................................................................................10 Agregao .......................................................................................................................................................................11 Generalizao/Especializao .........................................................................................................................................12</p> <p>UTILIZAO DO MTODO ENTIDADE-RELACIONAMENTO ........................................................................................13 VANTAGENS DO MTODO ENTIDADE RELACIONAMENTO .....................................................................................13 CAPTULO 2 NORMALIZAO ..........................................................................................................................15 INTRODUO ...........................................................................................................................................................15 PRIMEIRA FORMA NORMAL (1FN): ELIMINAO DE DOMNIOS MULTIVALORADOS ................................................15 SEGUNDA FORMA NORMAL (2FN): DEPENDNCIA DO ATRIBUTO DETERMINANTE ...................................................18 TERCEIRA FORMA NORMAL (3FN): ELIMINAO DA DEPENDNCIA FUNCIONAL TRANSITIVA .................................19 FORMA NORMAL DE BOYCE-COOD (FNBC) ............................................................................................................20 EXERCCIOS - MODELAGEM DE BANCO DE DADOS..................................................................................21</p> <p>Apostila de A.S.M.D. Mdulo Modelagem de Dados</p> <p>1</p> <p>Captulo 1 Modelagem de dadosIntroduo</p> <p>Bancos de Dados (BD) uma rea da computao que apresentou grande desenvolvimento nas dcadas de 70 e 80 e continua em ritmo acelerado de pesquisa e desenvolvimento. Com as bases tericas da tecnologia relacional lanadas nas dcada de 70 e o lanamento comercial de muitos Sistemas Gerenciadores de Banco de Dados (SGBDs) relacionais na dcada de 80, o gerenciamento de grandes volumes de dados pode ser feito cada vez mais de forma segura, eficiente e barata.Sistemas Gerenciadores de Bancos de Dados</p> <p>SGBD Sistema Gerenciador de Banco de Dados (ou DBMS Database Management System) um sistema utilizado para gerenciar dados que esto armazenados de forma organizada, permitindo incluir, alterar, excluir, consultar e manipular dados. O tratamento da informao em um banco de dados oferece vantagens: A disponibilidade dos dados para excluso, consulta ou alterao pode ser autorizada pelo Administrador de Banco de Dados (DBA Data Base Administrator) no projeto, antes das aplicaes serem desenvolvidas, permitindo com isso a segurana e a privacidade dos dados; A padronizao reforada. Os tipos de dados mais importantes so atributos que tm seus nomes e tamanhos definidos j no projeto do banco de dados. Os dados dizem respeito a um ambiente, empresa ou corporao e esto disponveis independentemente da aplicao. Um projeto de banco de dados coerente reduz ou elimina a redundncia, favorecendo a manuteno da integridade dos dados.</p> <p>A arquitetura de um SGBD estabelecida a partir de um modelo de dados, que uma forma de representao que resulta de uma abstrao. O projeto de um banco de dados envolve o desenvolvimento de um modelo formal relativo estruturao dos dados de todo um empreendimento. Os SGBDs existentes no mercado geralmente adotam o modelo hierrquico, de rede ou relacional. Dentre os trs, o mais utilizado o modelo de rede. O objetivo de todos os modelos de dados modelar a realidade to proximamente quanto possvel.</p> <p>Modelos de Bancos de DadosModelo Hierrquico</p> <p>Os SGBDs baseados no modelo hierrquico foram os primeiros sistemas a estarem disponveis comercialmente. No modelo hierrquico, o usurio percebe o banco de dados como uma estrutura de rvores que envolvem registros e ligaes. Cada registro pode possuir um nmero qualquer de descendentes, mas apenas um ascendente (exceto a raiz, que no possui ascendente). O registro ascendente guarda referncias do conjunto de descendentes que possui.</p> <p>Apostila de A.S.M.D. Mdulo Modelagem de Dados</p> <p>2</p> <p>A navegao dentro de um banco de dados hierrquico feita com comandos do tipo acessar primeiro e acessar prximo ( get first e get next), admitindo clusulas e predicados para pesquisa. A figura abaixo ilustra a representao de alguns registros organizados hierarquicamente para uma locadora de veculos. Como voc pode ver, as rvores hierrquicas so plantadas de cabea para baixo.</p> <p>Fig. 1 - Exemplo de um modelo hierrquico</p> <p>Dada a limitao de que cada registro pode possuir somente um ascendente, seu contedo pode ter que ser repetido vrias vezes. Se for criada a filial Manaus, por exemplo, que tambm tem um tipo de veculo esporte, este registro do tipo esporte ser diferente do registro j existente para a filial So Paulo. Esta repetio uma grande desvantagem: o espao consumido para armazenagem desperdiado com a mesma informao. Alm disso, se a atualizao de um valor no for feita para todos os registros repetidos, o banco de dados fica inconsistente. Como resultado, a implementao de um banco de dados em um sistema hierrquico pode requerer uma boa quantidade de trabalho para contornar as limitaes. O modelo hierrquico um caso particular do modelo de rede. o mais restrito entre os trs vistos aqui.</p> <p>Modelo de Rede</p> <p>No modelo de rede, a viso do usurio a de um grafo ou uma malha de ligaes umpara-muitos entre os registros. Um tipo de registro pode estar envolvido em mais de um relacionamento, pode ter vrios ascendentes e vrios descendentes O grupo CODASYL (que desenvolveu o Cobol), atravs do Database Task Group (DBTG) desenvolveu um modelo de rede que o mais difundido e aceito. O modelo DBTG criou a figura do grupo ou conjunto, uma representao para os relacionamentos. Cada conjunto tem um tipo de registro proprietrio, que s pode participar de uma ocorrncia do conjunto, e um tipo de registro membro, que pode participar em qualquer quantidade de ocorrncias A figura a seguir apresenta registros ligados de acordo com uma estrutura de grafo, prpria do modelo rede:</p> <p>Apostila de A.S.M.D. Mdulo Modelagem de Dados</p> <p>3</p> <p>Fig. 2 - Exemplo de um modelo rede</p> <p>Na figura acima, h um relacionamento filial-veculo, onde o veculo de placas ABC1234 proprietrio e a filial de cdigo SPA um registro membro do conjunto.</p> <p>Modelo Relacional</p> <p>Um banco de dados relacional visto pelo usurio como um conjunto de tabelas. Uma tabela ou relao formada por linhas conhecidas como t-uplas (l-se tuplas) e colunas. Cada coluna tem um conjunto de valores possveis chamado domnio. Em linguagem de computao, tabela ou relao equivale a arquivo, t-upla equivale a registro e coluna equivale a campo. A representao por um conjunto de tabelas estabelece a diferena em relao ao modelo rede, que um conjunto de registros e relacionamentos atravs de ligaes. Portanto, definimos um sistema relacional como aquele onde os dados so notados pelos usurios como tabelas e as operaes aplicveis ao sistema geram tabelas partindo da primeira. Na figura abaixo, podemos observar um exemplo de modelo relacional:</p> <p>Fig. 3 - Exemplo de um modelo relacional</p> <p>A teoria sobre o modelo relacional apresenta dois formalismos para a manipulao de banco de dados: a lgebra relacional e o clculo relacional, que serviram de base para a construo de todas as ferramentas relacionais hoje disponveis. A lgebra relacional formada por operaes cujos nomes vm da teoria de conjuntos, e outras operaes relacionais que foram especialmente criadas: Unio : Produz uma tabela resultante da unio de outras tabelas operadas; Interseo : Cria uma tabela, resultado da interseo de outras tabelas</p> <p>Apostila de A.S.M.D. Mdulo Modelagem de Dados operadas;</p> <p>4</p> <p>Diferena : Cria uma tabela contendo t-uplas que pertencem a primeira tabela operada, mas no segunda; Produto Cartesiano : Gera todas as combinaes possveis entre as tuplas de duas tabelas. Projeo : Cria uma tabela contendo alguns atributos especficos da tabela operada; Seleo ou Restrio : Serve para extrair t-uplas de uma certa tabela; Juno : Gera uma tabela que a combinao das tabelas operadas segundo critrios impostos sobre atributos de uma e outra tabela; Diviso : Opera duas tabelas, criando uma terceira com os atributos da primeira tabela, cujos atributos que os acompanham existem tambm na segunda tabela. O clculo relacional tem poder equivalente lgebra e d como resultado relaes (tabelas), da mesma forma. A diferena est na forma de expresso: a lgebra especifica as operaes a fazer sobre as tabelas, enquanto o clculo relacional apenas nomeia a informao desejada e um certo predicado ou critrio para os valores a serem pesquisados, sem dizer quais as operaes a fazer. Dentre os sistemas relacionais, os System/R e o Ingres foram os primeiros a serem comercializados. Dentre os sistemas relacionais atuais mais utilizados no brasil, temos: MS-Access DB2 Informix Oracle Progress Sybase TSGDB Unify Zim MS-SQL Server Postgresql Mysql Interbase / Firebird entre outros...</p> <p>Apostila de A.S.M.D. Mdulo Modelagem de Dados</p> <p>5</p> <p>Captulo 2 - Modelo Entidade-RelacionamentoModelo Relacional e Modelos Semnticos de Dados</p> <p>Um banco de dados um acervo de informaes armazenadas segundo certos critrios de organizao. O modelo relacional de dados uma maneira de conceber a organizao de um banco de dados como uma coleo de tabelas e associaes entre outras tabelas. Por exemplo, veja a figura abaixo: cada tabela armazenada em um arquivo, cada linha um registro e tem um contedo nico na tabela. Cada coluna um campo, com um nome que representa o tipo de dados contido na coluna. Tabela DEPTOId_depto 4 9 3 Compras Televendas Manuteno Nome_depto</p> <p>Tabela FUNCIONRIOId_func 39 14 76 90 91 Nome_func Maria de Bem Joo dos Anzis Johnson Hooks Carmem Bizet Antenor pera Data_nasc 10/01/61 22/11/55 11/03/77 02/02/67 12/1259 Sexo F M M F M Id_depto 4 3 9 4 4</p> <p>Tabela 1 Exemplo de Tabelas</p> <p>No exemplo, as tabelas tm uma coluna em comum: id_depto e um atributo que cumpre o papel em DEPTO, de identificador de cada registro e, em FUNCIONRIOS, de apontador que permite chegar ao nome do departamento. Projetar tabelas diretamente a partir da simples observao da realidade do ambiente nem sempre fcil e pode no ser o modo mais eficiente de projetar. Os modelos semnticos de dados surgiram com o objetivo de agregar sentido descrio de um banco de dados. A abordagem semntica mais conhecida e adotada a do modelo Entidade-Relacionamento (ER), publicado em artigo de Peter Pin-Shan Chen, baseado na teoria relacional e teoria dos conjuntos. O ER um modelo de dados que se props a englobar algumas propostas de modelagem anteriores, como o modelo relacional e o de rede, e dar uma viso mais abstrata e de mais alto nvel a um ambiente de banco de dados.</p> <p>Entidades</p> <p>Entidade um conjunto de objetos de mesma natureza, com as mesmas caractersticas ou atributos, abrigados sob um nome genrico. Em um banco de dados de uma universidade, por</p> <p>Apostila de A.S.M.D. Mdulo Modelagem de Dados</p> <p>6</p> <p>exemplo, so entidade: Aluno, Professor, Curso, Departamento, Disciplina, etc., pois cada uma destas entidades representa uma coleo de objetos com os mesmos tipos de atributos. Chamamos ocorrncia de uma entidade um objeto que pertence entidade. No exemplo acima, Cincias da Computao poderia ser uma ocorrncia da entidade Curso e Bancos de Dados uma ocorrncia de Disciplina. Cada ocorrncia de entidade apresentar-se- como uma coleo de elementos de dados ou atributos, por exemplo: Entidade ALUNO PROFESSOR Atributos Nome Nmero de matrcula Endereo Nome Cdigo Data de admisso Salrio</p> <p>Tabela 2 Entidades e seus atributos</p> <p>Atributo determinante aquele que identifica uma ocorrncia da entidade. Por exemplo: Nmero de matrcula, na entidade ALUNO. Observe, no exemplo acima, que os atributos Nome aparecem tanto para a entidade ALUNO quanto para PROFESSOR, mas so coisas diferentes, com significados diferentes. Nos diagramas de entidades e relacionamento as entidades so representadas por retngulos com seu nome inscrito. Os elementos de dados, quando representados, apresentam-se ligados a entidade por um trao de detalhe.endereo nome nmero de matrcula</p> <p>ALUNOFig. 4 - Exemplo de uma entidade com seus atributos</p> <p>A figura 4 mostra uma representao de uma entidade e seus atributos. O modelo original de Chen especifica um tipo especial de entidade cujas ocorrncias tm sua existncia dependente da existncia de oc...</p>