Bases de dados e access xp

640 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
640
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
32
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Bases de dados e access xp

  1. 1. Centro Atlântico DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP
  2. 2. Ana Azevedo António Abreu Vidal de Carvalho DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP
  3. 3. Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra. DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFTACCESS XP Colecção: Tecnologias Autores: Ana Azevedo, António Abreu, Vidal de Carvalho Direcção gráfica: Centro Atlântico Revisão: Centro Atlântico Capa: Paulo Buchinho © Centro Atlântico, Lda., 2002 Ap. 413 - 4764-901 V. N. Famalicão Porto - Lisboa Portugal Tel. 808 20 22 21 geral@centroatlantico.pt www.centroatlantico.pt Fotolitos: Centro Atlântico Impressão e acabamento: Inova 1ª edição: Julho de 2002 ISBN: 972-8426-54-2 Depósito legal: 182.646/02 Marcas registadas: todos os termos mencionados neste livro conhecidos como sendo marcas registadas de produtos e serviços, foram apropriadamente capitalizados. A utilização de um termo neste livro não deve ser encarada como afectando a validade de alguma marca registada de produto ou serviço. O Editor e os Autores não se responsabilizam por possíveis danos morais ou físicos causados pelas instruções contidas no livro nem por endereços Internet que não correspondam às Home-Pages pretendidas.
  4. 4. Agradecemos às nossas famílias pelo seu apoio e paciência, durante a realização deste projecto, à empresa FuturSoft e ao nosso editor, Dr. Libório Manuel Silva, pela disponibilidade, sugestões e apoio.
  5. 5. OFERTA Envie um e-mail* para accessxp@centroatlantico.pt para receber os endereços de Internet de onde poderá fazer o download dos exercícios deste livro. * O leitor consente, de forma expressa, a incorporação e o tratamento dos seus dados nos ficheiros automatizados da responsabilidade do Centro Atlântico, para os fins comerciais e operativos do mesmo. O leitor fica igualmente informado sobre a possibilidade de exercer os direitos de acesso, rectificação e cancelamento dos seus dados nos termos estabelecidos na legislação vigente, na sede do Centro Atlântico, por qualquer meio escrito.
  6. 6. INTRODUÇÃO ....................................................................... 15 PARTE I ....................................................17 I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES ...... 19 1.1 Características de um sistema .............................................20 1.2 A organização vista como um sistema ................................21 1.3 A Informação ...........................................................................22 1.3.1 Características da informação .......................................22 1.3.2 A Informação nas organizações .....................................23 1.3.3 Tipos de informação nas organizações ........................24 1.4 Os Sistemas de Informação Organizacionais ....................25 1.4.1 Evolução histórica dos Sistemas de Informação .........26 1.4.2 Planeamento e desenvolvimento de Sistemas de Informação ...........................................28 1.4.3 A introdução dos Sistemas de Informação nas organizações...................................................................30 I.2. BASES DE DADOS...................................................... 33 2.1 As raízes históricas: Ficheiros e Sistemas de Ficheiros...34 2.1.1 Gestão de dados nos Sistemas de Ficheiros..............35 2.1.2 Dependência dados-aplicações....................................37 2.1.3 Redundâncias nos dados ...............................................37 2.2 Sistemas de Bases de Dados .............................................38 2.2.1 Características de um Sistema de Bases de Dados ..39 2.2.2 Intervenientes num Sistema de Bases de Dados ........41 2.2.3 As funções do Sistema de Gestão de BD ....................42 ÍNDICE
  7. 7. CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP8 2.2.4 Arquitectura do SGBD e Independência dos Dados...44 2.2.5 Linguagens fornecidas pelo SGBD ...............................45 2.2.6 Classificação dos SGBD‘s.............................................47 2.2.7 Vantagens e desvantagens dos Sistemas de BD .......48 2.3 Modelos de Bases de Dados ...............................................49 2.3.1 Modelo hierárquico ..........................................................49 2.3.2 Modelo em rede ...............................................................51 2.3.3 O Modelo Relacional .......................................................53 2.3.4 Novos modelos: Modelos Orientados a Objectos e Extensões ao Modelo Relacional.................................55 2.4 Tendências futuras..................................................................59 2.4.1 Data Warehouses ............................................................59 2.4.2 OLAP‘s..............................................................................62 2.4.3 Data Mining ......................................................................63 2.4.4 Integração com a Web ....................................................64 I.3. O MODELO RELACIONAL DE BASES DE DADOS.............. 67 3.1 Terminologia Básica ..............................................................68 3.2 Atributos Chave ......................................................................71 3.3 Regras de Integridade ...........................................................74 3.3.1 Integridade de Entidade..................................................74 3.3.2 Integridade Referencial ...................................................74 3.4 Operadores da Álgebra Relacional .....................................75 3.4.1 O Operador SELECT......................................................75 3.4.2 O operador PROJECT....................................................76 3.4.3 O operador PRODUCT...................................................77 3.4.4 O operador UNION ..........................................................78 3.4.5 O Operador DIFFERENCE ............................................79 3.4.6 O Operador INTERSECT................................................80 3.4.7 O operador JOIN ..............................................................80 3.4.8 O operador DIVIDE .........................................................82 3.5 SQL – Uma linguagem de bases de dados relacionais ....83 3.5.1 Definição de dados .........................................................84 3.5.2 Inserção e actualização de dados .................................87 3.5.3 Queries com SQL ............................................................89 3.6 As regras de Codd .................................................................92
  8. 8. 9ÍNDICE I.4. MODELAÇÃO DE DADOS.............................................. 95 4.1 A importância da modelação de dados...............................95 4.2 O modelo Entidade-Relacionamento (E-R) ........................97 4.2.1 Entidades e Atributos ......................................................97 4.2.2 Relacionamentos ...........................................................100 4.2.3 Entidades fracas ............................................................107 4.2.4 Entidades compostas ...................................................107 4.2.5 Uma comparação de notações....................................110 4.3 Desenvolvendo um Diagrama E-R..................................... 111 4.4 Correspondência entre o modelo E-R e o modelo relacional ...........................................................117 I.5. DEPENDÊNCIAS FUNCIONAIS E NORMALIZAÇÃO .............121 5.1 A Importância da Normalização ..........................................123 5.2 Dependências funcionais ....................................................124 5.3 O processo de normalização ..............................................125 5.3.1 Primeira Forma Normal ................................................126 5.3.2 Segunda Forma Normal................................................129 5.3.3 Terceira Forma Normal .................................................130 5.3.4 Forma Normal de Boyce-Codd ....................................132 5.3.5 Quarta e Quinta Formas Normais ................................134 PARTE II ................................................. 137 II.1. MS ACCESS XP.....................................................139 1.1 Definição ...............................................................................139 1.2 Características Gerais .........................................................139 1.3 Novidades do Microsoft Access XP ..................................141 1.4 Novas funcionalidades do Microsoft Access XP ..............141 1.5 Iniciar o Access XP ..............................................................144 1.5.1 Opções no menu de arranque do Access XP ............145 1.6 Criar uma base de dados no Access XP ..........................146 1.6.1 Criar uma base de dados utilizando o Assistente de base de dados .......................................146
  9. 9. CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP10 1.6.2 Criar uma base de dados sem utilizar o Assistente de base de dados .......................................147 1.7 Os Objectos na janela de uma Base de Dados ..............148 II.2. TABELAS ................................................................151 2.1 Criação de uma tabela ........................................................151 2.2 Como criar uma tabela com o Assistente de tabelas ......153 2.3 Como criar uma tabela por inserção de dados ................154 2.4 Como criar uma tabela sem o Assistente de tabelas ......155 2.4.1 Utilizar o Construtor de Campos ..................................156 2.4.2 Escolher tipos de dados ...............................................157 2.4.3 Propriedades dos campos ...........................................157 2.4.4 Campo chave primária..................................................165 2.5 Relacionamentos entre tabelas ..........................................166 2.5.1 Criação de relacionamentos ........................................167 2.5.2 Integridade Referencial .................................................168 2.5.3 Tipos de relacionamentos.............................................169 2.5.4 Alteração da estrutura de relacionamentos ................169 2.6 A folha de dados de uma tabela .........................................170 2.7 Importação e Exportação de dados...................................172 2.7.1 Importar dados ...............................................................172 2.7.2 Exportar dados...............................................................173 2.8 Exercício Guiado ..................................................................175 II.3. CONSULTAS ............................................................185 3.1 Definição ...............................................................................185 3.2 Razões para aplicar uma consulta .....................................186 3.3 Criação de uma consulta .....................................................187 3.4 Como criar uma consulta com o Assistente ......................188 3.5 Como criar uma consulta sem o Assistente ......................189 3.5.1 Descrição da janela para a criação de uma consulta190 3.5.2 Caracterização da grelha da consulta .........................191 3.5.3 Inserção de campos nas consultas..............................191 3.5.4 Visualizar a consulta através da folha de dados ........192 3.5.5 Especificar o tipo de ordenação..................................193 3.5.6 Valores superiores.........................................................194 3.6 Definição de critérios em consultas ...................................194
  10. 10. 11ÍNDICE 3.7 Criação de consultas com base em várias tabelas .........196 3.8 Consultas com parâmetros .................................................198 3.9 Criar campos calculados.....................................................199 3.10 Consultas de Referência Cruzada ...................................203 3.10.1 Criar uma Consulta Tabela de referência cruzada com um Assistente .......................................204 3.10.2 Como criar uma consulta de referência cruzada sem o Assistente .........................................................205 3.10.3 Especificar os cabeçalhos de colunas .....................206 3.11 Consultas de Acção ...........................................................207 3.11.1 Consulta criar tabela ....................................................207 3.11.2 Consulta eliminação ....................................................209 3.11.3 Consulta acrescentar...................................................210 3.11.4 Consulta actualização .................................................211 3.12 Consultas SQL ...................................................................212 3.12.1 Como visualizar ou modificar uma declaração do SQL .....................................................213 3.12.2 Consultas de SQL específicas ...................................213 3.12.3 Utilização de Subconsultas ........................................216 3.13 Exercício Guiado ................................................................217 II.4. FORMULÁRIOS .........................................................229 4.1 Definição ...............................................................................229 4.2 Aplicação de formulários .....................................................229 4.3 Modos de Criação de formulários......................................230 4.4 Formulários com “Formulários Automáticos” ....................231 4.4.1 Formulário Automático: Colunas ..................................231 4.4.2 Formulário Automático: Tabelas...................................231 4.4.3 Formulário Automático: Folha de Dados ....................232 4.5 Formulários usando os Assistentes ...................................233 4.5.1 Como criar um novo formulário com o Assistente .....233 4.6 Formulários usando a vista de estrutura............................235 4.6.1 Como criar um formulário sem o Assistente ...............235 4.6.2 Inserir campos na área do formulário ..........................236 4.7 Secções do formulário.........................................................237 4.7.1 Alterar o tamanho de uma secção ...............................238 4.7.2 Seleccionar as propriedades de uma secção ou do próprio formulário................................................238 4.8 Controlos num Formulário ...................................................239
  11. 11. CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP12 4.8.1 Controlos dependentes, independentes e de cálculo 239 4.8.2 Criar outros controlos usando a Caixa de Ferramentas ....................................................240 4.8.3 Criar controlos que calculem valores...........................241 4.8.4 Criar controlos tipo etiqueta .........................................241 4.8.5 Alterar as propriedades de um controlo já existente .242 4.8.6 Grupo de Opções ..........................................................243 4.8.7 Caixa de Listagem e Caixa de Combinação .............248 4.8.8 Subformulários ...............................................................253 4.8.9 Cálculos num formulário ................................................256 4.8.10 Cálculos num subformulário .......................................257 4.8.11 Botões de comandos ..................................................259 4.8.12 Quebras de página ......................................................262 4.8.13 Moldura de objecto dependente e independente ....262 4.9 Efeitos especiais de construção ........................................265 4.9.1 Como obter uma grande selecção de cores ..............266 4.9.2 Formatação dos controlos do Formulário...................266 4.9.3 Caixas de informação para os controlos ....................267 4.11 Impressão e gravação de um formulário .........................268 4.12 Exercício Guiado ................................................................269 II.5. RELATÓRIOS............................................................279 5.1 Definição ...............................................................................279 5.2 Aplicação de Relatórios ......................................................279 5.3 Modos de Criação de Relatórios .......................................280 5.4 Relatório com Relatórios Automáticos ..............................282 5.4.1 Relatório Automático: Colunas .....................................282 5.4.2 Relatório Automático: Tabelas......................................283 5.5 Relatórios usando os Assistentes ......................................283 5.5.1 Como criar um relatório com o Assistente ..................284 5.5.2 Como criar um relatório com o Assistente de etiquetas..................................................287 5.6 Relatórios usando a vista de estrutura...............................291 5.6.1 Como criar um relatório sem o Assistente ..................291 5.7 Secções do Relatório ..........................................................292 5.8 Controlos em Relatórios ......................................................294 5.9 Ordenação e Agrupamento .................................................295 5.9.1 Ordenação de dados ....................................................295 5.9.2 Agrupar os dados ..........................................................296
  12. 12. 13ÍNDICE 5.10 Impressão de um relatório ................................................297 5.11 Exportar Relatórios para o MSWord e MSExcel............298 5.12 Exercício Guiado ................................................................299 II.6. PÁGINAS DE ACESSO A DADOS..................................305 6.1 Definição ...............................................................................305 6.2 Utilização das Páginas de acesso a dados .....................305 6.3 Modos de Criação de Relatórios .......................................306 6.4 Criar Páginas com Página Automática .............................307 6.5 Criar Páginas com o Assistente .........................................308 6.6 Páginas usando a vista de estrutura ..................................311 6.6.1 Como criar uma página sem o Assistente ..................311 6.6.2 Secções da Página .......................................................313 6.6.3 Adicionar um tema a uma página ................................314 6.6.4 Agrupar os dados de uma página ...............................315 6.7 Ver a página de acesso a dados .......................................316 6.8 Tornar disponíveis as páginas de acesso a dados ..........317 6.9 Exercício Guiado ..................................................................320 II.7. MACROS ................................................................327 7.1 Definição ...............................................................................327 7.2 Acções e argumentos ..........................................................327 7.3 Criar uma macro...................................................................328 7.4 Executar e Testar uma macro .............................................330 7.4.1 Executar uma macro a partir da janela BD .................330 7.4.2 Executar uma macro com recurso a um botão de comando .........................................................331 7.4.3 Testar uma macro passo-a-passo ...............................332 7.5 Criar Grupos de Macros ......................................................333 7.6 Criar Macros Condicionadas..............................................335 7.7 Atribuir Macros a Acontecimentos......................................336 7.7.1 Atribuir uma macro a um acontecimento .....................337 7.7.2 Criar uma nova macro para um acontecimento .........338 7.8 Exercício Guiado ..................................................................340
  13. 13. CENTRO ATLÂNTICO - DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP14 PARTE III ................................................ 345 III.1. VBA - MICROSOFT VISUAL BASIC FOR APPLICATIONS 347 1.1 Introdução à Programação em VBA ..................................347 1.2 Características da programação em VBA ........................347 1.2.1 Programação Orientada por Objectos ........................347 1.2.2 O ambiente de desenvolvimento do VBA ...................348 1.2.3 Procedimentos e Módulos ............................................358 1.2.4 Janela do Editor de Visual Basic – VBE Windows ...367 1.2.5 Conceitos e Estruturas de Controlo em VBA .............372 ANEXO I. GLOSSÁRIO DE ABREVIATURAS ...............................413 ANEXO II. FUNÇÕES DO VBA.............................................417 ANEXO III. PROTECÇÃO JURÍDICA DAS BASES DE DADOS ELECTRÓNICAS (POR MANUEL OEHEN MENDES) ....423 BIBLIOGRAFIA ....................................................................439
  14. 14. Introdução A ideia de escrever este livro surgiu do facto de nós, os seus autores, com responsabilidades e diversos projectos desenvolvidos com estes conceitos e tecnologias, quer a nível académico quer a nível profissio- nal, sentirmos a falta de um livro que englobasse todo o processo de concepção e implementação de um sistema de base de dados. Ao pensar na sua elaboração, pretendemos atingir um vasto leque de leitores. Em primeiro lugar, pretendemos abranger leitores no contexto das PME’s portuguesas, dada a importância da utilização dos sistemas de bases de dados nesta área. Por outro lado, entendemos também que o nosso trabalho tem as características necessárias para que possa ser utilizado como ferramenta a nível académico, no apoio às disciplinas de Sistemas de Informação e de Bases de Dados. Salientamos os seguintes aspectos do livro: • É feito um enquadramento teórico do tema das bases de dados, pois consideramos esse enquadramento fundamental; • Nos aspectos teóricos serão referenciadas as últimas evoluções registadas nesta área, nomeadamente, novos modelos de bases de dados, Datawarehouses, Data Mining, etc. • É feita a utilização de um “exercício guiado” uniforme em todo o livro e que será a base para o desenvolvimento dos procedi- mentos associados à elaboração de uma Base de Dados; • Será feita a exploração das últimas potencialidades da nova ver- são do Microsoft Access XP (pois é o SGBD mais utilizado em Portugal quer nas PMEs quer nas aulas das disciplinas de Intro- dução às Bases de Dados nas Universidades), nomeadamente as funcionalidades associadas à Internet;
  15. 15. 16 CENTRO ATLÂNTICO -DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Este livro encontra-se estruturado em três partes distintas e comple- mentares. Esta estruturação proporciona aos leitores uma sequência lógica dos procedimentos a adoptar na elaboração de uma base de dados, desde a estruturação inicial dos dados, passando pelas funcio- nalidades do Microsoft Access XP, até aos procedimentos mais avan- çados suportados pela programação em Visual Basic (VBA). Na primeira parte é feito um enquadramento teórico do tema das bases de dados. Neste sentido, começamos por abordar os Sistemas de Informação organizacionais, dos quais fazem parte os Sistemas de Bases de Dados. Posteriormente veremos alguns conceitos importantes relacionados com estes assuntos. Exploramos também o modelo rela- cional de Bases de Dados, apresentando os operadores da Álgebra Relacional e fazendo uma breve abordagem à linguagem SQL. Segui- damente veremos o Modelo Entidade-Relacionamento para Modelação de Dados. Abordaremos por fim o conceito de Dependências Funcionais e a Normalização de relações. Na segunda parte serão abordados os procedimentos e funcionalidades associados à concepção, implementação e manutenção de uma Base de Dados, com base na utilização do Sistema de Gestão de Base de Dados Microsoft Access XP. Com efeito, serão explorados na prática os diferentes objectos do MS Access XP nomeadamente, Tabelas, Con- sultas, Formulários, Relatórios, Páginas de acesso a dados e Macros. Na terceira parte serão abordados conceitos gerais sobre programação orientada a objectos, em particular, será abordada a linguagem de pro- gramação VBA como linguagem de manipulação de bases de dados com MS Access XP.
  16. 16. PARTE I Na primeira parte deste livro é feito um enquadramento teórico do tema das bases de dados. Neste sentido, começamos por abor- dar os Sistemas de Informação organizacionais, dos quais fazem parte os Sistemas de Bases de Dados. Posteriormente veremos alguns conceitos importantes relacionados com estes assuntos. Exploramos também o modelo relacional de Bases de Dados, apresentando os operadores da Álgebra Relacional e fazendo uma breve abordagem à linguagem SQL. Seguidamente veremos o Modelo Entidade-Relacionamento para Modelação de Dados. Abordaremos por fim o conceito de Dependências Funcionais e a Normalização de Relações.
  17. 17. 1 Os Sistemas de Informação e as Organizações É difícil conceber a sociedade de hoje sem a omnipresença dos com- putadores e dos sistemas informáticos. A maior parte dos lares portu- gueses tem já um computador, ou pelo menos algum dos seus ele- mentos já trabalhou com um. Esta presença torna-se mais significativa quando nos restringimos ao mundo empresarial. Qualquer empresa, por mais pequena que seja, tem pelo menos um computador. A utilização que deles é feita, vai desde o simples processamento de texto aos modernos sistemas que integram todo o processo produtivo da empre- sa. Em muitas organizações os sistemas de informação e as aplicações informáticas são considerados como essenciais para a conquista de vantagens competitivas. No entanto, eles não são a panaceia do sucesso! É necessário determinar as necessidades e estabelecer os seus limites. Eles não surgem por si só. Em vez disso, são o produto de um processo de planeamento e desenvolvimento cuidadosos que requerem o empenhamento efectivo de toda a organização. As bases de dados, assunto principal deste livro, são um dos compo- nentes da vasta realidade que é um sistema de informação. Sem pre- tendermos ser exaustivos, consideramos importante enquadrar e clarifi- car este tema. Assim sendo, começamos por nos referir, em 1.1, às características de um sistema, para logo de seguida, em 1.2, vermos a organização como um sistema aberto. Seguidamente, em 1.3, vamos abordar o conceito de informação e a importância desta nas organiza- ções actuais. Finalmente, em 1.4, iremos centrar-nos nas características e evolução histórica dos sistemas de informação organizacionais bem como referiremos aspectos do seu planeamento e desenvolvimento.
  18. 18. 20 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 1.1 CARACTERÍSTICAS DE UM SISTEMA Na década de 50, o biólogo alemão Ludwig Von Bertalanffy observou que quaisquer organismos vivos pesquisados, embora se diferencias- sem uns dos outros por uma grande variedade de características, man- tinham algumas características comuns. Von Bertalanffy estendeu estas observações a outros tipos de organismos, como por exemplo, orga- nismos mecânicos ou organismos sociais, tendo constatado que algu- mas características se mantinham, independentemente da natureza do organismo. A mais importante característica que se podia sempre des- tacar era o objectivo (propósito) que o organismo atingia. Embora o organismo em observação fosse composto por uma série de elementos, percebia-se claramente a interacção desses elementos com vista a atingir um objectivo, que seria a finalidade daquele organismo. Com base nesses estudos e observações, Von Bertalanffy propôs a chamada Teoria Geral dos Sistemas. Desde essa altura muitos cientistas de todo o mundo têm efectuado estudos nessa área. Das várias definições de Sistema que podemos encontrar, salientamos a de Chiavenato (1992): “Um Sistema é um conjunto de elementos dinamicamente inter-relacionados, desenvolvendo uma actividade ou função para atingir um ou mais objectivos ou propósitos”. Chiavenato acrescenta que “quando falamos em natureza sistémica, geralmente queremos nos referir a esse funcionamento global, total e integrado, no qual o todo é maior (ou diferente) do que a soma das suas partes”. Cada sistema pode ser subdividido em vários sistemas – os subsiste- mas, dependendo dos interesses da pessoa que pretende estudá-lo. Por exemplo, o computador é um sistema que tem como objectivo pro- cessar dados e armazenar dados e informação. Podemos considerar que existem subsistemas que compõem o computador: o subsistema teclado, o subsistema CPU, etc. Por seu lado, o subsistema CPU con-
  19. 19. I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES 21 tém o subsistema placa de vídeo, o subsistema placa de som, o sub- sistema placa de memória, etc. Para conhecer um sistema temos de estudar a razão fundamental da sua existência (o objectivo), as partes dinamicamente inter-relacionadas (os componentes), a relação entre os componentes e a fronteira entre o sistema e o meio ambiente (a estrutura), a forma como o sistema reage às mudanças externas do seu ambiente (comportamento) e o seu ciclo de vida (que genericamente inclui evolução, desgaste, envelhecimento, substituição e morte). Qualquer sistema apresenta maior ou menor entropia, que é a tendên- cia que o sistema tem para o desgaste e a desintegração e que aumen- ta com o decorrer do tempo. Por outro lado, um sistema possui também alguma homeostasia, que é o equilíbrio dinâmico entre as partes do sistema, ou seja, os sistemas têm uma tendência para se adaptarem, a fim de alcançar um equilíbrio interno, em face das mudanças externas do meio ambiente. 1.2 A ORGANIZAÇÃO VISTA COMO UM SISTEMA Uma organização é composta por pessoas ou grupos de pessoas, inte- ragindo entre si para atingir objectivos comuns. Com o surgir da Teoria dos Sistemas tornou-se clara a natureza sistémica de qualquer organi- zação e em particular da empresa. O objectivo de qualquer empresa é obter lucro. Os componentes das empresas são, por exemplo, os depar- tamentos1 e a sua estrutura, ou relação entre esses departamentos, pode ser expressa, por exemplo, através de um organograma. O seu comportamento consiste na forma como a empresa reage ao seu ambiente, por exemplo, o que acontece quando recebe uma factura. 1 Conforme o tipo de abordagem pretendido poderíamos considerar outros componen- tes: pessoas, equipamentos, etc.
  20. 20. 22 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Uma organização pode ser identificada como um sistema aberto tal como é definido por Chiavenato (1992): “Os sistemas abertos trocam matéria e energia regularmente com o meio ambiente e são fundamen- talmente adaptativos, pois para sobreviver precisam reajustar-se conti- nuamente às condições mutáveis do meio. Essa adaptabilidade é um processo contínuo de aprendizagem e auto-organização do sistema aberto.” 1.3 A INFORMAÇÃO Diz-nos Chiavenato (1992) que “os recursos são meios que as empre- sas possuem para realizar as suas tarefas e atingir os seus objectivos: são bens ou serviços consumidos na realização das actividades empre- sariais.” Os recursos empresariais assumem uma grande variedade de formas, sendo geridos no sentido de alcançar objectivos de auto-sus- tentação e lucratividade. Molnar (1978) identificou a Informação como um recurso e, assim sendo, ela deve ser gerida como o são os restan- tes recursos de uma organização. Qualquer organização para sobrevi- ver necessita de informação. Esta permite que a organização possa alcançar os objectivos que se propõe atingir. 1.3.1 Características da informação Em 1979, Jean-Louis Le Moigne2 define informação como sendo um objecto formatado (dotado de formas reconhecíveis) criado artificial- mente pelo homem a fim de representar um acontecimento percebido por ele no mundo real. No seguimento, os informáticos definem infor- mação como sendo dados processados. É necessário que a informação seja clara, precisa, rápida e dirigida. A informação deverá estar disponível na organização de uma forma facil- 2 Citado em [Almeida, 1997]
  21. 21. I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES 23 mente utilizável e compreensível, disponível em tempo útil e obtida a um custo razoável. A utilização dos sistemas informáticos, nomeadamente os sistemas de bases de dados, é cada vez mais fundamental para que a informação seja obtida, pela organização, com estas características. 1.3.2 A Informação nas organizações Rob e Coronel (1997) identificam em qualquer organização um ciclo dados-informação-decisão, esquematizado na Figura I.1.1: o utilizador aplica a sua inteligência sobre os dados, produzindo informação. Esta é a base do conhecimento que é utilizado na tomada de decisões. As decisões geram determinadas acções que produzem mais dados... A informação flui numa organização de duas formas (Figura I.1.2): entre os níveis de gestão da organização e dentro de cada nível de gestão. Mais uma vez, referimos que os sistemas informáticos podem ser um auxiliar precioso, para que a informação flua na organização de forma eficiente. Figura I.1.1 Ciclo dados-informação-decisão
  22. 22. 24 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 1.3.3 Tipos de informação nas organizações Numa organização podem ser identificados dois tipos de Informação: • Operacional Sendo utilizada diariamente, permite que a organização leve a cabo as suas actividades de rotina, de forma eficiente; • De Gestão Serve de suporte à tomada de decisão nos três níveis da gestão. Na figura I.1.3, é feito um resumo das características de cada um dos dois tipos de informação, no que concerne a raio de acção, nível de detalhe, síntese, idade, exactidão e fonte. Características Operacional Gestão Raio de acção Reduzida Ampla Detalhe Muito detalhada Geral Síntese Geralmente em bruto Geralmente Sumariada Idade Tem de ser actual Pode ser antiga Exactidão Precisa de ser exacta Podem bastar estimativas Tipo Mais quantitativa Mais qualitativa Fonte Principalmente interna Principalmente externa Figura I.1. 2 Fluxo de infor- mação na orga- nização Figura I.1.3 Características dos tipos de Informação nas organizações
  23. 23. I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES 25 1.4 OS SISTEMAS DE INFORMAÇÃO ORGANIZACIONAIS As empresas actuais têm necessidade de desenvolver, implementar e gerir toda uma infra-estrutura capaz de dar apoio aos processos de recolha, armazenamento, criação e distribuição de informação. Essa infra-estrutura, que constitui o Sistema de Informação da organização, deve ser composta por recursos computacionais, humanos e organiza- cionais, que devem agir de forma integrada, com o objectivo de suportar as funções operacionais e de gestão da organização. As modernas tecnologias de informação permitem, quando devidamente integradas, que as organizações desenvolvam a qualidade dos seus serviços e produtos. Como afirma Serrano, “existe a consciência de que o sistema de Informação e as tecnologias de Informação e Comunica- ção não cumprem as suas funções sem a cumplicidade activa dos membros da organização, quer ao nível dos utilizadores quer ao nível dos decisores. A adopção da tecnologia pela tecnologia, por mais sofis- ticada que se apresente, não resolve qualquer problema. A adesão das pessoas à inovação, a cultura da partilha de conhecimento e a criação de memória organizacional são fundamentais para o funcionamento de um Sistema de Informação Organizacional.”. A United Kindgom Academy for Information Systems, na sua newsletter em 1995, considera o estudo de Sistemas de Informação como sendo uma área multidisciplinar que abrange as actividades de nível estraté- gico, táctico e operacional, envolvendo a recolha, processamento, dis- tribuição e utilização da informação e as tecnologias que lhe estão asso- ciadas, na sociedade e nas organizações. Como todos os sistemas, o Sistema de Informação é constituído por vários subsistemas e por outro lado faz parte integrante de um sistema maior que constitui o seu ambiente. Ao longo deste livro iremos analisar um dos subsistemas do Sistema de Informação: o Sistema de Bases de Dados.
  24. 24. 26 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 1.4.1 Evolução histórica dos Sistemas de Informação Do nosso ponto de vista, só podemos compreender o presente se conhecermos o passado. Assim sendo, passamos a apresentar um bre- ve apontamento sobre a evolução histórica dos Sistemas de Informação na empresa. De uma forma geral, podemos sintetizar a evolução dos Sistemas de Informação na empresa através de quatro fases ou eras. (Figura I.1.4). O despontar de uma fase não implica o desaparecimento de outro, havendo coexistência das eras 1, 2 e 3. Numa primeira fase, pretendia-se que, com a implementação dos siste- mas de informação na empresa, houvesse um aumento da eficiência das suas operações internas. Numa segunda fase, o objectivo era aumentar a eficácia da gestão. Numa terceira fase, ouve a intenção de alterar as bases de concorrência. Na quarta era, pretende-se aumentar a eficiência nas trocas inter-empresas, redesenhar os processos de gestão e mudar a estrutura dos próprios sectores industriais. 3 Adaptado de [Magalhães, 1993] Figura I.1.4 A evolução dos Sistemas de Informação na empresa 3
  25. 25. I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES 27 De uma forma mais específica, poderemos apresentar a evolução dos sistemas de informação como na Figura I.1.5. Os Sistemas de Proces- samento de Transacções (TSP – Transaction Processing Systems) sur- giram na década de 50 tendo como objectivo substituir o processamento manual de tarefas morosas e repetitivas, lidando normalmente com grandes quantidades de informação. Nos anos 60 surgem os Sistemas de Informação de Gestão (MIS – Management Information Systems). Estes pretendiam servir de suporte às actividades e funções de gestão e tomada de decisão numa organização. Na mesma época emergem os Sistemas de Gestão de Bases de Dados (DBMS – Data Base Manage- ment Systems), que serão alvo de maior atenção no capítulo seguinte. Refere-se também o aparecimento, na década de 70, dos Sistemas de Informação de Escritório (OIS – Office Information Systems) e dos Sis- temas de Suporte à Decisão (DSS – Decision Support Systems). Estes últimos são muitas vezes talhados à medida do utilizador. Na década de 80, têm sucesso os Sistemas Periciais (ES – Expert Systems), os Sis- temas de Informação para Executivos (EIS – Executive Information Sys- tems) e os Sistemas de Informação Estratégicos (SIS – Strategic Infor- mation Systems).
  26. 26. 28 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 1.4.2 Planeamento e desenvolvimento de Sistemas de Informação “Entende-se por Planeamento de Sistemas de Informação a actividade de identificação de políticas, definição de objectivos e construção de planos e orçamentos em que sejam contemplados os objectivos de ges- tão da organização e do Sistema de Informação.” (Carvalho e Amaral, 1993). O Planeamento de Sistemas de Informação deve ser conjugado com o desenvolvimento de Sistemas de Informação. “Por desen- volvimento de Sistemas de Informação deverá entender-se um processo de mudança que visa melhorar o desempenho de um (sub-)sistema de Informação.” (Carvalho e Amaral, 1993). Figura I.1.6 Fases de desenvolvimento de um Sistema de Informação
  27. 27. I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES 29 O Desenvolvimento de um Sistema de Informação pode ser dividido em várias fases, ilustradas na Figura I.1.6. As fases não são obrigatoria- mente sequenciais, existindo a possibilidade de retroceder às fases an- teriores sempre que necessário. • Estudo Preliminar Nesta primeira fase, definem-se os objectivos (quais são os pro- blemas, o que irá melhorar) e verifica-se a viabilidade quer téc- nica, quer operacional, quer económica. • Identificação de requisitos Nesta fase, indicam-se todos os requisitos necessários aos Sis- temas de Informação, utilizando técnicas de recolha de informa- ção tais como entrevistas e observação directa. É importante analisar os diferentes tipos de utilizadores do Sistema de Infor- mação. Estes são: utilizadores directos que, como a própria designação indica, utilizam directamente o Sistema de Informa- ção, utilizadores indirectos, que usam mapas produzidos pelos sistemas e utilizadores administrativos, que controlam as activi- dades desenvolvidas. • Análise detalhada Durante a análise detalhada organizam-se regras e procedi- mentos, através dos dados recolhidos, em modelos coerentes para o sistema em causa. Na parte I deste livro iremos estudar alguns modelos utilizados na análise de Sistemas de Bases de Dados. • Desenho Durante a fase de desenho, o modelo lógico, obtido na fase anterior, é complementado com o desenho dos processos, incluindo todas as especificações técnicas necessárias. • Codificação Esta fase consiste na construção da aplicação através de lin- guagens de programação (por exemplo, Visual Basic, C, ...) com ou sem recurso a Sistemas de Gestão de Bases de Dados (por exemplo, MS Access, Oracle, DB2, ...).
  28. 28. 30 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP • Testes e Implementação Através de testes, e antes de introduzir o novo sistema, deve-se garantir que o sistema satisfaz os objectivos, funcionalidades e requisitos especificados. É necessário formar os diferentes utili- zadores na utilização do sistema. • Manutenção Nesta última fase, estabelecem-se os tipos de manutenção. Esta pode ser correctiva, respondendo a erros do sistema, perfectiva, melhorando o sistema e adaptativa, devido a alterações do ambi- ente de negócio, havendo a necessidade de alterar a funcionali- dade do sistema. Existem vários métodos, técnicas e ferramentas disponíveis que apoiam no desenvolvimento de sistemas de informação. No entanto, citando Whitten e Bentley (1998), o desenvolvimento não é uma actividade mecânica. Não existem segredos mágicos para o sucesso, não existem ferramentas, técnicas ou métodos perfeitos”. 1.4.3 A introdução dos Sistemas de Informação nas organizações O processo de adopção de novas tecnologias/sistemas de informação nas organizações, pode ser sintetizado através do modelo dos estádios de crescimento de Nolan (1979), apresentados na Figura I.1.7.
  29. 29. I.1. OS SISTEMAS DE INFORMAÇÃO E AS ORGANIZAÇÕES 31 Figura I.1.7 Estádios de crescimento de Nolan Numa primeira fase é feita a instalação do computador na empresa e introduzindo-se a automatização (Iniciação). A instalação é seguida de uma rápida proliferação e crescimento dos sistemas informáticos (Expansão). Este crescimento rápido leva a um grande aumento dos custos na empresa provocando a necessidade de intervenção por parte da gestão (Controlo). Numa próxima fase, é sentida a necessidade de, além de controlar o crescimento, integrar as diversas aplicações em sistemas coerentes (Integração) – passamos para a gestão de informa- ção. Seguidamente é feita a conclusão do desenvolvimento e implanta- ção de um sistema integrado de Bases de Dados (Administração de Dados) e por fim uma fase em que o sistema está integrado no sistema produtivo da empresa (Maturidade). Crescimento I II III IV V VI Era da Informação I Iniciação II Expansão III Controlo IV Integração V Administração de dados VI Maturidade Era do Computador
  30. 30. 32 CENTRO ATLÂNTICO –DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP
  31. 31. 2 Bases de Dados De uma forma genérica podemos dizer que uma base de dados é um conjunto de dados relacionados, acessíveis a uma comunidade de utili- zadores. Desde tempos imemoriais o homem guardou em armários, gavetas (...) os dados importantes relativos às suas diversas actividades – as primeiras bases de dados. A partir de meados do século XX verificou-se um grande crescimento das organizações o que provocou um grande aumento no volume dos dados nelas utilizados. Ao mesmo tempo verificou-se um grande desen- volvimento dos computadores, que se tornaram mais acessíveis. Surge assim, de forma natural, a introdução dos computadores nas organiza- ções com o objectivo de servir de suporte às bases de dados nelas existentes. Numa primeira fase, surgem os chamados Sistemas de Ficheiros e só posteriormente são desenvolvidos os Sistemas de Bases de Dados. Com ambos se pretende obter acesso rápido aos dados gerando a informação necessária às diversas actividades. Os dados são guardados em ficheiros e a partir deles são gerados relatórios com a informação pretendida. Actualmente, quando nos referimos a bases de dados, queremos referir-nos às bases de dados em suporte informático. Embora se possa considerar que os Sistemas de Ficheiros estão desactualizados e que não fará sentido abordá-los, pensamos que só se poderão compreender as potencialidades de um Sistema de Bases de Dados se houver a compreensão dos Sistemas de Ficheiros, que os antecederam. Neste capítulo, iremos começar por abordar, em 2.1, as raízes históri- cas das bases de dados, nomeadamente, os Sistemas de Ficheiros. Em
  32. 32. 34 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 2.2, veremos as características de um Sistema de Bases de Dados e os seus intervenientes. Abordaremos ainda alguns aspectos importantes de um Sistemas de Gestão de Bases de Dados. Os modelos de Bases de Dados serão abordados em 2.3. Por fim, em 2.4, abordaremos algumas tendências de evolução na área das bases de dados. 2.1 AS RAÍZES HISTÓRICAS: FICHEIROS E SISTEMAS DE FICHEIROS Num Sistema de Ficheiros guardam-se diversos registos, de forma per- manente1 , em vários ficheiros. Existem também diversas aplicações ou programas que permitem efectuar uma variedade de operações com esses ficheiros: inserir dados, recuperar dados, alterar dados e apagar dados (Figura I.2.1). 1 Por permanente entende-se que, depois de um registo ser colocado numa base de dados, através de uma operação de inserção de dados, só pode ser eliminado através de uma operação de eliminação de dados. Clientes Encomendas Produtos Aplicação 3 Inserir novo cliente FICHEIROS DE DADOS APLICAÇÕES Aplicação 4 Imprimir facturas Aplicação 2 Inserir novo produto Aplicação 1 Efectuar encomenda
  33. 33. I.2. BASES DE DADOS 35 2.1.1 Gestão de dados nos Sistemas de Ficheiros Os ficheiros de um Sistema de Ficheiros possuem uma determinada estrutura física, que tem de ser conhecida para que possa ser elaborada cada uma das aplicações do sistema. Na figura I.2.2, apresentamos um exemplo do ficheiro Clientes, pertencente ao sistema de ficheiros apre- sentado na figura I.2.1. Antes de avançarmos, vamos definir alguma terminologia básica sobre ficheiros: • Dado factos em “bruto”, ou seja, a mais pequena porção de dados que o computador reconhece; pode ser um número, um caracter,...; • Campo um caracter ou conjunto de caracteres com um significado espe- cífico, como por exemplo um nome; • Registo um conjunto de um ou mais campos relacionados, que descre- vem uma pessoa, um lugar ou um objecto (concreto ou abs- tracto); • Ficheiro conjunto de registos relacionados. CLI-COD CLI-NOME CLI-MORADA CLI-TELEF 1 a n a p o r t o 1 2 3 4 5 6 7 8 9 2 m a r i a g a i a 4 4 4 5 5 5 6 6 6 3 j o s é l i s b o a 7 7 7 8 8 8 9 9 9 4 t i a g o s e t ú b a l 9 9 9 8 8 8 9 9 9 5 p e d r o c o i m b r a 6 6 6 5 5 5 4 4 4 6 j o a q u i m m a i a 3 3 3 2 2 2 1 1 1 campo registo dado Figura I.2.2 Exemplo do ficheiro Clientes
  34. 34. 36 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Cada ficheiro presente no sistema de gestão de ficheiros precisa, pelo menos, de cinco aplicações que permitam: • Criar a estrutura do ficheiro; • Adicionar dados ao ficheiro; • Eliminar dados do ficheiro; • Modificar dados contidos no ficheiro; • Listar o conteúdo do ficheiro. Cada uma dessas aplicações envolve várias operações, mais ou menos complexas. Por exemplo, para eliminar o cliente Ana, do ficheiro de clientes do exemplo, será necessário: • Abrir o ficheiro de clientes; • Procurar o registo relativo ao cliente Ana; • Eliminar o registo encontrado; • Fechar o ficheiro clientes. Podemos, através deste exemplo simples, reconhecer a dificuldade e morosidade existentes na implementação de um sistema de ficheiros, se pensarmos que todo este trabalho terá de ser multiplicado pelo nú- mero de ficheiros existentes no sistema. Por outro lado, a sua manutenção também é difícil. Consideremos nova- mente o exemplo da figura I.2.1. Depois de implementado o sistema, os gestores da empresa onde ele foi implementado, consideram importante obter relatórios mensais, contendo informações sobre os valores das encomendas realizadas por cada um dos clientes. Passa a haver a necessidade de, em cada mês, elaborar uma aplicação que possa pro- duzir esse relatório. Conforme se conseguem satisfazer algumas necessidades surgem imediatamente novas necessidades, o que implica a escrita de novas aplicações. Muitas vezes torna-se incompor- tável fazer uma gestão eficiente do sistema, devido ao elevado número de aplicações necessárias à sua manutenção.
  35. 35. I.2. BASES DE DADOS 37 Outro aspecto a ter em conta na gestão dos dados prende-se com a integridade dos dados, isto é, os valores guardados nos ficheiros devem satisfazer determinadas regras – as restrições de integridade. No exem- plo já apresentado, considerando o ficheiro encomendas, “só pode exis- tir uma encomenda se contiver algum produto” ou “só são aceites enco- mendas de valor superior a 5€”, são exemplos de duas restrições de integridade. Estas restrições são introduzidas no sistema adicionando código apropriado em várias aplicações, implicando um grande esforço adicional. Todas estas considerações têm a ver com sistemas utilizados por um utilizador. Imagine-se o esforço necessário para implementar e manter um sistema no qual exista a possibilidade de vários utilizadores (não simultâneos). Neste caso, seria preciso definir para, cada utilizador, se ele poderia ou não aceder aos dados, se poderia acedê-los apenas para consulta ou se poderia alterar os dados, etc. 2.1.2 Dependência dados-aplicações Num sistema de ficheiros, as aplicações estão directamente relaciona- das com os ficheiros, isto é, quando uma aplicação acede a um ficheiro, deve “dizer” ao computador não só “a que aceder” mas também “como acedê-lo”. Assim sendo, qualquer alteração na estrutura dos ficheiros provocará alterações em todas as aplicações que com ela se relacio- nam, com todos os inconvenientes daí resultantes. 2.1.3 Redundâncias nos dados Nos sistemas de ficheiros é difícil evitar que existam dados repetidos em diversos ficheiros. Quando isto acontece, diz-se que existe redun- dâncias nos dados. No exemplo da figura I.2.1, os dados relativos a cada cliente no ficheiro clientes, surgem repetidos no ficheiro encomen- das. Estas redundâncias conduzem a custos mais elevados ao gravar e ao aceder aos dados.
  36. 36. 38 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Um aspecto importante a considerar é o facto de estas redundâncias poderem gerar inconsistências nos dados, isto é, várias cópias do mesmo dado não serem coincidentes. Consideremos, no exemplo da figura I.2.1, a situação de, ao realizar uma encomenda se verificar que a morada do cliente que fez essa encomenda foi alterada. Como o utiliza- dor está a efectuar o pedido de encomenda com a aplicação destinada para esse efeito, inclui a nova morada apenas no ficheiro encomendas. Nesse momento surge um pedido de encomenda de um outro cliente. Como, para efectuar a alteração da morada do cliente anterior, é neces- sário recorrer a outra aplicação, o utilizador aproveita o facto de estar a utilizar a aplicação destinada ao pedido de encomendas para efectuar a nova encomenda. Entretanto esqueceu-se da alteração que deveria ter sido realizada! Desta forma, os dados relativos à morada do referido cliente não são coincidentes, isto é, são inconsistentes. 2.2 SISTEMAS DE BASES DE DADOS Um Sistema de Bases de Dados (SBD) é um sistema baseado em com- putador(es) que tem como principal objectivo armazenar dados de modo a permitir aos utilizadores consultar e actualizar a informação solicitada. Os Sistemas de Bases de Dados surgiram como resposta aos proble- mas apresentados pelos sistemas de ficheiros. Ao contrário destes, aqueles caracterizam-se por um repositório de dados que é acedido pelos diversos utilizadores através de um sistema – o Sistema de Ges- tão de Bases de Dados (SGBD)2 (figura I.2.3). Pela sua importância, o Sistema de Gestão de Bases de Dados será estudado de forma mais pormenorizada em 2.2.3 a 2.2.6. 2 Existe, por vezes, alguma confusão entre o Sistema de Bases de Dados e o Sistema de Gestão de Bases de Dados. Isto prende-se, talvez, com o facto de as empresas de software venderem o SGBD, como sendo o SBD. No entanto, o SBD é mais abrangente que o SGBD.
  37. 37. I.2. BASES DE DADOS 39 Figura I.2.3 Imagem simplificada de um Sistema de Bases de Dados 2.2.1 Características de um Sistema de Bases de Dados Várias características distinguem os Sistemas de Bases de Dados dos Sistemas de Ficheiros. Seguidamente apontamos algumas que conside- ramos importantes: • Catálogo do sistema Uma das características fundamentais dos Sistemas de Bases de Dados é que contém, não só a base de dados, mas também a definição completa ou descrição da base de dados – o catá- logo do sistema ou dicionário de dados3 . A informação contida no catálogo é chamada de metadata (dados sobre dados). O catálogo do sistema está acessível ao Sistema de Gestão de Bases de Dados e aos utilizadores e é au- tomaticamente criado pelo sistema. A existência do catálogo do 3 Alguns autores distinguem catálogo do sistema de dicionário de dados. Por exemplo, em [Rob e Coronel, 1997] o catálogo do sistema é interpretado como um dicionário de dados muito detalhado. SISTEMA DE GESTÃO DE BASES DE DADOS (SGBD) APLICAÇÕES DADOS UTILIZADORES
  38. 38. 40 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP sistema permite que um só SGBD possa ser eficientemente utili- zado com diversas bases de dados. • Independência Dados-Programas Outra característica importante dos Sistemas de Bases de Da- dos é a independência dados-programas: a estrutura dos fichei- ros de dados está gravada no catálogo do SGBD, separada dos programas que lhe acedem. • Abstracção dos dados O Sistema de Base de Dados deve fornecer ao utilizador uma representação abstracta dos dados, isto é, o sistema deve esconder detalhes sobre a forma como os dados são fisicamente armazenados e mantidos – abstracção dos dados. • Vistas múltiplas dos dados Normalmente, uma base de dados tem vários utilizadores. Cada utilizador necessita de ter acesso a perspectivas diferentes da base de dados – vista da base de dados (Figura I.2.4). Uma vista pode ser um subconjunto da base de dados, como por exemplo, a área de produção, do marketing, etc. Figura I.2.4 Vistas da Base de Dados S G B D Base de DadosUtilizadores
  39. 39. I.2. BASES DE DADOS 41 2.2.2 Intervenientes num Sistema de Bases de Dados Podemos classificar as pessoas intervenientes num Sistema de Bases de Dados em quatro categorias (que por vezes se sobrepõem): • Administrador de Dados e Administrador da Base de Dados O Administrador de Dados é o gestor responsável pela adminis- tração dos recursos da base de dados, passando pela planifica- ção, pelo estabelecimento de políticas e procedimentos. O Administrador da Base de Dados tem o controlo centralizado dos dados e dos programas que acedem a esses dados. É o responsável técnico que assegura que todo o sistema funciona de forma conveniente. Em algumas organizações não existe distinção entre estes dois papéis. • Analistas da base de dados São as pessoas que fazem o desenho da base de dados. São os responsáveis pela identificação dos dados a serem armazena- dos na base de dados e pela definição das estruturas físicas necessárias para armazenar esses dados. Para que a sua fun- ção seja cumprida de forma efectiva, os analistas devem estar envolvidos com as regras do negócio e com os utilizadores finais. • Programadores de aplicações Implementam as funcionalidades pretendidas pelos utilizadores finais, obtidas a partir de especificações fornecidas pelo analista de sistemas. Além disso, testam, corrigem erros, documentam e mantêm os programas escritos. Podem utilizar linguagens de programação de 3ª geração (por exemplo, C) ou de 4ª geração (por exemplo, INFORMIX-4GL). • Utilizadores finais São as pessoas que acedem ao sistema para obter a informação necessária ao seu desenvolvimento na organização. Alguns
  40. 40. 42 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP desses utilizadores acedem à base de dados a partir de progra- mas e interfaces já definidos, que pretendem tornar o acesso o mais simplificado possível. Existem outros utilizadores mais sofisticados, familiarizados com as facilidades fornecidas pelo SGBD que podem eles próprios escrever as suas aplicações. 2.2.3 As funções do Sistema de Gestão de Bases de Dados O Sistema de Gestão de Bases de Dados (SGBD) é uma aplicação informática que faz a gestão de toda a base de dados fornecendo, aos seus utilizadores, acessos controlados. Vamos, de seguida, apresentar algumas das funções de um SGBD: • Gestão do armazenamento dos dados O SGBD cria as estruturas necessárias ao armazenamento, e utilização dos dados, libertando o utilizador da difícil tarefa de definir e programar as suas características físicas. É criado o dicionário de dados que facilita este processo. • Gestão da Interface O SGBD formata os dados consultados de modo a que tenham um aspecto facilmente perceptível pelo utilizador. São disponibi- lizadas determinadas linguagens de programação que permitem essa interface (secção 2.2.5). Os SGBD’s mais recentes apre- sentam interfaces amigáveis que facilitam grandemente o acesso à base de dados por parte de utilizadores não especiali- zados. Fornecem também capacidades para comunicar em ambiente de redes de computadores, nomeadamente através da Internet. • Gestão da Segurança O SGBD cria um sistema de segurança que protege a base de dados de acessos não autorizados. São impostas regras que definem quais os utilizadores que podem ter acesso à base de dados, e para os utilizadores autorizados a forma como pode ser feito esse acesso, isto é, quais os ficheiros que podem ser ace-
  41. 41. I.2. BASES DE DADOS 43 didos e as operações permitidas (ler, adicionar, apagar ou modi- ficar). Deverão existir procedimentos que efectuem cópias de segurança e recuperação dos dados em caso de falhas, de modo a assegurar a segurança e a integridade dos dados. • Manutenção da Integridade dos dados O SGBD assegura a verificação de restrições de integridade de modo a que a base de dados contenha sempre dados válidos, minimizando a redundância nos dados e maximizando a sua consistência. Existem restrições de integridade intrínsecas ao SGBD4 e outras definidas pelos utilizadores do sistema. Outro aspecto a considerar é a gestão das transacções5 . Uma transacção é uma série de acções levada a cabo por um utiliza- dor ou por uma aplicação, como por exemplo, inserir um novo cliente na base de dados. Se uma transacção é interrompida antes do seu fim (devido, por exemplo, a uma falha de energia ou um sector danificado no disco), a base de dados estará num estado de inconsistência, isto é, algumas alterações foram efec- tuadas e outras não. O SGBD deverá ser capaz de desfazer o que foi feito até essa altura, de modo a devolver a base de dados a um estado de consistência. • Controlo de acessos por vários utilizadores em simultâneo Em bases de dados multi-utilizador (secção 2.2.6), pode aconte- cer que tentem aceder aos mesmos dados mais do que um utili- zador em simultâneo. O SGBD deve fornecer mecanismos que assegurem que a base de dados é actualizada correctamente, quando isso acontece – controlo da concorrência6 . 4 Cada um dos modelos de bases de dados que abordaremos em 2.3 possui restrições de integridade inerentes ao próprio modelo, incluídas no SGBD. 5 O estudo aprofundado destes assuntos sai fora do âmbito deste livro. Para uma abordagem mais aprofundada poderá consultar, por exemplo, [Elmasri e Navathe, 1989] ou [Date, 2000]. 6 IDEM.
  42. 42. 44 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 2.2.4 Arquitectura do Sistema de Gestão de Bases de Dados e Independência dos Dados Um dos objectivos de um Sistema de Base de Dados é o de fornecer aos utilizadores uma visão abstracta dos dados, isto é, o sistema esconde detalhes sobre a forma como os dados são armazenados e mantidos. Na arquitectura ANSI/SPARC7 , em 1975, são propostos três níveis de abstracção que podemos ver na figura I.2.58 . Figura I.2.5 A arquitectura ANSI/SPARC 7 American National Standards Institute/Standards Planning And Requirement Com- mitee 8 Uma proposta anterior para uma arquitectura geral de bases de dados surgiu em 1971 pelo DBTG (DataBase Task Group) indicado pela CODASYL, 1971 (Conference On DAta SYstems and Languages). O grupo reconheceu a necessidade da existência de dois níveis: um do sistema e outro do utilizador. Nível externo Utilizadores Finais Esquema Conceptual Vista externa 1 Vista externa 2 Vista externa 3 Esquema Interno Base de Dados Correspondência entre nível conceptual e nível externo Nível conceptual Nível interno Correspondência entre nível conceptual e nível interno
  43. 43. I.2. BASES DE DADOS 45 Vejamos um pouco mais em pormenor cada um dos três níveis referi- dos: • Nível Interno É o nível mais baixo de abstracção. Existe um esquema interno, o qual descreve a forma como os dados são fisicamente arma- zenados. Neste nível as estruturas de baixo nível dos dados são descritas em pormenor. • Nível conceptual No nível seguinte existe um esquema conceptual que descreve a estrutura dos dados para uma comunidade de utilizadores: quais os dados que estão armazenados e quais as relações existentes entre esses dados. • Nível externo O nível mais elevado de abstracção inclui um número de esquemas externos ou vistas do utilizador, que descrevem ape- nas uma parte da base de dados. Esta arquitectura de três níveis pode ser utilizada para explicar o con- ceito de independência dos dados, a qual pode ser definida como a capacidade de alterar o esquema de um determinado nível do sistema de base de dados sem alterar o esquema do próximo nível [Elmasri e Navathe, 1989]. Podemos definir dois tipos de independência dos dados que são a Independência lógica e a Independência física. • Independência lógica é a capacidade de alterar o esquema conceptual sem ter de alte- rar os esquemas externos ou programas de aplicação. Podemos alterar o esquema conceptual para expandir a base de dados ou para a reduzir. No segundo caso, os esquemas externos, relati- vamente aos dados que se mantêm inalterados, não devem ser afectados. Num SGBD que suporta independência lógica, ape- nas é preciso alterar as definições de vistas e as correspondên- cias entre os dois níveis [Elmasri e Navathe, 1989]. Podem tam-
  44. 44. 46 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP bém ocorrer mudanças nas restrições existentes, sem que sejam afectados os esquemas externos. • Independência física é a capacidade de alterar o esquema interno sem alterar o esquema conceptual (ou o externo) [Elmasri e Navathe, 1989]. As alterações no esquema interno podem ser feitas por ser necessário reorganizar fisicamente os ficheiros, para melhorar o desempenho do sistema. Se a base de dados continuar a ter os mesmos dados, não deverão haver alterações no esquema con- ceptual. É mais fácil conseguir a independência física do que a independência lógica, porque aquela tem apenas a ver com o isolamento das aplicações e das estruturas físicas armazenadas. Apesar de esta arquitectura de três níveis não se ter tornado uma norma9 , fornece uma boa base para o entendimento de algumas das funcionalidades de um SGBD. 2.2.5 Linguagens fornecidas pelo SGBD O SGBD coloca ao dispor de cada utilizador várias linguagens. Cada uma dessas linguagens inclui uma sublinguagem de dados que consiste de duas partes: • uma linguagem para manipulação de dados – DML10 • uma linguagem de definição de dados – DDL11 . Alguns SGBD`s permitem que as sublinguagens sejam embutidas numa linguagem de alto nível como por exemplo COBOL, PASCAL ou C (lin- guagens de 3ª geração). Uma DDL é utilizada para definir um esquema ou para modificar um esquema já existente. Uma DML é utilizada para efectuar todas as ope- 9 Do inglês standard. 10 Data Manipulation Language 11 Data Definition Language
  45. 45. I.2. BASES DE DADOS 47 rações básicas de manipulação de dados, tais como, inserir novos dados, modificar os dados armazenados ou apagar dados da base de dados. Existem DML`s imperativas, que permitem que o utilizador diga ao sistema como se devem efectuar as operações pretendidas e DML`s não imperativas, que permitem ao utilizador definir o que é necessário mas não como obtê-lo (linguagens de 4ª geração). Exemplos deste último tipo de DML`s são a SQL12 (que iremos apresentar em 3.5), QBE13 , geradores de formulários, geradores de relatórios (na parte II veremos exemplos para o SGBD Access). 2.2.6 Classificação dos SGBD`s A classificação de um SGBD pode ser feita atendendo a vários critérios, nomeadamente, o modelo no qual o SGBD se baseia, o número de utili- zadores e o número de locais pelos quais a base de dados está distri- buída. Atendendo ao modelo, os SGBD`s classificam-se em relacionais, em rede, hierárquicos ou outros. Em 2.3 abordaremos mais em pormenor estes modelos. Quanto ao número de utilizadores, podemos classificar os SGBD`s em SGBD`s mono-utilizador, se suportam apenas um utilizador de cada vez, ou multi-utilizador, se suportam a utilização simultânea de vários utilizadores. Os SGBD`s mono-utilizador estão normalmente ligados à utilização dos computadores pessoais. Exemplos de SGBD`s multi-utilizador encontram-se em sistemas para reservas de viagens de avião ou sistemas para gestão de contas correntes em bancos, etc. Um SGBD multi-utilizador deverá possuir capacidades de controlo da con- corrência, isto é, possibilitar o acesso simultâneo de vários utilizadores mantendo a base de dados num estado de integridade. Quanto à distribuição, os SGBD`s podem-se classificar em centraliza- dos, se os dados estiverem armazenados apenas num local, ou 12 Structured Query Language 13 Query By Example
  46. 46. 48 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP SGBD`s distribuídos se a base de dados e as suas aplicações estive- rem distribuídas por diversos locais, ligados através de uma rede. Os SGBD`s distribuídos14 apresentam características internas específicas e uma maior complexidade que os SGBD`s centralizados. No entanto, isso não deve ser visível para os utilizadores. 2.2.7 Vantagens e desvantagens dos Sistemas de Bases de Dados Ao longo deste capítulo, foram já apresentadas algumas vantagens da utilização dos Sistemas de Bases de Dados, tais como: • tornar mais fácil a eliminação de inconsistências e de anomalias de dados presentes nos Sistemas de Ficheiros; • eliminar as dependências estruturais presentes nos sistemas de ficheiros; • reduzir o tempo destinado ao desenvolvimento de aplicações; • aumentar a flexibilidade do sistema, permitindo uma maior facili- dade nos procedimentos necessários para efectuar alterações na sua estrutura; • facilitar a obtenção de informação actualizada. No entanto, os Sistemas de Bases de Dados apresentaram algumas desvantagens que dificultaram a sua generalização imediata, como por exemplo: • o SGBD é um sistema de grande complexidade, ocupa muito espaço em disco e é mais caro; • existem custos adicionais de hardware aquando da conversão do sistema existente para um Sistema de Bases de Dados, além dos custos inerentes à própria conversão; 14 O estudo aprofundado destes assuntos sai fora do âmbito deste livro. Para uma abordagem mais aprofundada poderá consultar [Elmasri e Navathe, 1989] ou [Rob e Coronel, 1997].
  47. 47. I.2. BASES DE DADOS 49 • em caso de falha do sistema, existem normalmente maiores impactos, visto que um Sistema de Bases de Dados é mais abrangente, embora existam mecanismos e procedimentos que minimizam esses impactos. 2.3 MODELOS DE BASES DE DADOS Diz-nos Chiavenato que “para se estudar ou analisar um sistema, utili- zam-se modelos” e que “modelo é a representação de um sistema”. Ao longo dos anos, têm vindo a ser delineados vários modelos para repre- sentar um Sistema de Bases de Dados. Podemos distinguir entre dois tipos de modelos, os modelos conceptuais e os modelos de implemen- tação. Os modelos conceptuais são utilizados para se obter uma descri- ção lógica do sistema. Um dos mais populares é o modelo Entidade- Relacionamento (E-R), que abordaremos no capítulo 4. Os modelos de implementação descrevem a forma como os dados estão representados na base de dados. Podemos dividir estes modelos em três gerações. Na primeira geração colocam-se o modelo hierár- quico, que abordaremos em 2.3.1, e o modelo em rede, que será abor- dado em 2.3.2. Na segunda geração temos o modelo relacional, que será abordado em 2.3.3 e que, pela sua importância, será estudado mais em pormenor no capítulo 3. No ponto 2.4 abordaremos os modelos de 3ª geração. 2.3.1 Modelo hierárquico As duas estruturas básicas do modelo hierárquico são os registos e os relacionamentos pai-filhos. Como o próprio nome do modelo indica, existem vários registos relacionados através de uma estrutura hierár- quica do tipo pai-filhos, com vários níveis. Cada registo fornece informa-
  48. 48. 50 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP ção sobre uma entidade ou instância de um relacionamento. Um rela- cionamento do tipo pai-filhos é um relacionamento de 1:M15 , entre dois registos. O primeiro registo é o registo pai e os registos que com ele estão relacionados são os registos filhos. O esquema de uma base de dados hierárquica pode ser representado por uma estrutura como a apresentada na figura I.2.6, que representa uma parte da base de dados de uma empresa. Figura I.2.6 Uma estrutura hierárquica16 Neste diagrama, cada registo é representado por um rectângulo e o relacionamento por uma linha que liga o registo pai ao registo filho. Ao registo que se encontra no nível 0, chama-se raiz. O acesso a qualquer um dos registos deve ser feito a partir da raiz e correndo cada um dos nós da árvore da esquerda para a direita e de cima para baixo. No 15 Lê-se um para muitos e significa que, cada registo pai pode estar relacionado com vários registos filho, mas cada registo filho só está relacionado com um registo pai. 16 Adapatado de [Elmasri e Navathe, 1989] Departamento Dnome Dnumero NomeChefe DataInicioChe Projecto Pnome Pnumero PLocal DataInicioChe Empregado Nome BI DataNasc Morada Trabalhador nome BI Horas Supervisor nome BI Subordinado nome sexo DataNasc Nível 0 Nível 1 Nível 2 D P S R T E
  49. 49. I.2. BASES DE DADOS 51 exemplo considerado, para aceder ao registo projecto (P), teria de se percorrer os registos D, E, S, R e P. Existem algumas restrições inerentes ao modelo hierárquico, como por exemplo: • apenas o registo raiz pode ocorrer sem estar relacionado com um registo pai; • se um registo filho tem dois ou mais registos pai, então o filho deve ser duplicado para cada um dos pais. As bases de dados hierárquicas apresentam alguns problemas, tais como: • dificuldades de representação de relacionamentos do tipo M:N17 ; • existem redundâncias nos dados, inerentes ao próprio modelo, pois quando um registo filho tem mais do que um pai, deve ser repetido para cada um dos pais; • ao eliminar um registo, eliminam-se os seus filhos, correndo-se o risco de eliminar informação relevante; • a programação nos Sistemas de Bases de Dados hierárquicos é muito exigente. Um dos mais difundidos SGBD`s concebidos segundo o modelo hierár- quico, comercialmente disponível, foi desenvolvido pela IBM na década de 70 e ficou conhecido como IMS (Information Management System). 2.3.2 Modelo em rede O modelo em rede surgiu tendo por base o modelo hierárquico; assim sendo, apresenta com ele algumas semelhanças. Neste modelo, um relacionamento chama-se set e é-lhe atribuído um nome. O registo pai 17 Lê-se muitos para muitos. Por exemplo, numa escola do ensino superior, uma disciplina pode ser frequentada por muitos alunos e um aluno pode frequentar muitas disciplinas. Diz-se que existe um relacionamento de muitos para muitos entre disciplina e alunos.
  50. 50. 52 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP chama-se owner e o registo filho chama-se member. Ao contrário do que acontece no modelo hierárquico, no qual um registo filho só pode ter um pai, um member pode ter mais do que um owner. O acesso aos dados é feito de forma semelhante ao do modelo hierárquico. O esquema de dados em rede pode ser representado por uma estrutura como a representada na figura I.2.7. Figura I.2.7 Uma estrutura em rede 18 18 Adaptado de [Elmasri e Navathe, 1989] Empregado Nome BI DataNasc Morada Sexo Salário Subordinado E-BI Nome Sexo DataNasc Relação Subordinado Nome Número Local DataIniChe Projecto Nome Número Localização Trabalha-Em E-BI P-Número Horas Supervisor S-BI Depende-de Supervisiona É-um-supervisor E-Trabalha-em P-Trabalha-em Gere Trabalha-para
  51. 51. I.2. BASES DE DADOS 53 Existem algumas restrições que devem ser impostas aos membros de um set e que devem ser definidas no momento do desenho da base de dados, dependendo da forma como queremos que eles se comportem. Existem opções chamadas de inserção (manuais e automáticas) e opções chamadas de retenção (opcionais, mandatórias ou fixas). Apesar de apresentar várias vantagens, nomeadamente possibilitar a representação de relacionamentos de M:N e do acesso aos dados ser mais flexível do que no modelo hierárquico, o modelo em rede apre- senta também algumas desvantagens. Uma das grandes desvantagens tem a ver com o facto de o sistema ser muito complexo, exigindo um conhecimento profundo por parte dos programadores, para que a sua utilização seja feita de forma eficiente, e um grande esforço na sua manutenção, devido ao facto de não existir verdadeiramente indepen- dência funcional. Além disso, o ambiente é pouco amigável para os utili- zadores finais. Ao contrário daquilo que acontecia no modelo hierárquico, para o qual não existiam normas definidas, o modelo em rede surgiu a partir das normas estabelecidas pelo DBTG, indicado pela CODASYL em 1971. 2.3.3 O Modelo Relacional O modelo relacional de bases de dados, apresentado por Edgar F. Codd em 1970, num artigo intitulado “A Relational Model of Data for Large Shared Data Banks”, representa uma quebra com os modelos anteriores e uma verdadeira revolução. A estrutura básica do modelo relacional é a tabela, também chamada relação19 . Uma base de dados relacional é formada por um conjunto de 19 Em [Codd, 1982] afirma-se que as tabelas estão num nível de abstracção mais baixo do que as relações, visto que dão a impressão de que a ordem das colunas e das linhas da tabelas é importante, o que não acontece, pois a relação é independente da ordem. Ainda assim, as tabelas continuam a ser a representação conceptual mais importante das relações, pois são universalmente compreendidas.
  52. 52. 54 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP tabelas que se relacionam através da partilha de atributos comuns. (Figura I.2.8) Apesar da tabela do modelo parecer um ficheiro, existe uma diferença fundamental entre eles: uma tabela fornece total independência quer dos dados quer funcional, pois é uma estrutura puramente lógica. Figura I.2.8 Tabelas do Modelo Relacional Um dos motivos que levaram ao grande sucesso do modelo relacional é a facilidade que possui para responder a questões Ad-hoc, através de uma linguagem própria – SQL (Structured Query Language). Devido à sua importância abordaremos mais em pormenor este modelo no pró- ximo capítulo. Apesar de todas as vantagens apresentadas, o modelo relacional apre- senta também algumas desvantagens. Uma delas tem a ver com o facto de o SGBD relacional ser muito exigente quer a nível do hardware, quer a nível do sistema operativo, devido à sua complexidade. Este aspecto tem vindo a ser ultrapassado devido à crescente capacidade dos com- putadores. Outro aspecto a considerar é o facto de, devido ao seu ambiente amigável, os SGBD`s relacionais serem utilizados sem ter em linha de conta o desenho cuidado das estruturas necessárias, gerando muitas vezes problemas semelhantes aos dos sistemas de ficheiros. Nos capítulos 4 e 5 serão abordadas técnicas que permitem fazer o desenho de uma base de dados apropriada. Empregado Cod- Empregado Nome- Empregado Proj- num 1 José 1 2 Manuel 2 3 Tiago 1 4 Pedro 3 Projecto Proj- num Proj-descr Local 1 Colocar Tapete Porto 2 Pintar parede Gaia 3 Colocar portas Maia
  53. 53. I.2. BASES DE DADOS 55 2.3.4 Novos modelos: Modelos Orientados a Objectos e Extensões ao Modelo Relacional As bases de dados relacionais têm tido grande aceitação em aplicações clássicas nas organizações, nomeadamente no processamento de ordens de encomendas, no controlo de inventários, marcação de reser- vas e muitas outras. Nos últimos anos, as bases de dados têm aumen- tado quer em tamanho quer em complexidade nas suas aplicações, colocando exigências com as quais é difícil lidar com a utilização de tecnologias relacionais clássicas. Nestas aplicações, incluem-se os Sistemas de Informação Geográfica (SIG), aplicações médicas e cientí- ficas, os sistemas CAD e CAM, os sistemas multimédia, entre outras. Em qualquer destes casos, o volume de informação a tratar é grande e o tipo de objectos a guardar na base de dados é complexo. Desta forma, surgiram novos modelos de representação de dados, nomeada- mente os modelos orientados a objectos20 , que têm origem nas lingua- gens de programação orientadas a objectos. Como resposta surgiram também extensões ao modelo relacional, de modo a suportarem carac- terísticas de modelos orientados a objectos. Um objecto é uma representação conceptual de uma entidade do mundo real, contendo os atributos que o descrevem e o seu compor- tamento, ou seja, as acções que lhe estão associadas – encapsula- mento significa que um objecto contém quer a estrutura dos dados quer o conjunto de operações que podemos definir. Estas acções chamam- se métodos. Um atributo pode ser uma referência a outro objecto. Cada objecto contém um identificador único, que é independente dos seus atributos e invisível para o utilizador. O estado de um objecto é o con- junto de valores que os atributos do objecto têm num dado momento. Os métodos podem ser utilizados para alterar o estado dos objectos. Os objectos comunicam entre si através de mensagens. Uma mensagemé um pedido de um objecto a outro (pode ser o mesmo objecto) solici- tando-lhe que execute um dos seus métodos. 20 Do inglês Object-Oriented
  54. 54. 56 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Uma classe é uma colecção de objectos semelhantes que partilham a estrutura e o comportamento, permitindo que os atributos e os métodos associados possam ser definidos uma vez para a classe em vez de separadamente para cada objecto. As classes estão organizadas atra- vés de uma estrutura hierárquica, na qual os objectos de uma classe herdam os atributos e métodos das suas super-classes – herança – além de possuírem atributos e métodos próprios. A herança permite que uma classe seja definida como caso especial de uma classe mais geral. Os casos especiais são conhecidos como sub-classes e os casos mais gerais são conhecidos como super-classes. Podemos falar de herança simples, sendo que neste caso um objecto pode ter apenas uma super- classe pai e de herança múltipla, sendo que neste caso um objecto pode ter duas ou mais super-classes pai. O polimorfismo é uma característica importante dos sistemas orienta- dos a objectos. Significa que a mesma mensagem enviada a objectos pertencentes a classes diferentes, origina a resposta correcta em cada caso, ou seja, podemos utilizar o mesmo nome para métodos em clas- ses diferentes, pois o seu comportamento será adequadamente dife- rente em resposta à mesma mensagem. O processo de seleccionar o método apropriado baseado num tipo de objecto chama-se binding. Quando este tem lugar ao executar o programa, diz-se que existe bin- ding dinâmico. Um SGBD orientado a objectos resulta da combinação das característi- cas tradicionais de um SGBD (tais como gestão do armazenamento dos dados, gestão da segurança, manutenção da integridade dos dados) e das características de sistemas orientados a objectos, tais como, herança, encapsulamento e polimorfismo. O “Manifesto dos sistemas de bases de dados orientados a objectos” apresentado por Atkison, et all em 198921 e citado por [Connolly e Beg, 1999], apresenta treze regras que descrevem todas as características desejáveis de um SGBD Orientado a Objectos. O manifesto contém dois conjuntos de regras apresentadas na figura I.2.9. 21 Este manifesto foi escrito em 1989 por Malcolm Atkison, François Bancilhon, David DeWitt, Klaus Dittrick, David Maier e Stanley Zdonik na 1 st International Conference in Deductive and Object-Oriented Database em Kioto, Japão.
  55. 55. I.2. BASES DE DADOS 57 Já na década de 90, foi formado por vários vendedores de SGBD`s um grupo de trabalho que pretendeu definir normas no que concerne a este assunto – o Object Database Management Group (ODMG). Este grupo propõe um modelo da dados orientado a objectos que consiste de três partes: • um modelo de objectos; • uma linguagem de definição de objectos (equivalente a uma lin- guagem de definição de dados de um SGBD convencional); • uma linguagem para questões, em ambientes orientados a objectos, com sintaxe semelhante à do SQL. Deve ser um sistema orientado a objectos Deve ser um SGBD 1. O sistema deve suportar objectos complexos 9. Os dados devem ser permanentes 2. O sistema deve suportar a identi- dade de um objecto 10. O SGBD deve ser capaz de lidar com bases de dados muito grandes 3. O sistema deve suportar encapsu- lamento 11. O SGBD deve suportar utilizadores concorrentes 4. Devem ser suportados tipos ou classes 12. O SGBD deve ser capaz de recuperar de falhas de hardware e software 5. O sistema deve suportar herança na estrutura hierárquica de classes 13. As questões a colocar sobre os dados devem poder ser efectuadas de forma simples 6. O sistema deve suportar Binding dinâmico 7. A linguagem de manipulação de dados deve ser completa 8. O conjunto de tipos de dados deve ser extensível Figura I.2.9 Regras do “Manifesto dos Sistemas de Bases de Dados Orientados a Objectos” As rápidas mudanças que se têm vindo a verificar no ambiente das bases de dados, forçaram os defensores das bases de dados relacio- nais a uma resposta ao desafio colocado pelos ambientes orientados a objectos, através da criação de extensões ao modelo relacional. Não existe um modelo relacional extendido único. Existem sim várias pro-
  56. 56. 58 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP postas que diferem na forma como as extensões são feitas. Em comum existem as tabelas do modelo relacional, a linguagem para questões e a incorporação de alguns conceitos de modelos orientados a objectos. Stonebraker`s22 propôs uma visualização do mundo das bases de dados classificando-as segundo quatro quadrantes, como apresentado na figura I.2.10. Figura I.2.10 Os quatro quadrantes de Stonebraker 23 Apesar de esta classificação ser interessante, existem muitas aplica- ções de bases de dados que não se revêm facilmente num dos qua- drantes. Além disso, com o trabalho realizado pelo grupo ODMG a dis- tinção entre extensão do modelo relacional e modelo orientando a objectos é cada vez menos clara. Actualmente existem debates entre os proponentes dos dois modelos. Ambos estão de acordo em que o modelo relacional é insuficiente para certos tipos de aplicações, dife- 22 Citado em [Connoly e Begg,1998] 23 Apesar de um sistema de ficheiros não ser um Sistema de Bases de Dados, pensamos não ser descabido incluí-los no mundo das bases de dados, por corresponderem aos seus primórdios. Relacionais Sistemas de Ficheiros Orientados a objectos Extensões de Relacional Capacidadedeprocura/pesquisa Suportemulti-utilizador Complexidade / Extensibilidade
  57. 57. I.2. BASES DE DADOS 59 rindo, no entanto, na sua opinião quanto à melhor solução. É difícil pre- ver se uma das abordagens se tornará dominante ou se cada uma delas ocupará um nicho de mercado próprio. 2.4 TENDÊNCIAS FUTURAS No final da década anterior surgiram novos desenvolvimentos na área das bases de dados. Dado que se encontram numa fase inicial do seu desenvolvimento, intitulámos esta secção de Tendências Futuras”. 2.4.1 Data Warehouses Uma Data Warehouse24 é uma base de dados que agrupa um grande volume de dados. Esses dados são optimizados para futuras análises, servindo de base na tomada de decisão nas organizações. O chamado “pai das Data Warehouses”, Bill Inmon, define-as como uma colecção de dados integrados, orientada para determinados assuntos, variável no tempo e não volátil, que fornece apoio na tomada de decisão. Os dados dizem-se integrados pois numa Data Warehouse consolidam-se os dados provenientes de diversas fontes, muitas vezes com formatos dis- tintos. A integração dos dados implica um esforço bem organizado para definir e padronizar todos os dados, de modo a torná-los consistentes, para que possam ser apresentados aos utilizadores de forma centrali- zada. A colecção de dados diz-se orientada para determinados assun- tos visto estar organizada de modo a fornecer respostas a questões provenientes de diversas áreas funcionais de uma companhia (tais como, clientes, produtos, vendas,...). Na medida em que os dados, na Data Warehouse, representam o fluxo de dados ao longo de um deter- minado período (a última semana, o último mês, o último ano,...) diz-se que são variáveis no tempo. Além disso, a variabilidade no tempo tam- bém está presente na medida em que os dados são periodicamente 24 Numa tradução directa de Data Warehouse, obtemos Armazém de dados.
  58. 58. 60 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP actualizados, provocando que todas as agregações que dependem da variável tempo, sejam novamente calculadas. Visto que os dados, na Data Warehouse, não são actualizados em tempo real, mas sim regu- larmente recolhidos a partir dos sistemas operacionais, (OLTP`s25 ou sistemas de processamento de transacções) e visto que os dados exis- tentes não são nunca removidos sendo os novos dados adicionados continuamente, diz-se que os dados são não voláteis. Pela breve descrição apresentada, podemos verificar que estas bases de dados têm características completamente diferentes das bases de dados dos chamados sistemas de processamento de transacções, que apresentámos ao longo das secções 2.1 a 2.3. Estas são concebidas de modo a maximizar a capacidade de processamento de um grande número de transacções que são previsíveis, repetitivas e utilizadas muitas vezes, enquanto que aquelas são concebidas de modo a maxi- mizar a capacidade de resposta a um número relativamente baixo de transacções que são de natureza imprevisível e requerem respostas a questões Ad hoc, não estruturadas e heurísticas. Naturalmente, sendo de naturezas distintas, apresentam características distintas. Na figura I.2.11 apresentamos uma comparação entre as bases de dados utiliza- das nos sistemas OLTP e as Data Warehouses, utilizadas pelos siste- mas de apoio à decisão (DSS – Decision Support Systems). Dado que a criação das Data Warehouses envolve custos elevados, muito tempo despendido e um esforço considerável por parte da gestão, muitas empresas iniciam a sua incursão no mundo das Data Warehou- ses, por um conjunto de dados mais manejáveis, orientados para pequenos grupos dentro da organização – as Data Marts26 . Podemos definir uma Data Mart como um subconjunto de uma Data Warehouse que suporta as exigências de um dado departamento ou de uma função do negócio. Uma Data Mart pode estar isolada ou pode estar ligada a uma Data Warehouse central. 25 On Line Transaction Processing 26 Numa tradução directa de Mart, obtemos mercado, centro de comércio, empório comercial
  59. 59. I.2. BASES DE DADOS 61 Bases de dados utilizadas em OLTP`s Data Warehouses Mantêm dados actuais Mantêm dados históricos Guardam dados detalhados Guardam dados detalhados e grande- mente resumidos Os dados são dinâmicos Os dados são maioritariamente estáticos Processamentos repetitivos Processamentos Ad hoc, não estrutura- dos e heurísticos Grande número de transacções Médio a baixo nível de transacções Padrão de utilizações previsível Padrão de utilizações não previsível Orientadas para transacções Orientadas para análise Orientadas para aplicações Orientadas para determinados assuntos Suportam decisões do dia-a-dia Suportam decisões estratégicas Servem um grande número de utiliza- dores de nível operacional Servem um número relativamente baixo de utilizadores de nível administrativo Figura I.2.11 Comparação entre bases de dados utilizadas em OLTP`s e Data Warehouses 27 Os dados armazenados numa Data Warehouse servirão para responder a questões sobre determinados factos analisados de várias formas – perspectiva multi-dimensional. O star schema é uma técnica de modela- ção de dados que gera um modelo facilmente utilizável numa perspec- tiva de análise multi-dimensional dos dados, preservando, ainda assim, as estruturas relacionais. Até há muito pouco tempo, as ferramentas disponíveis para aceder a grandes volumes de dados forneciam apenas uma análise limitada e relativamente simplista desses dados. O nascimento das Data Ware- houses tem sido acompanhado por uma exigência crescente por parte dos seus utilizadores no que concerne a ferramentas de acesso mais poderosas. Como resposta, têm vindo a ser desenvolvidas ferramentas tais como On-Line Analytical Processing (OLAP`s) e Data Mining, que fornecem capacidades analíticas avançadas. 27 Adaptado de [Connoly e Begg, 1998]
  60. 60. 62 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP 2.4.2 OLAP`s OLAP, do inglês On-Line Analytical Processing, são ferramentas que proporcionam ambientes para análise avançada de dados, fazendo a síntese, análise e consolidação de grandes volumes de dados, armaze- nados numa perspectiva multi-dimensional. A perspectiva multi-dimensional dos dados permite que a análise dos dados do negó- cio seja feita sob várias perspectivas (dimensões): vendas por cliente, vendas por região, vendas por vendedor, etc. As técnicas de análise de dados numa perspectiva multi-dimensional podem ser ampliadas atra- vés das seguintes funções: • funções de representação de dados tais como gráficos 3-D; • funções para agregação, consolidação e classificação de dados que permitem ao analista dos dados do negócio a criação de níveis de agregação múltiplos, a visualização dos dados sob diferentes perspectivas e a apresentação dos dados pormenori- zados, contidos nos dados consolidados; • funções de cálculo, tais como variáveis de negócio (margens de venda, quotas de mercado, etc.), rácios financeiros e contabilísti- cos (lucro, retorno, etc), funções estatísticas, etc.; • funções de modelação de dados tais como cenários do tipo Se-Então e programação linear. As características dos OLAP`s tornam-se muito mais úteis se o acesso a elas for simples. Assim sendo, é importante a existência de interfaces amigáveis. Um dos objectivos do processamento de dados é processar os dados contidos em bases de dados com uma complexidade crescente, sem sacrificar os tempos de resposta. As arquitecturas cliente/servidor per- mitem dividir o sistema OLAP em vários componentes que podem ser colocados no mesmo computador ou podem ser distribuídos por vários computadores.
  61. 61. I.2. BASES DE DADOS 63 As ferramentas OLAP podem ser organizadas segundo duas categorias principais: • MOLAP (Multidimensional OLAP) As ferramentas MOLAP utilizam estruturas de dados apropriadas e SGBD`s multi-dimensionais para organizar, navegar e analisar os dados. Exemplos de ferramentas MOLAP incluem Analysis Server, Essbase, Express Server; • ROLAP (Relational OLAP) As ferramentas ROLAP são a categoria de OLAP`s que se tem desenvolvido mais rapidamente. As ferramentas ROLAP utilizam SGBD`s relacionais, através da utilização de camadas de meta- dados, evitando assim a criação de estruturas de dados multi- dimensionais estáticos. Exemplos de ferramentas ROLAP inclu- em Axsys, DSS Agent/DSS Server, Metacube A tendência actual é que as ferramentas MOLAP e ROLAP convirjam, produzindo um novo tipo de SGBD`s que utilizem as melhores capaci- dades de cada uma das ferramentas. 2.4.3 Data Mining Só conseguimos perceber o verdadeiro valor de uma Data Warehouse se formos capazes de extrair características dos dados, relações, dependências ou tendências (padrões) previamente desconhecidos. As ferramentas de Data Mining são uma das melhores formas de o conse- guir. As ferramentas de Data Mining são pró-activas, isto é, em vez de ser o utilizador a definir o problema e seleccionar os dados e as ferra- mentas que vão analisá-los, as ferramentas de Data Mining pesquisam os dados de forma automática, à procura de anomalias e relações, identificando problemas não identificados previamente pelo utilizador final. As ferramentas de Data Mining são recentes e assim sendo, não exis- tem normas estabelecidas. Existem sim, famílias de ferramentas de
  62. 62. 64 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP Data Mining dirigidas a determinados nichos de mercado (marketing, finanças, saúde,...), utilizando algoritmos que vão ser aplicados a diver- sos dados de modo a obter conhecimento. Os algoritmos tipicamente utilizados podem ser baseados em redes neuronais, árvores de decisão, regras de indução, algoritmos genéticos, classificação e árvores de regressão, visualização de dados, etc. Um exemplo de um resultado obtido pelas ferramentas de Data Mining pode ser que 90% dos clientes que compraram uma televisão têm uma apetência de 88% de comprar um vídeo nas 4 semanas seguintes. Este resultado pode ser utilizado na tomada de decisão relativa a uma cam- panha de marketing de vídeos. Exemplos de ferramentas de Data Mining incluem Clementine, Itelligent Miner, Mineset, etc. Para um maior aprofundamento deste tema sugerimos a leitura de [Fayad et all,1996]. 2.4.4 Integração com a Web A World Wide Web28 ou de forma abreviada a Web ou W W W, é para muitas pessoas sinónimo de Internet. O pai da Web é Tim Berners-Lee, do CERN29 , que teve a ideia de criar uma teia electrónica de informação sobre investigação. Hoje encontramos na Web informação sobre quase tudo. Foi desenvolvida uma linguagem chamada HTML – Hyper Text Mark-up Language – que consiste num conjunto de instruções, inseridas pelo programador, em texto simples. Cada uma das páginas Web é um documento em Hipertexto. O conceito de Hipertexto foi inventado nos anos 50, por Ted Nelson, e significa que uma porção de texto num documento pode remeter para outros pedaços de texto dentro do mesmo documento ou de outros documentos. Ini- cialmente as páginas da Web eram baseadas apenas em texto mas actualmente apresentam características de multimédia. 28 Teia espalhada pelo mundo 29 O laboratório Europeu de Física das Partículas
  63. 63. I.2. BASES DE DADOS 65 Nos últimos tempos, têm-se verificado o desenvolvimento de tecnolo- gias que permitem a integração de sistemas de gestão de bases de dados com a Web, através da utilização de arquitecturas adequadas. Existem páginas Web cujo conteúdo não se altera a não ser que o pró- prio ficheiro (em HTML) seja alterado – páginas estáticas. É cada vez mais comum a existência de páginas Web que são geradas de cada vez que são acedidas – páginas dinâmicas. As bases de dados, pelas suas características eminentemente dinâmicas, prestam-se a uma integração na Web através da criação de páginas dinâmicas. Nesta situação, o hipertexto deve ser automaticamente gerado pelos servidores, através de scripts que fazem a conversão de diferentes formatos de dados para HTML. Existem algumas aproximações possíveis, tais como utilização da técnica CGI (Common Gateway Interface), cookies, as linguagens JavaScript ou VBScript. O Ms Access XP inclui algumas funcionalidades para a Web, que poderá consultar nas partes II e III deste livro.
  64. 64. 66 CENTRO ATLÂNTICO – DESENHO E IMPLEMENTAÇÃO DE BASES DE DADOS COM MICROSOFT ACCESS XP

×