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