Vous êtes sur la page 1sur 12

Banco de Dados 1

Banco de Dados Relacional


A tecnologia de banco de dados tem evoludo rapidamente nas ltimas trs dcadas desde a ascenso e eventual domnio dos sistemas de banco de dados relacionais (SGBDR sistema gerenciador de banco de dados relacional, RDBMS relational database management system). Enquanto muitos sistemas de bancos de dados especializados (orientado a objeto, espacial, multimdia, etc.) tm encontrado usurios substanciais nas comunidades cientficas e engenharia, os sistemas relacionais continuam dominando a tecnologia de banco de dados para negcios empresariais. O banco de dados relacional gerou uma indstria multi-bilionria, o tipo mais utilizado de banco de dados no mundo de hoje, e uma parte essencial de nossas vidas cotidianas. muito provvel que voc est usando um banco de dados relacional toda vez que compra mercadorias em uma loja, faz planos de viagem com seu agente de viagens, confere um livro na biblioteca, ou faz uma compra na Internet. O desenho de um banco de dados relacional tem evoludo de uma arte para uma cincia que tem sido parcialmente implementado como uma ferramenta de ajuda de desenvolvimento de software. Muitas dessas ferramentas tm surgido como um componente do banco de dados CASE, computer-aided software engineering. Muitas delas oferecem a capacidade de modelagem interativa, usando um modelo de dados simplificado aproximado. O desenho lgico que a estrutura de relacionamento de dados bsica e suas definies em um sistema particular de banco de dados em grande parte o domnio das aplicaes de designers. O trabalho desses designers podem ser efetivamente feito com ferramentas como o ERwim Data Modeler ou Rational Rose com Unified Modeling Language (UML linguagem de modelagem unificada), assim como um manual simplesmente aproximado. O desenho fsico, a criao eficiente do armazenamento e mecanismos de recuperao de dados na plataforma de computao que voc est usando, tipicamente o campo de conhecimento do administrador de banco de dados (DBA database administrator). Hoje em dia os DBAs tm um variedade de ferramentas venda disponvel para ajudar a desenhar o banco de dados mais eficiente.

Tipos de banco de dados


Um banco de dados uma coleo organizada de dados utilizados para a finalidade de modelar algum tipo de organizao ou processo organizacional. Realmente no importa se voc estiver usando papel ou um programa de software de computador para coletar e armazenar os dados. Enquanto voc est reunindo dados de alguma forma organizada para uma finalidade especfica, voc tem um banco de dados. Existem dois tipos de banco de dados encontrados na gesto de banco de dados, banco de dados operacionais e bancos de dados analticos. Bancos de dados operacionais a espinha dorsal de muitas empresas, organizaes, e instituies em todo o mundo de hoje. Este tipo de banco de dados usado principalmente em cenrios de processamento de transaes on-line (OLTP), ou seja, em situaes onde h necessidade de se recolher, modificar e manter os dados em uma base diria. O tipo de dados armazenados em um banco de dados operacional
http://erinaldosn.wordpress.com

2 Introduo

dinmico, significando que ele muda constantemente e sempre reflete informaes upto-the-minute. Organizaes, tais como lojas de varejo, companhias de manufatura, hospitais e clnicas, e editoras, usam bancos de dados operacionais, pois seus dados esto em um constante estado de fluxo. Em contraste, bancos de dados analticos so usados principalmente em cenrios de processamento analtico on-line (OLAP), onde h a necessidade de armazenar e controlar dados histricos e dependente de tempo. Um banco de dados analtico um recurso valioso quando h uma necessidade de acompanhar as tendncias, ver dados estatsticos durante um longo perodo de tempo, e fazer projees de negcios tticas ou estratgicas. Este tipo de banco de dados armazena dados estticos, o que significa que os dados nunca (ou muito raramente) modificado. A informao recolhida a partir de um banco de dados analtico reflete dados em um ponto instantneo no tempo. Laboratrios qumicos, geolgicos, empresas de marketing e anlise so exemplos de organizaes que usam bancos de dados analticos. Bancos de dados analticos costumam usar dados de bancos de dados operacionais como sua principal fonte de dados, assim pode haver certa quantidade de associaes entre eles; no entanto, bases de dados operacionais e analticos cumprem tipos muito especficos de processamento de dados, necessidades, e a criao de suas estruturas requerem metodologias de projeto radicalmente diferentes.

Os primeiros modelos de banco de dados


Nos dias que antecederam o modelo de banco de dados relacional, dois modelos de dados foram usados para manter e manipular dados o modelo de banco de dados hierrquico e o modelo de banco de dados de rede.

Modelo de banco de dados hierrquico


Dados neste tipo de banco de dados esto hierarquicamente estruturados e tipicamente diagramado como uma rvore invertida. Uma nica tabela no banco de dados funciona como a "raiz" da rvore invertida e as outras tabelas atuam como os ramos que fluem a partir da raiz. A Figura abaixo mostra um diagrama de uma estrutura de um tpico banco de dados hierrquico.

Um agente reserva diversos artistas, e cada artista tem sua prpria programao. Um agente tambm mantm um nmero de clientes cujas necessidades de entretenimento so atendidas pelo agente. Um cliente reserva compromissos por meio do agente e faz os pagamentos ao agente por seus servios.
http://erinaldosn.wordpress.com

Banco de Dados 3

Uma relao num banco de dados hierrquico representado pelo termo pai/filho. Neste tipo de relao, uma tabela pai pode ser associado com um ou mais tabelas filho, mas uma nica tabela filho pode ser associado com apenas uma tabela pai. Estas tabelas so explicitamente ligadas atravs de um ponteiro ou pela disposio fsica dos registros dentro das tabelas. Um usurio acessa os dados dentro deste modelo, iniciando da tabela de raiz e trabalhando para baixo atravs da rvore para os dados de destino. Este mtodo de acesso requer que o utilizador esteja muito familiarizado com a estrutura do banco de dados. Uma vantagem de usar um banco de dados hierrquico que um usurio pode obter dados muito rapidamente, porque existem ligaes explcitas entre as estruturas de tabelas. Outra vantagem que a integridade referencial construda e automaticamente executadas. Isso garante que um registro em uma tabela filho deve ser ligado a um registro existente em uma tabela pai, e que um registro excludo na tabela pai far com que todos os registros associados na tabela filho para ser excludo. Em um banco de dados hierrquico ocorre problema quando um usurio precisa armazenar um registro em uma tabela filho que est alheio a qualquer registro em uma tabela pai. Por exemplo, um usurio no pode cadastrar um novo artista na tabela Artistas at que o artista seja atribudo a um agente na tabela AGENTES. No entanto, na vida real, artistas comumente se inscrevem com a agncia muito antes deles serem atribudos a agentes especficos. Este cenrio difcil de modelar em um banco de dados hierrquico. Este tipo de banco de dados no pode suportar relacionamentos complexos, e h muitas vezes problema com dados redundantes.

O modelo de banco de dados de rede


O banco de dados de rede foi, na sua maior parte, desenvolvido como uma tentativa para resolver alguns dos problemas da base de dados hierrquica. A estrutura de um banco de dados de rede est representado em termos de ns e estruturas definidas. A figura abaixo mostra um diagrama de um banco de dados de rede tpica.

Um n representa uma coleo de registros e uma estrutura definida estabelece e representa um relacionamento em um banco de dados da rede. uma construo transparente que se relaciona com um par de ns em conjunto usando um n como um proprietrio e outro n como um membro. A estrutura suporta um conjunto de relao um-para-muitos, o que significa que um registro no n proprietrio pode estar relacionado a um ou mais registros no n do membro, mas uma nico registro no n do membro est relacionado com apenas uma gravao no n proprietrio. Alm disso, um
http://erinaldosn.wordpress.com

4 Introduo

registro no n membro no pode existir sem estar relacionada a um registro existente no n proprietrio. Por exemplo, um cliente deve ser atribudo a um agente, mas um agente com nenhum cliente ainda pode ser listado na base de dados.

Uma vantagem que o banco de dados de rede fornece um acesso rpido aos dados. Ele tambm permite aos usurios criar consultas que so mais complexas do que aquelas criadas usando um banco de dados hierrquico. A principal desvantagem do banco de dados da rede que o usurio tem de estar muito familiarizado com a estrutura do banco de dados, a fim de trabalhar com o conjunto de estruturas. Outra desvantagem que no fcil mudar a estrutura do banco de dados sem afetar os programas aplicativos que interagem com ele. Voc no pode mudar um conjunto de estrutura sem afetar os programas de aplicativos que usam essa estrutura para navegar pelos dados. Se voc alterar uma conjunto de estrutura, voc tambm deve modificar todas as referncias feitas a partir do programa de aplicao para essa estrutura. Embora o banco de dados de rede foi claramente um passo a partir do banco de dados hierrquico, algumas pessoas na comunidade de banco de dados acreditavam que devia haver uma maneira melhor de gerenciar e manter grandes quantidades de dados. Como cada modelo de dados surgiram, os usurios descobriram que podiam fazer perguntas mais complexas, aumentando assim as exigncias feitas sobre a base de dados. E assim, chegamos ao modelo de banco de dados relacional.

O modelo de banco de dados relacional


Um banco de dados relacional armazena dados em relaes, que o usurio entende como tabelas. Cada relao composta de tuplas, ou registros e atributos, ou campos. A ordem fsica dos registros ou campos em uma tabela completamente irrelevante, e cada registro na tabela identificada por um campo que contm um valor nico. Estas so as duas caractersticas de um banco de dados relacional que permitem aos dados existirem independentemente da forma como ele est fisicamente armazenado no computador. Como tal, um usurio no obrigado a conhecer a localizao fsica de um registro, a fim de recuperar seus dados. Isso diferente dos modelos de banco de dados de rede e hierrquico, em que conhecer o layout das estruturas crucial para a recuperao de dados. A relao entre um par de tabelas estabelecido implicitamente atravs de valores correspondentes de um campo compartilhado.

http://erinaldosn.wordpress.com

Banco de Dados 5

A base de dados relacional fornece um nmero de vantagens sobre os modelos anteriores, tais como o seguinte: Construdo em multinvel de integridade: integridade dos dados construdo no modelo em nvel de campo para garantir a preciso dos dados; no nvel de tabela para garantir que os registros no sejam duplicados e para detectar falta de valores de chave primria; no nvel de relacionamento para garantir que a relao entre um par de tabelas vlido; e no nvel de negcios para assegurar que os dados sejam precisos em termos de negcio em si. Independncia lgica e fsica de dados de aplicativos de banco de dados: Nem muda um usurio fazer o projeto lgico do banco de dados, nem tampouco muda um fornecedor de software de banco de dados fazer a implementao fsica do banco de dados, afetar negativamente as aplicaes construdas em cima dele. Garantida a consistncia dos dados e preciso: Os dados so consistentes e precisas devido aos vrios nveis de integridade que voc pode impor dentro do banco de dados.
http://erinaldosn.wordpress.com

6 Introduo

A fcil recuperao de dados: Ao comando do usurio, os dados podem ser recuperados quer a partir de uma tabela em particular ou a partir de qualquer nmero de tabelas relacionados dentro do banco de dados. Isso permite que um usurio visualize as informaes em um nmero quase ilimitado de maneiras.

Dados e gerenciamento de banco de dados


O componente bsico de um arquivo em um sistema de arquivo um item de dado, que chamada a menor unidade de um dado que tem significado no mundo real por exemplo, ltimo nome, primeiro nome, rua, nmero de identificao, e partido poltico. Um grupo de itens de dados relacionados tratados como uma unidade por uma aplicao chamada de registro. Exemplos de tipos de registros so pedidos, vendedores, clientes, produtos e departamentos. Um arquivo uma coleo de registros de um nico tipo. Sistemas de banco de dados so construdos e expandidos sobre essas definies. Em um banco de dados relacional, um item de dado chamado coluna ou atributo, um registro chamado linha ou tupla, e um arquivo chamado tabela. Uma base de dados um objeto mais complexo; uma coleo de dados armazenados interrelacionados que serve as necessidades de mltiplos usurios dentro de uma ou mais organizaes uma coleo interrelacionada de muitos tipos diferentes de tabelas. A motivao para a utilizao de banco de dados ao invs de arquivos tem sido pela maior disponibilidade de um conjunto diversificado de usurios, integrao de dados para facilitar o acesso e atualizao para transaes complexas e menos redundncia de dados. Um sistema gerenciador de banco de dados (SGBD) um sistema de software generalizado para manipulao de banco de dados. Um SGBD suporta uma viso lgica (esquema, subesquema); viso fsica (mtodos de acesso, agrupamento de dados); linguagem de definio de dados; linguagem de manipulao de dados; e importantes utilidades como gereciamento de transao e controle de concorrncia, integridade de dados, recuperao de travamento e segurana. Sistemas de banco de dados relacionais, o tipo dominante de sistemas para negcios de banco de dados bem formatados, tambm prov um maior grau de independncia de dados que os primeiros sistemas gerenciadores de banco de dados hierrquico e de rede. Independncia de dados a habilidade de fazer mudanas na estrutura lgica ou fsica de um banco de dados sem precisar reprogramar os programas da aplicao. tambm fazer a converso e reorganizao do banco de dados muito mais fcil. SGBD relacional prov um grau maior de independncia de dados que os sistemas anteriores.

Ciclo de vida do banco de dados


O ciclo de vida de um banco de dados incorpora os passos bsicos envolvidos na concepo de um esquema global do banco de dados lgico, alocando dados atravs de uma rede de computadores, e definindo um esquema local para um SGBD especfico. Uma vez que o projeto esteja completo, o ciclo de vida continua com a implementao e manuteno do banco de dados. O ciclo de vida de um banco de dados:
http://erinaldosn.wordpress.com

Banco de Dados 7

1. Anlise de requisitos: os requisitos de um banco de dados so determinados por meio de entrevistas de produtores e usurios dos dados, usando as informaes para produzir uma especificao formal de requisitos. Essa especificao inclui os dados necessrios para o processamento, os relacionamentos de dados naturais, e da plataforma de software para a implementao de banco de dados. Como exemplo, a figura abaixo mostra o conceito de produtos, clientes, vendedores e outros sendo formulados a partir da opinio do usurio final durante o processo de entrevistas. 2. Projeto lgico: o esquema global, um diagrama de modelo conceitual de dados que mostra todos os dados e seus relacionamentos, desenvolvido usando tcnicas como entidade-relacionamento (ER) ou UML. A construo do modelo de dados deve ser, no final, transformado em tabelas. a. Modelagem conceitual de dados: os requisitos de dados so analisados e modelados usando um ER ou diagrama UML que inclui muitas caractersticas, por exemplo, a semntica para relacionamentos opcionais, relacionamentos ternrios, supertipos e subtipos (categorias). Requisitos de processamento normalmente so especificados usando expresses de linguagem natural ou comandos SQL algo que ocorre com frequencia. b. Viso integrada: normalmente quando o projeto grande e mais de uma pessoa est envolvida na anlise de requisitos, mltiplas vises de dados e relacionamentos ocorrem, resultando em inconsistncias devido variao de taxonomia, a percepo de contexto. Para eliminar redundncia e inconsistncia do modelo, essas vises devem ser racionalizadas e consolidadas em uma nica viso global. A viso integrada requer o uso de ferramentas semnticas ER, como identificao de sinnimos, agregao e generalizao. Viso integrada
http://erinaldosn.wordpress.com

8 Introduo

tambm importante quando as aplicaes tem que ser integradas, e cada pode ser escrita com sua prpria viso de banco de dados.

c. Transformao do modelo conceitual de dados para tabelas SQL: baseado na categorizao da construo do modelo de dados e um conjunto de regras de mapeamento, cada relacionamento e suas entidades associadas so transformados em um conjunto de tabelas relacionais candidatas de um SGBD especfico. Tabelas redundantes so eliminadas como parte desse processo.

d. Normalizao de tabelas: dada uma tabela (R), um conjunto de atributos (B) funcionalmente dependente de outro conjunto de atributos (A) se, em cada instante de tempo, cada valor de A associado com exatamente um valor de B.
http://erinaldosn.wordpress.com

Banco de Dados 9

Dependncias funcionais so derivadas do diagrama conceitual do modelo de dados e da semntica dos relacionamentos de dados na anlise de requisitos. Eles representam as dependncias entre os elementos de dados que so identificadores nicos (chaves) de entidades. Dependncias funcionais adicionais, que representam as dependncias entre chave e atributos no chave com entidades, podem ser derivados a partir da especificao de requisitos. Tabelas relacionais candidatas associadas com todas as dependncia funcionais so normalizados (modificadas por decomposio ou diviso de tabelas em tabelas menores) usando tcnicas padro de normalizao. Finalmente, redundncias de dados que ocorrem nas tabelas candidatas normalizadas so analisadas para mais eliminaes possveis, com a restrio que a integridade de dados deve ser preservada.

3. Projeto fsico: envolve a seleo de ndices (mtodos de acesso), particionamento e agrupamento de dados. A metodologia do projeto lgico no passo 2 simplifica a abordagem para a concepo de grandes bandos de dados relacionais por reduo do nmero de dependncias de dados que precisam ser analisados. Isso realizado por insero da modelagem conceitual de dados e medidas de integrao na abordagem tradicional do projeto relacional. O objetivo dessas medidas uma representao exata da realidade. A integridade de dados preservada atravs da normalizao das tabelas candidatas criadas quando o modelo conceitual de dados transformado em um modelo relacional. A proposta do projeto fsico para otimizar o desempenho. Como parte do projeto fsico, o esquema global pode s vezes ser refinado de forma limitada para refletir o processamento (consultas e transaes) de requisitos se houverem obviamente grandes ganhos para ser feito com eficincia. Isto chamado desnormalizao. Consiste na seleo de processos dominantes na base de alta frequncia, alto volume ou prioridade explcita; definir extenses simples para tabelas que iro melhorar o desempenho da consulta; avaliar o custo total por consulta, atualizao e armazenamento; e considerando os efeitos colaterais, como

http://erinaldosn.wordpress.com

10 Introduo

possvel perda de integridade. Isso particularmente importante para aplicaes de processos analticos online (OLAP online analytical processing). 4. Implementao, monitoramento e modificao no banco de dados: uma vez que o projeto esteja concludo, o banco de dados pode ser criado atravs da implementao do esquema formal, usando a linguagem de definio de dados (DDL data definition language) de um SGBD. Ento, a linguagem de manipulao de dados (DML data manipulation language) pode ser usada para consultas e atualizaes no banco de dados, assim como a criao de indicies e estabelecer restries, como integridade referencial. A linguagem SQL contm ambas construes DDL e DML; por exemplo o create table representa DDL, e o comando select representa DML. medida que a base de dados comea a monitorizar as operes, indica se os requisitos de desempenho esto sendo satisfeitas. Se elas no estiverem sendo satisfeitas, modificaes devero ser feitas para melhorar o desempenho. Outras modificaes podem ser necessrias quando os requisitos mudam ou as expectativas do usurio final aumentam com o bom desempenho. Desta maneira, o ciclo de vida continua com monitoramento, reprojeto, e modificaes.

Modelagem conceitual de dados


A modelagem conceitual de dados o componente inicial de um projeto lgico de banco de dados. Diagramas de esquemas foram formalizados em 1960 por Charles Bachman. Ele usou retngulos para indicar tipos de registros e setas dirigidas a partir de um registro para outro para indicar um relacionamento um-para-muitos entre os casos de registros dos dois tipos. A entidade-relacionamento (ER) aborda a modelagem conceitual de dados. A forma de Peter Chen (1976) representar modelos ER utiliza retngulos para especificar entidades, que so de forma anloga aos registros. Tambm usa losango para representar os vrios tipos de relacionamentos, que so diferenciados por nmeros ou letras colocados nas linhas de conexo dos losangos para os retngulos. A linguagem de modelagem unificada (UML United Modeling Language) foi introduzida em 1997 por Grady Booch e James Rumbaugh a tornou-se uma linguagem grfica padro para especificar e documentar sistemas de software em larga escala. O componente de modelagem de dados de UML (agora UML-2) tem muita similaridade com o modelo ER. Na modelagem conceitual de dados, a nfase principal a simplicidade e legibilidade. A meta do projeto do esquema conceitual, onde as abordagens ER e UML so muito teis, capturar os requisitos de dados do mundo real de uma maneira simples e significativa que seja compreensvel tanto para banco de dados como para usurio final. O usurio final a pessoa responsvel por acessar o banco de dados e executar consultas e atualizaes atravs do uso de um software SGBD, e, portanto, tem interesse no processo de projeto do banco de dados.

Exerccios
1. Nomeie os dois principais tipos de bancos de dados em uso hoje. 2. Que tipo de dados armazena um banco de dados analtico? 3. A afirmao abaixo ____________________.
http://erinaldosn.wordpress.com

Banco de Dados 11

Um banco de dados operacional usado principalmente em cenrios de processamento de transaes on-line (OLTP). 4. Quais os dois modelos de dados que antecederam o modelo de banco de dados relacional? 5. Descreva uma relao pai/filho. 6. O que um conjunto de estrutura? 7. Como o modelo de banco de dados relacional armazenada dados? 8. Como voc recupera dados em um banco de dados relacional? 9. Cite duas vantagens de um banco de dados relacional. 10. O que um sistema de gerenciamento de banco de dados relacional? 11. Quais as quatro etapas do ciclo de vida de um banco de dados? 12. Cite as fases do projeto lgico. 13. Qual a diferena entre as linguagens DDL e DML? 14. Qual o objetivo da modelagem conceitual de dados? 15. Quais os produtos apresentados na fase de modelagem conceitual de dados? 16. Assinale V para verdadeiro e F para falso. ( ) Quanto maior o nmero de usurios que utilizam um sistema, mais aberto ele deve ser. ( ) A existncia de um sistema sempre pressupe o uso de um computador, independente do tamanho do mesmo. ( ) Todo sistema tem que fazer uso de pelo menos um computador. ( ) possvel construir um sistema de informao integrado sem a utilizao de computador. ( ) Os dados nascem no nvel estratgico da organizao e caminham no sentido do nvel operacional. ( ) Os dados de um sistema de informaes caminham do nvel operacional para o nvel estratgico. ( ) As respostas de um sistema de planejamento estratgico so to precisas quanto as de um sistema operativo. ( ) Os sistemas feitos para o nvel estratgico da organizao, so, via de regra, mais inteligentes que os sistemas do nvel operacional. ( ) As atualizaes nos dados no nvel ttico so rigorosas, j que os mesmos so formalmente estruturados. ( ) Os sistemas de apoio a deciso no tem inteligncia suficiente para decidir. ( ) Os objetivos que o sistema deve cumprir so cuidadosamente levantados na fase de projeto. ( ) O dado a informao no nvel atmico. ( ) Todos os dados que entram em um processo devem ter algum uso dentro do mesmo. ( ) Um processo produz dados derivados, mas nunca receber um dado desse tipo. ( ) Os dados que o sistema recebe do ambiente chegam atravs dos fluxos de dados. ( ) O dado independente do processo. ( ) O processo o elemento mais estvel de um sistema. ( ) Pode-se fazer o estudo dos dados de um sistema, independente do estudo dos processos. ( ) No se consegue estruturar os dados de um sistema sem conhecer profundamente os processos que os manipulam. ( ) Uma consulta a um dado, efetuada por um processo, suficiente para indicar
http://erinaldosn.wordpress.com

12 Introduo

que o dado til ao sistema. ) Desde que bem descrito, um dado pode aparecer at trs vezes no modelo conceitual de dados. ( ) Os trs tipos de banco de dados comerciais so: hierrquico, rede e relacional. ( ) Durante a construo do modelo conceitual de dados no h participao de usurios. ( ) O modelo conceitual de dados pode apresentar redundncia de dados quando o banco de dados a ser desenvolvido for do tipo hierrquico. ( ) Um modelo lgico de dados desenvolvido para um banco de dados do tipo hierrquico no ser adequado para um banco de dados do tipo relacional. ( ) O modelo lgico de dados no se preocupada com o tipo de banco de dados que ser instalado no sistema. ( ) O modelo conceitual de dados desenvolvido sem se preocupar com a tecnologia a ser utilizada na instalao do sistema. ( ) O detalhamento dos processos durante a fase de anlise podem trazer ajustes no modelo de dados. ( ) Tupla a mesma coisa que atributo. ( ) O elemento de dado faz parte do fluxo de dados, enquanto o atributo forma a tabela. 17. Relacione. (A) Dado ( ) coluna ou atributo (B) Registro ( ) linha ou tupla (C) Arquivo ( ) tabela (D) SGBD ( ) programa para manipulao do banco de dados (

Bibliografia
Database Modeling and Design: Logical Design Toby Teorey, Sam Lightstone, Tom Nadeau, H. V. Jagadish USA: Elsevier, 2011 Database Design for Mere Mortals 2 edio Michal J. Hernandez USA : Addison-Wesley, 2003

http://erinaldosn.wordpress.com

Vous aimerez peut-être aussi