banco de dados - sistemas de gerenciamento de banco de dados
DESCRIPTION
Introdução aos SGBD, propósito, características e alguns dos principais disponíveis no mercadoTRANSCRIPT
#BancoDeDados
Prof. Natanael Simões
facebook.com/natanaelsimoes
Introdução aos SGBDConceito e características
@natanaelsimoes
steamcommunity.com/id/natanaesimoes
Objetivo
• Compreender o objetivo dos SGBD• Conhecer os SGBD disponíveis no mercado
•O que é SGBD?•Quais as características?•Quais temos disponíveis?
Conteúdo programático
SGBDSistema de
Gerenciamento de Banco de Dados
• 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
Sistema sem SGBD
ACESSA
PROGRAMA ARQUIVO.BD
Programa deve implementar funções de acesso, integridade, organização e manipulação dos dados.
Sistema sem SGBD
ALTERA REGISTRO 1
PC-1
ARQUIVO.BD
PC-2
ALTERA
REGISTRO 1
Quem alterou o registro?
Sistema com SGBD
ACESSAPC-1
ARQUIVO.BD
COMUNICA
SGBD
[DRIVER]
PC-2
COMUNICA
[DRIVER]
SGBD isola o programa de detalhes técnicos do banco de dados
PROGRAMA ACESSAR BANCO DE DADOS
SABE DE NADA, INOCENTE!
“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
• 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
• 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
• 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 12Carlos 20Renata 17
• 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 INSERIRALTERAR
SELECIONAR
carlos EXCLUIRSELECIONAR
renata SELECIONAR
• Evita conflitos de acesso simultâneo
Controle de concorrência
ACESSA
PC-1
ARQUIVO.BD
ALTERAR REG 1
SGBD
PC-2
ALTERAR REG 1BLOQUEAD
O
PC-2 é bloqueado porque PC-1 fez a mesma solicitação antes e SGBD ainda está executando
• 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
• 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
SQL
DDL
DML
DCL
DTL
DQL
Data Definition LanguageLinguagem de Definição de Dados
Data Manipulation LanguageLinguagem de Manipulação de Dados
Data Query LanguageLinguagem de Consulta de Dados
Data Transaction LanguageLinguagem de Transação de Dados
Data Control LanguageLinguagem de Controle de Dados
• CREATE• ALTER• DROP
• INSERT• UPDAT
E• DELETE
• GRANT• REVOK
E
• BEGIN• COMMIT• ROLLBAC
K
• SELECT
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
• 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
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