Anda di halaman 1dari 263

Banco de dados

Mdulo I Introduo a Banco de Dados


Curso Preparatrio - ITnerante
Prof. Thiago Cavalcanti
Novidades
Artigos
Meu blog (Itnerante)
Simulados
Resoluo das questes
Memorex
Questes Discursivas
Bibliografia
Ementa
Banco de Dados
Conceitos Bsicos
Modelagem Conceitual
Entidade Relacionamento
Outras notaes grficas
Modelo de Dados Relacional
lgebra relacional
Normalizao
Tire suas dvidas
rcthiago@gmail.com
www.itnerante.com.br
Lista: timasters@yahoogroups.com.br
INTRODUO A BANCO DE DADOS
Dados
Dados - fatos conhecidos que podem ser
registrados e possuem significado implcito.
Nome, Telefone, Endereo
Banco de Dados
Banco de Dados (BD) - coleo de dados
relacionados
Representa algum aspecto do mundo real:
Universe of Discourse ou mini-mundo
logicamente coerente com algum significado
inerente
Possui um grupo de usurios e aplicaes
Conceito de Banco de Dados
Banco de Dados conjunto de dados
estruturados que so confiveis, coerentes e
compartilhados por usurios que tm
necessidades de informaes diferentes.
Conceito de SGBDs
Sistema de Gerenciamento
de Banco de Dados
Um conjunto de programas
que permitem armazenar,
modificar e extrair
informaes de um banco de
dados
Sistemas de Banco de Dados
Consiste em uma coleo de dados inter-
relacionados e de um conjunto de programas
para acess-los

Contm informaes sobre um


Coleo de empreendimento particular
Dados

Banco de dados
Arquitetura de SBD

Sistemas de Banco de dados


Programas aplicativos / Sistema de gerenciamento de banco de dados

Processador/otimizador Software para


de consultas acessar os dados
consultas

Dados
Metadados
armazenados

Banco de dados
Sistema de Gerenciamento de Banco de Dados

Descrever/Definir

Armazenar/Construir

Conjunto de programas Tratar

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

a) intermediar a integrao entre a equipe de desenvolvimento de programas, a


equipe de projeto, os usurios finais e a concepo do banco de dados. Faz o
papel de gestor, garantindo que as aes de integrao sejam executadas.
b) gerir os possveis problemas relacionados aos acessos e permisses dos bancos
de dados. O suporte do administrador de banco de dados equipe de
desenvolvimento deve ser restrito.
c) cuidar do processo de lapidao do modelo do banco de dados, verificando os
possveis erros de estrutura. O administrador do banco deve tomar decises
sobre a construo das aplicaes que acessam o banco administrado.
d) preparar a infraestrutura necessria para o banco de dados ser disponibilizado,
garantindo o funcionamento, segurana, integridade e escalabilidade.
e) garantir a integridade das aplicaes que acessaro o banco de dados em
questo, alm de garantir o funcionamento e a segurana do banco, ou seja,
administrar as aplicaes do usurio final no banco de dados.
Usurios finais
Pessoas cujas funes exigem acesso ao BD
para consulta, atualizaes e gerao de
relatrios.
So divididos em:
Casuais
Iniciantes ou paramtricos
Sofisticados
Isolados
Analista de Sistemas e programadores
Analistas de sistemas Identificam as
necessidades dos usurios finais,
especialmente os iniciantes e paramtricos, e
definem as especificaes das transaes
padro que atendam a elas.
Programadores implementam essas
especificaes como programas; depois
testam, depuram, documentam e mantm
essas transaes programadas.
Trabalhadores dos bastidores
Trabalham para manter o ambiente do
Sistema de Banco de Dados.
Projetistas e implementadores de Sistemas de
SGBDs
Desenvolvedores de ferramentas
Operadores e pessoal de manuteno (Suporte)
Discursiva 01 Dep. Nacional de Infraestrutura de
Transportes - Concurso Pblico 2006
Desenvolver um texto em torno de 30 a 35 linhas sobre o tema:
Descrio das vantagens da abordagem de banco de dados, da
arquitetura de sistemas de banco de dados, das atribuies do
administrador de banco de dados (DBA) e do administrador de dados,
das principais funes e componentes de um sistema de
gerenciamento de banco de dados (SGBD).
O texto dever ser apresentado em pargrafos, sendo que, para efeito
de avaliao, devero ser desenvolvidas referncias:
a) s vantagens especficas que surgem da noo de controle
centralizado;
b) aos nveis da arquitetura com sua percepo pelo usurio do banco
de dados;
c) s principais atribuies do DBA e do administrador de dados;
d) s principais funes e componentes de um SGBD.
UMA BREVE HISTRIA DAS
APLICAES DE BD
Sistemas hierquico e de rede
Registros com estruturas semelhantes
Muitos tipos de registros e muitos
relacionamentos entre eles
No ofereciam capacidades suficientes para:
Abstrao de dados
Independncia de dados e programas
Mainframes: Grandes e caros!
3 paradgimas principais: Hierrquico, Rede e
Arquivos invertidos
Paradigmas (Modelos)

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

Cada um desses nveis deveria isolar as


caractersticas especficas que lhe diziam
respeito em um schema prprio
Padro ANSI-SPARK

Arquitetura de trs nveis de schema


Arquitetura trs esquemas (ANSI/SPARC)
Alterar o esquema

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

Independncia lgica de dados


Abstrao de Dados
Nvel de viso
Viso 1 Viso 2 ... Viso n

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?)

Silberchatz, cap. 1, fig 1.1. Os trs nveis de abstrao de dados


Resumo Importante
Nvel de viso

Viso 1 Viso 2 ... Viso n Abstrao dos Modelo de dados:


dados: Lgico com Base em
Nvel Lgico
Nvel de viso Objetos
Administradores de banco de dados
(quais informaes devem pertencer ao BD?)
Nvel lgico Lgico com Base em
Nvel fsico Registros
Nvel Fsico
Estruturas de dados complexas de nvel baixo so descritas em detalhes
Fsico
(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

Temos que modelar o mundo


observado, seja ele real ou imaginrio.
Modelagem
Transformar aspectos do mundo real em um
modelo de dados formal

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

Projeto Projeto do Esquema Conceitual


CONCEITUAL do (independente de SGBD)
banco de dados

Escolha do SGBD

Mapeamento do Projeto do Esquema Lgico e


Modelo de Dados de Vises Conceitual
(Projeto LGICO) (dependente de 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.

A tcnica um meio de representao dos


prprios conceitos por ela manipulados.

Entidades, Relacionamentos e Atributos


Vamos a eles!!! :P
Modelo Entidade-Relacionamento (E/R)
Entidade
Representao abstrata dos objetos do mundo
real - algo sobre que dados so armazenados (um
Ser, um Fato)
Ex.: Funcionrio, Departamento
Conjunto de Entidades (Entity set)
Grupos de entidades com caractersticas similares
Ex.: Conjunto de Departamentos da Empresa
Corresponde aos substantivos na descrio da
anlise conceitual
Modelo Entidade-Relacionamento (E/R)
Relacionamento
Associao entre objetos dos sistema
Ex: Departamento D1 Emprega o Funcionrio F3

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

No so representados nos diagramas ER

Utiliza-se os tipos bsicos em etapas


posteriores do processo de criao de BD.
Inteiros, strings, booleano, real, tipo enumerado,
data hora ...
Tipo Relacionamento, Conjunto e Instncias
Um tipo relacionamento R entre n tipos
entidade E1, E2, E3, ... , En define um
conjunto de associaes ou conjunto de
relacionamentos entre essas entidades.

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.

O nome do papel significa o papel que uma


entidade participante de um tipo entidade
executa em cada instncia de relacionamento
Ajuda a explicar o significado
Ex: Empregado trabalhador
Departamento - empregador
Relacionamentos recursivos
Quando um tipo entidade participa mais de
uma vez de um relacionamento em papeis
diferentes.
Questo 08 - CESGRANRIO - 2014 - CEFET-RJ -
Analista de Tecnologia da Informao
Uma das caractersticas do Modelo de Entidade e
Relacionamentos que
(A) cada domnio de possveis valores possui um
atributo.
(B) dois conjuntos de entidades so sempre
disjuntos.
(C) toda chave candidata uma chave primria.
(D) todos os atributos em determinado conjunto de
atributos tm o mesmo conjunto de entidades.
(E) um conjunto de relacionamentos pode ser
considerado um conjunto de n-tuplas.
Razo de cardinalidade
Para um relacionamento binrio especifica o
nmero mximo de instncias de
relacionamento em que uma entidade pode
participar.
Pode ser: 1:1, 1:N, N:1 e M:N
Restrio de participao
Restrio de participao - determina se a
existncia de uma entidade depende de sua
existncia relacionada outra entidade, pelo
tipo relacionamento.
Determina o nmero mnimo de instncias de
relacionamento em que cada entidade pode
participar.
Restrio de cardinalidade mnima
Total ou parcial
Dependncias de existncia
Total: Dependncia de existncia
Nos diagramas ER, a participao total exibida como uma linha
dupla conectada ao tipo de entidade participante do relacionamento.
Parcial
Representada por uma linha nica no diagrama ER
(1,n) (0,1)
Condicionalidade Carro Cliente

Relacionamento Condicional (Parcial)


Permitem uma condio (Sim/No) para que as instncias
de uma entidade estejam relacionada uma com as outras
Possibilita que haja algum fator para que ocorra o
relacionamento
Ex: Um Veiculo pode existir como veiculo em uma loja de
carros e no ter um cliente associado a ele.
Relacionamento Incondicional (Total)
No h condio para que ocorra
Obriga todas as instncias de uma entidade estarem
relacionadas com as instncias da outra entidade
Ex: Um cliente deve comprar veculos em uma loja de
carros para existir como cliente da loja.
Tipo Entidade Fraca
No possui seus prprios atributos-chave.
So identificadas por estarem relacionadas a
entidades especficas de outro tipo entidade
Tipo entidade identificador/proprietria
Chamamos o tipo relacionamento entre a
entidade fraca e seu tipo proprietrio de
relacionamento identificador.
Diagrama E-R (Reviso)
Diagrama E-R (Reviso)
Herana e Especializao/Generalizao
Herana atributos de entidade de nvel
superior so herdados pelos conjuntos de
entidades de nvel inferior
Na prtica a generalizao simplesmente o
inverso da especializao.
Herana e Especializao
Questo 09 - FJG - RIO - 2014 - CMRJ - AL -
Desenvolvimento e Manuteno de Programas
Revendo o diagrama!
Relacionamento ternrio

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

PRODUTO ISENTO DECRETO LEI

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

Diagrama para o esquema do


Banco de dados relacional EMPRESA
Um estado de um BD relacional
Restries de integridade (SGBD)
As restries de integridade resguardam o BD
contra danos acidentais, assegurando que
mudanas no resultem na perda da
consistncia dos dados.
Integridade de Domnio
Integridade de Chave
Integridade de Vazio
Integridade de Entidade
Integridade Referencial
Integridade Semntica
Integridade de Domnio
Restries de domnio
Mais elementares formas de restrio de
integridade
Tipo do atributo
possvel definir um domnio para um atributo
restringindo seus valores
X inteiro x >= 70 e x <= 100
Tipo_Conta string tipo_Conta um dos valores do
conjunto (Corrente, Poupana, Investimento)
Integridade de Chave
Garante que as tuplas de uma relao sejam
nicas.
O valor de um atributo chave pode ser usado
para identificar exclusivamente cada tupla na
relao.
Em geral, um esquema de relao pode ter
mais de uma chave, neste caso cada uma das
chaves chamada de chave candidata.
Integridade de Vazio
A restrio sobre valores NULL especifica se
valores NULLs sero aceitos.
Especifica se os campos de uma coluna podem
ou no ser vazios.
Integridade de Entidade
A restrio de integridade afirma que nenhum valor
de chave primria pode ser NULL.
Estabelece que nenhum valor de chave
primria pode ser null.
O valor da chave primria usado para identificar
as tuplas de uma relao
Null no identifica!
Integridade Referencial
Classificada entre duas relaes
Usada para manter a consistncia entre as
tuplas nas duas relaes.
Uma tupla(R1) deve se referir a um tupla existente
(R2) - Ex: Empregado (DNO)
Integridade Semntica
especificada pelas regras de negcio, por
exemplo, o salrio de um funcionrio no
deve ser maior que o salrio de seu chefe.
Essas restries podem ser especificadas na
aplicao que se comunica com o banco de
dados ou ..
... pelo prprio SGBD usando uma linguagem
de especificao de restrio de uso geral
triggers (gatilhos) e assertions (afirmaes).
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)
Questo 10 - FUNCAB - 2014 - PRODAM-AM -
Analista de Banco de Dados
O atributo de uma relao pode armazenar um
valor denominado de NULL. Essa palavra
reservada, NULL, representa um valor:
A) estruturado ou complexo ou inexistente.
B) estruturado ou indeterminado ou inexistente.
C) desconhecido ou indeterminado ou
complexo.
D) desconhecido ou indeterminado ou
inexistente.
E) inexistente ou estruturado ou desconhecido.
Seleo

Operaes Projeo

Produto
Cartesiano

Modelo Relacional

LGEBRA RELACIONAL
lgebra relacional
uma linguagem de consultas procedural

Conjunto de operaes tendo como entrada


uma ou duas relaes e produzindo como
resultado uma nova relao.

A consulta mais simples


Nome da relao. Ex: Estudante
Operaes fundamentais
Unria

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)

Subtrao permite encontrar tuplas que


esto em uma relao mas no em outra
<nome_cliente>(depositante) <nome_cliente>(devedor)
Produto cartesiano
Permite combinar informaes de duas relaes
quaisquer
Representado por (x)
Suponha as relaes r1(R1) e r2(R2) ento r1 x r2
um relao cujo esquema a concatenao de R1 e
R2
Cada tupla t1 em R1 vai ser combinada cada uma das
tuplas t2 em R2
Operaes adicionais: Interseo e Designao
Interseo de conjuntos:
R S = R ( R S)
Assignment Operation
Escrever uma expresso em lgebra relacional
com uma designao para a relao de modo a
us-la como uma varivel temporria.
Ex: temp (R,S)(r)
Operaes binrias: Juno
Juno Natural (Natural Join)
A juno natural uma operao binria que
escrita como (R S) onde R e S so relaes. O
resultado da juno natural uma tabela com
todas as combinaes das tuplas em R e S que seu
atributos em comum so iguais.
Variaes de juno
Equi-Juno
Um caso especial de juno condicional em que a
condio contm somente igualdades.
Juno Theta
Produz todas as combinaes de juno R1 e R2
que satisfazem a condio de juno
Operaes binrias: Diviso
A operao de diviso usada nas consultas
nas quais se emprega a frase: para todos!
Suponha que desejamos encontrar todos os
clientes que tenha conta em todas as agncias
localizadas em Casa Amarela.
Primeiro obtemos todas as agencias do bairro (R1)
Encontramos os pares cliente, agencia (R2)
Agora executamos a operao de diviso de R2 /
R1
Diviso
Clculo relacional e a linguagem SQL
O clculo relacional considerado a base para
linguagem SQL, e a lgebra relacional usada
nos detalhes internos de muitas
implementaes de banco de dados para
processamento e otimizao de consulta.
Resumo
Questo 11 CESGRANRIO - BNDES 2013 - ANLISE
DE SISTEMAS DESENVOLVIMENTO
T1 T3
T1 e v3 T3
10 ab
10 ab
30 xy
20 ab
Questo 12 CESGRANRIO - BNDES 2013 - ANLISE
T1 V1
DE SISTEMAS DESENVOLVIMENTO 10 5
15 6
20 7
30 8
... ...
Modelo Relacional

NORMALIZAO
Critrios para avaliar a qualidade um esquema
Semntica dos atributos

Reduo de valores redundantes nas tuplas

Reduo de valores null nas tuplas

Impedimento para a gerao de valores


ilegtimos
Dependncia Funcional
Dependncia funcional uma restrio entre dois
conjuntos de atributos do banco de dados.
B funcionalmente
A B
dependente de A
Determinante

Uma dependncia funcional, denotada por X Y entre


dois conjuntos de atributos X e Y, que so subconjunto
de R, especificam uma restrio nas possveis tuplas
que formem um estado da relao r de R.
A restrio que, para quaisquer duas tuplas t1 e t2 em r
que tenha t1[X] = t2[X], elas tambm tm de ter t1[Y] =
t2[Y].
Dependncia funcional trivial/no trivial
Uma DF trivial se X Y e X contm() Y.
A B C D E

A,B,C B

Uma DF no trivial se X Y e X no contm


Y.
A B C D E

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.

Evitando redundncia de dados e anomalias


de atualizao.
Vamos falar de chaves
Superchave
Uma superchave de um esquema de relao R = {A1, A2,
..., An} um conjunto de atributos S C R que contenha a
propriedade na qual no haver duas tuplas t1 e t2, em
qualquer estado vlido da relao r de R, cuja t1[S] = t2[S].
Chave
uma superchave mnima(K), qualquer remoo de
atributo de K far com que K deixe de ser superchave
Chave candidata
Se um esquema tiver mais de uma chave, cada uma delas
chamada de chave candidata.
Chave primaria
A escolhida
Chave secundria as renegadas!
Um pouco mais sobre chaves
Atributo primrio membro de alguma
chave candidata de R

Atributo no primrio se no for um atributo


primrio.
1 Forma Normal
considerada parte da definio formal de
uma relao no modelo relacional bsico.
Os nicos valores permitidos pela 1 FN so
atmicos ou indivisveis.
1 Forma Normal
Os campos de uma tabela no devem ser
multivalorados ou compostos
2 Forma Normal
Deve estar na 1 FN e todo atributo no chave
tem que ser totalmente dependente da chave
No dever existir Dependncia Parcial
2 Forma Normal

Um esquema de relao R est na 2FN se todo


atributo no primrio A em R tem dependncia
funcional total da chave primria.
3 Forma Normal
Uma relao est na Terceira Forma Normal
(3NF) se ela est na 2FN e nenhum atributo
no-chave(no primrio) transitivamente
dependente da chave primria

No deve existir
Dependncia Transitiva
3 Forma Normal
Definio mais geral da terceira forma normal.

Um esquema de relao R est na terceira forma


normal (3FN) sempre que uma dependncia funcional
no trivial X A for determinada em R:

(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

Aluno Disciplina Professor

Aluno Professor Professor Disciplina


Forma Normal de Boyce-Codd
Resumo: Tipos de dependncia
Dependncia Funcional (A B)
Uma coluna identificada por outra coluna.
Dependncia Parcial (Chave: A,B; B C)
Uma coluna depende apenas de uma parte de
uma chave primria composta.
Dependncia Transitiva (A B C)
Uma coluna(C) depende de outra coluna(B) NO
chave e que esta depende da chave-primria(A).
Questo 13a - 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.
[94] Embora a Forma Normal Boyce Codd
(FNBC) seja estritamente mais forte que a 3FN,
em algumas situaes reais elas so
equivalentes.
Decomposio sem Perda na Juno
A decomposio deve ser feita de maneira que
quando recompe-se a relao original,
apenas e exatamente as tuplas existentes na
relao original so reobtidas.
A decomposio baseada nas dependncias
funcionais(2FN, 3FN e FNBC) no causam
perdas de juno, portanto a normalizao
para as formas normais baseadas em
dependncias funcionais esto livres desse
problema.
Normalizao de Relaes
A normalizao de relaes atravs de
dependncias funcionais apenas uma das
maneiras, embora a mais importante, de
evitar inconsistncias em relaes.
Uma outra maneira, advm de uma variao
das dependncias funcionais, chamadas
dependncia multivalorada , ou
multi-dependncia funcional
Multi-Dependncia Funcional
A dependncia funcional significa que o valor
de um atributo pode ser determinado a partir
de outros.
A multi-dependncia funcional caracteriza o
fato de que, embora um conjunto de
atributos no possa determinar o valor de
outro atributo, ainda assim esse conjunto
consegue restringir os valores possveis para
aquele atributo.
Dependncia Multifucional
Apply (SSN, cName, hobby)

Dependncia funcional?

Chaves? Todos os atributos

BCNF?

Good design?

5 colleges, 6 hobbies 30 tuplas


Definio de DMV
Em uma relao R dizer que A B
t, u R: t[A] = u [A] ento
v R : v[A] = t [A] e v[B] = t [B] e
v[rest] = u [rest]
A B rest
a b1 r1
a b2 r2
a b1 r2
a b2 r1
Exemplo
Apply (SSN, cName, hobby)

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

Agente representa cias


Cias fabricam produtos
Agente vende produtos
Resumindo: 4 e 5 Formas Normais
4 Forma Normal
Eliminar dependncia multivalorada
5 Forma Normal
Encontrar a dependncia de juno que permite
decompor a relao sem perdas
Eliminar atributos no atmicos

1 Forma Normal

Eliminar dependncias funcionais no plenas

2 Forma Normal

Eliminar dependncias transitivas

3 Forma Normal

Eliminar dependncia funcional cujo determinante no chave candidata

FNBC

Eliminar dependncia multivalorada

4 Forma Normal

Encontrar a dependncia de juno

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.

O importante ser sermos capazes de


identificar quais so os elementos semnticos
de cada uma delas e aplic-los corretamente.
IDEF1X
Embora aplicada no nvel conceitual, incorpora
em suas razes muitas caractersticas de projeto
de banco de dados (modelagem lgica)
Diagramao dependente de conceitos como
chaves e dependncias de identificao.
Elementos:
Entidades
Relacionamentos
Atributos
Subtipos e Supertipos
IDEF1X - Componentes
IDEF1X Exemplo de Diagrama
IDEF1X - Entidade
4 categorias
Independentes ou dependentes

Dependentes de identificador e/ou dependentes


de existncia
Subtipos ou supertipos.
Associativas ou no-associativas
Notao IDEF1X

Atributos - chave primria


Demais atributos
Entidades Independentes
Notao IDEF1X
Entity-A
Key-Attribute-A

*Parent Entity

Identifying Relationship
Relationship Name

Entity-B
Key-Attribute-A (FK)
Key-Attribute-B
**Child Entity

* The Parent Entity in an Identifying Relationship may be an


Identifier-Independent Entity (as shown) or an Identifier-Dependent Entity
depending upon other relationships.

** The Child Entity in an Identifying Relationship is always an


Identifier-Dependent Entity.
Notao IDEF1X
Entity-A
Key-Attribute-A

*Parent Entity

Mandatory Non-Identifying
Relationship
Relationship Name

Entity-B
Key-Attribute-B

Key-Attribute-A (FK) **Child Entity

* The Parent Entity in a Mandatory Non-Identifying Relationship may be an


Identifier-Independent Entity (as shown) or an Identifier-Dependent Entity depending
upon other relationships.

** The Child Entity in a Mandatory Non-Identifying Relationship will be an


Identifier-Independent Entity unless the entity is also a Child Entity in some
Identifying Relationship.
Notao IDEF1X
Entity-A
Key-Attribute-A

*Parent Entity

Optional Non-Identifying
Relationship
Relationship Name

Entity-B
Key-Attribute-B

Key-Attribute-A (FK) **Child Entity

* The Parent Entity in a Optional Non-Identifying Relationship may be an


Identifier-Independent Entity (as shown) or an Identifier-Dependent Entity depending
upon other relationships.

** The Child Entity in a Optional Non-Identifying Relationship will be an


Identifier-Independent Entity unless the entity is also a Child Entity in some
Identifying Relationship.
IDEF1X - Relacionamentos
As notaes utilizadas para relacionamento
indicam simultaneamente quatro aspectos:
Cardinalidade
Opcionalidade de existncia (dependncia de
existncia)
Dependncia de identificador
Significado (role)
Notao IDEF1X - Cardinalidade

Zero, um ou muitos Zero ou um

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

Sistemas de Gerenciamento de Banco de Dados

Sistemas de banco de dados


Palavras Chaves

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

Viso 1 Viso 2 ... Viso n Abstrao dos Modelo de dados:


dados: Lgico com Base em
Nvel Lgico
Nvel de viso Objetos
Administradores de banco de dados
(quais informaes devem pertencer ao BD?)
Nvel lgico Lgico com Base em
Nvel fsico Registros
Nvel Fsico
Estruturas de dados complexas de nvel baixo so descritas em detalhes
Fsico
(como os dados so de FATO armazenados?)

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

Eliminar dependncias funcionais no plenas

2 Forma Normal

Eliminar dependncias transitivas

3 Forma Normal

Eliminar dependncia funcional cujo determinante no chave candidata

FNBC

Eliminar dependncia multivalorada

4 Forma Normal

Encontrar uma dependncia de juno

5 Forma Normal
Mdulos e componentes de um SGBD

Interfaces

Detalhes
internos
Memorex
Resumo do curso BD01
Uma rpida reviso do contedo

Anda mungkin juga menyukai