Anda di halaman 1dari 24

MODELAGEM DE DADOS

ndice
INTRODUO............................................................................ ERRO! INDICADOR NO DEFINIDO.
ANLISE DE DADOS ............................................................................................................................... 4
1.

INTRODUO ............................................................................................................................... 4

2.

MODELOS ...................................................................................................................................... 4

3.

MODELO DE DADOS ................................................................................................................... 4

3.1. MODELO DE DADOS CONCEITUAL ..................................................................................................... 5


3.2. MODELO DE DADOS LGICO .............................................................................................................. 5
3.3. MODELO DE DADOS FSICO................................................................................................................ 5
3.4. CONCEITUAL X LGICO ..................................................................................................................... 5
3.5. ELEMENTOS COMPONENTES DE UM MODELO DE DADOS CONCEITUAL .............................................. 6
3.5.1.
Entidade.................................................................................................................................. 6
3.5.2.
Atributo ................................................................................................................................... 6
3.5.3.
Identificador (Chave Primria) .............................................................................................. 7
3.5.4.
Relacionamento ...................................................................................................................... 7
3.5.4.1.
Cardinalidade ............................................................................................................................... 7
3.5.4.2.
Opcionalidade .............................................................................................................................. 8
3.5.4.3.
Tipos de Relacionamentos............................................................................................................ 8
3.5.4.3.1. Relacionamento Reflexivo ou Recursivo (auto-relacionamento) ............................................ 8
3.5.4.3.2. Relacionamento Hierrquico (1 x 1 ou 1 x N) ......................................................................... 8
3.5.4.3.3. Relacionamento Simtrico (N x N) ......................................................................................... 9
3.5.4.3.4. Outros tipos de relacionamento ............................................................................................. 10
Relacionamento Binrio ...................................................................................................................... 10
Relacionamento Ternrio / Quaternrio .............................................................................................. 10

3.5.5.
Supertipo e Subtipo (sub-entidade) ...................................................................................... 11
3.5.6.
Regras de negcio ................................................................................................................ 11
3.6. ELEMENTOS COMPONENTES DE UM MODELO DE DADOS FSICO ...................................................... 12
3.6.1.
Database ............................................................................................................................... 12
3.6.2.
Database Link....................................................................................................................... 12
3.6.3.
Tablespace ............................................................................................................................ 12
3.6.4.
Datafile ................................................................................................................................. 12
3.6.5.
Instance ................................................................................................................................ 12
3.6.6.
User ...................................................................................................................................... 12
3.6.7.
Schema.................................................................................................................................. 13
3.6.8.
Role....................................................................................................................................... 13
3.6.9.
Table ..................................................................................................................................... 13
3.6.10. View ...................................................................................................................................... 15
3.6.11. Snapshot ............................................................................................................................... 15
3.6.12. Column ................................................................................................................................. 15
3.6.13. Line ....................................................................................................................................... 15
3.6.14. Reference .............................................................................................................................. 15
3.6.15. Restrio de Integridade ...................................................................................................... 16
3.6.16. Constraint ............................................................................................................................. 16
y
y
y
y
y

3.6.17.
3.6.18.
3.6.19.
3.6.20.
3.6.21.

Not Null ..................................................................................................................................... 16


Unique ........................................................................................................................................ 16
Primary Key ............................................................................................................................... 16
Check ......................................................................................................................................... 16
Foreign Key (Integridade Referencial) ....................................................................................... 16

Trigger .................................................................................................................................. 17
Procedure ............................................................................................................................. 17
Function................................................................................................................................ 17
Package ................................................................................................................................ 17
Index ..................................................................................................................................... 18

ii
3.6.22.
3.6.23.
3.6.24.
4.

Sequence ............................................................................................................................... 18
Synonym................................................................................................................................ 18
Cluster .................................................................................................................................. 19

NORMALIZAO....................................................................................................................... 19

4.1. PRIMEIRA FORMA NORMAL ............................................................................................................. 19


4.2. SEGUNDA FORMA NORMAL ............................................................................................................. 19
4.3. TERCEIRA FORMA NORMAL ............................................................................................................. 19
4.4. EXEMPLOS DE NORMALIZAO ....................................................................................................... 20
4.4.1.
Primeira Forma Normal ....................................................................................................... 20
4.4.2.
Segunda Forma Normal ....................................................................................................... 21
4.4.3.
Terceira Forma Normal ....................................................................................................... 21
BIBLIOGRAFIA ...................................................................................................................................... 23

iii

ndice de Figuras
Figura 1 Entidade ..................................................................................................................................... 6
Figura 2 Atributo....................................................................................................................................... 6
Figura 3 Chave Primria .......................................................................................................................... 7
Figura 4 Cardinalidade............................................................................................................................. 7
Figura 5 Opcionalidade ............................................................................................................................ 8
Figura 6 Auto-Relacionamento ................................................................................................................. 8
Figura 7 Relacionamentos 1 x 1 ................................................................................................................ 8
Figura 8 Relacionamentos 1 x N ............................................................................................................... 9
Figura 9 Relacionamentos Simtricos ..................................................................................................... 10
Figura 10 Relacionamento Binrio ......................................................................................................... 10
Figura 11 Relacionamento Ternrio ....................................................................................................... 10
Figura 12 Supertipo e Subtipo ................................................................................................................ 11
Figura 13 Modelo Conceitual ................................................................................................................. 14
Figura 14 Modelo Fsico ......................................................................................................................... 14
Figura 15 Referncia............................................................................................................................... 16
Figura 16 Tabela Desnormalizada.......................................................................................................... 20

MODELAGEM DE DADOS

Pg.
4

Modelagem de Dados
1. Introduo
A evoluo constante da tecnologia faz com que as empresas necessitem cada vez mais
de sistemas estveis e confiveis. fato que a espinha dorsal de um sistema sua arquitetura de
dados, ou seja, um sistema desenvolvido com uma arquitetura de dados incorreta causa grandes
transtornos empresa, gerando manutenes constantes e aumentando os custos com
desenvolvimento at que o sistema se torne invivel. Para solucionar este tipo de problema,
necessrio que seja executado um trabalho minucioso sobre a funcionalidade do sistema
prevendo as possveis oscilaes de mercado e regras de negcios abrangentes, elaborando sua
arquitetura de forma efetiva. Para este fim, as modernas tcnicas de desenvolvimento de
sistemas recomendam a utilizao da Anlise de Dados.
A Anlise de Dados , portanto, um conjunto de tcnicas que visa representar, atravs de
modelos, o negcio da empresa enfocado pelo ponto de vista dos dados que o compem e de
forma independente dos processos que manipulam esses dados.

2. Modelos
Os modelos so instrumentos de representaes abstratas de uma realidade existente
(Modelo Descritivo) ou de uma soluo para um determinado problema (Modelo Normativo).
Exemplos:
y Mapa / Globo;
y Planta Arquitetnica;
y Pauta Musical;
y Modelos Matemticos (Simulao, Programao Linear, Filas);
y Modelo de Sistemas;
y Modelo de Dados.

3. Modelo de Dados
Todo o sistema (manual ou computadorizado) manipula, nas suas diversas funes,
objetos. As mais modernas tcnicas de anlise so unnimes em reconhecer a importncia de
analisar estes objetos com independncia das funes que o sistema executa, assim como de
abstrair, mediante um modelo grfico, as caractersticas essenciais destes objetos, Este modelo
, em geral, conhecido como Modelo de Dados.

Modelos de Dados esto para Sistemas assim como mapas esto para reas geogrficas.

MODELAGEM DE DADOS

Pg.
5

A Anlise de Dados admite trs nveis de abstrao de modelos, que representam seu grau
de detalhamento em relao implementao. So eles:
y Modelo Conceitual
y Modelo Lgico
y Modelo Fsico

3.1. Modelo de Dados Conceitual


Forma de apresentao do modelo de dados que visa simplesmente retratar a realidade,
sem considerar qualquer tipo de restrio em nvel hardware ou software. O Modelo Conceitual,
representado atravs de um Diagrama Entidade-Relacionamento (DER), tem como objetivo
representar os requisitos de informao do negcio. Este modelo deve ser totalmente
independente da tecnologia de hardware e software a ser utilizada na implementao.
o modelo no implementvel.

3.2. Modelo de Dados Lgico


Forma de apresentao do modelo de dados que incorpora consideraes sobre as
restries de hardware e software existentes na instalao.
Exemplos:
y Modelo Hierrquico
y Modelo Relacional (teoria dos conjuntos)
y Modelo em Rede
y Lista Invertida
o modelo implementvel.

3.3. Modelo de Dados Fsico


Forma de apresentao do modelo de dados representada pelo conjunto de parmetros
fsicos que retratam a estrutura de armazenamento dos dados.
o modelo implementado.

3.4. Conceitual x Lgico


Algumas metodologias de trabalho utilizam apenas dois nveis de abstrao: conceitual e
fsico. Nelas o nvel conceitual assume, na prtica, caractersticas do nvel lgico, incorporando
ao modelo algumas consideraes sobre as restries de ambiente.
A partir de agora, portanto, iremos considerar somente estes dois nveis.

MODELAGEM DE DADOS

Pg.
6

3.5. Elementos componentes de um Modelo de Dados


Conceitual
Apesar de existirem diversas representaes grficas possveis para o Modelo de Dados
Conceitual, os elementos componentes de um modelo invariavelmente so:
y Entidades
y Atributos
y Identificadores
y Relacionamentos
y Supertipo e Subtipo
y Regras de negcio

3.5.1.

Entidade

Uma entidade um conjunto de objetos do mundo real, semelhantes entre si, a respeito
dos quais guardam-se a mesma espcie de dados, ou seja, qualquer coisa concreta ou conceitual
que tenha significado para o negcio e sobre a qual seja necessrio guardar informaes.
Para a anlise de dados, ela composta de um nmero finito de objetos, maior que um,
cada um deles possvel de ser univocamente identificado, e normalmente denominada pelo
substantivo que designa cada um dos objetos que a compem.
Convm observar que desde a popularizao dos Sistemas de Gerenciamento de Bancos
de Dados Relacionais, comum chamar as entidades de tabelas.

Figura 1 Entidade

EMPREG ADO

EMPREGADO uma entidade porque representa um conjunto de objetos a respeito do qual se


guardam dados. O conjunto finito, possui mais de um objeto e cada um deles pode ser
individualmente identificado.

3.5.2.

Atributo

Um atributo um dado especfico que qualifica ou caracteriza os objetos de uma entidade


ou as instncias de um relacionamento. Os atributos so as informaes de uma entidade que
precisam ser conhecidas do ponto de vista do negcio.
Figura 2 Atributo
EMPREGADO
COD_EMPREGADO
NOM_EMPREGADO
VLR_SALARIO

COD_EMPREGADO, NOM_EMPREGADO e VLR_SALARIO so atributos da


entidade EMPREGADO.

MODELAGEM DE DADOS

3.5.3.

Pg.
7

Identificador (Chave Primria)

o atributo, ou conjunto de atributos, capaz de identificar com unicidade cada objeto de


uma Entidade ou ocorrncia de um Relacionamento.
O Atributo Identificador possui algumas regras para a sua existncia. So elas:
y O identificador deve ser nico para cada ocorrncia da Entidade;
y O identificador no pode conter valores nulos;
y O valor do identificador deve ser conhecido quando uma ocorrncia criada;
y O identificador no deve sofrer alteraes;
y O identificador deve estar no comeo da tabela.
Figura 3 Chave Primria
EMPREGADO
COD_EMPREGADO
NOM_EMPREGADO
VLR_SALARIO

3.5.4.

COD_EMPREGADO identificador da entidade EMPREGADO.

Relacionamento

Os diversos objetos manipulados por um sistema podem possuir associaes que so


importantes registrar e analisar. Estas associaes so representadas, no Modelo de Dados,
mediante relacionamentos.
Um Relacionamento a representao de um vnculo entre os objetos de duas ou mais
entidades. Tambm Relacionamento a associao entre diferentes objetos de uma mesma
entidade (auto-relacionamento).

3.5.4.1. Cardinalidade
a indicao do nmero mximo de objetos de uma entidade aos quais os objetos de
outra(s) entidade(s) podem estar vinculados.
Figura 4 Cardinalidade

DIVISAO

EMPREGADO
PERTENCE

Considerando-se o relacionamento empregado pertence a uma


diviso, dizemos que a cardinalidade de empregado N
(representado graficamente por um p de galinha), porque mais de
um empregado pode pertencer a uma diviso; e dizemos que a
cardinalidade da diviso 1, porque um empregado pertence a uma e
somente numa diviso.

MODELAGEM DE DADOS

Pg.
8

3.5.4.2. Opcionalidade
Expressa, conceitualmente, se o relacionamento obrigatrio ou opcional.

Figura 5 Opcionalidade

CLIENTE

PROJETO
SUBCONTRATA

Considerando-se o relacionamento Cliente subcontrata projeto,


constata-se que um cliente pode ou no subcontratar projetos (opcional
representado graficamente pelo crculo vazado), porm um projeto
sempre subcontratado por um e somente um cliente (obrigatrio
representado graficamente pelo trao cruzando o relacionamento).

3.5.4.3. Tipos de Relacionamentos


Os tipos mais comuns de relacionamentos so:
y Relacionamento Reflexivo ou Recursivo (auto-relacionamento);
y Relacionamento Dependente ou Hierrquico;
y Relacionamento Simtrico.

3.5.4.3.1. Relacionamento Reflexivo ou Recursivo (auto-relacionamento)


Associao entre diferentes objetos de uma mesma entidade.
Figura 6 Auto-Relacionamento

EMPREGADO

Um empregado supervisor de outros empregados. Isto implica que existe um autorelacionamento na entidade EMPREGADO, que poderia ser nomeado como
SUPERVISIONA.
SUPERVISIONA

3.5.4.3.2. Relacionamento Hierrquico (1 x 1 ou 1 x N)


Um relacionamento hierrquico quando a ocorrncia de uma entidade se relaciona com
nenhuma, uma ou mais ocorrncias de outra entidade e uma ocorrncia desta ltima se
relaciona exclusivamente com uma da primeira.
Figura 7 Relacionamentos 1 x 1
EQUIPE

PROJETO
PARTICIPA

Cada equipe participa de NENHUM (ZERO) ou UM


projeto. Cada projeto gerenciado por NENHUMA (ZERO)
ou UMA equipe.

MODELAGEM DE DADOS

EQUIPE

PROJETO
PARTICIPA

EQUIPE

PROJETO
PARTICIPA

Pg.
9

Cada equipe participa de NENHUM (ZERO) ou UM


projeto. Cada projeto gerenciado por UMA e SOMENTE
UMA equipe.

Cada equipe participa de UM e SOMENTE UM projeto.


Cada projeto gerenciado por NENHUMA (ZERO) ou
UMA equipe.

Figura 8 Relacionamentos 1 x N
DIVISAO

EMPREGADO
PERTENCE

Cada diviso PODE ter NENHUM (ZERO) ou MAIS


empregados.
Cada empregado PODE pertencer a NENHUMA (ZERO)
ou UMA diviso.
Cada diviso DEVE ter UM ou MAIS empregados.

DIVISAO

EMPREGADO
PERTENCE

DIVISAO

EMPREGADO
PERTENCE

DIVISAO

Cada diviso DEVE ter UM ou MAIS empregados.


Cada empregado DEVE pertencer a UMA e SOMENTE
UMA diviso.

EMPREGADO

Cada diviso PODE ter NENHUM (ZERO) ou MAIS


empregados. Cada empregado DEVE pertencer a UMA e
SOMENTE UMA diviso. Cada empregado
IDENTIFICADO UNICAMENTE pelo nmero da diviso
e nmero do empregado.

PERTENCE

DIVISAO

EMPREGADO
PERTENCE

Cada diviso PODE ter NENHUM (ZERO) ou MAIS


empregados.
Cada empregado DEVE pertencer a UMA e SOMENTE
UMA diviso.

EMPREGADO
PERTENCE

DIVISAO

Cada empregado PODE pertencer a NENHUMA


(ZERO) ou UMA diviso.

Cada diviso DEVE ter UM ou MAIS empregados. Cada


empregado DEVE pertencer a UMA e SOMENTE UMA
diviso. Cada empregado IDENTIFICADO
UNICAMENTE pelo nmero da diviso e nmero do
empregado.

3.5.4.3.3. Relacionamento Simtrico (N x N)


Um relacionamento simtrico quando a ocorrncia de uma entidade se relaciona com
nenhuma, uma ou mais ocorrncias de outra entidade e uma ocorrncia desta ltima se
relaciona com nenhuma, uma ou mais da primeira. Relacionamentos com cardinalidade NxN
iro gerar uma tabela no modelo fsico.

MODELAGEM DE DADOS

Pg.
10

Figura 9 Relacionamentos Simtricos


DIVISAO

EMPREGADO
PERTENCE

DIVISAO

EMPREGADO
PERTENCE

DIVISAO

EMPREGADO
PERTENCE

DIVISAO

EMPREGADO
PERTENCE

Cada diviso PODE ter NENHUM (ZERO), UM ou MAIS


empregados.
Cada empregado PODE pertencer a NENHUMA (ZERO),
UMA ou MAIS divises.

Cada diviso DEVE ter UM ou MAIS empregados. Cada


empregado PODE pertencer a NENHUMA (ZERO), UMA
ou MAIS divises.

Cada diviso PODE ter NENHUM (ZERO), UM ou MAIS


empregados. Cada empregado DEVE pertencer a UMA ou
MAIS divises.

Cada diviso DEVE ter UM ou MAIS empregados. Cada


empregado DEVE pertencer a UMA ou MAIS divises.

Nos exemplos anteriores utilizamos a notao grfica que foi criada por Chris Gane.

3.5.4.3.4. Outros tipos de relacionamento


Algumas metodologias dividem os relacionamentos de acordo com o nmero de
entidades que fazem parte da relao. So eles:

Relacionamento Binrio
Associao entre duas entidades.
Figura 10 Relacionamento Binrio
CLIENTE

PRODUTO
COMPRA

Um CLIENTE compra um PRODUTO. Este


relacionamento poderia ser indicado por
CLIENTE_COMPRA_PRODUTO.

Relacionamento Ternrio / Quaternrio


Associao entre trs (ternrio) ou quatro (quaternrio) entidades.
Figura 11 Relacionamento Ternrio
PROFESSOR

CURSO
ESCALA

MATERIA

Um PROFESSOR escalado para uma MATRIA de um


determinado CURSO. Este relacionamento poderia ser
indicado por
ESCALA_PROFESSOR_CURSO_MATERIA.

MODELAGEM DE DADOS

Pg.
11

Nos exemplos anteriores utilizamos a notao grfica que foi criada por Peter Chen.

3.5.5.

Supertipo e Subtipo (sub-entidade)

til s vezes, para melhor entendimento do problema, particionar ou dividir o conjunto


de objetos de uma entidade em uma srie de subconjuntos. A cada um desses conjuntos d-se o
nome de SUBTIPO (sub-entidade) e entidade principal d-se o nome de SUPERTIPO.
O conceito de subtipo til principalmente quando:
a) Alm dos atributos da entidade maior, cada subtipo possui atributos especficos;
b) Um subtipo participa de relacionamentos de que a entidade maior (supertipo) no
participa.
Uma entidade pode ser dividida, simultaneamente, atravs de mais de um critrio; e um
subtipo, por sua vez, pode ser particionado em subtipos menores.
Figura 12 Supertipo e Subtipo

PESSOA

FISICA

JURIDICA

PUBLICA

3.5.6.

Num Sistema de Cadastro de Pessoas de um Banco, a entidade


PESSOA pode ser dividida nas sub-entidades FSICA e
JURDICA. A sub-entidade JURDICA pode, ainda, ser
subdividida nas sub-entidades PBLICA e PRIVADA.

PRIVADA

Regras de negcio

A finalidade das regras de negcio permitir a documentao de informaes que no


podem ser intuitivamente extradas do modelo em si. As regras de negcio so classificadas em
quatro tipos. So eles:
1. Definition
a definio de um objeto no mbito do sistema de informao.
Exemplo: O cliente a pessoa qualificada por nome e endereo.
2. Fact
a descrio de um fato no mbito do sistema de informao.
Exemplo: O cliente pode fazer um ou mais pedidos.
3. Formula
a descrio de um clculo utilizado no mbito do sistema de informao.

MODELAGEM DE DADOS

Pg.
12

Exemplo: O total do pedido a soma do valor de todas as linhas do pedido.


4. Validation
a descrio de uma regra de validao no mbito do sistema de informao.
Exemplo: A soma dos totais dos pedidos de um cliente no pode ser maior do que o valor
de seu limite de crdito.

3.6. Elementos componentes de um Modelo de Dados


Fsico
O Modelo de Dados Fsico a representao grfica da estrutura fsica de um Banco de
Dados, gerado a partir do Modelo de Dados Conceitual. Nem sempre um elemento componente
de um modelo de dados fsico corresponde a um objeto fsico no banco ou vice-versa. Neste
captulo incluiremos os conceitos de ambos os casos.

3.6.1.

Database

Um Database ou Banco de Dados uma coleo de dados tratada como uma unidade. O
principal objetivo de um Database armazenar e reter informaes relacionadas entre si.

3.6.2.

Database Link

Database Link o nome do objeto que descreve um caminho de uma base de dados
para outra.

3.6.3.

Tablespace

Uma base de dados (database) dividida em uma ou mais unidades lgicas de


armazenamento chamada Tablespace. Para cada sistema devem ser criadas tablespaces
diferenciadas para armazenar dados e ndices.

3.6.4.

Datafile

Uma Tablespace formada por um ou mais Datafiles, nos quais todos os dados da base
ficam fisicamente armazenados. Um Datafile sempre est associado a uma Tablespace e a um
Database.

3.6.5.

Instance

Uma Instance um sistema em funcionamento, considerando seus requisitos ambientais


(alocao de recursos de memria, disco, etc.).

3.6.6.

User

Para acessar os dados armazenados no banco, necessrio que seja executado algum tipo
de aplicao (SQL*PLUS, programa compilado, etc.). Essa execuo feita no banco atravs de
usurios, que so permisses de acesso aos dados do banco segundo restries de segurana

MODELAGEM DE DADOS

Pg.
13

impostas. Essas restries limitam, em vrios nveis, o que e como acessar no mbito de um
banco de dados especfico.

3.6.7.

Schema

Um Schema uma coleo de objetos (tabelas, views, sequences, stored procedures, etc.)
que referencia de forma lgica os dados no banco. Apesar de ter um conceito semelhante ao da
Tablespace, no tem com ela nenhuma relao, o que vale dizer que objetos de um mesmo
schema podem estar em diferentes tablespaces, e uma tablespace pode conter objetos de
diferentes schemas.

3.6.8.

Role

Uma estrutura que visa facilitar a administrao de segurana e privilgios de acesso aos
objetos do banco de dados. Pode ser definida como um conjunto de privilgios determinados,
aos quais podemos associar diferentes Users.

3.6.9.

Table

uma unidade bsica de armazenamento de dados, representando o nvel fsico de uma


entidade ou de um relacionamento de cardinalidade NxN. composta por linhas (tuplas) e
colunas, onde os dados so armazenados. Toda tabela tem um nome nico e um conjunto de
colunas com um tipo para cada uma delas. Uma linha , portanto, uma coleo de colunas
contendo dados correspondentes a um nico registro.
Nos SGBDs em geral, a tabela utilizada para armazenar dados, que podem ser inseridos,
modificados, excludos e recuperados atravs da linguagem SQL. Mostramos a seguir a
representao grfica de um modelo de dados fsico e o modelo conceitual do qual ele foi
derivado.
Quando a tabela for referente a um detalhamento ou complementao de tabelas (em
geral Kernel) que no podem receber colunas, usamos o sufixo _DETALHE.
Exemplo: MPUTMTAB_DETALHE (tabela que contm colunas complementares
tabela Kernel MPUTMTAB, e que tem com ela um relacionamento de cardinalidade 1X1, com
Foreign Key definida, e mesma Primary Key).
Quando a tabela for referente ao resultado de um relacionamento de cardinalidade NxN
(tabela associativa), usamos o prefixo REL_ seguido do mnemnico das duas tabelas
envolvidas, separados por underscore.
Exemplo: REL_THUFITAB_MPUFCTAB (tabela resultante do relacionamento de
cardinalidade NxN entre as tabelas THUFITAB e MPUFCTAB).

Pg.
14

MODELAGEM DE DADOS

Figura 13 Modelo Conceitual

DIVISAO

EQUIPE

CLIENTE

SUBCONTRATA

E_MEMBRO_DE

EMPREGADO

PROJETO

PERTENCE
USA

PARTICIPA

SUPERVISIONA

TEM

MATERIAL

PARTICIPACAO

POSSUI

TAREFA
REALIZA

E_COMPOSTO_DE

Figura 14 Modelo Fsico

MEMBRO

DIVISAO

EQUIPE

EMPREGADO

PROJETO

UTILIZA

CLIENT E
MATERIAL

PART ICIPACAO

COMPOE

T AREFA

MODELAGEM DE DADOS

Pg.
15

3.6.10. View
Representao lgica de uma tabela ou combinao de tabelas e/ou views, ou seja, uma
apresentao sob medida dos dados de uma ou mais tabelas e/ou views.
Uma view no possui ou armazena dados fisicamente. Seus dados so derivados de
tabelas ou views, sobre as quais esto baseados. Entretanto, como as tabelas, os dados
manipulados pelas views podem ser consultados, alterados, inseridos e apagados; porm, estas
operaes afetam apenas as tabelas nas quais a view foi baseada.
O uso de views indicado para situaes em que o sistema precisa atualizar dados de
uma tabela corporativa ou de domnio de um outro sistema, ou ainda para situaes em que se
deseja disponibilizar dados restritos, de acordo com o nvel de privilgio que o perfil de cada
usurio lhe confere.

3.6.11. Snapshot
Mtodo automtico para replicao de tabelas previsto em diversos SGBDs que consiste
em copiar dados de uma ou mais tabelas disponibilizando-os apenas para leitura. Esta cpia
funciona como um retrato peridico que reflete um estado consistente da tabela ou tabelas s
quais ele se refere, no momento em que a cpia feita. A este processo d-se o nome de
Refresh.
Um snapshot assemelha-se a uma view, pois ambos baseiam-se em scripts com selects
pr-definidos. A diferena consiste apenas no fato de que em uma view a busca dos dados
dinmica, permitindo portanto atualizaes.

3.6.12. Column
o conjunto de valores que um determinado elemento pode assumir. Corresponde ao
atributo do modelo conceitual.

3.6.13. Line
Cada uma das combinaes de valores de domnio de uma entidade ou tabela.

3.6.14. Reference
Uma Referncia representa o nvel fsico de um Relacionamento.
A referncia indica a ligao entre a tabela me e a tabela filha. A coluna
referenciada deve pertencer chave primria da tabela me e ser, na tabela filha, considerada
uma foreign key (chave estrangeira), independentemente de fazer parte ou no da chave
primria da tabela filha. Temos portanto colunas existentes em tabelas distintas, que
representam a mesma informao.

MODELAGEM DE DADOS

Pg.
16

Figura 15 Referncia
PROJETO
NUM_PROJETO

TAREFA
NUM_PROJETO
NOM_TAREFA

EMPREGADO
DIVISAO
NUM_DIVISAO
NOM_DIVISAO

NUM_EMPREGADO
NOM_EMPREGADO
VLR_SALARIO
NUM_DIVISAO

Nesta referncia, a tabela PROJETO considerada


me de TAREFA (filha). A chave primria
NUM_PROJETO foreign key em tarefa, e como
esta dependente de PROJETO, NUM_PROJETO
faz parte, tambm, da sua chave primria.
Nesta referncia, a tabela DIVISO considerada
me de EMPREGADO (filha). A chave primria
NUM_DIVISAO foreign key em EMPREGADO
e, como esta no dependente de NUM_DIVISAO,
apenas um atributo.

3.6.15. Restrio de Integridade


uma condio que precisa ser cumprida para que o modelo seja considerado ntegro.
Esta condio pode ser estabelecida em nvel de um atributo (coluna), de uma entidade (tabela)
ou de um relacionamento (referncia).
A restrio de integridade uma forma de implementar regras de negcio, seja via
trigger, stored-procedure ou constraint.
Exemplo: Podemos estabelecer que o atributo sexo s pode assumir os valores M ou F.

3.6.16. Constraint
Uma constraint um dos recursos que o SGBD utiliza para implementar e garantir
automaticamente o cumprimento de regras determinadas no projeto conceitual. H vrios tipos
diferentes de constraint:
y

Not Null

para impedir nulos em uma coluna.


y

Unique

para garantir valores nicos em uma coluna ou conjunto de colunas. Est sempre
associada a um ndice.
y

Primary Key

associada a valores primrios de identificao de uma tabela (chave de acesso).


y

Check

constraint de integridade para regras de integridade complexas


y

Foreign Key (Integridade Referencial)

Para cada referncia podem ser definidas regras responsveis pela manuteno da
integridade do banco, conhecidas como integridade referencial e estas regras aplicam-se s
operaes bsicas (incluso, excluso e alterao). Devem responder questes como:
y Para se inserir uma linha ou atributo numa tabela necessrio existir ocorrncias em
outras tabelas?
y Para se excluir uma linha ou atributo de uma tabela necessrio verificar o impacto
(incluso, excluso, alterao) em outras tabelas?

MODELAGEM DE DADOS

Pg.
17

y Para se alterar uma linha ou atributo de uma tabela necessrio verificar o impacto em
outras tabelas?
y A excluso de uma linha ou atributo pode implicar na excluso automtica de
ocorrncias em outras tabelas?
y A incluso de uma linha ou atributo exige a incluso tambm em outras tabelas no
mesmo momento?
De acordo com as respostas obtidas s perguntas acima, pode-se, automaticamente,
associar referncia as seguintes regras:
y CASCADE DELETE: A excluso de linhas da tabela me implica na excluso
automtica das linhas correspondentes da tabela filha.
y CASCADE MODIFY: A modificao da chave primria da tabela me implica na
modificao automtica das foreign key correspondentes da tabela filha.
y RESTRICT DELETE: A excluso de linhas da tabela me implica na verificao de
linhas correspondentes na tabela filha.
y RESTRICT MODIFY: A modificao da chave primria da tabela me implica na
verificao da inexistncia de linhas correspondentes na tabela filha.
y SET NULL: A excluso de linhas da tabela me implica na alterao automtica da
foreign key para NULL nas linhas correspondentes da tabela filha.

3.6.17. Trigger
So procedimentos executados automaticamente quando uma declarao Insert, Update
ou Delete aplicada a uma tabela. Quando um trigger definido, pode ser especificado o
nmero de vezes que deve ser executado. Triggers somente podem ser definidos sobre tabelas,
no sobre views ou snapshots.

3.6.18. Procedure
Consiste em um conjunto de declaraes SQL e PL/SQL que so unidas para resolver
problemas especficos, para realizar uma srie de tarefas relacionadas ou para garantir a
implementao de regras de negcio. Uma Procedure criada e gravada na forma compilada na
base de dados e pode ser executada por um usurio ou por uma aplicao.
As procedures no retornam valores.

3.6.19. Function
Procedures e Functions so idnticas, exceto que Functions sempre retornam valor ao
chamador, enquanto que Procedures no.

3.6.20. Package
Prov um mtodo de encapsulamento e armazenamento de Procedures, Functions e
variveis, unindo tudo num pacote nico. Alm dos Packages permitirem ao administrador ou
desenvolvedor de aplicaes a habilidade para organizar cada rotina, tambm oferecem uma
maior funcionalidade (por exemplo, um package de variveis globais, podem ser declaradas e

MODELAGEM DE DADOS

Pg.
18

usadas por qualquer procedure dentro do mesmo package) e maior performance (por exemplo:
todos os objetos do package so compilados e carregados em memria).

3.6.21. Index
Um Index (ndice) uma estrutura fsica usada para garantir a unicidade das linhas e/ou
acelerar o acesso aos dados. ndices so sempre definidos nas primary keys e unique keys, e
podem ser definidos para foreign keys ou qualquer outra coluna ou associao de colunas.
Um index prov um caminho de acesso, em geral mais rpido, sobre os dados de uma
tabela, podendo reduzir o nmero de I/O em disco. A ausncia ou presena de um index no
requer mudanas na declarao de um SQL. Um index meramente um caminho de acesso mais
rpido para os dados, afetando somente a velocidade de execuo. O index aponta diretamente
para a localizao das linhas que contm o valor indexado.
Indexes so lgica e fisicamente independentes dos dados aos quais esto associados.
Podem ser criados ou retirados a qualquer hora sem efeito sobre as tabelas da base ou outros
indexes. Um index requer espao para armazenagem, e uma vez criado, automaticamente
mantido e usado. Alteraes dos dados, como insero, alterao ou deleo de linhas, so
automaticamente refletidas nos indexes. A presena de muitos indexes sobre uma tabela pode
decrementar a performance de alteraes, delees e inseres, pois os indexes associados
tabela tambm devem ser atualizados.

3.6.22. Sequence
Gera uma lista de nmeros nicos para colunas numricas de tabelas. Sequences
simplificam programas de aplicao por gerar automaticamente valores numricos nicos para
as linhas de uma ou mltiplas tabelas.
Nmeros sequence so independentes das tabelas. A mesma sequence pode ser usada por
uma ou mais tabelas. Aps a criao, uma sequence pode ser acessada por vrios usurios para a
atualizao dos nmeros seqenciais.
Por exemplo, dois usurios esto inserindo simultaneamente registros de empregados na
tabela EMP. Por usar uma sequence para gerar nmeros de empregados nicos para a coluna
EMPNO, nenhum dos usurios tem que esperar o outro para incluir o prximo nmero de
empregado disponvel. A sequence gera automaticamente os valores corretos para cada usurio.
A gerao de nmeros seqenciais freqentemente usada para gerar unique primary keys
dos dados automaticamente.

3.6.23. Synonym
Um Synonym (Sinnimo) um alias de qualquer tabela, view, snapshot, sequence,
procedure, function ou package. Como um synonym simplesmente um alias, no requer outra
definio no dicionrio de dados.
Dois tipos de synonyms podem ser criados: Public e Private. Um Public Synonym
possui um usurio especial de nome Public e acessado por todo usurio na base. Um Private
Synonym est contido no schema de um usurio especfico e disponvel para o mesmo e para
outros usurios com permisso.

MODELAGEM DE DADOS

Pg.
19

3.6.24. Cluster
So mtodos opcionais para gravao de dados, de uma ou mais tabelas. Um Cluster um
grupo de tabelas que compartilham o mesmo bloco de dados, pois compartilham as mesmas
colunas e so freqentemente acessadas separadamente. Reduz I/O em disco e melhora o tempo
de acesso.

4. Normalizao
Normalizao uma tcnica de Anlise de Dados que procura eliminar redundncias e
identificar estruturas complexas a serem simplificadas. Existem vrios nveis de normalizao,
porm, as regras alm da chamada terceira forma normal aplicam-se a casos muito especiais. Na
prtica, considera-se que a terceira forma normal j possibilita simplicidade e ausncia de
redundncia suficientes para um bom projeto. Assim, o termo modelo normalizado, segundo
este raciocnio, refere-se a um modelo na terceira forma normal, pelo menos.

4.1. Primeira Forma Normal


Uma tabela est na primeira forma normal se e somente se no contm grupos
repetitivos.

4.2. Segunda Forma Normal


Uma tabela est na segunda forma normal se e somente se est na primeira forma
normal e todos os atributos no identificadores so dependentes de toda a chave primria, e no
somente de parte dela.

4.3. Terceira Forma Normal


Uma tabela est na terceira forma normal se e somente se est na Segunda forma
normal e todos os atributos no identificadores dependem exclusivamente da chave e so
mutuamente independentes entre si (dois ou mais atributos so mutuamente independentes, se
nenhum deles for funcionalmente dependente de qualquer combinao de outros. Assim,
independncia implica em que cada atributo pode ser atualizado independentemente de todo o
resto.

Pg.
20

MODELAGEM DE DADOS

4.4. Exemplos de Normalizao


Tomemos como exemplo a seguinte tabela, que est desnormalizada:
Figura 16 Tabela Desnormalizada
FUNCIONARIO
COD_FUNCIONA RIO
NOM_FUNCIONA RIO
IND_SEXO
COD_CURSO1
NOM_CURSO1
DAT_CONCLUSA O_CURSO1
COD_CURSO2
NOM_CURSO2
DAT_CONCLUSA O_CURSO2
COD_CURSO3
NOM_CURSO3
DAT_CONCLUSA O_CURSO3
COD_NIVEL
VLR_SALARIO

4.4.1.

Primeira Forma Normal

Observe
que
os
atributos
COD_CURSO,
NOM_CURSO
e
DAT_CONCLUSAO_CURSO formam um grupo que se repete trs vezes. Para que esta tabela
esteja na primeira forma normal preciso eliminar esta repetio.
FUNCIONARIO

grupo
repetitivo

COD_FUNCIONARIO
NOM_FUNCIONARIO
IND_SEXO
COD_CURSO1
NOM_CURSO1
DAT_CONCLUSAO_CURSO1
COD_CURSO2
NOM_CURSO2
DAT_CONCLUSAO_CURSO2
COD_CURSO3
NOM_CURSO3
DAT_CONCLUSAO_CURSO3
COD_NIVEL
VLR_SALARIO

Eliminando a repetio, obtemos:


FUNCIONARIO
COD_FUNCIONARIO
NOM_FUNCIONARIO
IND_SEXO
COD_NIVEL
VLR_SALARIO

CURRICULO
COD_FUNCIONARIO
COD_CURSO
NOM_CURSO
DAT_CONCLUSAO_CURSO

Pg.
21

MODELAGEM DE DADOS

4.4.2.

Segunda Forma Normal

Note que o atributo NOM_CURSO dependente exclusivamente de COD_CURSO e no


de COD_FUNCIONARIO.
FUNCIONARIO

CURRICULO

COD_FUNCIONARIO
NOM_FUNCIONARIO
IND_SEXO
COD_NIVEL
VLR_SALARIO

COD_FUNCIONARIO
COD_CURSO
NOM_CURSO
DAT_CONCLUSAO_CURSO

dependentes

Aplicando a Segunda Forma Normal, obtemos:

FUNCIONARIO
COD_FUNCIONARIO
NOM_FUNCIONARIO
IND_SEXO
COD_NIVEL
VLR_SALARIO

CURRICULO
COD_FUNCIONARIO
COD_CURSO
DAT_CONCLUSAO_CURSO

CURSO
COD_CURSO
NOM_CURSO

4.4.3.

Terceira Forma Normal

Note que o atributo SALARIO dependente de NIVEL_SALARIAL, que tambm um


atributo no identificador.

FUNCIONARIO

dependentes

COD_FUNCIONARIO
NOM_FUNCIONARIO
IND_SEXO
COD_NIVEL
VLR_SALARIO

CURRICULO
COD_FUNCIONARIO
COD_CURSO
DAT_CONCLUSAO_CURSO

CURSO
COD_CURSO
NOM_CURSO

MODELAGEM DE DADOS

Pg.
22

Aplicando a Terceira Forma Normal, obtemos:


FUNCIONARIO
COD_FUNCIONARIO
NOM_FUNCIONARIO
IND_SEXO
COD_NIVEL

NIVEL_SALARIAL
COD_NIVEL
VLR_SALARIO

CURRICULO
COD_FUNCIONARIO
COD_CURSO
DAT_CONCLUSAO_CURSO

CURSO
COD_CURSO
NOM_CURSO

Vamos colocar em prtica o que foi aprendido!

MODELAGEM DE DADOS

Pg.
23

Bibliografia
DATE, C.J. An Introduction to Database Systems. The Systems Programming Series USA:
Addison Wsley Puglishing Company, Inc., Sixth Edition, 1995.
FURTADO, A.L. e SANTOS, C.S. Organizao de Bancos de Dados. Rio de Janeiro: Editora
Campus. Terceira Impresso, 1982.
Data Model Designer for Oracle Guia de Referncia. Brasil: ASSESYS
Multimtodo Guia de Referncia (Anlise de Dados, Definio de Restrio de Integridade,
Projeto Lgico de Banco de Dados, Projeto Fsico de Banco de Dados). Brasil:
Multinformtica, Julho/1991
Oracle 11g Server Concepts Manual. Part Number 6693-70-1292, December 2009.
S-Designor Reference Guide, Release 4.2. USA: Powersoft Corporation, 1995.

Anda mungkin juga menyukai