Banco de dados
Arquitetura de SBD
Dados
Metadados
armazenados
Banco de dados
Sistema de Gerenciamento de Banco de Dados
Descrever/Definir
Armazenar/Construir
Manipular(Consultar,
atualizar)
Compartilhar
Questo 01 - ESAF - 2012 - CGU - Cargo: Auditoria e
Fiscalizao - Geral
Um Sistema de Banco de Dados
(a) uma associao de dados interdependentes
e hardware adequado que permitem aos usurios acesso
aos mesmos.
(b) uma coleo de dados relacionados por processadores
pertencentes a usurios com privilgio de acesso.
(c) uma coleo de dados inter-relacionados e um
conjunto de programas que permitem aos usurios
acessar e modificar esses dados.
(d) uma disposio de dados e atributos que permitem
aos usurios construir instncias multiestruturadas.
(e) uma coleo de dados de dimensionalidade varivel,
selecionada por cada usurio atravs de programas
interpretadores.
Questo 02 FUNCAB 2014 Analista de
Informtica
Segundo Laudon & Laudon, um Sistema Gerenciador de
Banco de Dados (SGBD) possui recursos e ferramentas para
organizar, administrar e acessar os dados do banco de
dados. So considerados os mais importantes recursos e
ferramentas de um SGBD:
A) atributos, entidades e cardinalidades.
B) linguagem de definio de dados, dicionrio de dados e
linguagem de manipulao de dados.
C) tuplas, chaves primrias e atributos.
D) chaves estrangeiras, chaves primrias e dicionrio de
dados.
E) relacionamentos, hierarquia e tecnologia implementada.
UM EXEMPLO RPIDO!
BANCO DE DADOS DE UMA FACULDADE!
CARACTERSTICAS DA ABORDAGEM
DE BANCO DE DADOS
Natureza autodescritiva
Uma definio e descrio completa da sua
estrutura e restries.
Armazenada no catlogo do SGBD
Estrutura de cada arquivo, o tipo e formato dos
itens de dados e as restries sobre os dados.
METADADOS!
Isolamento entre programas e dados
Independncia de dados do programa
Exemplo:
Acrescentar data de nascimento a relao aluno.
SGBDOO
Operao Interface ou assinatura +
implementao ou mtodo
A implementao pode ser alterada sem
mudanas na interface.
Independncia de operao do programa
Abstrao dos dados
Caracterstica que permite a independncia de
dados do programa e a independncia da
operao dos programa.
SGBD
Representao conceitual
Modelo de dados
Conceito lgicos
Suporte a mltiplas vises dos dados
Viso: Um subconjunto do banco de dados ou
conter dado virtual que derivado dos
arquivos do banco de dados.
Um SGBD multiusurio precisa oferecer
facilidades para definir mltiplas vises.
Compartilhamento de dados
Processamento de transao multiusurio
On-line Transaction Processing (OLTP)
Controle de concorrncia (SGBD)
Garantir que vrios usurios tentando atualizar o
mesmo dado faam isso de maneira controlada.
Transaes concorrente
Operam de forma correta e eficiente!
Que tal +5 centavos a respeito de transao??
Conceito de transao
um programa em execuo ou processo que
inclui um ou mais acessos ao banco de dados,
que efetuam leitura ou atualizaes de seus
registros.
Atomicidade Consistncia
Isolamento Durabilidade
23
Questo 03 - Prova: CESGRANRIO - 2012 - Petrobrs -
Analista de Sistemas Jnior - Infra-Estrutura - 2012
Quais as propriedades ACID das transaes que um
SGDB relacional multiusurio deve garantir?
(a) Armazenamento, Consistncia, Independncia e
Durabilidade
(b) Armazenamento, Consistncia, Isolamento e
Determinao
(c) Atomicidade, Consistncia, Isolamento e
Durabilidade
(d) Atomicidade, Confiabilidade, Isolamento e
Durabilidade
(e) Atomicidade, Confiabilidade, Independncia e
Determinao
Benefcios da abordagem de Banco de Dados
O dado pode ser compartilhado
A redundncia pode ser reduzida
Inconsistncias podem ser evitadas
Pode-se utilizar o suporte a transaes
A integridade pode ser mantida
A segurana pode ser aperfeioada
Requisitos conflitantes podem ser balanceados
Padres podem ser utilizados
Desvantagens dos Sistemas de Arquivo
Redundncia e inconsistncia dos dados
Dificuldade de acesso a dados
Isolamento dos dados
Problemas de Integridade
Problemas de atomicidade
Anomalias de acesso concorrente
Problemas de Segurana
VANTAGENS DE USAR A
ABORDAGEM DE SGBD
Vantagens de usar a abordagem de SGBD
Controle de redundncia
Restringir acesso a usurios no autorizados
Processamento eficiente de consulta
Backup e recuperao
Multiplas interfaces com o usurio
Representa relacionamento complexo entre os
dados
Restries de integridade
Implicaes adicionais
Potencial para garantir padres
Tempo reduzido para desenvolvimento de
aplicaes
Flexibilidade
Disponibilidade de informaes atualizadas
Economia de escala
Questo 04 BASA CESPE - Tcnico Cientfico
rea: TIC Subrea: Banco de Dados - 2012
Julgue os itens seguintes, no que se refere aos benefcios que pode
trazer a utilizao de sistema gerenciador de banco de dados (SGBD)
em relao a sistemas de processamento de arquivos.
[51] SGBD utiliza o conceito de atomicidade do registro, assegurando
que, uma vez detectada uma falha na operao com o registro, os
dados sejam salvos em seu ltimo estado consistente, anterior a essa
falha.
[52] SGBD, que formado por uma coleo de arquivos e programas
inter-relacionados, tem por objetivo garantir que o acesso para
consultas e alteraes dos dados nos arquivos seja limitado a um nico
administrador, responsvel por efetuar as modificaes e atualizaes
requeridas pelos usurios do sistema.
[53] A utilizao de SGBD permite o gerenciamento do acesso
concorrente, ou seja, permite atualizaes simultneas nos dados para
aumento do desempenho do sistema como um todo e para melhores
tempos de resposta.
Funes que envolvem o uso dirio de um grande banco de dados.
ATORES EM CENA
DBA ou AD?
Administrador de Dados (AD)
a pessoa que toma as decises estratgicas e de
normas com relao aos dados da empresa.
Administrador do Banco de dados (DBA)
a pessoa que fornece o suporte tcnico
necessrio para implementar essas decises.
Assim, o DBA responsvel pelo controle geral do
sistema em um nvel tcnico.
Administradores de Banco de Dados (DBA)
Banco de dados
Recurso principal
SGBD e os software relacionados
Recurso secundrio
DBA o responsvel
Por autorizar o acesso ao banco de dados,
coordenar e monitorar seu uso e adquirir recursos
de software e hardware conforme a necessidade
Por resolver problemas como falha na segurana
e demora no tempo de resposta do sistema.
Atribuies do DBA
Definir o esquema conceitual
Definir o esquema interno
Contato com os usurios
Definir restries de segurana e integridade
Monitorar o desempenho e responder a
requisitos de mudanas.
Definir normas de descarga e recarga
Definir normas de descarga e recarga
O DBA tem de definir e implementar um
esquema apropriado de controle de danos, em
geral envolvendo:
1.Descarga ou dumping peridico do banco de
dados para o meio de armazenamento de backup
e
2.Recarga ou restaurao do banco de dados
quando necessrio, a partir do dump mais
recente.
Projetistas de Banco de Dados (ADs)
Responsveis:
Identificar os dados a serem armazenados
Escolher estruturas apropriadas para representar
esses dados.
Para isso ...
Precisa se comunicar com todos os potenciais
usurios a fim de entender suas necessidades e
criar um projeto que as atenda.
Definem vises!
Atribuies do DA
Decidir quais informaes devem ser mantidas no
banco de dados;
Identificar as entidades de interesse para a empresa e
identificar as informaes a serem registradas sobre
essas entidades (Projeto Lgico ou conceitual)
Padronizam os nomes dos objetos criados no BD;
Gerenciam e auxiliam na definio das regras de
integridade;
Controlam a existncia de informaes
redundantes;
Trabalham de forma corporativa nos modelos de
dados da organizao;
Questo 05 - Ano: 2012 - FCC TST - Analista
Judicirio - Anlise de Sistemas
Quando as etapas de desenvolvimento de um banco de dados so executadas, espera-
se como resultado um repositrio que atenda as necessidades do usurio. Aps a
validao dos requisitos pela equipe de desenvolvimento, a tarefa transferida s
mos do administrador do banco de dados, o qual responsvel por
Cliente Cliente
Pedido
Pedido Pedido
Pedido
Produto
Oferecendo abstrao e flexibilidade
Banco de Dados Relacionais
Separa o armazenamento fsico dos dados de sua
representao conceitual
Fornece uma base matemtica para representao
e consulta dos dados.
1970 Sistemas relacionais experimentais
1980 SGBDs relacionais
Melhoria no processamento e otimizao de
consulta.
Bancos de dados mais complexos (O-O)
Final da decada de 80 Linguagens orientadas
a objetos
Necessidade de armazenar e compartilhar
objetos complexos e estruturados
BDOOs
Complexidade do modelo e a falta de um padro!
Conceitos de OO Relacionais
SGBDORs
Intercmbio de dados na Web (XML)
Web + HTML
Dados extraidos dinamicamente de diversos
SGBDs
XML combina conceitos dos modelos usados
nos sistemas de documentos com os conceitos
de modelagem de banco de dados.
Novas aplicaes de Banco de Dados
Aplicaes tinham sua prpria estrutura de
arquivos e dados
SGBDs possuem extees que do suporte s
necessidades especializadas de algumas
aplicaes
Aplicaes cientficas
Armazenamento e recuperao de imagens
Armazenamento e recuperao de videos
Minerao de dados
Apliaes espaciais (clima, mapas ...)
Aplicaes de sries temporis.
Problemas de manter essas aplicaes no MR
Estruturas de dados mais complexas eram
necessrias para modelar a aplicao do que a
representao relacional simples.
Novos tipos de dados eram necessrios alm dos
tipos numricos e alphanumricos.
Novas operaes e construtores de consulta
eram necessrios para manipular os novos tipos
de dados
Novas estruturas de armazenamento eram
necessrias para a pesquisa eficiente sobre os
novos tipos de dados.
Novas funcionalidades dos SGBDs
Incorporao de conceitos de BDOO aos
sistemas relacionais.
Novos mdulos!
Banco de dados de back-ends.
ERP = Enterprise Resource Planning
Consolida diversas reas funcionais dentro de uma
organizao.
CRM = Customer Relationship Managment
Funes de processamento de pedido, bem como
marketing e suporte ao cliente.
Big Data
CAP Theorem
NoSQL ou BigData
Prxima (atual) gerao de banco de dados
Aborda alguns dos pontos: ser no-relacional,
distribudo, de cdigo aberto e escalvel
horizontalmente.
A inteno original tem sido bancos de dados
modernos escalveis na/para web.
O movimento comeou no incio de 2009 e
est crescendo rapidamente.
NoSQL ou BigData
Caractersticas:
livre de esquema (schema-free),
suporte a replicao, API simples, consistncia
eventual / BASE (no ACID),
uma quantidade enorme de dados
Definio por produto e linguagem de
interface
Obter uma resposta rpida mais importante
do que obter uma resposta correta
Quando no usar um SGBD?
Consideraes sobre custos
Alto investimento inicial em hardware,
software e treinamento
A generalidade que um SGBD oferece para a
definio de processamento de dados
Esforo adicional para oferecer funes de
segurana, controle de concorrncia,
recuperao e integridade.
aconselhado usar arquivos
Aplicaes de dados simples e bem definidas,
para as quais no se espera muitas mudanas
Requisitos rigorosos de tempo real, para
alguns programas de aplicao, que no
podem ser atendidos devido as operaes
extras executadas pelo SGBD
Sistemas embarcados com capacidade de
armazenamento limitada, onde um SGBD no
seria apropriado.
Nenhum acesso de mltiplos usurios.
Modelo de dados, esquemas e
instncias
Objetivos de um SGBDs
Prover um ambiente que seja conveniente e
eficiente para recuperar e armazenar
informaes de Bancos de Dados
Abstrao de dados
Retirar da viso do usurio final informaes a
respeito da forma fsica de armazenamento dos
dados.
Simplifica a interao do usurio com o Sistema
Se refere a supresso de detalhes da organizao
e armazenamento dos dados.
Modelo de Dados
Uma coleo de conceitos que podem ser
usados para descrever a estrutura de um
banco de dados
Uma coleo de ferramentas conceituais para
Descrio de dados
Relacionamentos entre eles
A semntica dos dados
Restries de consistncia
Categorias de modelos de dados
Modelos de dados de alto nvel ou conceituais
Conceitos que so prximos ao modo como o usurio
ver os dados.
Modelo de dados representativos (ou de
implementao)
Ocultam detalhes de armazenamento de dados em
disco, mas podem ser implementados diretamente
em um sistema de computador.
Modelos de dados de baixo nvel ou fsicos
Conceitos que descrevem os detalhes de como os
dados so armazenados no computador, geralmente,
voltado para especialistas.
Categorias de modelos de dados
Conceituais
Alto nvel
Representativos
Implementao
Fsicos
Baixo nvel
Exemplos de modelos de dados
Modelo conceitual (baseado em objetos)
Modelo E-R entidades, atributos e
relacionamentos
Modelo representativo (baseados em registro)
Modelo relacional
Modelo de dados legados rede e o hierrquico.
Modelo fsico
Modelo unificador
Modelo de memria em frames
Modelos Lgicos (Silberchatz 4 Ed.)
Baseado em Registros
Hierrquico
Rede
Relacional
Baseado em Objetos
Entidade-relacionamento
Binrio
Infolgico
Funcional
Semntico
Orientado a objetos
Estrutura de um Banco de Dados (BD)
Instncia ou ocorrncias ou estado
Coleo de dados armazenados no Banco de
Dados em um determinado instante
Prprio banco de dados
Extenso!!
Esquema
o projeto geral do BD
Descrio do banco
Inteno, conotao!!
Questo 06 CESPE SEPRO - 2004
Uma caracterstica fundamental da abordagem de
banco de dados a abstrao de dados. A respeito
desse conceito, julgue o item que se segue.
[1] Os dados em um banco de dados em um
particular momento so denominados instncia do
banco de dados (ou estado do banco de dados).
Muitas instncias de banco de dados podem
corresponder a um particular esquema de banco de
dados. Cada vez que um registro inserido ou
excludo, ou se altera o valor de um item de dados,
uma instncia do banco de dados alterada,
tornando-se uma nova instncia.
Arquitetura de trs camadas e
independncia de dados
Padro ANSI-SPARC
A ideia bsica consistia na definio de nveis
para a definio de esquemas associados a um
modelo de dados
Esquemas externos
ou vises do usurio
Independncia de
dados lgica
Independncia de
dados fsica
Independncia de Dados
A capacidade de alterar o esquema em um
nvel do sistemas de banco de dados sem
alterar o esquema no nvel mais alto ... ou ...
Habilidade de modificar a definio de um
esquema em um nvel sem afetar a definio
do esquema em um nvel mais alto
Independncia fsica de dados
Nvel Lgico
Administradores de banco de dados
(quais informaes devem pertencer ao BD?)
Nvel Fsico
Estruturas de dados complexas de nvel baixo so descritas em detalhes
(como os dados so de FATO armazenados?)
Esquemas: Independncia de
Esquema conceitual dados:
Esquema lgico Independncia fsica
Esquema fsico Independncia lgica
MODELAGEM
Perguntas importantes!! :P
1) Porque devemos modelar?
2) O que significa modelar?
3) preciso mesmo modelar?
4) Como eu devo fazer isso?
5) O que vai ser representado?
6) Para que serve o modelo aps gerado?
Antes de pensar em dados ... Vamos falar de Prdios
Validando e testando
O modelo ...
No o objeto real mas uma REPRESENTAO
com maior ou menor fidelidade
Perceber
Entender
um meio
Antecipar
Substituir
O objeto observado
Coisa, pessoa, ambiente, conceito
Concreto(real) ou imaginrio
o ponto de partida para o processo de
modelagem
MODELAGEM
GENRICOS
CONCEITUAL
MODELO DE DADOS
ESPECFICO
DE SGBD MODELAGEM
LGICA
Modelo de Dados
Componentes
Uma coleo de tipos de objetos - blocos bsicos
de construo de modelos (Estruturas)
Ex: Relaes, Domnio (Modelo Relacional)
Uma coleo de operadores - meio de manipular
e atualizar os tipos de objetos
Ex: lgebra Relacional (Modelo Relacional)
Uma coleo de regras de integridade -
restringem o conjunto de estados vlidos dos
tipos de objetos (contedo)
Ex: Valores de chave primria devem ser nicos e no
nulos (Modelo Relacional)
Nveis de Modelagem
O padro bsico de definio e especificao
de parmetros e elementos que compunham
um banco de dados estabelecia o uso de
schemas (esquemas).
Aspectos conceituais
Aspectos lgicos
Aspectos fsicos
Esquemas unidades de especificao que
servem de mapeamento para as estruturas de
um banco de dados.
Questo 07 - CESGRANRIO - 2014 - Banco da
Amaznia - Tcnico Cientfico - Banco de Dados
Diagrama simplificado: Fase do projeto de BD
Projeto de Banco de Dados
Levantamento e Requisitos de dados
anlise de Requisitos de
processamento
requisitos
Escolha do SGBD
Projeto do
Esquema Interno
Projeto FSICO (dependente do
SGBD)
Implementao e
sintonizao do
sistema
MODELO ENTIDADE-RELACIONAMENTO
Modelo Entidade-Relacionamento
Proposto por Peter Chen em maro de 1976
The Entity-Relationship Model: Toward the unified
view of data
Modelo E-R
A abordagem composta por uma tcnica de
diagramao e um conjunto de conceitos.
Conjunto de Relacionamentos
Grupo de relacionamentos do mesmo tipo
Ex: Emprega (Departamento X Funcionrio)
Corresponde aos verbos na descrio da
anlise conceitual
Modelo Entidade-Relacionamento (E/R)
Atributos
Toda propriedade de uma entidade ou
relacionamento
Ex: Nome, Endereo e Salrio so propriedades de
Funcionrio
Chave - Atributo(s) Determinante(s)
Conjunto de atributos que determina unicamente uma
ocorrncia de uma entidade
Ex: CDIGO Disciplina
MATRCULA Funcionrio
Correspondem aos complementos na
descrio da anlise conceitual
Exemplo de um diagrama
Atributos
Simples(atmicos)
No so divisveis
Ex: Estado, Cidade
Compostos
Podem ser divididos em partes menores, que
representam a maioria dos atributos bsicos com
significados independentes.
Ex: Endereo
Rua Santana, 100, Apto 601 - Recife - PE
Atributos
Monovalorados
Possuem apenas um valor para uma dada
entidade
Ex: Idade
Multivalorados
Possuem mais de um valor para uma dada
entidade
Ex: Telefones (88787981,34141242,46578741)
Atributos
Armazenados
Aquele que efetivamente gravado no Banco de
Dados
Derivados
Aquele que pode ser obtido a partir de um dado
armazenado
Ex: Idade (Data de nascimento)
Atributos
Valores nulos (Nulls)
Alguns atributos podem ter valores no aplicveis
ou desconhecidos para algumas situaes
Ex: NmeroDoApartamento (casa)
Ex: CadastroDePessoa (sem telefone)
Atributos complexos
Atributos aninhados de forma arbitraria.
Ex: {EnderecoFone({Fone(codigoArea, Num)},
Endereco(EnderecoRua(Num, Rua, Apto),Cidade,
Estado, CEP)}
Classificao dos atributos: Finalidade
Descritivo
Nominativo
Referencial
DESCRITIVO
REFERENCIAL
NOMINATIVO
Entidades
Atributos-chave restrio de unicidade em
atributos
Usados para identificar cada entidade
univocamente.
EMPRESA
EMPREGADO
Nome do tipo entidade (Nome, Sede Adm,
(Nome, Idade, Salario)
Presidente)
CONJUNTO DE (Thiago, 29, 90k) (Itnerante, BSB, Prof2)
ENTIDADE: (Prof2, 28, 100k) (ProvasDeTi, Ceara,
(EXTENSO) (Prof3, 32, 200k) Presidente01)
Conjunto de valores(Domnio) de Atributos
Cada atributo esta associado a um conjunto
de valores vlidos
O conjunto de relacionamentos R um
conjunto de instncias de relacionamento ri,
em que cada ri associa-se a n entidades
individuais (e1, e2, ..., e3)
Instncias do conjunto de relacionamento
TRABALHA_PARA
Grau de Relacionamento
Grau de um tipo Relacionamento
o nmero de entidades que participam desse
relacionamento
Grau 2 - Binrio, Grau 3 - Ternrio
Nomes de Papeis
Cada tipo entidade que participa de um tipo
relacionamento executa um papel particular.
FUNCIONARIO PROJETO
N
M
ALOCADO
FUNO
Entidade associativa e Agregao
FUNCIONARIO PROJETO
N
M
ALOCADO
FUNO
Relacionamentos Independentes
PROGRAMA CANAL DE TV
EXIBIDO
PATROCINADO FORNECEDOR
Relacionamentos Contingentes
NORMA
PROCESSO SEGUE
ISSO-9000
CRITRIOS
SEGUE
SEGURANA
PROJETO ENGENHEIRO
ALOCADO
ATENDE REGIO
Relacionamentos Mutuamente Exclusivos
PAGA
IMPOSTO
INSTITUIO
OBRA ESTADO
CUSTEADA
CUSTEADA
MUNICIPIO
CUSTEADA
EMPREITERA
MODELO RELACIONAL
Modelo Relacional
Foi introduzido por Ted Codd em um artigo
clssico (1970)
Atraiu ateno imediata devido a sua
simplicidade e base matemtica.
Baseado na teoria de conjuntos e lgica de
predicados de primeira ordem.
Sucede os modelos de rede e hierrquico
(Sistemas de banco de dados legados).
Modelo Relacional
Cada linha representa um fato
correspondente a uma entidade ou um
relacionamento do mundo real.
O nome das tabelas e os nomes das colunas
so usados para ajudar na interpretao do
significado dos valores em cada linha.
Conceitos do modelo relacional (terminologia)
Banco de dados Coleo de relaes
Relao Uma tabela
Tupla Linha da tabela
Atributo Uma coluna
Domnio Tipos de valores que podem
aparecer em uma coluna.
Formalizao
Instncias
Caractersticas das relaes
Ordenao de tuplas em uma relao
Ordem dos valores dentro de uma tupla
Valores e NULLs nas tuplas
Interpretao (significado) de uma relao
Exemplo
Esquemas de um Banco de Dados Relacional
Operaes Projeo
Produto
Cartesiano
Modelo Relacional
LGEBRA RELACIONAL
lgebra relacional
uma linguagem de consultas procedural
Binria
Select Unio
Project Diferena
Rename Produto
cartesiano
Outras operaes
Set intersection
Joins:
Natural join, Theta Join, Equijoin,
Left outer Join, right outer join, full outer join, semi join
Division
Assignment
A operao seleo
Seleciona tuplas que satisfaam a um
determinado predicado
Letra grega minscula sigma ()
<predicado>(nome da relao)
Predicado: atributo + operador + valor
Operadores: =, , <, , >,
Conectivos: ou(v) e e()
A operao projeo
Permite produzir uma relao apenas com os
atributos que desejamos
<nome_atributos>(nome da relao)
A operao projeo tem como resultado os
atributos de uma tabela ( definidos para a
projeo ) sem redundncia.
Seleo e Projeo Juntas
<nome_atributos>(<predicado>(nome da relao))
Rename
Utilidade
Para unificar em um nico conjunto
Listar todos os nomes de escolas e estudantes
Para reduzir ambiguidade em selfjoin
Rename
O resultado de uma expresso em lgebra
relacional no possuir um nome que possa ser
referenciado.
Saldo
Quem resolve esse problema?! 500
O operador rename (x<A1, A2, ... ,An >(E)) 700
A expresso (E) tem o nome x 350
750
Exemplo
Saldo <saldo>(conta) - conta.saldo(conta.saldo < d.saldo(conta x d (conta)))
500 Saldo
700 900
350
750
900
Rename para atributos
end_pedrosa<rua,cidade>(rua_cliente,cidade_cliente(nome_ciente = pedrosa(cliente)))
cliente.nome_cliente(
cliente.rua_cliente = end_pedrosa.rua v cliente.cidade_cliente = end_pedrosa.cidade (cliente x
end_pedrosa<rua,cidade>( rua_cliente,cidade_cliente(nome_ciente =
pedrosa(cliente)))
Unio e Subtrao(Diferena)
Unio unir duas relaes r e s que possuam
o mesmo nmero de atributos e os atributos
esto definidos dentro do mesmo domnio.
<nome_cliente>(depositante) U <nome_cliente>(devedor)
NORMALIZAO
Critrios para avaliar a qualidade um esquema
Semntica dos atributos
A,B,C B
A,B,C D
Clausura
Formalmente, o conjunto de todas as
dependncias de F, bem como todas as
dependncias que podem ser inferidas para F,
chamado de clausura de F, que denotada
por F+
Regras de inferncia
Regras de inferncia de Armstrong:
RI1. (Reflexiva) Se Y subconjunto de X, ento
X Y (Isso tambm vlido quando X=Y)
RI2. (Aumentativa) Se X Y, ento XZ YZ
(Notao: XZ significa X U Z)
RI3. (Transitiva) Se X Y e Y Z, ento X Z
Outras regras de Inferncia
RI4 (Decomposio) Se X YZ, ento X Y e X Z
RI5 (Aditiva) Se X Y e X Z, ento X YZ
RI6 (Pseudotransitiva) Se X Y e WY Z, ento
WX Z
Normalizao
A normalizao de dados uma tcnica de
decomposio utilizada no projeto de banco
de dados com objetivo de prover um
armazenamento consistente.
No deve existir
Dependncia Transitiva
3 Forma Normal
Definio mais geral da terceira forma normal.
(a) X superchave de R; ou
(b) A atributo primrio de R;
Forma Normal de Boyce-Codd
Uma relao est na Forma Normal de
Boyce/Codd (BCNF) se todo determinante
uma chave candidata
Dependncia funcional?
BCNF?
Good design?
SSN cName
SSN hobby
SSN cName Hobby
123 Stanford Trumpet
123 Berkely Tennis
123 Stanford Tennis
123 Berkeley Trumpet
Multi-Dependncia Funcional
Dada uma relao R = {A1, A2, ... , An} se um
conjunto de atributos A C R restringe os valores
possveis para os atributos de outro conjunto B C
R, ento diz-se que B multi-dependente de A,
ou que A multi-determina B, e nota-se: A B.
A multi-dependncia funcional ocorre quando na
relao existem atributos multivalorados, que por
fora da 1 FN precisam ser desmembrados em
mltiplas ocorrncias de tupla que contm
apenas um dos valores para aquele atributo.
Dependncia Multivalorada (DMV)
Dada uma relao R com atributos A, B, C,
existe uma dependncia multivalorada do
atributo A no atributo B (A B) se um
valor de A associado a uma coleo
especfica de valores de B, independente de
quaisquer valores de C.
SSN cName Hobby
123 Stanford Trumpet
123 Berkely Tennis
123 Stanford Tennis
123 Berkeley Trumpet
Quarta Forma Normal
Sempre que houver a ocorrncia de um atributo multi-
valorado ocorrer a multi-dependncia funcional.
Se houver duas ou mais dependncias multi-funcionais
independentes entre si na mesma relao ento ocorrero
anomalias de atualizao na relao.
Isso deve ser evitado.
Assim, o que procura-se evitar a chamada multi-
dependncia funcional no trivial.
A multi-dependencia funcional trivial definida como:
Numa relao R, a multi-dependncia A B dita
trivial:
se B for subconjunto de A ou
se A U B = R.
Quarta Forma Normal
Em outras palavras, de uma maneira mais
intuitiva, pode-se dizer que uma multi
dependncia funcional no trivial ocorre
sempre que houver mais do que um atributo
proveniente de um atributo multivalorado na
mesma relao.
Com esses conceitos possvel agora definir-
se a Quarta Forma Normal.
Definio de 4FN de acordo com Navathe
"Um esquema de relao R est na 4FN com
relao a um conjunto de dependncias
funcionais ou multivaloradas F se, para toda
dependncia multivalorada no-trivial XY
em F+, X for uma superchave de R."
Mais um exemplo pra fixar!
Nome Projeto Dependente
Nome Projeto
Jos X Vinicius
Jose X
Jos Y Ana
Jose Y
Jos X Ana
Joo W
Jos Y Vinicius
Joo X
Joo W Flavia
Joo Y
Joo X Flavia
Joo Y Flavia
Nome Dependente
Joo W Thiago
Jose Vinicius
Joo X Thiago
Jose Ana
Joo Y Thiago
Joo Flavia
Joo W Pedro
Joo Thiago
Joo X Pedro
Joo Pedro
Joo Y Pedro
Quinta Forma Normal
Existe uma outra forma normal, denominada
Quinta Forma Normal, que tambm advm
das dependncias multivaloradas que
ocorrem entre os atributos de uma relao.
A verificao da 5 FN somente precisa ser
empreendido em relaes que tenham
3 ou mais atributos como parte da chave.
Quinta Forma Normal
A 5 FN ocorre quando existe uma multi-
dependncia cclica entre pelo menos 3
conjunto de atributos da chave da relao.
A 5 FN importante do ponto de vista que a
decomposio de uma relao em um
conjunto de outras relaes (devido
principalmente a necessidades de
normalizao), quando envolve multi-
dependncias cclicas implicam na perda de
informaes devido dependncia de juno.
Dependncia de Juno
Uma dependncia de juno (DJ), denotada
por DJ (R1, R2, ... , Rn), especificada em um
esquema de relao R, especifica uma
restrio nos estados r de R.
A restrio diz que todo estado legal r de R
deveria ter uma decomposio de juno no
aditiva para R1, R2, ... , Rn, ou seja, para todo
r tenham
*(R1(r), R2(r), ..., Rn(r)) = r
Quinta forma normal
Um esquema de relao R est na quinta
forma normal (5 FN) em relao a um
conjunto F de dependncias funcionais,
multivaloradas e de juno se, para cada
dependncia de juno no trivial DJ (R1, R2,
... , Rn) de F+ (ou seja implicada por F), todo Ri
for uma superchave de R.
Exemplo da 5FN
1 Forma Normal
2 Forma Normal
3 Forma Normal
FNBC
4 Forma Normal
5 Forma Normal
Questo 13b - CESPE - 2014 - TJ-SE - Analista
Judicirio - Banco de Dados
Julgue os seguintes itens, acerca de projetos,
administrao de usurios e acessos de bancos
de dados relacionais.
[95] Se uma varivel de relao estiver na quinta
forma normal, no ser possvel realizar
nenhuma decomposio sem haver perda de
informao.
Complementos
Linguagens do SGBD
O ambiente do sistema de banco de dados
Classificao dos sistemas gerenciadores de BD
Linguagens do SGBD
Veremos mais sobre isso em SQL
Linguagens do SGBD
DDL Data Definition Language
Usada pelo DBA e pelos projetistas de banco de dados
para definir os esquemas(conceitual e interno).
SDL - Storage Definition Language
SGBD possui uma separao clara entre os nveis
conceitual e interno (DDL concetuial)
Especifica o esquema interno
No existe na maioria dos SGBDs como linguagem)
VDL View Definition Language
Vises do usurio e seus mapeamentos ao esquema
conceitual.
Linguagens do SGBD
DML Data Manipulation Language
Usada para inserir, remover, atualizar e recuperar
os dados.
Nos SGBDs
Uma nica linguagem: DML + DDL + VDL ...
... e ainda as instrues para especificao de
restrio, evoluo de esquema ...
SDL ... Foi removida de SQL
DML - Procedural ou no procedural
Alto Nvel - no-procedural - SQL
Especificam operaes de banco de dados
complexas de forma concisa.
Orientada por conjuntos
Declarativas (quais dados) SQL
Linguagem de consulta
Baixo Nvel procedural DL/1
Precisam ser identificadas dentro do programa, de
modo que possam ser extradas por um pr-
compilador e processadas por um SGBD
Sublinguagem de dados
Interfaces de SGBDs
Para usurios comuns ou paramtricos,
normalmente existem interfaces amigveis
Baseadas em menu para clientes Web
Baseadas em formulrios
Grficas com o usurios
De linguagem natural
Entrada e sada de voz
Para usurio paramtricos
Para o DBA
O ambiente do sistema de
banco de dados
Mdulos e componentes de um SGBD
Interfaces
Detalhes
internos
Banco de Dados e o catlogo do SGBD
So armazenados em
disco
Controles feito pelo
SO
Gerenciador de buffer
Desempenho
Gerenciador de dados armazenados
Controla o acesso aos
dados independente de
onde eles estejam.
BD ou Catlogo
Usurios: BDAs
Interfaces interativas
para formular consultas
Instrues DDL
definem o BD e
realizam ajustes
Compilador DDL
processa as definies e
armazena no catlogo
Usurios: Usurios Casuais
Interfaces interativas para
formular consultas
Essa interao
chamada: Consulta
Interativa
Compilador de consulta
avalia e valida a sintaxe
Compila em formato
interno
Otimizador de consulta
Preocupa-se com o
rearranjo e a possvel
reordenao de operaes
Usurios: Programadores
Criam programas
usando linguagem
hospedeira
Usurios: Usurios Paramtricos
Realizam a entrada dos
dados fornecendo
parmetros para
transaes
predefinidas.
Processador de BD em tempo de execuo
Executa
Comandos privilegiados
Planos de consultas
Transaes programadas
com parmetros
Aspectos da
transferncia dos dados
Gerenciamento de
buffer da memria
principal
Sistema de controle de
concorrncia/backup/recuperao
Integrados com o
PBDTE para fins de
gerenciamento de
transaes.
Utilitrios do Sistema de banco de dados
Ajudam o DBA a gerenciar o sistema.
Tem basicamente as seguintes funes
Carga
Backup
Reorganizao do armazenamento do banco de
dados
Monitoramento de desempenho
Classificao dos sistemas
gerenciadores de BD
Classificao dos SGBD
Em relao ao modelo de dados
Relacional
Objetos
Objeto-relacional
Hierrquicos (IMS da IBM, System 2K da SAS Inc,
TDMS)
Rede (IDMs da Cullinet, DMS 1100 da Univac,
IMAGE da HP, VAX-SGBD da Digital, SUPRA da
Cincom)
...
Classificao dos SGBD
Nmero de Usurios
Monousurios um usurio por vez!
Multiusurios mltiplos usurios simultneos
Nmero de locais sobre os quais o BD est
distribudo.
Centralizados um nico computador
Distribudo
Homogneos mesmo SGBD em todos os locais
Heterogneos SGBDs diferentes.
Classificao dos SGBD
Custo
SGBDs de cdigo aberto (gratuito)
MySQL e PostgreSQL
SGBDs proprietrios
Oracle, DB2, SQL Server, Sybase ...
Quanto a o uso
Uso Geral
Uso Especial
OUTROS MODELOS CONCEITUAIS
Comentrios: Paulo Cougo
Devemos estar preparado, durante nossa
atuao na rea de modelagem, para nos
defrontarmos com diferentes notaes e
metodologias.
*Parent Entity
Identifying Relationship
Relationship Name
Entity-B
Key-Attribute-A (FK)
Key-Attribute-B
**Child Entity
*Parent Entity
Mandatory Non-Identifying
Relationship
Relationship Name
Entity-B
Key-Attribute-B
*Parent Entity
Optional Non-Identifying
Relationship
Relationship Name
Entity-B
Key-Attribute-B
Anotao sobre a
Um ou muitos cardinalidade (n)
De n at m
Exatamente <n> n-m
Relacionamentos
IDEF1X - Atributos
No existe uma notao grfica especfica
para denotar os atributos e suas funes
(chave primria, estrangeira, ndices, etc).
Alocao dos atributos dentro da entidade.
Chave primria seguido por PK
Chave estrangeira seguido por FK
Obs: Identificao de PK e FK um indcio de
uma tcnica voltara ao processo de
modelagem lgica e no de modelagem
conceitual
IDEF1X Subtipos e supertipos
Representa estruturas de generalizao-
especializao.
Completa Incompleta
Exclusiva
Inclusiva
BACHMAN
A notao hoje atribuda a Bachman,
conhecida como notao de setas uma
derivao da diagramao original proposto
por Charles Bachman para representao de
estruturas de dados.
Nela existiam 2 elementos:
Estruturas de dados
Relacionamentos existentes entre elas
BACHMAN - Notao de setas
Para identificar os tipos de associatividade
entre as estruturas de dados eram usados
apenas dois tipos de representao
A cardinalidade 1 era representada por uma linha
sem terminao
A cardinalidade N era representada por uma linha
com uma ponta de seta.
BACHMAN - Notao de setas
O grande diferencial dessa notao est na
representao grfica da cardinalidade dos
relacionamentos.
JAMES MARTIN
A notao conhecida como p-de-galinha, ou
no original Crows foot, no abrange todo um
conjunto de elementos grficos para
representao de modelo de dados.
Trata somente da representao utilizada para
a representao dos relacionamentos.
James Martin incorporou essa notao junto a
outros elementos e disseminou, atravs dos
seus trabalhos sobre Engenharia da
Informao.
Notao p-de-galinha
P-de-galinha:
Entidades, Atributos e Relacionamentos
P-de-galinha:
Estrutura de Generalizao-Especializao
Questo 14 - CESGRANRIO - 2014 - Banco da
Amaznia - Tcnico Cientfico - Banco de Dados
Questo 14 - CESGRANRIO - 2014 - Banco da
Amaznia - Tcnico Cientfico - Banco de Dados
Resumo - Navathe Apndice A
Notaes diagramticas opcionais para modelos E-R
Resumo - Navathe Apndice A
Notaes diagramticas opcionais para
modelos E-R
Perguntas
Valeu Galera!! :P
Banco de dados
Mdulo I Introduo a Banco de Dados
Curso Preparatrio - ITnerante
Prof. Thiago Cavalcanti
Memorex
Resumo do curso BD01
Uma rpida reviso do contedo
Conceitos Bsicos
Dado
Banco de dados
Dicionrio
de Dados
Atores
Esquema
x
Instncia
Arquitetura trs esquemas (ANSI/SPARC)
Alterar o esquema
Esquemas externos
ou vises do usurio
Independncia de
dados lgica
Independncia de
dados fsica
Resumo Importante
Nvel de viso
Esquemas: Independncia de
Esquema conceitual dados:
Esquema lgico Independncia fsica
Esquema fsico Independncia lgica
Modelagem Entidade Relacionamento
Modelagem Entidade Relacionamento
Conceitos do modelo relacional (terminologia)
Banco de dados Coleo de relaes
Relao Uma tabela
Tupla Linha da tabela
Atributo Uma coluna
Domnio Tipos de valores que podem
aparecer em uma coluna.
Restries de integridade (SGBD)
Integridade de Domnio (dom(A))
Integridade de Chave (Unicidade)
Integridade de Vazio (def if(x!=null?x==null))
Integridade de Entidade (PK != null)
Integridade Referencial (FK == PK(Chave
Candidata) || FK == null)
Integridade Semntica (assertions ou triggers)
lgebra relacional - Operaes fundamentais
Unria
Binria
Select Unio
Project Diferena
Rename Produto
cartesiano
Eliminar atributos no atmicos
1 Forma Normal
2 Forma Normal
3 Forma Normal
FNBC
4 Forma Normal
5 Forma Normal
Mdulos e componentes de um SGBD
Interfaces
Detalhes
internos
Memorex
Resumo do curso BD01
Uma rpida reviso do contedo