fundamentos de banco de dados 04 componentes sgbd

33
Prof. Rafael Pinheiro – [email protected] CONCEITOS E ARQUITETURA MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD Banco de Dados: Conceitos e Arquitetura FUNDAMENTOS DE BANCO DE DADOS Modelo de Dados, Esquemas e Instâncias Linguagem de Banco de Dados Componentes do SGBD

Upload: rafael-pinheiro

Post on 19-May-2015

7.247 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Banco de Dados: Conceitos e Arquitetura

FUNDAMENTOS DE BANCO DE DADOS

Conceitos e ArquiteturaModelo de Dados, Esquemas e Instâncias

Linguagem de Banco de DadosComponentes do SGBD

Page 2: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Modelo de dados, Esquemas e Instâncias

• Uma característica fundamental do uso de banco de dados é aabstração dos dadoso Ocultando os detalhes de armazenamento

• Para isso, é criado um Modelo de dados:

FUNDAMENTOS DE BANCO DE DADOS

• Para isso, é criado um Modelo de dados:o Conjunto de conceitos que podem ser usados para descrever a estrutura de

um banco de dados

o Fornece o significado necessário para permitir essa abstração

• Entendemos por estrutura de um banco de dados:o As entidades, tipos de dados, relacionamentos e restrições que devem

suportar os dados.

Page 3: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Modelo de dados, Esquemas e Instâncias

• Existem várias propostas para representar um modelo de dados.Podemos classificá-los de acordo com os conceitos usados paradescrever a estrutura do banco de dados:

FUNDAMENTOS DE BANCO DE DADOS

o Modelo de alto nível (ou modelos de dados conceitual)

� Possui conceitos que descrevem os dados como os usuários percebem

o Modelo de baixo nível (ou modelo de dados físico)

� Possui conceitos que descrevem detalhes de armazenamento nocomputador

o Modelo de dados representacional (ou de implementação)

� Oferece conceitos que podem ser entendidos pelo usuário final, masnão estão excessivamente distantes da forma como os dados estãoorganizados dentro do computador

Page 4: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Modelo de dados, Esquemas e Instâncias

• Um modelo de dados de alto nível (ou conceitual) utilizamconceitos como entidades, atributos e relacionamentos.

o Entidade:

FUNDAMENTOS DE BANCO DE DADOS

� Representa um objeto do mundo real ou um conceito

� Ex: Funcionário, Projeto, Aluno, Curso

o Atributo:

� Corresponde a uma propriedade de interesse que ajuda a descrever aentidade

� Ex: Nome do funcionário, Salário | Nome do aluno, data de nascimento

o Relacionamento:

� Mostra uma associação entre duas ou mais entidades

� Ex: Um funcionário trabalha em um projeto | Um aluno faz um curso

Page 5: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Modelo de dados, Esquemas e Instâncias

• O modelo de dados representacional (ou de implementação) sãoos mais usados no SGBDs comerciais tradicionais e são baseadosem registros.

FUNDAMENTOS DE BANCO DE DADOS

o Modelo de Dados Relacional

� O modelo mais difundido usado atualmente

o Modelo de Dados Legados

� Modelos de dados de rede e Modelo de dados hierárquicos

� Amplamente utilizados no passado.

o Modelo de dados Orientados a Objetos

� São uma nova família de modelos de dados de implementação de mais altonível

� Muito próximos aos modelos de dados conceituais.

Page 6: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Modelo de dados, Esquemas e Instâncias

• Em qualquer modelo de dados, é importante distinguir entre adescrição do banco e o banco de dados de fato.

• A descrição do banco é intitulara esquema do banco de dados

FUNDAMENTOS DE BANCO DE DADOS

• A descrição do banco é intitulara esquema do banco de dadoso Definido na fase de projetoo Espera-se pouco alteraçãoo É representado em forma de diagrama (diagrama esquemático)

Aluno

Numero Nome Turma Curso Disciplina

CodDisc Nome Creditos Carga Horaria

Turma

CodTurma CodDisc Ano Semestre Professor

Page 7: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Modelo de dados, Esquemas e Instâncias

• O dado no banco de dados pode ser alterado freqüentemente

• No exemplo anterior, toda vez que um novo aluno é matriculado, obando de dados é alterado

FUNDAMENTOS DE BANCO DE DADOS

bando de dados é alterado

• Os dados em um banco, em um determinado momento, sãochamados de estado do banco de dados (snapshot)

• Também chamado de conjunto corrente de ocorrências ouinstâncias.

Page 8: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Linguagem de Banco de Dados

¿O que é linguagem?

FUNDAMENTOS DE BANCO DE DADOS

Page 9: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Linguagem de Banco de Dados

• O que é linguagem?

o Linguagem é todo e qualquer sistema de signos (sinais) que serve de meio de comunicação

FUNDAMENTOS DE BANCO DE DADOS

• O que é linguagem de banco de dados?

o É a forma de comunicação com os SGBD-R

o SQL – Structured Query Language

Page 10: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Linguagem de Banco de Dados

• Início do projeto foi feito pela IBM, no início da década de 70• Parte do projeto do System R, um projeto para implementação de

um SGBD-R• Se chamava SEQUEL – Structured English Query Language

FUNDAMENTOS DE BANCO DE DADOS

• Se chamava SEQUEL – Structured English Query Language• Rapidamente foram criados várias “dialetos” derivados dessa

linguagem• Necessidade de padronização (ANSI e ISO), no final da década de

80o American National Stardards Instituteo International Organization for Standardization

Page 11: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Linguagem de Banco de Dados

• A linguagem SQL é dividida em alguns tiposo DDL – Data Definition Language

� Linguagem de Definição de Dados� Usada para a criação e manutenção dos esquemas de dados� DBA e Projetistas

FUNDAMENTOS DE BANCO DE DADOS

� DBA e Projetistas

o DCL – Data Control Language

� Linguagem de Controle de Dados� Usada para especificar as visões do usuários (DVL)� Controle de segurança

o DML – Data Manipulation Language

� Linguagem de Manipulação de Dados� Operações típicas: recuperação (seleção), inserção, remoção e alteração

Page 12: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Linguagem de Banco de Dados

• A linguagem SQL é dividida em alguns tiposo DDL – Data Definition Language

� Linguagem de definição de dados� Usada para a criação e manutenção dos esquemas de dados� DBA e Projetistas

FUNDAMENTOS DE BANCO DE DADOS

� DBA e Projetistas

o DCL – Data Control Language

� Linguagem de Controle de Dados� Usada para especificar as visões do usuários (DVL)� Controle de segurança

o DML – Data Manipulation Language

� Linguagem de Manipulação de Dados� Operações típicas: recuperação (seleção), inserção, remoção e alteração

Page 13: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

• SGBD é um complexo sistema de software• Relembrando os principais Players:

� Oracle� IBM DB2� IBM Informix

FUNDAMENTOS DE BANCO DE DADOS

� IBM Informix� Microsoft SQL Server� Teradata� Sybase� PostgreSQL� MySQL� Firebird� Microsoft Access� Microsoft FoxPro

Page 14: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

FUNDAMENTOS DE BANCO DE DADOS

Page 15: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

• Módulo de Gerenciamento dos Dados Armazenados

o Controla o acesso à informação do SGBD que está armazenada em disco.

FUNDAMENTOS DE BANCO DE DADOS

o A, B, C, D e E, indicam acessos controlados pelo gerenciador de dados armazenados.

o O gerenciador pode utilizar os SO para executar a transferência de dados. Uma vez na memória, os buffers podem ser processados por outros módulos do SGBD ou programas da aplicação.

Page 16: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

FUNDAMENTOS DE BANCO DE DADOS

Page 17: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

• Processador de banco de dados em tempo de execução (runtime)

o Controla o acesso ao banco de dados.

FUNDAMENTOS DE BANCO DE DADOS

o Recebe comandos para a recuperação ou atualização e os executa no banco de dados.

o Os acessos passam pelo gerenciador de dados armazenados e o gerenciador de buffer mantém as informações na memória.

Page 18: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

FUNDAMENTOS DE BANCO DE DADOS

Page 19: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

• Compilador de consulta (query)

o Manipula as consultas de alto nível que são feitas interativamente.

FUNDAMENTOS DE BANCO DE DADOS

o Analisa a sintaxe, compila ou interpreta a consulta criando um código de acesso ao banco de dados e, então, gera as chamadas ao processado em tempo de execução para executar o código.

Page 20: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

FUNDAMENTOS DE BANCO DE DADOS

Page 21: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

• Pré-compilador

o Extrai os comandos DML dos programas escritos em linguagem de programação.

FUNDAMENTOS DE BANCO DE DADOS

o Os comandos são enviados para o compilador DML para compilação, gerandocódigos para o acesso ao banco de dados.

Page 22: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Componentes SGBD

FUNDAMENTOS DE BANCO DE DADOS

Page 23: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura SGBD Centralizada

• Computadores centrais (mainframes)o Contentram todas as funções do sistema

� Programas de aplicação� Programas de interface com usuários� Funcionalidades do SGBD

FUNDAMENTOS DE BANCO DE DADOS

� Funcionalidades do SGBDo Usuários acessavam via terminais remotos que não tinham capacidade de

processamento, apenas exibiam dados.

Page 24: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura SGBD Centralizada

FUNDAMENTOS DE BANCO DE DADOS

Mainframes

Page 25: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura SGBD Centralizada

FUNDAMENTOS DE BANCO DE DADOS

Page 26: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura SGBD Centralizada

• PC e workstations tornaram-se comuns

• Inicialmente o processamento permanecia em um servidorcentralizado mesmo usando PCs.

FUNDAMENTOS DE BANCO DE DADOS

centralizado mesmo usando PCs.

• Aos poucos os sistemas SGBD começaram a explorar oprocessamento disponível do lado do usuário.o Houve, portanto, um direcionamento a arquiteturas SGBD cliente-servidor.

Page 27: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura Cliente/Servidor Básica

• Desenvolvida para uso em ambientes computacionais com grande número de PCso As máquinas devem estar conectadas via redeo Ideia de definir servidores especializados

� Servidores de arquivos

FUNDAMENTOS DE BANCO DE DADOS

� Servidores de arquivos� Servidores de impressão� Servidores de e-mail� Servidores web� Servidor do SGBD

Page 28: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura Cliente/Servidor Básica

• Máquinas clienteso Oferecem ao usuário as interfaces apropriadas para utilizar esses servidoreso Conceito utilizado também no software, onde, o SGBD é um software

especializado armazenado nas máquinas servidores específicas e acessíveis a vários clientes

FUNDAMENTOS DE BANCO DE DADOS

vários clientes

Page 29: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura Cliente/Servidor SGBD

• Os programas de interface podem ser executados do lado do clienteo Para uma conexão com o banco de dados o programa do cliente utiliza o

padrão ODBC� Open Database Connectivity

FUNDAMENTOS DE BANCO DE DADOS

� Open Database Connectivity

� São fornecidas interfaces para o programa permitindo que um cliente acesse vários servidores, inclusive.

Page 30: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura Cliente/Servidor SGBD

FUNDAMENTOS DE BANCO DE DADOS

Page 31: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura Cliente/Servidor 3 camadas para Aplicações Web• Possui uma camada intermediária entre o cliente e o servidor de

banco de dadoso Tal camada desempenha um papel intermediário armazenando regras de

negócio. Camada denominada:� Servidor de aplicações, ou

FUNDAMENTOS DE BANCO DE DADOS

� Servidor de aplicações, ou� Servidor Web

Page 32: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

Arquitetura Cliente/Servidor 3 camadas para Aplicações Web• Comunicação entre as camadas

o A camada de aplicação realiza o acesso aos dados realizando comunicação com o servidor do SGBD

o O servidor SGBD retorna as informações à camada de aplicação, que realiza os processamentos e envia para a camada do cliente

FUNDAMENTOS DE BANCO DE DADOS

processamentos e envia para a camada do cliente

Page 33: Fundamentos de banco de dados   04 componentes sgbd

Prof. Rafael Pinheiro – [email protected]

CONCEITOS E ARQUITETURA

MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD

¿Dúvidas?

FUNDAMENTOS DE BANCO DE DADOS

@_rpinheiro

www.facebook.com/rpinheiro2

www.linkedin.com/pub/rafael-pinheiro/24/31/b47

[email protected]