matéria de apoio (base de dados)

114
Bases de Dados Bases de Dados

Upload: andre-silva

Post on 18-Dec-2014

4.328 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Matéria de apoio  (Base de dados)

Bases de DadosBases de Dados

Page 2: Matéria de apoio  (Base de dados)

2 Bases de Dados2. Bases de Dados

• De uma forma genérica podemos dizer que uma basede dados é um conjunto de dados relacionados,acessíveis a uma comunidade de utilizadoresacessíveis a uma comunidade de utilizadores.

• Desde tempos imemoriais o homem guardou em• Desde tempos imemoriais o homem guardou emarmários, gavetas (...) os dados importantes relativos àssuas diversas actividades – as primeiras bases desuas d e sas ac dades as p e as bases dedados.

2

Page 3: Matéria de apoio  (Base de dados)

2 Bases de Dados2. Bases de Dados

A ti d d d é l XX ifi d• A partir de meados do século XX verificou-se um grandecrescimento das organizações o que provocou umgrande aumento no volume dos dados nelas utilizados.g

• Ao mesmo tempo verificou-se um grandep gdesenvolvimento dos computadores, que se tornarammais acessíveis.

• Surge assim, de forma natural, a introdução doscomputadores nas organizações com o objectivo decomputadores nas organizações com o objectivo deservir de suporte às bases de dados nelas existentes.

3

Page 4: Matéria de apoio  (Base de dados)

2 Bases de Dados2. Bases de Dados

Numa primeira fase surgem os chamados Sistemas de• Numa primeira fase, surgem os chamados Sistemas deFicheiros e só posteriormente são desenvolvidos osSistemas de Bases de Dados.

• Com ambos se pretende obter acesso rápido aos dadosgerando a informação necessária às diversasgerando a informação necessária às diversasactividades.

O d d d d fi h i i d l• Os dados são guardados em ficheiros e a partir delessã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 suporteinformático

4

informático.

Page 5: Matéria de apoio  (Base de dados)

2 Bases de Dados2. Bases de Dados

• Embora se possa considerar que os Sistemas deFicheiros estão desactualizados e que não fará sentidoabordá los só se podem compreender asabordá-los, só se podem compreender aspotencialidades de um Sistema de Bases de Dados sehouver a compreensão dos Sistemas de Ficheiros, quep , qos antecederam.

5

Page 6: Matéria de apoio  (Base de dados)

2 Bases de Dados2. Bases de Dados

Neste capítulo iremos começar por abordar em 2 1 as• Neste capítulo, iremos começar por abordar, em 2.1, asraízes históricas das bases de dados, nomeadamente,os Sistemas de Ficheiros.

• Em 2.2, veremos as características de um Sistema deBases de Dados e os seus intervenientes AbordaremosBases de Dados e os seus intervenientes. Abordaremosainda alguns aspectos importantes de um Sistemas deGestão de Bases de Dados.

• Os modelos de Bases de Dados serão abordados em2.3.

• Por fim, em 2.4, abordaremos algumas tendências deevolução na área das bases de dados

6

evolução na área das bases de dados.

Page 7: Matéria de apoio  (Base de dados)

2.1 As Raízes Históricas: Ficheiros eSistemas de Ficheiros

• Num Sistema de Ficheiros guardam-se diversosregistos, de forma permanente, em vários ficheiros.

• Existem também diversas aplicações ou programas quepermitem efectuar uma variedade de operações compermitem efectuar uma variedade de operações comesses ficheiros: inserir dados, recuperar dados, alterardados e apagar dados (Figura I.2.1).g ( g )

7

Page 8: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

• Os ficheiros de um Sistema de Ficheiros possuem umadeterminada estrutura física, que tem de ser conhecidapara que possa ser elaborada cada uma das aplicaçõespara que possa ser elaborada cada uma das aplicaçõesdo sistema.

• Na figura I 2 2 apresenta-se um exemplo do ficheiroNa figura I.2.2, apresenta se um exemplo do ficheiroClientes, pertencente ao sistema de ficheirosapresentado na figura I.2.1.

8

Page 9: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

A t d d fi i lAntes 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 p q p pum número, um caracter,...;

· Campo - um caracter ou conjunto de caracteres com um significado específico como por exemplo um nome;significado específico, como por exemplo um nome;

· Registo - um conjunto de um ou mais campos relacionados, que descrevem uma pessoa, um lugar ourelacionados, que descrevem uma pessoa, um lugar ou um objecto (concreto ou abstracto);

· Ficheiro - conjunto de registos relacionados.

9

Page 10: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

Cada ficheiro presente no sistema de gestão de ficheirosprecisa, pelo menos, de cinco aplicações que permitam:

· Criar a estrutura do ficheiro;Adi i d d fi h i· Adicionar dados ao ficheiro;

· Eliminar dados do ficheiro;M difi d d id fi h i· Modificar dados contidos no ficheiro;

· Listar o conteúdo do ficheiro.

10

Page 11: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

Cada uma dessas aplicações envolve várias operações,mais ou menos complexas. Por exemplo, para eliminar ocliente Ana do ficheiro de clientes do exemplo serácliente Ana, do ficheiro de clientes do exemplo, seránecessário:

· Abrir o ficheiro de clientes;· Procurar o registo relativo ao cliente Ana;Procurar o registo relativo ao cliente Ana;· Eliminar o registo encontrado;· Fechar o ficheiro clientesFechar o ficheiro clientes.

11

Page 12: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

• Podemos, através deste exemplo simples, reconhecer adificuldade e morosidade existentes na implementaçãode um sistema de ficheiros se pensarmos que todo estede um sistema de ficheiros, se pensarmos que todo estetrabalho terá de ser multiplicado pelo número deficheiros existentes no sistema.

12

Page 13: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

P t l d t ã t bé é difí il• Por outro lado, a sua manutenção também é difícil.

• Consideremos novamente o exemplo da figura I 2 1• Consideremos novamente o exemplo da figura I.2.1.Depois de implementado o sistema, os gestores daempresa onde ele foi implementado, consideramp pimportante obter relatórios mensais, contendoinformações sobre os valores das encomendasrealizadas por cada um dos clientesrealizadas por cada um dos clientes.

• Passa a haver a necessidade de, em cada mês,Passa a haver a necessidade de, em cada mês,elaborar uma aplicação que possa produzir esserelatório.

13

Page 14: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

C f ti f l• Conforme se conseguem satisfazer algumasnecessidades surgem imediatamente novasnecessidades, o que implica a escrita de novas, q paplicações.

• Muitas vezes torna-se incomportável fazer uma gestãoeficiente do sistema, devido ao elevado número deaplicações necessárias à sua manutençãoaplicações necessárias à sua manutenção.

14

Page 15: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

Outro aspecto a ter em conta na gestão dos dados• Outro aspecto a ter em conta na gestão dos dadosprende-se com a integridade dos dados, isto é, osvalores guardados nos ficheiros devem satisfazerd t i d t i õ d i t id ddeterminadas regras – as restrições de integridade.

• No exemplo já apresentado considerando o ficheiroNo exemplo já apresentado, considerando o ficheiroencomendas, “só pode existir uma encomenda secontiver algum produto” ou “só são aceites encomendasde valor superior a 5 €” são exemplos de duasde valor superior a 5 € , são exemplos de duasrestrições de integridade.

• Estas restrições são introduzidas no sistemaadicionando código apropriado em várias aplicações,implicando um grande esforço adicional.

15

p g ç

Page 16: Matéria de apoio  (Base de dados)

2.1.1 Gestão de dados nos Sistemas de Ficheiros

T d t id õ tê i t• Todas estas considerações têm a ver com sistemasutilizados por um utilizador.

• Imagine-se o esforço necessário para implementar emanter um sistema no qual exista a possibilidade deq pvários utilizadores (não simultâneos).

N i i d fi i d ili d• Neste caso, seria preciso definir para, cada utilizador, seele poderia ou não aceder aos dados, se poderia acedê-los apenas para consulta ou se poderia alterar os dados,los apenas para consulta ou se poderia alterar os dados,etc.

16

Page 17: Matéria de apoio  (Base de dados)

2 1 2 Dependência dados aplicações2.1.2 Dependência dados-aplicações

N i t d fi h i li õ tã• Num sistema de ficheiros, as aplicações estãodirectamente relacionadas com os ficheiros, isto é,quando uma aplicação acede a um ficheiro, deve “dizer”q p ç ,ao computador não só “a que aceder” mas também“como acedê-lo”.

• Assim sendo, qualquer alteração na estrutura dosficheiros provocará alterações em todas as aplicaçõesficheiros provocará alterações em todas as aplicaçõesque com ela se relacionam, com todos osinconvenientes daí resultantes.

17

Page 18: Matéria de apoio  (Base de dados)

2 1 3 Redundâncias nos dados2.1.3 Redundâncias nos dados

N i t d fi h i é difí il it i t• Nos sistemas de ficheiros é difícil evitar que existamdados repetidos em diversos ficheiros.

• Quando isto acontece, diz-se que existe redundânciasnos dados.

• No exemplo da figura I.2.1, os dados relativos a cadali fi h i li id fi h icliente no ficheiro clientes, surgem repetidos no ficheiro

encomendas.

• Estas redundâncias conduzem a custos mais elevadosao gravar e ao aceder aos dados.

18

g

Page 19: Matéria de apoio  (Base de dados)

2 1 3 Redundâncias nos dados2.1.3 Redundâncias nos dados

U t i t t id é f t d t• Um aspecto importante a considerar é o facto de estasredundâncias poderem gerar inconsistências nos dados,isto é, várias cópias do mesmo dado não serem, pcoincidentes.

• Consideremos, no exemplo da figura I.2.1, a situaçãode, ao realizar uma encomenda se verificar que amorada do cliente que fez essa encomenda foi alteradamorada do cliente que fez essa encomenda foi alterada.

• Como o utilizador está a efectuar o pedido deComo o utilizador está a efectuar o pedido deencomenda com a aplicação destinada para esse efeito,inclui a nova morada apenas no ficheiro encomendas.

19

Page 20: Matéria de apoio  (Base de dados)

2 1 3 Redundâncias nos dados2.1.3 Redundâncias nos dados

Nesse momento surge um pedido de encomenda de um• Nesse momento surge um pedido de encomenda de umoutro cliente.

• Como, para efectuar a alteração da morada do clienteanterior, é necessário recorrer a outra aplicação, outilizador aproveita o facto de estar a utilizar a aplicaçãoutilizador aproveita o facto de estar a utilizar a aplicaçãodestinada ao pedido de encomendas para efectuar anova encomenda.

• Entretanto esqueceu-se da alteração que deveria tersido realizada! Desta forma, os dados relativos àmorada do referido cliente não são coincidentes, isto é,são inconsistentes.

20

Page 21: Matéria de apoio  (Base de dados)

2 2 Sistemas de Bases de Dados2.2 Sistemas de Bases de Dados

U Si t d B d D d (SBD) é i t• Um Sistema de Bases de Dados (SBD) é um sistemabaseado em computador(es) que tem como principalobjectivo armazenar dados de modo a permitir aosj putilizadores consultar e actualizar a informaçãosolicitada.

• Os Sistemas de Bases de Dados surgiram comoresposta aos problemas apresentados pelos sistemasresposta aos problemas apresentados pelos sistemasde ficheiros. Ao contrário destes, aqueles caracterizam-se por um repositório de dados que é acedido pelosdi tili d t é d i t Si tdiversos utilizadores através de um sistema – o Sistemade Gestão de Bases de Dados (SGBD) (figura I.2.3).

21

Page 22: Matéria de apoio  (Base de dados)

2 2 Sistemas de Bases de Dados2.2 Sistemas de Bases de Dados

22

Page 23: Matéria de apoio  (Base de dados)

2.2.1 Características de um Sistema de Bases de Dados

Várias características distinguem os Sistemas de BasesVárias características distinguem os Sistemas de Basesde Dados dos Sistemas de Ficheiros:

1. Catálogo do sistema: uma das característicasfundamentais dos Sistemas de Bases de Dados é quecontém não só a base de dados mas também acontém, não só a base de dados, mas também adefinição completa ou descrição da base de dados – ocatálogo do sistema ou dicionário de dados. Ainformação contida no catálogo é chamada deinformação contida no catálogo é chamada demetadata (dados sobre dados). O catálogo do sistemaestá acessível ao Sistema de Gestão de Bases deDados e aos utilizadores e é automaticamente criadoDados e aos utilizadores e é automaticamente criadopelo sistema. A existência do catálogo do sistemapermite que um só SGBD possa ser eficientementeutilizado com diversas bases de dados;

23

utilizado com diversas bases de dados;

Page 24: Matéria de apoio  (Base de dados)

2.2.1 Características de um Sistema de Bases de Dados

2. Independência Dados-Programas: outracaracterística importante dos Sistemas de Bases deDados é a independência dados programas: aDados é a independência dados-programas: aestrutura dos ficheiros de dados está gravada nocatálogo do SGBD, separada dos programas que lheg , p p g qacedem;

24

Page 25: Matéria de apoio  (Base de dados)

2.2.1 Características de um Sistema de Bases de Dados

3. Abstracção dos dados: o Sistema de Base de Dadosdeve fornecer ao utilizador uma representação abstractados dados isto é o sistema deve esconder detalhesdos dados, isto é, o sistema deve esconder detalhessobre a forma como os dados são fisicamentearmazenados e mantidos – abstracção dos dados.ç

25

Page 26: Matéria de apoio  (Base de dados)

2.2.1 Características de um Sistema de Bases de Dados

4. Vistas múltiplas dos dados: normalmente, uma based d d t á i tili d C d tili dde dados tem vários utilizadores. Cada utilizadornecessita de ter acesso a perspectivas diferentes dabase de dados – vista da base de dados (Figura I 2 4)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,getc.

26

Page 27: Matéria de apoio  (Base de dados)

2.2.2 Intervenientes num Sistema de Bases de Dados

Podemos classificar as pessoas intervenientes numPodemos classificar as pessoas intervenientes numSistema de Bases de Dados em quatro categorias (quepor vezes se sobrepõem):

1. Administrador de Dados e Administrador da Base deDados: o Administrador de Dados é o gestorDados: o Administrador de Dados é o gestorresponsável pela administração dos recursos da basede dados, passando pela planificação, peloestabelecimento de políticas e procedimentos Oestabelecimento de políticas e procedimentos. OAdministrador da Base de Dados tem o controlocentralizado dos dados e dos programas que acedem aesses dados É o responsável técnico que assegura queesses dados. É o responsável técnico que assegura quetodo o sistema funciona de forma conveniente. Emalgumas organizações não existe distinção entre estesdois papéis

27

dois papéis.

Page 28: Matéria de apoio  (Base de dados)

2.2.2 Intervenientes num Sistema de Bases de Dados

2. Analistas da base de dados: são as pessoas quefazem o desenho da base de dados.

São os responsáveis pela identificação dos dados aserem armazenados na base de dados e pelaserem armazenados na base de dados e peladefinição das estruturas físicas necessárias paraarmazenar esses dados.a a e a esses dados

Para que a sua função seja cumprida de formaPara que a sua função seja cumprida de formaefectiva, os analistas devem estar envolvidos com asregras do negócio e com os utilizadores finais.

28

Page 29: Matéria de apoio  (Base de dados)

2.2.2 Intervenientes num Sistema de Bases de Dados

3 P d d li õ i l t3. Programadores de aplicações: implementam asfuncionalidades pretendidas pelos utilizadores finais,obtidas a partir de especificações fornecidas pelop p ç panalista de sistemas.

Além disso, testam, corrigem erros, documentam emantêm os programas escritos.

Podem utilizar linguagens de programação de 3ªgeração (por exemplo, C) ou de 4ª geração (porgeração (por exemplo, C) ou de 4 geração (porexemplo, INFORMIX-4GL).

29

Page 30: Matéria de apoio  (Base de dados)

2.2.2 Intervenientes num Sistema de Bases de Dados

4 Utilizadores finais: são as pessoas que acedem ao4. Utilizadores finais: são as pessoas que acedem aosistema para obter a informação necessária ao seudesenvolvimento na organização.

Alguns desses utilizadores acedem à base de dados apartir de programas e interfaces já definidos quepartir de programas e interfaces já definidos, quepretendem tornar o acesso o mais simplificadopossível.

Existem outros utilizadores mais sofisticados,familiarizados com as facilidades fornecidas pelopSGBD que podem eles próprios escrever as suasaplicações.

30

Page 31: Matéria de apoio  (Base de dados)

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 abase de dados fornecendo aos seus utilizadoresbase de dados fornecendo, aos seus utilizadores,acessos controlados.

• Vamos, de seguida, apresentar algumas das funções deum SGBD.u SG

31

Page 32: Matéria de apoio  (Base de dados)

2.2.3 As funções do Sistema de Gestão de Bases de Dados

1 G tã d t d d d SGBD i1. Gestão do armazenamento dos dados: o SGBD criaas estruturas necessárias ao armazenamento, eutilização dos dados, libertando o utilizador da difícilç ,tarefa de definir e programar as suas característicasfísicas.

É criado o dicionário de dados que facilita esteprocessoprocesso.

32

Page 33: Matéria de apoio  (Base de dados)

2.2.3 As funções do Sistema de Gestão de Bases de Dados

2 Gestão da Interface: o SGBD formata os dados2. Gestão da Interface: o SGBD formata os dadosconsultados de modo a que tenham um aspectofacilmente perceptível pelo utilizador.

São disponibilizadas determinadas linguagens deprogramação que permitem essa interfaceprogramação que permitem essa interface.

Os SGBD’s mais recentes apresentam interfacesi á i f ili d à bamigáveis que facilitam grandemente o acesso à base

de dados por parte de utilizadores não especializados.

Fornecem também capacidades para comunicar emambiente de redes de computadores, nomeadamenteatravés da Internet

33

através da Internet.

Page 34: Matéria de apoio  (Base de dados)

2.2.3 As funções do Sistema de Gestão de Bases de Dados

3 Gestão da Segurança: o SGBD cria um sistema de3. Gestão da Segurança: o SGBD cria um sistema desegurança que protege a base de dados de acessos nãoautorizados.

São impostas regras que definem quais os utilizadoresque podem ter acesso à base de dados e para osque podem ter acesso à base de dados, e para osutilizadores autorizados a forma como pode ser feitoesse acesso, isto é, quais os ficheiros que podem seracedidos e as operações permitidas (ler adicionaracedidos e as operações permitidas (ler, adicionar,apagar ou modificar).

Deverão existir procedimentos que efectuem cópias desegurança e recuperação dos dados em caso de falhas,de modo a assegurar a segurança e a integridade dos

34

g g ç gdados.

Page 35: Matéria de apoio  (Base de dados)

2.2.3 As funções do Sistema de

4 Manutenção da Integridade dos dados: o SGBDGestão de Bases de Dados

4. Manutenção da Integridade dos dados: o SGBDassegura a verificação de restrições de integridade demodo a que a base de dados contenha sempre dadosválidos minimizando a redundância nos dados eválidos, minimizando a redundância nos dados emaximizando a sua consistência. Existem restrições deintegridade intrínsecas ao SGBD e outras definidaspelos utilizadores do sistemapelos utilizadores do sistema.

35

Page 36: Matéria de apoio  (Base de dados)

2.2.3 As funções do Sistema de Gestão de Bases de Dados

(4 continuação)(4. continuação)

Outro aspecto a considerar é a gestão dasOutro aspecto a considerar é a gestão dastransacções. Uma transacção é uma série de acçõeslevada a cabo por um utilizador ou por uma aplicação,como por exemplo inserir um novo cliente na base decomo por exemplo, inserir um novo cliente na base dedados. Se uma transacção é interrompida antes doseu fim (devido, por exemplo, a uma falha de energiaou um sector danificado no disco) a base de dadosou um sector danificado no disco), a base de dadosestará num estado de inconsistência, isto é, algumasalterações foram efectuadas e outras não. O SGBDdeverá ser capaz de desfazer o que foi feito até essadeverá ser capaz de desfazer o que foi feito até essaaltura, de modo a devolver a base de dados a umestado de consistência.

36

Page 37: Matéria de apoio  (Base de dados)

2.2.3 As funções do Sistema de Gestão de Bases de Dados

5. Controlo de acessos por vários utilizadores emsimultâneo: em bases de dados multi-utilizador, podeacontecer que tentem aceder aos mesmos dados maisacontecer que tentem aceder aos mesmos dados maisdo que um utilizador em simultâneo.

O SGBD deve fornecer mecanismos que asseguremque a base de dados é actualizada correctamente,que a base de dados é ac ua ada co ec a e e,quando isso acontece – controlo da concorrência.

37

Page 38: Matéria de apoio  (Base de dados)

2.2.4 Arquitectura do Sistema de Gestão de Bases dede 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 dosdados isto é o sistema esconde detalhes sobre a formadados, isto é, o sistema esconde detalhes sobre a formacomo os dados são armazenados e mantidos.

• Na arquitectura ANSI/SPARC7, em 1975, são propostostrês níveis de abstracção que podemos ver na figuraês e s de abs acção que pode os e a gu aI.2.5.

38

Page 39: Matéria de apoio  (Base de dados)

2.2.4 Arquitectura do Sistema de Gestão de Bases dede Bases de

Dados e Independência dos Dados

39

Page 40: Matéria de apoio  (Base de dados)

2.2.4 Arquitectura do Sistema de Gestão de Bases dede Bases de

Dados e Independência dos DadosNí l I t é í l i b i d b t ã• Nível Interno: é o nível mais baixo de abstracção.Existe um esquema interno, o qual descreve a formacomo os dados são fisicamente armazenados. Nesteí l d b i í l d d d ãnível as estruturas de baixo nível dos dados são

descritas em pormenor.• Nível conceptual: no nível seguinte existe um esquemaNível conceptual: no nível seguinte existe um esquema

conceptual que descreve a estrutura dos dados parauma comunidade de utilizadores: quais os dados queestão armazenados e quais as relações existentes entreestão armazenados e quais as relações existentes entreesses dados.

• Nível externo: o nível mais elevado de abstracção incluium número de esquemas externos ou vistas doum número de esquemas externos ou vistas doutilizador, que descrevem apenas uma parte da base dedados.

40

Page 41: Matéria de apoio  (Base de dados)

2.2.4 Arquitectura do Sistema de Gestão de Bases dede Bases de

Dados e Independência dos DadosE t it t d t ê í i d tili d• Esta arquitectura de três níveis pode ser utilizada paraexplicar o conceito de independência dos dados, a qualpode ser definida como a capacidade de alterar op pesquema de um determinado nível do sistema de basede dados sem alterar o esquema do próximo nível[Elmasri e Navathe 1989][Elmasri e Navathe, 1989].

• Podemos definir dois tipos de independência dos dados• Podemos definir dois tipos de independência dos dadosque são a Independência lógica e a Independênciafísica.

41

Page 42: Matéria de apoio  (Base de dados)

2.2.4 Arquitectura do Sistema de Gestão de Bases dede Bases de

Dados e Independência dos DadosIndependência lógica: é a capacidade de alterar o• Independência lógica: é a capacidade de alterar oesquema conceptual sem ter de alterar os esquemasexternos ou programas de aplicação.

Podemos alterar o esquema conceptual para expandir abase de dados ou para a reduzir No segundo caso osbase de dados ou para a reduzir. No segundo caso, osesquemas externos, relativamente aos dados que semantêm inalterados, não devem ser afectados.

Num SGBD que suporta independência lógica, apenas épreciso alterar as definições de vistas e asp çcorrespondências entre os dois níveis [Elmasri eNavathe, 1989]. Podem também ocorrer mudanças nasrestrições existentes, sem que sejam afectados os

42

ç , q jesquemas externos.

Page 43: Matéria de apoio  (Base de dados)

2.2.4 Arquitectura do Sistema de Gestão de Bases dede Bases de

Dados e Independência dos DadosIndependência física: é a capacidade de alterar o• Independência física: é a capacidade de alterar oesquema interno sem alterar o esquema conceptual (ouo externo) [Elmasri e Navathe, 1989].

As alterações no esquema interno podem ser feitas porser necessário reorganizar fisicamente os ficheiros paraser necessário reorganizar fisicamente os ficheiros, paramelhorar o desempenho do sistema. Se a base dedados continuar a ter os mesmos dados, não deverãohaver alterações no esquema conceptualhaver alterações no esquema conceptual.

É mais fácil conseguir a independência física do que ag p qindependência lógica, porque aquela tem apenas a vercom o isolamento das aplicações e das estruturasfísicas armazenadas.

43

Page 44: Matéria de apoio  (Base de dados)

2 2 5 Linguagens fornecidas pelo SGBD2.2.5 Linguagens fornecidas pelo SGBD

O SGBD l di d d tili d á iO SGBD coloca ao dispor de cada utilizador váriaslinguagens. Cada uma dessas linguagens inclui umasublinguagem de dados que consiste de duas partes:g g q p

• uma linguagem para manipulação de dados – DML(Data Manipulation Language);

• uma linguagem de definição de dados – DDL (DataDefinition Language).

Alguns SGBD`s permitem que as sublinguagens sejamembutidas numa linguagem de alto nível como porembutidas numa linguagem de alto nível como porexemplo COBOL, PASCAL ou C (linguagens de 3ªgeração).

44

Page 45: Matéria de apoio  (Base de dados)

2 2 5 Linguagens fornecidas pelo SGBD2.2.5 Linguagens fornecidas pelo SGBD

U DDL é tili d d fi i• Uma DDL é utilizada para definir um esquema ou paramodificar um esquema já existente.

• Uma DML é utilizada para efectuar todas as operaçõesbásicas de manipulação de dados, tais como, inserirpnovos dados, modificar os dados armazenados ouapagar dados da base de dados.

45

Page 46: Matéria de apoio  (Base de dados)

2 2 5 Linguagens fornecidas pelo SGBD2.2.5 Linguagens fornecidas pelo SGBD

Existem DML`s imperativas que permitem que o• Existem DML s imperativas, que permitem que outilizador diga ao sistema como se devem efectuar asoperações pretendidas e DML`s não imperativas, que

it tili d d fi i é á ipermitem ao utilizador definir o que é necessário masnão como obtê-lo (linguagens de 4ª geração).

• Exemplos deste último tipo de DML`s são a SQL(Structured Query Language), QBE (Query By Example),geradores de formulários geradores de relatórios (nageradores de formulários, geradores de relatórios (naparte II veremos exemplos para o SGBD Access).

46

Page 47: Matéria de apoio  (Base de dados)

2 2 6 Classificação dos SGBD`s2.2.6 Classificação dos SGBD s

A l ifi ã d SGBD d f it t d d• A classificação de um SGBD pode ser feita atendendo avários critérios, nomeadamente, o modelo no qual oSGBD se baseia, o número de utilizadores e o número,de locais pelos quais a base de dados está distribuída.

• Atendendo ao modelo, os SGBD`s classificam-se emrelacionais, em rede, hierárquicos ou outros.

• Em 2.3 abordaremos mais em pormenor estes modelos.

47

Page 48: Matéria de apoio  (Base de dados)

2 2 6 Classificação dos SGBD`s2.2.6 Classificação dos SGBD s

• Quanto ao número de utilizadores podemos classificar• Quanto ao número de utilizadores, podemos classificaros SGBD`s em SGBD`s mono-utilizador, se suportamapenas um utilizador de cada vez, ou multi-utilizador, sesuportam a utilização simultânea de vários utilizadoressuportam a utilização simultânea de vários utilizadores.

• Os SGBD`s mono-utilizador estão normalmente ligadosOs SGBD s mono utilizador estão normalmente ligadosà utilização dos computadores pessoais. Exemplos deSGBD`s multi-utilizador encontram-se em sistemas parareservas de viagens de avião ou sistemas para gestãoreservas de viagens de avião ou sistemas para gestãode contas correntes em bancos, etc.

U SGBD lti tili d d á i id d• Um SGBD multi-utilizador deverá possuir capacidadesde controlo da concorrência, isto é, possibilitar o acessosimultâneo de vários utilizadores mantendo a base ded d d d i id d

48dados num estado de integridade.

Page 49: Matéria de apoio  (Base de dados)

2 2 6 Classificação dos SGBD`s2.2.6 Classificação dos SGBD s

Q t à di t ib i ã SGBD` d l ifi• Quanto à distribuição, os SGBD`s podem-se classificarem centralizados, se os dados estiverem armazenadosapenas num local, ou SGBD`s distribuídos se a base dep ,dados e as suas aplicações estiverem distribuídas pordiversos locais, ligados através de uma rede.

• Os SGBD`s distribuídos apresentam característicasinternas específicas e uma maior complexidade que osinternas específicas e uma maior complexidade que osSGBD`s centralizados.

• No entanto, isso não deve ser visível para osutilizadores.

49

Page 50: Matéria de apoio  (Base de dados)

2.2.7 Vantagens e desvantagens dosSistemas de Bases de Dados

Ao longo deste capítulo, foram já apresentadas algumasg p , j p gvantagens da utilização dos Sistemas de Bases deDados, tais como:

• tornar mais fácil a eliminação de inconsistências e deanomalias de dados presentes nos Sistemas deFi h iFicheiros;

• eliminar as dependências estruturais presentes nossistemas de ficheiros;;

• reduzir o tempo destinado ao desenvolvimento deaplicações;

• aumentar a flexibilidade do sistema permitindo uma• aumentar a flexibilidade do sistema, permitindo umamaior facilidade nos procedimentos necessários paraefectuar alterações na sua estrutura;

50• facilitar a obtenção de informação actualizada.

Page 51: Matéria de apoio  (Base de dados)

2.2.7 Vantagens e desvantagens dosSistemas de Bases de Dados

No entanto os Sistemas de Bases de DadosNo entanto, os Sistemas de Bases de Dadosapresentaram algumas desvantagens que dificultaram asua generalização imediata, como por exemplo:

• o SGBD é um sistema de grande complexidade, ocupamuito espaço em disco e é mais caro;muito espaço em disco e é mais caro;

• existem custos adicionais de hardware aquando daconversão do sistema existente para um Sistema deBases de Dados além dos custos inerentes à própriaBases de Dados, além dos custos inerentes à própriaconversão;

• em caso de falha do sistema, existem normalmentemaiores impactos, visto que um Sistema de Bases deDados é mais abrangente, embora existam mecanismose procedimentos que minimizam esses impactos.

51

p q p

Page 52: Matéria de apoio  (Base de dados)

2 3 MODELOS DE BASES DE DADOS2.3 MODELOS DE BASES DE DADOS• Diz-nos Chiavenato que “para se estudar ou analisar umq p

sistema, utilizam-se modelos” e que “modelo é arepresentação de um sistema”.

• Ao longo dos anos, têm vindo a ser delineados váriosmodelos para representar um Sistema de Bases deDadosDados.

• Podemos distinguir entre dois tipos de modelos, osPodemos distinguir entre dois tipos de modelos, osmodelos conceptuais e os modelos de implementação.

O d l t i ã tili d bt• Os modelos conceptuais são utilizados para se obteruma descrição lógica do sistema. Um dos maispopulares é o modelo Entidade- Relacionamento (E-R).

52

Page 53: Matéria de apoio  (Base de dados)

2 3 MODELOS DE BASES DE DADOS2.3 MODELOS DE BASES DE DADOS

O d l d i l t ã d f• Os modelos de implementação descrevem a formacomo os dados estão representados na base de dados.Podemos dividir estes modelos em três gerações.g ç

• Na primeira geração colocam-se o modelo hierárquico,p g qque abordaremos em 2.3.1, e o modelo em rede, queserá abordado em 2.3.2.

• Na segunda geração temos o modelo relacional, queserá abordado em 2.3.3.será abordado em 2.3.3.

• No ponto 2.4 abordaremos os modelos de 3ª geração.53

p g ç

Page 54: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

As duas estruturas básicas do modelo hierárquico são• As duas estruturas básicas do modelo hierárquico sãoos registos e os relacionamentos pai-filhos.

• Como o próprio nome do modelo indica, existem váriosregistos relacionados através de uma estruturahierárquica do tipo pai-filhos com vários níveishierárquica do tipo pai filhos, com vários níveis.

• Cada registo fornece informação sobre uma entidade ou i â i d l iinstância de um relacionamento.

54

Page 55: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

• Um relacionamento do tipo pai-filhos é umrelacionamento de 1:M (um para muitos), entre doisregistosregistos.

• O primeiro registo é o registo pai e os registos que com• O primeiro registo é o registo pai e os registos que comele estão relacionados são os registos filhos.

• O esquema de uma base de dados hierárquica pode serrepresentado por uma estrutura como a apresentada narepresentado por uma estrutura como a apresentada nafigura I.2.6, que representa uma parte da base de dadosde uma empresa.

55

Page 56: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

56

Page 57: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

Neste diagrama cada registo é representado por um• Neste diagrama, cada registo é representado por umrectângulo e o relacionamento por uma linha que liga oregisto 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 apartir da raiz e correndo cada um dos nós da árvore da

d di i d i b iesquerda para a direita e de cima para baixo.

• No exemplo considerado para aceder ao registo• No exemplo considerado, para aceder ao registoprojecto (P), teria de se percorrer os registos D, E, S, Re P.

57

Page 58: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

E i t l t i õ i t d lExistem algumas restrições inerentes ao modelohierárquico, como por exemplo:

• apenas o registo raiz pode ocorrer sem estarrelacionado com um registo pai;g p

• se um registo filho tem dois ou mais registos pai, então ofilh d d li d d d ifilho deve ser duplicado para cada um dos pais.

58

Page 59: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

A b d d d hi á i t lAs bases de dados hierárquicas apresentam algunsproblemas, tais como:

• dificuldades de representação de relacionamentos dotipo M:N (muitos para muitos);p ( p )

• existem redundâncias nos dados, inerentes ao própriomodelo, pois quando um registo filho tem mais do queum pai deve ser repetido para cada um dos pais;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;correndo se o risco de eliminar informação relevante;

• a programação nos Sistemas de Bases de Dadoshierárquicos é muito exigente.

59

Page 60: Matéria de apoio  (Base de dados)

2 3 1 Modelo hierárquico2.3.1 Modelo hierárquico

• Um dos mais difundidos SGBD`s concebidos segundo omodelo hierárquico, comercialmente disponível, foidesenvolvido pela IBM na década de 70 e ficoudesenvolvido pela IBM na década de 70 e ficouconhecido como IMS (Information ManagementSystem).y )

60

Page 61: Matéria de apoio  (Base de dados)

2 3 2 Modelo em rede2.3.2 Modelo em rede

O modelo em rede surgiu tendo por base o modelo• O modelo em rede surgiu tendo por base o modelohierárquico; assim sendo, apresenta com ele algumassemelhanças.

• Neste modelo, um relacionamento chama-se set e é-lheatribuído um nomeatribuído um nome.

• O registo pai chama-se owner e o registo filho chama-bse member.

• Ao contrário do que acontece no modelo hierárquico no• Ao contrário do que acontece no modelo hierárquico, noqual um registo filho só pode ter um pai, um memberpode ter mais do que um owner.

61

Page 62: Matéria de apoio  (Base de dados)

2 3 2 Modelo em rede2.3.2 Modelo em rede

• O acesso aos dados é feito de forma semelhante ao domodelo hierárquico.

• O esquema de dados em rede pode ser representadopor uma estrutura como a representada na figura I 2 7por uma estrutura como a representada na figura I.2.7.

62

Page 63: Matéria de apoio  (Base de dados)

2 3 2 Modelo em rede2.3.2 Modelo em rede

63

Page 64: Matéria de apoio  (Base de dados)

2 3 2 Modelo em rede2.3.2 Modelo em rede

• Existem algumas restrições que devem ser impostasaos membros de um set e que devem ser definidas nomomento do desenho da base de dados dependendomomento do desenho da base de dados, dependendoda forma como queremos que eles se comportem.

• Existem opções chamadas de inserção (manuais eautomáticas) e opções chamadas de retençãoau o á cas) e opções c a adas de e e ção(opcionais, mandatórias ou fixas).

64

Page 65: Matéria de apoio  (Base de dados)

2 3 2 Modelo em rede2.3.2 Modelo em rede

Apesar de apresentar várias vantagens nomeadamente• Apesar de apresentar várias vantagens, nomeadamentepossibilitar a representação de relacionamentos de M:Ne do acesso aos dados ser mais flexível do que no

d l hi á i d l d tmodelo hierárquico, o modelo em rede apresentatambém algumas desvantagens.

• Uma das grandes desvantagens tem a ver com o factode o sistema ser muito complexo, exigindo umconhecimento profundo por parte dos programadoresconhecimento profundo por parte dos programadores,para que a sua utilização seja feita de forma eficiente, eum grande esforço na sua manutenção, devido ao factode não existir verdadeiramente independência funcionalde não existir verdadeiramente independência funcional.

• Além disso, o ambiente é pouco amigável para os65

, p g putilizadores finais.

Page 66: Matéria de apoio  (Base de dados)

2 3 2 Modelo em rede2.3.2 Modelo em rede

• Ao contrário daquilo que acontecia no modelohierárquico, para o qual não existiam normas definidas,o modelo em rede surgiu a partir das normaso modelo em rede surgiu a partir das normasestabelecidas pelo DBTG, indicado pela CODASYL em1971.

66

Page 67: Matéria de apoio  (Base de dados)

2 3 3 O Modelo Relacional2.3.3 O Modelo Relacional

O d l l i l d b d d d t d• O modelo relacional de bases de dados, apresentadopor Edgar F. Codd em 1970, num artigo intitulado “ARelational Model of Data for Large Shared Data Banks”,g ,representa uma quebra com os modelos anteriores euma verdadeira revolução.

• A estrutura básica do modelo relacional é a tabela,também chamada relaçãotambém chamada relação.

• Uma base de dados relacional é formada por umUma base de dados relacional é formada por umconjunto de tabelas que se relacionam através dapartilha de atributos comuns. (Figura I.2.8)

67

Page 68: Matéria de apoio  (Base de dados)

2 3 3 O Modelo Relacional2.3.3 O Modelo Relacional

• Apesar da tabela do modelo parecer um ficheiro, existeuma diferença fundamental entre eles: uma tabelafornece total independência quer dos dados querfornece total independência quer dos dados querfuncional, pois é uma estrutura puramente lógica.

68

Page 69: Matéria de apoio  (Base de dados)

2 3 3 O Modelo Relacional2.3.3 O Modelo Relacional

• Um dos motivos que levaram ao grande sucesso domodelo relacional é a facilidade que possui pararesponder a questões Ad hoc através de umaresponder a questões Ad-hoc, através de umalinguagem própria – SQL (Structured Query Language).

• Devido à sua importância abordaremos mais empormenor este modelo no próximo capítulo.po e o es e ode o o p ó o cap u o

69

Page 70: Matéria de apoio  (Base de dados)

2 3 3 O Modelo Relacional2.3.3 O Modelo Relacional

A d t d t t d d l• Apesar de todas as vantagens apresentadas, o modelorelacional apresenta também algumas desvantagens.

• Uma delas tem a ver com o facto de o SGBD relacionalser muito exigente quer a nível do hardware, quer ag q qnível do sistema operativo, devido à sua complexidade.

E i d l d d id à• Este aspecto tem vindo a ser ultrapassado devido àcrescente capacidade dos computadores.

70

Page 71: Matéria de apoio  (Base de dados)

2 3 3 O Modelo Relacional2.3.3 O Modelo Relacional

O t t id é f t d d id• Outro aspecto a considerar é o facto de, devido ao seuambiente amigável, os SGBD`s relacionais seremutilizados sem ter em linha de conta o desenho cuidadodas estruturas necessárias, gerando muitas vezesproblemas semelhantes aos dos sistemas de ficheiros.

71

Page 72: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalAs bases de dados relacionais têm tido grande• As bases de dados relacionais têm tido grandeaceitação em aplicações clássicas nas organizações,nomeadamente no processamento de ordens de

d t l d i tá i ã dencomendas, no controlo de inventários, marcação dereservas e muitas outras.

• Nos últimos anos, as bases de dados têm aumentadoquer em tamanho quer em complexidade nas suasaplicações colocando exigências com as quais é difícilaplicações, colocando exigências com as quais é difícillidar com a utilização de tecnologias relacionaisclássicas.

72

Page 73: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo Relacional• Nestas aplicações, incluem-se os Sistemas de

Informação Geográfica (SIG), aplicações médicas ecientíficas os sistemas CAD e CAM os sistemascientíficas, os sistemas CAD e CAM, os sistemasmultimédia, entre outras.

• Em qualquer destes casos, o volume de informação atratar é grande e o tipo de objectos a guardar na basea a é g a de e o po de objec os a gua da a basede dados é complexo.

73

Page 74: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalD t f i d l d t ã• Desta forma, surgiram novos modelos de representaçãode dados, nomeadamente os modelos orientados aobjectos, que têm origem nas linguagens dej , q g g gprogramação orientadas a objectos.

• Como resposta surgiram também extensões ao modelorelacional, de modo a suportarem características demodelos orientados a objectosmodelos orientados a objectos.

74

Page 75: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalU bj t é t ã t l d• Um objecto é uma representação conceptual de umaentidade do mundo real, contendo os atributos que odescrevem e o seu comportamento, ou seja, as acçõesp , j , çque lhe estão associadas – encapsulamento significaque um objecto contém quer a estrutura dos dados quero conjunto de operações que podemos definiro conjunto de operações que podemos definir.

• Estas acções chamam-se métodos• Estas acções chamam-se métodos.

75

Page 76: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalU t ib t d f ê i t bj t• Um atributo pode ser uma referência a outro objecto.

• Cada objecto contém um identificador único que é• Cada objecto contém um identificador único, que éindependente dos seus atributos e invisível para outilizador.

• O estado de um objecto é o conjunto de valores que osib d bj ê d datributos do objecto têm num dado momento.

76

Page 77: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo Relacional• 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) solicitando lhe que execute(pode ser o mesmo objecto) solicitando-lhe que executeum dos seus métodos.

77

Page 78: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalUma classe é uma colecção de objectos semelhantes• Uma classe é uma colecção de objectos semelhantesque partilham a estrutura e o comportamento, permitindoque os atributos e os métodos associados possam serd fi id l ddefinidos uma vez para a classe em vez deseparadamente para cada objecto.

• As classes estão organizadas através de uma estruturahierárquica, na qual os objectos de uma classe herdamos atributos e métodos das suas super-classes –os atributos e métodos das suas super-classes –herança – além de possuírem atributos e métodospróprios.

78

Page 79: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalA h it l j d fi id• A herança permite que uma classe seja definida comocaso especial de uma classe mais geral.

• Os casos especiais são conhecidos como sub-classes eos casos mais gerais são conhecidos como super-g pclasses.

P d f l d h i l d• Podemos falar de herança simples, sendo que nestecaso um objecto pode ter apenas uma superclasse pai ede herança múltipla, sendo que neste caso um objectode herança múltipla, sendo que neste caso um objectopode ter duas ou mais super-classes pai.

79

Page 80: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalO li fi é t í ti i t t d• O polimorfismo é uma característica importante dossistemas orientados a objectos.

• Significa que a mesma mensagem enviada a objectospertencentes a classes diferentes, origina a respostap g pcorrecta em cada caso, ou seja, podemos utilizar omesmo nome para métodos em classes diferentes, poiso seu comportamento será adequadamente diferente emo seu comportamento será adequadamente diferente emresposta à mesma mensagem.

80

Page 81: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo Relacional• 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-seque existe binding dinâmicoque existe binding dinâmico.

81

Page 82: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo Relacional• Um SGBD orientado a objectos resulta da combinação

das características tradicionais de um SGBD (tais comogestão do armazenamento dos dados gestão dagestão do armazenamento dos dados, gestão dasegurança, manutenção da integridade dos dados) edas características de sistemas orientados a objectos,j ,tais como, herança, encapsulamento e polimorfismo.

82

Page 83: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalO “M if t d i t d b d d d• O “Manifesto dos sistemas de bases de dadosorientados a objectos” apresentado por Atkison, et allem 1989 e citado por [Connolly e Beg, 1999], apresentap [ y g, ], ptreze regras que descrevem todas as característicasdesejáveis de um SGBD Orientado a Objectos.

• O manifesto contém dois conjuntos de regrasapresentadas na figura I 2 9apresentadas na figura I.2.9.

• Já na década de 90, foi formado por vários vendedoresJá na década de 90, foi formado por vários vendedoresde SGBD`s um grupo de trabalho que pretendeu definirnormas no que concerne a este assunto – o ObjectDatabase Management Group (ODMG)

83

Database Management Group (ODMG).

Page 84: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalE t õ d l d d d i t dEste grupo propõe um modelo da dados orientado aobjectos que consiste de três partes:

• um modelo de objectos;

• uma linguagem de definição de objectos (equivalente auma linguagem de definição de dados de um SGBD

i l)convencional);

li tõ bi t i t d• uma linguagem para questões, em ambientes orientadosa objectos, com sintaxe semelhante à do SQL.

84

Page 85: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo Relacional

85

Page 86: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalAs rápidas mudanças que se têm vindo a verificar no• As rápidas mudanças que se têm vindo a verificar noambiente das bases de dados, forçaram os defensoresdas bases de dados relacionais a uma resposta aod fi l d l bi t i t d bj tdesafio 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.

E i i á i dif f• Existem sim várias propostas que diferem na formacomo as extensões são feitas.

• Em comum existem as tabelas do modelo relacional, alinguagem para questões e a incorporação de algunsconceitos de modelos orientados a objectos

86

conceitos de modelos orientados a objectos.

Page 87: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo Relacional• Stonebraker`s propôs uma visualização do mundo dasStonebraker s propôs uma visualização do mundo das

bases de dados classificando-as segundo quatroquadrantes, como apresentado na figura I.2.10.

87

Page 88: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalA d t l ifi ã i t t i t• Apesar de esta classificação ser interessante, existemmuitas aplicações de bases de dados que não se revêmfacilmente num dos quadrantes.q

• Além disso, com o trabalho realizado pelo grupo ODMGp g p(Object Data Management Group) a distinção entreextensão do modelo relacional e modelo orientando aobjectos é cada vez menos claraobjectos é cada vez menos clara.

88

Page 89: Matéria de apoio  (Base de dados)

2.3.4 Novos modelos: Modelos Orientados a Objectos eOrientados a Objectos e

Extensões ao Modelo RelacionalActualmente existem debates entre os proponentes dos• Actualmente existem debates entre os proponentes dosdois modelos.

• Ambos estão de acordo em que o modelo relacional éinsuficiente para certos tipos de aplicações, diferindo, noentanto na sua opinião quanto à melhor soluçãoentanto, na sua opinião quanto à melhor solução.

• É difícil prever se uma das abordagens se tornarád i d d l á i h ddominante ou se cada uma delas ocupará um nicho demercado próprio.

89

Page 90: Matéria de apoio  (Base de dados)

2 4 TENDÊNCIAS FUTURAS2.4 TENDÊNCIAS FUTURAS

• No final da década anterior surgiram novosdesenvolvimentos na área das bases de dados.

• Dado que se encontram numa fase inicial do seudesenvolvimento intitulamos esta secção dedesenvolvimento, intitulamos esta secção deTendências Futuras”.

90

Page 91: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

U D t W h ( é d d d ) é b• Uma Data Warehouse (armazém de dados) é uma basede 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 nasorganizações.

O h d “ i d D W h ” Bill I• O chamado “pai das Data Warehouses”, Bill Inmon,define-as como uma colecção de dados integrados,orientada para determinados assuntos, variável noorientada para determinados assuntos, variável notempo e não volátil, que fornece apoio na tomada dedecisão.

91

Page 92: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

O d d di i t d i D t• Os dados dizem-se integrados pois numa DataWarehouse consolidam-se os dados provenientes dediversas fontes, muitas vezes com formatos distintos.,

• A integração dos dados implica um esforço bemg porganizado para definir e padronizar todos os dados, demodo a torná-los consistentes, para que possam serapresentados aos utilizadores de forma centralizadaapresentados aos utilizadores de forma centralizada.

92

Page 93: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

A colecção de dados diz se orientada para• A colecção de dados diz-se orientada paradeterminados assuntos visto estar organizada de modoa fornecer respostas a questões provenientes dedi á f i i d hi (t idiversas á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 umdeterminado período (a última semana o último mês odeterminado período (a última semana, o último mês, oúltimo ano,...) diz-se que são variáveis no tempo.

93

Page 94: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

Além disso a variabilidade no tempo também está• Além disso, a variabilidade no tempo também estápresente na medida em que os dados sãoperiodicamente actualizados, provocando que todas as

õ d d d iá l t jagregações que dependem da variável tempo, sejamnovamente calculadas.

• Visto que os dados, na Data Warehouse, não sãoactualizados em tempo real, mas sim regularmenterecolhidos a partir dos sistemas operacionais (OLTP`srecolhidos a partir dos sistemas operacionais, (OLTP s“On Line Transaction Processing“ ou sistemas deprocessamento de transacções) e visto que os dadosexistentes não são nunca removidos sendo os novosexistentes não são nunca removidos sendo os novosdados adicionados continuamente, diz-se que os dadossão não voláteis.

94

Page 95: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

Pela breve descrição apresentada podemos verificar• Pela breve descrição apresentada, podemos verificarque estas bases de dados têm característicascompletamente diferentes das bases de dados dosh d i t d t d t õ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 acapacidade de processamento de um grande número detransacções que são previsíveis repetitivas e utilizadastransacções que são previsíveis, repetitivas e utilizadasmuitas vezes, enquanto que aquelas são concebidas demodo a maximizar a capacidade de resposta a umnúmero relativamente baixo de transacções que são denúmero relativamente baixo de transacções que são denatureza imprevisível e requerem respostas a questõesAd hoc, não estruturadas e heurísticas.

95

Page 96: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

• Naturalmente, sendo de naturezas distintas, apresentamcaracterísticas distintas.

• Na figura I.2.11 apresentamos uma comparação entreas bases de dados utilizadas nos sistemas OLTP e asas bases de dados utilizadas nos sistemas OLTP e asData Warehouses, utilizadas pelos sistemas de apoio àdecisão (DSS – Decision Support Systems).dec são ( SS ec s o Suppo Sys e s)

96

Page 97: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

D d i ã d D t W h l• Dado que a criação das Data Warehouses envolvecustos elevados, muito tempo despendido e um esforçoconsiderável por parte da gestão, muitas empresasp p g , piniciam a sua incursão no mundo das Data Warehouses,por um conjunto de dados mais manejáveis, orientadospara pequenos grupos dentro da organização as Datapara pequenos grupos dentro da organização – as DataMarts.

• Numa tradução directa de Mart, obtemos mercado,centro de comércio.

97

Page 98: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

P d d fi i D t M t b j t• Podemos definir uma Data Mart como um subconjuntode uma Data Warehouse que suporta as exigências deum dado departamento ou de uma função do negócio.p ç g

• Uma Data Mart pode estar isolada ou pode estar ligadap p ga uma Data Warehouse central.

98

Page 99: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

99

Page 100: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

O d d d D t W h i ã• Os dados armazenados numa Data Warehouse servirãopara responder a questões sobre determinados factosanalisados de várias formas – perspectiva multi-p pdimensional.

• O star schema é uma técnica de modelação de dadosque gera um modelo facilmente utilizável numaperspectiva de análise multi-dimensional dos dadosperspectiva de análise multi-dimensional dos dados,preservando, ainda assim, as estruturas relacionais.

100

Page 101: Matéria de apoio  (Base de dados)

2 4 1 Data Warehouses2.4.1 Data Warehouses

Até há muito pouco tempo as ferramentas disponíveis• Até há muito pouco tempo, as ferramentas disponíveispara aceder a grandes volumes de dados forneciamapenas uma análise limitada e relativamente simplistad d ddesses dados.

• O nascimento das Data Warehouses tem sidoO nascimento das Data Warehouses tem sidoacompanhado por uma exigência crescente por partedos seus utilizadores no que concerne a ferramentas deacesso mais poderosasacesso mais poderosas.

• Como resposta, têm vindo a ser desenvolvidaspferramentas tais como On-Line Analytical Processing(OLAP`s) e Data Mining, que fornecem capacidadesanalíticas avançadas.

101

ç

Page 102: Matéria de apoio  (Base de dados)

2 4 2 OLAP`s2.4.2 OLAP s

OLAP do inglês On Line Analytical Processing são• OLAP, do inglês On-Line Analytical Processing, sãoferramentas que proporcionam ambientes para análiseavançada de dados, fazendo a síntese, análise e

lid ã d d l d d dconsolidação de grandes volumes de dados,armazenados numa perspectiva multi-dimensional.

• A perspectiva multi-dimensional dos dados permite quea análise dos dados do negócio seja feita sob váriasperspectivas (dimensões): vendas por cliente vendasperspectivas (dimensões): vendas por cliente, vendaspor região, vendas por vendedor, etc.

102

Page 103: Matéria de apoio  (Base de dados)

2.4.2 OLAP`sAs técnicas de análise de dados numa perspectiva multi-p pdimensional podem ser ampliadas através das seguintesfunções:

• funções de representação de dados tais como gráficos3-D;f f• funções para agregação, consolidação e classificaçãode dados que permitem ao analista dos dados donegócio a criação de níveis de agregação múltiplos, ag ç g g ç pvisualização dos dados sob diferentes perspectivas e aapresentação dos dados pormenorizados, contidos nosdados consolidados;;

• funções de cálculo, tais como variáveis de negócio(margens de venda, quotas de mercado, etc.), ráciosfinanceiros e contabilísticos (lucro retorno etc) funçõesfinanceiros e contabilísticos (lucro, retorno, etc), funçõesestatísticas, etc.;

• funções de modelação de dados tais como cenários dotipo Se Então e programação linear

103

tipo Se-Então e programação linear.

Page 104: Matéria de apoio  (Base de dados)

2 4 2 OLAP`s2.4.2 OLAP s

• 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 interfacesamigáveisamigáveis.

104

Page 105: Matéria de apoio  (Base de dados)

2 4 2 OLAP`s2.4.2 OLAP s

U d bj ti d t d d d é• Um dos objectivos do processamento de dados éprocessar os dados contidos em bases de dados comuma complexidade crescente, sem sacrificar os temposp , pde resposta.

• As arquitecturas cliente/servidor permitem dividir osistema OLAP em vários componentes que podem sercolocados no mesmo computador ou podem sercolocados no mesmo computador ou podem serdistribuídos por vários computadores.

105

Page 106: Matéria de apoio  (Base de dados)

2.4.2 OLAP`sAs ferramentas OLAP podem ser organizadas segundoduas categorias principais:

• MOLAP (Multidimensional OLAP) As ferramentasMOLAP utilizam estruturas de dados apropriadas eSGBD` l i di i i iSGBD`s multi-dimensionais para organizar, navegar eanalisar os dados. Exemplos de ferramentas MOLAPincluem Analysis Server, Essbase, Express Server;y p

• ROLAP (Relational OLAP) As ferramentas ROLAP sãoa categoria de OLAP`s que se tem desenvolvido maisa categoria de OLAP s que se tem desenvolvido maisrapidamente. As ferramentas ROLAP utilizam SGBD`srelacionais, através da utilização de camadas demetadados evitando assim a criação de estruturas demetadados, evitando assim a criação de estruturas dedados multidimensionais estáticos. Exemplos deferramentas ROLAP incluem Axsys, DSS Agent/DSSServer Metacube

106

Server, Metacube.

Page 107: Matéria de apoio  (Base de dados)

2 4 2 OLAP`s2.4.2 OLAP s

• A tendência actual é que as ferramentas MOLAP eROLAP convirjam, produzindo um novo tipo de SGBD`sque utilizem as melhores capacidades de cada uma dasque utilizem as melhores capacidades de cada uma dasferramentas.

107

Page 108: Matéria de apoio  (Base de dados)

2 4 3 Data Mining2.4.3 Data Mining

Só conseguimos perceber o verdadeiro valor de uma• Só conseguimos perceber o verdadeiro valor de umaData Warehouse se formos capazes de extraircaracterísticas dos dados, relações, dependências out dê i ( d õ ) i t d h id Atendências (padrões) previamente desconhecidos. Asferramentas de Data Mining são uma das melhoresformas de o conseguir.

• As ferramentas de Data Mining são pró-activas, isto é,em vez de ser o utilizador a definir o problema eem vez de ser o utilizador a definir o problema eseleccionar os dados e as ferramentas que vão analisá-los, as ferramentas de Data Mining pesquisam os dadosde forma automática à procura de anomalias ede forma automática, à procura de anomalias erelações, identificando problemas não identificadospreviamente pelo utilizador final.

108

Page 109: Matéria de apoio  (Base de dados)

2 4 3 Data Mining2.4.3 Data Mining

As ferramentas de Data Mining são recentes e assim• As ferramentas de Data Mining são recentes e assimsendo, não existem normas estabelecidas.

• Existem sim, famílias de ferramentas de Data Miningdirigidas a determinados nichos de mercado (marketing,finanças saúde ) utilizando algoritmos que vão serfinanças, saúde,...), utilizando algoritmos que vão seraplicados a diversos dados de modo a obterconhecimento.

• Os algoritmos tipicamente utilizados podem serbaseados 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.

109

Page 110: Matéria de apoio  (Base de dados)

2 4 3 Data Mining2.4.3 Data Mining

U l d lt d btid l f t• Um exemplo de um resultado obtido pelas ferramentasde Data Mining pode ser que 90% dos clientes quecompraram uma televisão têm uma apetência de 88%p p %de comprar um vídeo nas 4 semanas seguintes.

• Este resultado pode ser utilizado na tomada de decisãorelativa a uma campanha de marketing de vídeos.Exemplos de ferramentas de Data Mining incluemExemplos de ferramentas de Data Mining incluemClementine, Itelligent Miner, Mineset, etc.

• Para um maior aprofundamento deste tema sugerimos aleitura de [Fayad et all,1996].

110

Page 111: Matéria de apoio  (Base de dados)

2 4 4 Integração com a Web2.4.4 Integração com a Web

A World Wide Web ou de forma abreviada a Web ou• A World Wide Web ou de forma abreviada a Web ouWWW, é para muitas pessoas sinónimo de Internet.

• O pai da Web é Tim Berners-Lee, do CERN (laboratórioEuropeu de Física das Partículas), que teve a ideia decriar uma teia electrónica de informação sobrecriar uma teia electrónica de informação sobreinvestigação.

H j W b i f b• Hoje encontramos na Web informação sobre quasetudo. Foi desenvolvida uma linguagem chamada HTML– Hyper Text Mark-up Language – que consiste numyp p g g qconjunto de instruções, inseridas pelo programador, emtexto simples.

111

Page 112: Matéria de apoio  (Base de dados)

2 4 4 Integração com a Web2.4.4 Integração com a Web

C d d á i W b é d t• Cada uma das páginas Web é um documento emHipertexto.

• O conceito de Hipertexto foi inventado nos anos 50, porTed Nelson, e significa que uma porção de texto numg q pdocumento pode remeter para outros pedaços de textodentro do mesmo documento ou de outros documentos.

• Inicialmente as páginas da Web eram baseadas apenasem texto mas actualmente apresentam característicasem texto mas actualmente apresentam característicasde multimédia.

112

Page 113: Matéria de apoio  (Base de dados)

2 4 4 Integração com a Web2.4.4 Integração com a Web

Nos últimos tempos têm se verificado o• Nos últimos tempos, têm-se verificado odesenvolvimento de tecnologias que permitem aintegração de sistemas de gestão de bases de dados

W b t é d tili ã d it tcom a Web, através da utilização de arquitecturasadequadas.

• Existem páginas Web cujo conteúdo não se altera a nãoser que o próprio ficheiro (em HTML) seja alterado –páginas estáticaspáginas estáticas.

• É cada vez mais comum a existência de páginas Webp gque são geradas de cada vez que são acedidas –páginas dinâmicas.

113

Page 114: Matéria de apoio  (Base de dados)

2 4 4 Integração com a Web2.4.4 Integração com a Web

As bases de dados pelas suas características• As bases de dados, pelas suas característicaseminentemente dinâmicas, prestam-se a uma integraçãona Web através da criação de páginas dinâmicas.

• Nesta situação, o hipertexto deve ser automaticamentegerado pelos servidores através de scripts que fazem agerado pelos servidores, através de scripts que fazem aconversão de diferentes formatos de dados para HTML.

E i l i í i i• Existem algumas aproximações possíveis, tais comoutilização da técnica CGI (Common Gateway Interface),cookies, as linguagens JavaScript ou VBScript.g g p p

• O Ms Access inclui algumas funcionalidades para aWeb

114

Web.