Post on 19-May-2015
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
FUNDAMENTOS DE BANCO DE DADOS
Conceitos e ArquiteturaModelo de Dados, Esquemas e Instâncias
Linguagem de Banco de DadosComponentes do SGBD
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 é 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.
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 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
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) 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
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ã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.
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 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
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, 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.
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
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
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
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
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
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 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
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 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
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
FUNDAMENTOS DE BANCO DE DADOS
� IBM Informix� Microsoft SQL Server� Teradata� Sybase� PostgreSQL� MySQL� Firebird� Microsoft Access� Microsoft FoxPro
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
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.
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.
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
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.
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.
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
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.
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.
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
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.
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.
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
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
FUNDAMENTOS DE BANCO DE DADOS
� Funcionalidades do SGBDo Usuários acessavam via terminais remotos que não tinham capacidade de
processamento, apenas exibiam dados.
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
Mainframes
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
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 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.
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 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
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 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
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 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.
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
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 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
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
processamentos e envia para a camada do cliente
Prof. Rafael Pinheiro – rafael.inforium@gmail.com
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
rpinheiro2@gmail.com