O documento introduz os conceitos de Sistema de Gerenciamento de Banco de Dados (SGBD), definindo-o como um sistema que gerencia o armazenamento de dados e disponibiliza uma interface para o banco de dados real. Detalha características como controle de transações, integridade e acesso, e cita alguns SGBDs populares como PostgreSQL, MySQL, Oracle e SQL Server.
5. • Sistema (conjunto de programas) que gerencia o armazenamento
de dados
• Retira a responsabilidade do programa de controlar as transações
• Disponibiliza uma interface para o banco de dados real (Driver)
SGBD
6. Sistema sem SGBD
ACESSA
PROGRAMA ARQUIVO.BD
Programa deve implementar funções de
acesso, integridade, organização e
manipulação dos dados.
10. “O banco de dados da minha empresa é SQL Server 2008”
• É comum as pessoas se referirem ao termo BANCO DE
DADOS quando na verdade querem se referir ao SGBD
Curiosidade
11. • Restrição de integridade
• Restrição de acesso
• Controle de redundância (concorrência)
• Controle de transação (Commit e Rollback)
• Backup & Recovery
Características dos SGBD
12. • Escolher um SGBD pode depender de plataforma e
configuração de hardware
• Alguns SGBD são muito caros
Oracle 11g Enterprise Edition (Processor License) $ 47,500*
R$ 106.528,27*
*Preço do software e cotação do dólar em 27/04/14
Desvantagens
13. • Verifica em toda transação se os tipos de dados estão corretos
• Por exemplo, impede que seja armazenado uma data onde espera-
se um número
Erro ao tentar inserir (Nome: “Talita”, Idade: 1984/02/01)
Restrição de integridade
NOME: texto IDADE: inteiro
João 12
Carlos 20
Renata 17
14. • Cada conexão com o SGBD é realizada através com um usuário que
possui atribuições específicas dentro do banco de dados
Erro quando usuário „joao‟ tenta excluir um registro
Restrição de acesso
Usuário Garantias
joao INSERIR
ALTERAR
SELECIONAR
carlos EXCLUIR
SELECIONAR
renata SELECIONAR
15. • Evita conflitos de acesso simultâneo
Controle de concorrência
ACESSAPC-1
ARQUIVO.BD
ALTERAR REG 1
SGBD
PC-2
ALTERAR REG 1
BLOQUEADO
PC-2 é bloqueado porque PC-1 fez a mesma solicitação antes e
SGBD ainda está executando
16. • Detecta falhas e recupera o banco de dados
• Garante retorno do último estado consistente mesmo após um
apagão elétrico
• Utiliza comandos Commit e Rollback para gerenciar blocos
contendo diversas transações
Controle de transação
17. • Através do driver são passados comandos do programa para o SGBD
• Utiliza uma linguagem própria para criar o banco de dados e
manipular os dados dentro dessa estrutura
• Structured Query Language - SQL
Comunicação SGBD X Programa
18. SQL
DDL
DML
DCLDTL
DQL
Data Definition Language
Linguagem de Definição de Dados
Data Manipulation Language
Linguagem de Manipulação de Dados
Data Query Language
Linguagem de Consulta de Dados
Data Transaction Language
Linguagem de Transação de Dados
Data Control Language
Linguagem de Controle de Dados
• CREATE
• ALTER
• DROP
• INSERT
• UPDATE
• DELETE
• GRANT
• REVOKE
• BEGIN
• COMMIT
• ROLLBACK
• SELECT
19. CREATE TABLE Aluno (
Matricula INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
Nome VARCHAR(255) NOT NULL,
DataNascimento DATE NOT NULL,
Sexo CHAR(1) NOT NULL CHECK(Sexo IN („F‟, „M‟)),
Mae VARCHAR(255) NOT NULL,
Pai VARCHAR(255),
CPF CHAR(14) UNIQUE,
RG VARCHAR(50)
);
Exemplo de DDL - CREATE
20. • PostgreSQL (fala-se postgres)
• Firebird (não é mozilla)
• DB2
• MySQL
• Oracle
• SQL Server
• SQLite
• Sybase
• db4o (fala-se db for object)
• MongoDB (orientado a documento, NoSQL)
Alguns SGBD disponíveis
21. 1) O que é um SGBD? Qual seu propósito?
2) Cite vantagens e desvantagens de utilizar SGBD.
3) O que há de errado na afirmação “o banco de dados da
minha empresa é SQL Server 2008”?
4) Quais as características de um SGBD?
5) De que forma um programa pode se comunicar com um
SGBD?
Exercícios