w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Sistema de Gerenciamento de
Banco de Dados
w w w .i n a te l. b r ProgramaçãoCaracterísticas e Arquitetura de SGDB,
Linguagem de banco de dados,
Transações,
Recuperação de paradas e falhas,
Integridade de dados,
Segurança de dados e
Aumentar a clareza sobre como ocorre a ligação
entre o banco de dados e um software
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Gestão de Banco de Dados
A fim de poder controlar os dados bem como os
usuários, a necessidade de um sistema de
gestão fez-se sentir rapidamente.
A gestão do banco de dados faz-se graças a um
sistema
chamado
SGBD
(sistema
de
derenciamento de bancos de dados) ou em
inglês DBMS (Database managment system).
w w w .i n a te l. b r
Gestão de Banco de Dados
O SGBD é um conjunto de serviços (aplicações de
software) que permitem gerenciar os bancos de
dados, quer dizer :
permitir o acesso aos dados de maneira simples
autorizar um acesso às informações a múltiplos usuários
manipular os dados presentes no banco de dados (inserção, remoção, modificação, extração)
Há muitos tipos diferentes de SGBD, desde pequenos sistemas que funcionam em PC a sistemas enormes que estão associados a mainframes.
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
SGBD
Um SGBD implica a criação e manutenção de
bases de dados:
elimina a necessidade de especificação de definição de dados,
age como interface entre os programas de
aplicação e os ficheiros de dados físicos e separa as visões lógica e de concepção dos dados.
Assim sendo, são basicamente três os
componentes de um SGBD:
w w w .i n a te l. b r SGBDLinguagem de definição de dados (especifica
conteúdos, estrutura a base de dados e define os
elementos de dados);
Linguagem de manipulação de dados (para poder
alterar os dados na base);
Dicionário de dados (definições de elementos de
dados e respectivas características – descreve os
dados).
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Arquiteturas de SGBD
Arquitetura centralizada
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 está no seu alto custo, pois exige ambiente especial para mainframes e soluções centralizadas.
w w w .i n a te l. b r Arquiteturas de SGBD
Arquitetura Cliente-Servidor
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 DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem:
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Arquiteturas de SGBD
o tratamento de transações, as confirmações de
transações (commits), desfazer transações
(rollbacks), linguagens de consultas (stored
procedures) e gatilhos (triggers).
A principal vantagem desta arquitetura é a divisão
do processamento entre dois sistemas, o que
reduz o tráfego de dados na rede.
w w w .i n a te l. b r Arquiteturas de SGBD
Banco de Dados Distribuídos (N camadas), a
informação está distribuída em diversos servidores.
Cada servidor atua como no sistemacliente-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.
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Arquitetura de SGBD w w w .i n a te l. b r Características de SGDB
Controle de Redundâncias
Diminuir a redundância de dados gerenciando processo de armazenamento.
Compartilhamento dos Dados
Deve incluir software de controle de concorrência ao acesso dos dados, garantindo em qualquer tipo de situação a escrita/leitura de dados sem erros.
Controle de Acesso
Deve dispor de recursos que possibilitem selecionar a autoridade de cada usuário.
Interfaceamento
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Características de SGDB
Esquematização
Deverá fornecer mecanismos que possibilitem a compreensão do relacionamento existentes entre as tabelas e de sua eventual manutenção.
Controle de Integridade
Deverá impedir que aplicações ou acessos pelas interfaces possam comprometer a integridade dos dados.
Backups
Deverá apresentar facilidade para criar e recuperar cópias dos dados.
w w w .i n a te l. b r
Os requisitos e os recursos de um SGBD:
Requisitos
Recursos
Confiabilidade Transações atômicas: mecanismos para controle de concorrência e recuperação de dados
Segurança Níveis de autorização e controle de acessos
Desempenho Otimização de consultas: métodos de acesso e de armazenamento eficientes e gerência eficaz do buffer pool e modelos de custo
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Exemplos de SGBD
MySQL
Oracle
MS SQL Server
PostgreSQL
SQLite
DB2
w w w .i n a te l. b r ConceitosInstância de BD:
Coleção de informações armazenadas em um determinado momento.
Esquema de BD:
Projeto geral do banco de dados (esquemas físico, lógico ou conceitual e sub-esquemas)
Independência de dados:
Física: modificações no esquema físico não acarretam
alterações nos programas de aplicação
Lógica: modificações no esquema lógico não acarretam
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Conceitos
Nome Cidade Rua
João Ouro Preto Albino Sartori Antônio Mariana Sete Setembro José Descalvado Piracicaba
Cliente Esquema Instância Instância X Esquema w w w .i n a te l. b r Abstração de dados Nível de visões (de usuário)
Alto nível de abstração
Diferentes usuários podem ter diferentes visões do BD Nível lógico ou conceitual
Descreve quais dados estão armazenados e as relações entre eles
Nível físico
Descreve como os dados estão armazenados
Baixo nível de abstração
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Abstração de dados
Banco de Dados Armazenado
Cliente(Cod, Nome, Tel, Endereço)Conta(Num, Agencia, Cliente, Saldo) Agencia(Num, Endereco)
Visão 1 - Cliente Visão 2 - Caixa Visão 3 - Gerente
Funcionario(Nome, Salario, Admiss.)
Nível lógico Nível de usuário Nível físico w w w .i n a te l. b r
Linguagem de Banco de Dados
SQL
Structured Query Language (Linguagem de Consulta Estruturada)
SQL é uma linguagem de pesquisa declarativa
para banco de dados relacional
É padronizado pela ANSI e ISO
Possui variações e extensões produzidos pelos
diferentes fabricantes de SGBDs
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Linguagem de banco de dados
Linguagem
de
Definição
de
Dados
(“Data
Definition Language” - DDL)
é utilizada pelo DBA e projetistas de base de dados para definir seus esquemas. O SGBD tem um compilador para processar descrições em DDL e construir a descrição do esquema armazenado no catálogo; w w w .i n a te l. b r
Linguagem de banco de dados
• Linguagem de Manipulação de Dados (“Data
Manipulation Language” - DML)
uma vez que o esquema é compilado e a base de dados preenchida com dados, os usuários têm que ter algum modo de manipular os dados. Manipulações comuns como recuperação, inserção, remoção e modificação de dados são realizadas pela DML.
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
DML
SELECT
usado para selecionar um conjunto de registros de uma tabela existente
INSERT
usado para adicionar um novo registro a uma tabela existente
UPDATE
usado para alterar um registro existente na tabela
DELETE
usado para apagar um registro existente na tabela
w w w .i n a te l. b r DDL
CREATE
cria um objeto (uma Tabela, por exemplo) dentro da base de dados
DROP
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Comando SELECT
O comando SELECT é composto de várias
cláusulas e opções, possibilitando elaborar
consultas das mais simples às mais elaboradas
Possui:
Cláusulas Operadores Lógicos Operadores Relacionais Funções de Agregação w w w .i n a te l. b r CláusulasCondições para definir os dados que se deseja
selecionar ou modificar em uma consulta
FROM
especifica a tabela que se vai selecionar os registros
WHERE
especifica as condições que devem reunir os registros que serão selecionados
GROUP BY
separa os registros selecionados em grupos específicos
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Cláusulas
HAVING
expressa a condição que deve satisfazer cada grupo
ORDER BY
ordena os registros selecionados com uma ordem especifica
DISTINCT
seleciona dados sem repetição
w w w .i n a te l. b r Operadores Lógicos
AND (E lógico)
avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos
OR (OU lógico)
avalia as condições e devolve um valor verdadeiro se algum for correto
NOT (Negação lógica)
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Operadores Relacionais
< Menor que
> Maior que
= Igual a
<> Diferente de
<= Menor ou Igual que >= Maior ou Igual que
BETWEEN
especifica um intervalo de valores
LIKE
utilizado na comparação de um modelo e para especificar registros de um banco de dados.
Like + extensão % vai significar buscar todos resultados com o mesmo início da extensão
w w w .i n a te l. b r Funções de Agregação
São usadas dentro de uma cláusula SELECT para
devolver um único valor que se aplica a um grupo
de registros
AVG
calcula a media dos valores de um campo determinado
COUNT
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Funções de Agregação
SUM
devolve a soma de todos os valores de um campo determinado
MAX
devolve o valor mais alto de um campo especificado
MIN
devolve o valor mais baixo de um campo especificado w w w .i n a te l. b r Laboratório
Ferramenta DIA
w w w .i n a te l. b r
Pós-Graduação OI TP629 - Banco de Dados Cristiani Vilela
Laboratório