Escolar Documentos
Profissional Documentos
Cultura Documentos
Departamento de Computação
Março 2000
Última revisão: Abril 2002
Requisitos
de dados
Projeto
Conceitual
Esquema conceitual
Projeto
Lógico
Esquema Lógico
Projeto
Físico
Esquema Físico
Fig. 1.1
1.3.1. Modelo ER
nro_aluno n 1
nome Aluno orienta nome
Professor sexo
nome
Professor sexo
títulos (1,n)
Atributos compostos:
Um atributo composto representa um grupo de atributos que possuem uma afinidade em
significado ou uso. Como exemplo, considere o atributo endereço na figura 1.5, que é
composto por Rua, Cidade, Estado, País e CEP.
Rua
endereço Cidade
Professor Estado
País
CEP
Fig. 1.5 - atributo composto
identificador ident1
ident2
Fig. 1.6 - identificador interno
Quando uma entidade é identificada através de outra entidade associada a ela, tem-
se um identificador externo, cuja representação pode ser a da figura 1.7(a) ou usando
a notação de entidade fraca (figura 1.7 (b)). Essa figura indica que o identificador de A
faz parte do identificador de B
A B A B
Fig. 1.7 (a) - identificador externo Fig. 1.7 (b) - identificador externo
E1 E2 En
...
Fig. 1.8 - Hierarquia de generalização
A cobertura é parcial (p) se existe algum elemento da classe genérica que não é
mapeado para nenhum elemento das subclasses.
Exemplo: Suponha que VEÍCULO é uma classe que contém outros tipos de veículos
além de carros e bicicletas. A generalização da figura 1.10 é parcial.
Pessoa
Veículo
total parcial
Aluno
sobreposição
Aluno- Aluno-Pós-
Graduaçao Graduação
Veículo
(p,e)
Carro Bicicleta
e1 nro-cli
E e2 Cliente nome-cli
e3 endereço
Cliente
e4 vantagens
E1 Especial
e5
Fig.1.13 - hierarquia de subconjunto Fig.1.14 - Exemplo
Observações:
1. O identificador da entidade genérica é também um identificador para as entidades da
especialização.
2. Entidades da especialização podem ter outros identificadores, como mostrado na
figura 1.15.
nome
Pessoa RG
título
situação- divisão
serv-mil Homem Mulher Empr Chefe Gerente Militar ident-na-
divisão
nome_ nro-emp nome_divisão categoria posição
solteira
Fig.1.15
1.4. Exercícios
Futebol Tênis
Fig.1.16
mora
(1,n)
(1,n) nome
Cidade nasci- Pessoa
da (1,1)
(1,n) (1,1)
reside Masculino Feminino
(0,n)
idade
tra- Soldado
balha Empregado
(0,1) idade
Fig.1.17
7. Considere o esquema da figura 1.17. Como você pode mudá-lo para representar no
esquema todos os empregados, homens e mulheres?
c. Dos demais funcionários que são operários, guarda-se suas habilidades (um operário
pode ter várias habilidades).
2.1.Introdução
Visões:
Quando as aplicações são complexas e usualmente diferentes analistas estão envolvidos
no processo de projeto do banco de dados, a aplicação pode ser particionada em
atividades menores, representando visões de grupos de usuários.
Visão, na fase de projeto conceitual, é a parte de um banco de dados ou dos requisitos
de dados de uma aplicação que é vista por um usuário ou grupo de usuários.
Distinguem-se:
- Partes que devem ser preenchidas pelos usuários e que serão armazenadas no
sistema;
- Partes descritivas referentes às instruções que devem ser seguidas para preencher os
campos do formulário.
A seguir são dados vários exemplos de formulários. Para cada caso, faça o esquema
conceitual correspondente.
Formulário 1
INFORMAÇÃO DE DOCENTE ATUANTE NA PÓS-GRADUAÇÃO
.. .
b1) para informações sobre alunos, adicionar colunas para indicar a situação do
aluno:
b2) Para docente incluir campos para assinalar opções, onde várias opções podem
ser selecionadas para um mesmo docente:
Assinale:
Professor contratado
Ministra aula na graduação
Possui vínculo com outras Instituições. Se sim, indique os nomes das Instituições:
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
Os registros são compostos de campos. Os campos por sua vez podem ser compostos de
sub-campos. Como conseqüência, geralmente têm uma estrutura hierárquica, e cada
campo se coloca numa posição desta hierarquia. Em C pode-se utilizar estruturas ou
classes definidas pelas cláusulas struct/class, para armazenar informações nos arquivos
segundo as estruturas declaradas. O mesmo se aplica aos tipos definidos em Pascal. Em
Cobol, a declaração do(s) arquivo(s) que irá(ão) fazer parte do sistema é realizada em
uma estrutura chamada DATA DIVISION.
A parte que nos interessará é a DATA DIVISION, que é subdividida da seguinte forma:
DATA DIVISION.
FILE SECTION.
[descrição do arquivo
descrição do registro]...
DATA DIVISION
FILE SECTION
FD ARQUIVO-EXEMPLO
BLOCK CONTAINS O RECORDS
RECORD CONTAINS 80 CHARACTERES
01 EXEMPLO
05 DADO-NUMERICO PIC 9(8).
05 LETRA PIC X(1).
C: Pascal:
Na declaração de um registro podem estar expressos vários tipos de campos, como por
exemplo, campos simples, campos multivalorados (em COBOL os campos
multivalorados são definidos na cláusula OCCURS), redefinição de campos (através da
cláusula REDEFINES), etc. Esses campos devem ser mapeados para uma modelagem
adequada no esquema, que expresse toda a semântica da informação envolvida.
A seguir são dados vários exemplos de declarações de registros em COBOL. Para cada
caso, faça o esquema conceitual correspondente.
01 PEDIDO.
02 DATA-DE-EMISSÃO.
03 DIA PIC 9(2).
03 MÊS PIC 9(2).
03 ANO PIC 9(2).
02 DATA-ENTREGA.
03 DIA PIC 9(2).
03 MÊS PIC 9(2).
03 ANO PIC 9(2).
01 PRODUTO.
02 NOME PIC X(20).
02 CÓDIGO PIC X(4).
02 PREÇO PIC 9(5).
02 QTDE-EM-ESTOQUE.
03 QTDE-EM-ESTOQUE-POR-ANO OCCURS 4 TIMES.
04 QTDE-EM-ESTOQUE-POR-MÊS PIC 99 OCCURS 12 TIMES.
c) Redefinição de campo
01 PESQUISADOR.
02 NOME-PESQUISADOR PIC X(30).
02 ENDEREÇO PIC X(25).
02 DOCENTE-INTERNO.
03 NOME-PROGRAMA-POS-GRAD PIC X(27).
03 PROJETOS-PESQUISA-DO-DOCENTE PIC X(15) OCCURS 5 TIMES.
d) Ponteiros Simbólicos
02 EMPREGADO.
03 CÓDIGO PIC X(10).
03 COD-DEPTO PIC X(5).
02 DEPTO.
03 CÓDIGO PIC X(5).
03 NOME PIC X(20).
02 PROJETO.
03 CÓDIGO PIC X(7).
03 COD-DEPTO PIC X(5).
03 DESCRIÇÃO PIC X(30).
03 EMPREGADO-RESPONSÁVEL PIC X(10).
01 PROJETO.
02 CÓDIGO PIC X(7).
02 DESCRIÇÃO PIC X(30).
02 CÓDIGO-SUPERPROJETO PIC X(7).
02 ORÇAMENTO PIC 9(6)V99.
01 DADOS-EMPREGADO.
02 NRO-ID PIC 9(6).
02 NOME PIC X(20).
02 SUPERVISOR-EMPREGADO PIC 9(6).
02 SISTEMA-COMANDO-CONTROLADO PIC X(5) OCCURS 10 TIMES.
02 SISTEMA-ALARME-CONTROLADO PIC X(5) OCCURS 10 TIMES.
01 SISTEMA-COMANDOS.
02 TIPO PIC X(5).
02 DATA PIC 9(6).
02 HORARIO.
03 HORA PIC 99.
03 MINUTO PIC 99.
03 SEGUNDO PIC 99.
02 POSIÇÃO.
03 NOME PIC X(20).
03 LOCAL PIC X(20).
03 TIPO PIC X(5).
01 SISTEMA.ALARMES.
02 TIPO PIC X(5)
02 DATA PIC 9(6).
02 VALOR PIC 9(8).
02 HORARIO.
03 HORA PIC 99.
03 MINUTO PIC 99.
03 SEGUNDO PIC 99.
02 POSIÇÃO.
03 NOME PIC X(20).
03 LOCAL PIC X(20).
03 TIPO PIC X(5).
01 COMUNICAÇÕES.
02 TECNOLOGIA PIC X(8).
02 VELOCIDADE PIC 9(6).
A integração dos esquemas pode ser realizada por etapas conforme ilustrado abaixo:
Esquema parcial
Esquema 3
integrado
...
Esquema n
Esquema global
Análise de Conflito: realiza-se uma análise nos esquemas a serem integrados para
verificar se há algum conflito entre informações de diferentes esquemas. Os tipos de
conflitos que podem ocorrer são:
a. Conflito de nome:
Homônimos: quando há informações diferentes com o mesmo nome. Nesse caso deve-
se renomea-las para diferenciar.
b. Conflito estrutural:
Após realizada a eliminação dos conflitos de nomes, tem-se que dois conceitos de
diferentes esquemas com mesmo nome representam o mesmo conceito. Esses conceitos
com mesmo nome são agora comparados para verificar se podem ser fundidos num
único. Usa-se o seguinte procedimento:
esquema 1 esquema 2
título título
Livro Livro
nome_editora
Editora nome
esquema 1
esquema 2
nome
Pessoa nome
Pessoa sexo
Homem Mulher
Empregado Empregado
(1,1) (1,n)
(1,n) (1,n)
Projeto Projeto
Solicitado-por: relaciona artigos que foram enviados por autores, aos pesquisadores
que os solicitaram.
Tópico de_interesse
(1,n) Grupo_
Pertence nome
(1,n) (0,n)
(1,n) Pesquisa endereço
(0,n)
Autor Último-nome
(0,n) endereço Nome
(1,n) endereço
Editora
(1,n)
Escrito_por tem
(1,1)
(1,n)
Enviado- (0,n) título nome
Séries
por Publicação palavra-chave (1,n) editor
ano (1,n)
(0,n)
(1,n)
Pertence_a
Solicitado
-por Publ-de-
interesse (1,1)
número
de-interesse Livro título
(0,n) (1,n) (1,n) (1,n)
ano
ultimo-nome
(0,n) Pesquisador idade
estado-nasceu
(1,n) cód-tópico
Tópico nome
trata (1,n)
Referente-a
(1,n) (1,1)
Comprada-pelo (0,n)
(1,n)
(0,1) Artigo Último-nome
Título
autor (1,n) Publicação Título Pesquisador posição
estante grau
(0,1)
(0,1) (0,n) cidade-nasceu
Empresta
pertence
-rev dia-emprestimo
(0,n)
Revista Anais Livro
Publicado
(0,n) nome
(1,1) -por (0,n) Editora endereço
pertence Autor (1,n)
-anais
nome
Área_ de_interesse
(1,n) Grupo_
pesquisa Pertence nome
(1,n) (0,n)
(1,n) Pesquisa endereço
(0,n)
(1,n)
Autor Último-nome
(0,n) endereço Nome
(1,n) endereço
Editora
(1,n)
Escrito_por tem
(1,n)
A-T (1,1)
(1,n) nome
(1,n)
Enviado- (0,n) título nome
Séries
por Artigo editor
(0,n)
ano Tópico (1,n)
(1,n)
Pertence_a
Solicitado
-por Artigo-de-
interesse (1,1)
número
de-interesse Livro título
(0,n) (1,n) (1,n) (1,n)
ano
ultimo-nome
Pesquisador idade
(0,n) estado-nasceu
(1,n) cód-tópico
Tópico nome
trata (1,n)
Referente-a
(1,n) (1,n) (1,1)
Comprada-pelo (0,n)
(1,n)
Artigo Título Pesquisador Último-nome
Publicação Título posição
(0,1)
estante grau
(0,1)
(0,1) (0,n) cidade-nasceu
Empresta
pertence
-rev dia-emprestimo
(0,n)
Revista Anais Livro
Publicado
(0,n) nome
(1,1) -por (0,n) Editora endereço
pertence (1,n)
-anais nome
(0,n) (0,n)
escrito_ escreve-
por Autor livro
último-nome
título estante posição
Comprada-pelo (0,n) grau
(1,1) cidade-nasceu
(1,n)
Referente-a
Publicação Pesquisador estado-nasceu
idade
(0,n) (1,n)
(0,1)
(1,n) Empresta
dia-emprestimo (0,n)
Tópico cód-tópico
nome (1,n)
(1,n) de-
(1,1) interesse
Pertence_a Livro Anais Revista
número
(1,n) ano (1,1) (0,n) (0,n)
(1,n)
Série Publicado pertence
-por -anais
(1,1) nome editor
pertence
(0,n) -rev
de
Editora (0,1)
(0,1) artigo-de- (1,n)
(0,n) título
(0,n) interesse
ano Artigo
nome endereço
(0,n)
(1,n) Solicitad (0,n)
trata o-por
(1,n)
Meta: Aplicar transformações para reestruturar o esquema para produzir uma versão
melhor em termos das seguintes qualidades:
a. Ser completo
b. Ser correto
c. Ser mínimo
d. Ser expressivo e auto explicativo
e. Ser Legível
f. Estar normalizado
a. Ser completo
• esquema completo com relação aos requisitos: se todos os requisitos do domínio da
aplicação estiverem representados no esquema.
b. Ser correto
Um esquema é correto quando usa adequadamente os conceitos do modelo ER.
(1,n)
trabalha
(1,n)
Projeto código
gerente
nro_empregados
Um esquema é mínimo se não for possível eliminar qualquer conceito do esquema sem
perder informação.
Exemplo:
Professor
e. Ser legível
A
mudar para C A D
C B
B
transformações
Esquema E1 Esquema E2
a) Ciclos de Relacionamentos
Exemplo:
(1,1)
Empregado
(1,1)
- Trab-no é redundante?
trab-com
- Trab-com é redundante?
(1,n) Trab-no
- Dirige é redundante?
Diretor
(1,n)
Dirige
(1,1)
Departamento
(1,n)
b) Atributos Derivados
Atributos derivados podem ser omitidos de um esquema ER, porém podem ser
úteis para melhorar a eficiência do banco de dados.
Solução:
Empregado
Empregado
integração?
Especialista
Analista
em Computação
Analista
Membro
Ensino
Membro categoria
Ensino
Professor dá Seminário
ensina
Assistente
dá
Ensino
Melhorando a expressividade:
Membro Assistente
Docente ensina Atividade
Ensino
d) Criar um Subconjunto
nome nro
(0,1) (1,1)
tipo
Empregado dirige Carro_da_ nro_licença
Compainha ano
Transformar para:
nome nro
Empregado
(1,1) (1,1)
tipo
Motorista dirige Carro_da_ nro_licença
Compainha ano
2FN:
nro-ped nro-ped
nro-peça Pedido data
Pedido
custo
qtde
data (1,n)
qtde
P-P
dependências funcionais:
(1,n)
nro-ped, nro-peça à qtde
nro-peça à custo nro-peça
nro-ped à data Peça custo
nro-aluno nro-aluno
Aluno Aluno
prof
cursou cursou
média média
cod-disc cod-disc
Discip Discip prof
dependências funcionais:
nro-e Suposição:
nome
Empregado nro-depto Cada departamento pertence a uma
nome-depto só divisão e cada divisão tem um
nro-divisão gerente.
gerente
dependências funcionais:
nro-e
Empregado nome
Da
nro-divisão
Divisão gerente
verba
nome nro-e
nro-proj horas-trab
nome nro-e
horas-trab
(1,n)
nro_proj
Projeto verba
último-nome
título estante
posição
Comprada-pelo (0,n) grau
(1,1)
(1,n) idade
Referente-a
Publicação Pesquisador
(0,n) (1,1)
(0,1)
(1,n) Empresta
nasceu-
cód-tópico dia-emprestimo
Tópico nome (1,n) (1,n)
em
código de-interesse
(1,n)
ano
Trabalho_de_autoria (1,n)
trata
(1,n) Cidade-nasc
Publicação- Tipo-publ
Escrito_por
coletiva código nome estado
(1,n)
contém
(1,1)
número
ano título
Pertence_a Livro ano Artigo (0,n)
(1,1) (0,n)
(1,1)
(1,n) (1,n) Solicitado (0,n)
(0,n)
-por
Série Publicado
-por Enviado-
(1,1) nome editor por
(0,n)
de
Editora
(0,n)
nome endereço
(0,n)
(0,n)
nome
(1,n)
Autor Pertence Grupo_ endereço
(0,n) (1,n)
Pesquisa
Área- (1,n)
de_interesse
(1,n) Endereço
Pesquisa Último_nome
nome-area
Se vendedor, indicar:
região em que atua: ___________________
Porcentagem comissão:__________
01 EMPREGADO.
02 NRO-EMP PIC X(5).
02 SALÁRIO PIC 9(4).
02 ENDEREÇO PIC X(30).
02 COD-DEPTO PIC X(4).
02 SECRETÁRIA.
03 FORMAÇÃO PIC X(10).
01 DEPTO.
02 COD-DEPTO PIC X(4).
02 NOME-DEPTO PIC X(15).
02 LOCAL PIC X(10).
Ano Tipo Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
1993 Atacado
Varejo
1998 Atacado
Varejo
1999 Atacado
Varejo
2000 Atacado
Varejo
2001 Atacado
Varejo
Projeto lógico de banco de dados é a fase do projeto de um banco de dados que visa
desenvolver o esquema lógico do banco de dados, voltado para o modelo de dados a ser
adotado para sua implementação. Se for adotado o Modelo Relacional (como é o caso aqui
abordado), esta etapa irá gerar como resultado um esquema de banco de dados relacional,
que contemple, da melhor forma possível, as necessidades dos usuários. Esse esquema
lógico é gerado com base no esquema conceitual do banco de dados, que, por sua vez, foi
gerado durante a etapa de projeto conceitual. Cabe a esta etapa de projeto lógico realizar
transformações no esquema conceitual, visando torná-lo eficiente no atendimento às
consultas mais freqüentes e/ou mais críticas que serão realizadas sobre o banco de dados.
Assim, esta etapa está preocupada com o desempenho das operações a serem executadas no
banco de dados. Pode-se destacar duas tarefas a serem realizadas nesta etapa: Refinamento
do Esquema Conceitual e Mapeamento para o modelo de dados adotado.
A seguir são apresentadas essas tarefas, aonde o termo entidade é utilizado no lugar
de tipo de entidade, por questões de simplicidade de expressão. Pelo mesmo motivo
utiliza-se relação no lugar de esquema de relação.
Escolhe-se os atributos que são mais usados pelas operações que acessam a entidade
através do seu identificador, formando um grupo com esses atributos, juntamente
com o identificador. Esse grupo forma a sub-entidade principal.
Para cada grupo restante constrói-se uma sub-entidade, que é conectada à sub-entidade
principal através de um relacionamento 1:1. A sub-entidade principal identifica as
outras sub-entidades.
Fig. 3.1
nro-ped data
Dados_comissão_
comissão_total
Vendedor
taxa_comissão
(1,1)
é_do
(1,1)
nro-vendedor
(o,n) nome_vendedor
Vendedor
atende endereço
(1,1)
nro-cli
nome_cli (o,n) (1,1)
ender_cli faz
Pedido
Cliente
saldo
lim_cred
nro-ped data
Fig. 3.2
Se o número de acessos lógicos na primeira classe for maior que na segunda classe,
as entidades são fundidas em uma nova entidade que herda todos os atributos das
originais.
b. Demais entidades
As outras entidades restantes do esquema, após realizado o passo a anterior, são
mapeadas para relações correspondentes.
Mapeamento da entidade A:
c. Relacionamentos
• 1:1
Escolher uma das entidades (por ex. E1) que participam do relacionamento para
conter como chave estrangeira a chave primária da outra entidade (por ex.E2).
Aconselha-se escolher uma entidade com participação total no relacionamento para
fazer o papel de E1. Se houver atributos no relacionamento, inclui-los em E1.
• M:N
Criar uma nova relação para representar o relacionamento. Os atributos que irão
compor esta relação serão as chaves primárias das duas relações participantes do
relacionamento (estes irão formar a chave primária desta nova relação), juntamente
com os atributos do relacionamento.
Obs: O tratamento dado para relacionamentos N:M pode ser adotado para
relacionamentos 1:1 e 1:N quando existem poucas instâncias envolvidas no
relacionamento (isto é, quando se trata de relacionamento parcial).
ch
a1
a2
C ...
an
S1 S2 Sm
...
O mapeamento dessa hierarquia para esquemas de relação pode seguir uma das opções
abaixo:
ch1 ch2
C1 C2
Exemplo:
nro-al RG
Aluno Professor
nome nome
curso cargo
previsão_fim_curso
Assistente-
horas_disponíveis
Ensino
3.3.1.Categorização - mapeamento
Em algumas situações de modelagem, surge a necessidade de modelar um único
relacionamento de superclasse/subclasse, com mais que uma superclasse, onde as
superclasses representam diferentes tipos de entidade. Nesse caso chamamos a
subclasse uma categoria.
nome
RG
Pessoa Banco Companhia
ender
nro_cart_mot
id_veículo
fabricante ano id_veículo
estilo tonelagem ano
U
Carro Caminhão
Proprietário
(1,n)
U
Possui
nro_chassi data_compra
Veículo-
Registrado
(1,n)
Fig. 3.3 - Exemplo de Categorização
Cursos: tipo do curso, carga horária, data de início, data de final do curso;
Reuniões: número de inscritos, número de participantes, taxa cobrada, período;
Eventos: número de participantes, tipo do evento (congresso, simpósio, seminário,etc)
Serviços: receita envolvida (cobrada), tipo de serviço.
nome endereço
(1,n)
(1,n) RG
Companhia entrevista Candidato Nome
Fone
ender
data entrevistador
(0,n)
resulta-em
(0,n)
Trabalho tipo_trabalho
descrição
• Dado o número de um aluno, recupere o nome das disciplinas que ele está cursando
atualmente e os nomes dos professores que estão dando aula para esses alunos.
• Dado o nome de um departamento, recupere os nros dos alunos que são orientados
por professores, desse departamento, que atuam na área de pesquisa "Banco de
Dados".
• dado o RG de um professor, recupere o nome dos alunos que estão cursando suas
disciplinas.
nome
RG idade
pertence (1,n)
Depto
Pessoa
(1,1) fone
nomedepto
sexo estado-civil
Aluno nro-al Professor titulação (1,n)
(1,n) área-pesquisa
Aluno-
(0,n) (1,n)
graduado
(1,n) orienta
(1,n)
Cursa curso
Aprovado titulo-tese
Aluno- ano-ingresso
Doutorado
(1,n) (1,n)
Cod-disc
nome Disciplina ministra
(1,n)
Fig. 3.5
(1,n) nome_livr
frequenta endereço
Livraria
fone
(1,n) (1,n)
nome
RG Cliente vende
fone
(1,n) (1,n)
(0,n) cod_publ
compra nome_publ
Publicação
editora
Fig. 3.6
a1) Para diferentes projetos, uma peça pode possuir diferentes preços.
a2) Para diferentes projetos, uma peça pode possuir diferentes preços e para um
mesmo projeto, uma mesma peça pode ser usada em vários tamanhos distintos ,
possuindo preços diferentes dependendo do tamanho, porém o mesmo código.
a1 E1 R E2
a3
R R R a4
a2
SELECT a3, a4
FROM E1, R, E2
WHERE condição-a1 AND condição-a2 AND condições de junção
(0,n) (0,n)
cursa
nroal
nome Aluno Disciplina
cursou
(0,n) (0,n)
cod nome créditos
R
créditos
média
1. Selecionar os nomes dos alunos de mestrado que tiveram média inferior a 6.0
em pelo menos uma disciplina de 2 créditos”.
2. Selecionar os nomes das disciplinas que o aluno “João da Silva”cursou ou está
cursando.
Para o esquema da figura 3.10 faça os esquemas de navegação para as operações a seguir.
nascida
(1,1) (0,m)
RG
nome
profissão Pessoa
data-nasc mora Cidade
sexo
(0,1) nome_cônjuge (0,m) (0,m)
(p,e)
cod estado habitantes
nome
Homem Mulher
Casada
cart-reservista nome-solteira
Fig. 3.10
5. Selecionar os nomes dos físicos que moram na mesma cidade em que eles nasceram.
Num esquema, a informação sobre o volume dos dados pode ser representada conforme
nro-cli mostrado na Figura 5, aonde são
15.000 nome
fone(1,n)
definidos: o número médio estimado
Cliente endereço de instâncias das entidades; o
saldo-líquido
nro-de-contas número médio estimado de
limite-crédito
instâncias dos relacionamentos; e as
(1,n) média=2
cardinalidades médias de cada
30.000
mantém relacionamento, para cada instância
de entidade envolvida no
(1,3) média=1.5
relacionamento, definidas ao lado
20.000 nro-conta
Conta saldo-conta das cardinalidades mínima e máxima
dos relacionamentos. O esquema da
(1,n) média=40 Figura 5 representa um banco de
O1: Abrir uma conta para um novo cliente (ou clientes, no caso de conta
conjunta). Freqüência: 100 vezes ao dia.
O2: recuperar o saldo líquido de um cliente. Freqüência: 3000 vezes ao dia.
O3: Mostrar as últimas 10 transações de uma conta. Freqüência: 200 vezes ao dia.
O4: Retirar dinheiro de uma conta. Freqüência: 2000 vezes ao dia.
O5: Depositar dinheiro em uma conta. Freqüência: 1000 vezes ao dia.
O3
O4
O5
4.1. HEAP
• Tabela desordenada
• Inserção: rápida (linha adicionada no fim da tabela)
• Adequada para carregar inicialmente a base de dados
• Fator de preenchimento: 100%
• Não deve ser usada para grandes tabelas, a não ser que se crie índices
secundários
Select *
From employee
Where employee.age = 28 => busca sequencial!
• RESUMO:
. BATINI, C.; CERI, S. & NAVATHE, S.B. - Conceptual Database Design. The
Benjamin/Cummings Publishing Company, Inc., 470pp., 1992.