You are on page 1of 236

1

Banco de Dados I

Prof. Marcos Miguel


marcos.a.miguel@gmail.com
http://marcosmiguel.tk

BD1(Banco de Dados 1)
2

O que e para que serve um


banco de dados?

Prof. Marcos Miguel - MBI

BD1(Banco de Dados 1)
3

Opo 1

Opo 2

Prof. Marcos Miguel

BD1(Banco de Dados 1)
4

OBJETIVO
Mostrar e definir os conceitos relativos criao e
organizao de Sistemas de Bancos de Dados.
Fazer com que o aluno desenvolva habilidades
necessrias para a modelagem conceitual de
dados, no processo de anlise de um sistema,
e sua implementao baseada no modelo
lgico relacional. Possibilitar ao aluno o
entendimento das operaes de lgebra relacional
como fundamento para a realizao de consultas
a bancos de dados usando a linguagem SQL.
Prof. Marcos Miguel - MBI

BD1(Banco de Dados 1)
5

HABILIDADES
Desenvolver

a habilidade crtica ao analisar


estudos de casos e a partir dos mesmos
desenvolver diagramas que serviro de base para
a criao de banco de dados.

COMPETNCIAS
Compreender

o funcionamento de Sistemas
Gerenciador de Banco de Dados, desenvolver a
capacidade de modelar conceitualmente banco de
dados, implementar, baseado no modelo lgico
desenvolvido, banco de dados.

CONTEDO PROGRAMTICO
6

Unidade 1. Conceitos de Sistemas de Bancos


de Dados
1.1.

Conceitos de Sistema Gerenciador de Bancos


de Dados (SGBD)
1.2. Objetivos de um SGBD
1.3. Abstrao de Dados
1.4. Arquitetura de um SGBD
1.5. Independncia de Dados
1.6. Administrao de Dados
1.7. Arquiteturas para uso de SBGDs
Prof. Marcos Miguel - MBI

CONTEDO PROGRAMTICO
7

Unidade 2. Modelagem de Dados


2.1.

Abstrao
2.2. Requisitos para modelagem
2.3. Modelos Conceituais
2.4. Modelos Lgicos: Relacional, Rede,
Hierrquico
2.5. Modelo Fsico

Prof. Marcos Miguel - MBI

CONTEDO PROGRAMTICO
8

Unidade 3. Modelo de Entidades e


Relacionamentos (M.E.R.)
3.1.

Entidade; Relacionamento; Atributo


3.2. Diagrama de Entidades e Relacionamentos
(DER)
3.3. Classes de Relacionamentos
3.4. Cardinalidade
3.5. Auto-relacionamento
3.6. Relacionamento mltiplo
3.7. Atributos de relacionamento
3.8. Agregao
Prof. Marcos Miguel - MBI

CONTEDO PROGRAMTICO
9
9

Unidade 3. Modelo de Entidades e


Relacionamentos (M.E.R.) cont
3.9.

Relacionamentos mutuamente exclusivos


3.10.Generalizao
3.11.Entidade Fraca
3.12.Notaes alternativas
3.13.Esquema textual do MER
3.14.Etapas do projeto MER

CONTEDO PROGRAMTICO
10

Unidade 4. Modelo Relacional


4.1.

Conceitos
4.2. Chaves
4.3. Caractersticas das tabelas
4.4. Restries de integridade
4.5. Linguagens Relacionais

Prof. Marcos Miguel - MBI

CONTEDO PROGRAMTICO
11

Unidade 5. lgebra Relacional


5.1.

Operaes Tradicionais
5.2. Operaes Especiais

Unidade 6. SQL - Structured Query Language


6.1.

Consultas (Queries)

Prof. Marcos Miguel - MBI

Bibliografia
12

DATE, C. J. Introduo a sistemas de


bancos de dados. 8.ed. Rio de
Janeiro:Campus, 2003.
HEUSER, Carlos Alberto. Projeto de
banco de dados. 6.ed. Porto Alegre:
Bookman,2008..
KORTH, Henry F.; SILBERSCHATZ,
Abraham. Sistemas de bancos de dados.
3.ed.So Paulo: Makron, 1999.
Prof. Marcos Miguel - MBI

Bibliografia auxiliar
13

LIGHTSTONE, Sam; NADEAU, Tom; TEOREY, Toby,


Projeto e modelagem de bancos de dados. 1.ed. Rio
de Janeiro: Campos, 2006.
MEDEIROS, Marcelo. Banco de dados para sistemas
de informaao.1.ed. Florianopoles: VisualBooks, 2006.
SETZER, Valdemar W. Banco de dados. 1.ed. So
Paulo: Edgard Blucher, 1995. TEOREY, Toby;
LIGHTSTONE, Sam; NADEAU, Tom; Projeto e
modelagem de banco de dados.
Prof. Marcos Miguel - MBI

Avaliaes
14

V1 25/03/2015
V2 27/06/2015
VT 10/06/2015 * Apresentao do Trabalho
2 chamada (V1 e V2) - 01/07/2015
VS
- 08/07/2015

Prof. Marcos Miguel - MBI

15

Conceitos
Introdutrios

Prof. Marcos Miguel

Introduo
16

Sistemas de Arquivos
Tipicamente

formado por conjuntos de arquivos


contendo informaes a respeito de uma empresa
(os arquivos possuem relacionamento entre si), e
por um conjunto de programas de aplicao que so
escritos para extrair ou adicionar registros nos
arquivos apropriados

Se

forem necessrias informaes adicionais, mais


arquivos e programas de aplicao so criados

Prof. Marcos Miguel - MBI

Sistema de Arquivos
17

ORGANIZAES BSICAS DE ARQUIVOS:


Estruturas de Dados: define a forma como os dados esto organizados,
como se relacionam e como sero manipulados pelos programas. Ex:
vetores e matrizes, registros, filas, pilhas, rvores, grafos, etc.
Arquivo: coleo de registros lgicos, cada um deles representando
um objeto ou entidade. Na prtica os arquivos geralmente esto
armazenados na memria secundria (fitas e discos) e so usados
para armazenar os resultados intermedirios de processamento ou
armazenar os dados de forma permanente.
Registro lgico (registro) : seqncia de itens, cada item sendo
chamado de campo ou atributo, correspondendo a uma caracterstica
do objeto representado. Os registros podem ser de tamanho fixo ou de
tamanho varivel.
Campo: item de dados do registro, com um nome e um tipo associados
Prof. Marcos Miguel - MBI

Sistema de Arquivos
18

ORGANIZAES BSICAS DE ARQUIVO


n Bloco: unidade de armazenamento do arquivo em
disco, tambm denominado registro fsico. Um registro
fsico normalmente composto por vrios registros
lgicos. Cada bloco armazena um nmero inteiro de
registros.
n Chave: uma seqncia de um ou mais campos em
um arquivo
n Chave primria: uma chave que apresenta um valor
diferente para cada registro do arquivo. usada para
identificar, de forma nica, cada registro.
n Chave de acesso: uma chave usada para identificar
o(s) registro(s) desejado(s) em uma operao de
acesso ao arquivo.
Prof. Marcos Miguel - MBI

Sistema de Arquivos
19

ESTRUTURAS DE ARQUIVOS
Nos arquivos seqenciais a ordem lgica e fsica dos registros
armazenados a mesma. Os registros podem estar dispostos seguindo a
seqncia determinada por uma chave primria (chamada chave de
ordenao), ou podem estar dispostos aleatoriamente.

Prof. Marcos Miguel - MBI

Sistema de Arquivos
20

Insero de um registro

Se o arquivo no est ordenado, o registro pode ser simplesmente inserido aps o


ltimo registro armazenado.
Se o arquivo est ordenado, normalmente adotado o seguinte procedimento:
Dado um arquivo base B, construdo um arquivo de transaes T, que contem
os registros a serem inseridos, ordenado pela mesma chave que o arquivo B. Os
arquivos B e T so ento intercalados, gerando o arquivo A, que a verso
atualizada de B.

Prof. Marcos Miguel - MBI

Sistema de Arquivos
21

Excluso de um registro

Normalmente implementada como a insero, com a criao de um arquivo de


transaes que contm os registros a serem excludos, que processado
posteriormente.
Pode ainda ser implementada atravs de um campo adicional no arquivo que
indique o estado (status) de cada registro. Na excluso, o valor deste campo seria
alterado para excludo . Posteriormente, feita a leitura seqencial de todos os
registros, sendo que os registros que no estiverem marcados como excludos
so copiados para um novo arquivo.

Alterao de um registro

Consiste na modificao do valor de um ou mais atributos de um registro. O


registro deve ser localizado, lido e os campos alterados, sendo gravado
novamente, na mesma posio.

A alterao feita sem problemas, desde que ela no altere o tamanho do


registro nem modifique o valor de um campo usado como chave de ordenao
Prof. Marcos Miguel - MBI

Ambiente Utilizando Arquivos


22

Prof. Marcos Miguel - MBI

Ambiente Utilizando BD
23

Prof. Marcos Miguel - MBI

Conceituao
24
24

Dados:

a descrio de algum fenmeno do mundo real


de um fato ou de uma idea
Representao de uma propriedade ou caracterstica de
um objeto real
n No

Ex.:

tem significado por si s

quantidade de Kwh consumidos em uma residncia

Prof. Marcos Miguel - MBI

Conceituao
25
25

Informao: Conhecimento adquirido pelo


uso e interpretao do dado
Organizao

e agregao dos dados


Informao interpretao dos dados
Ex.:

Consumo de energia comparado com a capacidade


geradora da usina.

Prof. Marcos Miguel - MBI

Conceituao
26

Banco de Dados: uma coleo de dados


armazenados. Pode ser considerado como um modelo
da poro do mundo real que de interesse para
determinada aplicao
Sistema de Gerenciamento de Banco de
Dados:

Conjunto de software para gerenciar (definir, criar,


modificar, usar) um BD e garantir a integridade e
segurana dos dados. O SGBD a interface entre os
programas de aplicao e o BD. Em ingls
denominado DataBase Management System (DBMS)
Prof. Marcos Miguel - MBI

Conceituao
27

Instncias: a coleo de informaes


armazenadas no banco de dados em um
instante qualquer (em linguagens de
programao seria o equivalente ao valor das
variveis de um programa em determinado
instante)
Ex.:
nome
: Luis
sexo
: Masculino
profisso : Engenheiro

Prof. Marcos Miguel - MBI

Conceituao
28

Modelo X Esquema

Modelo:

Conjunto de estrutura, operadores e


restries de integridade usadas para
representar o mundo real de forma mais
ordenada

Esquema:

Representao da parte da
realidade na qual estamos interessados atravs
do uso do modelo de dados
Prof. Marcos Miguel - MBI

Conceituao
29

Esquema: a concepo global do BD. Sua


descrio no BD denominada de metadados

Prof. Marcos Miguel - MBI

Componentes de um SGBD
30

Dicionrio de Dados (Data Dictionary)


Descreve

os dados e suas relaes em forma


conceitual e independente de seu envolvimento
nas diversas aplicaes.

Fornece

referncias cruzadas entre os dados e


as aplicaes

Prof. Marcos Miguel - MBI

Componentes de um SGBD
31

Linguagem de definio de dados (LDD ou DDL


Data Definition Language)
Usada para especificar o esquema do BD. O
resultado da especificao um conjunto de
definio
A compilao dessas instrues da LDD gera o
dicionrio de dados ou diretrio de metadados
Alguns SGBDs permitem a definio da estrutura
de armazenamento e os mtodos de acesso que
sero usados, atravs da LDD
Prof. Marcos Miguel - MBI

Componentes de um SGBD
32

Linguagem de manipulao de dados (LMD ou


DML Data Manipulation Language)

Permite ao usurio acessar ou manipular dados organizados


atravs de um modelo
Envolve: recuperao, alterao, insero e remoo de
informaes
Existe dois tipos bsicos
n Procedimental: quais dados e como chegar at eles
(mais eficiente)
n No procedimental: quais dados (mais fcil)
Muitas vezes a LMD chamada tambm de linguagem de
consulta. Na verdade, a consulta apenas uma parte da
LMD

Prof. Marcos Miguel - MBI

Componentes de um SGBD
33

Linguagem de consulta (QUERY)


Permite

que o usurio final, com poucos


conhecimentos tcnicos, possa obter de forma
simples, informaes do BD

Utilitrios administrativos
Programas

auxiliares para carregar, reorganizar,


adicionar, modificar a descrio do BD, obter
cpias de reserva e recuperar a integridade fsica
do BD
Prof. Marcos Miguel - MBI

Funes de um SGBD
34

1/8 - Independncia dos dados

O SGBD deve oferecer isolamento das aplicaes em relao


aos dados. Esta caracterstica permite modificar o modelo de
dados do BD sem necessidade de reescrever ou recompilar
todos os programas que esto prontos.
As definies dos dados e os relacionamentos entre os
dados so separados dos cdigos os programas

Prof. Marcos Miguel - MBI

Funes de um SGBD
35

2/8 - Facilidade uso/desempenho

Embora o SGBD trabalhe com estruturas de dados


complexas, os arquivos devem ser projetados para atender
a diferentes necessidades, permitindo desenvolver
aplicaes melhores, mais seguras e mais rapidamente.
Deve possui comandos poderosos em sua linguagem de
acesso

Prof. Marcos Miguel - MBI

Funes de um SGBD
36

3/8 - Integridade dos dados

O SGBD deve garantir a integridade dos dados, atravs da


implementao de restries adequadas. Isto significa que
os dados devem ser precisos e vlidos

4/8 - Redundncia dos dados

O SGBD deve manter a redundncia de dados sob controle,


ou seja, ainda que existam diversas representaes do
mesmo dado, do ponto de vista do usurio como se
existisse uma nica representao

Prof. Marcos Miguel - MBI

Funes de um SGBD
37

5/8 - Segurana e privacidade dos dados

O SGBD deve assegurar que estes s podero ser acessados


ou modificados por usurios autorizados

6/8 - Rpida recuperao aps falha

Os dados so de importncia vital e no podem ser


perdidos. Assim, o SGBD deve implementar sistemas de
tolerncia a falhas, tais como estrutura automtica de
recover e uso do conceito de transao

Prof. Marcos Miguel - MBI

Funes de um SGBD
38

7/8 - Uso compartilhado


O

BD pode ser acessado concorrentemente por


mltiplos usurios

8/8 - Controle do espao de


armazenamento
O

SGBD deve manter controle das reas de disco


ocupadas, evitando a ocorrncia de falhas por falta
de espao de armazenamento
Prof. Marcos Miguel - MBI

Abstrao de Dados
39

O SGBD deve esconder certos detalhes de


como os dados so armazenados ou mantidos.
Dados precisam ser recuperados
eficientemente. A preocupao com a eficincia
leva a concepo de estruturas de dados
complexas para representao dos dados no
BD

Prof. Marcos Miguel - MBI

Nveis de Abstrao
40

Nvel Fsico:

o nvel mais baixo de abstrao, no qual se


descreve como os dados so armazenados.
Estruturas complexas, de baixo nvel, so descritas
em detalhe

Prof. Marcos Miguel - MBI

Nveis de Abstrao
41

Nvel Conceitual:

o nvel que descreve quais os dados so realmente


armazenados no BD e quais os relacionamentos existentes
entre eles
Este nvel descreve o BD como um conjunto de estruturas
relativamente simples. Muito embora a implementao de
estruturas simples no nvel conceitual possa envolver estruturas
complexas no nvel fsico, o usurio do nvel conceitual no
precisa saber disto.
Geralmente usado pelos administradores de banco de dados,
que devem decidir qual informao deve ser mantida no banco
de dados
Prof. Marcos Miguel - MBI

Nveis de Abstrao
42

Nvel Viso:

Este o nvel mais alto de abstrao, no qual se expe


apenas parte do BD, expondo apenas parte do banco de
dados que seja de interesse do usurio final.
Na maioria das vezes os usurios no esto preocupados
com todas as informaes do BD e sim com apenas parte
delas (Vises dos Usurios)

Prof. Marcos Miguel - MBI

Nveis de Abstrao
43

Prof. Marcos Miguel - MBI

Modelos de Banco de Dados


44

Modelos de Dados

uma coleo de ferramentas conceituais para descrio


dos dados, relacionamento, semntica e restries de dados
Mtodos para se estruturar e organizar os dados

Componentes bsicos
Modelo conceitual: entidades, relacionamentos,
atributos
Modelo lgico: relao, tuplas, atributos e
relacionamentos
Modelo fsico: arquivos, registros, campos e
ponteiros
Prof. Marcos Miguel - MBI

Modelos de Banco de Dados


45

Modelo Conceitual
Utilizado para descrever o mini-mundo da aplicao
concebido em um nvel de abstrao alto, de fcil
entendimento por parte do usurio
Independe dos aspectos implementacionais podendo ser
aplicado a diferentes tipos de SGBD
Geralmente possui mecanismos de abstrao que facilitam
a modelagem
o ponto de partida para o projeto da base de dados
Mais estvel que o esquema lgico
n Ex: Entidade-Relacionamento / Modelos Orientado a
Objetos

Prof. Marcos Miguel - MBI

Modelos de Banco de Dados


46

Modelo Lgico

utilizado para descrever a base de dados conforme


vista pelos usurios do SGBD
Utilizado para descrever a estrutura de um banco de
dados em um nvel dependente do SGBD a ser
escolhido para a implementao, porm no apresenta
detalhes de implementao
Ex: Relacional / Rede / Hierrquico / Orientado a
Objetos

Prof. Marcos Miguel - MBI

Modelos de Banco de Dados


47

Modelo Fsico (Interno)

Utilizado para descrever as estruturas fsicas de


armazenamento dos dados
No so muito utilizados pois os SGBDs j possuem o
interfaceamento do modelo lgico para o fsico
Geralmente s alterada para ajuste de desempenho
A tendncia de produtos modernos ocultar cada vez
mais os detalhes fsicos de implementao
Ex: Procedimentos para definio da estrutura de
ndices

Prof. Marcos Miguel - MBI

Independncia de Dados
48

Capacidade de modificar a estrutura do banco


de dados em um nvel de abstrao sem afetar
o nvel mais acima
Tipos de independncia de dados

Fsica: a capacidade de se modificar o


esquema fsico sem precisar de reescrever os
programas de aplicao (ex. para melhorar a
performance)
Lgica: a capacidade de se modificar o
esquema conceitual sem a necessidade de
reescrever os programas de aplicao (quando
muda a estrutura lgica do BD)

Prof. Marcos Miguel - MBI

Arquitetura ANSI / SPARC


49

ANSI (American National Standards Committe on


Computers and Information Processing)
SPARC (Standard Planning and Requirements Committe)

Prof. Marcos Miguel - MBI

Usurios de Banco de Dados


50

Administrados do banco de dados (DBA


Data Base Administrator)

Responsvel pelo controle do SGBD


Funes
Definio da estrutura de armazenamento
Modificao da organizao fsica e do esquema
Concesso de autorizao para acesso aos dados
Especificao de restries de integridade
Manter o dicionrio de dados
Definir estratgias de backup

Prof. Marcos Miguel - MBI

Usurios de Banco de Dados


51

Programador de aplicao

Busca-se cada vez mais maior integrao entre os dois tipos


de linguagens (aplicao e LMD)

Usurios finais

Escreve programas que utilizam a base de dados (usando C, Cobol,


linguagens de aplicao do SGBD). Os comandos LMD so inseridos
no programa a cada referncia a base de dados

Acessam os dados atravs de linguagem de consulta ou atravs das


aplicaes desenvolvidas

Usurios especializados

Escrevem aplicaes consideradas no convencionais como CASE,


Automao de Escritrio, Sistema especialistas, CAD, etc.
Prof. Marcos Miguel - MBI

Arquiteturas para o uso do SGBD


52

Mono-Usurio
BD

est no mesmo computador que as aplicaes


No h mltiplos usurios
Recuperao geralmente atravs de backup
Tpico de computadores pessoais

Prof. Marcos Miguel - MBI

Arquiteturas para o uso do SGBD


53

Multi-Usurio
BD

est no mesmo computador que as aplicaes


Mltiplos usurios acessando atravs de terminais
Tpico de ambientes com mainframe

Prof. Marcos Miguel - MBI

Arquiteturas para o uso do SGBD


54

Cliente/Servidor
Multi-usurio
Servidor

dedicado ao Banco de Dados, executando

o SGBD
As estaes clientes executam apenas as
aplicaes
Trfego na rede menor
Arquitetura atualmente em uso

Prof. Marcos Miguel - MBI

Fases do Projeto de BD
55

Prof. Marcos Miguel - MBI

Fases do Projeto de BD
56

Construir o Modelo Conceitual


Modelo

de alto nvel, independente do SGBD


Etapa de levantamento de dados
Determinao dos relacionamentos dos dados
Uso de uma tcnica de modelagem de dados
Abstrao do ambiente de hardware/software

Prof. Marcos Miguel - MBI

Fases do Projeto de BD
57

Construir o Modelo Lgico


Modelo

implementvel, dependente do tipo de


SGBD a ser usado
Considera as necessidades de processamento
Considera as caractersticas e restries do SGBD
Etapa de normalizao dos dados

Prof. Marcos Miguel - MBI

Fases do Projeto de BD
58

Construir o Modelo Fsico


Modelo

implementvel, com mtodos de acesso e


estrutura fsica
Considera necessidades de desempenho
Considera as caractersticas e restries do SGBD
Dependente das caractersticas de hardware/
software

Prof. Marcos Miguel - MBI

Fases do Projeto de BD
59

Avaliar o Modelo Fsico


Avaliar

o desempenho das aplicaes


Avaliar os caminhos de acesso aos dados e
estruturas utilizadas

Implementar o Banco de Dados


Etapa

de carga (load) dos dados


Gerar as interfaces com outras aplicaes

Prof. Marcos Miguel - MBI

Fases do Projeto de BD
60

Prof. Marcos Miguel - MBI

61

Modelagem
de
Dados

Prof. Marcos Miguel

Exerccio
62

Dividir a turma em 8 grupos de 3 pessoas:


Mini

Mundos:

n Locadora

de veculos
n Salo de Beleza
n Cartrio
n Pague Rpido
n Distribuidora de Bebidas
n Administradora de Condomnio
n Administradora Imobiliria
n Cursos Profissionalizantes
n Administrao de Escritrio Contbil
Prof. Marcos Miguel - MBI

Modelagem de Dados
63

Abstrao
Processo

mental atravs do qual selecionamos


determinadas propriedades ou caractersticas dos
objetos e exclumos outras, consideradas menos
relevantes para o problema sendo analisado

Modelo

uma abstrao, uma representao simplificada,


de uma parcela do mundo real, composta por
objetos reais
Prof. Marcos Miguel - MBI

Modelagem de Dados
64

Modelagem

Atividade atravs da qual se cria um modelo

Modelo de dados

Um modelo de dados uma descrio das informaes que


devem ser armazenadas em um banco de dados, ou seja,
a descrio formal da estrutura de BD (descrio dos dados,
dos relacionamentos entre os dados, da semntica e das
restries impostas aos dados)

Prof. Marcos Miguel - MBI

Requisitos para Modelagem


65

Entender a realidade em questo, identificando os


objetos que compe a parte da realidade que vai ser
modelada
Representar formalmente a realidade analisada
construindo um modelo de dados
Estruturar o modelo obtido e adequ-lo ao SGBD a ser
usado, transformando o modelo conceitual em modelo
lgico

Prof. Marcos Miguel - MBI

Modelos Conceituais
66

So usados para descrio de dados no nvel


conceitual. Proporcionam grande capacidade de
estruturao e permitem a especificao de
restries de dados de forma explcita.
Exemplos:

Modelo Entidade-Relacionamento (M.E.R.)


Modelos Orientados para Objetos (OO)

Prof. Marcos Miguel - MBI

Modelos Lgicos
67

So usados na descrio dos dados no nvel


lgico. Em contraste com modelos conceituais,
esses modelos so usados para especificar
tanto a estrutura lgica global do BD como uma
descrio em alto nvel da implementao.
Tipos:

Modelo Relacional
Modelo de Rede
Modelo Hierrquico

Prof. Marcos Miguel - MBI

Modelo Relacional
68

Um BD relacional possui apenas um tipo de


construo, a tabela. Uma tabela composta
por linhas (tuplas) e colunas (atributos). Os
relacionamentos entre os dados tambm so
representados ou por tabelas, ou atravs da
reproduo dos valores de atributos
Idias bsicas Edward F. Codd, laboratrio
pesquisas da IBM em 1970
Prof. Marcos Miguel - MBI

Modelo Relacional
69

Prof. Marcos Miguel - MBI

Modelo Relacional
70

Prof. Marcos Miguel - MBI

Modelo Relacional
71

Prof. Marcos Miguel - MBI

Modelo Relacional
72

Prof. Marcos Miguel - MBI

Outros modelos
73

Modelo Hierrquico:
Um BD hierrquico uma coleo de rvores de
registros. Os registros so usados para representar
os dados e ponteiros so usados para representar
o relacionamento entre os dados, numa ligao do
tipo pai-filho.
A restrio que um determinado registro
somente pode possuir um registro pai

Prof. Marcos Miguel - MBI

Modelo Hierrquico
74

Prof. Marcos Miguel - MBI

Modelo Hierrquico
75

Prof. Marcos Miguel - MBI

Modelo de Rede
76

Modelo de Rede:
O BD em rede um grafo, onde os ns
representam os registros e os arcos representam
os relacionamentos entre os registros, atravs de
ligaes pai-filho.
Diferente do modelo hierrquico, um registro
pode possuir diversos registros pai
Origem na linguagem de programao Cobol,
Primeiro SGBD comercial IDS (Integrated Data
Store) projetado para a General Eletric na dcada
de 60

Prof. Marcos Miguel - MBI

Modelo de Rede
77

Prof. Marcos Miguel - MBI

Modelo de Rede
78

Prof. Marcos Miguel - MBI

Modelos de Dados Fsico


79

Usados para descrever os dados em seu nvel


mais baixo.
Capturam os aspectos de implementao do
SGBD

Prof. Marcos Miguel - MBI

80

Modelo
Entidade Relacionamento
(MER)

Prof. Marcos Miguel

Modelo Entidade-Relacionamento (MER)


81

Introduzido por Peter Chen em 1976


Modelo Conceitual e portanto independente de
aspectos de implementao e conseqentemente do
tipo de SGBD escolhido
O modelo representado graficamente por um
Diagrama de Entidade-Relacionamento (DER)
Componentes bsicos
Entidades
Atributos
Relacionamentos
Generalizao / Especializao
Agregao

Prof. Marcos Miguel - MBI

Entidades
82

ENTIDADE

So objetos, conceitos ou coisas no universo de discurso,


que so representadas no Banco de Dados

Ex.:

O EMPREGADO chamado Pedro Costa


O DEPARTAMENTO Suporte de Sistemas
Tipos:
Fsicos (Pessoas, Empregados, Carros, Notas
Fiscais, ...)
Conceituais (Empregos, Tipos de Carros, ...)
Fatos (Histricos, Reservas, Viagens, ...)
Prof. Marcos Miguel - MBI

Entidades
83

Nomenclatura e Representao (DER)

Entidade-Tipo: Entidades que possuem os mesmos atributos


bsicos so agrupadas em uma classe (ou conjunto) de
entidades correspondente ao mesmo tipo de entidade

Ex.: - o tipo EMPREGADO


- o tipo DEPARTAMENTO

Instncia de Entidade

Prof. Marcos Miguel - MBI

Atributos
84

ATRIBUTO

So propriedades usadas para descrever uma entidade

So

as informaes que desejamos guardar


respeito das instncias de Entidades

Ex.: a entidade EMPREGADO pode ser


descrita
pelos atributos NOME, REGISTRO,
SEXO, ENDEREO

Cada instncia de uma entidade tem um valor para cada um


de seus atributos

Prof. Marcos Miguel - MBI

Atributos
85

Nomenclatura e Representao (DER)

Nomes

dos Atributos

Valores

dos Atributos

Prof. Marcos Miguel - MBI

Atributos
86

Domnio de Atributo

Todo atributo baseado em um nico domnio


Pode existir mais de 1 atributo baseado no mesmo domnio
Podem existir domnios que aceitem valores nulos
(desconhecidos ou no aplicvel)
nroApto -> inteiro ou nulo (no aplicvel se mora em casa)
salrio -> inteiro > 5000 ou nulo

Exemplos:
Sexo = ( M , F )
Nome = Char (30)
Salrio = Inteiro tal que > 5000

Prof. Marcos Miguel - MBI

Atributos
87

Tipos de Atributos

Opcional/Mandatrio
Opcional: o atributo pode possuir um valor nulo (vazio). Ex:
nmero de telefone
n Mandatrio: o atributo deve possuir um valor vlido, no nulo. Ex:
nome do cliente
n

Atributo Simples: cada instncia da entidade tem um valor atmico


(indivisvel) para o atributo.
n Ex.: Idade
Atributo Composto: o atributo composto por vrios componentes
n

Ex.: - ENDEREO (rua, nmero, apto, cidade, estado, pas)


NOME(sobrenome, nome)
Prof. Marcos Miguel - MBI

Atributos
88

Atributo Multivalorado: cada instncia da entidade tem mltiplos


valores (um conjunto de valores) para o atributo
n

TAMANHOS da PEA

Atributo Derivado:atributo que pode ser obtido atravs de


operaes sobre outros atributos da prpria entidade ou de
outra entidade
n

Ex.: - TELEFONES do EMPREGADO /

Ex.: - DEPENDENTES de EMPREGADO pode ser obtido


atravs de consulta entidade DEPENDENTES

Atributo Determinante: atributo para qual cada instncia


da entidade tem um valor nico
n

Ex.: - REGISTRO do EMPREGADO


Prof. Marcos Miguel - MBI

Atributos
89

Representao para Tipos de Atributos


(DER)
Simples
Composto
Multivalorado
Derivados
Determinante

default
rvore ou ( )
* ou { }
elipse
sublinhado

Prof. Marcos Miguel - MBI

Atributos
90

Tipos de Atributos

Prof. Marcos Miguel - MBI

Atributos
91

Observaes

Toda Entidade deve ter pelo menos 1 atributo


determinante (sublinhar todos)
Pode ser artificialmente criado ou concatenado
Devo representar todo atributo derivado que
posso imaginar?
Prof. Marcos Miguel - MBI

Relacionamentos
92

RELACIONAMENTO
Relaciona

duas ou mais entidades e tem um


significado especfico

Ex.: - O EMPREGADO Joo da Silva GERENCIA o


DEPARTAMENTO Suporte de Sistemas

Relacionamentos

semelhantes so agrupados em
um TIPO DE RELACIONAMENTO

Ex.: - TRABALHA-EM entre EMPREGADO e PROJETO


GERENCIA entre EMPREGADO e DEPARTAMENTO

Prof. Marcos Miguel - MBI

Relacionamentos
93

Exemplos:
Um

cliente faz pedidos de compra de um ou mais


livros, para um ou mais fornecedores

Um

livro especificado em um ou mais pedidos de


compra, de um ou mais clientes, para um ou mais
fornecedores

Um

fornecedor recebe um ou mais pedidos de


compra, de um ou mais livros, de um ou mais
clientes
Prof. Marcos Miguel - MBI

Relacionamentos
94

Exemplo

Prof. Marcos Miguel - MBI

Relacionamentos
95

Quando o domnio de um atributo de uma


entidade-tipo a o mesmo de um atributo
determinante de uma entidade-tipo B, ento:
Deve

existir um atributo na entidade-tipo B cujo


domnio o mesmo que um atributo determinante
da entidade-tipo A
Removemos estes atributos e substitumos
por
um relacionamento

Prof. Marcos Miguel - MBI

Relacionamentos
96

Prof. Marcos Miguel - MBI

Relacionamentos
97

Nomenclatura e Representao (DER)

Prof. Marcos Miguel - MBI

Relacionamentos
98

Mais de um relacionamento pode existir entre


os mesmos tipos de entidades

Cada um contm um conjunto diferente


de instncias
Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
99

A) UM - PARA - UM (1:1)
Uma

entidade em A est associada com no


mximo uma entidade em B . Uma entidade em
B est associada com no mximo uma entidade
em A

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
100

CARDINALIDADE (1:1)

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
101

B) UM PARA MUITOS (1:N)


Uma

entidade em A est associada a qualquer


nmero de entidades em B
Uma entidade em B , todavia, pode estar
associada a no mximo uma entidade em A

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
102

CARDINALIDADE (1:N)

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
103

MUITOS PARA MUITOS (N:N)


Uma

entidade em A est associada a qualquer


nmero de entidades em B . Uma entidade em
B est associada a qualquer nmero de entidades
em A

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
104

CARDINALIDADE (N:N)

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
105

Grau: especifica o nmero de instncias de


cada um dos tipos de entidades que podem
estar associadas a cada instncia das demais
entidades naquele relacionamento. Ex.: (_,N)
Participao de uma entidade em um
relacionamento: especifica se a existncia de
uma instncia do relacionamento
obrigatria para cada instncia daquela
entidade. Ex.: (0,_)
Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
106

CARDINALIDADE:

Nenhum ou vrios empregados (0,N) trabalham em um


e somente um (1,1) departamento

Prof. Marcos Miguel - MBI

Cardinalidade de Relacionamentos
107

Cardinalidade e Participao podem tambm


ser vistas como o nmero mnimo e mximo de
associaes de cada entidade participante do
relacionamento

Prof. Marcos Miguel - MBI

Atributos de Relacionamento
108

Um relacionamento pode ter atributos

Cada instncia do relacionamento ter um valor


para aquele atributo

Prof. Marcos Miguel - MBI

Atributos de Relacionamento
109

Natural em N:N

Prof. Marcos Miguel - MBI

Atributos de Relacionamento
110

No existe atributo determinante de


relacionamento

Prof. Marcos Miguel - MBI

Atributos de Relacionamento
111

Modelagem com Atributo Multivalorado

Prof. Marcos Miguel - MBI

Atributos de Relacionamento
112

Relacionamentos de grau mais alto

Prof. Marcos Miguel - MBI

Grau de Relacionamentos
113

Grau = 1: AUTO-RELACIONAMENTO
Uma

entidade se relaciona com ela mesma

Prof. Marcos Miguel - MBI

Grau de Relacionamentos
114

Grau = 2: BINRIO
Relacionamento

entre duas entidades

Um Departamento tem no mnimo 1 e no mximo N


Funcionrios lotados
Um Funcionrio est lotado em um nico Departamento

Prof. Marcos Miguel - MBI

Grau de Relacionamentos
115

Grau = 3: TERNRIO

Um depsito entrega nenhum ou vrios produtos a um ou mais


clientes
Um produto entregue para nenhum ou vrios clientes oriundos de
nenhum ou vrios depsitos
Um cliente recebe nenhum ou vrios produtos oriundos de nenhum
ou vrios depsitos
Prof. Marcos Miguel - MBI

Grau de Relacionamentos
116

Grau > 3: N-RIO

Prof. Marcos Miguel - MBI

Auto-Relacionamentos
117

Um relacionamento pode associar entidades do mesmo


tipo, onde cada instncia da entidade tem um papel
distinto. Tambm chamado de relacionamento recursivo
ou auto-relacionamento

Relacionamento Superviso: cada instncia do


relacionamento relaciona dois empregados: um
empregado tem o papel de supervisor, o outro tem o
papel de subordinado
Prof. Marcos Miguel - MBI

Auto-Relacionamentos
118

Podem ser 1:1, 1:N ou N:N

Prof. Marcos Miguel - MBI

Auto-Relacionamentos
119

Papis

Prof. Marcos Miguel - MBI

Entidade Fraca
120

Entidade Fraca

Tipo de entidade que no tem um atributo chave prprio

Entidade fraca uma entidade que precisa usar o tributo


determinante de outra entidade para compor seu prprio atributo
determinante
A entidade DEPENDENTE identificada pela combinao dos atributos
nome, data_nasc e registro do EMPREGADO com o qual o dependente
se relaciona
Prof. Marcos Miguel - MBI

Entidade Fraca
121

Se

a entidade fraca se relacionar com outras partes


do DER deve ser entidade e no atributo

Se

no tiver atributos, geralmente deve ser


modelado como atributo multivalorado (Ex:
telefones)

Prof. Marcos Miguel - MBI

Generalizao / Especializao
122

Abstraes (SUBCLASSES E SUPERCLASSES)

Subclasses so usada para representar subgrupos de uma classe de


entidades
n Ex.: A classe EMPREGADO pode ter as seguintes subclasses

SECRETRIO
ENGENHEIRO
GERENTE
TCNICO
EMPREGADO-ASSALARIADO (EMP-ASSALAR)
EMPREGADO-HORISTA (EMP-HORA)

Generalizao o mesmo que SuperClasse


Especializao o mesmo que SubClasse
Prof. Marcos Miguel - MBI

Generalizao / Especializao
123

Membros de cada subclasse constituem um


subconjunto das entidades da classe
EMPREGADO
A

classe EMPREGADO chamada de superclasse


em relao a cada uma das suas subclasses

Tambm
n

conhecida como relacionamento -UM

Ex.: GERENTE -UM EMPREGADO


Prof. Marcos Miguel - MBI

Generalizao / Especializao
124

EXEMPLO DE SUBCLASSES

Prof. Marcos Miguel - MBI

Generalizao / Especializao
125

Uma entidade (instncia) em uma subclasse representa a


mesma entidade no mundo real que a correspondente
entidade na superclasse

Ex:. ENGENHEIRO Pedro Souza a mesma entidade


mundo real que o EMPREGADO Pedro Souza

do

Membros de uma subclasse so a mesma entidade em um


papel especfico
Um membro de uma superclasse deve existir na superclasse
Um membro de uma superclasse pode opcionalmente existir
em (qualquer nmero de) suas subclasses
Em geral, no necessrio que toda entidade em uma
superclasse seja um membro de uma subclasse

Prof. Marcos Miguel - MBI

Generalizao / Especializao
126

Membros da subclasse tambm podem ter seus


relacionamentos especficos
Atributos e relacionamentos especficos referem-se
apenas a membros da subclasse

Ex.: Relacionamento e atributos de GERENTE no se aplicam a


EMPREGADO que no seja GERENTE

Especializao

o mecanismo pelo qual novas classes so definidas atravs


do refinamento de uma classe mais geral

Prof. Marcos Miguel - MBI

Generalizao / Especializao
127

Toda as subclasses tm uma mesma superclasse


O conjunto de subclasses definido por alguma
caracterstica especfica da superclasse
Pode haver vrias especializaes de uma mesma
superclasse baseada em diferentes caractersticas
n EMP_ASSAL

e EMP_HORA so uma especializao de


EMPREGADO baseada no mtodo de pagamento

n SECRETRIO,

TCNICO E ENGENHEIRO so uma


especializao de EMPREGADO baseada na funo do
empregado
Prof. Marcos Miguel - MBI

Generalizao / Especializao
128

Generalizao
o processo inverso da especializao: comeando de
um nmero de classes com alguns atributos ou
relacionamento em comum, define-se uma classe mais
geral
Especializao e generalizao so processos inversos
que podem ser usados para chegar ao mesmo projeto
final
n Ex.: Comeando das classes CARRO e CAMINHO
pode-se definir a classe de entidade mais genrica
VECULO.
n VECULO torna-se a superclasse de CARRO e
CAMINHO
n VECULO uma generalizao de CARRO e
CAMINHO
Prof. Marcos Miguel - MBI

Generalizao / Especializao
129

Prof. Marcos Miguel - MBI

Generalizao / Especializao
130

Prof. Marcos Miguel - MBI

Agregao
131

Entidade uma agregao de atributos


Relacionamento uma agregao de entidades
e atributos
Atributo composto uma agregao de atributo

Prof. Marcos Miguel - MBI

Agregao
132

Representao (DER)

C uma agregao
C formada por todas as ocorrncias do relacionamento A-B

Prof. Marcos Miguel - MBI

Agregao
133

Prof. Marcos Miguel - MBI

Agregao
134

Prof. Marcos Miguel - MBI

Agregao
135

Prof. Marcos Miguel - MBI

Agregao
136

Exemplo

ENTIDADES RESULTANTES DA FASE DE LEVANTAMENTO


n NOTA FISCAL

DUPLICATA
n PAGAMENTO (COMPROVANTE)
n CONTA A RECEBER
n CONTA RECEBIDA
n

Prof. Marcos Miguel - MBI

Agregao
137

DER Sem o conceito de Agregao

Prof. Marcos Miguel - MBI

Agregao
138

DER Usando o conceito de Agregao

Prof. Marcos Miguel - MBI

Agregao
139

Prof. Marcos Miguel - MBI

Agregao
140

O exemplo anterior diferente de:

Pois, neste caso, no se consegue representar uma disciplina


que ainda no tenha um professor para ministr-la
Prof. Marcos Miguel - MBI

Agregao e Generalizao
141

Prof. Marcos Miguel - MBI

Processo de Modelagem
142

Classificar atributos e entidades


Atributo

uma propriedade e assume valores. Tipo


de entidade uma classe de objetos

Identificar generalizaes
Se

forem identificados subconjuntos de entidades


com propriedades especficas, isto , se existem
tipos com propriedades comuns e algumas
diferenas
Prof. Marcos Miguel - MBI

Processo de Modelagem
143

Definir relacionamentos
definindo

grau, cardinalidade e participao

Integrar mltiplas vises de entidades,


atributos e relacionamentos
Quando

o projeto muito grande e muitas pessoas


esto envolvidas na anlise de requisitos, deve-se
utilizar vises que posteriormente devem ser
consolidadas em uma viso
Prof. Marcos Miguel - MBI

Exemplo - Modelo Conceitual


144

EXEMPLO

EMPRESA DE PROJETOS (Requisitos)


n TODO

EMPREGADO PERTENCE A UM DEPARTAMENTO


n TODO DEPARTAMENTO POSSUI UM GERENTE
n UM ENGENHEIRO PODE PARTICIPAR DE MAIS DE UM
PROJETO
n TODO PROJETO POSSUI UM LIDER
n TODO PROJETO COORDENADO POR UM DEPARTAMENTO
n UM EMPREGADO PODE TER UM OU MAIS DEPENDENTES

Prof. Marcos Miguel - MBI

Exemplo - Modelo Conceitual


145

Prof. Marcos Miguel - MBI

146

Modelo
Relacional

Prof. Marcos Miguel

Modelo Relacional
147

Introduzido por Codd (1970) sendo o mais


simples, mais formal (correspondncia com
relao matemtica) e o que tem estruturas de
dados mais uniformes
Conceitos do modelo relacional:

Representa os dados como uma coleo de relaes


(informalmente, cada relao lembra uma tabela ou, algumas
vezes, um arquivo)

LINHAS

REGISTROS TUPLAS
COLUNAS CAMPOS ATRIBUTOS
Prof. Marcos Miguel - MBI

Modelo Relacional
148

Cada linha da relao uma tupla, ou seja, um conjunto de


valores relacionados. Estes valores podem ser interpretados
como um fato que descreve uma instncia de uma entidade ou
relacionamento

No desenho acima, a relao chamada ESTUDANTE porque


cada linha representa um instncia da entidade ESTUDANTE
Prof. Marcos Miguel - MBI

Modelo Relacional
149

um modelo que opera com os dados


organizados como um conjunto de RELAES
O modelo de dados relacional representa o BD
como uma coleo de tabelas, cada uma das
quais associada a um nome nico

Prof. Marcos Miguel - MBI

Modelo Relacional
150

REPRESENTAO TABULAR

Toda relao pode ser vista como uma TABELA, onde cada
linha uma TUPLA e em cada coluna esto valores de um
mesmo domnio
Uma tabela um formato de apresentao de dados mais
entendido universalmente

Prof. Marcos Miguel - MBI

Modelo Relacional
151

Algumas propriedades das relaes

Cada tabela tem um nome nico atravs do qual


referenciada
Cada tabela contm um nmero fixo de colunas
Cada linha da tabela representa uma tupla ou registro
da relao
Todas as linhas so distintas uma das outras (no
existem linhas iguais)
A ordem das linhas da tabela irrelevante
Cada coluna tem um nome nico
A ordem das colunas irrelevante
Cada coluna representa um atributo mono-valorado

Prof. Marcos Miguel - MBI

Modelo Relacional
152

Os

nomes das colunas (atributos): nome,


endereo, etc. , especificam como interpretar os
valores dos dados em cada linha, baseando-se na
coluna em que o dado est
Um domnio D de um atributo um conjunto de
valores atmicos (especificam que cada valor em
um domnio indivisvel)

Prof. Marcos Miguel - MBI

Modelo Relacional
153

Um esquema de uma relao R, denotado por


R (A1, A2,... , AN), um conjunto de atributos
R = {A1, A2, ..., AN}. Cada atributo Ai o
nome de algum domnio D no esquema da
relao R. D denotado por dom (Ai). Um
esquema de relao usado para descrever a
relao.
R

chamado nome da relao. O grau da


relao o nmero de atributos do esquema
da relao
Prof. Marcos Miguel - MBI

Modelo Relacional
154

Associado a cada domnio, temos um nome (que em


geral o nome de um atributo), uma definio lgica
e tambm um tipo de dado ou formato para o
domnio. O tipo de dado para nmero de telefones
pode ser declarado como um conjunto de caracteres
na forma (ddd) dddd-dddd, onde cada d um dgito
decimal
Um domnio portanto formado por um nome, uma
definio lgica e um formato. Outras informaes
podem ser dadas a respeito de um domnio como, por
exemplo, unidades de medida

Prof. Marcos Miguel - MBI

Modelo Relacional
155

Prof. Marcos Miguel - MBI

Modelo Relacional
156

Caractersticas

Cada relao tem um nmero fixo de atributos, todos com


nomes distintos
Os atributos em uma tupla so atmicos (grupos de
repetio no so permitidos)
Cada tupla nica (duplicatas no so permitidas)
As tuplas no tem uma ordem especfica na relao
O mesmo domnio pode ser usado para diferentes
atributos, tornando-se fonte de valores para diferentes
colunas na mesma ou em diferentes tabelas
Instncia de uma relao = tabela com linhas e colunas
Conjunto destas instncias = extenso de uma tabela

EX: PEA (#PEA, NOME_PEA, COR, TIPO)

Conjunto destes esquemas = esquema do BD

Prof. Marcos Miguel - MBI

Atributos Chave
157

Chave
Conjunto

de atributos de uma relao R com a


propriedade de que nenhum par de tuplas na
instncia r de R tem a mesma combinao de
valores para aqueles atributos

Prof. Marcos Miguel - MBI

Chave Candidata
158

comum uma relao ter mais de uma chave. Neste


caso, cada uma das chaves chamada chave
candidata (ou alternativa)
Todo atributo (ou conjunto de atributos) para o qual no
pode haver repetio de valores na tabela. Identifica, de
maneira inequvoca, uma linha da tabela
Toda relao tem pelo menos uma chave candidata: a
concatenao de todos os atributos

Prof. Marcos Miguel - MBI

Chave Primria
159

A chave candidata cujos valores so usados


para identificar tuplas em uma relao
chamada chave primria (Primary Key)
a chave candidata escolhida para identificar
univocamente uma linha de uma relao
A chave primria de uma tabela T1,
corresponde a uma ou mais colunas de T1 de
tal forma que identifique univocamente as
ocorrncias (linhas) de T1, ou seja, no h 2 ou
mais linhas de T1 que tenham o mesmo valor
de chave primria

Prof. Marcos Miguel - MBI

Chaves Secundria, Composta e Cega


160

CHAVE SECUNDRIA (SECUNDARY KEY)

CHAVE COMPOSTA

a chave candidata que no foi escolhida como primria


a chave formada por dois ou mais atributos
concatenados

CHAVE CEGA (BLIND KEY)

Chave primria arbitrada que incorpora atributos no


representativos para o negcio que estiver sendo
modelado. Esse(s) atributo(s) so criados para identificar
cada linha de uma relao

Prof. Marcos Miguel - MBI

Chave Estrangeira
161

Se um atributo (ou atributos) chave no-primrio em


uma relao chave primria em outra relao, ento
este atributo na primeira relao chamado de chave
estrangeira (Foreign Key)
chave primria de outra tabela, colocada como atributo
para mostrar o relacionamento entre tabelas
A chave estrangeira de uma tabela T2, corresponde a
uma ou mais colunas de T2 de tal forma que, para cada
valor no nulo da chave estrangeira de T2, h um valor
igual a uma chave primria da tabela T1

Prof. Marcos Miguel - MBI

Chaves Primria e Estrangeira


162

Prof. Marcos Miguel - MBI

Restries de Integridade
163

So regras gerais que se aplicam a qualquer banco de


dados baseado no modelo relacional

Integridade de Chave: Uma relao deve ter pelo menos


uma chave
Integridade de Entidade: Nenhum atributo participante da
chave primria de uma relao pode aceitar valor nulo
Integridade Referencial: A chave estrangeira deve ter
correspondncia com a chave primria em outra tabela ou ser
nula
Integridade Semntica ou Regras de Negcio: So regras
ditadas pelo negcio e no tratadas na modelagem.
n Ex.: o valor mnimo de depsito para abertura de contas de
R$ 500,00
Respeitar as cardinalidades mnimas e mximas

Prof. Marcos Miguel - MBI

Integridade de Insero
164

Para garantir a integridade referencial em uma


operao de insero, significa que antes de
ser inserida uma nova linha de uma tabela que
contm um valor de chave estrangeira,
necessrio que j exista uma linha em uma
tabela com este valor de chave primria. Caso
contrrio, a operao de insero deve ser
rejeitada ou uma linha com a chave primria
dever tambm ser inserida na respectiva
tabela
Prof. Marcos Miguel - MBI

Integridade de Insero
165

Prof. Marcos Miguel - MBI

Integridade de Deleo
166

Para operaes de deleo, tambm h aes


alternativas que possibilitam preservar a
consistncia dos dados
Quando uma linha em uma tabela
deletada ,ento, todas as ocorrncias de chave
estrangeira desta chave primria tambm devem
ser deletadas (efeito cascata) ou os valores de
chave estrangeira devem ser atualizados para
nulos
A operao de deleo pode ser rejeitada se
existir uma ocorrncia de chave estrangeira da
chave primria a ser deletada

Prof. Marcos Miguel - MBI

Integridade de Deleo
167

Exemplo

Prof. Marcos Miguel - MBI

Integridade de Deleo
168

Exemplo

Prof. Marcos Miguel - MBI

Integridade de Deleo
169

Aes possveis no caso de excluso de


linha
Excluso

automtica de todas as linhas que


referenciem a chave excluda
Excluso no permitida para linhas que sejam
referenciadas em outras tabelas
Insero de valor nulo nas linhas referentes
chave excluda

Prof. Marcos Miguel - MBI

Integridade de Atualizao
170

Para a operao de atualizao, tambm h


aes alternativas que possibilitam preservar a
integridade dos dados
Dependendo se j existe o novo valor como
chave em outra tabela, a atualizao pode ser
rejeitada ou aceita
Se uma chave primria atualizada pode ser
necessrio:

mudar para nulas todas as ocorrncias existentes de chave


estrangeira com o antigo valor
mudar todas as ocorrncias de chave estrangeira do antigo para
o novo valor
rejeitar a atualizao
Prof. Marcos Miguel - MBI

Integridade de Atualizao
171

Exemplo
Um

determinado departamento mudou o cdigo do


depto. O que fazer com todos os funcionrios
alocados neste departamento?
deixar todos os funcionrios deste departamento sem
lotao, ou
n alocar todos os funcionrios deste departamento no
novo departamento, ou
n rejeitar a atualizao, pois, no se pode mudar a
identificao do depto enquanto houver funcionrios
alocados
n

Prof. Marcos Miguel - MBI

Integridade de Atualizao
172

Prof. Marcos Miguel - MBI

Integridade de Atualizao
173

Exemplo
Um

determinado departamento mudou o cdigo do


depto. O que fazer com todos os funcionrios
alocados neste departamento?
deixar todos os funcionrios deste departamento sem
lotao, ou
n alocar todos os funcionrios deste departamento no
novo departamento, ou
n rejeitar a atualizao, pois, no se pode mudar a
identificao do depto enquanto houver funcionrios
alocados
n

Prof. Marcos Miguel - MBI

174

Dependncia
Funcional e
Normalizao

Prof. Marcos Miguel

Dependncia Funcional
175

Anlise de dependncia funcional uma tcnica


de normalizao que consiste na sntese de
relaes a partir do conhecimento das
propriedades dos dados, ou seja, a partir das
dependncias funcionais existentes entre os
dados

Prof. Marcos Miguel - MBI

Dependncia Funcional
176

O atributo B funcionalmente dependente do


atributo A se, em qualquer instante, um valor em A
determina, de modo nico, o valor correspondente em
B, na mesma relao. Ou seja, todas as vezes que A
alterado, B tambm

O valor do salrio de um empregado funcionalmente


dependente do num-empregado
Prof. Marcos Miguel - MBI

Dependncia Funcional
177

Observao
Um

atributo pode ser funcionalmente dependente


de um grupo de atributos ao invs de um nico

Exemplo:

Preo do material funcionalmente dependente da


chave composta COD-MATERIAL e COD-FORNECEDOR

Prof. Marcos Miguel - MBI

Dependncia Funcional Total


178

Um atributo totalmente funcionalmente


dependente da chave primria quando for
funcionalmente dependente de toda a chave
primria no funcionalmente dependente de
qualquer parte da chave primria

OBS: Quando a chave primria da relao for uma


chave atmica, um atributo funcionalmente
dependente da chave ser totalmente funcionalmente
dependente

Prof. Marcos Miguel - MBI

Dependncia Funcional Total


179

A quantidade de horas trabalhadas por um empregado


em um projeto no funcionalmente dependente do
atributo COD-PROJETO, porque no significa o total de
horas do projeto e no funcionalmente dependente
da matrcula do funcionrio, porque no significa o
total de horas trabalhadas pelo empregado
A quantidade de horas trabalhadas determinada, de
modo nico, pela composio da matrcula do
empregado e do cdigo do projeto, porque significa a
quantidade de horas trabalhadas por empregado em
um determinado projeto

Prof. Marcos Miguel - MBI

Dependncia Funcional Parcial


180

Um atributo parcialmente funcionalmente dependente da


chave primria composta quando for funcionalmente
dependente de parte da chave primria e no de toda a chave
primria simultaneamente

O atributo NOME-FORNECEDOR funcionalmente dependente


somente do atributo COD-FORNECEDOR. O nome do
fornecedor determinado, de modo nico, pelo cdigo do
fornecedor, independente dos materiais que so fornecidos
Prof. Marcos Miguel - MBI

Dependncia Funcional Parcial


181

A dependncia funcional parcial pode ocorrer


quando a chave primria da relao composta.
Constitui

numa anomalia que se deve ser evitada


A soluo para o problema da dependncia parcial
consiste na criao de uma nova relao que ser
composta pelo atributo ou atributos que dependem
de parte da chave e a chave que determine, de
modo nico estes atributos

Prof. Marcos Miguel - MBI

Dependncia Funcional Transitiva


182

Um atributo C dependente funcional transitivo


de A se C funcionalmente dependente de B e
B funcionalmente dependente de A, na mesma
relao

Prof. Marcos Miguel - MBI

Dependncia Funcional Transitiva


183

O atributo DATA-TERM-PROJETO funcionalmente


dependente do atributo COD-PROJETO que por sua vez
funcionalmente dependente do atributo NUM-EMP. Ento
DATA-TERMPROJETO dependente transitivo de NUMEMPREGADO
A dependncia funcional transitiva constitui numa anomalia
que deve ser evitada. A soluo para o problema da D.F.T.
consiste na criao de uma nova relao que ser composta
pelo atributo ou atributos que sero dependentes funcionais
transitivos tendo como chave primria o atributo que
determina

Prof. Marcos Miguel - MBI

Resultado da Anlise da Dependncia


Funcional
184

Uma relao estar normalizada segundo a


anlise da dependncia funcional, quando
possui uma nica chave primria, todos os
atributos no chaves forem totalmente
funcionalmente dependentes da chave primria
e independentes entre si, ou seja, aps a
eliminao da dependncia funcional parcial e
transitiva, caso exista

Prof. Marcos Miguel - MBI

Normalizao
185

Objetivo: Obter relaes que no sofram de


determinadas anomalias que prejudicam a
manuteno e a integridade dos dados
Mtodo: Refinamento das relaes atravs da
sua composio sem prejuzo das informaes
contidas nas mesmas

Formas

Normais:

Prof. Marcos Miguel - MBI

Normalizao
186

Uma tabela est na primeira forma normal (1FN) se e


somente se todas as colunas correspondentes contm
apenas valores atmicos
Uma tabela est na segunda forma normal (2FN) se
est na primeira forma normal e todo atributo no
chave totalmente dependente da chave primria
Uma tabela est na terceira forma normal (3FN) se e
somente se ela est na segunda forma normal e todo
atributo no chave mutuamente independente

Prof. Marcos Miguel - MBI

Normalizao
187

Normalmente os casos que violam a normalizao refletem um


projeto ruim
A normalizao um mtodo para validar a qualidade de um
modelo de dados, no um mtodo para desenvolv-lo
Princpios bsicos Todo atributo deve:

Prof. Marcos Miguel - MBI

Normalizao
188

EXEMPLO:

Uma empresa mantm uma cooperativa para vender aos


seus funcionrios uma srie de bens de consumo. Tantas
vezes por ms quantas forem do desejo do funcionrio, ele
pode se dirigir cooperativa e fazer suas compras,
assinando na passagem pelo caixa uma autorizao para
dbito da despesa no seu contra-cheque com as notas
descritivas de cada uma das compras efetuadas ao longo do
ms

Prof. Marcos Miguel - MBI

Normalizao
189

Dados constantes da nota descritiva:

nmero da matrcula do funcionrio (NUM_FUNC)


nmero da nota (NOME_FUNC)
data da compra (DATA_NOTA)
cdigo do departamento do funcionrio (COD_DEP)
nome do departamento (NOME_DEP)
local do departamento (LOCAL_DEP)
cdigo de cada produto comprado (COD_PROD)
nome de cada produto comprado (NOME_PROD)
valor de cada produto comprado (VAL_PROD)
quantidade de cada produto comprado (QTD_COMPR)

Prof. Marcos Miguel - MBI

Normalizao
190

Construindo uma relao que contenha todas as


informaes necessrias para aplicao descrita

REL1(NUM_FUNC, NUM_NOTA, COD_PROD, NOME_FUNC, DAT_NOTA,


COD_DEP, NOME_DEP, LOCAL_DEP, NOME_PROD,VAL_PROD,
QTD_COMPR)

1FN

Dado o valor chave da relao, temos um e somente um


valor para cada atributo da relao

Prof. Marcos Miguel - MBI

Normalizao
191

Algumas anomalias
Insero: nenhum funcionrio pode ser inserido at que se
tenha ao menos um produto adquirido
Deleo: ao se deletar a ltima nota para um empregado,
todas referncias quele empregado so deletadas
Atualizao: o local de um departamento repetido vrias
vezes
Se um departamento tiver o local alterado, muitos registros
devem ser atualizados

Prof. Marcos Miguel - MBI

Normalizao
192

FUNC (NUM_FUNC, NOME_FUNC, COD_DEP, NOME_DEP,


LOCAL_DEP)
NOTA (NUM_NOTA, DATA_NOTA, NUM_FUNC)
PROD (COD_PROD, NOME_PROD)
COMPRA (NUM_NOTA, COD_PROD, VAL_PROD,
QTD_COMPR)
2 FN

Para determinar um valor nico para cada atributo da relao,


necessrio fornecer os valores de todos os componentes da chave
Prof. Marcos Miguel - MBI

Normalizao
193

Algumas anomalias
Insero: para que sejam inseridas informaes sobre um
departamento, ele deve ter pelo menos um empregado
alocado
Deleo: ao se deletar o ltimo empregado de um
departamento, todas as referncias quele departamento
so deletadas
Atualizao: o local de um departamento repetido vrias
vezes. Se um departamento tiver um local alterado, muitos
registros devem ser atualizados

Prof. Marcos Miguel - MBI

Normalizao
194

FUNC (NUM_FUNC, NOME_FUNC, COD_DEP)


DEPART (COD_DEPART, NOME_DEP, LOCAL_DEP)
NOTA (NUM_NOTA, DATA_NOTA, NUM_FUNC)
PROD (COD_PROD, NOME_PROD)
COMPRA (NUM_NOTA, COD_PROD, VAL_PROD,
QTD_PROD)
3 FN

No existem atributos na relao que tenham dependncia funcional


total em relao a outro atributo da relao que no chave

Prof. Marcos Miguel - MBI

Primeira Forma Normal 1 FN


195

Uma relao est na 1 FN se e somente se todos os


seus atributos pertencem a domnios simples (valores
atmicos)
O objetivo da 1 FN eliminar
dado estruturado
dado multivalorado
Os atributos multivalorados sero agrupados em uma
nova relao. Deve-se escolher uma chave para o novo
agrupamento, composta pela chave do agrupamento
original e complementada pelo(s) atributo(s) que
definiu(ram) a multivalorao

Prof. Marcos Miguel - MBI

1 FN - Exemplo
196

Prof. Marcos Miguel - MBI

1 FN - Exemplo
197

Prof. Marcos Miguel - MBI

1 FN - Problemas
198

Se a chave for composta por mais de um


atributo, alguns atributos que no sejam
chaves, podero depender de parte da chave, e
no da chave toda
Alguns dos atributos que no sejam chaves,
podem estar inter-relacionados
A 2 e 3 formas normais objetivam solucionar
estes problemas
Prof. Marcos Miguel - MBI

Segunda Forma Normal 2 FN


199

Uma tabela dita na segunda forma normal se, alm de


estar na primeira forma normal, todos os seus campos que
no pertenam a sua chave primria, forem totalmente
funcionalmente dependentes dela

Assim sendo, campos que no sejam dependentes exatamente da


mesma chave,devem ser separadas em diferentes tabelas

Prof. Marcos Miguel - MBI

Segunda Forma Normal 2 FN


200

No existe Dependncia Funcional Parcial dos


atributos no chave
S tem sentido quando a chave formada
por mais de um atributo (chave composta)
Os atributos com D.F.P. sero agrupados em
uma nova relao, cuja chave formada
pelos identificadores que definiram a
dependncia parcial
Apenas os atributos que dependem
totalmente da chave composta permanecem
na relao original

Prof. Marcos Miguel - MBI

2 FN - Exemplo
201

Prof. Marcos Miguel - MBI

Anomalias da 2 FN
202

Incluso: no poderia incluir um funcionrio sem


dependente (chave no pode conter valor nulo)
Excluso: filho deixa de ser dependente (nico
dependente) -> perda de informaes do
funcionrio
Alterao: alterao de salrio -> todas as linhas
devem ser alteradas

Prof. Marcos Miguel - MBI

Terceira Forma Normal - 3 FN


203

Uma tabela dita na terceira forma normal se,alm de


estar na segunda forma normal, todos os seus campos
forem mutualmente independentes (atributos no-chave
so dependentes no-transitivos da chave primria)

Assim sendo, campos que estejam envolvidos numa


dependncia funcional mtua, devem ser transferidos para
outra tabela

Prof. Marcos Miguel - MBI

Terceira Forma Normal - 3 FN


204

No existe Dependncia Funcional Transitiva


Os atributos com D.F.T. sero agrupados em uma nova
relao cuja chave formada pelos atributos que
definiram a dependncia transitiva. Estes atributos
continuam na tabela original, por que so o elo de
ligao entre as tabelas
Deve-se evitar a redundncia. Dados derivados, que
podem ser calculados atravs dos valores de outros
atributos, no devem ser guardados
Prof. Marcos Miguel - MBI

3 FN - Exemplo
205

Prof. Marcos Miguel - MBI

3 FN - Exemplo
206

Est na 1 e 2 FN porm no est na 3 FN pois NOMEPROJ e DATA-TERM so determinados apenas conhecendose o NUMPROJETO
Prof. Marcos Miguel - MBI

3 FN - Exemplo
207

Prof. Marcos Miguel - MBI

Exemplo de Normalizao
208

Prof. Marcos Miguel - MBI

Exemplo de Normalizao
209

A relao est na 1 FN pois no contm grupos


repetidos
Eliminar o fato de TTULO, AUTOR e PREO serem
determinados apenas conhecendo-se o ISBN
(International Standard Book Number)

Prof. Marcos Miguel - MBI

Forma Normal de Boyce-Codd (FNBC)


210

Surgiu para resolver problemas de entidades


que eventualmente possam ter chaves com
elementos sobrepostos
Tenta corrigir imperfeies deixadas pela
definio da 3 FN, que era condescendente
caso a relao tivesse mais de uma chave
candidata a ser chave primria
Em toda relao FNBC os determinantes so
chaves candidatas

Prof. Marcos Miguel - MBI

Forma Normal de Boyce-Codd (FNBC)


211

Situao
Existem duas ou mais chaves possveis para uma
relao
Essas chaves so compostas
Tm pelo menos um atributo em comum

Prof. Marcos Miguel - MBI

Forma Normal de Boyce-Codd (FNBC)


212

Exemplo

Est na 3 FN:

No caso de considerar a chave (NumNota, Descricao),


no h transitividade alguma
No caso da chave (Codigo, NumNota), j que Codigo
define Descricao, a dependncia no total em relao
chave
A 2 e 3 FN s previam o caso de dependncias
parciais e transitivas de colunas fora de qualquer
chave. Como Descricao pertence a uma chave, ela no
entra nas verificaes

Prof. Marcos Miguel - MBI

Forma Normal de Boyce-Codd (FNBC)


213

A relao NotaFiscal, apesar de estar em 3 FN,


apresenta anomalias. Por exemplo, a eliminao de
uma nota onde aparece pela nica vez a descrio de
um material, faz com que esta informao seja perdida

NotaFiscal no est em FNBC


n Codigo Descricao mas Codigo Quant e Codigo
NumNota

Soluo
n

NotaFiscal (NumNota, Codigo, Qtde)

Material (Codigo, Descricao)

Prof. Marcos Miguel - MBI

Quarta Forma Normal 4 FN


214

A 4 FN surgiu para resolver problemas de atributos


multivalorados independentes

Exemplo:

Livro (NumChamada, (Autor), Titulo, (Assunto))

Passando para a 1 FN:


n

Livro (NumChamada, Autor, Assunto, Titulo)

Passando para a 2 FN:


n
n

Livro1 (NumChamada, Titulo)


Livro2 (NumChamada, Autor, Assunto)

Prof. Marcos Miguel - MBI

Quarta Forma Normal 4 FN


215

As relaes esto em 3 FN e FNBC, pois no


h nenhuma dependncia funcional
Entretanto, existem muitas redundncias, uma
vez que, para cada livro, repete-se a
informao de quais so seus autores tantas
vezes quantas so seus assuntos, e vice-versa

Soluo:

Livros2A (NumChamada, Autor)


n Livros2B (NumChamada, Assunto)
n

Prof. Marcos Miguel - MBI

Quinta Forma Normal 5 FN


216

A 5 FN trata de atributos dependentes e


surgiu para resolver os processos de
decomposio de entidades em vises
(subconjuntos) e a possvel reconstituio da
relao original pela juno destas vises
(subconjuntos)
Uma relao estar em 5 FN se, e somente se,
as dependncias de juno (das vises)
estiverem subentendidas pela chave da relao

Prof. Marcos Miguel - MBI

Quinta Forma Normal 5 FN


217

Considere a seguinte relao:


Atleta

(NumAtleta, SexoAtleta, IdadeAtleta,


EnderecoAtleta)
Exemplo:
Atleta1 (NumAtleta, SexoAtleta, IdadeAtleta)
n Atleta2 (NumAtleta, EnderecoAtleta)
n

Esta

relao est em 5 FN, pois a dependncia de


juno pode ser subentendida pela chave

Prof. Marcos Miguel - MBI

Quinta Forma Normal 5 FN


218

Considere a seguinte situao

Participacao

(NumAtleta, TipoCompeticao, Data)

Prof. Marcos Miguel - MBI

Quinta Forma Normal 5 FN


219

A relao anterior poderia ser assim modelada?

A-C (NumAtleta, TipoCompeticao)


A-D (NumAtleta, Data)
C-D (TipoCompeticao, Data)

Prof. Marcos Miguel - MBI

Quinta Forma Normal 5 FN


220

Verifique o exemplo:

Prof. Marcos Miguel - MBI

Exerccios de Normalizao
221

DADOS-EMPREGADO
#Matrcula
Nome
Endereo
Cdigo-Cargo-Atual
Nome-Cargo-Atual
CURSOS N vezes
Cod-Curso
Nome-Curso
Data-Concluso
Nota-Final
HABILIDADES N vezes
Cod-Habilidade
Nome-Habilidade
Grau-Habilitao
Data-Admisso
Cdigo-Orgo-lotao
Prof. Marcos Miguel - MBI
Nome-Orgo-lotao

Exerccios de Normalizao
222

PEDIDOS (#Num-Pedido, Data-Pedido, Num-Cliente, EndCliente, (Cod-Produto, Nome-Produto, Preo-Unitrio, QtdePedida, Valor-Total-Item), Valor-Total-Pedido)
CONTRATO (#Num-Contrato, Cod-Cliente, Nome-Cliente,
CPF-Cliente, Dt-Inic-Contrato, Dt-Term-Contrato, (NumPrestao, Valor-Prestao, Dt-Venc-Prest),Valor-TotalContrato)
EMPREGADO (#Cod-Empregado, Nome-Empregado, TtuloEmpregado, (Cod-Curso, Data-Incio-Curso, Resultado-Curso))
PEA-ESTOCADA (#Cod-Pea, #Cod-Armazenada, QtdeEstocada,Tel-Armazm)
HORRIO-VO(#Sigla-Cia, #Num-Vo, Horrio-Vo, SiglaAeroporto, Nome-Aeroporto, Cidade-Aeroporto, Status-Vo)

Prof. Marcos Miguel - MBI

Exerccios de Normalizao
223

QUADRO-PESSOAL
#Cod-Orgo
Nome-Orgo
CARGO N vezes
Cod-Cargo
Nome-Cargo
Nmero-Vagas
FUNCIONRIO N vezes
Matrcula-Emp
Nome-Emp
Data-Posse-Emp
Prof. Marcos Miguel - MBI

Diagramas de Tabelas Relacionais (DTR)


224

Toda entidade vira uma tabela


Todo relacionamento com atributo vira uma
tabela
Todo relacionamento N:N vira uma tabela
Simbologia

Prof. Marcos Miguel - MBI

Mapeamento 1:1
225

As duas relaes possuem a mesma chave


primria
Pode-se unir as duas relaes

Prof. Marcos Miguel - MBI

Mapeamento 1:1
226

As duas relaes possuem chaves primrias


diferentes

Pelo menos uma das entidades possui participao total no


relacionamento

Prof. Marcos Miguel - MBI

Mapeamento 1:1
227

Ambas

as entidades possuem participao parcial


no relacionamento

Prof. Marcos Miguel - MBI

Mapeamento 1:N
228

A entidade do lado 1 possui participao total


no relacionamento

Prof. Marcos Miguel - MBI

Mapeamento 1:N
229

A entidade do lado 1 possui participao


parcial no relacionamento

Prof. Marcos Miguel - MBI

Mapeamento N:N
230

Um relacionamento N:N pode ser resolvido em


dois relacionamentos 1:N
Uma relao de interseo deve ser
implementada

Prof. Marcos Miguel - MBI

Mapeamento N:N
231

Prof. Marcos Miguel - MBI

Mapeamento Agregao
232

Prof. Marcos Miguel - MBI

Mapeamento Auto-Relacionamento
233

Prof. Marcos Miguel - MBI

Mapeamento de Hierarquias
234

Prof. Marcos Miguel - MBI

Mapeamento de Hierarquias
235

Prof. Marcos Miguel - MBI

Banco de Dados I
236

Prof. Marcos Miguel


marcos.a.miguel@gmail.com
http://marcosmiguel.tk

<fim>

You might also like