Você está na página 1de 25

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

1
1. Objectivos
 O 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 propósito das mapeamentos entre níveis externo e conceptual, e entre
os níveis conceptual e interno.
 O significado de independência lógica e independência física de dados.
 A distinção entre uma DDL (Data Definition Language) e uma DML (Data
Manipulation Language).
 Classificação de modelos de dados.
 As funções/serviços típicos fornecidos por um DBMS.
 As componentes dum DBMS.
 O significado da arquitectura cliente-servidor e as suas vantagens num
ambiente DBMS multi-utilizador.

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

Entrada de
dados/Saída
de relatórios

Prog.s de aplicação
do Dept. Vendas
VENDAS
DBMS
Definição de tabelas
(Propriedade, Proprietário, Base de dados
Entrada de Arrendatário e Contrato) +
dados/Saída definição de ficheiros
de relatórios

Prog.s de aplicação
CONTRATOS do Dept. Contratos 3
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

4
4. Arquitectura ANSI-SPARC dum DBMS (1975):
motivação
 Todos os utilizadores devem ter acesso aos mesmos dados.
 A perspectiva do utilizador deve ser imune às alterações feitas noutras
perspectivas (ou vistas ou views).
 Os utilizadores não precisam de saber dos detalhes de armazenamento
físico da base de dados.
 O DBA deve ser capaz de alterar as estruturas de armazenamento da base
de dados sem afectar as vistas dos utilizadores.
 A estrutura interna da base de dados não deve ser afectada por alterações
físicas de armazenamento.
 O DBA deve ser capaz de alterar a estrutura conceptual da base de dados
sem afectar os utilizadores.

5
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 Esquema Externo


entidades, atributos e relações que são View 1 View 2 View n
relevantes para o utilizador ou
departamento em causa.
Esquema Conceptual
 Além disso, perspectivas distintas podem
ter representações diferentes dos
mesmos dados. Por exemplo, o dado Esquema Interno
data pode ser descrito nas seguintes
formas:
• (dia,mês,ano)
• (ano,mês, dia)
BD
6
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.
Esquema Externo
 Este nível compreende: View 1 View 2 View n
• Todos os dados;
• Todos os atributos;
• Todas as relações; Esquema Conceptual
• As restrições sobre os dados;
• Informação semântica dos dados;
• Informação de integridade e segurança.
Esquema Interno
 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 BD
atributos. 7
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-
Esquema Externo
nível).
View 1 View 2 View n

 Este nível compreende:


• Alocação de memória para
Esquema Conceptual
dados/índices;
• Descrições de registos (c/ tamanhos
dos dados);
• Colocação de registos; Esquema Interno
• Técnicas de compressão e encriptação
de dados;
• Algoritmos de acesso ao sistema de
ficheiros via sistema operativo.
BD
8
4. Arquitectura ANSI-SPARC dum DBMS (1975): níveis
de abstracção de dados (cont.2)

View 1 (Dept. Contabilidade) View 2 (Dept. Recursos Humanos)

Func_no Nome Apelido Idade Salário Func_no Apelido Ano

Nível conceptual (DBA)

Func_no Nome Apelido Idade DNasc Vencimento Filial_no

Nível interno (sistema, Linguagem C)


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; 9
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.

10
6. Independência dos Dados

 É um dos principais objectivos da Esquema Externo


arquitectura ASNSI-SPARC.
View 1 View 2 View n

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


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

 Há dois tipos de independência de


dados: Esquema Interno
 lógica
 física

BD
11
6.1 Independência Lógica dos Dados
 Independência lógica de
dados:invariância dos subesquemas
Esquema Externo
externos a quaisquer alterações no
View 1 View 2 View n
esquema conceptual.

 Obviamente, os utilizadores não tem


Esquema Conceptual
que ter conhecimento destas
alterações, com excepção daqueles
para os quais as alterações foram
feitas. Esquema Interno

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


entidades, atributos e relações devem
ser possíveis sem afectar os
esquemas externos existentes ou
BD
reescrever programas de aplicação.
12
6.2 Independência Física dos Dados
 Independência física de
dados:invariância do esquema
conceptual externos a quaisquer Esquema Externo
alterações no esquema interno. View 1 View 2 View n

 Do ponto de vista do utilizador, a


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

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


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 BD
13
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

compilação
Definições Dicionário
em DDL de Dados
14
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

 DELETE

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

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

17
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
 físicos

18
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
dados e suas alterações seguem determinadas regras de consistência. 19
13. Componentes dum DBMS

20
14. Topologias de Arquitecturas DBMS Multi-utilizador

 Teleprocessamento

 Ficheiro-Servidor

 Cliente-Servidor

 Distribuída

21
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 terminal 4
terminal 1
executar todas as tarefas, tais
como aplicações (interfaces
gráficas), DBMS, edição de
texto e de programas,
formatação dos dados terminal 2 terminal 3
mostrados no ecrã, etc.

22
14.2 Ficheiro-Servidor
 1 computador servidor de ficheiros + n workstation 2
workstations + LAN; (SGBD)
 1 servidor de ficheiros que contêm as workstation 1
workstation 3
tabelas da base de dados; funciona como (SGBD) (SGBD)
uma drive de disco partilhada;
 processamento DBMS distribuído, pois
cada workstation corre uma cópia do
DBMS;

LAN Local Area Network


 Desvantagens:
 enorme quantidade de tráfego na rede;
 manutenção mais custosa: cada workstation Pedidos de dados Ficheiros devolvidos
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 BD
aceder aos mesmos ficheiros.

23
Servidor de ficheiros
14.3 Cliente-Servidor

workstation 2
 1 computador servidor DBMS + n
cliente 2
workstations + LAN;
 Servidor: processamento DBMS workstation 1 workstation 3
centralizado; cliente 1 cliente 3
 Cliente: gestão de interface com o
utilizador e da lógica da aplicação;
 Vantagens:
 Acesso generalizado às bases de
dados existentes;
LAN Local Area Network
 Melhor desempenho (workstations
processam aplicações em paralelo).
 Custos de hardware reduzidos (só Pedidos de dados Dados devolvidos
o servidor requer elevadas
capacidades de processamento e
armazenamento).
 Menores custos de comunicações
BD
(menos informação a circular na
rede).
 Garantia da integridade dos dados. 24
Servidor DBMS
FIM

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.

25

Você também pode gostar