Vous êtes sur la page 1sur 5

GABARITO - CAPÍTULO 1 - MODELAGEM DE

DADOS

Oracle DBA Essencial Vol.1 SQL 1


EXERCÍCIOS
1) Por que vale a pena criar Projetos Conceitual e Lógico, antes do Físico?
Basicamente criamos projetos anteriores ao Físico para
abstrair detalhes técnicos que atrapalham no entendimento do
modelo. Uma analogia: o trabalho que arquitetos fazem ao
criar modelos representando estruturas que ainda serão
construídas.

2) Suponha que desejássemos estender o Projeto Conceitual discutido


neste capítulo.

a) Caso quiséssemos representar também o controle de aquisição de


novos filmes para locação, qual(is) entidades deveriam ser
acrescentadas?
Deveríamos representar os fornecedores dos quais filmes
seriam comprados. Então acrescentaríamos uma nova entidade
denominada FORNECEDOR.

b) Como a(s) nova(s) entidades seriam relacionadas com as presentes?


A nova entidade seria relacionada com FILME utilizando uma
cardinalidade 1 para muitos, assumindo que um filme somente
seria vendido por apenas um fornecedor.

c) Detalhe a(s) entidade(s) mencionadas no item anterior especificando


seu(s) atributos.
seria acrescentada uma nova entidade denominada FORNECEDOR:

Atributo Tipo/Observações
Nome Texto
Endereço Texto
Cidade Texto
UF Texto

2 www.eduardomorelli.com
3) Realize as alterações necessárias no projeto lógico para que sejam
refletidas as alterações realizadas no Projeto Conceitual.
A nova tabela estaria assim representada:

Coluna Tipo/Tamanho Restrições


Cod_Fornecedor Número Chave primária
Nome Texto (100) Obrigatório
Endereço Texto (100)
Cidade Texto (100)
UF Texto (2) Somente UFs
válidas
Vale frisar que deveríamos acrescentar o campo Cod_Fornecedor
à tabela de filmes, atuando como chave estrangeira.

4) Normalize a tabela de clientes para que não exista redundância de


cidades, nem unidades da federação.
O mesmo problema teríamos na tabela de fornecedores, recém
criada. Deveríamos elaborar mais duas tabelas:

UF: UF, Nome

Cidade: Cod_Cidade, Nome, UF

UF na tabela de cidades seria uma chave estrangeira apontando


para a tabela de unidades da federação (UF). Na tabela de
clientes (e fornecedores!), os campos UF e Cidade seriam
substituídos por Cod_cidade (chave estrangeira apontando para
a tabela de cidades).

5) Assinale abaixo o(s) sinônimo(s) para tupla:

a) Registro

b) Campo

c) Coluna

d) Linha

e) Tabela

6) Diferencie chave primária de estrangeira.

Oracle DBA Essencial Vol.1 SQL 3


Chave Primária somente há uma por tabela, enquanto podem
haver várias Chaves Estrangeiras. Ambas desempenham
importante papel no relacionamento entre duas tabelas; a
Chave primária situa-se na tabela primária (lado “1” do
relacionamento). A Chave estrangeira situa-se na tabela
relacionada (lado “N” do relacionamento).

7) Quais riscos oferece um banco de dados não íntegro? Por exemplo,


imagine ser possível a presença de valores duplicados para chaves
primárias, ou valores em chaves estrangeiras sem contra-partida na
tabela primária.
O Banco não íntegro não é confiável. Suponha uma tabela
denominada DEPTO possuindo apenas dois campos, COD_DEPTO e
DESCRICAO. Caso existissem valores duplicados em COD_DEPTO,
ao realizar o relacionamento com uma tabela relacionada,
teríamos duas possíveis descrições para o mesmo valor de uma
chave estrangeira.

Caso tivéssemos linhas órfãs, o relacionamento não mostraria


uma descrição válida, pois esta simplesmente não existiria.

8) Em qual etapa tem-se uma preocupação mais acentuada com


características inerentes a bancos de dados Oracle? No Projeto
Conceitual? Lógico? Ou Físico? Justifique sua resposta.
Projeto Físico. É nesta etapa onde escolhemos as
características finais de nossos dados, tais como tipos,
restrições, localizações, etc. Por exemplo, o fato de um
determinado campo denominado TELEFONE ser do tipo VARCHAR2,
possuir tamanho 20 e não ser mandatório constituem típicas
decisões tomadas no Projeto Físico.

9) Em quais circunstâncias utilizaríamos prefixos para nomes de tabelas?


Em bancos de dados possuindo tabelas utilizadas por
diferentes sistemas, resulta muito útil identificar em qual
módulo cada tabela pertenceria. Por exemplo, toda tabela cujo
prefixo fosse CTB pertenceria ao módulo de contabilidade.

10) Pesquise por sua conta. Descubra o que significam e trace diferenças
entre os termos abaixo:

a) SQL-89

4 www.eduardomorelli.com
b) SQL-92

c) SQL-99

d) SQL-2003

O site: http://en.wikipedia.org/wiki/SQL apresenta um


belíssimo resumo da linguagem. Temos apontamentos para
diversos “dialetos”:

http://en.wikipedia.org/wiki/SQL-92

http://en.wikipedia.org/wiki/SQL:1999

e http://en.wikipedia.org/wiki/SQL:2003

Oracle DBA Essencial Vol.1 SQL 5

Vous aimerez peut-être aussi