banco de dados - sistemas de gerenciamento de banco de dados

Post on 24-Jan-2015

699 Views

Category:

Technology

18 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

#BancoDeDados

Prof. Natanael Simões

facebook.com/natanaelsimoes

Introdução aos SGBDConceito e características

@natanaelsimoes

natanael.simoes@ifro.edu.br

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

top related