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 Sistema de Gestão de Bases de Dados (SGBD) Prog.1 Prog. 2 Saída 1 Saída 2
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 Prog.2 Saída 1 Saída 2
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.
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.
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.
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.
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.
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.
Classificação dos SGBD 1º Critério - Utilizar o modelo de dados Assim temos sistemas: Relacionais Rede Hierárquicos Orientados a objectos...
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# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal
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.
1980 João 60000 1991 José 50000 1975 Rui 70000 1980 Bruno 60000......... Ficheiro correspondente a Relação 1978 Bela 60000 37 Tiago 1982 60000 1981 Rita sessenta Registos que não podem ser incluídos na relação anterior
Chave primária Domínios Relação F# 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
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)
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
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.
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
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
Arquitecturas para SGBD Multi-utilizador 3 Cliente-Servidor Cliente 1 Cliente 2 Cliente N LAN Pedidos de dados Dados seleccionados Server (com SGBD)
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
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
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