aula 4 - sistemas gerenciadores de banco de dados

32
Técnico em Informática Organização de Computadores Aula 4 – Sistemas Gerenciadores de Banco de Dados Prof. Vitor Hugo Melo Araújo

Upload: vitor-hugo-melo-araujo

Post on 04-Jul-2015

380 views

Category:

Education


1 download

DESCRIPTION

Aula 4 - Sistemas Gerenciadores de Banco de Dados, do curso Técnico de Informática - Pronatec Anhanguera

TRANSCRIPT

Page 1: Aula 4 - Sistemas Gerenciadores de Banco de Dados

Técnico em InformáticaOrganização de Computadores

Aula 4 – Sistemas Gerenciadores de Banco de Dados

Prof. Vitor Hugo Melo Araújo

Page 2: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 3: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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.

Page 4: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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)

Page 5: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 6: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 7: Aula 4 - Sistemas Gerenciadores de Banco de Dados

ARQUITETURA GERAL DE UM SGBD

Interface

Processamentode Transações

Acesso aArquivos

Processamento de Consultas

Modelagem de Dados (“projeto

estrutural”)

Base de Dados

SGBD

Page 8: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 9: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 10: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 11: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 12: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 13: Aula 4 - Sistemas Gerenciadores de Banco de 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

Page 14: Aula 4 - Sistemas Gerenciadores de Banco de 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

Page 15: Aula 4 - Sistemas Gerenciadores de Banco 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

Page 16: Aula 4 - Sistemas Gerenciadores de Banco 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

Page 17: Aula 4 - Sistemas Gerenciadores de Banco 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

Page 18: Aula 4 - Sistemas Gerenciadores de Banco 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

Page 19: Aula 4 - Sistemas Gerenciadores de Banco de Dados

ARQUITETURA GERAL DE UM SGBD

Page 20: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 21: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 22: Aula 4 - Sistemas Gerenciadores de Banco de Dados

ARQUITETURA STAND-ALONE

Page 23: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 24: Aula 4 - Sistemas Gerenciadores de Banco de Dados

ARQUITETURA CENTRALIZADA

Page 25: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 26: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 27: Aula 4 - Sistemas Gerenciadores de Banco de Dados

ARQUITETURA CLIENTE-SERVIDOR

Page 28: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 29: Aula 4 - Sistemas Gerenciadores de Banco de Dados

ARQUITETURA DISTRIBUÍDA

Page 30: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 31: Aula 4 - Sistemas Gerenciadores de Banco de Dados

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

Page 32: Aula 4 - Sistemas Gerenciadores de Banco de Dados

Técnico em InformáticaOrganização de Computadores

Aula 4 – Sistemas Gerenciadores de Banco de Dados

Prof. Vitor Hugo Melo Araújo