Você está na página 1de 49

Banco de Dados II

Banco de Dados II - Prof Tavares

Bibliografia

Banco de Dados II - Prof Tavares

Mundo
Real

Requisitos
de Dados

Coleta/Especificao
de Requisitos

Requisitos
Funcionais

Projeto Conceitual

Anlise Funcional

Projeto Lgico

Projeto Funcional

Projeto Fsico

Programao

dados
e
regras
Banco de Dados II - Prof Tavares

SGBD

Programa
de
Programa
de
Programa
de
aplicao
de
BD
aplicao
de
aplicaoBD
3

Sistema de Banco de Dados


Usurios / Programadores
Sistema de BD

Componentes:
Dados
Hardware
Software
Usurios

Consultas / Programas de Aplicao


SGBD
Software para processar
consultas / programas

Software para acessar


dados armazenados

Definio
do BD
(Metadados)
Banco de Dados II - Prof Tavares

BD
4

Sistema de Banco de Dados

Usurios
Programadores de aplicaes.

Administradores do BD (DBA).
Usurios finais.

Banco de Dados II - Prof Tavares

Sistema de Banco de Dados


Administrao de dados e administrao de bancos de dados
O conceito de controle centralizado implica que haver na empresa
alguma pessoa identificvel que tenha a responsabilidade central
pelos dados, e essa pessoa o administrador de dados (abreviado
como DA - Data Administrator)
O trabalho do administrador de dados decidir, para comear, que
dados devem ser armazenados no banco de dados, alm de
estabelecer normas para manter e tratar esses dados, uma vez que
venham a ser armazenados.
Um exemplo de tal norma seria a de determinar quem pode executar
quais operaes sobre quais dados em que circunstncias - em
outras palavras, uma norma de segurana de dados.

Banco de Dados II - Prof Tavares

Sistema de Banco de Dados


Administrao de dados e administrao de bancos de dados
(cont...)
O administrador de dados um gerente.
O tcnico responsvel pela implementao das decises do
administrador de dados o administrador de banco de dados
(abreviado como DBA - Data Base Administrator).
O trabalho do DBA criar o banco de dados propriamente dito e
implementar os controles tcnicos necessrios para pr em prtica
as diversas decises sobre normas tomadas pelo administrador de
dados.
O DBA tambm responsvel por assegurar que o sistema operar
com desempenho adequado e por oferecer vrios outros servios
tcnicos. A funo do DBA normalmente ser executada na prtica
por uma equipe.
Banco de Dados II - Prof Tavares

Banco de Dados
uma coleo de dados persistentes, usada pelos
sistemas de aplicao de uma determinda empresa
(Date, 2004).
Um BD representa algum aspecto do mundo real,
chamado mini mundo ou universo de discurso. As
mudanas no mini-mundo so refletidas no banco de
dados.
Usurios

Mini mundo

Banco de Dados II - Prof Tavares

Banco
de
Dados

Aplicaes
8

Principais caractersticas
de um banco de dados
Compartilhamento de dados e processamento de transao
multiusurio
Uma transao uma unidade lgica de trabalho (mais precisamente, uma unidade
lgica de trabalho de banco de dados), em geral envolvendo diversas operaes de
banco de dados - em particular, vrias operaes de atualizao.

O exemplo padro envolve a transferncia de uma quantia de dinheiro de uma conta


A para outra conta B. claro que so exigidas duas atualizaes nesse caso, uma
para retirar o dinheiro da conta A, e outra para deposit-lo na conta B. Se o usurio
declarar que as duas atualizaes so parte da mesma transao, ento o sistema
poder efetivamente garantir que ambas sero realizadas ou nenhuma delas - ainda
que, por exemplo, o sistema venha a falhar (digamos, devido a uma queda de
energia) em meio ao processo.
Propriedade de isolamento:
Cada transao parece executar isoladamente das outras transaes.
Propriedade de atomicidade:
Todas as operaes em uma transao so executadas ou nenhuma ser.
Banco de Dados II - Prof Tavares

SGBD

O Sistema Gerenciador de Banco de Dados


(SGBD) o software que trata de todo o

acesso ao banco de dados (Date).

Banco de Dados II - Prof Tavares

10

February 2014

Banco de Dados II - Prof Tavares

11

SGBD
Principais funes

Banco de Dados II - Prof Tavares

12

SGBD - Principais funes


Definio de dados
O SGBD deve ser capaz de aceitar definies de dados (esquemas
externos, o esquema conceitual, o esquema interno e todos os
mapeamentos associados) em formato fonte e convert-Ios para o
formato objeto apropriado.
Em outras palavras, o SGBD deve incluir componentes de
processadorde DDL ou compilador de DDL para cada uma das
diversas linguagens de definio de dados (DDL).
O SGBD tambm dever "entender" as definies da DDL, no sentido
de que, por exemplo, ele "entende" que os registros externos
EMPREGADO incluem um campo SALRIO; ele deve, ento, ser
capaz de usar esse conhecimento para analisar e responder a pedidos
de manipulao de dados (por exemplo, "obtenha todos os
empregados com salrio < R$ 50.000,00").
Banco de Dados II - Prof Tavares

13

SGBD - Principais funes


Manipulao de dados
O SGBD deve ser capaz de lidar com requisies do
usurio para buscar, atualizar ou excluir dados existentes
no banco de dados, ou para acrescentar novos dados ao
banco de dados.
Em outras palavras, o SGBD deve incluir um componente
processador de DML ou compilador de DML para lidar com
a linguagem de manipulao de dados (DML - Data
Manipulation Language).

Em geral, as requisies de DML podem ser "planejadas"


ou "no-planejadas.
Banco de Dados II - Prof Tavares

14

SGBD - Principais funes


Manipulao de dados
Requisio planejada aquela para a qual a necessidade foi prevista
com bastante antecedncia em relao ao momento em que a
requisio executada. O DBA provavelmente ter ajustado , o projeto
de banco de dados fsico de modo a garantir um bom desempenho
para requisies planejadas.
Requisio no-planejada uma consulta ad hoc, isto , uma
requisio cuja necessidade no foi prevista com antecedncia mas,
em vez disso, surgiu na ltima hora, sendo caractersticas de
aplicaes para apoio deciso.
As requisies planejadas em geral sero emitidas a partir de
programas de aplicao escritos com antecedncia, enquanto as
requisies no-planejadas sero, por definio, emitidas de modo
interativo por meio de algum processador de linguagem de consulta.
Banco de Dados II - Prof Tavares

15

SGBD - Principais funes


Recuperao de dados e concorrncia.
O

SGBD

ou,

mais

provavelmente,

algum

outro

componente de software relacionado, em geral chamado


gerenciador de transaes ou monitor de TP (transaction
processing) - deve impor certos controles de recuperao e
concorrncia.

Banco de Dados II - Prof Tavares

16

SGBD - Principais funes


Dicionrio de dados.
O dicionrio de dados pode ser considerado um banco de
dados isolado (mas um banco de dados do sistema, no
um banco de dados do usurio);
Contm "dados sobre os dados" (tambm chamados
metadados ou descritores) - ou seja, definies de outros
objetos do sistema, em vez de somente "dados crus".
Todos os vrios esquemas e mapeamentos (externos,
conceituais etc.) e todas as diversas restries de
segurana e integridade estaro armazenados, tanto na
forma de fonte quanto de objeto, no dicionrio.

Banco de Dados II - Prof Tavares

17

SGBD - Principais funes


Controle de Redundncia
Redundncia
Problemas:
duplicao de esforo para manter os dados atualizados;
desperdcio de espao de armazenamento;

possibilidade de inconsistncia dos dados


Quando a redundncia necessria:

SGBD deve ser capaz de controlar a redundncia para


evitar inconsistncias.
Banco de Dados II - Prof Tavares

18

SGBD - Principais funes


Compartilhamento de Dados

Sistemas multiusurios

Controle de Concorrncia

Banco de Dados II - Prof Tavares

19

SGBD - Principais funes


Controle de Acesso
Subsistema de segurana e autorizao

Mecanismos usuais de controle de acesso:


senhas para usurios e para grupos de usurios;

restrio de acesso a parte do banco de dados;


proibio de executar certas operaes, por exemplo
atualizao;
acesso de usurios paramtricos
transaes enlatadas;

restrito

apenas

proibio de uso de software privilegiado, a ex. do software


de criao de contas.
Banco de Dados II - Prof Tavares

20

SGBD - Principais funes


Persistncia p/ Objetos e Estruturas de
Dados

Capacidade dos Banco de Dados de se


integrarem a linguagens de programao de
alto nvel de forma a permitir que as
estruturas criadas pelas LPs fiquem
armazenadas definitivamente no BDs.

Banco de Dados II - Prof Tavares

21

SGBD - Principais funes


Inferncia atravs de Regras de Deduo
Capacidade de permitir a definio de regras no SGBD que
permitam deduzir novas informaes a partir dos fatos
armazenados.

Regras:
adolescentes so todos aqueles que tm entre 14 e 18 anos
carioca: cidado natural do RJ
engenheiros: todo aquele que tem diploma de curso de
Engenharia
Consulta:
Quais os adolescentes cariocas que so engenheiros?
Banco de Dados II - Prof Tavares

22

SGBD - Principais funes


Mltiplas Interfaces
Um SGBD deve prover uma variedade de interfaces de
usurio.
Tipos de interfaces:
linguagens de consulta para usurios casuais;

linguagens de programao para programadores


de aplicaes;
formulrios (telas) para usurios paramtricos;
menus;
linguagem natural.
Banco de Dados II - Prof Tavares

23

SGBD - Principais funes


Representao de Relacionamentos

O SGBD deve ter a capacidade de representar uma


variedade de relacionamentos complexos entre os
dados, bem como recuperar e atualizar dados
relacionados de uma maneira fcil e eficiente.

Banco de Dados II - Prof Tavares

24

SGBD - Principais funes


Cumprimento das Restries de Integridade
Restries:
forma de verificao da consistncia dos dados no BDs

Restries de integridade mais complexas:

Unicidade de itens de dados;


Integridade referencial (um registro em uma tabela que
referencia outra tabela deve referenciar um registro existente
na outra tabela)

Restries derivadas da semntica dos dados (exemplo: um


aluno no pode fazer a mesma disciplina mais de uma vez).
Banco de Dados II - Prof Tavares

25

SGBD - Principais funes


Capacidade de Backup e Restaurao

O SGBD deve prover facilidades para restaurar o banco de


dados em caso de falha de hardware ou de software.

Sub-sistema de backup e restaurao: responsvel por


assegurar que o banco de dados restaurado para seu
estado anterior execuo do programa.

Banco de Dados II - Prof Tavares

26

Componentes de um SGBD
usurios
ocasionais

ABD e equipe

Comandos
em LDD

Comandos
privilegiados

Consulta de
alto nvel

programadores
de aplicaes
usurios
paramtricos

Programas de
aplicao

Pr-compilador

Processador
de consultas

Compilador
da LDD

Catlogo/
Dicionrio
de Dados

Compilador
da linguagem
hospedeira
Comandos
em LMD
Compilador
da LMD

Transaes
compiladas

Processador
do BD em tempo
de execuo
Gerenciador
dos dados
armazenados

Banco de Dados II - Prof Tavares

Subsistema de controle de
concorrncia / backup / restaurao

Banco de dados armazenado

27

Arquitetura de
Banco de Dados

Banco de Dados II - Prof Tavares

28

Arquitetura de Banco de Dados


Usurios finais

NVEL EXTERNO

Viso
Externa 1

...

Viso
Externa n

mapeamento
externo/conceitual

NVEL CONCEITUAL

Esquema Conceitual

mapeamento
conceitual/interno

NVEL INTERNO

Banco de Dados II - Prof Tavares

Esquema Interno

29

Arquitetura de Banco de Dados


A arquitetura ANSI/SPARC se divide em trs nveis:
Nvel interno - tambm conhecido como nvel de
armazenamento - o mais prximo do meio de
armazenamento fsico - ou seja, aquele que se ocupa do
modo como os dados so fisicamente armazenados dentro do
sistema.
Nvel externo - tambm conhecido como nvel lgico do
usurio - o mais prximo dos usurios - ou seja, aquele que
se ocupa do modo como os dados so vistos por usurios
individuais.
Nvel conceitual - tambm conhecido como nvel lgico de
comunidade, ou s vezes apenas nvel lgico, sem qualificao
- um nvel "indireto" entre os outros dois anteriores.
Banco de Dados II - Prof Tavares

30

Vises
exemplo: companhia area
1- Empregados
(nome, cpf, end, tel, filiao, dep)
2- Equipamentos
(n0 avio,marca,tipo,capac,
tripulao, reviso)
3- Funes
(nomefuno,salrio,qualificao,
servio, tipo_equipam)

Aplicaes:

Folha pagamento
(1,3)
Equipe tripulao
(1,2,3)
Manuteno equip
(1, 2)
Reserva vo
(2,4)
Escala manuteno
(1,2,3)

4-Vo
(linha, tipo_equipam, n0horas,
servio_bordo, horrio)
Banco de Dados II - Prof Tavares

31

Arquitetura de Banco de Dados


A sublinguagem de dados (data sublanguage - DSL)
subconjunto da linguagem completa, relacionado de modo
especfico aos objetos e s operaes do banco de dados.
A DSL considerada embutida na linguagem hospedeira
correspondente, ou "host, sendo esta ltima responsvel pelo
fornecimento de diversos recursos no relacionados com
bancos de dados, como variveis locais, operaes de clculo,
lgica de desvios condicionais, etc.
A sublinguagem de dados reconhecida por quase todos os
sistemas atuais a linguagem SQL.
Linguagens fortemente acopladas -> linguagem de
programao de banco de dados. Ex: PL/SQL
Banco de Dados II - Prof Tavares

32

Arquitetura de Banco de Dados


Em princpio, qualquer sublinguagem de dados , na realidade,
uma combinao de pelo menos duas linguagens subordinadas:
Linguagem de definio de dados (LDD ou DDL - Data
Definition Language), que d suporte definio ou

"declarao" de objetos dos bancos de dados;


Linguagem de manipulao de dados (LMD ou DML - Data

Manipulation Language), que admite o processamento ou a


"manipulao" desses objetos.
CRUD: create / read / update / delete.
Banco de Dados II - Prof Tavares

33

Independncia de Dados

Capacidade de mudar o esquema num nvel de um


sistema de banco de dados sem ter que mudar o
esquema no nvel seguinte mais alto.

Independncia lgica de dados:

Independncia fsica de dados:

Banco de Dados II - Prof Tavares

34

Independncia de Dados
Independncia lgica de dados (termo
"independncia de dados" no qualificado):
Capacidade de mudar o esquema conceitual sem
ter que mudar esquemas externos ou programas
de aplicao.

Independncia fsica de dados:


Capacidade de mudar o esquema interno sem ter
que mudar o esquema conceitual

Banco de Dados II - Prof Tavares

35

Independncia de Dados

Independncia de dados (lgica):


A independncia de dados um objetivo importante dos
sistemas de bancos de dados.
A independncia de dados pode ser definida como a
imunidade das aplicaes a alteraes na
representao fsica e na tcnica de acesso - o que
significa que as aplicaes envolvidas no dependam
de qualquer representao fsica ou tcnica de acesso
especfica.

Banco de Dados II - Prof Tavares

36

Modelos de Dados

Banco de Dados II - Prof Tavares

37

Modelos de Dados
Modelos conceituais:
Representam a realidade a um nvel alto de abstrao. Ex:
Entidades-Relacionamentos, Redes Semnticas, Modelos
Semnticos
Modelos lgicos ou de implementao:
Suportam descries de dados que possam ser processadas por
computador. Ex: Hierrquico, Redes, Relacional, R-O, OO
Modelos fsicos:
Descrevem como os dados so armazenados no computador
atravs de informaes como tipos de arquivos, formatos e
ordenao de registros, caminhos de acesso. Ex: Sistemas de
arquivos (seqenciais indexados, diretos, invertidos)
Banco de Dados II - Prof Tavares

38

Modelo Lgico Relacional


Sistema relacional
Os dados so percebidos pelo usurio como tabelas (e nada
alm de tabelas).
Os operadores disposio do usurio (por exemplo, para
busca de dados) so operadores que geram tabelas "novas" a
partir de tabelas "antigas".
O termo relao essencialmente apenas um termo matemtico
para designar uma tabela.

Banco de Dados II - Prof Tavares

39

Modelo Lgico Relacional

Banco de Dados II - Prof Tavares

40

Modelos de Dados
Foco : dados

Mini Mundo
Coleta e Anlise
de Requisitos

Requisitos de Dados

Definido por
meio do MER

Projeto Conceitual
Independente
de SGBD

Esquema Conceitual

Definido por
meio do MR

Projeto Lgico
Especfico para
um SGBD

Esquema Lgico

Definido por
meio da SQL

Projeto Fsico
Banco de Dados II - Prof Tavares

Esquema Fsico

41

Modelos de Dados

Banco de Dados II - Prof Tavares

42

Esquema Lgico
Tipos de Relacionamento Binrios 1:1

nome

cpf

Empregado

0,1

1,1

Departamento

gerencia
endereco
nome

Empregado
Cpf
PK
Nome
endereco

numero

Departamento
Numero PK
Nome
CpfGerente FK

Esquema Lgico
Entidades Fracas
nome

cpf

Empregado

0,N

1,1

Dependente

possui
endereco
nome

Empregado
Cpf
PK
Nome
endereco

sexo

Dependente
cpfEmpr FK PK
Nome
PK
sexo

Esquema Lgico
Tipos de Relacionamento Binrios 1:N

nome

cpf

Empregado

1,1

1,N

Departamento

trabalha_em
endereco
nome

Empregado
Cpf
PK
Nome
Endereco
NumeroDep FK

numero

Departamento
Numero PK
Nome

Esquema Lgico
Tipos de Relacionamento Binrios N:M

cpf

Empregado

nome

horas
1,N

1,N

Projeto

trabalha_em
endereco
nome

Empregado
Cpf
PK
Nome
Endereco

Trabalha_em
Cpf
FK PK
NumeroProj FK PK
Horas

numero

Projeto
Numero PK
Nome

Esquema Lgico
Atributos Multivalorados
localizaes

Projeto

numero

nome

Projeto
Numero
PK
Nome
Localizacao_1
Localizacao_2

(1)

Projeto
Numero
PK
Localizacao_1 PK
Nome

Projeto
Numero
PK
Localizacao_1 PK
Nome

Localizacao
NumeroProj FK PK
Localizacao
PK
(2)

(3)

Esquema Lgico
Tipos de Relacionamento n-rios
Pea
1,1

1,N
Fornecedor

fornece

1,N

Projeto

Peca
Codigo
Descricao
Fornecedor
Cnpj
PK
Nome
Endereco

Fornece
codPeca
FK PK
Cpf
FK PK
NumeroProj FK PK

PK

Projeto
Numero PK
Nome

Esquema Lgico
Generalizao/Especializao
Aluno
Matricula PK
Nome

matricula
nome

(1)

Aluno

Pos_graducao

Graduacao

Aluno
Matricula
PK
Nome
CrGraduacao
NotaVestibular
Tipo
(3)

crGraduacao

notaVestibular

Pos_graduacao
Matricula
FK PK
CrGraduacao

Graduacao
Matricula
FK PK
NotaVestibular
Pos_graduacao
Matricula
PK
Nome
CrGraduacao
Graduacao
Matricula
PK
Nome
NotaVestibular

(2)