Post on 04-Jul-2015
description
Técnico em InformáticaOrganização de Computadores
Aula 4 – Sistemas Gerenciadores de Banco de Dados
Prof. Vitor Hugo Melo Araújo
SGBD
Um SGBD (Sistema Gerenciador de Banco de Dados) consiste em uma coleção de dados inter-relacionados e em um conjunto de programas para acessá-los.
SGBDs são projetados para gerenciar grandes grupos de informações
SGBD
O gerenciamento envolve: A definição de estruturas para o armazenamento
da informação O Fornecimento de mecanismos para manipular
as informações
Quando vários usuários acessam os dados o SGBD precisa garantir a INTEGRIDADE dos dados, evitando resultados anômalos.
OBJETIVOS DE UM SGBD
Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados)
Prover independência de dados às aplicações (estrutura física de armazenamento e à estratégica de acesso)
Vantagens
Rapidez na manipulação e no acesso à informação Redução no esforço humano (desenvolvimento e
utilização) Redução da redundância e da inconsistência de
informações Redução de problemas de integridade Compartilhamento de dados Aplicação automática de restrições de segurança Controle integrado de informações distribuídas
fisicamente
OBJETIVOS DE UM SGBD
O grande objetivo de um SGBD é prover aos usuários uma visão ABSTRATA dos dados
O sistema omite certos detalhes de como os dados são armazenados e mantidos
Mas oferece mecanismos eficientes para BUSCA e ARMAZENAMENTO
OBJETIVOS DE UM SGBD
ARQUITETURA GERAL DE UM SGBD
Interface
Processamentode Transações
Acesso aArquivos
Processamento de Consultas
Modelagem de Dados (“projeto
estrutural”)
Base de Dados
SGBD
ABSTAÇÃO DE DADOS
Mundo Real
Modelo Conceitual(modelo abstrato dos dados)
Independente do modelo de dados
Independente do SGBD
Modelo Lógico(estrutura dos dados)
Dependente do modelo de dados
Independente do SGBD
Relacional Orientado a Objetos
Objeto-relacional
Modelo Físico Dependente do
modelo de dados Dependente do SGBD
Organisação física dos dados Estruturas de armazenamento de dados Índices de acesso
Médico PacienteConsulta
CRM nome
Médico (CRM, Nome)
Sistema Médico
1. Qual o objetivo da modelagem de um banco de dados?
2. Quais as etapas de um Projeto de Desenvolvimento de um Sistema de Banco de Dados? O que é feito em cada uma dessas etapas?
3. O que são modelos de dados?4. Qual a diferença entre os modelos orientados a
registro e os modelos orientados a objetos? Cite exemplos de cada um deles.
EXERCÍCIOS
Instâncias e Esquemas
Os bancos de dados mudam a medida que informações são inseridas ou apagadas
A coleção de informações armazenadas é chamada de INSTÂNCIA do bando de dados (mudam com frequência)
O projeto geral do bando de dados é chamado ESQUEMA do banco de dados (não mudam com frequência)
FUNÇÕES DE UM SGBD
O uso de banco de dados permite modificar o ESQUEMA dos dados em um nível sem afetar a definição do esquema em um nível mais alto. Isto é chamado de INDEPENDÊNCIA DOS DADOS.
INDEPENDÊNCIA DOS DADOS
Projeto Físico
Projeto Lógico
Projeto Conceitual
NíveisDe
Abstração
Minimundo
esquema
instâncias
Existem 2 tipos de Independência
Independência física de dados: Habilidade de modificar o esquema físico sem a necessidade de reescrever os programas aplicativos Estas modificações são necessárias para melhorar o
desempenho Independência lógica de dados: Habilidade de
modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos Estas modificações são necessárias quando a estrutura
lógica é alterada. EX: Adição de um novo atributo
INDEPENDÊNCIA DOS DADOS
A independência lógica dos dados é a mais difícil de ser alcançada do que a independência física, pois os programas são bastante dependentes da estrutura lógica dos dados que eles acessam.
INDEPENDÊNCIA DOS DADOS
Programadores de Aplicativos: São os usuários que escrevem os programas de
aplicação através da DML (Linguagem de Manipulação de Dados) EX: Um sistema bancário são programas que geram cheques, fazem débito e crédito em contas, transferem fundos entre contas
Usuários de alto nível: Interagem com o sistema sem escrever programas Formulam consultas em uma linguagem de consulta, e
cada consulta é submetida a um processador de consulta, cuja função é gerar um comando da DML
USUÁRIOS DO BANDO DE DADOS
Usuários especializados (especialistas) Escrevem aplicativos especializados como sistemas
especialistas
Usuário ingênuos Interagem com o sistema invocando os programas
aplicativos. EX: um cliente do banco invocaria um programa para efetuar a transferência de R$50,00 da conta A para a conta B
USUÁRIOS DO BANDO DE DADOS
Administrador do banco de dados:
Tem o controle central dos dados e dos programas de acesso aos dados
USUÁRIOS DO BANDO DE DADOS
Funções do Administrador do banco de dados:
Definição do esquema
Definição de estruturas de armazenamento e métodos de acesso
Modificação de esquemas e de organização física
Concessão de autorização para acesso aos dados
Especificação de restrições de integridade
USUÁRIOS DO BANDO DE DADOS
Gerenciados de arquvos
Gerenciador do banco de dados
Processador de Consultas
Pré-compilador da DML
Compilador da DDL (Linguagem de Definição de Dados)
Arquivos de dados Dicionário de dados Índices
ESTRUTURA GERAL DO SGBD
ARQUITETURA GERAL DE UM SGBD
Quanto a arquitetura o SGBD pode ser classificados dentre quatro tipos:
Arquitetura Stand-Alone (Sistema de Computador Pessoal)
Arquitetura Centralizada Arquitetura Cliente-Servidor Arquitetura Distribuída
ARQUITETURA DO SGBD
Os computadores pessoais trabalham em sistema stand-alone, ou seja, fazem seus processamentos sozinhos.
O SGBD roda na própria máquina. No começo esse procedimento era bastante limitado,
porém, com a evolução do hardware, tem-se PCs com grande capacidade de processamento
Eles funcionam como hospedeiro e terminais. Desta maneira, possuem um único aplicativo a ser
executado na máquina A principal vantagem desta arquitetura é a
simplicidade.
ARQUITETURA STAND-ALONE
ARQUITETURA STAND-ALONE
Nessa arquitetura existe um computador com grande capacidade de processamento, o qual é o hospedeiro do SGBD e emuladores para os vários aplicativos.
Esta arquitetura tem como principal vantagem a de permitir que muitos usuários manipulem grande volume de dados.
Sua principal desvantagem esta no seu alto custo, pois exige ambiente especial para mainframes e soluções centralizadas.
ARQUITETURA CENTRALIZADA
ARQUITETURA CENTRALIZADA
Nesse tipo de arquitetura o cliente (front end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída)
O servidor (back end) executa as consultas no SGBD e retorna os resultados ao cliente.
Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem:
o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos (triggers)
ARQUITETURA CLIENTE-SERVIDOR
O servidor do bando de dados faz a verdadeira operação de busca e retorna somente os dados que preencham corretamente a consulta do usuário.
O sistema cliente servidor possui algumas vantagens como em arquitetura distribuída; são rápidos, pois as consultas são feitas em servidores de alta potência.
A maior desvantagem dessa arquitetura é que eles exigem que os dados sejam armazenados num único sistema
ARQUITETURA CLIENTE-SERVIDOR
ARQUITETURA CLIENTE-SERVIDOR
Nesta arquitetura, a informação está distribuída em diversos servidores.
Cada servidor atua como no sistema cliente-servidor, porém as consultas oriundas dos aplicativos são feitas para qualquer servidor indistintamente.
Caso a informação solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter a informação necessária, de maneira transparente para o aplicativo, que passa a atuar consultando a rede, independente de conhecer seus servidores, tanto os dados como as funções de processamento são distribuídos em diversos locais.
ARQUITETURA DISTRIBUÍDA
ARQUITETURA DISTRIBUÍDA
Nos sistemas distribuídos os dados podem estar replicados, ou seja, eles se repetem em cada nó da rede, o que aumenta a disponibilidade do banco, ou os dados podem estar fragmentados, ou seja, divididos por vários nós da rede, aumentando a velocidade pois permite processamento paralelo.
Dentre as vantagens dos sistemas distribuídos estão o menor risco de falhas, pois quando um nó falha, o trabalho é mantido pelos outros nós da rede entre e outras vantagens.
Como desvantagem essa arquitetura é mais complexa de ser implementada, e é mais propensa a falhas de segurança tendo em vista os dados estar espalhados em vários locais.
ARQUITETURA DISTRIBUÍDA
1. O que é um SGBD, e qual sua principal função?
2. Umas das características de um SGBD é o gerenciamento de transações. O que é uma transação no contexto de banco de dados?
3. Explique cada uma das propriedades ACID do gerenciamento de transações do SGBD.
a) Atomicidade:
b) Consistência:
c) Isolamento:
d) Durabilidade:
4. Quando um SGBD executa um rollback?
5. Explique com suas palavras cada uma das características do SGBD.
6. Quais as principais arquitetura de SGBD? Aponte vantagens e desvantagens de cada um deles.
EXERCÍCIOS
Técnico em InformáticaOrganização de Computadores
Aula 4 – Sistemas Gerenciadores de Banco de Dados
Prof. Vitor Hugo Melo Araújo