banco de dados - sistemas de gerenciamento de banco de dados

21
s Prof. Natanael Simões facebook.com/natanaelsimoes Introdução aos SGBD Conceito e características @natanaelsimoes [email protected] steamcommunity.com/id/ natanaesimoes

Upload: natanael-augusto-viana-simoes

Post on 24-Jan-2015

699 views

Category:

Technology


18 download

DESCRIPTION

Introdução aos SGBD, propósito, características e alguns dos principais disponíveis no mercado

TRANSCRIPT

Page 1: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

#BancoDeDados

Prof. Natanael Simões

facebook.com/natanaelsimoes

Introdução aos SGBDConceito e características

@natanaelsimoes

[email protected]

steamcommunity.com/id/natanaesimoes

Page 2: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

Objetivo

• Compreender o objetivo dos SGBD• Conhecer os SGBD disponíveis no mercado

Page 3: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

•O que é SGBD?•Quais as características?•Quais temos disponíveis?

Conteúdo programático

Page 4: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

SGBDSistema de

Gerenciamento de Banco de Dados

Page 5: Banco de Dados - Sistemas 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

Page 6: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

Sistema sem SGBD

ACESSA

PROGRAMA ARQUIVO.BD

Programa deve implementar funções de acesso, integridade, organização e manipulação dos dados.

Page 7: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

Sistema sem SGBD

ALTERA REGISTRO 1

PC-1

ARQUIVO.BD

PC-2

ALTERA

REGISTRO 1

Quem alterou o registro?

Page 8: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

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

Page 9: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

PROGRAMA ACESSAR BANCO DE DADOS

SABE DE NADA, INOCENTE!

Page 10: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

“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

Page 11: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 12: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 13: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 14: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 15: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 16: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 17: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 18: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

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

Page 19: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

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

Page 20: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

• 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

Page 21: Banco de Dados - Sistemas de Gerenciamento de Banco de Dados

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