Vous êtes sur la page 1sur 154

BANCO DE DADOS I

Simone Maria Viana Romano

2011

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Contedo
INFORMAES IMPORTANTES .................................................................................................................... 6
Sugesto de Livros e Revistas ......................................................................................................................... 6
Software Utilizados ......................................................................................................................................... 6
Avaliao ........................................................................................................................................................ 6
Contato ............................................................................................................................................................ 6
Avisos .............................................................................................................................................................. 6
Erros da Apostila ............................................................................................................................................ 6
PROJETO DE BANCO DE DADOS (TAREFA AVALIATIVA) .................................................................... 7
INTRODUO ..................................................................................................................................................... 8
HISTRIA ............................................................................................................................................................. 9
CONCEITOS ....................................................................................................................................................... 10
DADO ................................................................................................................................................................. 10
INFORMAO ..................................................................................................................................................... 10
CONHECIMENTO ................................................................................................................................................. 10
NVEIS DE INTERAO E NVEIS DE ABSTRAO ............................................................................................... 10
BANCO DE DADOS .............................................................................................................................................. 11
ARQUITETURA DE BANCO DE DADOS ................................................................................................................. 12
COMPARTILHAMENTO DOS DADOS..................................................................................................................... 13
INDEPENDNCIA DOS DADOS.............................................................................................................................. 14
TIPOS DE BANCO DE DADOS ...................................................................................................................... 14
INSTNCIA E ESQUEMA .............................................................................................................................. 15
SISTEMA DE BANCO DE DADOS................................................................................................................. 15
ABORDAGENS DE BANCO DE DADOS........................................................................................................ 16
HIERRQUICO .................................................................................................................................................... 17
REDE .................................................................................................................................................................. 17
RELACIONAL ...................................................................................................................................................... 18
ORIENTADO A OBJETO ....................................................................................................................................... 19
SISTEMA GERENCIADOR DE BANCO DE DADOS .................................................................................. 21
Definies .................................................................................................................................................... 21
Vantagens ...................................................................................................................................................... 22
Caractersticas .............................................................................................................................................. 22
PROJETO DE BANCO DE DADOS ................................................................................................................. 23
DEFINIO DO MODELO DE DADOS ................................................................................................................... 24
EXERCCIOS ................................................................................................................................................... 25
TAREFA 01 INTRODUO A BANCO DE DADOS ................................................................................. 25
MODELO CONCEITUAL DE DADOS ........................................................................................................... 26
COMPONENTES DO M.E.R. ................................................................................................................................. 26
ENTIDADE E INSTNCIA (TUPLA) ........................................................................................................ 26
RELACIONAMENTO.................................................................................................................................. 27
Diagrama de Ocorrncias ............................................................................................................................. 27
Auto-Relacionamento .................................................................................................................................... 28
Cardinalidade................................................................................................................................................ 28
Atributo.......................................................................................................................................................... 29
IDENTIFICAR ENTIDADES.................................................................................................................................... 31
RELACIONAMENTO IDENTIFICADOR ................................................................................................................... 31
ATRIBUTO-CHAVE ............................................................................................................................................. 32
EXEMPLO PRTICO............................................................................................................................................. 32
EXERCCIOS ................................................................................................................................................... 32
2

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

PROJETO: BANCO DE DADOS ...................................................................................................................... 35


ENTIDADE-RELACIONAMENTO ESTENDIDO ......................................................................................... 36
GENERALIZAO/ESPECIALIZAO ....................................................................................................... 36
NVEIS DE HERANA MLTIPLA......................................................................................................................... 38
ENTIDADE ASSOCIATIVA .................................................................................................................................... 38
NOTAO DER-X .............................................................................................................................................. 39
UTILIZAMOS A SEGUINTE NOMENCLATURA: ....................................................................................................... 40
RESTRIO DE DISJUNO ................................................................................................................................. 40
SUBCLASSES MUTUAMENTE EXCLUSIVAS:........................................................................................... 40
SUBCLASSES QUE SE SOBREPEM: .......................................................................................................... 41
ASPECTO TEMPORAL ................................................................................................................................... 42
EXERCCIOS ................................................................................................................................................... 42
TAREFA 02 - MODELO DE DADOS CONCEITUAL ................................................................................... 43
SOFTWARE BRMODELO ............................................................................................................................... 44
MENU SISTEMA ............................................................................................................................................. 45
PRTICA 01 - MODELO CONCEITUAL DE DADOS ................................................................................. 49
MODELO LGICO DE DADOS ...................................................................................................................... 50
ENGENHARIA DE INFORMAES ............................................................................................................. 50
COMPONENTES ............................................................................................................................................. 50
NOTAO ....................................................................................................................................................... 52
DIFERENA ENTRE AS NOTAES ........................................................................................................... 52
EXERCCIOS ................................................................................................................................................... 54
TRATAMENTO E CLASSIFICAO DOS DADOS .................................................................................... 57
TIPOS DOS DADOS......................................................................................................................................... 57
CLASSIFICAO DOS DADOS..................................................................................................................... 57
EXERCCIOS ................................................................................................................................................... 59
TAREFA 03TRATAMENTO DOS DADOS .................................................................................................. 61
DESCRIO DO FLUXO DE DADOS ............................................................................................................ 62
EXERCCIOS ................................................................................................................................................... 63
TAREFA 04 DESCRIO DO FLUXO DE DADOS ................................................................................... 66
RELACIONAMENTO ENTRE OBJETOS...................................................................................................... 67
CARDINALIDADE E MODALIDADE ........................................................................................................... 68
EXERCCIOS ................................................................................................................................................... 70
TAREFA 05RELACIONAMENTO ENTRE OBJETOS ................................................................................ 72
IDENTIFICAO DA INSTNCIA ................................................................................................................ 73
EXERCCIOS ................................................................................................................................................... 74
TAREFA 06IDENTIFICAO DE INSTNCIA .......................................................................................... 75
RELACIONAMENTO 1 : 1 ............................................................................................................................... 76
RELACIONAMENTO 1 : N .............................................................................................................................. 76
EXERCCIOS ................................................................................................................................................... 77
TAREFA 07 RELACIONAMENTO 1 : N...................................................................................................... 81
RELACIONAMENTO DO TIPO M : N ........................................................................................................... 82
EXERCCIOS ................................................................................................................................................... 84
TAREFA 08 RELACIONAMENTO M : N ..................................................................................................... 86
RELACIONAMENTO RECURSIVO ............................................................................................................... 87
PRATICA 02 MODELO LGICO DE DADOS ............................................................................................ 88
NORMALIZAO ............................................................................................................................................. 89
3

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

1 FORMA NORMAL ....................................................................................................................................... 91


2 FORMA NORMAL ....................................................................................................................................... 92
3 FORMA NORMAL ....................................................................................................................................... 92
OUTRAS FORMAS NORMAIS ....................................................................................................................... 93
FORMA NORMAL BOYCE CODD (BCNF) ................................................................................................... 93
4 FORMA NORMAL ....................................................................................................................................... 95
5 FORMA NORMAL ....................................................................................................................................... 95
DESNORMALIZAO ................................................................................................................................... 96
EXERCCIOS ................................................................................................................................................... 96
TAREFA 09 NORMALIZAO ................................................................................................................. 100
MODELO RELACIONAL ............................................................................................................................... 101
EXEMPLO DE ESTUDO DE CASO .............................................................................................................. 102
EXERCCIO .................................................................................................................................................... 103
UTILIZANDO O DBDESIGNER .................................................................................................................... 104
CONCEITO ..................................................................................................................................................... 104
ONDE ENCONTRAR O SITE ........................................................................................................................ 104
SOFTWARE ................................................................................................................................................... 104
CRIANDO OS OBJETOS ............................................................................................................................... 105
EXERCCIO .................................................................................................................................................... 111
PRTICA 03 DBDESIGNER ...................................................................................................................... 112
UTILIZANDO O ORACLE SQL DEVELOPER DATA MODELER ......................................................... 113
RELACIONAMENTOS NO MODELO LGICO ......................................................................................... 116
CARDINALIDADE ........................................................................................................................................ 116
ALTERANDO PARA O MODELO RELACIONAL...................................................................................... 116
ALTERANDO O TIPO DE DADO DE UM ATRIBUTO ............................................................................... 118
GERANDO O SCRIPT DDL........................................................................................................................... 120
EXTRAINDO UM MODELO DO BANCO DE DADOS ............................................................................... 122
DIVIDIR UMA TABELA ............................................................................................................................... 125
EXERCICIOS ................................................................................................................................................. 127
PRATICA 04 ORACLE SQL DATA MODELER........................................................................................ 128
ANEXO A - OBJETO RELACIONAL ........................................................................................................... 129
SQL ..................................................................................................................................................................... 129
ORACLE ............................................................................................................................................................ 130
VERSO 10G ................................................................................................................................................. 130
ESTRUTURA INTERNA ............................................................................................................................... 131
ORACLE 10G RELEASE EXPRESS EDITION ............................................................................................ 132
TABELAS EXISTENTES NO BANCO DE DADOS ..................................................................................... 135
INSTRUES SQL ........................................................................................................................................ 136
FERRAMENTAS DO ORACLE ..................................................................................................................... 136
SQL * PLUS .................................................................................................................................................... 136
LISTAR A ESTRUTURA DA TABELA ........................................................................................................ 137
CRIANDO INSTRUES SQL ..................................................................................................................... 137
CONECTANDO-SE AO ORACLE ................................................................................................................ 137
EXECUTANDO INSTRUES NO SQL * PLUS ........................................................................................ 137
EDIO E EXECUO DE BUFFER .......................................................................................................... 137
MANIPULAO DE BUFFER E ARQUIVO ............................................................................................... 138
EDITOR DE TEXTO ...................................................................................................................................... 138
TRATAMENTO DE EXIBIES .................................................................................................................. 138
FORMATAO ............................................................................................................................................. 138
HOME PAGE DE BANCO DE DADOS ......................................................................................................... 138
EXERCCIOS ................................................................................................................................................. 142
OBJETOS DO BANCO DE DADOS ............................................................................................................... 143
CRIANDO TABELAS ...................................................................................................................................... 143
4

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TIPO DE DADOS ........................................................................................................................................... 143


CONVENES PARA NOMEAO ........................................................................................................... 144
ADICIONAR COLUNA ................................................................................................................................. 147
MODIFICAR COLUNA ................................................................................................................................. 148
RENOMEAR COLUNA ................................................................................................................................. 149
ELIMINAR COLUNA .................................................................................................................................... 149
RENOMEAR A TABELA .............................................................................................................................. 150
COPIAR TABELA .......................................................................................................................................... 151
ADICIONAR LINHAS A TABELA ............................................................................................................... 151
EXERCICIOS ................................................................................................................................................. 152
EXERCICIO EXTRA...................................................................................................................................... 153
EXERCICIO: CONVERSO CONCEITUAL PARA LGICO .................................................................... 154

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

INFORMAES IMPORTANTES
Sugesto de Livros e Revistas

BANCO DE DADOS PROJETO E IMPLEMENTAO Felipe Nery Rodrigues Machado, Ed.


Erica, 2 Edio;
PROJETO DE BANCO DE DADOS Carlos Alberto Heuser Editora SagraLuzzatto - 5 Edio;
SISTEMAS DE BANCO DE DADOS Elmasri e Navathe Editora Pearson 4 Edio;
SISTEMA DE BANCO DE DADOS Silberschatz, Korth, Sudarshan Editora Campus 5
Edio;
FUNDAMENTOS DE SISTEMAS DE GERENCIA DE BANCO DE DADOS Mark L. Gillenson
Editora LTC;
BANCO DE DADOS: DO MODELO CONCEITUAL IMPLEMENTAO FSICA Ivan Mecenas
e Vivianne de Oliveira Editora Alta Books.
SISTEMAS DE BANCO DE DADOS PROJETO, IMPLEMENTAO E ADMINISTRAO
Peter Rob e Carlos Coronel Editora Cengage 8 Edio 2011;
GUIA MANG DE BANCO DE DADOS, Mana Takahashi, Shoko Azuma, Trend-Pro Co., LTD
Editora Novatec 1 Edio 2009;
USE A CABEA SQL Lynn Beightley Editora Alta Books 2008;
Revista SQL MAGAZINE (http://www.sqlmagazine.com.br)

Software Utilizados

DBDesigner 4- software opensource;


Oracle Data Modeler;
BR Modelo software freeware;
Oracle 10G Express Edition1 (www.oracle.com.br2);
Oracle 10G Interprise Edition.

Avaliao

Duas provas com nota composta por (AVALIAO + TAREFAS3)/2


Trabalho a ser entregue na ltima aula do segundo bimestre.
Mdia final = (1 Bim + 2 Bim + Trabalho)/3

Contato

Disciplinas: Banco de Dados I, Banco de Dados II e Administrao e


Gerenciamento de Banco de Dados;
Email: simone_viana@yahoo.com.br e/ou simone@fatecpg.com.br

Avisos
Na pgina de Banco de Dados da FATEC sempre ter avisos pertinentes ao
contedo da disciplina.
Erros da Apostila
Caso seja encontrado erro na apostila, favor enviar por email no final do
semestre.
O brigada!
1
2
3

Software gratuito.
Necessrio ter cadastro no site da Oracle, porm gratuito.
Cada tarefa tem um valor diferente.

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

PROJETO DE BANCO DE DADOS (TAREFA AVALIATIVA)


Em grupo de no mximo cinco pessoas, criar um estudo de caso contendo:
a) Descritivo expondo o estudo de caso a ser resolvido;
b) Lista contendo os candidatos a objetos;
c) Dicionrio de dados contendo o nome do atributo, o tipo de atributo e um
descritivo do que aquele atributo ir armazenar;
d) Fluxo de Dados;
e) Modelo de dados normalizado:
Modelo Conceitual (BRModelo);
Modelo Relacional (ORACLE DATA MODELER);
Modelo Lgico (BRModelo, DBDesigner e ORACLE DATA MODELER);
Dicionrio de Dados;
Modelo Fsico (script gerado no BRModelo, DBDesigner e ORACLE
DATA MODELER).
Observaes:

Cada item dever estar em uma folha distinta. Na capa dever ter o nome
dos alunos, a turma e o perodo;

Data da Entrega: ltima aula do segundo bimestre.

O script gerado dever ser enviado por email no dia da entrega do


projeto.

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

INTRODUO
Que mundo fascinante este no qual vivemos hoje! Avanos tecnolgicos
esto nossa volta em todos os aspectos no nosso dia-a-dia: telefones celulares
a televiso via satlite, aeronaves avanadas, medicina moderna e
computadores. Negcios de todos os tipos e tamanhos contam com
computadores e sistemas de informaes que os apiam em um grau que teria
sido inimaginvel h apenas alguns anos. Desde a produo e tcnicas de
controle de estoque automatizadas, procedimentos de transaes financeiras
automatizadas e ferramentas de marketing de alta tecnologia. Consumidores
telefonam para os bancos, companhias de seguros e lojas de departamentos
obtendo informaes instantaneamente. E tanto as empresas como os
consumidores passaram a contar com a Internet para comunicao rpida... Por
trs disso tudo, a base de todas as atividades so os DADOS.
Esta disciplina sobre DADOS...
Como pensar em dados de forma altamente organizada e ponderada?
Como armazenar dados de maneira eficiente?
Como podemos recuperar estes dados com eficcia?
De que maneira, podemos gerenciar os dados de forma que estejam
presente no momento desejado?
Como reunir os dados em um conjunto organizado chamado banco de
dados?
Que software controla o banco de dados e supervisiona o AMBIENTE DO
BANCO DE DADOS?
Quais as diversas abordagens que as pessoas tm empregado para
gerenciar o banco de dados?
Os dados sempre existiram sem computadores e um dos motivos dele ter
sido inventado foi porque precisvamos de ajuda para processar e armazenar
grandes quantidades de dados.

Figura 1 Exemplo de Dados (extrada do Curso Oracle)

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

HISTRIA
Abaixo temos um quadro que representa a EVOLUO HISTRICA DO
BANCO DE DADOS (DAMARIS, 2003):
GERAO
Primeira

DATA
1950

Segunda

1960

Terceira

1970

Quarta

1980

Quinta

1990

CARACTERSTICAS
Sistema de arquivos;
Acesso Seqencial;
Memria secundria: fitas magnticas e cartes perfurados.
Sistema de arquivos;
Acesso Randmico;
Memria secundria: discos magnticos.
Gerao pr-relacional;
Banco de dados;
Informao lgica e fsica: pouca distino;
Modelos emergentes: redes e hierrquico.
Gerao relacional;
Sistemas de banco de dados;
Informao lgica e fsica: clara distino;
Modelo emergente: relacional.
Gerao ps-relacional;
Modelos: estendido, orientado a objetos e orientado a regras.

A seguir temos um quadro que representa a EVOLUO HISTRICA DO


MODELO DE DADOS (DAMARIS, 2003):
PERODO

CARACTERSTICAS
Surgem os sistemas operacionais;

1954

Incio do surgimento das linguagens de alto nvel.


Surge o Comit CODASYL com o objetivo de especificar como manipular

1958

banco de dados garantindo integridade e independncia dos dados em


relao ao hardware.

1963

Modelo de rede (dificuldades de modelagem).


Modelo hierrquico;

1968

Lanado o IMS Information Managment System (IBM).


Modelo relacional, baseado na teoria de conjuntos. Garante a integridade

1970

matemtica dos dados. Resulta de um trabalho de universidade de um


pesquisador da IBM.
Implementao do modelo relacional;

1976

Surge o MER (Modelo Entidade-Relacionamento).


DB2 banco de dados relacional da IBM (casca relacional em cima do

1983

antigo IMS).

1988

Modelo de dados orientado a objetos.

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

CONCEITOS
Dado

Fatos armazenados que precisamos para conduzir os esforos humanos.


(GILLENSON, 2006);

Fatos que podem ser gravados e que possuem um significado implcito.


(ELMASRI, 2005);

Ou seja, so fatos brutos, ou seja, os fatos no foram processados para


revelar seu significado e devem ser formatados adequadamente para o
armazenamento, o processamento e a apresentao. Exemplo: um formulrio de
pesquisa sobre a disciplina de banco de dados.
Informao

Resultado do processamento dos dados brutos para revelar seu significado.


Este processamento pode ser simples como a organizao dos dados para
revelar padres ou complexos, como a realizao de previses ou a extrao
de inferncias(...) Para revelar seu significado, as informaes exigem um
contexto (PETER, 2011);

Devido a atual era da informao, as informaes podem ser utilizadas


para a tomada de decises, desde que sejam: precisas, relevantes e rpidas.
Exemplo: os pontos fortes e fracos da disciplina de banco de dados.
Obs. Alguns estudiosos acham que estamos iniciando a era do conhecimento4,
onde os dados so o fundamento da informao que por sua vez a base do
conhecimento corpo de informao e fatos sobre um assunto especfico.

Conhecimento

Implica familiaridade, conscincia e compreenso das informaes conforme


se apliquem a um ambiente. Uma caracterstica fundamental do
conhecimento que o novo conhecimento pode ser obtido a partir do
antigo. (PETER, 2011).

Nveis de Interao e Nveis de Abstrao


Os usurios no acessam diretamente os dados. Para isto, ele faz uma
solicitao a uma aplicao para manipular os dados. Esta aplicao faz uma
chamada ao Sistema Gerenciador de Banco de Dados que por sua vez
finalmente, acessa os DADOS.
4

Conceito criado em 1994 pelo Dr. Alvin Toffler e outros.

10

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Os nveis de abstrao so classificados em camadas: EXTERNA, LGICA e


FSICA:
EXTERNA: uma interface para manipular dados;
LGICA: no existe fisicamente uma estrutura interna de organizao do
banco de dados que chamamos de ESQUEMA;
FSICA: contm todos os arquivos fsicos que possuem os registros dos
dados.

Figura 3 Nveis de Abstrao (extrado da WEB)

Banco de Dados
Segundo DAMARIS, o banco de dados uma coleo logicamente coerente
de dados com determinada significao intrnseca, cuja principal finalidade o
armazenamento organizado dessas informaes (...)
Segundo DATE, o sistema de banco de dados consiste em um sistema de
manuteno de informaes por computador que tem por objetivo manter as
informaes e disponibiliz-las aos usurios quando solicitadas.
Segundo PALMER, um banco de dados uma coleo de dados, organizados
e integrados, que constituem uma representao natural de dados, sem
imposio de restries ou modificaes para todas as aplicaes relevantes sem
duplicao de dados.
Segundo ROB, um banco de dados uma estrutura computacional e
integrada que armazena um conjunto de dados do usurio final e metadados5.
Resumindo:
BANCO DE DADOS = DADOS + DESCRIO DOS DADOS
Exemplo de Bancos de Dados

Controle Bancrio

Controle de Livros

Controle de
Locao

Metadado (dados sobre dados) fornece uma descrio das caractersticas dos dados e
do conjunto de relacionamentos que ligam os dados encontrados no banco de dados.
Exemplo: nome de cada elemento, tipo de valor (numrico, data ou texto), pode ou no
ser preenchido, entre outros.

11

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Arquitetura de Banco de Dados


Os sistemas de computao tambm evoluram para que os dados tenham
disponibilidade, questes de segurana, facilidade de acesso, etc. Ento temos
diversas arquiteturas de banco de dados. Temos:
PLATAFORMA CENTRALIZADA: um nico banco de dados, manipulado por
mainframe e outros terminais que fazem o acesso do usurio ao banco de
dados para manipulao destes dados. Como o mainframe possui grande
capacidade de manipulao os outros terminais no precisam ter esta
necessidade (terminais burros: no tem nem memria e nem
processamento).

Figura 4 Plataforma Centralizada (extrada da Internet)

SISTEMA DE COMPUTADOR PESSOAL: onde a aplicao possui o seu prprio


banco de dados em seu computador pessoal.

APLICAO

BANCO
DE
DADOS

Figura 5 Sistema de Computador Pessoal (feito pelo Autor)

BANCO DE DADOS CLIENTE-SERVIDOR: no so terminais burros, pois


manipulam os dados que esto armazenados em um servidor de banco de
dados.

12

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 6 Arquitetura Cliente-Servidor (extrada da Internet)

BANCO DE DADOS DISTRIBUDO: temos vrios bancos de dados que podem


estar em servidores diferentes, em banco de dados diferentes, em estaes
diferentes e vrios clientes nas estaes de trabalho.

Figura 7 Banco de Dados Distribudo (extrada da Internet)

Compartilhamento dos Dados


Vamos imaginar uma escola de idiomas e de informtica que por exemplo,
faa trs tarefas: Cadastrar os alunos, Controlar a Freqncia dos Alunos e a
Cobrana das Mensalidades:
Sistema de
Cobrana

Sistema de
Cadastro

Controle de
Freqncia

ALUNOS

ALUNOS

ALUNOS

Figura 8 Problemas de Arquivos (feito pelo autor)

Caso seja necessrio atualizar informao de um respectivo aluno, teremos


um problema: pois o mesmo encontra-se armazenado em mais de um local6.
Chamamos de REDUNDNCIA DE DADOS quando os dados so
armazenados de forma desnecessria em locais diferentes.
A redundncia de dados no controlada, faz com que ocorra:
Inconsistncia de Dados: quando verses diferentes e conflitantes
dos mesmos dados aparecem em diversos locais. Os dados que so
inconsistentes tambm so chamados de desprovidos de integridade de
dados. INTEGRIDADE DE DADOS definida como a condio em que
todos os dados do banco so consistentes com os eventos e condies
reais.
Anomalia7 de Dados: quando a alterao de um dado feita em mais
de um local. A anomalia ocorre quando nem todas as alteraes
6

A localizao dos dados em diversos locais chamado de ILHAS DE INFORMAO (que contm
informaes diferentes dos mesmos dados). (ROB, 2011)
7

Anomalia uma anormalidade.

13

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

necessrias nos dados redundantes so realizadas com sucesso. Podem


ser de atualizao, insero e excluso.
Para resolver o problema, surge o COMPARTILHAMENTO DOS DADOS,
onde as informaes so armazenadas uma nica vez e acessada por vrios
sistemas:
Sistema de
Cobrana

Sistema de
Cadastro

Controle de
Freqncia

ALUNOS

Figura 9 Banco de Dados Compartilhado (feito pelo autor)

Independncia dos Dados


Independncia de (aplicaes em relao aos) dados significa que uma
alterao no modelo de dados afeta pouco as aplicaes. Exemplo de sistema
com pouca independncia: Modificao no esquema exige re-compilao de
todos os programas. As aplicaes no contm descries dos dados. Com isso, a
base de dados pode ser alterada sem que as aplicaes sejam modificadas.
TIPOS DE BANCO DE DADOS

O SGBD pode dar suporte a muitos tipos de banco de dados e podem


ser classificados pelo nmero de usurios, localizao, tipo e extenso do
uso esperado:

Quantidade de usurios: Monousurio ou Multiusurio;


Localizao dos dados: Centralizado ou Distribudo;
Utilizao do banco de dados: Operacional8 ou Data WareHouse9;
Estruturao dos Dados: Estruturado10, Semiestruturado11 ou No
Estruturado12.

Tambm conhecido como TRANSACIONAL ou PRODUO.

Traduzindo: armazenagem de dados usado para gerar informaes necessrias na tomada de


deciso: estratgica ou ttica.
10

Resultado dos dados no estruturados aps a formatao.

11

Parcialmente processados.

12

Existem em seu estado bruto (origem).

14

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 10 Tipos de Banco de Dados (extrado do livro de Peter Rob)

INSTNCIA E ESQUEMA
Como o banco de dados muda com o tempo, as informaes armazenadas
em um momento so chamados de INSTNCIA (KORTH, 2006).
O projeto geral do banco de dados chamado de ESQUEMA DO BANCO
DE DADOS e raramente modificado.
SISTEMA DE BANCO DE DADOS
Segundo ROB, o sistema de banco de dados refere-se a uma organizao de
componentes que define e regula a coleta, o armazenamento, o gerenciamento e
a utilizao de dados em um AMBIENTE DE BANCO DE DADOS.
O ambiente do sistema de banco de dados composto por cinco partes:
HARDWARE, SOFTWARE, PESSOAS, PROCEDIMENTOS e DADOS.

Figura 11 Ambiente do sistema de banco de dados (extrado do livro Peter Rob)


15

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Os problemas do sistema de arquivos fizeram com que a utilizao de


um sistema de banco de dados ficasse interessante. Abaixo temos a
comparao da utilizao do sistema de banco de dados com o sistema de
arquivos:

Figura 12 Comparao de um sistema de banco de dados x sistema de arquivos


(extrado do livro de Peter Rob)

ABORDAGENS DE BANCO DE DADOS

Figura 13 Tipos de Abordagem (adaptado do Livro de ROB)


16

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Abordagem de banco de dados a forma como os dados em um SGBD


so organizados e como permite a sua recuperao. (GILLENSON, 2006).
As principais abordagens tambm chamadas por alguns autores de
modelo de banco de dados podem ser: Rede, Hierrquico, Relacional e
Orientado s Objetos.
No quadro acima temos um comparativo da terminologia bsica
utilizada entre os modelos (abordagens).
Hierrquico
Surge na dcada de 60, tambm pode ser chamado de
Navegacional13.
Organiza os dados em uma estrutura hierrquica (rvore) em um
sistema unidirecional de pai para filho, iniciando sempre pela raiz, formado por
uma coleo de registros conectados por links (DAMARIS, 2003).
Possui o objetivo de gerenciar grandes quantidades de dados em
projetos complexos. Sua estrutura lgica bsica representada por uma
estrutura de rvore de cima para baixo. Esta estrutura contm nveis ou
segmentos. Os segmentos equivalem ao tipo de registro em um sistema de
arquivos. Representa um conjunto de relacionamentos um para muitos entre os
segmentos.
um conjunto de rvores, onde duas entidades esto unidas por um
relacionamento: um ascendente pode ter vrios descendentes, mas, um
descendente pode ser somente de um ascendente. Desvantagens:
Difcil de implementar e de gerenciar;
No dispe de independncia estrutural.
No tem padres de implementao.
Em resumo: dados filhos possuem apenas um pai.
Os SGBDs mais conhecidos: IMS, ADABAS e o SYSTEM 2000.

Figura 14 Exemplo de Abordagem Hierrquica (feito pelo autor)

Rede

A abordagem de rede surgiu no final da dcada de 60 e uma


extenso da abordagem hierrquica. Foi desenvolvido para representar
relacionamentos complexos entre os dados com eficincia e ganho de
desempenho, impondo tambm um padro no banco de dados.
13

Programas que navegam para encontrar os dados.

17

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Esta abordagem permite organizar os dados em uma estrutura


formada por vrias listas que define uma rede de ligaes (grafo direcionado).
Os dados so organizados em tipos de registros e ligaes entre dois
tipos de registros. No h restrio hierrquica, ou seja, quaisquer dois tipos de
registros podem se relacionar.
O conjunto composto por pelo menos dois registros: PROPRIEDADE e
MEMBRO.
Desvantagens:
Muitas entidades gera esquema complexos de relacionamentos;
Falta de consulta ad hoc;
Qualquer alterao estrutural ainda poderia devastar todos os
aplicativos que obtinham dados do banco.
Em resumo: difere da abordagem hierrquica, pois os dados filhos
podem ter mltiplos ancestrais.
Os SGBDs mais conhecidos: IDMS, Total.

Figura 15 Exemplo de Abordagem de Rede (feito pelo autor)

Ou seja, para usar qualquer um desses modelos, preciso gerenciar os


dados mantendo sua localizao fsica e ordem em mente. Dessa forma, difcil
efetuar uma pesquisa flexvel e de alta velocidade em seus dados, se os
modelos: hierrquico ou de rede forem utilizados. Ento, surge o modelo
relacional...
Relacional
Desenvolvido por Edgar Frank Codd (Laboratrio de IBM em San Jose
Califrnia) em 1970. Seu projeto inicial chamava-se Sistema R e apesar de na
poca ser inovador foi considerado invivel, pois a simplicidade do modelo era
conseguida a custa de sobrecarga no computador.
O Sistema R definia a organizao dos dados e
linguagens formais para a sua manipulao, onde cada linha de
uma relao chamada de TUPLA.
Conhea mais o trabalho do Dr. Codd em
www.informatik.uni-trier.de/%7Eley/db/about/codd.html).
Ex.:
Sistema R, que definiu linguagens formais para manipulao dos
dados. Surge ento a primeira verso da Linguagem de Consulta
Estrutura SQL.
Figura 16 Dr. Codd (extrado da Web)
18

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Esta abordagem se tornou padro dos gerenciadores de banco de


dados e o mais utilizado atualmente pelas empresas. Exemplo: Oracle, SQL
Server, Informix, Sysbase, PostGreSQL, FireBird e Ingres.

Figura 17 Abordagem Relacional (extrado da Web)

Orientado a Objeto
Um banco de dados relacional armazena dados em formato de texto
em tabelas. No entanto, quando temos certos tipos de dados, pode ser
inoportuno. Ento, surge o banco de dados orientado a objeto (BDOO).
Esta abordagem utiliza objetos. Podemos ocultar os dados e expor
apenas as operaes sobre os dados para lidar com o objeto como um
componente independente (ENCAPSULAMENTO).
Neste tipo, cada objeto representado com um identificador. As vezes,
um objeto tambm chamado de instncia.
Tambm podemos gerenciar objetos compostos (um objeto definido
dentro do outro). O modelo para objetos chamado de CLASSE.
Esta classe pode ter relacionamentos hierrquicos, ento podemos ter
uma classe filha que tenha os mesmos dados e funes de uma classe base. Este
relacionamento chamado de HERANA.
A abordagem orientada a objeto baseada no paradigma da
programao (tipos de dados abstratos, herana e identidade de projetos).
uma extenso da abordagem relacional (que veremos a seguir) e
muitas vezes chamada RELACIONAL ORIENTADA A OBJETO.
Abaixo h uma tabela com um resumo das abordagens:

19

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 18 Principais abordagens (extrado do livro de Peter Rob)

20

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

SISTEMA GERENCIADOR DE BANCO DE DADOS

Figura 19 Sistema Gerenciador de Banco de Dados (extrado da Web)

Devido ao compartilhamento de dados, h a necessidade de uma estrutura


de arquivos mais complexas, com isto surge o SISTEMA GERENCIADOR DE
BANCO DE DADOS (SGBD) ou DBMS14.

Definies

Conjunto formado por um banco de dados mais as aplicaes que o


manipulam. (DAMARIS, 2003);

Coleo de programas que permite aos usurios criar e manter um banco de


dados(...) sistema de software de propsito geral que facilita aos processos
de definio, construo, manipulao e compartilhamento de banco de dados
entre vrios usurios e aplicaes (ELMASRI, 2005);

Software que incorpora as funes de definio, recuperao e alterao de


dados em um banco de dados. (HEUSER, 2004)

Um sistema gerenciador de banco de dados (DBMS) uma coleo de dados


inter-relacionados e um conjunto de programas para acessar esses dados(...).
O principal objetivo de um DBMS fornecer uma maneira de recuperar
informaes do banco de dados que seja tanto conveniente como eficiente
(...). O gerenciamento de dados envolve definir estrutura para
armazenamento de informaes e fornecer mecanismos para a manipulao
de informaes. Alm disso, (...) precisa garantir a segurana das
informaes armazenadas, apesar das falhas do sistema ou de tentativas de
acesso no autorizado. (KORT, 2006)

Conjunto de programas que gerenciam a estrutura do banco de dados e


controlam o acesso aos dados armazenados (...) (ROB, 2011)

14

DBMS DataBase Management System

21

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 20 Interao do usurio atravs do SGBD com a estrutura dos dados


(extrado do livro de Peter Rob)

Podemos resumir dizendo que um conjunto de dados associados a


um conjunto de programas (uma programa para permitir acesso outro para
manipular, etc) para acesso a estes dados.
Sua funo servir de intermedirio entre o usurio e o banco de
dados.
Exemplo de SGBD: Oracle, Sql Server, PostgreSQL e MySql.
Obs: Microsoft Access no possui todas as caractersticas de um
SGBD, por exemplo, controle de concorrncia. Por isto ele um banco de
dados, mas, no um Sistema de Banco de Dados.
Vantagens

Melhoria na integridade dos dados;


Melhoria no compartilhamento de dados;
Minimizao da inconsistncia dos dados;
Melhoria na tomada de deciso;
Melhoria no acesso aos dados15;
Aumento na produtividade do usurio final.

Caractersticas

Integridade16 (dependncia das chaves);


Restries ou consistncia (nico local de armazenamento);
Restaurao ou reorganizao (atomicidade);
No haver redundncia de dados;
Independncia fsica (dados no dependem do esquema, dos tipos de
aplicaes que acessam este banco de dados);
Padronizao dos dados;
AutoConteno (armazenamento dos dados e dos metadados);
Abstrao17 (o usurio no precisa saber os detalhes como os dados so
manipulados ou armazenados no banco de dados);

15

Respostas rpidas a consultas ad hoc (consulta que no pode ser previamente determinada)

16

Garantir a segurana, integridade e concorrncia dos dados


22

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Vises (limitao que o DBA restringe aos usurios. Segurana e


privacidade);
Controle das Transaes (garante a integridade dos dados);
Controle de Concorrncia (no deixa dois bancos de dados acessar os dados
ao mesmo tempo).

PROJETO DE BANCO DE DADOS


Todo bom sistema de banco de dados deve apresentar um projeto, que
visa organizao das informaes e utilizao de tcnicas para que o futuro
sistema obtenha boa performance e tambm facilite infinitamente as
manutenes que venham a acontecer. Um sistema de informao utiliza um
banco de dados que necessita de DADOS18 e PROCESSOS19.
O PROJETO DE BANCO DE DADOS tem o objetivo de transformar as
necessidades de informaes no negcio em um banco de dados. Ou seja, foca
na maneira em que o banco de dados ser usado para armazenar e gerenciar os
dados do usurio final e a primeira etapa criar o modelo de dados.
O MODELO DE BANCO DE DADOS uma atividade desenvolvida
inicialmente na fase de anlise, com o objetivo de encontrar as informaes
necessrias, juntamente com as regras que definem o banco de dados.
Resumindo: descrio formal da estrutura de um banco de dados. Para construir
um modelo de dados, usamos uma linguagem de modelagem de dados, que so
classificadas de acordo com a maneira de apresentar os dados (textuais ou
grficas). Cada representao de um modelo de dados atravs de uma
linguagem de modelagem de dados recebe o nome de esquema de banco de
dados. No ambiente de banco de dados, o modelo representa a estruturao dos
dados e suas caractersticas, relaes, restries e outros elementos.
O projeto ocorre em trs fases: Modelagem conceitual, Modelo lgico e
Modelo fsico. As duas primeiras so nveis de abstrao na construo do
modelo de dados. Tambm pode estar dividido em:

ESQUEMA CONCEITUAL: mtodo que retrata o mundo real. Determina a


estrutura lgica de um banco de dados.

ESQUEMA INTERNO: banco de dados visto de dentro do computador.


Forma de determinar a estrutura fsica de um banco de dados. projetado
aps a criao de um mtodo para fazer pesquisas no banco de dados.

ESQUEMA EXTERNO: banco de dados como visto pelos usurios. Projetado


aps a criao dos dados necessrios para os aplicativos.

PROJETO CONCEITUAL: criamos um modelo abstrato de banco de dados


de acordo com a viso da empresa, definindo o agrupamento dos elementos
de dados no banco de dados. Identifica elementos redundantes e os grupos
de elementos de dados repetidos para aplicaes especficas. Procuramos
espelhar a realidade independente das restries de implementao. uma

17

Abstrair significa desconsiderar detalhes.

18

DADOS a parte mais estvel do sistema, aps definido pouco se altera.


PROCESSO a parte mais dinmica, pois varia de acordo com as necessidades do negcio.

19

23

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

das etapas mais importantes do projeto. Nesta etapa criado o MER(Modelo


Entidade Relacionamento). Vantagens:
- Melhor compreenso pelo usurio leigo;
- Independe dos detalhes de implementao;
- Traduo para qualquer modelo de dados de banco de dados.

PROJETO LGICO: mapeia o modelo conceitual para um modelo lgico


(tambm chamado de modelo de dados), que pode ser, por exemplo, o
modelo relacional. Em resumo, usado para padronizar de acordo com a
implementao (entidade, atributo e relacionamentos).

PROJETO FSICO: cria os objetos do banco de dados atravs de scripts. a


representao das tabelas, colunas, chaves e ndices.

MINIMUNDO

Coleta e Anlise de Requisitos

Foco: DADOS

REQUISITOS DE DADOS
Projeto Conceitual

ESQUEMA CONCEITUAL
Independe
SGBD
Especfico
SGBD

do
Projeto Lgico
para

Coleta informaes sobre


os dados

ESQUEMA LGICO
Projeto Fsico

Traa os dados principais e seus


relacionamentos sem se preocupar
com a implementao
Necessidade dos dados definido
atravs do MER
Define os dados que
implementam os requisitos
identificados de acordo com a
abordagem
Definido atravs do MR

Parmetros de acesso
fsico
Definido atravs do SQL

ESQUEMA FSICO

Figura 21 Etapas do Projeto de Banco de Dados (feito pelo Autor)

Definio do Modelo de Dados


Um modelo de banco de dados uma descrio dos tipos de
informaes que esto armazenados em um banco de dados (HEUSER, 2004).
Exemplo: informaes sobre alunos, como: matrcula e nome sem
informar quais so os alunos.
MODELO DE DADOS =
DESCRIO FORMAL DA ESTRUTURA DE UM BANCO DE DADOS

24

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

No projeto de banco de dados usamos dois nveis de abstrao20:


CONCEITUAL e LGICO.
Ao conjunto de conceitos usados na construo de um modelo d-se o
nome de ABORDAGEM DE MODELAGEM (HEUSER, 2004).
EXERCCIOS
1. O que redundncia de dados e quais caractersticas do sistema de
arquivos que podem levar a ela?
2. O que independncia de dados e por que falha em sistemas de
arquivos?
3. O que um SGBD e quais as suas funes?
4. Cite trs negcios onde podemos encontrar um banco de dados.
5. Explique a diferena entre dado e informao.
6. Quais so os principais componentes de um sistema de banco de dados?
7. O que so metadados?
8. Explique com suas palavras por que um projeto de banco de dados
importante.
9. Quais as principais caractersticas de cada etapa de um projeto de banco
de dados?
10.
Pesquisar na Internet, as Doze Regras de Codd.
11.
Considere os bancos de dados dos tipos de negcios a seguir e
encontre as informaes que deseja armazenar:
a. BIBLIOTECA;
b. LOJA ONLINE.

TAREFA 01 INTRODUO A BANCO DE DADOS


1. Considere a estrutura em arquivos a seguir e faa o que pede (2,5):
Matrcula

Nome

Endereo

Telefone

Curso

Genoveva
Passione

Rua A, 10, Flores Santos


11090-123

3367-8990

INFORMATICA

Porsidius

Av. Neves, 20 apto. 15 So


Vicente 11345-567

5678-8909

ANALISE

Praa 20 de Janeiro 15, casa


03 Santos 11070-000

3244-5678

INFORMATICA

Aluno
79
171

Insensato
66

Marizildo
TiTiTi

a. Quantos dados e quantas informaes por dado - o arquivo contm?


b. Que problema encontraria se fosse necessrio listar por cidade? Como
resolveria este problema?
c. Se fosse necessrio criar um relatrio contendo sobrenome e CEP, como
alteraria o arquivo acima?
Nome________________________________ Perodo: ______ Data: _______
Abstrao dos Dados: As aplicaes vem dados de forma abstrata,
independente de detalhes fsicos de implementao (fatores de bloco, localizao no meio
de armazenamento, existncia de ndices e caminhos de acesso).
20

25

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

MODELO CONCEITUAL DE DADOS


O modelo conceitual a descrio do banco de dados de forma
independente de implementao em um SGBD (HEUSER, 2004).
Tem o objetivo de registrar os dados que podem aparecer em um
banco de dados, mas no registra como estes dados esto armazenados no
SGBD.
Ou seja, o modelo de dados abstrato, que descreve a estrutura de um
banco de dados de forma independente do SGBD.
A
tcnica
mais
difundida

a
ABORDAGEM
ENTIDADE21
RELACIONAMENTO, atravs do MER utilizando como representao grfica o
DIAGRAMA DE ENTIDADE-RELACIONAMENTO (D.E.R.).
Esta abordagem foi criada em 1976 por um chins chamado Peter PinShan Chen e tornou-se um padro na criao da modelagem conceitual.
Este modelo possui dois componentes principais: ENTIDADES e
RELACIONAMENTOS.

Figura 22 Peter Chen (extrado da WEB)

Componentes do M.E.R.
ENTIDADE E INSTNCIA (TUPLA)
Entidade o nome dado ao conjunto de objetos22 do mundo real,
sobre as quais h necessidade de manter informaes no banco de dados.
Exemplo: CURSO, ALUNO.
Por padro, sempre so escritos em letras maisculas, no singular23,
sem abreviaes e de preferncia, sem acentos e sem cedilha. Se for um nome
com palavras compostas devero estar separadas por underline (_). Exemplo:
HISTORICO_ESCOLAR, CONTROLE_BANCARIO. So representados graficamente
por retngulos. Exemplo:
CURSO

HISTORICO_ESCOLAR

21

MER Modelo Entidade-Relacionamento

22

OBJETO categoria das coisas concretas ou abstratas.

ALUNO

23

Em alguns livros o nome da entidade tambm aparece no plural. Como padronizao, somente
no singular ser considerado.

26

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Chamamos de INSTNCIA ou TUPLA , o contedo de uma entidade.


Por exemplo, o nome da aluna Genoveva Porsidius, uma ocorrncia da
entidade ALUNO. Exemplo:
Genoveva
Porsidius

ALUNO

RELACIONAMENTO
Conjunto de associaes entre ocorrncias de entidades. (HEUSER,
2004). Representado graficamente por um losango. H trs tipos: 1 para M, M
para N ou 1 para 1. Exemplos:
a) Um departamento pode ter vrios funcionrios, porm um funcionrio
pertence somente a um departamento por vez:

FUNCIONARIO

DEPARTAMENTO

Figura 23- Representao grfica do Relacionamento (extrado da Web)

A seguir temos um exemplo de como interpretar as cardinalidades em


um modelo:

Figura 24 Exemplo do raciocnio utilizado no relacionamento (extrado da Web)

Diagrama de Ocorrncias
A elaborao deste diagrama til, principalmente com a finalidade
didtica de reconhecer a forma como acontece um determinado relacionamento
entre entidades.
27

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Neste diagrama as ocorrncias de entidades so representadas por


circulo branco e as ocorrncias dos relacionamentos so representados por
crculos pretos. Exemplo:

Figura 25 Exemplo de Diagrama de Ocorrncias (extrado da Web)

Auto-Relacionamento
o relacionamento entre ocorrncias da mesma entidade, para
identificar surge o PAPEL DE ENTIDADE DE RELACIONAMENTO24. Exemplo:
PESSOA

Figura 26 Exemplo de Auto-Relacionamento (extrado da WEB)

Cardinalidade
Identifica quantas ocorrncias de uma entidade podem estar
associadas a uma determinada ocorrncia atravs do relacionamento. Temos as
cardinalidades MNIMA25 e MXIMA. Sintaxe: (mnima, mxima). Exemplo:

Figura 27 Esquema de Relacionamento (extrado da WEB)


24

Instncia da entidade cumpre dentro de uma instncia do relacionamento.

25

Modalidade identifica a quantidade mnima de uma ocorrncia em uma entidade.

28

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

A quantidade mxima expressa quantas instncias de uma entidade


podem estar associadas, via relacionamento, a uma instncia de outra entidade.
Pode ser 1 ou vrios (representado por n). Exemplo:

Figura 28 Exemplo de Cardinalidade Mxima.

A quantidade mnima representa o menor nmero de ocorrncia que


pode estar associada a uma ocorrncia em uma entidade atravs de um
relacionamento. Pode ser 126 ou 0. Exemplo:

Figura 29 Exemplo de Cardinalidade Mnima e Mxima.

Os relacionamentos acima so classificados como BINRIO devido a


quantidade de entidades existentes no relacionamento. Pode ser TERNRIO,
QUARTENRIO, etc. Exemplo:

Figura 30 Exemplo de Relacionamento Ternrio (extrado da WEB)

Atributo
o dado associado a cada ocorrncia de uma entidade ou de um
relacionamento. Ou seja, uma caracterstica de uma entidade. Exemplo:

26

Quando a cardinalidade mnima 1, significa que obrigatria. Quando 0 opcional.

29

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

PROJETO

Figura 31 Exemplo de Atributos (extrado da WEB).

Podemos colocar cardinalidades: mnima e mxima nos atributos.


Quando a cardinalidade mnima 1, significa que o seu contedo obrigatrio.
Quando o mnimo zero, significa que opcional. Na cardinalidade mxima,
podemos classificar o atributo como:
MONOVALORADO: cardinalidade mxima 1;
MULTIVALORADO: cardinalidade mxima n (vrios).
Exemplo:
FUNCIONARIO

Figura 31 Exemplos de Tipos de Atributos (extrado da WEB).

H outra maneira de representar os atributos. Exemplo:

CLIENTE

CONTA

Figura 32 Representao Grfica de Atributos (extrado da WEB)

Muitas vezes, os atributos no so representados graficamente para no


sobrecarregar os diagramas.
O conjunto de valores de um determinado atributo chamado de
DOMNIO DE ATRIBUTO.
Tambm podemos ter ATRIBUTOS NOS RELACIONAMENTOS. Exemplo:

Figura 33 Atributos em Relacionamentos (extrado da WEB)


30

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Identificar Entidades
Toda entidade possui um IDENTIFICADOR, tambm chamado de chave,
que um conjunto de um ou mais atributos e relacionamentos cujos valores
servem para distinguir uma ocorrncia da entidade das demais ocorrncias da
mesma entidade. (HEUSER, 2004). Exemplo:

CLIENTE

CURSO

Figura 35 Exemplos de Identificador de Entidades (extrado da WEB)

Esta identificao pode ser: SIMPLES (Atmico) ou COMPOSTO (mais de um


atributo). Exemplo:

Figura 36 Tipos de Identificador de Entidades (extrado da WEB)

Relacionamento Identificador
A entidade DEPENDENTE chamado de ENTIDADE FRACA, pois somente
existe se estiver relacionada a outra entidade. E a entidade EMPREGADO a
ENTIDADE FORTE. Exemplo:

Figura 37 Exemplo de Relacionamento Identificador (extrado da WEB)

A ENTIDADE FRACA representada por


forte.

ou pela linha mais

31

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Atributo-Chave
Tambm chamado de CHAVE ou RESTRIO DE UNICIDADE. So valores
distintos para cada uma das entidades e so usados para identificar cada
entidade de forma nica. Exemplo: matrcula, cdigo de produto.
Exemplo Prtico
Vamos elaborar um banco de dados que permita o correto controle das
matrculas dos alunos em uma escola, onde a preocupao concentra-se no
acompanhamento da vida acadmica dos alunos.
1) Identificar entidades:
ALUNO, CURSO e DISCIPLINA.
2) Identificar relacionamentos:
ALUNO
matricula-se CURSO
CURSO
formado por DISCIPLINA
ALUNO
cursa
DISCIPLINA

(N:1)
(M:N)
(M:N)

3) Construir o modelo:
rg

ALUNO

CURSO

DISCIPLINA

Figura 38 Resoluo do Exemplo Prtico (extrado da WEB)

EXERCCIOS
1) Discuta a importncia da modelagem de dados.
2) O que um relacionamento e quais so seus trs tipos?
3) Identifique as cardinalidades: mnima e mxima dos relacionamentos abaixo:
a) Um PINTOR pode pintar vrias PINTURAS; cada PINTURA criada por um
PINTOR:
PINTOR

pinta

PINTURA

32

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

b) Um FUNCIONARIO pode aprender vrias HABILIDADES; cada HABILIDADE


pode ser aprendida por vrios FUNCIONARIOS:

FUNCIONARIO

aprende

HABILIDADE

c) Um FUNCIONARIO gerencia uma LOJA; cada LOJA gerenciada por um


FUNCIONARIO:
FUNCIONARIO

gerencia

LOJA

d) Um VIGILANTE substitui um ou vrios vigilantes:

4) Com base no que foi visto, identifique as cardinalidades no modelo conceito


abaixo:

5) Observe o modelo conceitual seguir e com base na tabela abaixo, coloque os


atributos em suas respectivas entidades e acrescente as cardinalidades
mnima e mxima:

33

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

6) Identifique as entidades e crie o modelo conceitual de dados:

7) Com base no sistema de venda de passagens areas, faa o que se pede:


a) Definir os relacionamentos entre as entidades e as cardinalidades e criar o
modelo conceitual:
34

B A N C O

D E

D A D O S

CLIENTE

F A T E C

PASSAGEM

D E

P R A I A

G R A N D E

AERONAVE

VO

b) Identificar os atributos e os atributos identificadores.


8) Com base no estudo de caso a seguir, crie o modelo conceitual de dados:
Em uma clnica trabalham mdicos e existem pacientes internados.
Cada mdico identificado pelo seu CRM, possui um nome e recebe um
salrio na clnica;
Um mdico tem formao em diversas especialidades (ortopedia,
traumatologia, etc.), mas s exerce uma delas na clnica;
Para todo paciente internado na clnica so cadastrados alguns dados
pessoais: nome, RG, CPF, endereo, telefone(s) para contato e data do
nascimento;
Um paciente tem sempre um determinado mdico como responsvel (com
um horrio de visita dirio pr-determinado). Porm vrios outros mdicos
podem participar do seu tratamento;
Pacientes esto sempre internados em quartos individuais, que so
identificados por um nmero e ficam em um andar da clnica.

PROJETO: BANCO DE DADOS


Com base no que foi visto at o momento faa o que se pede:
1. Definir os componentes do grupo;
2. Criar um estudo de caso;
3. Criar uma lista dos candidatos a objetos e possveis atributos.

35

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

ENTIDADE-RELACIONAMENTO ESTENDIDO
O modelo entidade-relacionamento estendido ou expandido (EER),
inclui os conceitos de superclasse e subclasse e os conceitos de
especializao/generalizao. Tambm chamado de MER-X.
GENERALIZAO/ESPECIALIZAO

Figura 39 Esquema de Especializao/Generalizao

ESPECIALIZAO: processo de definir um conjunto de subclasses de um


tipo entidade, chamada de superclasse da especializao (NAVATHE, 2005);

GENERALIZAO: usado para nos referir ao processo de definio de um


tipo de entidade generalizada a partir de tipos de entidades fornecidas.

Atribui propriedades particulares a um subconjunto das ocorrncias


(especializadas) de uma entidade genrica (herana). Representado
graficamente por um tringulo issceles. Exemplo:

FILIAL

CLIENTE

PESSOA_FISICA

PESSOA_
JURIDICA

Figura 40 Exemplo de Especializao/Generalizao (adaptado pelo autor)

Pode ser classificado como: TOTAL, PARCIAL, EXCLUSIVA ou


COMPARTILHADA:
TOTAL: para cada entidade genrica existe sempre uma ocorrncia
na especfica. Exemplo:

36

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 41 Exemplo de Especializao/Generalizao Total (adaptado pelo autor)

PARCIAL: nem toda ocorrncia da entidade genrica possui uma


ocorrncia correspondente em uma entidade especfica. Exemplo:

Figura 42 Exemplo de Especializao/Generalizao Parcial (adaptado pelo autor)

COMPARTILHADA: indica uma hierarquia, uma ocorrncia da


entidade genrica pode aparecer em vrias entidades. Exemplo:

Figura 43 Exemplo Especializao/Generalizao Compartilhada (adaptado pelo autor)

37

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXCLUSIVA: na hierarquia, uma ocorrncia de entidade genrica


especializada no mximo uma vez.
Nveis de Herana Mltipla

Figura 44 Exemplo de Herana Mltipla (adaptado pelo autor)

Entidade Associativa
Um retngulo em torno do losango indica que o relacionamento passa
a ser visto como ENTIDADE e pode ser associada a outras entidades. Exemplo:

MEDICO

PACIENTE

MEDICAMENTO
Figura 45 Exemplo de Entidade Associativa (adaptado pelo autor)

38

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

O exemplo acima equivale ao modelo abaixo:

MEDICO

PACIENTE

CONSULTA

MEDICAMENTO
Figura 44 Exemplo de Entidade Associativa (adaptado pelo autor)

Notao DER-X

Figura 45 Exemplo da Notao DER-X27 (extrado da WEB)

27

Considerar o nome das entidades com todas as letras maisculas

39

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 46 Exemplo de DER-X (extrado da WEB)

Utilizamos a seguinte nomenclatura:


SIMBOLO

EMPREGADO

U
cpf

SIGNIFICADO
Participao total da entidade
relacionamento.

em

A
letra
a
no
circulo,
indica
especializao (conjunto de subclasses)
Smbolo do subconjunto. Indica a
direo
do
relacionamento
de
superclasse/
subclasse
(NAVATHE,
2005)
Identificador

Figura 47 Nomenclatura Utilizada pelo Modelo Estendido (extrado da WEB)

Restrio de Disjuno
SUBCLASSES MUTUAMENTE EXCLUSIVAS:
Entidade de uma superclasse deve ser membro no mximo de uma
nica subclasse:
d (disjoint)
Exemplo: EXCLUSO MTUA: uma disciplina no pode ser de
graduao E de ps ao mesmo tempo.

40

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 48 Exemplo de Excluso Mtua (extrado da WEB)

SUBCLASSES QUE SE SOBREPEM:


uma entidade de uma superclasse pode ser membro de mais do que
uma subclasse:
o (overlap);
Exemplo: SOBREPOSIO: um funcionrio pode acumular mais de
uma funo ao mesmo tempo.

Figura 49- Exemplo de Sobreposio (extrado da WEB)

41

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

ASPECTO TEMPORAL

Os atributos cujos valores modificam ao longo do tempo:

Figura 50 - Exemplo de Aspecto Temporal (extrado da WEB)

Relacionamentos que modificam ao longo do tempo:

Figura 51 - Exemplo de Aspecto Temporal (extrado da WEB)

EXERCCIOS
1. Quando utilizar uma entidade associativa?
2. Utilizando o conceito de herana, criar um MER contendo FUNCIONARIO com
trs funes: ATENDENTE, VENDEDOR e ENTREGADOR.
3. Modele uma hierarquia de generalizao/especializao para os tipos entidade
CARRO e CAMINHO. Defina as restries de disjuno:

42

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

4. Criar um modelo entidade-relacionamento que controle o pronturio dos

pacientes de um hospital.
O hospital possui um conjunto de pacientes e um conjunto de mdicos. No
registro dos pacientes, temos o nome, RG, CPF, endereo e telefone. No
registro dos mdicos temos o nome, especialidade, RG, CPF, CRM,
endereo e telefone. Cada paciente tem associado a si um pronturio (sua
ficha), onde so registradas basicamente todas ocorrncias, exames,
consultas, medicamentos ministrados associadas a ele. Cada registro no
seu pronturio, alm de ter a data tem que estar relacionado a um
mdico, que o responsvel pela informao do registro cadastrado no
sistema.

TAREFA 02 - MODELO DE DADOS CONCEITUAL


Objetivo: Construir o modelo de dados conceitual e caso seja necessrio, utilize o
modelo estendido para atender o estudo de caso abaixo (5,0):
1. Uma companhia de seguros de automveis com um conjunto de clientes,
onde cada um possui um certo nmero de carros. Os dados do cliente so
nome, RG, CPF, endereo e telefone. Do carro deve-se armazenar a placa,
cdigo Renavan, fabricante, modelo, e ano. Associado a cada carro h um
histrico de ocorrncias. Um carro podem possuir vrias ocorrncias ou
nenhuma. Cada ocorrncia deve ter uma data, local e descrio.
2. Para cada agncia bancria armazenado nmero, cidade e dados sobre os
funcionrios que ali trabalham, tais como nome, endereo, cdigo e salrio.
Cada cliente cadastrado em uma agncia especfica pode possuir vrias
contas bancrias. Para os clientes deseja-se armazenar o nome, o RG e a
cidade na qual residem, alm de suas contas bancrias. Dados importantes
para as contas dos clientes da agncia so o nmero da conta, o saldo e
informaes sobre o conjunto de transaes (nmero da transao, data e
valor) associados conta.

Nome________________________________ Perodo: ______ Data: _______


43

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

SOFTWARE BRMODELO
Este software surgiu de um projeto de concluso de curso com o
objetivo de criar uma ferramenta para o modelo conceitual o foco desta
aplicao ao contrrio das principais ferramentas disponveis no mercado.
O brModelo est fortemente acoplado aos conceitos de construo de
modelos/esquemas adotados pelo Dr. Carlos A. Heuser.
Suas vantagens em relao s ferramentas avaliadas, em sntese, so:
o Permitir alteraes estruturais no modelo diante de novas decises
do analista;
o Converso de atributo em entidade;
o Converso de relacionamento em entidade associativa;
o Converso de especializao de restrita para opcional ou vice-versa.
o Uma outra importante funcionalidade a capacidade de exibir seus
modelos lgicos (salvos em XML) na mesma notao adotada pelo
professor Heuser atravs do uso de XSLT;
o No h necessidade de instalao, pode rodar direto do pen-drive.
Ao clicar no arquivo executvel BrModelo, surge a tela a seguir:

Figura 52 - Tela Inicial (feito pelo Autor)

44

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

MENU SISTEMA

Log de Operaes: exibe o status de


tudo que est ocorrendo no modelo de
dados.
Exportar Imagem: permite escolher o
tipo BMP ou JPEG para salvar o modelo
como imagem.

Figura 53- Menu Sistema (feito pelo Autor)

Ao escolher o Novo(Conceitual), podemos:

Figura 54- Modelo Conceitual (feito pelo Autor)

45

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Exemplo de Modelo Conceitual:

Figura 55 - Exemplo de Modelo Conceitual com o Log de Operaes habilitado


(feito pelo Autor)

Onde:
Atalho

Descrio
Cria uma entidade.
Cria uma relao (relacionamento).
Entidade Associativa.
Especializao.
Especializao com a criao de entidades.
Especializao no-exclusiva com a criao de entidades.
Criao de atributo.
Atributo Identificador (chave).
Atributo Composto.
Atributo Opcional.
Atributo Multivalorado.
Auto-relacionamento.
Ligar objetos (relacionamento)

46

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

No menu SISTEMA GERAR DICIONARIO DO ESQUEMA ou com a tecla de


atalho F12, surge a tela abaixo:

Figura 56 - Exemplo de Dicionrio de Dados (feito pelo Autor)


MENU ESQUEMA CONCEITUAL

Gerar Esquema Lgico: Converte o


modelo conceitual em modelo lgico.

Figura 57 - menu Esquema Conceitual (feito pelo Autor)

47

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Surge a tela a seguir:

Figura 58 Exemplo de Modelo Lgico (feito pelo Autor)


MENU ESQUEMA LGICO

Figura 59 Menu Esquema Lgico (feito pelo Autor)

Atalho

Descrio
Criar tabela
Criar relacionamento
Criar campo
Criar campo chave estrangeira
Criar campo chave primria
Criar um separador de campo
Criar texto (observao)
Criar texto (observao)
Apagar

Obs. Com base no modelo lgico criado, crie o modelo fsico, selecionando o
ESQUEMA LGICO e clique na opo GERAR ESQUEMA FSICO.
48

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

CONVERSO ENTRE MODELOS


Utilizando o software DBModelo podemos criar o modelo conceitual
converter para o modelo lgico e em seguida converter para o modelo fsico:

PESQUISA

Pesquisar sobre um software gratuito que possui reunido em um s


programa UML e banco de dados chamado Open ModelSphere.

EXERCCIOS
1. Com base no estudo de caso abaixo e utilizando o software BRModelo, crie o
modelo conceitual e em seguida converta para o lgico:
Um departamento responsvel por no mnimo uma disciplina. Uma disciplina
por sua vez pode ter de zero a vrias turmas que esto sendo oferecidas.
Cada turma por sua vez possui no mnimo um aluno inscrito, e no pode existir
uma turma que no esteja relacionada a uma disciplina.
Um aluno cadastrado no sistema pode estar ou no matriculado em alguma
disciplina, e pode tambm estar matriculado em vrias disciplinas.
Um departamento deve ter em seu registro a sigla, o nome e o nome do chefe.
Cada disciplina deve ter um nome, um cdigo, a descrio da ementa, e a
bibliografia.
Cada Turma deve ter um registro do seu turno (manh, tarde ou noite) e
professor que ministra.
Cada aluno deve ter em seus registros nome, RG, CPF, N de carteirinha,
endereo e telefone.

PRTICA 01 - MODELO CONCEITUAL DE DADOS


Objetivo: Utilizando o software BRModelo, construir o modelo conceitual de
dados de acordo com o estudo de caso abaixo, utilizando as nomenclaturas
utilizadas (2,5):
Uma firma verde produtos de limpeza e deseja melhor controlar os produtos
que vende, seus clientes e os pedidos. Cada produto caracterizado por um
cdigo, nome do produto, categoria (exemplo: detergente, sabo em p,
sabonete, etc.), e seu preo. A categoria uma classificao criada pela prpria
firma. A firma possui informaes sobre todos seus clientes, como CPF, nome,
endereo (composto por logradouro, bairro, cidade e CEP) e at cinco telefones
de contato.
Nome________________________________ Perodo: ______ Data: _______
49

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

MODELO LGICO DE DADOS


A estruturao e a distribuio dos dados, interfere de forma direta no
desempenho do sistema e na facilidade de se fazer futuras manutenes.
Durante a fase de anlise realizada uma atividade considerada fator crtico
de sucesso atividade que deve ser bem feita para que um objetivo seja
alcanado para se obter um bom desempenho do futuro sistema de
informao. Esta atividade a construo do modelo conceitual de dados do
novo sistema.
Uma caracterstica essencial do modelo de dados no conter nenhuma
redundncia de dados. Um determinado dado ou atributo do modelo de dados
s pode aparecer em um nico lugar. o meio formal de representar os dados
de um sistema de informao que retrata a realidade do sistema e o ciclo de
negcio representado pelo mesmo. Por retratar o ciclo de negcio e a realidade
envolvida com o sistema ele deve estar ao alcance da compreenso e
entendimento de seus usurios.

ENGENHARIA DE INFORMAES
A notao que estaremos utilizando no modelo lgico de dados chamada
de NOTAO DE ENGENHARIA DE INFORMAES, foi criada na dcada de 80 por
James Martin (HEUSER, 2004).
Esta notao da nfase a modelagem de dados e usada at hoje pela
ferramentas CASE.
Relacionamentos binrios;
Atributos
somente
aparecem
em
entidades
(jamais
em
relacionamentos);
Notao das cardinalidades grfica (o mais prximo do retngulo
representa a cardinalidade mxima).
Denominao de um relacionamento escrita em forma de verbos.
Exemplo:
DEPARTAMENTO tem lotado EMPREGADO
EMPREGADO est lotado em DEPARTAMENTO.

COMPONENTES
OBJETO
Tambm chamado de ENTIDADE, representa a categoria de coisas
concretas ou abstratas do mundo real, sobre a qual h interesse em guardar
informao. Um objeto individualizado atravs de suas ocorrncias, definidas
como INSTNCIAS ou TUPLAS.
Pode ser um objeto concreto como um automvel ou uma pea de moblia.
Como pode ser abstrato como uma pessoa, organizao (empresa) ou um evento
ocorrido como uma reunio. Exemplos: CLIENTE, MERCADORIA, ALUNO, CURSO,
TURMA, DISCIPLINA.
Ou seja: O objeto CLIENTE ter a pessoa do cliente Marcelo Faria, como
ocorrncia, uma individualizao, uma instncia do objeto. Cada instncia
representa, descreve uma nica ocorrncia do mundo real. Temos como
50

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

decorrncia que todas as instncias ou tuplas de um determinado objeto tm as


mesmas caractersticas e esto em conformidade com as mesmas regras.

ATRIBUTO
uma propriedade, uma caracterstica de um objeto (ou entidade) que o
sistema necessita conhecer. O atributo o dado que fica armazenado no interior
do sistema, ligado a um objeto. Os atributos so preenchidos por valores que
diferenciam duas instncias de entidade de um mesmo conjunto. Para cada
atributo existe ainda um conjunto de valores possveis. Exemplos:
cd_matricula_aluno, nm_aluno, dt_nascimento_aluno. O nm_aluno um
atributo, um dado, enquanto que Reginaldo Faria o contedo do atributo.
DISCIPLINA
sg_disciplina

nm_disciplina

BD

Banco de Dados

SO

Sistemas Operacionais

RELACIONAMENTO
Constitui-se numa associao entre uma ou mais entidades (objetos)
representado uma linha unindo os objetos. Exemplo:

CASA

COMODO

51

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

NOTAO
H vrias notaes utilizadas em modelo de dados. Abaixo temos um
comparativo.

Figura 57 - Tipos de Nomenclatura (adaptado pelo Autor)

DIFERENA ENTRE AS NOTAES

Figura 58 Exemplo das Diferentes Notaes: Chen x Martin (extrado do livro ROB)

52

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TIPOS DE NOTAO EXISTENTE AT O MOMENTO

Figura 59 Opes de Notao no MER (ELMASRI, 2005)

53

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCCIOS
1. Assinale a alternativa exceo28.
(

No Modelo Conceitual de Dados, alguns dados redundantes, ainda que


poucos so indicados para uso.
No ciclo de vida de um sistema de informao, o modelo conceitual
desenvolvido na fase de anlise.
O modelo de dados deve ser inicialmente construdo levando-se em
conta os processos envolvidos no sistema.
Tupla a mesma coisa que atributo.

2. Assinale a alternativa exceo.


(
(
(
(

) O detalhamento dos processos durante a fase de anlise podem trazer


ajustes no modelo de dados.
) O objeto formado por vrios atributos, os contedo dos atributos
formam instncias e cada instncia descreve uma nica ocorrncia do
mundo real.
) Objeto um conjunto de coisas concretas ou abstratas do mundo real
sobre a qual h interesse em guardar informaes.
) nm_aluno uma instncia do objeto ALUNO.

3. Relacione as colunas
( 1 ) Tabela
( 2 ) Linha da Tabela
( 3 ) Coluna da Tabela

(
(
(

) Tupla
) Objeto
) Atributo

) Instncia

4. Assinale a alternativa CORRETA: Um objeto na instalao do sistema, ser um


armazenador de dados que pode ser:
( ) um arquivo magntico em um disquete.
( ) um fichrio em uma gaveta.
( ) uma tabela em um banco de dados relacional.
( ) um caderno de anotaes.
( ) todas as alternativas anteriores so possveis.
5. Nos texto a seguir, indique os objetos, os atributos e os contedos dos
atributos citados:
Conseguimos mais alguns assinantes, o Sr. Marcelo Faria, professor, que ir
fazer uma assinatura mensal do jornal EXPRESSO POPULAR a partir de
15/11/2010 e a Sra. Fernanda Montenegro, programadora, que ir fazer uma
assinatura anual da revista SQL MAGAZINE a partir de 10/11/2010:

28

Entende-se por exceo, quando houver 3 alternativas verdadeiras e 1 falsa, esta ser a
alternativa correta ou vice-versa.

54

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

6. Abaixo h 15 atributos. Em seguida so indicados os nomes de alguns objetos.


Indique os atributos correspondentes de cada objeto. Se faltar algum objeto,
crie nas demais colunas:
cd_cpf_paciente

dt_consulta

cd_crm_medico

nm_medico

hr_consulta

nm_paciente

nm_remedio

cd_remedio

dt_nascimento_medico

dt_prescricao_receita

dt_nascimento_paciente

qt_total_remedio_receitada qt_remedio_diaria_receitada
qt_tempo_previsto_consulta
MEDICO

CONSULTA

PACIENTE

55

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

7. Defina entidades e os atributos no modelo de dados:

56

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TRATAMENTO E CLASSIFICAO DOS DADOS


TIPOS DOS DADOS
H trs tipos bsicos de dados:
o NATURAL descreve o objeto e sua existncia independente da forma como
o objeto ser utilizado pelo sistema. o mais adequado para ser identificador
do objeto do sistema. Exemplo: nm_funcionrio, dt_nascimento_funcionario,
cd_sexo_funcionario.
o

DERIVADO ou CALCULADO criado por causa de uma necessidade


especfica do sistema. Formado por um processo que utiliza outros dados para
a sua criao. Os dados utilizados so do tipo natural. Exemplo:
qt_idade_funcionario depende do dado natural dt_nascimento_funcionario,
vl_salario_liquido_funcionario depende vl_salario_bruto_funcionario.

ARTIFICIAL criado para possibilitar uma identificao interna ao sistema.


Aparecem durante o desenvolvimento do sistema, quando no se encontram
dados naturais que sejam convenientes para formarem identificadores das
ocorrncias
do
objeto.

desconhecido
dos
usurios. Exemplo:
cd_identificao_contrato.

Para saber a diferena entre um dado natural e um artificial o dado natural


(exemplo cd_matricula_aluno ou cd_registro_geral_cidado) necessrio, ou
seja, nasce com o objeto. J o artificial quando precisamos de uma
identificao (nmero adicional) que no existe no objeto.
CLASSIFICAO DOS DADOS
Todos os elementos de um sistema de informao devem ser padronizados
para que a comunidade envolvida com o mesmo no tenha dificuldades de
entendimento e de intercmbio. Nesse sentido, os dados devem ter um padro
com regras claras de forma a facilitar o uso, o manuseio e a identificao. Os
dados podem ser agrupados de acordo com as caractersticas, formando o tipo
de dados.
Todo o dado depois de classificado e identificado o seu tipo, recebe um
nome apropriado, que deve ser claro para ser entendido pelos profissionais do
sistema. O nome do dado sempre ir iniciar com o mnemnico correspondente
ao seu tipo.
Mnemnico pode ser definido como abreviatura das entidades ou atributos
do modelo lgico. Por exemplo, tbl para definir tabela. So teis para visualizar a
estrutura das tabelas, pois definem bem o escopo de cada coluna. Podemos
classificar de diversas maneiras e diversos tamanhos, mas um bom padro
utilizarmos dois (mximo trs) caracteres para cada mnemnico.
Os mais comuns so:
NOME/DESCRIO: define o nome ou descrio de um objeto. Muitas vezes
estes tipos de colunas podem ser confundidos entre si. Nome simplesmente
a definio do objeto. Descrio uma informao relativa ao objeto.
Exemplo: PRODUTO e atributos: nome e descrio do produto, com valores
distintos: CANETA, cor azul e escrita fina. Estes dois campos so do tipo
CARACTERE e alguns de seus mnemnicos so: nm, nom e ds, dsc ou des.

57

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

CODIGO: Coluna do tipo CARACTERE, embora possamos encontrar com


valores INTEIROS para chave primria de uma tabela. Mnemnicos possveis
so: cd, cd.
STATUS: define o estado de um registro. Geralmente pode ser Ativo,
Cancelado, Expirado, Inativo. Coluna do tipo CARACTERE com mnemnicos:
ic, st, sta.
DATA: podemos incluir hora, minutos, segundo e at milessegundos.
Mnemnicos possveis: dt, dat, ts(Timestamp);
OBSERVAO: utilizamos normalmente ds, mas podemos encontrar: txt, tx,
ob, obs.
IDENTIFICADOR: utilizado para chave primria. Campo do tipo NUMRICO,
com possveis mnemnicos: id, ide.
NMERO/VALOR/QUANTIDADE: colunas usadas para definir tipos
NUMERICOS. Possveis mnemnicos: num, nbr (nmero), vl, vlr, val
(valor), qt, qtd,qtt (quantidade).
A T E N O!!!!!
No nosso curso para padronizao - vamos definir TODOS
OS DADOS, sem exceo, conforme classificao abaixo:

Sigla
cd

Descrio
cdigo (alfanumrico, inclui nmeros)

ds
dt
dd
mm
aa
hr
ic

descrio
data
dia
ms
ano
hora
indicador
(descreve dois valores ou estados)
nome
quantidade
(valores no monetrios)
sigla
porcentagem
valor
imagem

nm
qt
sg
pc
vl
im

Exemplo
cd_nota_fiscal
cd_matricula_aluno
ds_equipamento
dt_nascimento_aluno
dd_nascimento_aluno
mm_nascimento_aluno
aa_nascimento_aluno
hr_inicio_aula
ic_debito_credito
nm_professor
qt_aluno_exame
sg_disciplina
pc_desconto_mensalidade
vl_mercadoria
im_aluno

Figura 60 Tipos de m-nemnicos (feito pelo autor)

O nome de um dado deve ser simples para ser entendido pelos usurios e
fazer sentido no ciclo de negcio que o sistema retrata. Deve ter uma estrutura
simplificada que no deixe dvidas aos desenvolvedores com relao ao sistema.
Por isto, no utilizam palavras no plural, preposies, artigos, conjunes, etc.
Usamos underscore _ entre as palavras para indicar que um nico dado, uma
nica palavra. Obs.: Os atributos que so aceitos com abreviao so: cep,
cnpj, cpf, inss, fgts e pis.
58

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCCIOS
1. Especifique os dados que retratem as necessidades a seguir:
nome de uma cidade
sigla de um estado brasileiro
indicador se possui ou no dependente
nmero de uma nota fiscal
nota final de um aluno
capacidade de um balde
preo de um calado
tamanho do p de um cliente
desconto promocional das mercadorias
total de alunos presentes em sala de aula
foto de um produto
salrio lquido de um funcionrio
idade de um aluno
inicio e trmino da aula
durao da aula
mostrar se a lmpada est acesa ou
apagada
sexo de um funcionrio
nmero de alunos inscritos na disciplina
2. Se houver erros nos dados abaixo, indicar a maneira correta:
nm_nome_fornecedor
cd_nmero_ordem_servio
nr_matricula_aluno
vl_tamanho_capacidade_reservatrio
cd_indicao_motor_ligado
ds_cidade
vl_preco_mercadoria_disponvel
cd_produto_estoque
dt_vencimento_mensalidade
qt_preco_do_veiculo
cd_numero_identificao_pianos
qt_total_lixo_recolhido
ds_placa_identificaao_motocicleta
qt_preco_corte_cabelo
qt_minima
dt_vencimento
vl_total_peso_bezerro
nr_carteira_identidade
st_situacao_equipamento
ic_debito_credito
tp_materia_prima_utilizada
nm_fabricante_impressora
ds_nome_endereo_funcionrio
59

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

hr_previsto_de_embarque_dos_passageiros
nm_tinta_pintura_do_quadro
hr_partida_voo
nm_nome_cavalo_preo
nm_descrio_tecido_tapete
dt_de_validade
ds_equipamento_eletrnico
qt_largura_mesa
sg_nome_empresa_area
st_situao_equipamento
nr_inscrio_candidato
3. No texto abaixo, grife o contedo de dados e defina o nome dos dados
correspondentes.

Veja s nossas promoes, o preo do sapato preto social de cromo de R$


130,00, o do sapato marrom esporte de camura de R$ 50,00, o da bolsa azul de
nylon de R$ 85,00, e o preo da sandlia social branca de couro de R$ 75,00.

60

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 03TRATAMENTO DOS DADOS


Em um sistema de informao de uma agncia de turismo, indicar os dados que
possam retratar as situaes abaixo (1,0):
nome da empresa operadora
nome dos passageiros
descrio dos principais locais de
interesse
data da sada da excurso
quantidade de passageiros mxima na
excurso
cidade de destino da excurso
preo que o passageiro ir pagar pela
excurso
vencimento
das
faturas
de
financiamento
identificao da companhia area
tipos de transportes envolvidos
guia responsvel pela excurso
diferentes tipos de pagamento
impedimento do excursionista em
viajar ou no
nmero do contrato que o passageiro
assina
recomendaes teis aos passageiros

Nome________________________________ Perodo: ______ Data: _______

61

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

DESCRIO DO FLUXO DE DADOS


O fluxo de dados o caminho dos dados de um ponto a outro no sistema.
Tem a funo de transferir os dados entre os diversos processos (chamamos de
processo, uma sequncia de atividades com o objetivo de cumprir uma
determinada funo). no fluxo de dados que transformamos e manipulamos os
dados e no responsvel pelo armazenamento dos dados.
formado por diversos dados que so denominados de elementos de
dados.
Os fluxos de dados tambm tm um padro a ser seguido. Ou seja, fluxos
devem ser descritos independente da maneira como sero implantados
fisicamente. Portanto, todo fluxo de dados deve ter um nome que no esteja
associado tecnologia de implantao do sistema.

PADRO PARA DESCRIO DOS FLUXOS DE DADOS:


Usamos os smbolos a seguir para padronizar a descrio dos fluxos e
assim, criar o relacionamento entre os diversos elementos de dados que
compem este fluxo:
+
( )
[ / ]
{ }
< / >

E
Opcional, o dado pode ou no ser informado.
Ou (ocorre um ou outro).
Mltipla ocorrncia, de 1 a vrias ocorrncias
e/ou, ocorre somente um, vrios ou todos

Figura 61 Tabela com Nomenclatura de Descrio de Fluxo de Dados (feito pelo autor)

O nome de um fluxo de dados no se encaixa em nenhum dos tipos que


descrevem os dados, portanto no dever comear com nenhum daqueles mnemnicos.
Essa principal diferena, os elementos de dados tm nomes que se iniciam
com m-nemnicos, enquanto que os fluxos de dados no.
Exemplos vlidos: nota_fiscal, escala_horrio, inscrio_candidato, etc.
Os nomes dos fluxos de dados e dos dados devem ser na medida do
possvel, auto-explicativos.
Ao nomear, o analista deve evitar o uso de palavras no plural, artigos,
conjunes, preposies, etc. Isso facilita e evita dvidas futuras para se
escrever ou fazer referncias aos nomes corretos.
Exemplo correto: vl_total_fatura.
Exemplo incorreto: vl_totais_das_faturas.

62

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCCIOS
1. Descreva o fluxo de dados:
NOTA FISCAL
Nmero: 102.030
Nome do Cliente: Toni Ramos
Inscrio Estadual (se isento no preencher):
CNPJ ou CPF: 373.951.988-23
Quantidade

Material
3 Caneta
2 Caderno
1 Pasta c/ elstico

TOTAL DA NOTA FISCAL:

Valor Unitrio
4,50
11,00
5,00

Data: 25/12/2010

Valor Total
13,50
22,00
5,00
40,50

2. Descreva o fluxo de dados que est sendo solicitado no pedido do usurio:


Sr. Analista, preciso de sua ajuda para controlar as ocorrncias de ponto de
nossos funcionrios. Gostaria de receber um relatrio mensal com a matrcula de
cada funcionrio, as datas que ele teve ocorrncia de ponto, que ocorrncia foi
(atraso, licena, falta, etc.) e a indicao se a mesma foi justificada ou no. Esta
lista precisa sair separada para cada um dos nove departamentos que a empresa
tem. Obrigado.
3. Considerando as regras adotadas, corrija os erros nas descries abaixo:
solicitao_compra =
+ dt_solicitacao_compra
+ nome_solicitante
+ {cd_material_solicitado
+ qt_material_solicitado
+ qt_preco_unitario_material_solicitado
+ ic_confidencialidade_solicitacao_compra
relao_inscritos_excurso =
nm_cidade_destino_excurso
+ cd_tipo_transporte_excurso
+ dt_data_embarque_excurso
+ {nm_nome_turista
+ qt_idade_turista
+ cd_codigo_sexo_turista}
ficha_inscrio_candidato =
nm_candidato
+ ds_candidato
+ ic_candidato
+ <nm_pai_candidato
+ nm_me_candidato>
63

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

4. Descreva o fluxo de dados dos estudos de caso a seguir:


a)

b)

64

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

c)

d)

Dados Cadastrais do Funcionrio

Matrcula: 951
Nome: Rodrigo Maranguape Lombardi
Data Nascimento: 15/10/1976
Nacionalidade: brasileiro
Sexo: masculino
Estado Civil: solteiro
RG: 35.951
CPF: 753.357.788-65
Endereo: Rua So Jos, n 50 apto. 34
Telefone: (11)9511-8778
Data de Admisso: 02/01/2002
Cargos Ocupados
Cargo: Gerente de TI
Data Incio: 02/01/2002
Data Fim: at o momento
Cargo: Analista de Sistemas Data Incio: 05/10/2003
Data Fim: 31/12/2005
Departamento de Lotao
Depto.: Informtica
Data Incio: 02/01/2002
Data Fim: at o momento
Depto.: Marketing
Data Incio: 04/05/2003
Data Fim: 31/12/2005
Dependentes
Nome:
Data de Nascimento:
Rafael
15/10/2008
65

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 04 DESCRIO DO FLUXO DE DADOS


1. Descreva o fluxo de dados abaixo de acordo com a classificao dos dados
(1,0):

Nome________________________________ Perodo: ______ Data: _______

66

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

RELACIONAMENTO ENTRE OBJETOS

Figura 62 Tipos de Relacionamento entre Objetos (extrado do curso Oracle)

O modelo conceitual de dados deve retratar o mundo real. Os objetos so


as categorias das coisas do ciclo de negcios que o sistema tem interesse em
controlar e/ou armazenarem as informaes.
Se tomarmos a aluna Juliana Paes ela uma instncia do objeto ALUNO. Da
mesma maneira, se tomarmos a Informtica, este uma instncia do objeto
CURSO:
Juliana Paes

Informtica

ALUNO

CURSO

Se o modelo de dados deve retratar o mundo real, de alguma maneira ele


precisa indicar que Juliana Paes cursa o curso de Informtica:
cursa
ALUNO

CURSO

O relacionamento no sentido inverso tambm significativo e precisa ser


retratado pelo modelo de dados. preciso indicar que o curo de Informtica
cursado por Juliana Paes:

ALUNO

_cursado

CURSO

67

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Podemos ainda representar atravs de um trao unindo os dois objetos,


estaremos indicando que as instncias dos dois objetos envolvidos tm um
relacionamento significativo no ciclo de negcio em estudo:
cursa
ALUNO

_cursado

CURSA

Dever ser atribudo um nome ao relacionamento para maior clareza e para


identificao do mesmo quando do uso de ferramentas CASE. Cada nome
atribudo deve ser nico em todo o modelo de dados.

CARDINALIDADE E MODALIDADE
A CARDINALIDADE descreve a quantidade mxima que um
relacionamento pode ter. A MODALIDADE descreve a quantidade mnima de um
relacionamento. Vamos usar os objetos NOTA FISCAL e MERCADORIA, que
apresentam um relacionamento significativo no ciclo de negcio.
A questo a ser respondida : Quantas mercadorias so vendidas atravs
de uma nota fiscal? S tem sentido a emisso de uma nota fiscal se pelo menos
uma mercadoria for vendida atravs da mesma. Portanto, uma instncia de
NOTA FISCAL pode se relacionar com UMA instncia de MERCADORIA no mnimo,
e com VRIAS instncias no mximo.
Chegamos ento aos valores da cardinalidade e s combinaes possveis
de serem feitas com os valores: mnimo e mximo. Um objeto se relaciona com
outro com cardinalidade mnima de ZERO ou UM e com cardinalidade mxima de
UM ou VRIOS. Isto possibilita quatro combinaes:
MNIMO

MXIMO

REPRESENTAO

(1)

Vrios

(N)

Vrios

DESENHO

Tabela 3 Tabela com Nomenclatura para Relacionamento entre Objetos

Assim, escrevemos o relacionamento:


NOTA FISCAL (N) : N MERCADORIA (vende)
ou no sentido inverso:
MERCADORIA N : ( N ) NOTA FISCAL (_vendida)
Os dois pontos entre as cardinalidades indicam que se trata de um
relacionamento entre objetos.
Abaixo temos as possveis representaes grficas nos relacionamentos:

68

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 63 Possveis Relacionamentos (extrado da WEB)

Observao: O relacionamento 1 : 1 um tipo de relacionamento muito


eficiente para evitar informaes vazias desnecessariamente, que ocupam
espao em disco e diminuem a performance do banco de dados. Esse tipo de
relacionamento normalmente aplicado a registros (usados em determinadas
situaes) com informaes nulas para determinados campos da entidade.
Exemplo: FUNCIONARIO pode pertencer a uma das duas categorias bsicas:
EFETIVO e CONTRATADO. Um FUNCIONARIO pode ser um e somente um
EFETIVO e um EFETIVO deve ser um somente um FUNCIONARIO:
FUNCIONARIO
# cd_funcionario
nm_funcionario
cd_telefone
vl_salario

ser
ser

EFETIVO
# dt_contratao
# cd_pis
dt_nascimento
qt_dependente

Lembre-se: Algumas ferramentas CASE, utilizam apenas um risco para


representar (1,1).
69

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCCIOS
1. Complete os desenhos abaixo que representam os relacionamentos indicados:
PRODUTO

FORNECEDOR

( N ) : N (fornece)
FUNCIONARIO

DEPARTAMENTO

1 : N (aloca)
AUTOR

LIVRO

N : N (escreve)
CONSULTA

PACIENTE

1 : N (solicita)

AVALIAO

1 : N (tem)

QUESTO

2. A partir das indicaes dos relacionamentos, construa o desenho DE UM


NICO modelo de dados indicado o nome dos relacionamentos no desenho.
Todos os objetos e relacionamentos fazem parte do mesmo modelo de dados,
portanto do mesmo desenho.
ALUNO
(N) : N
DISCIPLINA
(cursa)
DISCIPLINA
N : 1 PROFESSOR
(_ministrada)
ALUNO
N : 1
CURSO
(est_inscrito)
DISCIPLINA
(N) : (N)
LIVRO
(utiliza)
LIVRO
N : N
AUTOR
(inscreve)
3. Considere a seguinte situao:

O funcionrio est dedicado a um departamento, tem vrios ou nenhum dependente,


pode ou no autorizar a assinatura de um contrato e , algumas vezes, responsvel
por um ou mais bens do patrimnio da organizao. Um contrato pode ser autorizado
por mais de um funcionrio, porm todo bem do patrimnio s pode ter um
responsvel.
a) Quais os objetos encontrados na situao acima.
b) Construa o provvel modelo de dados que retrate esta realidade.
c) Indique os objetos onde devero estar os atributos abaixo:
ATRIBUTO
cd_identificao_bem_patrimonial
nm_departamento
dt_inicio_validade_contrato
cd_matricula_funcionario

OBJETO

70

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

4. Criar relacionamentos que atendam a necessidade a seguir:

5. Faa o fluxo de dados de acordo com a classificao, encontre os objetos e


crie relacionamento entre eles utilizando as cardinalidades:
ACADEMIA FIQUE EM FORMA
Rua Julio Conceio, n 1000
Aluno: Gloria Pires
R. Gois, n 50 apto. 10
Telefone: 3222-6660
Modalidade: Yoga
Modalidade: Natao
Utiliza o estacionamento?

CPF: 951.159.158-50
Bairro: Gonzaga
Celular: 8112-5151
Dias: 2f e 4f.
Dias: 3f e 5 f
Sim

Incio em: 06/03/2009


Cidade: Santos
Outros:
Horrio: 8h s 9h
Horrio: 7:30 as 8:30
No

6. Crie o modelo lgico de dados com seus relacionamentos de um sistema de


banco de dados para ser utilizado pelos departamentos da universidade:

Um departamento responsvel por no mnimo uma disciplina.


Uma disciplina por sua vez pode ter de zero vrias turmas que esto
sendo oferecidas.
Cada turma por sua vez possui no mnimo um aluno inscrito, e no pode
existir uma turma que no esteja relacionada uma disciplina.
Um aluno cadastrado no sistema pode estar ou no matriculado em
alguma disciplina, e pode tambm estar matriculado em vrias disciplinas.
Um departamento deve ter em seu registro a sigla, o nome e o nome do
chefe. Cada disciplina deve ter um nome, um cdigo, a descrio da ementa,
e a bibliografia.
Cada Turma deve ter um registro do seu turno (manh, tarde ou noite)
e professor que ministra.
Cada aluno deve ter em seus registros nome, RG, CPF, Nmero de
carteirinha, endereo e telefone.

71

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 05RELACIONAMENTO ENTRE OBJETOS


Crie o modelo lgico de dados com seus relacionamentos, de um sistema de
banco de dados para ser utilizado no controle de nota fiscal (1,0):

Nome________________________________ Perodo: ______ Data: _______


72

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

IDENTIFICAO DA INSTNCIA
O modelo de dados deve retratar o mundo real envolvido com o ciclo de
negcio que o sistema se presta a apoiar.
Chamamos de chave o identificador de cada ocorrncia do objeto. A chave
um atributo - ou conjunto de atributos - capaz de identificar de forma nica,
uma instncia de um objeto. Todos os atributos no chave de uma instncia
devem depender do atributo chave e por ele serem identificados.
O contedo da chave fixo e no pode se alterar com o tempo. E como a
chave tem que ser nica, ela no pode apresentar dois contedos iguais, isto , o
mesmo contedo em mais de uma ocorrncia e obrigatrio o seu
preenchimento.
A correta escolha da chave garante que a mesma no s identifique, mas
tambm unifique a instncia do objeto, isto , garante a individualizao da
instncia. Por exemplo, cd_matricula_funcionrio s pode ser chave, se na
empresa referenciada pelo sistema, a numerao dos funcionrios for nica. Se
entre as filiais da empresa a numerao for independente, ento este atributo
embora identifique um funcionrio dentro da filial, no o unifica em toda a
empresa.
atravs das chaves que os processos fazem os acessos nas instncias dos
diversos objetos de um sistema de informao.
A chave primria um atributo natural do objeto atravs da qual, todos
os demais atributos da instncia so identificados. No objeto CIDADO o atributo
cd_cpf_cidado pode ser uma chave primria e os demais atributos no chave,
nm_cidado, dt_nascimento_cidado,
etc. se
identificam atravs
do
cd_cpf_cidado.
Pode acontecer de um objeto apresentar mais de um atributo apto a ser
chave primria. Nestes casos, cabe ao analista decidir qual o mais adequado em
funo do ambiente do sistema e do ciclo de negcio.
Atributos do tipo nm (nome) e ds (descrio) no so apropriados para
formarem chave primria, pois apresentam contedos extensos e imprecisos.
Causam dvidas e no garantem que haja preciso no contedo do atributo
chave.
Quando uma instncia no apresenta nenhum atributo que sozinho, sirva
para ser chave primria, procura-se associar dois ou mais atributos que, em
conjunto possam cumprir a funo de chave da instncia do objeto.
A chave concatenada o nome dado a um conjunto de atributos capaz de
identificar de forma nica uma instncia do objeto. Os demais atributos no
chave devem se identificar por toda a chave e no somente por parte dela.
necessrio que se garanta que o contedo do conjunto de atributos escolhidos
seja fixo e nico. Um atributo que forma a chave concatenada pode ter
contedos repetidos, mas o conjunto de atributos que formam a chave
concatenada no pode.
Os dados que dizem respeito temporalidade como dt, hr, etc, no podem
ser chave primria, por no haver possibilidade de unicidade do contedo, mas
so comuns em chaves concatenadas.
Exemplo: No objeto HOLLERITH necessrio utilizar a dt_emissao_hollerith
concatenado com cd_matricula_funcionrio, pois, no mesmo dia podemos emitir
mais de um hollerith.
H ainda outros conceitos referente a identificao de instncia:

73

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Chave candidata atributo ou conjunto de atributos que so nicos


para cada instncia do objeto. Exemplo: cpf.

Chave primria entre as chaves candidatas, escolhe-se aquele


atributo que ser o identificador principal da tabela.

Chave alternativa chaves candidatas, que no foram utilizadas como


chave primria.

Chave estrangeira atributo ou conjunto de atributos que faz ligao


com uma chave candidata de outra tabela.

EXERCCIOS
1. Complete com V ou F:
(
(
(
(
(

) Instncia uma ocorrncia do mundo real.


) Se ocorrncia do mundo real, a instncia tem que ser nica.
) A chave de uma instncia tem que garantir sua identificao.
) Para ser nica, ser conhecida, uma instncia tem que ter uma chave.
) Somente a identificao da instncia no suficiente, preciso que ela
seja nica, preciso garantir tambm a unicidade da instncia.

2. Dentre os tipos de atributos abaixo, CIRCULE os mais adequados para chave


primria e SUBLINHE os mais adequados para chave concatenada:

cd nm sg ic

dt

ds hr pc qt vl

3. Assinale os atributos que sozinhos, podem vir a ser chave primria:


( ) cd_registro_geral_aluno
( ) cd_placa_automvel
( ) cd_cpf_cidadao
( ) cd_onibus
( ) qt_nota_final_aluno
( ) cd_matricula_aluno
( ) sg_companhia_aerea
( ) vl_salario_funcionario
( ) cd_registro_funcionario
( ) dt_emissao_hollerith
4. Assinale a alternativa exceo. Sobre chave concatenada:
( ) Pode ser formada por um nico atributo.
( ) muito comum em um modelo de dados.
( ) Nunca contm dado do tipo artificial.
( ) Pode ser formada por muitos atributos.
5. Assinale a alternativa exceo:
( ) O modelo de dados desenvolvido durante a fase de projeto.
( ) Os atributos so definidos em funo dos elementos de dados do sistema.
( ) No existe elemento de dado que seja um dado do tipo calculado.

74

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 06IDENTIFICAO DE INSTNCIA


1) Identifique as chaves primrias mais provveis dos objetos a seguir. Admita
que todos os atributos so possveis de pertencer aos objetos indicados. Crie
novos atributos para serem chaves primrias, se necessrio (0,5):
FUNCIONARIO

CLIENTE

NOTA_FISCAL

cd_matricula_funcionrio

nm_cliente

dt_emisso_nota_fiscal

nm_funcionario

dt_primeiro_contato_cliente

vl_total_nota_fiscal

dt_nascimento_funcionario

cd_registro_geral_cliente

dt_prevista_entrega_produto

cd_sexo_funcionario

sg_unidade_federativa_registro_geral

qt_total_produto_comprado

dt_admisso_funcionario

ic_sexo_feminino_masculino_cliente

CONTRATO

ALUNO

REUNIO

dt_assinatura_contrato

cd_matricula_aluno_aprovado

cd_sala

cd_cpf_contratante

nm_aluno_matriculado_curso

dt_reunio

cd_cpf_contratado

nm_aluno_convocado_jogo

ds_agenda_reunio

vl_total_contrato

qt_nota_mnima_aprovao

qt_tempo_estimado_reunio

nm_cidade_assinatura_contrato

2) Identifique as chaves (se houver):


CANDIDATA

ALTERNATIVA

PRIMRIA

Nome________________________________ Perodo: ______ Data: _______


75

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

RELACIONAMENTO 1 : 1
Um relacionamento um-para-um, existe entre duas tabelas, quando um
nico registro da primeira tabela est relacionado a um nico registro da
segunda tabela e um nico registro da segunda tabela est relacionado a um
nico registro da primeira tabela.
Esse tipo de grau de relacionamento bastante restritivo na associao dos
elementos e, por isso, acaba sendo pouco comum no dia-a-dia.
Os relacionamentos de grau 1:1 so bastante
difceis de serem caracterizados, pois qualquer
mudana de interpretao ou viso pode fazer com
que facilmente eles sejam questionados e at
reconsiderados.
Temos um exemplo para o entendimento deste
relacionamento?
L-SE: Uma conferncia possui uma nica
comisso.

RELACIONAMENTO 1 : N
Os relacionamentos entre os objetos so criados em funo do ciclo de
negcio que o modelo de dados retrata. Dois sistemas que retratem ciclos de
negcios diferentes podem ter diversos objetos iguais na base de dados, mas os
relacionamentos iro dar significados diferentes para cada modelo conforme o
ciclo imponha. Durante a construo do modelo, para testar sua consistncia,
efetuado a navegao entre os objetos, que ser a mesma que os processos
realizaro para produzir diversas respostas que o sistema necessita fornecer ao
ambiente. Na descrio e detalhamento dos processos, as sequncias de acessos
aos objetos, ocorrero atravs dos relacionamentos.
Todo relacionamento do tipo 1 : N gera um atributo estrangeiro que
o elo de ligao entre duas instncias e a existncia de um atributo
estrangeiro indica que h um relacionamento da instncia de um objeto com
outra instncia de outro objeto, ou de maneira simples, indica que h um
relacionamento entre dois objetos. No relacionamento entre dois objetos, o
objeto dependente herda a chave do objeto de origem como atributo estrangeiro.
O atributo estrangeiro aparece em todos os relacionamentos do tipo 1 : N
independente da cardinalidade mnima dos relacionamentos. O objeto associado
cardinalidade N recebe como atributo estrangeiro chave do objeto associado
cardinalidade 1.
O atributo estrangeiro poder ou no vir a ser chave do objeto dependente,
isso depende da convenincia na identificao dos objetos. Chave estrangeira o
nome dado ao atributo estrangeiro quando o mesmo chave do objeto
dependente. Exemplo:

76

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

adquire
PROPRIETRIO

# cd_cpf_proprietrio
nm_proprietrio

_adquirido

VECULO

# cd_placa_veculo
nm_veculo
cd_chassi_veculo
E cd_cpf_proprietrio

Chamamos de NAVEGAO NO MODELO DE DADOS, a criao do


atributo estrangeiro (E) no objeto destino, baseado na chave primria do objeto
de origem.

EXERCCIOS
1. Assinale a exceo.
(

) possvel se fazer navegao no Modelo de Dados em caminhos que no


sejam pelos relacionamentos.

) Ao prever a existncia de uma chave estrangeira em um objeto preciso


ter cuidado porque a mesma pode ser tornar um atributo redundante.

) Um atributo chave do objeto A pode ser um atributo estrangeiro no


objeto B, e tambm chave estrangeira no objeto C.

) Alguns atributos estrangeiros so criados, independente de existir


relacionamentos com os objetos aos quais pertencem.

2. Assinale a exceo.
(

) OBJETO A 1:N OBJETO B. Um atributo no chave do OBJETO A ser um


atributo estrangeiro no OBJETO B

) Para ser um atributo estrangeiro ou uma chave estrangeira, o atributo


precisa ser necessariamente atributo chave no objeto que est fazendo o
relacionamento.

) Quando um objeto apresenta um atributo estrangeiro, significa que,


obrigatoriamente este objeto esta relacionado de maneira N : 1 com
outro objeto.

) S se lana mo de um atributo artificial para compor uma chave de


objeto, quando no se encontra entre os seus atributos naturais, algum
que seja mais conveniente. O atributo artificial poder vir a ser chave ou
atributo estrangeiro em outro objeto.

2. Complete as estruturas a seguir com a migrao dos atributos ou chaves


estrangeiras. Considere que os atributos estejam completos, s inclua um
atributo novo se for solicitado.

a)
77

B A N C O

D E

D A D O S

PROPRIETRIO

F A T E C

adquire

D E

G R A N D E

IMVEL

_adquirido

# cd_proprietrio
nm_proprietrio

P R A I A

# cd_imvel_prefeitura
dt_venda_imvel

b) H dois funcionrios com a mesma matrcula em toda a rede de lojas:


LOJA

aloca

est_alocado

# cd_loja
# sg_unidade_federativa
qt_rea_til_loja

FUNCIONRIO

# cd_matricula_funcionario
nm_funcionario

c) No h dois funcionrios com a mesma matrcula em toda a rede de lojas. Se


necessrio, inclua novos atributos:
LOJA

aloca

FUNCIONRIO
est_alocado

# cd_loja
# sg_unidade_federativa
qt_rea_til_loja

# cd_matricula_funcionario
nm_funcionario

4. Construa o modelo de dados (simbolicamente dois tipos de dados: ch chave


e at = atributo no chave).
OBJETO A
# ch_a
at_a1
at_a2

OBJETO B
# ch_b
at_a1
at_b2
E ch_a

OBJETO C
# ch_c
# E ch_a
at_c1

a) Os objetos que tem chave concatenada so:


( )OBJETO A ( )OBJETO B ( )OBJETO C
b) Existe algum problema com os atributos do OBJETO B?
________________________________________________________________
________________________________________________________________
________________________________________________________________
5. Modelo de dados a seguir est indicando que um proprietrio pode adquirir
vrios veculos, e este durante sua vida necessitar de vrios licenciamentos.
Coloque cada um dos atributos apresentados na lista a seguir no seu
respectivo objeto, indique as chaves dos objetos e os atributos ou chaves
estrangeiros.
cd_placa_veiculo
dt_licenciamento_veiculo
cd_cpf_proprietario
nm_veiculo
nm_proprietario
vl_licenciamento_veiculo
nm_empresa_trabalha_proprietrio
nm_despachante_responsvel_licenciamento
PROPRIETARIO

VEICULO

LICENCIAMENTO
_VEICULO

78

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

6. De acordo com o modelo abaixo, faa o fluxo de dados de acordo com a


classificao, identifique os relacionamentos entre eles utilizando as
cardinalidades e faa a navegao no modelo de dados:
a)
HOLLERITH
Matrcula do Funcionrio: 79
Admisso: 15/01/2004
Nome: Lima Duarte
Departamento: INF - Informtica
Salrio Base: R$ 2.650,00
Total de Descontos: R$ 650,00
Salrio Lquido: R$ 2.000,00
DATA DO PAGAMENTO: 10/09/2010
b)

FICHA MDICA
Nmero do Paciente: 006

Nome: Maria da Dor

Data Nasc:10/01/1938

Sexo: Feminino

Convnio: Santa Casa

Estado Civil: viva

RG: 1.345.678

Telefone: 3456-6767

Endereo: Rua Flor, numero 15 Jardins Guaruj SP CEP: 11040-000


Consultas
Data

Horrio

Mdico

Diagnstico

12/12/2010

16h

Dr. Joo

Gripe

12h

Dra Joana

Dengue

15/01/2011

Observao

Exames
Data e Hora da
Consulta

Exame

Data

15/01/2011 12h

Hemograma

16/01/2011

Observao

79

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

7) Faa um modelo lgico de dados que retrate as necessidades a seguir:


Sistema de controle e gerenciamento de execuo de ordens de
servio em uma oficina mecnica

Clientes levam veculos oficina mecnica para serem consertados ou


para passarem por revises peridicas.

Cada veculo designado a uma equipe de mecnicos que identifica os


servios a serem executados e preenche uma ordem de servio (OS) e
prev uma data de entrega.

A partir da OS, calcula-se o valor de cada servio, consultando-se uma


tabela de referncia de mo-de-obra. O valor de cada pea necessria
execuo do servio tambm computado.

O cliente autoriza a execuo dos servios e a mesma equipe responsvel


pela avaliao realiza os servios. Clientes possuem cdigo, nome,
endereo e telefone.

Veculos possuem cdigo, placa e descrio.

Cada mecnico possui cdigo, nome, endereo e especialidade.

Cada OS possui um nmero, uma data de emisso, um valor e uma data


para concluso dos trabalhos. Uma OS pode ser composta de vrios itens
(servios) e um mesmo servio pode constar em vrias ordens de servio.
Uma OS pode envolver vrios tipos de peas e um mesmo tipo de pea
pode ser necessria em vrias ordens de servio.

80

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 07 RELACIONAMENTO 1 : N
Construir um modelo lgico de dados para um sistema de controle bancrio
(1,5):
Para cada agncia bancria armazenado nmero, cidade e dados
sobre os funcionrios, tais como nome, endereo, cdigo e salrio.
Cada cliente cadastrado em uma agncia especfica pode possuir vrias
contas bancrias. Para os clientes deseja-se armazenar o nome, o RG e a cidade
na qual residem, alm de suas contas bancrias. Dados importantes para as
contas dos clientes da agncia so o nmero da conta, o saldo e informaes
sobre o conjunto de transaes (nmero da transao, data e valor) associados
conta.

Nome________________________________ Perodo: ______ Data: _______


81

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

RELACIONAMENTO DO TIPO M : N
Os objetos tambm podem se relacionar com cardinalidade M:N. E esta
cardinalidade no gera atributos ou chaves estrangeiras. Mas, independente
da cardinalidade, havendo relacionamento, necessrio haver a navegao entre
os objetos.
No caso de relacionamentos do tipo M:N, a navegao possvel atravs da
resoluo deste relacionamento. Este tipo de relacionamento desaparece e
em seu lugar surge um OBJETO DE RESOLUO, nome dado ao objeto
associativo de um relacionamento M:N.
A chave deste novo objeto formada pelos atributos estrangeiros que so
chave nos objetos de origem. Desta maneira soluciona-se o problema de
navegao entre os objetos:
fornece
FORNECEDOR

PRODUTO

_fornecido

#cd_fornecedor

#cd_produto

nm_fornecedor

nm_produto

cd_inscricao_estadual_fornecedor

vl_produto

Vamos supor as seguintes instncias nos objetos:


FORNECEDOR
#cd_fornecedor
001
002
003
004
PRODUTO
#cd_produto
A
B
C
D

nm_fornecedor
Papelaria Lpis
Padaria Quente
Papelaria Papel
Mat.Const. Lima

nm_produto
Areia
Cal
Leite
Lpis

cd_inscrio_estadual_fornecedor
155.155
200.250
987.789
654.456

vl_produto
300.00
17.00
0.98
0.50

Segundo o relacionamento, um fornecedor pode fornecer diversos produtos.


Da mesma maneira que um determinado produto pode ser fornecido por
diferentes fornecedores. Como possvel saber quais produtos so fornecidos
por cada um dos fornecedores? Ou quais fornecedores fornecem determinado
produto?
Essas respostas so possveis de serem fornecidas aps a resoluo do
relacionamento que efetuada da seguinte maneira:

82

B A N C O

D E

D A D O S

FORNECEDOR

F A T E C

D E

G R A N D E

PRODUTO

FORNECIMENTO

#cd_fornecedor
# E cd_fornecedor
nm_fornecedor
# E cd_produto
cd_inscrio_estadual_fornecedor
vl_produto
FORNECIMENTO
# E cd_fornecedor
001
002
003
004
004

P R A I A

# cd_produto
nm_produto

# E cd_produto
D
C
D
A
B

Quem fornece lpis?


Agora observe o atributo vl_produto no objeto PRODUTO. Este caso est
retratando a situao em que um determinado produto tem um preo fixo,
independente de qual seja o seu fornecedor isto , para todos os fornecedores o
preo do produto o mesmo. No exemplo acima, as duas papelarias cobram
0,50 pelo lpis. No caso de cada fornecedor cobrar um preo diferente para o
mesmo produto, como o modelo de dados poder fazer tal indicao?
Neste caso, h uma diferena fundamental, pois o atributo vl_produto no
mais exclusivo do objeto PRODUTO. Ele depende tambm do objeto
FORNECEDOR. Mas tambm no s o objeto FORNECEDOR. O atributo no caso
pertence aos dois objetos, mais precisamente, diz respeito aos dois objetos, ou
depende dos dois objetos para ser definido. Dizer que pertence aos dois
objetos, o que significa que o atributo pertence resoluo do relacionamento,
portanto, definido como atributo do objeto de resoluo. Neste caso criada
uma particularidade, o objeto de resoluo ter atributos no chave alm das
chaves estrangeiras. Chamamos de OBJETO ATRIBUTIVO um objeto de
resoluo que apresenta atributos no chave, alm das chaves estrangeiras. O
objeto do tipo atributivo uma particularidade do objeto do tipo associativo.
Assim, a soluo ser:
FORNECEDOR

FORNECIMENTO

#cd_fornecedor
# E cd_fornecedor
nm_fornecedor
# E cd_produto
cd_inscrio_estadual_fornecedor
vl_produto_fornecido

PRODUTO

# cd_produto
nm_produto

83

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCCIOS
1. Responda V ou F sobre o objeto do tipo associativo.
( ) Nasce da resoluo de um relacionamento do tipo M:N.
( ) uma particularidade do objeto atributivo.
( ) No pode se relacionar com outros objetos que no sejam envolvidos na
resoluo.
( ) O que o diferencia do atributivo, que o atributivo, alm da chave contm
atributos no chave.
2. Resolva os relacionamentos abaixo:
A

# ch_a

# ch_b

# ch_c1
# ch_c2

3.

# ch_d1
# ch_d2
# ch_d3

Construa o modelo de dados a partir dos atributos dos objetos


(simbolicamente apresentam dois tipos de dados ch = atributo chave e at =
atributo no chave)
OBJETO A
# ch_a
at_a

OBJETO B
# ch_b
at_b1
at_b2

OBJETO C
# E ch_a
# E ch_b

4. O modelo de dados abaixo mostra os diversos ingredientes utilizados na


fabricao de uma pizza
utiliza

INGREDIENTE

PIZZA

_utilizado

#cd_pizza
nm_pizza

# cd_ingrediente
nm_ingrediente

) qt_ingrediente_pizza um atributo de PIZZA.

) qt_ingrediente_pizza um atributo de INGREDIENTE.

) qt_ingrediente_pizza um atributo do objeto de resoluo.

5. Resolva o relacionamento do exerccio


qt_ingrediente_pizza no objeto correto.

acima

inclua

atributo

84

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

6. Inclua os atributos abaixo nos objetos corretos:


qt_mdia_aluno_curso

qt_mdia_aluno_disciplina
_cursada

ALUNO

pc_falta_aluno_disciplina
DISCIPLINA

cursa
# cd_matrcula_aluno
nm_aluno

# cd_disciplina
nm_disciplina

7. Construir um modelo de entidade-relacionamento para controle da locao de


vdeo:
LOCADORA CINEMA EM CASA S/A
Solicitao n: 159
Nmero do Cliente: 516
LOCAO
Cdigo
do
Nome do Filme
Filme
900
De Pernas para o Ar
987
Tron
753
Enrolados
8.

Data da Locao: 07/01/2011


Nome do Cliente: Eduardo Moscovis
Cdigo Data Prevista
da
para
Cpia
Devoluo
03
18/01/2011
01
18/01/2011
01
18/01/2011

Data Real
da
Devoluo
23/01/2011
17/01/2011
18/01/2011

Construir um modelo de entidade-relacionamento solicitado por uma oficina


mecnica que deseja armazenar as seguintes informaes:

Os nossos clientes (nome, cpf, endereo comercial, endereo residencial,


telefone comercial, ramal, telefone residencial e celular) podem ter mais de um
veculo (tipo (moto, utilitrio ou automvel), placa, modelo, marca, cor, ano).
Precisamos armazenar todos os servios efetuados: qual foi (pintura, mecnica,
funilaria, eltrica etc), quando (data da solicitao e data da entrega) e quanto
foi (valor).
9.

Construir um modelo de entidade-relacionamento solicitado para controlar e


gerenciar o emprstimo de livros de uma biblioteca acadmica que deseja
armazenar as seguintes informaes:
A biblioteca dispe de livros, tambm denominados ttulos. Estes possuem
nome, autores e editoras. Cada ttulo pertence a uma rea de
conhecimento e possui um cdigo nico de identificao.
Cada ttulo possui vrios exemplares. Cada exemplar possui um cdigo
nico de identificao.
Cada ttulo pode ter vrios autores e um mesmo autor pode ter escrito
vrios ttulos. Um autor possui cdigo, nome, telefone e endereo. As
editoras possuem cdigo, nome, telefone e endereo.
As reas de conhecimento possuem cdigo e uma descrio.
Usurios, que podem ser alunos, professores ou funcionrios, tomam
livros emprestados por uma semana. A data de emprstimo importante
no processo.
Cada usurio possui um cdigo, nome, telefone e endereo.
Cada ttulo possui vrias palavras-chave e uma palavra-chave pode estar
ligada a vrios ttulos. Uma palavra-chave possui cdigo e descrio.
85

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 08 RELACIONAMENTO M : N
Criar um modelo lgico de dados que retrate a situao a seguir

sobre uma

agncia de turismo (2,0):


Uma agncia de turismo deseja armazenar informaes sobre recursos
oferecidos pelas cidades que fazem parte da programao de turismo da agncia.
As informaes a serem mantidas sobre cada cidade referem-se a hotis,
restaurantes e pontos tursticos.
Sobre os hotis que a cidade possui deseja-se guardar o cdigo, nome,
endereo, categoria (sem estrela, 1 estrela, 2 estrelas,...), os tipos de quartos
que formam (por exemplo: luxo, superluxo, mster,...), nmero de quartos e o
valor da diria de acordo com o tipo de quarto.
Sobre cada cidade deve-se armazenar seu nome, estado e a
populao. Alm disso, quando uma nova cidade cadastrada no banco de dados
da agncia, um cdigo a ela oferecido.
Cada restaurante da cidade possui um cdigo que o identifica, um
nome, endereo e o tipo de sua categoria (luxo, simples,...). alm disso, um
restaurante pode pertencer a um hotel, porm um hotel associado somente a
um restaurante.
Diferentes pontos tursticos da cidade esto cadastrados no sistema:
igrejas, casas de show e museus. A agncia somente trabalha com estes trs
tipos de pontos tursticos. Nenhum outro possvel. Alm da descrio e do
endereo, igrejas devem possuir como caracterstica a data e o estilo de
construo. J casas de show devem armazenar o horrio de incio do show
(igual para todos os dias da semana) e o dia de fechamento (apenas um nico
dia na semana), alm da descrio e do seu endereo. Finalmente os museus
devem armazenar o seu endereo, descrio, data de fundao e nmero de
salas. Um museu pode ter sido fundado por vrios fundadores. Para estes, devese armazenar o seu nome, a data de nascimento e a data da morte (se houver),
a nacionalidade e a atividade profissional que desenvolvia. Alm disso, um
mesmo fundador pode ter fundado vrios museus. Quando qualquer ponto
turstico cadastrado no sistema, ele tambm recebe um cdigo que o identifica.
O mesmo vlido para fundadores.
Finalmente, casas de show podem possuir restaurante. Quando o
cliente da agncia reserva um passeio para uma casa de show, ele j sabe se
esta possui restaurante e qual o preo mdio da refeio, alm da especialidade
(comida chinesa, japonesa, brasileira, italiana,...). Dentro de uma casa de show,
apenas um nico restaurante pode existir.

Nome________________________________ Perodo: ______ Data: _______


86

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

RELACIONAMENTO RECURSIVO
Em algumas situaes especficas do ciclo de negcio, temos um objeto que
se relacione com ele mesmo. Este tipo de relacionamento chamado de selfrelation (auto_relacionamento ou relacionamento recursivo). Os dois
objetos que se relacionam desta maneira, so o mesmo, portanto tem os
mesmos atributos primrios. O uso mais comum deste tipo de estrutura ocorre
quando se deseja retratar uma hierarquia. Neste caso o relacionamento entre os
objetos tem cardinalidade ( 1 ) : ( N ). As cardinalidades mnimas iguais zero,
indicam que o primeiro objeto da hierarquia no se relaciona com nenhum objeto
no nvel superior, assim como o objeto que retrata o nvel hierrquico mais baixo
tambm no se relaciona com nenhum outro objeto no nvel inferior. Exemplos
de hierarquia: plano de contas de um sistema contbil e organograma. A
importncia de prever este relacionamento criar flexibilidade no modelo de
dados, j que com o passar do tempo, o ciclo de negcios pode exigir alteraes
no sentido de ampliar ou diminuir os nveis de hierarquia estabelecida. Desta
forma o modelo de dados no sofrer nenhum impacto quando ocorrer uma
eventual alterao. Exemplo:
Estrutura_rgo_governamental =
nm_rgo_governamental
+ cd_rgo_governamental
+ sg_rgo_ governamental
+ {nm_departamento_rgo_ governamental
+ cd_departamento_rgo_governamental
+ sg_departamento_rgo_governamental
+ {nm_seo_departamento_rgo_governamental
+ cd_seo_departamento_rgo_governamental
+ sg_seo_departamento_rgo_governamental } }
Uma soluo possvel prever uma estrutura com trs objetos:
RGO

# cd_rgo
nm_rgo
sg_rgo

SEO

DEPARTAMENTO

# cd_departamento
nm_departamento
sg_departamento
E cd_rgo

#cd_seo
nm_seo
sg_seo
E cd_departamento

O problema desta soluo tem a ver com as mudanas necessrias na


organizao. Como todos os objetos possuem os mesmos atributos primrios
(cd, nm e sg), no h nenhum problema em adotar o relacionamento recursivo:

UNIDADE
ORGANIZACIONAL

# cd_unidade_organizacional
nm_unidade_organizacional
sg_unidade_organizacional
E cd__unidade_organizacional_superior
87

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

PRATICA 02 MODELO LGICO DE DADOS


Utilizando o BrModelo, crie o modelo lgico com base no estudo de caso abaixo
(1,0):

Na conferncia so apresentados vrios artigos, cada um dos quais com


um ttulo e um nmero.
Cada artigo tem um ou mais autores. De cada autor, pretendesse
armazenar alm do nome, o endereo de email, e o nome e endereo da instituio
a que esto associados. H ainda a informao relativa aos participantes da
conferncia. De cada participante dever ser retida a informao do seu nome,
morada (endereo) e endereo de email. Alm disso, distingue-se entre os
participantes os que so estudantes e os que no so. Cada participante no
estudante tem de pagar antecipadamente a inscrio por transferncia bancria,
pelo que necessrio guardar o nmero da transao. Para no pagar, o estudante
tem de enviar antecipadamente um comprovante e na base de dados deve ser
armazenado o nome da universidade que o passou.

Nome________________________________ Perodo: ______ Data: _______

88

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

NORMALIZAO

Figura 64 Representao Grfica da Normalizao (extrada da web)

Conjunto de regras (chamadas de Formas Normais) que simplificam os


dados de um banco de dados em um domnio e que possuem os seguintes
objetivos:
Garantir a integridade dos dados;
Organizar e dividir as tabelas de maneira eficiente, diminuindo ou
eliminando a redundncia de dados;
Eliminar estruturas inexistentes (atributos multivalorados).
Tabelas flexveis e de fcil manuteno.
As regras de normalizao so aplicadas durante o transcorrer de toda a
construo do modelo de dados. Devem ser aplicadas quantas vezes for
necessrio para que se obtenha um modelo estvel (nome dado a um modelo
normalizado, que esteja atendendo s Formas Normais).
Existem seis formas normais:
1FN (1 Forma Normal);
2FN (2 Forma Normal);
3FN (3 Forma Normal);
FNBC (Forma Normal de Boyce e Codd);
4FN (4 Forma Normal);
5FN (5 Forma Normal).
Com as trs primeiras, resolvemos mais de 99% dos problemas de
modelagem de dados e somente em casos muito especiais se faz necessria a
aplicao das demais Formas Normais.
As Formas Normais so aplicadas em seqncia, sempre verificando a
situao do conjunto de dados com relao Primeira Forma Normal (1FN),
depois com relao Segunda Forma Normal (2FN), depois com relao
Terceira Forma Normal (3FN) e assim sucessivamente. A cada reviso que se
faa, inicia-se novamente pela 1FN, depois a 2FN e assim por diante.
Aps a aplicao da normalizao, conseguimos os seguintes benefcios:
89

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Tabelas flexveis e de fcil manuteno;


Eliminao de redundncias.
Dependncia funcional relacionamento entre dois ou mais atributos
de forma que o valor de um atributo identifique o valor para cada um
dos outros atributos, ou seja, um atributo est relacionado a outro.
Sempre que um atributo X identificar um atributo Y (X Y), dizemos
que h uma dependncia funcional, ou seja, X o DETERMINANTE e Y
o DEPENDENTE. Exemplo:

Figura 65 Dependncia Funcional (extrada da web)

A seguir vamos discutir cada uma das trs primeiras Formas Normais
utilizando como exemplo o fluxo de dados de uma Ordem de Compra:
ORDEM DE COMPRA
Cdigo: 159735
Data: 30/08/2010
FORNECEDOR
Nmero: 123
Nome: Distribuidora Praiana
Inscrio Estadual: 9.878
MATERIAL
Cdigo
Nome
Quantidade
Preo Unitrio
302
Arroz
5
9,00
801
Biscoito
10
1,50
Descrevendo o fluxo de dados:
Ordem_Compra =
cd_ordem_compra
+ dt_emissao_ordem_compra
+ cd_fornecedor
+ nm_fornecedor
+ cd_inscricao_estadual_fornecedor
+ {cd_material
+ nm_material
+ qt_material_solicitado
+ vl_unitrio_material}

90

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

1 FORMA NORMAL
Uma tupla est na 1FN, se para cada ocorrncia do objeto, existir apenas
um valor de cada atributo. Ou seja:
Eliminar as mltiplas ocorrncias das tuplas ou instncias (atributos
multivalorados);
Eliminar atributos repetidos como telefone1, telefone2 etc.
Todos os registros precisam ser diferentes;
Cada atributo deve ter somente um tipo de dado.
Quando se aplica a 1FN os atributos com mltipla ocorrncia, formam outro
objeto e se constitui um relacionamento com cardinalidade 1 : N.
Voltando ao exemplo do fluxo acima, o incio do processo de modelagem se
d atravs da criao do objeto ORDEM COMPRA, e teremos a seguinte situao:
ORDEM_COMPRA

# cd_ordem_compra
dt_emissao_ordem_compra
cd_fornecedor
nm_fornecedor
cd_inscricao_estadual_fornecedor
{cd_material
nm_material
qt_material_solicitado
vl_unitrio_material }
O objeto da maneira como est tem um problema, uma vez que os quatro
atributos que aparecem entre chaves esto repetidos, com mltiplas ocorrncias,
o que tem que ser evitado.
A correo feita aplicando-se a 1FN. Obteremos ento dois objetos,
ORDEM_COMPRA com os atributos originais e um outro objeto a ele se
relacionando de maneira 1:N, indicando que para cada ocorrncia do grupo de
dados de ORDEM COMPRA teremos "n" ocorrncias dos dados que estavam
inicialmente entre as chaves. A nova situao passa a ser:
ORDEM
COMPRA

_composta

# cd_ordem_compra
dt_emisso_ordem_compra
cd_fornecedor
nm_fornecedor
cd_inscrio_estadual_fornecedor

compe

TEM
ORDEM
COMPRA

#E cd_ordem_compra
# cd_material
qt_material_solicitado
nm_material
vl_unitario_material

Os dois objetos esto atendendo a 1FN, no apresentam mltiplas


ocorrncias no conjunto de atributos. Vamos a 2 FN...

91

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

2 FORMA NORMAL
Uma tupla est na 2FN, se atender a 1FN, e os atributos no chave no
apresentarem dependncia parcial da chave.
Todos os atributos no chaves de uma instncia devem ser identificados
pelo atributo que a chave da instncia. Tomemos como exemplo o objeto
FUNCIONRIO, que tem como chave o atributo #cd_matrcula_funcionrio. Neste
caso, entre os atributos no chave encontramos nm_funcionrio que
identificado pelo atributo chave, assim como todos os demais.
Quando a instncia identificada por mais de um atributo, isto , apresenta
chave concatenada, todo atributo no chave deve ser identificado pela chave
completa, por todos os atributos formadores da chave concatenada. Os
atributos que no obedecem esta regra e so identificados por parte da
chave, so atributos dependentes parcialmente da chave, e precisam ser
separados para formar outro objeto onde possam ser identificados por toda a
chave. Esta situao de dependncia parcial da chave uma instabilidade no
modelo de dados e precisa ser corrigida.
Para corrigir necessrio:
Escolher uma chave primria;
Verificar as dependncias parciais;
Mover os campos no enquadrados na 2FN para uma nova tabela.
Como correo, os atributos no chave que se identificam parcialmente
formaro outro objeto cuja chave a parte da chave que os identifica no objeto
original. No exemplo que est sendo discutido, os atributos nm_material e
vl_unitrio_material no necessitam de cd_ordem_compra para identific-los,
uma vez que apenas o atributo cd_material j suficiente para tal. Criamos
ento o objeto MATERIAL com estes atributos e o mesmo ir se relacionar com
cardinalidade 1 :N com o objeto TEM ORDEM COMPRA. O atributo cd_material
passa a ser chave estrangeira em TEM ORDEM COMPRA. Desta maneira o objeto
TEM ORDEM COMPRA passa a atender a 2FN.
A nova situao ser:
ORDEM
COMPRA

ITEM ORDEM
COMPRA

cd_ordem_compra
# E cd_ordem_compra
dt_emisso_ordem_compra # E cd_material
cd_fornecedor
qt_material_solicitado
nm_fornecedor
cd_inscrio_estadual_fornecedor

MATERIAL

# cd_material
nm_material
vl_unitrio_material

Como decorrncia desta discusso, podemos perceber que a 2FN s se


aplica s instncias que so identificadas por chave concatenada. E por no
apresentar chave concatenada, o objeto ORDEM COMPRA no precisa ser
verificado quanto ao atendimento da 2FN, uma vez que no tem como
apresentar dependncia parcial da chave.
O prximo passo a verificao da 3FN...

3 FORMA NORMAL

92

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Uma tupla est na 3FN, se atender a 2FN, e seus atributos no


apresentarem dependncia transitiva da chave.
Um atributo apresenta dependncia transitiva da chave quando ele
identificado por outro atributo no chave e este por sua vez identificado pela
chave. Isso quer dizer que a identificao do atributo no chave pela chave
ocorre de maneira indireta, atravs de outro atributo no chave.
No exemplo que est sendo discutido. O objeto ORDEM COMPRA est fora
da 3FN, uma vez que nm_fornecedor e cd_insc_estadual_fornecedor so
atributos
identificados
por
cd_fornecedor
e
no
pelo
atributo
#
cd_ordem_compra que a chave da instncia. Esta situao se constitui em
outra anormalidade que tambm precisa ser corrigida. Os atributos que so
identificados transitivmente formaro outro objeto que ter como chave o
atributo que os identifica.
O novo relacionamento formado do tipo N: 1 e cd_fornecedor passa a ser
atributo estrangeiro no objeto ORDEM COMPRA. A nova situao ser:
#cd_ordem_compra
dt_emisso_ordem_compra

E cd_fornecedor

ORDEM
COMPRA

ITEM ORDEM
COMPRA

# E cd_ordem_compra
# E cd_material
qt_material_solicitado

MATERIAL

# cd_material
nm_material
vl_unitrio_material

FORNECEDOR

#cd_fornecedor
nm_fornecedor
cd_inscrio_estadual_fornecedor

Nesta altura todos os objetos esto normalizados, atendem as trs Formas


Normais, e o modelo de dados est estabilizado.

OUTRAS FORMAS NORMAIS


Na maioria dos bancos de dados a decomposio at a 3 Forma Normal
suficiente. Porm na literatura surgem outras formas normais:

FORMA NORMAL BOYCE CODD (BCNF)


Criada em 1974 para tratar tipos de anomalias no tratadas pela 3FN.
usada em normalizao de banco de dados que consistem em uma verso mais
rigorosa da 3FN. Um objeto est na forma BCNF se para cada uma de suas
dependncias funcionais X Y, X uma super chave de Y, ou seja X uma
chave candidata. Somente em casos raros podemos ter um objeto na 3FN que
no atinja os requisitos da forma BCNF.
Exemplo: Cada linha da figura acima representa uma representa uma
reserva de quadra em um clube de tnis que possui uma quadra de piso duro
93

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

(Q1) e uma de grama (Q2). Uma reservada definida pela escolha da quadra e
definio do perodo que a quadra est reservada. Para cada reserva h um tipo
de taxa associada a ela. Existe: USUAL (Quadra 1 membros do clube); PADRO
(Quadra 1 no-membros), PREMIUM-A (Quadra 2 membros do clube) e
PREMIUM-B (Quadra 2 no membros do clube):
Quadra

Hora de Incio

Hora de Trmino

Tipo de Taxa

09:30

10:30

SAVER

11:00

12:00

SAVER

14:00

15:00

PADRO

10:00

11:30

PREMIUM-B

11:30

13:30

PREMIUM-B

15:00

16:30

PREMIUM-A

Figura 66 Exemplo de BNCF a resolver (extrado da web)

CHAVES CANDIDATAS:
Quadra e Hora de Incio;
Quadra e Hora de Trmino;
Tipo de Taxa e Hora de Incio;
Tipo de Taxa e Hora de Trmino.
Para que atenda a forma BCNF, vamos alterar para que fique assim (TIPOS DE
TAXA e RESERVAS DE QUADRA respectivamente):
Tipo
de

Indicador
Quadra

Taxa

de

Quadra

Membro

Hora

Hora

Indicador

De

de

de

Incio

Trmino

Membro

USUAL

SIM

09:30

10:30

SIM

PADRO

NO

11:00

12:00

SIM

PREMIUM-A

SIM

14:00

15:30

NO

PREMIUM B

SIM

10:00

11:30

NO

11:30

13:30

NO

15:00

16:30

SIM

Figura 67 Exemplo de BNCF resolvida (extrada da web)

CHAVES CANDIDATAS:
TIPO DE TAXA (Tipo de Taxa) e (Quadra e Indicador Membro);
RESERVAS DE QUADRA (Quadra e Hora de Incio) e (Quadra e Hora do
Trmino).
94

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

4 FORMA NORMAL
Dever estar na 3FN e as DEPENDNCIAS MULTIVALORADAS29 devem
depender da chave (decomposio aos pares). Exemplo:

Figura 68 Exemplo da 4 Forma Normal (extrado da web)

Resoluo:

]
Figura 69 Resoluo da 4 Forma Normal (extrado da web)

5 FORMA NORMAL
De forma simplificada, pode-se dizer que uma relao est em quinta forma
normal quando seu contedo no pode ser reconstitudo a partir de vrias outras
tabelas. Ou seja valor do atributo multivalorado (decomposio no pares).
Corresponde aos relacionamentos entre trs ou mais entidades
(RELACIONAMENTOS TERNRIOS). As entidades devem estar aptas a
funcionarem sozinhas como entidades individuais sem a dependncia de outros
relacionamento. Exemplo:

29

DEPENDENCIA MULTIVALORADA: um relacionamento no qual um atributo de uma chave


primria, por conta do seu relacionamento com outro atributo cria mltiplos registros em uma
entidade.

95

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 70 Exemplo da 5 Forma Normal (extrado da web)

Resoluo

Figura 71 Resoluo da 5 Forma Normal (extrado da web)

Obs.: H pesquisar direcionadas para o desenvolvimento de uma 6 Forma


Normal (6FN) para lidar com os bancos de dados temporais.

DESNORMALIZAO
Ocorre em sistemas de processamento transacional online (OLTP), onde o
funcionamento ocorre melhor quando o modelo no est normalizado.
o processo inverso dos passos anteriores.
A normalizao no se preocupa com a otimizao dos dados e sim na melhor
forma de organizao.

EXERCCIOS
1. Relacione as colunas:
(1) 1FN
(2) 2FN
(3) 3FN

(
(
(

) Elimina dependncia transitiva da chave.


) Elimina dependncia parcial da chave.
) Elimina mltiplas ocorrncias.

96

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

2. Assinale a alternativa exceo.


( ) A 3FN no se aplica a tuplas que tenham chave concatenada.
( ) A 1FN s se aplica a tuplas que tenham chave concatenada.
( ) As regras de normalizao podem ser aplicadas para base de dados com
armazenamento manual.
3. Assinale a alternativa exceo sobre normalizao.
( ) Tem o objetivo de eliminar redundncias no modelo de dados.
( ) Uma relao para estar na 3 FN, precisa estar na 1FN e na 2FN.
( ) Uma relao sem chave concatenada no estar fora da 2FN.
( ) Pode gerar um mesmo atributo em dois objetos diferentes.
4. De acordo com o problema descrito a seguir, crie um modelo de dados
normalizado: Um estacionamento precisa criar um software que armazene as
informaes dos clientes (nome, endereo, telefone), dos seus respectivos
veculos (placa, modelo, marca e cor), das mensalidades pagas (data do
pagamento e valor) quando o cliente for mensalista. Quando for, avulso
precisamos armazenar a data e hora da entrada e a data e hora da sada
para efetuar a cobrana.
5. Crie o fluxo de dados, encontre os objetos, faa a navegao no modelo de
dados e normalize-o:
HISTRICO ESCOLAR
CURSO
Cdigo: 001

Nome: Gesto de Negcios


Ano Concluso: 2010
ALUNO
Nome: Claudia Abreu

Matrcula: 50000
DISCIPLINA
Cdigo
Nome
001
Sistemas Operacionais
002
Redes de Computadores
003
Linguagem de Programao
004
Banco de Dados

Mdia Final
Situao
8,0
Aprovada
6,0
Aprovada
5,0
Reprovada
8,0
Aprovada
Emitido em: 30/12/2010

6. Criar o fluxo de dados e o modelo lgico de dados do estudo de caso abaixo:


ORDEM DE COMPRA
Cdigo: 159735
Data: 30/08/2010
FORNECEDOR
Nmero: 123
Nome: Distribuidora Praiana
Inscrio Estadual: 9.878
MATERIAL
Cdigo
Nome
Quantidade
Preo Unitrio
302
Arroz
5
9,00
801
Biscoito
10
1,50
7. Considere uma empresa de seguros e a situao suposta a seguir com
possvel. Crie o modelo de dados (defina candidatos objeto, fluxo de dados
97

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

e normalizao) a partir da descrio e do fluxo de dados apresentado a


seguir:
Todos os nossos clientes so pessoas jurdicas, so empresas que firmam
contratos de plano de sade conosco. Uma empresa firma vrios contratos
conosco, em diferentes pocas. Os funcionrios indicados pela empresa
assinam uma aplice de seguro individual. O cnjuge e os filhos at 18 anos
podem ser seus dependentes e tm os mesmos direitos. Temos vrios tipos de
plano de sade, como o Master, o Executivo e o Standard. O que varia entre
eles o nvel de benefcios. Em uns o paciente tem direito a internao na UTI
em outros no, nem todos pagam exames de laboratrio, enfim os direitos do
segurado variam de acordo com o tipo de plano de sade.
CONTRATO DE PRESTAO DE SERVIOS DE SADE
CONTRATO: 789.789
CONTRATADA: Sade o que Interessa
CONTRATANTE: Padaria Po a Toda Hora Ltda.
APOLICE
NOME SEGURADO
DATA DE
4500
4500
4501

DATA DE ASSINATURA: 10/01/2009


CNPJ: 10.500.800-0001/80
CNPJ: 20.800.500-0001/70
TIPO DE
VALIDADE
SIGLA
NASCIMENTO SEGURADO
APOLICE
PLANO
23/03/1970
Titular
08/10/2010
S
Dependente 08/10/2010
10/10/1960
S
15/01/1945
Titular
08/10/2010
E

Joo Alves
Letcia Alves
Firminiano dos Santos

PLANO
Standard
Standard
Executivo

8. Considere o objeto - LOJAS MAIS PRXIMAS - abaixo e identifique:


a) Chaves candidatas;
b) Normalize de acordo com a BNCF.
PESSOA
Claudio
Claudio
Lindsen
Amanda
Amanda
Amanda

TIPO DE LOJA
tica
Farmcia
Loja do Livro
Farmcia
Supermercados
tica

LOJA MAIS PRXIMA


tica Avenida
Droga Vida
Saraiva
Droga Sol
Mercadinho Dias
tica Avenida

9. Considere as entidades abaixo, onde apresentamos que um professor pode


ministrar diversas disciplinas e que cada disciplina pode ser ministrada por mais
de um professor. De acordo com isto, normalize.
PROFESSOR

DISCIPLINA

cd_professor
1

nm_professor
Simone

cd_disciplina
1

Fernanda

nm_disciplina
Banco de
Dados
Estrutura de
Dados

ds_ementa
Introduo. SGBD. Modelagem
de Dados
Linguagem C. Algoritmos.

10.Vamos considerar que uma organizao tem a necessidade de automatizar o


processo de emisso de sua nota fiscal de venda. Podemos enxergar esse
documento como um grande agrupamento de atributos. Atravs das formas
normais, normalize os dados a seguir:

98

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

NOTA_FISCAL
(cd_nota_fiscal,
dt_emisso,
nm_natureza_operaao,
cd_cnpj_cliente, nm_cliente, nm_endereo_cliente, cd_item, ds_item, pc_ipi,
vl_unitario, qt_item, dt_sada, cd_transportadora, nm_transportadora,
nm_endereo_transportadora, pc_icms)
Para efeito de modelagem, iremos considerar as seguintes regras de
negcios:
O percentual de IPI ser por produtos e o percentual de ICMS ser
calculado pelo valor total da nota fiscal;
A nota fiscal de venda desta organizao pode conter diversos itens.
11. Analise a situao de cada objeto e preencha o diagnstico na matriz abaixo:
DEPARTAMENTO

#sg_departamento
nm_departamento
{nm_funcionario}

SOLICITAO_
COMPRA

ITEM_
SOLICITAO_
COMPRA

MERCADORIA

#cd_solicitao_compra
#E cd_solicitao_compra
dt_emisso_solicitao_compra #E cd_mercadoria
E nm_departamento
qt_mercadoria

#cd_mercadoria
nm_fornecedor_mercadoria
cd_cnpj_fornecedor_mercadoria

nm_mercadoria

Fora 1 FN
Fora 2 FN
Fora 3 FN
Normalizado

12. Normalizar os modelos abaixo (N30)


PACIENTE (nro_paciente, nome_paciente, nro_quarto, descrio_quarto,
nro_cmodos_quarto, (cod_mdico, nome_mdico, fone_mdico))
ALUNO (nro_aluno, nome_aluno, nro_crditos,
(nro_curso, descrio_curso, ano_ingresso))

nro_depto,

nome_depto,

13. De acordo com o modelo abaixo, normalize para que atenda a 4FN:
Empresrio
(PK)
Joo da Silva
Jos Dias
Amanda
Fernandes
Luiz Alberto
Amanda
Fernandes

30

Gravadora
(PK)
Sony Music
Sony Music
Universal
Music
Sony Music
Univesal
Music

Artista
(PK)
Jorge Arago
Roberto Carlos
Ivete Sangalo

Endereo
Rua J, 10
Rua RC, 50
Av. IS, 124

Telefone
Gravadora
(21)111111
(21)909090
(11)888888

Zeca Pagodinho
Claudia Leite

Pa. ZP, 89
Ra AF, 156

(11)333222
(71)575757

No Normalizado

99

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

TAREFA 09 NORMALIZAO
Crie o modelo lgico de dados normalizado de acordo com o estudo de caso a
seguir (1,5)
Uma Universidade, usado para manter informaes sobre os seus estudantes:
a) A Universidade mantm, para cada estudante, o seu nome, nmero de
matrcula, RG, endereo e telefone atuais, endereo e telefone permanentes,
data de nascimento, sexo, srie (1a, 2a, ..., 5a, se aplicar), grau (graduao
ou ps-graduao), e curso. Algumas aplicaes necessitam se referir
cidade, estado e CEP do endereo permanente dos estudantes, bem como ao
seu ltimo nome. Tanto o RG como a matrcula tm valores nicos para cada
estudante.
b) Cada departamento descrito por um nome, cdigo do departamento, bloco,
ramal e campus. Alm disto, cada departamento chefiado por um professor.
Tanto o nome do departamento como o seu cdigo so nicos para cada
departamento.
c) Cada professor descrito por sua matrcula na Universidade, nome, RG, CPF,
classificao (MS1 (graduado), MS2 (mestre), MS3 (doutor), MS4 (adjunto) e
MS5(titular)), endereo, e e-mail. Um professor necessariamente deve estar
vinculado a um departamento. A matrcula, o RG e o CPF so nicos para cada
professor.
d) Cada disciplina tem um nome, cdigo, descrio, carga horria, durao
(trimestral, semestral, ou anual), nvel (graduao, ps-graduao), e
departamento responsvel. O cdigo da disciplina nico para cada disciplina.
e) Cada turma de uma disciplina tem um instrutor (professor), perodo de
aplicao (1o semestre, 2o semestre, 1o trimestre, etc.), ano, e um
identificador da turma. O identificador da turma distingue as turmas de uma
mesma disciplina que existem num mesmo perodo/ano.
f) Um relatrio de notas deve incluir, para cada estudante, sua identificao,
bem como as disciplinas/turmas frequentadas, com as respectivas notas.

Nome________________________________ Perodo: ______ Data: _______

100

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

MODELO RELACIONAL
A modelagem em nvel lgico (SGBD) e no conceitual.
Precisa de conceitos mnimos necessrios compreenso do projeto de
bancos de dados relacionais.
Baseado na lgica dos predicados (fornece um modelo em que uma
proposio31 pode ser verificada como verdadeira ou falsa) e na teoria dos
conjuntos (grupo de coisas cuja base a manipulao de dados). A palavra
relao baseia-se na teoria matemtica de conjuntos.
As tabelas so compostas de Linhas, Colunas, Chaves primrias
relacionadas atravs de Chaves estrangeiras.

Abaixo temos a terminologia utilizada:

31

Afirmao de um fato

101

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXEMPLO DE ESTUDO DE CASO


Com base no modelo conceitual abaixo, crie o modelo relacional:

Resoluo:

Exemplo:

102

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCCIO
Com base no modelo conceitual abaixo, crie o modelo relacional:

103

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

UTILIZANDO O DBDESIGNER
CONCEITO
Quem trabalha com bancos de dados certamente conhece o ERwin, uma das
mais poderosas ferramentas de modelagem.
Pois o DBDesigner uma alternativa econmica do famoso programa. Pode
criar relacionamentos e tabelas de forma visual, alm de importar essas
informaes de bancos de dados existentes.
Projeto para ser usado com o MySQL, gerando tabelas e consultas levando
em conta a sintaxe SQL desse banco de dados. Porm oferece suporte
engenharia reversa e sincronizao a outros SGBDs como Oracle, SQL Server,
SQLite e outros que permitam acesso via ODBC.
DbDesigner um programa de modelagem de dados (ferramenta CASE)
desenvolvido pela FabForce (http://www.fabforce.net) e uma das poucas
opes de software free de modelagem visual de banco de dados (licena GNU
GPL (General Public License)).
Sua criao foi baseada em componentes do Kylix e do Delphi podendo ser
utilizada tanto no sistema operacional Windows como Linux.
Para a modelagem no DbDesigner basta somente observar algumas
caractersticas e fazer poucas alteraes no script gerado, j que alguns bancos
de dados implementam o padro SQL.

ONDE ENCONTRAR O SITE


O
software
DBDesigner
www.fabforce.net\dbdesigner4.

pode

ser

encontrado

no

site

SOFTWARE
Ao ser instalado, cria-se um atalho na rea de trabalho:
Ao executar o software, surge a tela a seguir:
Onde:
AREA DE TRABALHO: onde so inseridas as tabelas e seus respectivos
relacionamentos.
BARRA DE FERRAMENTAS: componentes mais utilizados na criao e
manuteno das tabelas.
NAVEGADOR & INFORMAES: controle da visualizao da rea de trabalho,
permitindo navegar no diagrama.
TIPO DE DADOS: exibe os tipos possveis de dados.
MODELO DE DADOS: apresenta as tabelas com seus campos e
relacionamentos com outras tabelas

104

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Navegador e
Informaes

Barra de
Ferramentas
Tipo de
Dados
rea de
Trabalho

Modelo de
Dados

Figura 72 Tela principal do DBDesigner (feito pelo Autor)

EXEMPLO PRTICO
Vamos criar um modelo de dados a seguir:
Um escritrio de despachante precisa cadastrar os seus clientes e seus veculos
e o controle de licenciamento de cada um deles. Porm um cliente poder ter
mais de um veculo e tambm cada veculo poder ter vrios licenciamentos.
Para os clientes precisamos armazenar o nome, telefone e o e-mail e, do seu
veculo precisamos guardar a marca, o modelo, o ano e a placa. Para o
licenciamento precisamos guardar a data que foi licenciado.
CRIANDO OS OBJETOS
Passos para criar o objeto CLIENTE:
1. Clique no boto NEW TABLE
2. Edite o objeto definindo o nome (CLIENTE) e seus atributos com o boto
direito do mouse sobre o objeto e clique em EDIT OBJECT:

105

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 73 Objeto Table (feito pelo Autor)

3. Vamos definir os atributos:

Figura 74 Propriedades do Objeto Table (feito pelo Autor)

106

B A N C O

4.

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Confirme a criao:
Chave Primria
Atributos

5.

Ao retornar surge o objeto criado:

6.

Crie agora os outros objetos ficando assim:

CRIANDO OS RELACIONAMENTOS ENTRE OS OBJETOS

Temos os seguintes tipos de relacionamentos com as respectivas cardinalidades:


1 : 1 (No Identificado)
1 : N (No Identificado)
1 : 1 (Identificado)
1 : N (Identificado)
Generalizao/Especificao (conceito de Herana)
Com os objetos criados, vamos agora criar os relacionamentos. PASSOS:
1. Pra definir um relacionamento, clique no boto New 1 : N Relation
2. Depois clique no objeto CLIENTE e em seguida clique no objeto VEICULO,
assim ser gerando um atributo estrangeiro, criando uma relao entre as
duas tabelas.
3. D um duplo clique no relacionamento para ver as caractersticas do mesmo:

107

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 75 Propriedades do Objeto Relacionamento (feito pelo Autor)

4. Faa agora o relacionamento de VEICULO para LICENCIAMENTO.


5. Ficar assim:

108

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

ALTERANDO O SMBOLO DO RELACIONAMENTO

Menu DISPLAY:

Tipos de Notao:

EER[1,n]

Traditional

Crows
Foot

EXPORTANDO A BASE DE DADOS

1. Clique no menu FILE EXPORT SQL CREATE SCRIPT


2. Surge a janela a seguir (deixe somente as opes a seguir marcadas para
efeito de compatibilidade):

109

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 63 Propriedades do Export

3. Clique no boto SAVE SCRIPT TO FILE para gerar o arquivo de script, que ter
a extenso .SQL.
IMPORTANDO A BASE DE DADOS

Agora, com o script criado, edite este script e faa o ajuste (basta somente tirar
as opes: ON DELETE ACTION e ON UPDATE ACTION), salve novamente o
script. Para cri-lo no Oracle, execute o script alterado: START ou @
c:\<arquivo>.sql.
Podemos ainda, gerar um relatrio em Html, atravs do menu Puglins Html
Report, surge a tela a seguir e em seguida clique no boto EXECUTE que
solicitar um nome para o relatrio:

110

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 76 Propriedades do IMPORT (feito pelo Autor)

Agora, basta abrir o arquivo no navegador que dever ser semelhante ao modelo
abaixo:

Figura 77 Propriedades do Relatrio (feito pelo Autor)

EXERCCIO
1.

Crie uma modelagem de dados que armazene as informaes abaixo e seus


respectivos objetos utilizando o software DBDESIGNER:
Uma locadora de vdeo precisa armazenar os dados dos seus clientes
(identificao, nome, endereo, telefone, e-mail e data de cadastro), seus
filmes (cdigo e nome), as cpias dos filmes (cdigo do filme e cdigo da
cpia) e o controle do emprstimo (cdigo do cliente, do filme e da cpia,
data do emprstimo, data prevista da devoluo e data real da devoluo).

111

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

PRTICA 03 DBDESIGNER
Baseado no documento abaixo faa o modelo de dados normalizado utilizando a
ferramenta case DBDESIGNER (0,25).
Uma pizzaria de tele-entrega apresenta um cardpio composto por diversos
tipos de pizza, cujos dados so: nmero do item, nome da pizza, lista de
ingredientes e preos das pizzas pequena, mdia e grande, como por exemplo:
(12, francesa, (queijo, presunto, champignon, aspargo), 10.00, 15.00, 18.00).
Na pizzaria trabalham funcionrios que emitem pedidos de pizzas. Cada
pedido possui um nmero e uma data de emisso, alm do nome, telefone e
endereo do cliente que solicitou o pedido. Um pedido emitido por apenas um
funcionrio, composto por vrios itens: cada item possui um nmero e se
refere a uma determinada pizza do cardpio, em um determinado tamanho
(pequena, mdia ou grande) e em uma certa quantidade. Dos funcionrios
entregadores (ou seja, responsveis pela entrega de um ou mais pedidos), devese saber o nmero do telefone celular para um eventual contato durante uma
entrega. Uma entrega destina-se a um bairro, e para cada bairro existe um
tempo mximo de espera para a entrega de um pedido. Defina outros atributos
que julgar relevante.

Nome________________________________ Perodo: ______ Data: _______

112

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

UTILIZANDO O ORACLE SQL DEVELOPER DATA MODELER


um software da Oracle utilizado para modelagem de
disponibilizado em julho/2009.
O
software
se
encontra
no

dados

foi
link:

http://www.oracle.com/technology/software/products/sql/datamodeler.ht
ml?rssid=rss_otn_soft
execuo.

clique

no

arquivo

para

Ao solicitar a execuo, surge a tela abaixo:

Figura 78 Tela de carregamento do Software (feito pelo Autor)

Surge a tela abaixo:

Figura 79 Tela Principal (feito pelo Autor)

113

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Escolha a aba LOGICAL e ao clicar no cone


(New Table), permite
criar uma nova entidade que dever ser desenhada na rea de trabalho.
Tambm podemos criar atravs do menu OBJECT RELATIONAL NEW
TABLE.
Surge a tela abaixo onde podemos alterar as propriedades por exemplo
NOME - da entidade, que fica na opo GENERAL:

Figura 80 Propriedades da Aba General das Entidades (feito pelo Autor)

Na opo ATTRIBUTES, surge as propriedades abaixo:


ATALHO

DESCRIO
Caixa de propriedades do atributo.
Adicione atributos a entidade selecionada.

Exclui o atributo selecionado.


Altera a ordem do atributo selecionado, subindo-o.
Altera a ordem do atributo selecionado, descendo.
Copia o atributo selecionado.
Cola o atributo selecionado.

114

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 81 Propriedades da Aba Attributes da Entidade (feito pelo Autor)

Ao escolher o cone

, surge a caixa de propriedades:

Figura 82 Tela de Edio da Entidades (feito pelo Autor)

115

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

RELACIONAMENTOS NO MODELO LGICO


Abaixo os principais atalhos da aba principal:
ATALHO

DESCRIO
Relacionamento N : M
Relacionamento 1: N
Relacionamento 1 : N Identificado
Relacionamento 1 : 1
Novo Tipo
Usado para criar relao de chave estrangeira (FK)
entre as entidades.

CARDINALIDADE
Com duplo clique na linha do relacionamento entre as entidades, surge a
tela abaixo onde podemos alterar as cardinalidades das entidades:

Figura 83 Tela para Configurao das Cardinalidades (feito pelo Autor)

ALTERANDO PARA O MODELO RELACIONAL


No menu DESIGNER Engineer to Relational Model:

116

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 84 Opo do menu Designer (feito pelo Autor)

Surge a tela abaixo, onde podemos escolher os tipos de objetos que


devero ser migrados:

Figura 85 Tela da opo Engineer to Relational Model (feito pelo Autor)

117

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Em seguida, clique no boto ENGINEER, surge a tela a seguir:

Figura 86 Tela aps o Engineer (feito pelo Autor)

ALTERANDO O TIPO DE DADO DE UM ATRIBUTO


Selecione a ENTIDADE e em seguida clique em COLUMNS:

Figura 87 Tela de Configurao dos Atributos (feito pelo Autor)

118

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

D um duplo clique no atributo a ser alterado e surge a tela abaixo:

Figura 88 Tela para Alterao das Propriedades dos Atributos (feito pelo Autor)

Clique em DATATYPE e surge a tela abaixo:

Figura 89 Tela para escolher o tipo de dado (feito pelo Autor)

Escolha LOGICAL TYPE e d duplo clique, surge a tela abaixo:

119

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 90 Tipos Lgicos de Dados (feito pelo Autor)

Obs.: dependendo do tipo de dado, podemos escolher o tamanho(SIZE) e a


preciso (PRECISION).
GERANDO O SCRIPT DDL
Selecione o menu OBJECT RELATIONAL GENERATE DDL, surge a tela
abaixo, onde podemos escolher o tipo de software SGBD que desejamos usar
para gerar o DDL: DB2, SQL SERVER ou ORACLE:

Figura 91 Tela de escolha do SGBD (feito pelo Autor)

120

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Clique em GENERATE e na tela a seguir selecione o que deseja gerar:

Figura 92 Tela para Escolher os Tipos de Objetos (feito pelo Autor)

Clique em OK e surge a tela abaixo:

Figura 93 Tela com o Script de Criao das Entidades (feito pelo Autor)

Clique em SAVE para salva o script em um arquivo com extenso .SQL.


121

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXTRAINDO UM MODELO DO BANCO DE DADOS


Menu FILE IMPORT DATA DICTIONARY:

Figura 94 Primeira Tela do Assistente de Conexo com o Banco de Dados (feito pelo Autor)

Clique em ADD e digite as propriedades de conexo: CONNECTION NAME,


USERNAME e PASSWORD: HR na tela que se apresenta a seguir:

Figura 95 Segunda Tela do Assistente para Conexo com Banco de Dados (feito pelo Autor)

122

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Clique em OK e ao retornar para a tela anterior, selecione a conexo e


clique em NEXT:

Figura 96 Terceira Tela do Assistente de Conexo Escolha do Esquema (feito pelo Autor)

Na tela acima, selecione o SCHEMA: HR e clique em NEXT:

Figura 97 Quarta Tela do Assistente de Conexo Escolha os Objetos do Esquema (feito pelo Autor)

123

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Na tela acima selecione os seguintes OBJECT NAME: COUNTRIES,


DEPARTMENTS, EMPLOYEES, JOBS, LOCATIONS e REGIONS e clique em NEXT e
em seguida clique em FINISH:

Figura 98 Informaes Finais do Assistente (feito pelo Autor)

Surge tela de log contendo informaes do banco de dados, em seguida,


clique em CLOSE:

Figura 99 Tela de Log (feito pelo Autor)

124

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 100 Aguardando... (feito pelo Autor)

Surge o modelo extrado do banco de dados:

Figura 101 Modelo Extrado do Banco de Dados (feito pelo Autor)

DIVIDIR UMA TABELA

Clique no cone
da nova entidade:

e surge a tela abaixo, onde devemos digitar o nome

Figura 102 Tela Novo Objeto (feito pelo Autor)

125

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Clique em NEXT:

Figura 013 Tela para adicionar a FK a nova tabela (feito pelo Autor)

Selecione o relacionamento, podemos COPIAR ou MOVER para a nova


entidade. Em seguida, clique em NEXT:

Figura 104 Tela para escolher a(s) colunas que sero chave na nova tabela (feito pelo Autor)

Selecione as colunas e clique em FINISH, surge a tela abaixo:

126

B A N C O

D E

D A D O S

EXERCICIOS

F A T E C

D E

P R A I A

G R A N D E

Figura 105 Nova Tabela (feito pelo Autor)

Uma escola de msica precisa manter uma base de dados organizada


com o objetivo de prover informaes sobre msicos, orquestras, sinfonias
e instrumentos. Cada orquestra catalogada contendo o seu nome, cidade, pas e
data correspondentes sua criao; Orquestras executam sinfonias, as mais
variadas. Os profundos conhecedores de msica so capazes at de selecionar a
orquestra que melhor desempenha uma determinada sinfonia. De cada sinfonia,
possvel saber o seu nome, o compositor e a data de sua criao; Orquestras so
constitudas de msicos, os mais variados, de acordo com a sua funo dentro da
mesma: maestro, flautista, etc. Cada msico catalogado contendo: nome do
msico, identidade, nacionalidade e data de nascimento. Um msico s pode
pertencer a uma orquestra; Msicos tocam sinfonias, porm em alguns casos, alguns
msicos podem mudar de funo segundo a sinfonia (por exemplo, um violinista
pode virar maestro). A data em que um msico apresenta uma determinada sinfonia
tambm importante no contexto. Cada msico pode ser apto a tocar vrios
instrumentos, mas em cada sinfonia toca apenas um instrumento, pois depende de
sua funo na sinfonia.

127

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

PRATICA 04 ORACLE SQL DATA MODELER


Utilizando a ferramenta Case Oracle SQL Data Modeler, crie o modelo
relacional e o modelo lgico que atenda o estudo de caso a seguir (0,25):
Estudo de Caso: CONTROLE DO PRONTURIO DE PACIENTES DE UM
HOSPITAL
O hospital possui um conjunto de pacientes e um conjunto de mdicos.
No registro dos pacientes, temos o nome, RG, CPF, endereo e telefone.
No registro dos mdicos temos o nome, especialidade, RG, CPF, CRM,
endereo e telefone.
Cada paciente tem associado a si um pronturio (sua ficha), onde so
registradas

basicamente

todas

as

ocorrncias,

exames,

consultas,

medicamentos ministrados associados a ele.


Cada registro no seu pronturio, alm de ter a data tem que estar
relacionado a um mdico, que o responsvel pela informao do registro
cadastrado no sistema.
Faa o que se pede (utilizando o ORACLE SQL DATA MODELER):
a) Criar o modelo relacional;
b) Converter para o modelo lgico;
c) Cria o script DDL;
d) Salvar tanto o modelo como o script com o nome de Tarefa11.

Nome________________________________ Perodo: ______ Data: _______

128

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

ANEXO A - OBJETO RELACIONAL


A IBM desenvolveu a verso original da SQL, chamada de Sequel, como
parte do projeto R no incio da dcada de 1970. Esta linguagem evoluiu e seu
nome mudou para SQL (Structured Query Language).

SQL
A IBM desenvolveu a verso original da SQL, chamada de Sequel, como
parte do projeto R no incio da dcada de 1970. Esta linguagem evoluiu e seu
nome mudou para SQL (Structured Query Language).
A SQL se estabeleceu como a linguagem padro de banco de dados
relacional.
Em 1986, o American National Standards Institute (ANSI) e a International
Organization for Standardization (ISO) publicaram um padro SQL, chamado
SQL-86. Em 1989, o ANSI publicou um padro estendido para a linguagem: a
SQL-89.
A prxima verso do padro foi a SQL-92, seguida da SQL:1999; a verso
mais recente a SQL:2003.
Muitos banco de dados aceitam a maioria do padro SQL-92 e algumas das
novas construes do SQL:1999 e SQL:2003, embora atualmente nenhum
sistema de banco de dados aceite todas as novas construes. Tambm temos
alguns bancos de dados que no aceitam alguns recursos da SQL-92 e muitos
fornecem recursos no padronizados.

Figura 106 Funcionamento do SGBD (extrado do curso Oracle)

Esta linguagem dividida em partes:


o LINGUAGEM DE DEFINIO DE DADOS (DDL), que fornece
comandos para definir esquemas de relao, excluir relao e modificar
esquemas. Comandos: CREATE, ALTER, DROP, RENAME, TRUNCATE e
COMMENT.
o

LINGUAGEM DE MANIPULAO DE DADOS (DML): possui consultas


baseadas na lgebra relacional e no clculo relacional de tupla. Possui
129

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

ainda comandos de insero, excluso e atualizao das tuplas de banco


de dados. Comandos: INSERT, UPDATE,DELETE, MERGE e SELECT.
o

LINGUAGEM DE CONTROLE DE DADOS (DCL): concede ou revoga


direitos de acesso ao banco de dados e s estruturas contidas nele.
Comandos: GRANT e REVOKE.

CONTROLE DE TRANSAO: especifica incio e fim das transaes,


gerenciando as alteraes feitas por instrues DML que podem ser
agrupadas em transaes lgicas. Comandos: COMMIT, ROLLBACK e
SAVEPOINT.

ORACLE

Figura 107 Tipos de Abordagem (extrado do curso Oracle)

Em 1979 a empresa RSI (Relational Software Incorporated) gerou a


primeira verso do Oracle, conhecida como Oracle V2 e seu primeiro cliente
comercial foi a Base da Fora Area de Wright Patterson.
Em 1983 a empresa altera seu nome para Oracle e neste mesmo ano o seu
sistema era o mais portvel do mundo rodando sobre as plataformas PCs e
mainframes.
Em 1997, foi lanado o Oracle 8 que era um SGBD objeto-relacional que
comportava 512 petabytes de informao.
Em 1999, foi lanado o Oracle 8i, que integrava ao SGBD com a WEB.
Em 2001, surge o Oracle 9i suportando grandes transaes via WEB,
contendo integrao com o XML.
Em 2003, surge o Oracle 10G com computao em Grid;
Em 2007, surge o Oracle 11G.

VERSO 10G
Em 2003, foi lanada oficialmente o Oracle 10G Grid Computing que
significa computao em malha que integra um nmero varivel de mquinas
capazes de atuar como um s equipamento. A famlia 10g lana um novo
paradigma em tecnologia da informao, o qual eliminar o uso ineficiente dos
recursos de informtica. Com essa tecnologia, custosas infra-estruturas
130

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

tecnolgicas possuem servidores com capacidade sub-explorada em boa parte do


tempo apenas para comportar picos de demanda. Entre os principais benefcios
do Grid Computing esto melhoria de performance, facilidade de expanso do
sistema, tolerncia s falhas (os recursos so reunidos em cluster com
processamento espelhado) e automao do gerenciamento de recursos.
Embora o conceito de GRID COMPUTING possa se confundir com o conceito
de cluster existe diferenas. Um cluster uma das tecnologias utilizadas para
criar uma infra-estrutura de grid. Clusters simples possuem recursos estticos
usados por aplicativos predefinidos por alguns usurios. As grids, ao contrrio,
vo muito alm: podem ser constitudas por vrios clusters. Na prtica, grids
so pools dinmicos, nos quais os recursos diversos, de configuraes distintas,
podem ser compartilhados entre vrios usurios, no processamento de muitos
aplicativos. Em uma grid no obrigatrio que todos os servidores estejam
executando o mesmo conjunto de aplicativos. Ao contrrio, nessa nova
arquitetura, os aplicativos podem ser migrados entre os servidores, conforme a
necessidade da empresa. Isso resulta em um sistema extremamente dinmico,
capaz de redistribuir a carga de trabalho d processamento de aplicativos e o
armazenamento de dados entre os equipamentos automaticamente, conforme a
situao, otimizando de modo contnuo a utilizao dos recursos disponveis. Ele
evita ainda, que haja a sobrecarga em um determinado servidor ou sistema de
armazenamento.
Introduziu os seguintes recursos e customizaes:
Nova infra-estrutura de gerenciamento automtico;
Facilidades para aprovisionamento de recursos computacionais;
Facilidades para aproveitamento de dados;
FlashBack.
ESTRUTURA INTERNA
Na sua instalao, o Oracle cria um ambiente para que o usurio
principalmente o iniciante possa fazer uso imediato do sistema, mesmo
possuindo poucas informaes, criando assim:
Instncia
Tablespaces

Usurios

Roles (Grupos de
Usurios)

ORCL
SYSTEM (dicionrio de dados)
ROLLBACK_DATA (dados em trnsito)
USER_DATA (estrutura das tabelas)
TEMPORARY_DATA (espao auxiliar)
INTERNAL senha: ORACLE
SYS
senha: CHANGE_ON_INSTALL
SYSTEM
senha: MANAGER
SCOTT
senha: TIGER
HR
- senha: HR
CONNECT (operador do sistema)
RESOURCE (desenvolvedor de sistema)
DBA (administrador do banco de dados)
IMP_FULL_DATABASE (criar backup)
EXP_FULL_DATABASE (restaurar backup)

131

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

ORACLE 10G RELEASE EXPRESS EDITION


Em fevereiro de 2006, a ORACLE disponibilizou esta verso gratuita que
possui recursos client-server com algumas limitaes para a sua utilizao, mas,
combatvel com as verses pagas, possibilitando sua migrao sem maiores
dificuldades.
A vantagem que possui a possibilidade de ser instalado em LINUX, onde
normalmente suas verses de banco de dados tm um desempenho superior.
Tem suporte integral linguagem procedural PL/SQL.
Compatvel com o padro ANSI (SQL-1999) e isso importante pelos
seguintes motivos:
o Facilita a migrao de aplicaes de terceiros, sem que seja necessrio
modificar o cdigo SQL existente;
o Oferece a funcionalidade do padro ANSI/ISO no banco de dados Oracle
10g XE;
o Facilita a curva de aprendizagem na migrao de outros SGBDs para o
Oracle 10g XE;
o Implementa a sintaxe completa para junes SQL:1999.
Possui as seguintes desvantagens:
o Limitao de memria;
o Limitao na quantidade de dados gerenciados;
o Limitao na quantidade de processadores;
o Em relao s verses pagas, possui limite de ferramentas de
gerenciamento.
RESTRIES

DESCRIO
CPU
RAM
Tamanho do banco de dados
REQUISITO
Sistema Operacional
Processador
Memria
Espao em disco (disponvel)

MXIMO
1 (independente do tipo)
1 Gb
4 Gb

CONTEDO
Windows 2000 Service Pack 4
Windows Server
Windows XPService Pack 1
Linux
Processador compatvel com Inter x86
Mnimo de 256 Mb (recomendvel 512 Mb ou
mais)
1,6 Gb

INSTALAO

Efetuar o download do site da Oracle (www.oracle.com.br ou


www.oracle.com/technology/products/database/xe/index.html)
do
arquivo
OracleXEUniv.exe. A instalao possui o servidor do banco de dados e as
ferramentas de administrao do SGBD, que nesta verso feita via browser.
Ser solicitado uma senha para os usurios administrativos SYS e SYSTEM
digitem MANAGER como senha para manter o padro com as outras verses do
Oracle.

132

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Quando o ambiente possuir estaes clientes, ser necessrio baixar outro


arquivo que instala somente o cliente do SGBD para realizar a comunicao com
o servidor. (OracleXEClient.exe).
ALTERANDO A SENHA DE UM USURIO PELO MODO ADMINISTRATIVO
HOME PAGE

Conectar como SYS ou SYSTEM senha MANAGER surge a seguinte tela:

Figura 108 Tela Principal contendo as opes (feito pelo Autor)

Clique em ADMINISTRAO surge a seguinte tela:

Figura 109 Submenu Administrao (feito pelo Autor)

Clique em USURIOS DO BD e surge a tela com todos os usurios


existentes no banco de dados.

Figura 110 Usurios existentes no Banco de Dados (feito pelo Autor)

Clique no usurio desejado e surge o usurio a seguir:

133

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 111 Configurao do usurio HR (feito pelo Autor)

Digite uma senha e confirme (por exemplo, HR) e altere o status da conta
para Desbloqueado em seguida clique em ALTERAR USURIO.
SQL * PLUS

Conectar como SYS ou SYSTEM senha ORACLE surge a seguinte tela:


SQL>CONNECT SYSTEM/ORACLE;

Figura 112 Tela do SQL * PLUS (feito pelo Autor)

134

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Digite o comando abaixo para desbloquear e alterar a senha do usurio HR:


SQL>ALTER USER HR
IDENTIFIED BY HR
ACCOUNT UNLOCK;
Em seguida, conectar com o usurio HR e senha HR:
SQL> CONNECT HR/HR;
TABELAS EXISTENTES NO BANCO DE DADOS
Para estudo, o Oracle possui as seguintes tabelas:
USURIO HR:
DEPARTMENTS (departamento)
NOME DA COLUNA

DEPARTMENT_ID
DEPARTMENT_NAME
MANAGER_ID
LOCATION_ID
NOME DA COLUNA

REGION_ID
REGION_NAME
NOME DA COLUNA

JOB_ID
JOB_TITLE
MIN_SALARY
MAX_SALARY
NOME DA COLUNA

LOCATION_ID
STREET_ADDRESS
POSTAL_CODE
CITY
STATE_PROVINCY
COUNTRY_ID
NOME DA COLUNA

COUNTRY_ID
COUNTRY_NAME
REGION_ID
NOME DA COLUNA

EMPLOYEE_ID
FIRST_NAME
LAST_NAME
EMAIL
PHONE_NUMBER
HIRE_DATE
JOB_ID
SALARY
COMMISSION_PCT
MANAGER_ID
DEPARTMENT_ID

TIPO E TAMANHO

DESCRIO

NUMBER(4) PK
Cdigo do departamento
VARCHAR2(30)
Nome do departamento
NUMBER(6)
Cdigo do gerente do departamento
NUMBER(4) FK
Cdigo da localizao do departamento
REGIONS (regio)
TIPO E TAMANHO

DESCRIO

NUMBER PK
Cdigo da regio
VARCHAR2(25)
Nome da regio
JOBS (cargo)
TIPO E TAMANHO

DESCRIO

VARCHAR2(10) PK
Cdigo do cargo
VARCHAR2(35)
Nome do cargo
NUMBER(6)
Menor salrio do cargo
NUMBER(6)
Maior salrio do cargo
LOCATIONS (localizao)
TIPO E TAMANHO

NUMBER(4) PK
VARCHAR2(40)
VARCHAR2(12)
VARCHAR2(30)
VARCHAR2(25)
CHAR(2) FK
COUNTRIES
TIPO E TAMANHO

DESCRIO

Cdigo da localizao
Endereo da localizao
Cdigo postal da localizao
Nome da cidade
Nome do estado
Identificao do pas
(pas)
DESCRIO

CHAR(2) PK
Identificao do pas
VARCHAR2(40)
Nome do pas
NUMBER FK
Identificao da regio
EMPLOYEES (empregado)
TIPO E TAMANHO

NUMBER(6) PK
VARCHAR2(20)
VRCHAR2(25)
VARCHAR2(25)
VARCHAR2(20)
DATE
VARCHAR2(10)
NUMBER(8,2)
NUMBER(2,2)
NUMBER(6)
NUMBER(4) - FK

DESCRIO

Identificao do empregado
Primeiro nome do empregado
ltimo nome do empregado
Email do empregado
Telefone do empregado
Data de admisso do empregado
Cargo do empregado
Salrio do empregado
Percentual de comisso do empregado
Identificao do gerente do empregado
Identificao do departamento
135

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

JOB_HISTORY(histrico_cargos)
NOME DA COLUNA

EMPLOYEE_ID
START_DATE
END_DATE
JOB_ID
DEPARTMENT_ID

TIPO E TAMANHO

DESCRIO

NUMBER(6) PK
DATE
DATE
VARCHAR2(10) FK
NUMBER(4) FK

Identificao do empregado
Data incio do empregado no cargo
Data final do empregado no cargo
Identificao do cargo
Identificao do departamento

USURIO SCOTT:

Para estudo, o Oracle (verses 8.0, 8i e 9i) possui no usurio SCOTT, as


seguintes tabelas:
DEPT
NOME DA COLUNA

DEPTNO
DNAME
LOC

TIPO E TAMANHO

DESCRIO

NUMBER(2) PK
VARCHAR2(14)
VARCHAR2(13)

Nmero do departamento (PK)


Nome do departamento
Local do departamento
EMP

NOME DA COLUNA

EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
NOME DA COLUNA

GRADE
LOSAL
HISAL

TIPO E TAMANHO

DESCRIO

NUMBER(4) PK
Matrcula do empregado
VARCHAR2(10)
Nome do empregado
VARCHAR2(9)
Cargo do empregado
NUMBER(4)
Matrcula do gerente
DATE
Data de admisso
NUMBER(7,2)
Salrio
NUMBER(7,2)
Comisso
NUMBER(2) FK
Nmero do departamento
SALGRADE
TIPO

DESCRIO

NUMBER
NUMBER
NUMBER

Nmero da faixa salarial


Incio da faixa salarial
Fim da faixa salarial

INSTRUES SQL

INSTRUO
SELECT
INSERT UPDATE DELETE
CREATE, ALTER, DROP,
RENAME e TRUNCATE
COMMIT,ROLLBACK e SAVEPOINT
GRANT, REVOKE

DESCRIO
Recuperao de dados de banco de dados
DML (Data Manipulation Language)
DDL (Data Definition Language)
Controle de Transao
DCL (Data Control Language)

FERRAMENTAS DO ORACLE
SQL * PLUS
O SQL * PLUS uma ferramenta do ORACLE que tem por objetivo realizar a
interface iterativa com o banco de dados, permitindo realizar operaes como:
Editar, armazenar, recuperar e executar comandos SQL e blocos PL/SQL;
136

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Formatar, executar clculos e armazenar e imprimir resultados de uma


query;
Listar definio de tabelas e views;
Atribuir valores para a execuo de comandos.
Para o usurio se conecte ao SQL * PLUS necessrio que este j esteja
cadastrado. Quando o SQL instalado, criado automaticamente alguns
usurios e algumas tabelas de exemplo com dados j cadastrados que veremos a
seguir. Para executar este SQL clique em PROGRAMAS ORACLE DATABASE

10G Express Edition


LISTAR A ESTRUTURA DA TABELA
Para visualizar a estrutura de uma tabela na LINHA DE COMANDO DO SQL
aps a sua criao, usamos o comando DESCRIBE. Sintaxe: DESCRIBE [tabela].
Exemplo: DESCRIBE emp OU DESC emp
CRIANDO INSTRUES SQL
Usando as seguintes diretrizes e regras simples, voc pode construir instrues
vlidas e fceis de ler e editar:
As instrues SQL no fazem distino entre maisculas e minsculas;
As instrues SQL podem ser digitadas em uma ou mais linhas;
As palavras-chave no podem ser divididas entre linhas nem abreviadas;
As clusulas so em geral colocadas em linhas separadas para facilitar a
edio;
Em geral utilizando as palavras-chave em letras maisculas e todas as outras
palavras (nome de tabela, colunas) em letras minsculas.
CONECTANDO-SE AO ORACLE
Os usurios SYS e SYSTEM so senhas master (DBA).
Para trocar de usurio quando o mesmo j est conectado, usamos o
comando CONNECT nome_usurio. Ser solicitado a senha. Exemplo: CONNECT
HR
EXECUTANDO INSTRUES NO SQL * PLUS
Coloque um ponto-e-vrgula (;) no final da ltima clusula;
Coloque uma barra na ltima linha do buffer;
Coloca uma barra no prompt do SQL.
EDIO E EXECUO DE BUFFER
COMANDO
LIST
INPUT

DESCRIO
Exibe o contedo do buffer ou parte dele.
Inseri uma nova linha a partir da corrente.

137

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

MANIPULAO DE BUFFER E ARQUIVO

COMANDO
SAVE

DESCRIO
Grava a instruo armazenada no buffer.

GET
START ou
@
EXIT
SPOOL
[OFF]

Carrega o arquivo para o buffer.


Executar o arquivo gravado
anteriormente.
Sai do cdigo SQL * Plus
Armazena os resultados da consulta
em um arquivo. OFF fecha o arquivo

Sintaxe
SAVE
C:\DIRETORIO\ARQUIVO
GET C:\DIRET\ARQUIVO
START C:\DIRET\ARQUIVO
EXIT
SPOOL C:\TESTE.SQL
SPOOL OFF

EDITOR DE TEXTO

COMANDO
EDIT

DESCRIO
Chama o editor de textos.

Sintaxe
EDIT

TRATAMENTO DE EXIBIES
Por meio da definio de valores para as variveis de sistema do SQL *
PLUS pode configurar este ambiente:
COMANDO
LINESIZE
PAGESIZE
SERVEROUTPUT

DESCRIO
Comprimento da linha que ser visualizada.
Comprimento da pgina que ser visualizada.
Controla as sadas com o comando DBM_OUTPUT.PUT_LINE de
dentro das procedures de um banco de dados ou bloco PL/SQL.

FORMATAO
COMANDO
COLUMN

DESCRIO
Define cabealho, largura e formato do dado na coluna.
Exemplo:COLUMN ename FORMAT A10 HEADING Nome
Para eliminar a formao: COLUMN ename CLEAR;

HOME PAGE DE BANCO DE DADOS


Para executar este SQL clique em PROGRAMAS ORACLE DATABASE 10G
EXPRESS EDITION

138

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 113 Tela de Login da Home Page do Oracle 10G XE (feito pelo Autor)

Aps a conexo, surge a prxima tela:


Clique em

e surgem as seguintes opes:

Figura 114 Sub-menu do SQL (feito pelo Autor)

Ao clicar em COMANDOS SQL surge a seguinte tela:

139

B A N C O

D E

D A D O S

F A T E C

D E

Qtde. de
linhas a serem
exibidas no
retorno

P R A I A

G R A N D E

Executa o comando
digitado.

Local onde digitamos o comando.


Salva
o
comando
digitado como script.

Resultado
que surge
aps clicar
no boto
EXECUTAR

Figura 115 Tela do Comando SQL (feito pelo Autor)

Obs.: EXPLICAO monta uma verificao no script.


Ao clicar em SCRIPTS SQL surge a seguinte tela, onde permite atualizar,
criar ou buscar um script SQL:

Figura 116 Tela do Script SQL (feito pelo Autor)

Ao clicar em QUERY BUILDER surge a seguinte tela que possui as


estruturas das tabelas:

140

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 117 Objetos Existentes (feito pelo Autor)

Podemos ainda, em Oracle Database 10G Express Edition, escolher a opo


que acessa a seguinte tela:

Figura 118 Tela da Linha de Comando SQL (feito pelo Autor)

Nesta tela semelhante ao ambiente MS-DOS devemos digitar o comando


CONNECT, em seguida o nome do usurio e clicar em ENTER, onde ser
solicitado uma senha. Exemplo: CONNECT HR informe a senha: hr pressione
ENTER. Para alterar o seu tamanho, cor da fonte e cor de fundo, clique com o
boto direito na barra de ttulo e escolha a opo PROPRIEDADES:

Figura 119 Menu Propriedades (feito pelo Autor)

141

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Surge a tela a seguir:

Figura 120 Fonte em Propriedades (feito pelo Autor)

EXERCCIOS
1.
2.
3.
4.
5.
6.
7.
8.

Quais so os usurios que so instalados automaticamente com o Oracle?


Qual o comando que lista a estrutura da tabela? D um exemplo?
Quais so as caractersticas do Oracle 10G?
Quando devemos usar o LINESIZE e o PAGESIZE?
Qual o comando usado para troca de usurio na sesso do Oracle?
SAVE, SPOOL, GET e EDIT so comandos de: ____________________
Quais so as formas de executar uma query no SQL * Plus?
Qual a diferena entre os comandos do SQL * PLUS e os comandos do
padro SQL ANSI?

142

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

OBJETOS DO BANCO DE DADOS


Um banco de dados ORACLE pode conter vrias estruturas de dados. Cada
estrutura deve ser descrita no projeto de banco de dados para que possa ser
criada durante o estgio de desenvolvimento do banco de dados:

TABELA

Armazena dados na interseo da linha com a coluna;

VIEW

Subconjunto de dados de uma ou mais tabelas;

SEQNCIA -

Gera valores numricos nicos;

NDICE

Melhora o desempenho de algumas consultas;

SINONIMO -

STORAGE PROCEDURE funes, procedimentos, pacotes, gatilhos e


blocos annimos.

Fornece nomes alternativos aos objetos;

CRIANDO TABELAS
A tabela o local onde so colocados os dados (antigamente chamvamos
de arquivos). Uma tabela formada de colunas (antigamente chamvamos
campos. E cada tabela pode ter at 1600 colunas) e linhas (antigamente
chamvamos de registros).
No necessrio especificar o tamanho de nenhuma tabela. O tamanho
definido pela quantidade de espao alocada no banco de dados como um todo.
Entretanto, importante estimar a quantidade de espao que um exerccio
usar.
Para criarmos uma tabela no ORACLE, necessrio que o usurio defina
para cada coluna, o tipo de dado, o tamanho e as suas restries.
TIPO DE DADOS
Tipo

Descrio

Tamanho
Mximo

CHAR
VARCHAR ou
VARCHAR2
NUMBER

Alfanumrico de tamanho fixo


Alfanumrico. O que no foi utilizado no
ocupa espao no banco de dados.
Numrico. Utilizado com casas decimais,
primeiro o nmero total de dgitos
(incluindo as casas decimais)
Alfanumrico. Tamanho no precisa ser
informado. S pode existir um por tabela
e no pode ser utilizado em consultas.
Armazena valores hexadecimais com
tamanho varivel.
Armazena valores hexadecimais com
tamanhos variveis.
Sero armazenados com sculo, ano,
ms, dia, hora, minuto e segundo.
Armazena data, hora, minuto, segundo.
Exemplo: dtinicio TIMESTAMP(7)

255
2.000

LONG
RAW
LONG RAW
DATE
TIMESTAMP

38

Exemplo

Sexo
Endereo
Salrio

2G
2K
2G
-

Armazena
imagens
Armazena
imagens
Data
de
Nascimento

143

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Obs.: O tipo de dado INTERVAL YEAR TO MONTH usado para representar a


diferena entre dois valores de data/horrio em que apenas o ano e o ms so
significativos. Exemplo:
INTERVAL 123-2

YEAR(3) TO MONTH indica 123 anos e dois meses

CONVENES PARA NOMEAO


Nomeie tabelas e colunas do banco de dados de acordo com as regras de
nomeao de qualquer objeto de banco de dados:
Devem comear com uma letra;
Pode ter de 1 a 30 caracteres;
Deve conter somente A-Z, a-z, 0-9, _, $ e #;
No deve duplicar o nome de outro objeto de propriedade do mesmo
usurio;
No deve ser uma palavra reservada pelo ORACLE.
OBSERVAO: Os nomes no fazem distino entre maisculas de
minsculas.

Figura 121 Criar Tabela (feito pelo Autor)

Na tela seguinte podemos escolher as colunas, tipos de dados e tamanho:

144

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 122 Colunas e Tipos de Dados (feito pelo Autor)

Na tela a seguir podemos escolher a(s) coluna(s) que faro parte da chave
primria (podemos escolher para ser preenchido com um nmero sequencial):

Figura 122 Chave primria (feito pelo Autor)

Na tela a seguir podemos escolher uma chave estrangeira para a tabela


(relacionamento entre as tabelas):

145

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 123 Chave Estrangeira (feito pelo Autor)

Na tela seguinte, podemos definir uma verificao para uma ou mais colunas
na futura tabela:

Figura 124 Configurao da Verificao (feito pelo Autor)

Na tela seguinte, clique em CRIAR:

146

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 125 Tela de Finalizao (feito pelo Autor)

A seguir exibida a estrutura da tabela criada:

Figura 126 Estrutura da Tabela (feito pelo Autor)

ADICIONAR COLUNA
Clique no cone ADICIONAR COLUNA e surge a tela abaixo:

Figura 127 Tela para Adicionar Coluna (feito pelo Autor)

EXIBIR A ESTRUTURA

147

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 128 Tela para Exibir a Estrutura da Tabela com a Coluna Adicionada (feito pelo Autor)

MODIFICAR COLUNA
Clique no cone MODIFICAR COLUNA e surge a tela abaixo:

Figura 129 Tela para Modificar Coluna (feito pelo Autor)

EXIBIR A ESTRUTURA

Figura 130 Tela para Exibir a Estrutura da Tabela com a Coluna Modificada (feito pelo Autor)

148

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

RENOMEAR COLUNA
Clique no cone RENOMEAR COLUNA e surge a tela abaixo:

Figura 131 Tela para Renomear Coluna (feito pelo Autor)

EXIBIR A ESTRUTURA

Figura 132 Tela para Exibir a Estrutura da Tabela com a Coluna Renomeada (feito pelo Autor)

ELIMINAR COLUNA
Clique no cone ELIMINAR COLUNA e surge a tela abaixo:

Figura 133 Tela para Eliminar Coluna (feito pelo Autor)

EXIBIR A ESTRUTURA

149

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 134 Tela para Exibir a Estrutura da Tabela sem a Coluna Eliminada (feito pelo Autor)

RENOMEAR A TABELA
Clique em RENOMEAR e surge a tela a seguir:

Figura 135 Renomear a tabela (feito pelo Autor)

Figura 136 Finaliza a Renomeao de Tabela (feito pelo Autor)

Se clicar no SQL abaixo, exibido o cdigo:

Figura 137 Cdigo SQL para renomear a tabela (feito pelo Autor)

150

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

COPIAR TABELA
Clique em COPIAR para fazer uma cpia de uma tabela e, aps o nome da
tabela, clique em FINALIZAR:

Figura 138 Copiar tabela (feito pelo Autor)

Observao: Podemos eliminar ou truncar a tabela.


ADICIONAR LINHAS A TABELA
Clique em DADOS e em seguida clique em INSERIR LINHA:

Figura 139 Inserir Linha (feito pelo Autor)

Surge a tela abaixo onde podemos colocar os valores:

Figura 140 Inserir Linha (feito pelo Autor)

Podemos CRIAR linha ou CRIAR E CRIAR OUTRO para inserir um novo registro.

151

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

Figura 141 Exibio do registro inserido (feito pelo Autor)

Clique em DOWNLOAD para exportar os dados para outra fonte:

Figura 142 Tela de Exportao (feito pelo Autor)

EXERCICIOS
1) Criar uma tabela chamada CONTROLE que armazene as notas bimestrais por
aluno e por disciplina.
2) Acrescentar o campo mdia tabela CONTROLE.
3) Renomear a tabela CONTROLE para NOTA.
4) Verificar as tabelas de propriedade (owner) do usurio que voc est
conectado.
5) Eliminar a tabela NOTA.

152

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCICIO EXTRA
De acordo com o estudo de caso abaixo, crie as tabelas e em seguida inserir
alguns registros:
A fim de gerenciar as vendas em uma loja, os seguintes requisitos devem
ser atendidos pela modelagem de dados:

Vendas so efetuadas por um Vendedor em uma data e hora. Vendedores


recebem um salrio base e comisso sobre as vendas, a qual representa
10% do valor da venda.

Vendedores

possuem

matricula,

nome,

endereo,

telefone

CPF.

Vendedores podem possuir mais de um telefone.

Vendas podem ser vista ou a prazo. Vendas a prazo possuem parcelas


de pagamento, com sua data de vencimento e valor.

Vendas podem ou no estar relacionadas a um Cliente. Vendas em


dinheiro nem sempre esto relacionadas a um Cliente.

Clientes so cadastrados com seu Nome, CPF, Identidade, endereo e


telefone. Clientes podem possuir mais de um telefone.

Vendas envolvem produtos, sendo que para cada venda a quantidade


vendida do produto deve ser registrada.

Produtos possuem cdigo, descrio, preo e quantidade em estoque.

153

B A N C O

D E

D A D O S

F A T E C

D E

P R A I A

G R A N D E

EXERCICIO: CONVERSO CONCEITUAL PARA LGICO


a)

b)

BOAS FRIAS E AT BANCO DE DADOS II!!!!


154