Upload
tranduong
View
213
Download
0
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.
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