1. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Banco de Dados:
Conceitos e Arquitetura
Modelo de Dados, Esquemas e Instâncias
Linguagem de Banco de Dados
Componentes do SGBD
FUNDAMENTOS DE BANCO DE DADOS
2. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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 é a
abstração dos dados
o Ocultando os detalhes de armazenamento
• 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.
FUNDAMENTOS DE BANCO DE DADOS
3. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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 para
descrever a estrutura do 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 no
computador
o Modelo de dados representacional (ou de implementação)
Oferece conceitos que podem ser entendidos pelo usuário final, mas
não estão excessivamente distantes da forma como os dados estão
organizados dentro do computador
FUNDAMENTOS DE BANCO DE DADOS
4. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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) utilizam
conceitos como entidades, atributos e relacionamentos.
o Entidade:
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 a
entidade
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
FUNDAMENTOS DE BANCO DE DADOS
5. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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ão
os mais usados no SGBDs comerciais tradicionais e são baseados
em registros.
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 alto
nível
Muito próximos aos modelos de dados conceituais.
FUNDAMENTOS DE BANCO DE DADOS
6. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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 a
descrição do banco e o banco de dados de fato.
• A descrição do banco é intitulara esquema do banco de dados
o Definido na fase de projeto
o Espera-se pouco alteração
o É 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
FUNDAMENTOS DE BANCO DE DADOS
7. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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, o
bando de dados é alterado
• Os dados em um banco, em um determinado momento, são
chamados de estado do banco de dados (snapshot)
• Também chamado de conjunto corrente de ocorrências ou
instâncias.
FUNDAMENTOS DE BANCO DE DADOS
8. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
9. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
• O que é linguagem de banco de dados?
o É a forma de comunicação com os SGBD-R
o SQL – Structured Query Language
FUNDAMENTOS DE BANCO DE DADOS
10. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
• Rapidamente foram criados várias “dialetos” derivados dessa
linguagem
• Necessidade de padronização (ANSI e ISO), no final da década de
80
o American National Stardards Institute
o International Organization for Standardization
FUNDAMENTOS DE BANCO DE DADOS
11. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Linguagem de Banco de Dados
• A linguagem SQL é dividida em alguns tipos
o 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
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
FUNDAMENTOS DE BANCO DE DADOS
12. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Linguagem de Banco de Dados
• A linguagem SQL é dividida em alguns tipos
o 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
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
FUNDAMENTOS DE BANCO DE DADOS
13. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
Microsoft SQL Server
Teradata
Sybase
PostgreSQL
MySQL
Firebird
Microsoft Access
Microsoft FoxPro
FUNDAMENTOS DE BANCO DE DADOS
14. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Componentes SGBD
FUNDAMENTOS DE BANCO DE DADOS
15. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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.
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.
FUNDAMENTOS DE BANCO DE DADOS
16. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Componentes SGBD
FUNDAMENTOS DE BANCO DE DADOS
17. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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.
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.
FUNDAMENTOS DE BANCO DE DADOS
18. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Componentes SGBD
FUNDAMENTOS DE BANCO DE DADOS
19. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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.
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.
FUNDAMENTOS DE BANCO DE DADOS
20. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Componentes SGBD
FUNDAMENTOS DE BANCO DE DADOS
21. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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.
o Os comandos são enviados para o compilador DML para compilação, gerando
códigos para o acesso ao banco de dados.
FUNDAMENTOS DE BANCO DE DADOS
22. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Componentes SGBD
FUNDAMENTOS DE BANCO DE DADOS
23. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
o Usuários acessavam via terminais remotos que não tinham capacidade de
processamento, apenas exibiam dados.
FUNDAMENTOS DE BANCO DE DADOS
24. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Arquitetura SGBD Centralizada
Mainframes
FUNDAMENTOS DE BANCO DE DADOS
25. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Arquitetura SGBD Centralizada
FUNDAMENTOS DE BANCO DE DADOS
26. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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 servidor
centralizado mesmo usando PCs.
• Aos poucos os sistemas SGBD começaram a explorar o
processamento disponível do lado do usuário.
o Houve, portanto, um direcionamento a arquiteturas SGBD cliente-servidor.
FUNDAMENTOS DE BANCO DE DADOS
27. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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 PCs
o As máquinas devem estar conectadas via rede
o Ideia de definir servidores especializados
Servidores de arquivos
Servidores de impressão
Servidores de e-mail
Servidores web
Servidor do SGBD
FUNDAMENTOS DE BANCO DE DADOS
28. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Arquitetura Cliente/Servidor Básica
• Máquinas clientes
o Oferecem ao usuário as interfaces apropriadas para utilizar esses servidores
o 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
29. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
cliente
o Para uma conexão com o banco de dados o programa do cliente utiliza o
padrão ODBC
Open Database Connectivity
São fornecidas interfaces para o programa permitindo que um cliente
acesse vários servidores, inclusive.
FUNDAMENTOS DE BANCO DE DADOS
30. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
Arquitetura Cliente/Servidor SGBD
FUNDAMENTOS DE BANCO DE DADOS
31. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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 dados
o Tal camada desempenha um papel intermediário armazenando regras de
negócio. Camada denominada:
Servidor de aplicações, ou
Servidor Web
FUNDAMENTOS DE BANCO DE DADOS
32. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
33. Prof. Rafael Pinheiro – rafael.inforium@gmail.com
CONCEITOS E ARQUITETURA
MODELO DE DADOS LINGUAGEM BD COMPONENTES SGBD ARQUITETURA SDBD
¿Dúvidas?
@_rpinheiro
www.facebook.com/rpinheiro2
www.linkedin.com/pub/rafael-pinheiro/24/31/b47
rpinheiro2@gmail.com
FUNDAMENTOS DE BANCO DE DADOS