Apostila Bdi 2011
Apostila Bdi 2011
Apostila Bdi 2011
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
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 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 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
Software Utilizados
Avaliao
Contato
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
Cada item dever estar em uma folha distinta. Na capa dever ter o nome
dos alunos, a turma e o perodo;
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.
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.
CARACTERSTICAS
Surgem os sistemas operacionais;
1954
1958
1963
1968
1970
1976
1983
antigo IMS).
1988
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
Conhecimento
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
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
APLICAO
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
Sistema de
Cadastro
Controle de
Freqncia
ALUNOS
ALUNOS
ALUNOS
A localizao dos dados em diversos locais chamado de ILHAS DE INFORMAO (que contm
informaes diferentes dos mesmos dados). (ROB, 2011)
7
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
Sistema de
Cadastro
Controle de
Freqncia
ALUNOS
11
Parcialmente processados.
12
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
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.
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 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
Rede
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
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
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
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
Definies
14
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
Caractersticas
15
Respostas rpidas a consultas ad hoc (consulta que no pode ser previamente determinada)
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
17
18
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
MINIMUNDO
Foco: DADOS
REQUISITOS DE DADOS
Projeto Conceitual
ESQUEMA CONCEITUAL
Independe
SGBD
Especfico
SGBD
do
Projeto Lgico
para
ESQUEMA LGICO
Projeto Fsico
Parmetros de acesso
fsico
Definido atravs do SQL
ESQUEMA FSICO
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
Nome
Endereo
Telefone
Curso
Genoveva
Passione
3367-8990
INFORMATICA
Porsidius
5678-8909
ANALISE
3244-5678
INFORMATICA
Aluno
79
171
Insensato
66
Marizildo
TiTiTi
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
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.
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
22
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
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
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
Auto-Relacionamento
o relacionamento entre ocorrncias da mesma entidade, para
identificar surge o PAPEL DE ENTIDADE DE RELACIONAMENTO24. Exemplo:
PESSOA
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:
25
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
Atributo
o dado associado a cada ocorrncia de uma entidade ou de um
relacionamento. Ou seja, uma caracterstica de uma entidade. Exemplo:
26
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
CLIENTE
CONTA
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
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:
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
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
FUNCIONARIO
aprende
HABILIDADE
gerencia
LOJA
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
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
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
FILIAL
CLIENTE
PESSOA_FISICA
PESSOA_
JURIDICA
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
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
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
MEDICO
PACIENTE
CONSULTA
MEDICAMENTO
Figura 44 Exemplo de Entidade Associativa (adaptado pelo autor)
Notao DER-X
27
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
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
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
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
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
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.
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:
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
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
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
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
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
PESQUISA
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.
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
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
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 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
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.
(
3. Relacione as colunas
( 1 ) Tabela
( 2 ) Linha da Tabela
( 3 ) Coluna da Tabela
(
(
(
) Tupla
) Objeto
) Atributo
) Instncia
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
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
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
desconhecido
dos
usurios. Exemplo:
cd_identificao_contrato.
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
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
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.
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
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
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)
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
Valor Unitrio
4,50
11,00
5,00
Data: 25/12/2010
Valor Total
13,50
22,00
5,00
40,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
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)
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
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
Informtica
ALUNO
CURSO
CURSO
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
_cursado
CURSA
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
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
ser
ser
EFETIVO
# dt_contratao
# cd_pis
dt_nascimento
qt_dependente
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
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
CPF: 951.159.158-50
Bairro: Gonzaga
Celular: 8112-5151
Dias: 2f e 4f.
Dias: 3f e 5 f
Sim
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
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
EXERCCIOS
1. Complete com V ou F:
(
(
(
(
(
cd nm sg ic
dt
ds hr pc qt vl
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
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
ALTERNATIVA
PRIMRIA
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
EXERCCIOS
1. Assinale a exceo.
(
2. Assinale a exceo.
(
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
aloca
est_alocado
# cd_loja
# sg_unidade_federativa
qt_rea_til_loja
FUNCIONRIO
# cd_matricula_funcionario
nm_funcionario
aloca
FUNCIONRIO
est_alocado
# cd_loja
# sg_unidade_federativa
qt_rea_til_loja
# cd_matricula_funcionario
nm_funcionario
OBJETO B
# ch_b
at_a1
at_b2
E ch_a
OBJETO C
# ch_c
# E ch_a
at_c1
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
FICHA MDICA
Nmero do Paciente: 006
Data Nasc:10/01/1938
Sexo: Feminino
RG: 1.345.678
Telefone: 3456-6767
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
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.
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
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
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
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
OBJETO B
# ch_b
at_b1
at_b2
OBJETO C
# E ch_a
# E ch_b
INGREDIENTE
PIZZA
_utilizado
#cd_pizza
nm_pizza
# cd_ingrediente
nm_ingrediente
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
qt_mdia_aluno_disciplina
_cursada
ALUNO
pc_falta_aluno_disciplina
DISCIPLINA
cursa
# cd_matrcula_aluno
nm_aluno
# cd_disciplina
nm_disciplina
Data Real
da
Devoluo
23/01/2011
17/01/2011
18/01/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
TAREFA 08 RELACIONAMENTO M : N
Criar um modelo lgico de dados que retrate a situao a seguir
sobre uma
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
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
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
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 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
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
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
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
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
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
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:
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
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
Resoluo
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
(
(
(
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
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
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
Joo Alves
Letcia Alves
Firminiano dos Santos
PLANO
Standard
Standard
Executivo
TIPO DE LOJA
tica
Farmcia
Loja do Livro
Farmcia
Supermercados
tica
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.
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
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.
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.
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
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.
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
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
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.
6.
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
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
Menu DISPLAY:
Tipos de Notao:
EER[1,n]
Traditional
Crows
Foot
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
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
Agora, basta abrir o arquivo no navegador que dever ser semelhante ao modelo
abaixo:
EXERCCIO
1.
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.
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
dados
foi
link:
http://www.oracle.com/technology/software/products/sql/datamodeler.ht
ml?rssid=rss_otn_soft
execuo.
clique
no
arquivo
para
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
DESCRIO
Caixa de propriedades do atributo.
Adicione atributos a entidade selecionada.
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
Ao escolher o cone
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
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:
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
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
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
Figura 88 Tela para Alterao das Propriedades dos Atributos (feito pelo Autor)
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
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
Figura 93 Tela com o Script de Criao das Entidades (feito pelo Autor)
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 94 Primeira Tela do Assistente de Conexo com o Banco de Dados (feito pelo Autor)
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
Figura 96 Terceira Tela do Assistente de Conexo Escolha do Esquema (feito pelo Autor)
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
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
Clique no cone
da nova entidade:
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)
Figura 104 Tela para escolher a(s) colunas que sero chave na nova tabela (feito pelo Autor)
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
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
basicamente
todas
as
ocorrncias,
exames,
consultas,
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
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.
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
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
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
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
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
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
Digite uma senha e confirme (por exemplo, HR) e altere o status da conta
para Desbloqueado em seguida clique em ALTERAR USURIO.
SQL * PLUS
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
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:
DEPTNO
DNAME
LOC
TIPO E TAMANHO
DESCRIO
NUMBER(2) PK
VARCHAR2(14)
VARCHAR2(13)
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
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
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
COMANDO
SAVE
DESCRIO
Grava a instruo armazenada no buffer.
GET
START ou
@
EXIT
SPOOL
[OFF]
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;
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)
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.
Resultado
que surge
aps clicar
no boto
EXECUTAR
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
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
EXERCCIOS
1.
2.
3.
4.
5.
6.
7.
8.
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
TABELA
VIEW
SEQNCIA -
NDICE
SINONIMO -
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
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
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
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):
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
Na tela seguinte, podemos definir uma verificao para uma ou mais colunas
na futura tabela:
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
ADICIONAR COLUNA
Clique no cone ADICIONAR COLUNA e surge a tela abaixo:
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:
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:
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:
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 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:
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
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:
Vendedores
possuem
matricula,
nome,
endereo,
telefone
CPF.
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
b)