25
1 Cap. 1 Arquitectura de Sistemas de Bases de Dados Abel J.P. Gomes Bibliografia usada: T. Connoly e C. Begg. “Database Systems: a pratical approach to design,implementation, and management”. Addison-Wesley, 1999 (cap.2).

Cap. 1 Arquitectura de Sistemas de Bases de Dadosagomes/bd2-2008-09/teoricas/01-arquitecturas.pdf · 3 2. Conceitos Básicos Bases de Dados •Colecção partilhada de dados (ficheiros)

Embed Size (px)

Citation preview

1

Cap. 1Arquitectura de Sistemas deBases de Dados

Abel J.P. Gomes

Bibliografia usada:T. Connoly e C. Begg. “Database Systems: a pratical approach to design,implementation, andmanagement”. Addison-Wesley, 1999 (cap.2).

2

1. Objectivos

O propósito e a origem da arquitectura de base de dados a três níveisO propósito e a origem da arquitectura de base de dados a três níveis..

O conteúdo dos níveis externo, conceptual e interno.O conteúdo dos níveis externo, conceptual e interno.

O propósito das mapeamentos entre níveis externo e conceptual, e entreO propósito das mapeamentos entre níveis externo e conceptual, e entreos níveis conceptual e interno.os níveis conceptual e interno.

O significado de independência lógica e independência física de dados.O significado de independência lógica e independência física de dados.

A distinção entreA distinção entre umauma DDL (DDL (Data Definition Data Definition LLanguage) anguage) ee umuma a DML (DML (DataDataManipulation Language).Manipulation Language).

Classificação de modelos de dados.Classificação de modelos de dados.

As funções/serviços típicos fornecidos por um DBMS.As funções/serviços típicos fornecidos por um DBMS.

As componentes dum DBMS.As componentes dum DBMS.

O significado da arquitectura O significado da arquitectura cliente-servidor cliente-servidor e as suas vantagens nume as suas vantagens numambiente DBMS multi-utilizador.ambiente DBMS multi-utilizador.

3

2. Conceitos Básicos

Bases de Dados• Colecção partilhada de dados (ficheiros) logicamente relacionados

concebida de forma a satisfazer as necessidades de informação dumaorganização (e.g. empresa imobiliária)

DBMS(DataBase Management System) Colecção de programas que permite ao utilizador definir, criar, aceder,

manipular e fazer a manutenção os dados existentes numa DB.

VENDAS

Entrada dedados/Saídade relatórios

CONTRATOS

Entrada dedados/Saídade relatórios

Base de dados

Prog.s de aplicaçãodo Dept. Vendas

Prog.s de aplicaçãodo Dept. Contratos

DBMS

Definição de tabelas(Propriedade, Proprietário,Arrendatário e Contrato) +definição de ficheiros

4

3. Projecto (Desenho) de Bases de Dados Um dos principais objectivos dum sistema de base de dados é fornecer aos

utilizadores uma perspectiva ABSTRACTA dos dados, ocultando-lhesCOMO os dados são armazenados e manipulados.

Isto significa que o desenho (design) duma base de dados começa por umadescrição abstracta e, por isso, geral dos requisitos de informação dumaorganização:

• Entidades• Atributos• Relações

5

4. Arquitectura ANSI-SPARC dum DBMS (1975):motivação

Todos os utilizadores devem ter acesso aos mesmos dados.Todos os utilizadores devem ter acesso aos mesmos dados.

A perspectiva do utilizador deve ser imune às alterações feitas noutrasA perspectiva do utilizador deve ser imune às alterações feitas noutrasperspectivasperspectivas (ou vistas ou (ou vistas ou viewsviews).).

Os utilizadores não precisam de saber dos detalhes de armazenamentoOs utilizadores não precisam de saber dos detalhes de armazenamentofísico da base de dados.físico da base de dados.

O DBA deve ser capaz de alterar as estruturas de O DBA deve ser capaz de alterar as estruturas de armazenamento armazenamento da baseda basede dados sem afectar as de dados sem afectar as vistasvistas dos utilizadores. dos utilizadores.

A estrutura interna da base de dados não deve ser afectada por alteraçõesA estrutura interna da base de dados não deve ser afectada por alteraçõesfísicas de armazenamento.físicas de armazenamento.

O DBA deve ser capaz de alterar a estrutura conceptual da base de dadosO DBA deve ser capaz de alterar a estrutura conceptual da base de dadossem afectar os utilizadores.sem afectar os utilizadores.

6

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveisde abstracção de dados

Nível externo (utilizador): descriçãopersonalizada e parcial dos dados.

Cada perspectiva (view) externa inclui asentidades, atributos e relações que sãorelevantes para o utilizador oudepartamento em causa.

Além disso, perspectivas distintas podemter representações diferentes dosmesmos dados. Por exemplo, o dadodata pode ser descrito nas seguintesformas:• (dia,mês,ano)• (ano,mês, dia)

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

7

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveisde abstracção de dados (cont.1)

Nível conceptual (DBA): descriçãocomunitária/total dos dados.Este nível descreveQUE dados e suas relações estão armazenadosna BD.

Este nível compreende:• Todos os dados;• Todos os atributos;• Todas as relações;• As restrições sobre os dados;• Informação semântica dos dados;• Informação de integridade e segurança.

Este nível não compreende dados dependentesdo armazenamento. Por exemplo, a descriçãoduma entidade contém os tipos de dados dosseus atributos (p.ex. integer, real, char), mas nãoo número de bytes ocupados por cada um dosatributos.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

8

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveisde abstracção de dados (cont.2)

Nível interno (sistema): Representaçãofísica da BD. Descrição de COMO osdados estão armazenados (estruturas dedados e ficheiros usados ao mais baixo-nível).

Este nível compreende:• Alocação de memória para

dados/índices;• Descrições de registos (c/ tamanhos

dos dados);• Colocação de registos;• Técnicas de compressão e encriptação

de dados;• Algoritmos de acesso ao sistema de

ficheiros via sistema operativo.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

9

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveisde abstracção de dados (cont.2)

Func_no Nome Apelido Idade Salário

View 1 (Dept. Contabilidade)

Func_no Apelido Ano

View 2 (Dept. Recursos Humanos)

struct STAFF{int Staff_no;int Branch_no;char FName[15];char LName[15];struct date Date_of_Birth;float Salary;struct STAFF *next;

};index Staff_no; index Branch_no;

Nível interno (sistema, Linguagem C)

Func_no Nome Apelido Idade DNasc Vencimento Filial_no

Nível conceptual (DBA)

10

5. Esquemas e Instâncias

Esquema da BD: descrição global da BD.NOTA: É importante distinguir entre a descrição da DB e a própria DB.

Esquema externo: conjunto dos subesquemas externos que descrevem asperspectivas dos utilizadores.

Esquema conceptual: descrição de todos os dados e suas interrelações, assim comodas restrições de integridade associadas. Existe só um esquema conceptual.

Esquema interno: contém as definições dos registos armazenados, métodos derepresentação, campos dos registos, indíces e esquemas de hashing. Só existe umesquema interno.

Instância: conjunto de informação existente numa base de dados num dado instante.As bases de dados mudam ao longo do tempo, através da introdução de maisinformação ou do apagamento de informação existente na base de dados.

11

6. Independência dos Dados

É um dos principais objectivos daarquitectura ASNSI-SPARC.

Significa que um nível de abstracçãonão é afectado por alteraçõesocorridas em níveis inferiores.

Há dois tipos de independência dedados: lógica física

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

12

6.1 Independência Lógica dos Dados

Independência lógica dedados:invariância dos subesquemasexternos a quaisquer alterações noesquema conceptual.

Obviamente, os utilizadores não temque ter conhecimento destasalterações, com excepção daquelespara os quais as alterações foramfeitas.

Alterações?: adição e remoção deentidades, atributos e relações devemser possíveis sem afectar osesquemas externos existentes oureescrever programas de aplicação.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

13

6.2 Independência Física dos Dados

Independência física dedados:invariância do esquemaconceptual externos a quaisqueralterações no esquema interno.

Do ponto de vista do utilizador, aúnica alteração admissível é nodesempenho do DBMS.

Alterações?: alteração das estruturasde dados, alteração na organizaçãode ficheiros, alteração utilização dedispositivos de armazenamento,alteração dos algoritmos deindexação e hashing

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

Esquema Externo

14

7. DDL (Data Definition Language) O esquema duma base de dados é especificado através de um conjunto

de definições expressas numa linguagem especial designada porLinguagem de Definição de Dados (DDL).

Em SQL (Structured Query Language), a DDL inclui basicamente quatrocomandos:

• CREATE DATABASE, DROP DATABASE• CREATE TABLE, DROP TABLE, ALTER TABLE• CREATE VIEW, DROP VIEW• CREATE INDEX, DROP INDEX

Definições em DDL

compilação Dicionário de Dados

15

8. DML (Data Manipulation Language)

Operações de manipulação de dados:

consulta aos dados da BD

inserção de novos dados na BD

actualização de dados na BD eliminação de dados da BD

Em SQL (Structured Query Language), a DML inclui basicamente quatrocomandos:

SELECT

INSERT UPDATE

DELETE

16

9. SQL (Structured Query Language)

Unifica a DDL e a DML numa única linguagem.

Engloba ainda outros aspectos, como por exemplo os relacionados com aadministração da base de dados.

É uma linguagem não-procedimental. Funciona em modo interactivo.

Existem várias extensões à linguagem SQL de tal modo que os comandosSQL podem ser embutidos em linguagens de programação tradicionais(Pascal, C, etc.).

É uma norma ISO e ANSI.ISO (International Standards Organization)ANSI (American National Standards Institute)

17

10. 4GL (Fourth Generation Languages) Algumas classes de 4GL:

Linguagens de inquirições. Exemplo: SQL. Geradores de relatórios. Geradores de formulários. Geradores de gráficos. Geradores de aplicações.

18

11. Modelos de Dados

Modelo de Dados:Uma colecção integrada de conceitos cujo objectivo é descrever os dados,as relações entre os dados e as restrições impostas aos dados dumaorganização.

Classes de Modelos de Dados: baseados em objectos

Entidade-RelaçãoSemânticoFuncionalOrientado por objectos

baseados em registosModelo relacional de dadosModelo em rede de dadosModelo hierárquico de dados

físicos

19

12. Funções/Serviços dum DBMS(Codd, 1982)

Armazenamento, devolução e actualização de dados. É a função principal dequalquer DBMS.

Catálogo acessível ao utilizador. Contém os dados referentes aos esquemas,utilizadores, aplicações, etc.

Suporte a transações. Um DBMS deve fornecer um mecanismo que garantaque todas actualizações referentes a uma determinada transação sãoefectuadas ou nenhuma delas é efectuada.

Controlo da concorrência. Um DBMS deve fornecer um mecanismo quegaranta que a base de dados seja actualizada correctamente quando váriosutilizadores estão a actualizá-la concorrentemente.

Recuperação a falhas. Um DBMS deve fornecer um mecanismo derecuperação da DB em caso de ocorrência de falha numa transação.

Autorização. Um DBMS deve fornecer um mecanismo que garanta quesomente utilizadores autorizados tenham acesso à base de dados.

Comunicação de dados. Um DBMS deve ser capaz de se integrar com osoftware de comunicação em rede.

Integridade. Um DBMS deve fornecer um mecanismo que garanta que osdados e suas alterações seguem determinadas regras de consistência.

20

13. Componentes dum DBMS

21

14. Topologias de Arquitecturas DBMS Multi-utilizador

Teleprocessamento

Ficheiro-Servidor

Cliente-Servidor

Distribuída

22

14.1 Teleprocessamento (mainframe)

1 computador c/1 CPU + nterminais;

processamento centralizado; terminais funcionalmente

dependentes, i.e. s/ capacidadede processamento;

Desvantagem: enormesobrecarga do processador, paraexecutar todas as tarefas, taiscomo aplicações (interfacesgráficas), DBMS, edição detexto e de programas,formatação dos dadosmostrados no ecrã, etc.

terminal 1

terminal 2 terminal 3

terminal 4

23

14.2 Ficheiro-Servidor

1 computador servidor de ficheiros + nworkstations + LAN;

1 servidor de ficheiros que contêm astabelas da base de dados; funciona comouma drive de disco partilhada;

processamento DBMS distribuído, poiscada workstation corre uma cópia doDBMS;

Desvantagens: enorme quantidade de tráfego na rede; manutenção mais custosa: cada workstation

requer uma cópia completa do DBMS;

controlo da concorrência, integridade dosdados e recuperação a falhas são maiscomplexos, visto que há vários DBMS aaceder aos mesmos ficheiros.

workstation 1(SGBD)

Servidor de ficheiros

workstation 2(SGBD)

workstation 3(SGBD)

Ficheiros devolvidosPedidos de dados

LAN Local Area Network

BD

24

14.3 Cliente-Servidor

1 computador servidor DBMS + nworkstations + LAN;

Servidor: processamento DBMScentralizado;

Cliente: gestão de interface com outilizador e da lógica da aplicação;

Vantagens: Acesso generalizado às bases de

dados existentes; Melhor desempenho (workstations

processam aplicações em paralelo). Custos de hardware reduzidos (só

o servidor requer elevadascapacidades de processamento earmazenamento).

Menores custos de comunicações(menos informação a circular narede).

Garantia da integridade dos dados.

workstation 1cliente 1

Servidor DBMS

workstation 2cliente 2

workstation 3cliente 3

Dados devolvidosPedidos de dados

LAN Local Area Network

BD

25

Sumário

Definição de objectivos. Conceitos básicos: base de dados e DBMS. Desenho de bases de dados. Arquitectura ANSI-SPARC. Esquemas e instâncias. Independência de dados. Data Definition Language (DDL). Data Manipulation Language (DML). Structured Query Language (SQL). Linguagens 4G. Modelos de dados. Funções/serviços dum DBMS. Componentes dum DBMS. Topologias da arquitectura dum DBMS multi-utilizador.

FIM