• Nenhum resultado encontrado

Cap. 1 Arquitectura de Sistemas de Bases de Dados

N/A
N/A
Protected

Academic year: 2021

Share "Cap. 1 Arquitectura de Sistemas de Bases de Dados"

Copied!
25
0
0

Texto

(1)

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).

(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 entre

os 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 (DataData

Manipulation 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 num

ambiente DBMS multi-utilizador.

(3)

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 duma organizaçã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 de dados/Saída de relatórios CONTRATOS Entrada de dados/Saída de relatórios Base de dados Prog.s de aplicação do Dept. Vendas Prog.s de aplicação do 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-lhes

COMO os dados são armazenados e manipulados.

 Isto significa que o desenho (design) duma base de dados começa por uma

descrição abstracta e, por isso, geral dos requisitos de informação duma organização:

• Entidades • Atributos • Relações

(5)

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 noutras

perspectivas

perspectivas (ou vistas ou (ou vistas ou views).views).

 Os utilizadores não precisam de saber dos detalhes de armazenamentoOs utilizadores não precisam de saber dos detalhes de armazenamento

fí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 base

de 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ções

fí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 dados

sem afectar os utilizadores.

(6)

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveis

de abstracção de dados

 Nível externo (utilizador): descrição

personalizada e parcial dos dados.

 Cada perspectiva (view) externa inclui as

entidades, atributos e relações que são relevantes para o utilizador ou

departamento em causa.

 Além disso, perspectivas distintas podem

ter representações diferentes dos mesmos dados. Por exemplo, o dado

data pode ser descrito nas seguintes

formas:

• (dia,mês,ano) • (ano,mês, dia)

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

(7)

7

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveis

de abstracção de dados (

cont

.1)

 Nível conceptual (DBA): descrição

comunitária/total dos dados.Este nível descreve QUE dados e suas relações estão armazenados na 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 dependentes

do armazenamento. Por exemplo, a descrição duma entidade contém os tipos de dados dos seus atributos (p.ex. integer, real, char), mas não o número de bytes ocupados por cada um dos atributos.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

(8)

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveis

de abstracção de dados (

cont

.2)

 Nível interno (sistema): Representação

física da BD. Descrição de COMO os dados estão armazenados (estruturas de dados 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

(9)

9

4. Arquitectura ANSI-SPARC dum DBMS (1975): níveis

de 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 as

perspectivas dos utilizadores.

Esquema conceptual: descrição de todos os dados e suas interrelações, assim como

das restrições de integridade associadas. Existe só um esquema conceptual.

Esquema interno: contém as definições dos registos armazenados, métodos de

representação, campos dos registos, indíces e esquemas de hashing. Só existe um esquema 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 mais informação ou do apagamento de informação existente na base de dados.

(11)

11

6. Independência dos Dados

 É um dos principais objectivos da

arquitectura ASNSI-SPARC.

 Significa que um nível de abstracção

não é afectado por alterações ocorridas em níveis inferiores.

 Há dois tipos de independência de

dados:

 lógica  física

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

(12)

6.1 Independência Lógica dos Dados

Independência lógica de

dados:invariância dos subesquemas externos a quaisquer alterações no esquema conceptual.

 Obviamente, os utilizadores não tem

que ter conhecimento destas

alterações, com excepção daqueles para os quais as alterações foram feitas.

 Alterações?: adição e remoção de

entidades, atributos e relações devem ser possíveis sem afectar os

esquemas externos existentes ou reescrever programas de aplicação.

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

(13)

13

6.2 Independência Física dos Dados

Independência física de

dados:invariância do esquema conceptual externos a quaisquer alterações no esquema interno.

 Do ponto de vista do utilizador, a

única alteração admissível é no desempenho do DBMS.

 Alterações?: alteração das estruturas

de dados, alteração na organização de ficheiros, alteração utilização de dispositivos de armazenamento, alteração dos algoritmos de indexação e hashing

Esquema Conceptual

View 1 View 2 View n

Esquema Interno

BD

(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 por Linguagem de Definição de Dados (DDL).

 Em SQL (Structured Query Language), a DDL inclui basicamente quatro

comandos:

• 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

(15)

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 quatro

comandos:

 SELECT  INSERT

 UPDATE

(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 a

administraçã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 comandos

SQL 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)

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 duma

organização.

 Classes de Modelos de Dados:  baseados em objectos

Entidade-Relação

Semântico Funcional

Orientado por objectos

 baseados em registos

Modelo relacional de dados

Modelo em rede de dados Modelo hierárquico de dados

(19)

19

12. Funções/Serviços dum DBMS

(Codd, 1982)

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

qualquer 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 garanta

que todas actualizações referentes a uma determinada transação são efectuadas ou nenhuma delas é efectuada.

Controlo da concorrência. Um DBMS deve fornecer um mecanismo que

garanta que a base de dados seja actualizada correctamente quando vários utilizadores estão a actualizá-la concorrentemente.

Recuperação a falhas. Um DBMS deve fornecer um mecanismo de

recuperação da DB em caso de ocorrência de falha numa transação.

Autorização. Um DBMS deve fornecer um mecanismo que garanta que

somente utilizadores autorizados tenham acesso à base de dados.

Comunicação de dados. Um DBMS deve ser capaz de se integrar com o

software de comunicação em rede.

Integridade. Um DBMS deve fornecer um mecanismo que garanta que os

(20)
(21)

21

14. Topologias de Arquitecturas DBMS Multi-utilizador

 Teleprocessamento

 Ficheiro-Servidor

 Cliente-Servidor

(22)

14.1 Teleprocessamento (mainframe)

1 computador c/1 CPU + n

terminais;

 processamento centralizado;  terminais funcionalmente

dependentes, i.e. s/ capacidade de processamento;

Desvantagem: enorme

sobrecarga do processador, para

executar todas as tarefas, tais como aplicações (interfaces gráficas), DBMS, edição de texto e de programas,

formatação dos dados mostrados no ecrã, etc.

terminal 1

terminal 2 terminal 3

(23)

23

14.2 Ficheiro-Servidor

1 computador servidor de ficheiros + n

workstations + LAN;

 1 servidor de ficheiros que contêm as

tabelas da base de dados; funciona como uma drive de disco partilhada;

 processamento DBMS distribuído, pois

cada workstation corre uma cópia do DBMS;

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 dos

dados e recuperação a falhas são mais complexos, visto que há vários DBMS a aceder aos mesmos ficheiros.

workstation 1 (SGBD) Servidor de ficheiros workstation 2 (SGBD) workstation 3 (SGBD) Ficheiros devolvidos Pedidos de dados

LAN

Local Area Network

(24)

14.3 Cliente-Servidor

1 computador servidor DBMS + n

workstations + LAN;

 Servidor: processamento DBMS

centralizado;

 Cliente: gestão de interface com o

utilizador 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 elevadas

capacidades de processamento e armazenamento).

 Menores custos de comunicações

(menos informação a circular na rede). workstation 1 cliente 1 workstation 2 cliente 2 workstation 3 cliente 3 Dados devolvidos Pedidos de dados

LAN

Local Area Network

(25)

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.

Referências

Documentos relacionados

Os resultados permitiram concluir que a cultivar Conquista apresentou a maior produtividade de grãos, no conjunto dos onze ambientes avaliados; entre as linhagens

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

As principais indicações para a realização foram a suspeita de tuberculose (458 pacientes) e uso de imunobiológicos (380 pacientes).. A maior prevalência de resultado positivo

Apesar de o mercado acionário brasileiro ter se tornado mais importante para a economia brasileira, sobretudo entre o período de 2002 para 2005 (Tabela 3), sua repre- sentatividade

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic