Você está na página 1de 35

Introduo a Banco de Dados e a Sistemas Gerenciadores de Banco de Dados (SGBD)

Conceitos Bsicos
Dado: fato do mundo real que est registrado e possui um significado implcito no contexto de um domnio de aplicao
Exemplos: endereo, data de nascimento

Informao: dato til que pode ser extrado direta ou indiretamente a partir dos dados
Exemplo: endereo da Maria, idade

Por qu usar BD?


Considere o contexto (passado) de uma grande organizao que NO utiliza BD
Exemplo: domnio da Universidade
Vrias divises gerenciais (com suas aplicaes) Grande volume de dados Aplicaes manipulam dados comuns

Acadmica Alunos Professores Disciplinas Turmas Salas

Espao Fsico Centros Departamentos Cursos Disciplinas

Pessoal Centros Departamentos Professores Funcionrios

Gerenciamento de Dados sem BD


Cada aplicao descreve os seus dados
Nomes e formatos prprios Dados so particulares de cada aplicao (isolamento)

Gerenciamento local
Procedimentos de manipulao de dados
Implementados pela prpria aplicao Implementados por softwares de gerenciamento de arquivos
Manipulao de dados em mais baixo nvel Varreduras em cadeias de bytes

Problemas com este Contexto


Redundncia no-controlada Difcil manuteno
Incluso professor; alterao disciplina

Falta de padronizao
Dificulta integrao e reutilizao de programas

Formas restritas de acesso


Novas operaes de manipulao de dados exigem mudana no cdigo da aplicao

Falta de segurana
Exemplo: falha em uma operao

Utilizao de um BD
Evita (ou minimiza) estes problemas! Um BD definido em mais detalhes como: Uma coleo de dados operacionais interrelacionados e persistentes. Estes dados so gerenciados de forma independente dos programas que os utilizam, servindo assim a mltiplas aplicaes de um Organizao.

Exemplo de um BD

Vantagens do Uso de um BD
Dados armazenados em um nico local
Evita-se redefinies, minimiza-se redundncia

Dados compartilhados pelas aplicaes


Facilita integrao de aplicaes; evita redefinies

Maior independncia de dados


Novas operaes de manipulao de dados no requerem modificao pesadano cdigo da aplicao Aplicaes no se preocupam mais com o gerenciamento dos dados

Maior flexibilidade de acesso


Linguagem para BD
Manipulao de dados em mais alto nvel
Informa-se o QU se deseja do BD e no COMO se deseja

Quando no usar um BD?


Quando minha aplicao simples
Lida com poucos dados operacionais
Podem ser mantidos em um ou poucos arquivos

Quando minha aplicao faz processamento pesado mas no requer gerenciamento de dados operacionais
Exemplo: algumas aplicaes cientficas

Quando o custo para instalao e administrao de um SGBD muito alto


Equipamento, pessoal, treinamento,...

SGBD
Definio: Sistema cujo objetivo principal gerenciar o acesso e a correta manuteno dos dados armazenados em um banco de dados.

Funes bsicas
Mtodos de acesso Integridade Semntica Segurana Concorrncia Independncia

Funes Bsicas de um SGBD


Mtodos de acesso
DDL (Data Definition Language)
especificao do esquema do BD (dados e seus tipos de dados, ndices, ...)

DML (Data Manipulation Language)


manipulao de dados (I, A, E, C)

processamento eficaz de consultas


considera relacionamentos, predicados de seleo, volume de dados, ndices, ... exemplo: buscar professores que lecionam em turmas lotadas em salas do quarto andar

Alternativas de Processamento

Alternativa 1: (partindo de Professores) 1. Profs Turmas: 10x20 acessos (pior caso!) para associar os profs s suas turmas = 200 acessos (resultado: 20 dados) 2. Profs com Turmas Salas: 20x10 acessos (pior caso!) para associar as turmas com seus profs s suas salas = 200 acessos (resultado: 20 dados) 3. Profs com Turmas com Salas: filtrar as salas do 4o andar = 20 acessos TOTAL: 200 + 200 + 20 = 420 acessos Alternativa 2: (partindo de Salas) 1. Salas: filtrar as salas do 4o andar = 10 acessos (resultado: 5 dados) 2. Salas Turmas: 5x20 acessos (pior caso!) para associar as salas com as suas turmas = 100 acessos (resultado: 6 dados supor algumas turmas) 3. Salas com Turmas Profs: 6x10 acessos (pior caso!) para associar as turmas aos seus profs = 60 acessos TOTAL: 10 + 100 + 60 = 170 acessos

Funes Bsicas de um SGBD


Integridade semntica
garantia de dados sempre corretos com relao ao domnio de aplicao exemplos
estados vlidos para os dados (sexo: F/M) relacionamentos vlidos entre os dados (turma N:1 disciplina; apenas professores doutores lecionam disciplinas de ps-graduao)

especificao de Ris
testes, aes parte integrante da DDL

Funes Bsicas de um SGBD


Segurana
evitar violao de consistncia dos dados segurana de acesso (usurios e aplicaes)
matrizes de autorizao vises

segurana contra falhas (recovery)


monitorao de transaes
Transao conjunto de operaes a serem realizadas no BD princpio do tudo ou nada

categorias de falhas
transao, sistema e meio de armazenamento

manuteno de histrico de atualizaes (logs) e backups do BD

Exemplos de Registros Histricos

Funes Bsicas de um SGBD


Concorrncia
evitar conflitos de acesso simultneo a dados por transaes (scheduler) principais tcnicas
bloqueio (lock) e timestamp

Independncia
transparncia da organizao dos dados nveis de independncia
Independncia fsica
transparncia de organizao (esquema) fsica dos dados exemplos: organizao dos arquivos, indexao, distribuio, agrupamento

Independncia lgica
transparncia do esquema lgico do BD exemplo: vises (vrios esquemas externos)

Funes Bsicas de um SGBD

SGBD em Detalhe

Meios de Armazenamento

Meios de Armazenamento

Meios de Armazenamento

Meios de Armazenamento

Meios de Armazenamento

Meios de Armazenamento

Usurios do SGBD

DBA

DBA

DBA

DBA

Aplicao (Desenvolvida no SGBD)

Aplicao

Usurio ad hoc

Usurio ad hoc

Programador

Programador