Você está na página 1de 9

UFOP BD-I Prof.

Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Conceitos Bsicos
Dados so fatos conhecidos que podem ser armazenados e
que tm algum significado implcito.
Exemplo: Uma coleo de nomes, endereos e telefones das
pessoas que voc conhece.

Introduo
Banco de Dados I
Prof. Guilherme Tavares de Assis

Banco de Dados uma coleo de dados relacionados com


as seguintes propriedades implcitas:

Universidade Federal de Ouro Preto UFOP


Instituto de Cincias Exatas e Biolgicas ICEB
Departamento de Computao DECOM

 Representa algum aspecto do mundo real (Mini-mundo ou


Universo de Discurso).
 uma coleo coerente de dados com algum significado
inerente.
 projetado, construdo e "povoado" com dados para um
propsito especfico.
2

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Conceitos Bsicos

Conceitos Bsicos

Um banco de dados pode ser criado e mantido


manualmente ou por mquina.

Um SGBD um software de propsito geral que facilita os


seguintes processos envolvendo bancos de dados:
 Definir: envolve especificar os tipos de dados, as estruturas e
as restries para os dados que sero armazenados.
 Construir: o processo de armazenamento dos dados em
alguma mdia controlada pelo SGBD.
 Manipular: envolve a aplicao de funes para recuperar
informaes especficas, modificar o banco de dados e gerar
relatrios sobre os dados.

Um banco de dados computadorizado pode ser criado e


mantido por um grupo de programas, implementado para
tais tarefas, ou por um sistema de gerncia de banco de
dados.
Sistema de Gerncia de Banco de Dados (SGBD) uma
coleo de programas que permite ao usurio criar e
manter um banco de dados.

Sistema de Banco de Dados o conjunto de software para


manipular um banco de dados juntamente com o banco de
dados.
3

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Ambiente do Sistema de Banco de Dados

Exemplo
Estudante

Nome
Joo
Jos

Disciplina

Nome
Introduco Cincia da Computao
Estrutura de Dados
Matemtica Discreta
Banco de Dados

Usurios / Programadores

Sistema de
Banco de
Dados

Programas da Aplicao / Consultas

Software
do
SGBD

Software para Processar


Consultas / Programas

Turma

Banco de Dados

Classe
1
2

DepartamentoPrincipal
DCC
DCC

CdigoDisciplina
DCC1310
DCC3320
MAT2410
DCC3380

Crditos Departamento
4
DCC
4
DCC
3
MAT
3
DCC

CdigoTurma
85
92
102
112
119
135

CdigoDisciplina
MAT2410
DCC1310
DCC3320
MAT2410
DCC1310
DCC3380

Semestre
II
II
I
II
II
II

Histrico

CdigoEstudante
17
17
8
8
8
8

CdigoTurma
112
119
85
92
102
135

Nota
B
C
A
A
B
A

PrRequisito

CdigoDisciplina
DCC3380
DCC3380
DCC3320

CdigoPrRequisito
DCC3320
MAT2410
DCC1310

Software para Acessar


os Dados Armazenados

Definio do
Banco de Dados
(Meta-Dado)

CdigoEstudante
17
8

UFOP BD-I Prof. Guilherme Tavares de Assis

Ano
91
91
92
92
92
92

Professor
King
Anderson
Knuth
Chang
Anderson
Stone

UFOP BD-I Prof. Guilherme Tavares de Assis

Banco de Dados X Sistema Tradicional de Arquivos

Banco de Dados X Sistema Tradicional de Arquivos


Independncia entre programas e dados:

Sistema de arquivos: cada usurio define e implementa os


arquivos necessrios para uma aplicao especfica.
Banco de dados: uma nica base de dados definida e
mantida para ser usada por vrios usurios.

 Arquivos: a estrutura do arquivo de dados est embutida nos


programas que realizam o acesso aos dados.
 Banco de dados: os programas de acesso aos dados so
independentes da estrutura de armazenamento dos dados.
 Com o uso da orientao por objetos, as operaes sobre os
dados so definidas como parte do banco de dados,
permitindo a independncia entre programa e operaes.

Em um sistema de banco de dados:


 As informaes so armazenadas no Catlogo e so
chamadas de meta-dados.
 O catlogo usado pelo SGBD e pode vir a ser consultado
pelo usurio do banco de dados.

Em processamento de arquivos tradicional:


 A definio de dados faz parte do programa da aplicao.
7

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Banco de Dados X Sistema Tradicional de Arquivos


Suporte a mltiplas vises dos dados:

Usurios de um SGBD
Administradores do Banco de Dados: so os responsveis
pela administrao do banco de dados e do SGBD.
Autorizam o acesso, coordenam e monitoram o uso e
adquirem recursos de software e hardware quando
necessrio.

 Uma viso pode ser um subconjunto do banco de dados ou


pode ser composta por dados virtuais que so derivados dos
arquivos do banco de dados, mas no esto explicitamente
armazenados.

Compartilhamento de dados e processamento de transaes


multi-usurio:
 Um SGBD multi-usurio deve permitir que vrios usurios
acessem o banco de dados ao mesmo tempo.
 O acesso simultneo essencial se os dados da aplicao so
integrados e mantidos em um nico banco de dados.
 Um SGBD deve possuir software de controle de concorrncia.

Projetista do Banco de Dados: so os responsveis pela


identificao dos dados a serem armazenados no banco de
dados e pela escolha da estrutura apropriada para
representar e armazenar esses dados.

UFOP BD-I Prof. Guilherme Tavares de Assis

10

UFOP BD-I Prof. Guilherme Tavares de Assis

Usurios de um SGBD

Usurios de um SGBD

Usurios finais: so as pessoas cujos trabalhos requerem


acessar o banco de dados para fazer consultas, modificaes
e gerar relatrios. Tipos de usurio final:
 Casuais: raramente acessam o banco de dados, mas podem
precisar de diferentes informaes em cada acesso.
 Ingnuos ou parametrizados: seu trabalho envolve a
realizao de consultas e modificao do banco de dados
constantemente. Eles usam consultas e modificaes
programadas e testadas.
 Especializados: usurios completamente familiarizados com
as facilidades do SGBD e que realizam requisitos complexos.

11

Analistas de Sistemas: determinam os requisitos dos


usurios finais e especificam o desenvolvimento de
transaes de acordo com os requisitos.
Programadores de Aplicaes: implementam as
especificaes como programas.

12

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

O que deve fornecer um SGBD?

O que deve fornecer um SGBD?

Controle de redundncia: dados redundantes podem gerar


problemas como repetio de uma alterao lgica, espao
em disco desperdiado e inconsistncia de dados.
Restrio de acesso: em um banco de dados utilizado por
vrios usurios, nem todos podem acessar todas as
informaes e nem todos podem realizar todas as
operaes sobre o banco de dados.

Inferncia em banco de dados usando regras de deduo:


os sistemas de banco de dados que possuem essa
capacidade so chamados Sistemas de Bancos de Dados
Dedutivos.
Mltiplas interfaces de usurios: os usurios do banco de
dados possuem um variado nvel de conhecimento tcnico.
Representao de relacionamentos complexos entre os
dados: um SGBD deve representar os relacionamentos
entre os dados e tambm recuperar e modificar dados
relacionados de forma fcil e eficiente.

Armazenamento persistente para objetos e estruturas de


dados de programas: um objeto persistente se ele
continua existindo aps o trmino da execuo de um
programa e pode ser acessado diretamente por um outro
programa.
13

UFOP BD-I Prof. Guilherme Tavares de Assis

14

UFOP BD-I Prof. Guilherme Tavares de Assis

O que deve fornecer um SGBD?

Quando no usar um SGBD

Garantia das restries de integridade: as restries


podem ser simples como as relacionadas ao tipo de dado,
ou complexas como as que verificam se um registro em um
arquivo est relacionado a registros em outros arquivos.
Backup e recuperao: um SGBD deve fornecer
facilidades para recuperar os dados se ocorrer uma falha de
hardware ou de software.

Para se usar um SGBD, existe um aumento de custo em


relao ao sistema tradicional de arquivos que se deve a:
 Investimento inicial em software, hardware e treinamento.
 Generalidade para definir e processar dados.
 Fornecimento de segurana, controle de concorrncia,
recuperao e funes de integridade.

O uso do sistema de arquivos desejvel quando:


 O banco de dados e as aplicaes so simples, bem definidas
e a expectativa de mudana pequena.
 Requisitos de tempo-real de programas so necessrios.
 Acesso de vrios usurios aos dados no requerido.

15

16

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Modelo de Dados

Modelo de Dados

A abordagem de banco de dados esconde detalhes de


armazenamento dos dados que no so necessrios para
muitos usurios. O principal meio para fornecer esta
abstrao o modelo de dados.

Conceitual (ou alto-nvel): fornece conceitos para


descrever os dados como a maioria dos usurios os
percebe. Esses conceitos so:
 Entidade: representa objetos e conceitos do mundo real.

Um modelo de dados um conjunto de conceitos que


podem ser usados para descrever as estruturas de um banco
de dados.
 categorizado de acordo com o tipo de conceitos que
fornece para descrever a estrutura do banco de dados,
podendo ser conceitual, lgico ou fsico.
 A estrutura de um banco de dados envolve os tipos de dados,
os relacionamentos e as restries sobre os dados.

Ex.: "estudante", "professor", "disciplina".

 Atributo: representa alguma propriedade de uma entidade.


Ex.: "nome" e "matrcula" de um estudante.

 Relacionamento: representa a interao entre entidades.


Ex.: "cursa" - um relacionamento entre estudante e disciplina.

Exemplos: Modelo ER e Modelo OO.

17

UFOP BD-I Prof. Guilherme Tavares de Assis

18

UFOP BD-I Prof. Guilherme Tavares de Assis

Modelo de Dados

Esquema

Lgico (ou representacional): fornece conceitos que podem


ser compreendidos pelos usurios finais, mas no esto
muito longe de como os dados sero organizados.
Representam os dados usando a estrutura de registro.
Exemplos: Modelos Relacional, Rede e Hierrquico.
Fsico (ou baixo-nvel): fornece conceitos para descrever
os detalhes de como os dados so fisicamente armazenados
no computador. Alguns conceitos so:
 Formato dos registros.
 Ordenao dos registros.
 Vias de acesso: so utilizadas para recuperar de forma
eficiente os registros do banco de dados.
19

Esquema a descrio textual ou grfica de um banco de


dados de acordo com um determinado modelo de dados.
A representao do esquema de banco de dados, na forma
grfica, chamada diagrama do esquema.
 Cada objeto de um esquema chamado de construo do
esquema. Ex.: Estudante, Disciplina.
Estudante
Nome

CdigoEstudante

Classe

Disciplina
Nome

CdigoDisciplina

Crditos

Departamento

Turma
CdigoTurma

CdigoDisciplina

Semestre

Ano

Histrico
CdigoEstudante

IdentificadorTurma

Nota

PrRequisito
CdigoDisciplina

CdigoPrRequisito

DepartamentoPrincipal

Professor

20

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Instncia

Arquitetura de Trs Nveis (Trs Esquemas)

Instncia o conjunto de dados armazenado em um banco


de dados em um determinado instante do tempo (descreve
o estado do banco de dados).
 Os dados em um banco de dados podem mudar
freqentemente, alterando assim a instncia do banco.

O objetivo da arquitetura de trs nveis separar as


aplicaes dos usurios e o banco de dados fsico. Ela
possui os seguintes nveis:
 Interno: tem um esquema interno que descreve a estrutura
fsica de armazenamento do banco de dados.
 Conceitual: tem um esquema conceitual que descreve a
estrutura completa do banco de dados para os usurios.
 Externo ou de Viso: possui um conjunto de esquemas
externos ou vises de usurios que descreve partes do banco
de dados que um grupo particular de usurios pode estar
interessado.

Cada construo de esquema tem seu prprio conjunto de


instncias em um estado do banco de dados.
 Exemplo: a construo Estudante contm um conjunto de
registros de estudantes como suas instncias.

O SGBD deve garantir que toda instncia do banco de


dados seja um estado vlido.
 O estado inicial de um banco de dados obtido quando os
primeiros dados so armazenados.
21

UFOP BD-I Prof. Guilherme Tavares de Assis

22

UFOP BD-I Prof. Guilherme Tavares de Assis

Arquitetura de Trs Nveis (Trs Esquemas)

Arquitetura de Trs Nveis (Trs Esquemas)


Os trs esquemas so apenas descries de dados; o nico
local onde os dados realmente existem no nvel fsico.
Mapeamento entre os esquemas:
 O SGBD deve transformar as requisies especificadas no
esquema externo em requisies para o esquema conceitual e
as do esquema conceitual em requisies para o esquema
interno para serem processadas sobre o banco de dados
armazenado .

23

24

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Arquitetura de Trs Nveis (Trs Esquemas)

Linguagens dos SGBDs

Independncia de dados a capacidade de mudar o


esquema em um nvel da arquitetura de trs nveis sem ter
que mudar o esquema do nvel acima.
 Independncia de dados lgica: a capacidade de mudar o
esquema conceitual sem ter que mudar o esquema externo
ou os programas de aplicao.
 Independncia de dados fsica: a capacidade de mudar o
esquema interno ser ter que mudar o esquema conceitual ou
externo.

Linguagem de Definio de Dados (LDD): em SGBDs que no


possuem uma separao entre o nvel conceitual e interno, utilizase a LDD para definir os esquemas conceitual e interno; naqueles
que possuem uma separao, a LDD utilizada para definir
somente o esquema conceitual.
Linguagem de Definio de Armazenamento (LDA): especifica o
esquema interno.
Linguagem de Definio de Vises (LDV): especifica as vises
dos usurios e o mapeamento para o esquema conceitual.
Linguagem de Manipulao de Dados (LMD): usada para
consultar, inserir, remover e modificar dados do banco de dados.
A linguagem de banco de dados relacional SQL representa uma
combinao de LDD, LDA, LDV e LMD.

25

UFOP BD-I Prof. Guilherme Tavares de Assis

26

UFOP BD-I Prof. Guilherme Tavares de Assis

Linguagens dos SGBDs

Interfaces de um SGBD

Tipos de Linguagens de Manipulao de Dados (LMD):


 No-procedural ou alto-nvel: requer do usurio a
especificao de qual dado necessrio sem mostrar como
obt-lo.
As LMDs no procedurais podem ser executadas de
forma interativa em um terminal ou podem ser embutidas
em uma linguagem de programao.

Interfaces Baseadas em Menus para Browsing

 Procedural ou baixo-nvel: requer do usurio a especificao


de qual dado necessrio e como obt-lo.
As LMDs procedurais so embutidos em uma linguagem
de programao.

Interfaces para o Administrador de Banco de Dados

27

Interfaces Baseadas em Formulrios


Interfaces Grficas
Interfaces de Linguagem Natural

28

UFOP BD-I Prof. Guilherme Tavares de Assis

UFOP BD-I Prof. Guilherme Tavares de Assis

Mdulos Componentes de um SGBD

Mdulos Componentes de um SGBD


Gerenciador do banco de dados: controla o acesso aos
dados armazenados no disco.
Compilador da LDD: processa as definies de esquemas e
armazena essas definies no catlogo do SGBD.
Processador do banco de dados em tempo de execuo:
recebe as operaes de recuperao e modificao e as
executa sobre o banco de dados.
Compilador de consultas: manuseia as consultas de alto
nvel que so fornecidas interativamente.

29

UFOP BD-I Prof. Guilherme Tavares de Assis

30

UFOP BD-I Prof. Guilherme Tavares de Assis

Mdulos Componentes de um SGBD

Utilitrios

Pr-compilador: extrai comandos LMD de um programa


de aplicao escritos em uma linguagem de programao
hospedeira.

Carregador: utilizado para povoar o banco de dados com


arquivos de dados existentes.

Compilador da LMD: recebe os comandos extrados pelo


pr-compilador e gera o cdigo objeto para acessar o banco
de dados.
 O cdigo objeto com o resto do programa compilado so
unidos formando uma transao.

Backup: cria uma cpia de backup do banco de dados.


Monitor de eficincia: monitora o uso do banco de dados e
oferece estatsticas para o DBA.
Reorganizador de arquivos: utilizado para reorganizar
um arquivo do banco de dados para melhorar a eficincia.

31

32

UFOP BD-I Prof. Guilherme Tavares de Assis

Critrios de Classificao dos SGBDs


Modelo de dados lgico:
 Relacional, hierrquico, rede, orientado a objeto e objetorelacional.

Nmero de sites:
 Centralizado: os dados esto armazenados em um nico site
de computador.
 Distribudo (SGBDD): o banco de dados e o SGBD esto em
vrios sites conectados por uma rede de computadores.
SGBDD Homogneo: usa o mesmo SGBD nos vrios sites.
SGBDD Federado: os SGBDs participantes so heterogneos e
possuem grau de autonomia local; torna-se necessria uma
forma de ligao entre eles.
33