Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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.
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.
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.
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