Introdução às Bases de Dados
• O Sistema de Base de Dados através do SGBD
permite controlar de forma centralizada os
dados armazenados.
Base de Dados
Ficheiro 1
Ficheiro 2
Ficheiro 3
Prog .1
Sistema
de Gestão
de Bases
de Dados
(SGBD)
Prog. 2
Saída 1
Saída 2
Maria Helena Braz
Introdução às Bases de Dados
• Se não existir um SGBD o acesso aos dados
tem que ser feito através do sistema de gestão
de ficheiros (SGF) e os programas têm acesso
directo aos ficheiros.
Base de Dados
Ficheiro 1
Ficheiro 2
Ficheiro 3
Prog.1
Saída 1
Prog.2
Saída 2
Maria Helena Braz
Introdução às Bases de Dados
•Vantagens dos SGBD em relação a SGF:
Controlo centralizado – Um SGBD sob o controlo de um
Administrador de Dados garante a qualidade dos dados, as
restrições de acesso, a integridade dos dados e permite
equilibrar requisitos conflituantes.
Compartilhar dados Usando um SGBD a informação
contida na base de dados pode ser utilizada por diversos
aplicativos de forma flexível e controlada.
Independência de dados – As aplicações tornam-se
independentes de forma física de armazenamento.
Maria Helena Braz
Introdução às Bases de Dados
•Vantagens dos SGBD em relação a SGF:
Acesso por utilizadores finais – Actualmente os SGBD
possuem uma interface que permite a utilizadores não
programadores manipular a base de dados.
Controlo de redundância – Num SGF diferentes ficheiros
de dados são usados por diferentes aplicações pelo que
podem aparecer duplicações de informação. Num SGBD
diminui-se a probabilidade de duplicação e esta se existir é
normalmente controlada pelo SGBD.
Maria Helena Braz
Introdução às Bases de Dados
•Vantagens dos SGBD em relação a SGF:
Visões – Os SGBD permitem geralmente o tratamento da
informação de forma adequada a cada utilizador mostrando
aquilo que lhe é necessário e escondendo dados de que este
não necessita ou aos quais não deve ter acesso.
Maria Helena Braz
Introdução às Bases de Dados
•Desvantagens de usar SGBD:
Custo – O SGBD e o hardware a ele associado podem ser
dispendiosos e de qualquer forma representam um custo
adicional de aquisição e manutenção.
Complexidade – Um SGBD é mais complexo que um
SGF e necessita de conhecimentos especializados por parte
dos programadores.
Risco centralizado – Ao centralizar os dados e reduzir a
sua redundância existe teoricamente um maior risco de
perda dos dados, no entanto a maioria dos SGBD tem
procedimentos para back-up e recuperação dos dados que
minimizam estes riscos.
Maria Helena Braz
Introdução às Bases de Dados
•Genericamente um SGBD possui:
• Linguagem de Definição de Dados (LDD)– que
permite ao utilizador especificar os tipos de dados,
as estruturas e as restrições sobre os dados que
serão armazenados na BD;
• Linguagem de Manipulação de dados (LMD)–
que permite ao utilizador inserir, actualizar,
apagar ou consultar dados da BD.
Maria Helena Braz
Introdução às Bases de Dados
•Muitos sistemas permitem a inclusão destas sublinguagens em linguagem de programação de alto
nível como o C#, C, Fortran, Cobol chamadas
linguagens hospedeiras, para permitir o
desenvolvimento de aplicações complexas.
•Os sistemas geralmente aceitam a utilização das
linguagens de BD de forma interactiva para
resolução de tarefas simples.
Maria Helena Braz
Introdução às Bases de Dados
Classificação dos SGBD
1º Critério - Utilizar o modelo de dados
•Assim temos sistemas:
–
–
–
–
–
Relacionais
Rede
Hierárquicos
Orientados a objectos
....
Maria Helena Braz
Introdução às Bases de Dados
•Uma Base de Dados Relacional é uma BD vista
pelos Utilizadores como um Conjunto de Tabelas
especiais chamadas Relações.
•Do ponto de vista computacional uma relação
pode ser vista como tipo especial de ficheiro.)
F#
F1
F2
F3
F4
F Nome
José
João
Luís
Rui
Estado
20
10
30
30
Cidade
Braga
Faro
Lisboa
Setúbal
Maria Helena Braz
Introdução às Bases de Dados
Assim uma relação é uma tabela onde:
- Todas as tuplas têm de ter o mesmo número de
atributos;
- Os valores de cada atributo devem pertencer a
um certo domínio;
- E como uma relação é um conjunto, não pode
haver duas tuplas com valores iguais.
Maria Helena Braz
Introdução às Bases de Dados
1980 João
1991 José
1975
Rui
1980 Bruno
...
...
60000
50000
70000
60000
...
Ficheiro correspondente a
Relação
1978 Bela 60000
Tiago 1982 60000
1981 Rita sessenta
37
Registos que não podem ser incluídos na
relação anterior
Maria Helena Braz
Introdução às Bases de Dados
Chave primária
Domínios
F#
Relação
F Nome Estado
Cidade
F1
José
20
Braga
F2
João
10
Faro
F3
Luís
30
Lisboa
F4
Rui
30
Setúbal
Atributos
Tuplas
Maria Helena Braz
Introdução às Bases de Dados
Classificação dos SGBD
2.º Critério - Utilizar o n.º de máquinas onde a base
de dados está armazenada
•Teremos assim sistemas:
– Centralizados
– Distribuídos (Homogéneos; Heterogéneos)
Maria Helena Braz
Introdução às Bases de Dados
Classificação dos SGBD
3.º Critério - Utilizar o n.º de utilizadores que o
sistema é capaz de suportar
•Resultando sistemas:
– Pessoais (single-user)
– Multi-utilizador
Maria Helena Braz
Introdução às Bases de Dados
•Arquitecturas para SGBD Multi-utilizador
1 – Teleprocessamento:
•Um só computador central com um CPU e diversos terminais
•O computador central é responsável por todo o
processamento incluindo a formatação dos dados para
exibição nos terminais.
Maria Helena Braz
Introdução às Bases de Dados
•Arquitecturas para SGBD Multi-utilizador
2 – File-Server
Estação 1
Estação 2
Est. N
LAN
Pedidos de
dados
Ficheiros retornados
File-Server
•Neste caso as aplicações e o SGBD correm nas estações. É
equivalente a um disco compartilhado
Maria Helena Braz
Introdução às Bases de Dados
•Arquitecturas para SGBD Multi-utilizador
2 – File-Server
A arquitectura File-Server tem 3 grandes desvantagens:
• Gera muito tráfego na rede;
• É necessário um SGBD por estação;
• O controlo de concorrência, recuperação e integridade
é muito confuso, pois múltiplos SGBD acedem aos
ficheiros
Para evitar estes inconvenientes surgiu a chamada
arquitectura cliente-servidor
Maria Helena Braz
Introdução às Bases de Dados
•Arquitecturas para SGBD Multi-utilizador
3 – Cliente-Servidor
Cliente 1
Cliente 2
Cliente N
LAN
Pedidos
de dados
Dados
seleccionados
Server
(com SGBD)
Maria Helena Braz
Introdução às Bases de Dados
•Arquitecturas para SGBD Multi-utilizador
3 – Cliente-Servidor
• Os clientes são responsáveis pelas interfaces, aceitam os
pedidos dos utilizadores, verificam a sintaxe e geram os
pedidos à BD numa dada linguagem, transmitem esses
pedidos e, ao receberem a resposta, formatam-na para
exibição.
• O Servidor aceita os pedidos e devolve os resultados. O
processamento envolve as verificações de acesso, de
integridade, a manutenção do dicionário de dados e a
execução de consultas ou actualizações. É responsável
também por controlar a concorrência e a recuperação
Maria Helena Braz
Introdução às Bases de Dados
•Arquitecturas para SGBD Multi-utilizador
3 – Cliente-Servidor
As vantagens de arquitectura Cliente-Servidor são:
• Permitir um acesso alargado às BD
• Aumento da performance;
• Pode diminuir os custos do hardware (só o servidor
necessita altas capacidade de armazenamento)
• Reduz os custos de comunicação
• Aumenta a consistência
Maria Helena Braz
Introdução às Bases de Dados
Conceitos a saber:
Sistema de Gestão de Bases de Dados (SGBD) versus Sistema de
Gestão de Ficheiros (SGF)
Relação, Atributo, Domínio, Chave Primária
Arquitecturas para SGBD Multi-utilizador
Maria Helena Braz
Download

Introdução às Bases de Dados