SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Banco de Dados
Conceitos e Arquitetura
DCC-UFLA
Prof. Denilson Alves Pereira
denilsonpereira@ufla.br
https://sites.google.com/ufla.br/denilsonpereira/
http://lattes.cnpq.br/4120230814124499
versão dos slides: mai/2020
DCC-UFLA Prof. Denilson Alves Pereira 2
Conteúdo
Modelos de Dados, Esquemas e Instâncias
Arquitetura de Três Esquemas e Independência de Dados
Linguagens de Banco de Dados
O Ambiente do Sistema de Banco de Dados
Arquiteturas para SGBDs
Classificação dos SGBDs
DCC-UFLA Prof. Denilson Alves Pereira 3
Modelos de Dados,
Esquemas e Instâncias
DCC-UFLA Prof. Denilson Alves Pereira 4
Modelos de Dados
A abordagem de banco de dados esconde detalhes de
armazenamento dos dados que não são necessários para
muitos usuários. O principal meio para fornecer esta
abstração é o modelo de dados
Um modelo de dados é um conjunto de conceitos que
podem ser usados para descrever a estrutura de um
banco de dados
A estrutura de um banco de dados envolve os tipos de
dados, os relacionamentos e as restrições sobre os dados
DCC-UFLA Prof. Denilson Alves Pereira 5
Categorias dos Modelos de Dados
Pode-se categorizar um modelo de dados de acordo com
o tipo de conceitos que ele fornece para descrever a
estrutura do banco de dados
Conceitual (ou Alto-Nível) - fornece conceitos para
descrever os dados como a maioria dos usuários o
percebem. Esses conceitos são como:
Entidade - representa objetos e conceitos do mundo real
Ex.: ‘empregado’ e ‘projeto’
Atributo - representa alguma propriedade de uma entidade
Ex.: ‘nome’ e ‘salário’ do empregado
Relacionamento - representa a interação entre entidades
Ex.: ‘trabalha’ - um relacionamento entre empregado e
projeto.
Exemplos de modelo conceitual: Modelo ER e Modelo OO
DCC-UFLA Prof. Denilson Alves Pereira 6
Categorias dos Modelos de Dados
Lógico (ou Representativos ou de Implementação) - fornece
conceitos que podem ser compreendidos pelos usuários finais, mas
não está muito longe de como os dados são organizados no
computador. Representam os dados usando a estrutura dos registros
Exemplos: Modelos Relacional, Rede e Hierárquico
Físico (ou Baixo-Nível) - fornece conceitos para descrever os
detalhes de como os dados estão armazenados no computador
Esses conceitos são como:
formato dos registros
ordenação dos registros
vias de acesso - são utilizadas para recuperar de forma eficiente
os registros do banco de dados (ex: índice)
Autodescritivo – o armazenamento de dados combina a descrição
dos dados (esquema) com seus próprios valores
Exemplos: XML e sistemas NoSQL
DCC-UFLA Prof. Denilson Alves Pereira 7
Esquema
Esquema é a descrição textual ou gráfica de um banco de
dados de acordo com um determinado modelo de dados
A representação como diagramas de um esquema de
banco de dados é chamado diagrama do esquema
Exemplo de diagrama do esquema:
Estudante
Nome CódigoEstudante TipoAluno DepartamentoPrincipal
Disciplina
Nome CódigoDisciplina Créditos Departamento
Turma
CódigoTurma CódigoDisciplina Semestre Ano Professor
Histórico
CódigoEstudante CódigoTurma Nota
PréRequisito
CódigoDisciplina CódigoPréRequisito
DCC-UFLA Prof. Denilson Alves Pereira 8
Esquema
Cada objeto de um esquema é chamado de construtor do
esquema
Exemplo: Estudante, Disciplina
O diagrama mostra apenas alguns aspectos do esquema,
tais como nome do tipo de registro e dos itens dos dados
e alguns tipos de restrições
O diagrama anterior mostra apenas os nomes dos registros
e dos seus atributos
DCC-UFLA Prof. Denilson Alves Pereira 9
Instância
Os dados em um banco de dados podem mudar
freqüentemente
Instância é o conjunto de dados armazenado em um
banco de dados em um determinado instante do tempo
(descreve o estado do banco de dados)
Cada construtor do esquema tem seu próprio conjunto de
instâncias em um estado do banco de dados
Exemplo: a construção Estudante contém um conjunto de
registros de estudantes como suas instâncias
DCC-UFLA Prof. Denilson Alves Pereira 10
Esquemas e Instâncias
A definição de um novo banco de dados é apenas a
especificação do esquema do banco de dados
O estado inicial de um banco de dados é obtido quando os
primeiros dados são armazenados
O SGBD deve garantir que todo estado do banco de
dados seja um estado válido
DCC-UFLA Prof. Denilson Alves Pereira 11
Arquitetura de Três Esquemas e
Independência de Dados
DCC-UFLA Prof. Denilson Alves Pereira 12
Arquitetura de Três Esquemas
O objetivo da arquitetura de três esquemas (arquitetura
ANSI/SPARC) é separar as aplicações dos usuários e o
banco de dados físico. Ela possui os seguintes níveis:
Interno - tem um esquema interno que descreve a estrutura
de armazenamento físico do banco de dados
Conceitual - tem um esquema conceitual que descreve a
estrutura completa do banco de dados para os usuários
Externo ou de Visão - possui um conjunto de esquemas
externos ou visões de usuários que descreve partes do
banco de dados que um grupo particular de usuários pode
estar interessado
DCC-UFLA Prof. Denilson Alves Pereira 13
Arquitetura de Três Esquemas
DCC-UFLA Prof. Denilson Alves Pereira 14
Arquitetura de Três Esquemas
Os três esquemas são apenas descrições de dados; o
único local onde os dados realmente existem é no nível
físico
Mapeamento - o SGBD deve transformar as requisições
especificadas no esquema externo em requisições para o
esquema conceitual e as do esquema conceitual em
requisições para o esquema interno para ser processado
sobre o banco de dados armazenado
DCC-UFLA Prof. Denilson Alves Pereira 15
Independência de Dados
Independência de dados é a capacidade de mudar o
esquema em um nível do sistema de banco de banco sem
ter que mudar o esquema do nível acima:
Independência lógica de dados - é a capacidade de
mudar o esquema conceitual sem ter que mudar os
esquemas externos ou os programas da aplicação
Independência física de dados - é a capacidade de mudar
o esquema interno ser ter que mudar o esquema conceitual
DCC-UFLA Prof. Denilson Alves Pereira 16
Linguagens de Banco de
Dados
DCC-UFLA Prof. Denilson Alves Pereira 17
Linguagens dos SGBDs
Tipos de linguagens oferecidas por um SGBD:
Linguagem de Definição de Dados (DDL) - Em SGBDs que
não possuem uma separação entre o nível conceitual e interno
utiliza-se a DDL para definir os esquemas conceitual e interno.
Naqueles que possuem uma separação, a DDL é utilizada para
definir somente o esquema conceitual
Linguagem de Definição de Armazenamento (SDL) - usada
para especificar o esquema interno
Linguagem de Definição de Visões (VDL) - especifica as visões
dos usuários e o mapeamento para o esquema conceitual
Linguagem de Manipulação de Dados (DML) - usada para
consultar, inserir, remover e modificar dados do banco de
dados
A linguagem de banco de dados relacional SQL representa uma
combinação de DDL, VDL e DML
DCC-UFLA Prof. Denilson Alves Pereira 18
Linguagens dos SGBDs
Tipos de Linguagens de Manipulação de Dados (DML):
Não-procedural ou Alto-Nível - requer do usuário a
especificação de qual dado é necessário sem mostrar como
obtê-lo
podem ser executadas de forma interativa em um
terminal ou podem ser embutidas em uma linguagem de
programação
Procedural ou Baixo-Nível - requer do usuário a espe-
cificação de qual dado é necessário e como obtê-lo
são embutidos em uma linguagem de programação
DCC-UFLA Prof. Denilson Alves Pereira 19
O Ambiente do Sistema de
Banco de Dados
DCC-UFLA Prof. Denilson Alves Pereira 20
Módulos Componentes de um SGBD
DCC-UFLA Prof. Denilson Alves Pereira 21
Módulos Componentes de um SGBD
Gerenciador de dados armazenados - Controla o acesso
aos dados armazenados no disco
Compilador da DDL - Processa as definições de
esquemas e armazena essas definições no catálogo do
SGBD
Processador do banco de dados em tempo de execução -
recebe as operações de recuperação e modificação e as
executa sobre o banco de dados
Compilador de consultas - manuseia as consultas de alto
nível que são entradas interativamente
DCC-UFLA Prof. Denilson Alves Pereira 22
Módulos Componentes de um SGBD
Pré-compilador - extrai comandos DML de um programa
de aplicação escritos em uma linguagem de programação
hospedeira
Compilador da DML - recebe os comandos extraídos pelo
pré-compilador e gera o código objeto para acessar o
banco de dados
O código objeto e restante do programa compilado são
unidos formando uma transação
DCC-UFLA Prof. Denilson Alves Pereira 23
Utilitários
Carregador - é utilizado para povoar o banco de dados
com arquivos de dados existentes
Backup - cria uma cópia de backup do banco de dados
Reorganizador de arquivos - é utilizado para reorganizar
um arquivo do banco de dados para melhorar a
performance
Monitor de performance - monitora o uso do banco de
dados e oferece estatísticas para o Administrador do
banco de dados (DBA)
DCC-UFLA Prof. Denilson Alves Pereira 24
Arquiteturas para SGBDs
DCC-UFLA Prof. Denilson Alves Pereira 25
Arquiteturas para SGBDs
Centralizadas
Cliente/Servidor Básicas
Cliente/Servidor de Duas Camadas
Três Camadas e N Camadas para Aplicações Web
DCC-UFLA Prof. Denilson Alves Pereira 26
Arquiteturas Centralizadas
Toda a funcionalidade do SGBD, execução de programas
de aplicação e processamento de interface do usuário são
executadas em uma máquina, normalmente um
mainframe
DCC-UFLA Prof. Denilson Alves Pereira 27
Arquiteturas Cliente/Servidor Básicas
Operam em redes de computadores, onde cada máquina
assume o papel de servidor e/ou de cliente de algum
recurso
Cliente
Máquina que oferece capacidades de interface com o
usuário e processamento local
Servidor
Sistema de hardware e software que oferece serviços às
máquinas cliente, tais como acesso a arquivos, impressão e
acesso a banco de dados
DCC-UFLA Prof. Denilson Alves Pereira 28
Arquiteturas Cliente/Servidor Básicas
Servidores típicos:
Servidor de arquivos: mantém os arquivos das máquinas
cliente
Servidor de impressão: máquina conectada a várias
impressoras para a qual as solicitações de impressão dos
clientes são encaminhadas
Servidor Web: gerencia as solicitações de acesso à Web
Servidor de e-mail: gerencia as solicitações de correio
Servidor de banco de dados: fornece acesso a bancos de
dados
Máquinas cliente:
Possuem interfaces apropriadas para utilizar os servidores
Possuem poder de processamento local
DCC-UFLA Prof. Denilson Alves Pereira 29
Arquiteturas Cliente/Servidor Básicas
DCC-UFLA Prof. Denilson Alves Pereira 30
Arquiteturas Cliente/Servidor de Duas Camadas
Os componentes de software são distribuídos por dois
sistemas: cliente e servidor
Servidor:
Nos SGBD relacionais, fornecem as funcionalidades de
consulta e de processamento de transações
Cliente:
Executam os programas da interface com o usuário e os
programas de aplicação
DCC-UFLA Prof. Denilson Alves Pereira 31
Arquiteturas Cliente/Servidor de Duas Camadas
Padrão ODBC (Open Database Connectivity)
Oferece uma interface de programação de aplicações (API)
Permite que os programas do cliente acessem o SGBD
Padrão JDBC (Java Database Connectivity)
Conectividade para programas em Java
Permite que programas em Java acessem um ou mais
SGBDs por meio de uma interface padrão
DCC-UFLA Prof. Denilson Alves Pereira 32
Arquiteturas de Três Camadas e de N Camadas para Aplicações
Web
Três camadas
Acrescenta uma camada intermediária entre o cliente e o
servidor de banco de dados
Atua com servidor de aplicação ou servidor Web
Executa programas de aplicação e armazena regras de
negócio
N camadas
Divide a camada intermediária em outros componentes mais
detalhados
A camada de lógica de negócios é dividida em várias
camadas
DCC-UFLA Prof. Denilson Alves Pereira 33
Arquiteturas de Três Camadas e de N Camadas para Aplicações
Web
DCC-UFLA Prof. Denilson Alves Pereira 34
Classificação dos SGBDs
DCC-UFLA Prof. Denilson Alves Pereira 35
Classificação dos SGBDs
Modelo de dados:
relacional, objeto, objeto-relacional, NoSQL, chave-valor,
XML, hierárquico, rede, entre outros
Número de usuários:
mono-usuário e multiusuário
Custo:
gratuito e licenças pagas
DCC-UFLA Prof. Denilson Alves Pereira 36
Classificação dos SGBDs
Número de sites:
Centralizado - os dados estão armazenados em um único
computador
Distribuído (SGBDD) - o banco de dados e os software dos
SGBDs estão em vários locais conectados por uma rede de
computadores. Ex: sistemas big data
SGBDD Homogêneos - usam o mesmo SGBD nos vários sites
SGBD Federados - os SGBDs participantes são heterogêneos e
possuem uma forma de ligação entre eles, e cada um tem um grau
de autonomia local
DCC-UFLA Prof. Denilson Alves Pereira 37
Bibliografia Básica
Elmasri, Ramez; Navathe, Shamkant B. Sistemas de
Bancos de Dados. Editora Pearson, 7a edição, 2018

Mais conteúdo relacionado

Semelhante a Banco Dados Conceitos Arquitetura

Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Universidade federal do amazonas Banco de Dados - Apresentação final
Universidade federal do amazonas   Banco de Dados - Apresentação finalUniversidade federal do amazonas   Banco de Dados - Apresentação final
Universidade federal do amazonas Banco de Dados - Apresentação finalRenan Levy
 
AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptxEizoKato
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
Célio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasCélio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasUCAM
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)Alex Camargo
 

Semelhante a Banco Dados Conceitos Arquitetura (20)

Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Universidade federal do amazonas Banco de Dados - Apresentação final
Universidade federal do amazonas   Banco de Dados - Apresentação finalUniversidade federal do amazonas   Banco de Dados - Apresentação final
Universidade federal do amazonas Banco de Dados - Apresentação final
 
AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptx
 
02 introducao
02 introducao02 introducao
02 introducao
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Célio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasCélio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadas
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Apostila de banco de dados da ucg
Apostila de banco de dados da ucgApostila de banco de dados da ucg
Apostila de banco de dados da ucg
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Banco dedados aula001
Banco dedados aula001Banco dedados aula001
Banco dedados aula001
 
1 semestre-aula8-introducao-dd le-dml
1 semestre-aula8-introducao-dd le-dml1 semestre-aula8-introducao-dd le-dml
1 semestre-aula8-introducao-dd le-dml
 
bd.ppt
bd.pptbd.ppt
bd.ppt
 
Banco de Dados - Aula 02
Banco de Dados - Aula 02Banco de Dados - Aula 02
Banco de Dados - Aula 02
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 
Fit Bd 01
Fit Bd 01Fit Bd 01
Fit Bd 01
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 

Banco Dados Conceitos Arquitetura

  • 1. Banco de Dados Conceitos e Arquitetura DCC-UFLA Prof. Denilson Alves Pereira denilsonpereira@ufla.br https://sites.google.com/ufla.br/denilsonpereira/ http://lattes.cnpq.br/4120230814124499 versão dos slides: mai/2020
  • 2. DCC-UFLA Prof. Denilson Alves Pereira 2 Conteúdo Modelos de Dados, Esquemas e Instâncias Arquitetura de Três Esquemas e Independência de Dados Linguagens de Banco de Dados O Ambiente do Sistema de Banco de Dados Arquiteturas para SGBDs Classificação dos SGBDs
  • 3. DCC-UFLA Prof. Denilson Alves Pereira 3 Modelos de Dados, Esquemas e Instâncias
  • 4. DCC-UFLA Prof. Denilson Alves Pereira 4 Modelos de Dados A abordagem de banco de dados esconde detalhes de armazenamento dos dados que não são necessários para muitos usuários. O principal meio para fornecer esta abstração é o modelo de dados Um modelo de dados é um conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados A estrutura de um banco de dados envolve os tipos de dados, os relacionamentos e as restrições sobre os dados
  • 5. DCC-UFLA Prof. Denilson Alves Pereira 5 Categorias dos Modelos de Dados Pode-se categorizar um modelo de dados de acordo com o tipo de conceitos que ele fornece para descrever a estrutura do banco de dados Conceitual (ou Alto-Nível) - fornece conceitos para descrever os dados como a maioria dos usuários o percebem. Esses conceitos são como: Entidade - representa objetos e conceitos do mundo real Ex.: ‘empregado’ e ‘projeto’ Atributo - representa alguma propriedade de uma entidade Ex.: ‘nome’ e ‘salário’ do empregado Relacionamento - representa a interação entre entidades Ex.: ‘trabalha’ - um relacionamento entre empregado e projeto. Exemplos de modelo conceitual: Modelo ER e Modelo OO
  • 6. DCC-UFLA Prof. Denilson Alves Pereira 6 Categorias dos Modelos de Dados Lógico (ou Representativos ou de Implementação) - fornece conceitos que podem ser compreendidos pelos usuários finais, mas não está muito longe de como os dados são organizados no computador. Representam os dados usando a estrutura dos registros Exemplos: Modelos Relacional, Rede e Hierárquico Físico (ou Baixo-Nível) - fornece conceitos para descrever os detalhes de como os dados estão armazenados no computador Esses conceitos são como: formato dos registros ordenação dos registros vias de acesso - são utilizadas para recuperar de forma eficiente os registros do banco de dados (ex: índice) Autodescritivo – o armazenamento de dados combina a descrição dos dados (esquema) com seus próprios valores Exemplos: XML e sistemas NoSQL
  • 7. DCC-UFLA Prof. Denilson Alves Pereira 7 Esquema Esquema é a descrição textual ou gráfica de um banco de dados de acordo com um determinado modelo de dados A representação como diagramas de um esquema de banco de dados é chamado diagrama do esquema Exemplo de diagrama do esquema: Estudante Nome CódigoEstudante TipoAluno DepartamentoPrincipal Disciplina Nome CódigoDisciplina Créditos Departamento Turma CódigoTurma CódigoDisciplina Semestre Ano Professor Histórico CódigoEstudante CódigoTurma Nota PréRequisito CódigoDisciplina CódigoPréRequisito
  • 8. DCC-UFLA Prof. Denilson Alves Pereira 8 Esquema Cada objeto de um esquema é chamado de construtor do esquema Exemplo: Estudante, Disciplina O diagrama mostra apenas alguns aspectos do esquema, tais como nome do tipo de registro e dos itens dos dados e alguns tipos de restrições O diagrama anterior mostra apenas os nomes dos registros e dos seus atributos
  • 9. DCC-UFLA Prof. Denilson Alves Pereira 9 Instância Os dados em um banco de dados podem mudar freqüentemente Instância é o conjunto de dados armazenado em um banco de dados em um determinado instante do tempo (descreve o estado do banco de dados) Cada construtor do esquema tem seu próprio conjunto de instâncias em um estado do banco de dados Exemplo: a construção Estudante contém um conjunto de registros de estudantes como suas instâncias
  • 10. DCC-UFLA Prof. Denilson Alves Pereira 10 Esquemas e Instâncias A definição de um novo banco de dados é apenas a especificação do esquema do banco de dados O estado inicial de um banco de dados é obtido quando os primeiros dados são armazenados O SGBD deve garantir que todo estado do banco de dados seja um estado válido
  • 11. DCC-UFLA Prof. Denilson Alves Pereira 11 Arquitetura de Três Esquemas e Independência de Dados
  • 12. DCC-UFLA Prof. Denilson Alves Pereira 12 Arquitetura de Três Esquemas O objetivo da arquitetura de três esquemas (arquitetura ANSI/SPARC) é separar as aplicações dos usuários e o banco de dados físico. Ela possui os seguintes níveis: Interno - tem um esquema interno que descreve a estrutura de armazenamento físico do banco de dados Conceitual - tem um esquema conceitual que descreve a estrutura completa do banco de dados para os usuários Externo ou de Visão - possui um conjunto de esquemas externos ou visões de usuários que descreve partes do banco de dados que um grupo particular de usuários pode estar interessado
  • 13. DCC-UFLA Prof. Denilson Alves Pereira 13 Arquitetura de Três Esquemas
  • 14. DCC-UFLA Prof. Denilson Alves Pereira 14 Arquitetura de Três Esquemas Os três esquemas são apenas descrições de dados; o único local onde os dados realmente existem é no nível físico Mapeamento - o SGBD deve transformar as requisições especificadas no esquema externo em requisições para o esquema conceitual e as do esquema conceitual em requisições para o esquema interno para ser processado sobre o banco de dados armazenado
  • 15. DCC-UFLA Prof. Denilson Alves Pereira 15 Independência de Dados Independência de dados é a capacidade de mudar o esquema em um nível do sistema de banco de banco sem ter que mudar o esquema do nível acima: Independência lógica de dados - é a capacidade de mudar o esquema conceitual sem ter que mudar os esquemas externos ou os programas da aplicação Independência física de dados - é a capacidade de mudar o esquema interno ser ter que mudar o esquema conceitual
  • 16. DCC-UFLA Prof. Denilson Alves Pereira 16 Linguagens de Banco de Dados
  • 17. DCC-UFLA Prof. Denilson Alves Pereira 17 Linguagens dos SGBDs Tipos de linguagens oferecidas por um SGBD: Linguagem de Definição de Dados (DDL) - Em SGBDs que não possuem uma separação entre o nível conceitual e interno utiliza-se a DDL para definir os esquemas conceitual e interno. Naqueles que possuem uma separação, a DDL é utilizada para definir somente o esquema conceitual Linguagem de Definição de Armazenamento (SDL) - usada para especificar o esquema interno Linguagem de Definição de Visões (VDL) - especifica as visões dos usuários e o mapeamento para o esquema conceitual Linguagem de Manipulação de Dados (DML) - usada para consultar, inserir, remover e modificar dados do banco de dados A linguagem de banco de dados relacional SQL representa uma combinação de DDL, VDL e DML
  • 18. DCC-UFLA Prof. Denilson Alves Pereira 18 Linguagens dos SGBDs Tipos de Linguagens de Manipulação de Dados (DML): Não-procedural ou Alto-Nível - requer do usuário a especificação de qual dado é necessário sem mostrar como obtê-lo podem ser executadas de forma interativa em um terminal ou podem ser embutidas em uma linguagem de programação Procedural ou Baixo-Nível - requer do usuário a espe- cificação de qual dado é necessário e como obtê-lo são embutidos em uma linguagem de programação
  • 19. DCC-UFLA Prof. Denilson Alves Pereira 19 O Ambiente do Sistema de Banco de Dados
  • 20. DCC-UFLA Prof. Denilson Alves Pereira 20 Módulos Componentes de um SGBD
  • 21. DCC-UFLA Prof. Denilson Alves Pereira 21 Módulos Componentes de um SGBD Gerenciador de dados armazenados - Controla o acesso aos dados armazenados no disco Compilador da DDL - Processa as definições de esquemas e armazena essas definições no catálogo do SGBD Processador do banco de dados em tempo de execução - recebe as operações de recuperação e modificação e as executa sobre o banco de dados Compilador de consultas - manuseia as consultas de alto nível que são entradas interativamente
  • 22. DCC-UFLA Prof. Denilson Alves Pereira 22 Módulos Componentes de um SGBD Pré-compilador - extrai comandos DML de um programa de aplicação escritos em uma linguagem de programação hospedeira Compilador da DML - recebe os comandos extraídos pelo pré-compilador e gera o código objeto para acessar o banco de dados O código objeto e restante do programa compilado são unidos formando uma transação
  • 23. DCC-UFLA Prof. Denilson Alves Pereira 23 Utilitários Carregador - é utilizado para povoar o banco de dados com arquivos de dados existentes Backup - cria uma cópia de backup do banco de dados Reorganizador de arquivos - é utilizado para reorganizar um arquivo do banco de dados para melhorar a performance Monitor de performance - monitora o uso do banco de dados e oferece estatísticas para o Administrador do banco de dados (DBA)
  • 24. DCC-UFLA Prof. Denilson Alves Pereira 24 Arquiteturas para SGBDs
  • 25. DCC-UFLA Prof. Denilson Alves Pereira 25 Arquiteturas para SGBDs Centralizadas Cliente/Servidor Básicas Cliente/Servidor de Duas Camadas Três Camadas e N Camadas para Aplicações Web
  • 26. DCC-UFLA Prof. Denilson Alves Pereira 26 Arquiteturas Centralizadas Toda a funcionalidade do SGBD, execução de programas de aplicação e processamento de interface do usuário são executadas em uma máquina, normalmente um mainframe
  • 27. DCC-UFLA Prof. Denilson Alves Pereira 27 Arquiteturas Cliente/Servidor Básicas Operam em redes de computadores, onde cada máquina assume o papel de servidor e/ou de cliente de algum recurso Cliente Máquina que oferece capacidades de interface com o usuário e processamento local Servidor Sistema de hardware e software que oferece serviços às máquinas cliente, tais como acesso a arquivos, impressão e acesso a banco de dados
  • 28. DCC-UFLA Prof. Denilson Alves Pereira 28 Arquiteturas Cliente/Servidor Básicas Servidores típicos: Servidor de arquivos: mantém os arquivos das máquinas cliente Servidor de impressão: máquina conectada a várias impressoras para a qual as solicitações de impressão dos clientes são encaminhadas Servidor Web: gerencia as solicitações de acesso à Web Servidor de e-mail: gerencia as solicitações de correio Servidor de banco de dados: fornece acesso a bancos de dados Máquinas cliente: Possuem interfaces apropriadas para utilizar os servidores Possuem poder de processamento local
  • 29. DCC-UFLA Prof. Denilson Alves Pereira 29 Arquiteturas Cliente/Servidor Básicas
  • 30. DCC-UFLA Prof. Denilson Alves Pereira 30 Arquiteturas Cliente/Servidor de Duas Camadas Os componentes de software são distribuídos por dois sistemas: cliente e servidor Servidor: Nos SGBD relacionais, fornecem as funcionalidades de consulta e de processamento de transações Cliente: Executam os programas da interface com o usuário e os programas de aplicação
  • 31. DCC-UFLA Prof. Denilson Alves Pereira 31 Arquiteturas Cliente/Servidor de Duas Camadas Padrão ODBC (Open Database Connectivity) Oferece uma interface de programação de aplicações (API) Permite que os programas do cliente acessem o SGBD Padrão JDBC (Java Database Connectivity) Conectividade para programas em Java Permite que programas em Java acessem um ou mais SGBDs por meio de uma interface padrão
  • 32. DCC-UFLA Prof. Denilson Alves Pereira 32 Arquiteturas de Três Camadas e de N Camadas para Aplicações Web Três camadas Acrescenta uma camada intermediária entre o cliente e o servidor de banco de dados Atua com servidor de aplicação ou servidor Web Executa programas de aplicação e armazena regras de negócio N camadas Divide a camada intermediária em outros componentes mais detalhados A camada de lógica de negócios é dividida em várias camadas
  • 33. DCC-UFLA Prof. Denilson Alves Pereira 33 Arquiteturas de Três Camadas e de N Camadas para Aplicações Web
  • 34. DCC-UFLA Prof. Denilson Alves Pereira 34 Classificação dos SGBDs
  • 35. DCC-UFLA Prof. Denilson Alves Pereira 35 Classificação dos SGBDs Modelo de dados: relacional, objeto, objeto-relacional, NoSQL, chave-valor, XML, hierárquico, rede, entre outros Número de usuários: mono-usuário e multiusuário Custo: gratuito e licenças pagas
  • 36. DCC-UFLA Prof. Denilson Alves Pereira 36 Classificação dos SGBDs Número de sites: Centralizado - os dados estão armazenados em um único computador Distribuído (SGBDD) - o banco de dados e os software dos SGBDs estão em vários locais conectados por uma rede de computadores. Ex: sistemas big data SGBDD Homogêneos - usam o mesmo SGBD nos vários sites SGBD Federados - os SGBDs participantes são heterogêneos e possuem uma forma de ligação entre eles, e cada um tem um grau de autonomia local
  • 37. DCC-UFLA Prof. Denilson Alves Pereira 37 Bibliografia Básica Elmasri, Ramez; Navathe, Shamkant B. Sistemas de Bancos de Dados. Editora Pearson, 7a edição, 2018