Exercicio_Normalizacao

  • Upload
    7s

  • View
    33

  • Download
    1

Embed Size (px)

Citation preview

Exerccio de Normalizao Escola Secundria de Emdio Navarro 2002/2003 Aplicaes Informticas 11 ano

Neste exerccio prope-se realizar a informatizao de uma livraria. Assim, o primeiro passo a realizar ser comearmos por definir as entidades que poderemos encontrar na livraria: Livros Fornecedores Clientes Compras Encomendas de clientes Encomendas de fornecedores

De seguida definimos os atributos de cada entidade: Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, LinguasDisponiveis, Preco) Fornecedores(Nome, Morada, CodPostal, Localidade, AutoresFornecidos, Telefone, Fax, eMail, NumContrib) Clientes(Nome, Morada, CodPostal, Localidade, NumContrib) Compras(NomeCliente, NomeLivro, Data) EncClientes(NomeCliente, NomeLivro, Data) EncFornecedores(NomeFornecedor, NomeLivro, Quantid, Data)

Em relao aos atributos, definimos agora os domnios dos dados: Livros o o o o o o o o o ISBN Texto (visto o cdigo ISBN ser tipo 972-0-43411-2) Nome Texto Autor Texto Editora Texto Ano Nmero NumPaginas Nmero Edicao Nmero Tema Texto Preo Moeda

Pg. 1

Exerccio de Normalizao Escola Secundria de Emdio Navarro 2002/2003 Aplicaes Informticas 11 ano

Fornecedores o o o o o o o o o Nome Texto Morada Texto CodPostal Texto (visto o Cdigo Postal ser do tipo 3500-907) Localidade Texto AutoresFornecidos Texto Telefone Texto Fax Texto eMail Texto NumContrib Texto

Clientes o o o o o Nome Texto Morada Texto CodPostal Texto Localidade Texto NumContrib Texto

Compras o o o NomeCliente Texto NomeLivro Texto Data Data

EncClientes o o o NomeCliente Texto NomeLivro Texto Data Data

EncFornecedores o o o o NomeFornecedor Texto NomeLivro Texto Quantid Nmero Data Data

Pg. 2

Exerccio de Normalizao Escola Secundria de Emdio Navarro 2002/2003 Aplicaes Informticas 11 ano

Depois dos domnios definidos, podemos passar definio das chaves primrias das entidades: Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, LinguasDisponiveis, Preco) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Localidade, AutoresFornecidos, Telefone, Fax, eMail, NumContrib) Clientes(CodCliente, Nome, Morada, CodPostal, Localidade, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data) Para facilitar a identificao foram introduzidos como chave CodFornecedor na entidade Fornecedor, CodCliente na entidade Clientes e substitudos os nomes nas entidades Compras, EncClientes e EncFornecedores, por ISBN, CodCliente e CodFornecedor, respectivamente. Poderamos dizer que as nossas entidades poderiam ser neste momento transformadas em tabelas e inseridas num S. G. B. D. como o Microsoft Access, mas o trabalho no seria correcto sem, primeiro, estas passarem por um processo de normalizao.

1 Forma Normal Tal como j foi visto, a primeira forma normal refere-se aos atributos das tabelas. Assim, todos os atributos tm que estar definidos em domnios que contm apenas valores atmicos e no pode haver conjuntos de atributos repetidos para um determinado gnero de caracterstica. Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, LinguasDisponiveis, Preco) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Localidade, AutoresFornecidos, Telefone, Fax, eMail, NumContrib) Clientes(CodCliente, Nome, Morada, CodPostal, Localidade, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data)O campo LinguasDisponiveis contm valores no atmicos, visto ter que armazenar mais do que uma lngua por livro. O campo AutoresFornecidos contm valores no atmicos, visto ter que armazenar mais do que um nome um autor. Pg. 3

Exerccio de Normalizao Escola Secundria de Emdio Navarro 2002/2003 Aplicaes Informticas 11 ano

A soluo a implementar nestas situaes converter estes atributos no atmicos em atributos atmicos. Assim, Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, LinguaDisponivel1, LinguaDisponivel2, LinguaDisponivel3, LinguaDisponivel4, LinguaDisponivel5, Preco) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Localidade, AutorFornecido1, AutorFornecido2, AutorFornecido3, AutorFornecido4, AutorFornecido5, Telefone, Fax, eMail, NumContrib) Clientes(CodCliente, Nome, Morada, CodPostal, Localidade, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data)Ambas as entidades passaram a ter atributos que suportam o mesmo gnero de caracterstica.

Neste momento passamos a ter um segundo problema a impedir que as duas entidades estejam j na 1FN. Este problema pode ser resolvido da seguinte forma: Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, Preco) Lnguas(ISBN, CodLingua, Descricao) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Localidade, Telefone, Fax, eMail, NumContrib) Autores(CodFornecedor, CodAutor, NomeAutor) Clientes(CodCliente, Nome, Morada, CodPostal, Localidade, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data) A nossa base de dados est agora na 1FN! Neste momento estamos em condies de passar

2 Forma Normal A 2FN diz que todos os atributos no chave devem depender funcionalmente da chave na sua totalidade. Assim, analisando a 1FN, chegamos concluso que temos trs situaes que no obedecem a esta regra:Pg. 4

Exerccio de Normalizao Escola Secundria de Emdio Navarro 2002/2003 Aplicaes Informticas 11 ano

Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, Preco) Lnguas(ISBN, CodLingua, Descricao) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Localidade, Telefone, Fax, eMail, NumContrib) Autores(CodFornecedor, CodAutor, NomeAutor) Clientes(CodCliente, Nome, Morada, CodPostal, Localidade, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data) As entidades depois de normalizadas ficariam da seguinte forma: Livros(ISBN, Nome, Autor, CodEditora, Ano, NumPaginas, Edicao, CodTema, Preco) LivrosLinguas(ISBN, CodLingua) Lnguas(CodLingua, Descricao) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Localidade, Telefone, Fax, eMail, NumContrib) ForneceAutores(CodFornecedor, CodAutor) Autores(CodAutor, NomeAutor) Clientes(CodCliente, Nome, Morada, CodPostal, Localidade, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data) Editoras(CodEditora, Editora) Temas(CodTema, Tema) As entidades obedecem agora 2FN. Para terminar vamos analisar as entidades de forma a verificar se obedecem s regras daOs atributos no dependem da chave na sua totalidade

3 Forma Normal Nenhum atributo no-chave depende funcionalmente de nenhum outro atributo no chave. Ao verificarmos as nossas entidades encontramos um atributo que no obedece a esta regra: Localidade, que depende do atributo no-chave CodPostal.

Pg. 5

Exerccio de Normalizao Escola Secundria de Emdio Navarro 2002/2003 Aplicaes Informticas 11 ano

A soluo a implementar ser: Livros(ISBN, Nome, Autor, Editora, Ano, NumPaginas, Edicao, Tema, Preco) LivrosLinguas(ISBN, CodLingua) Lnguas(CodLingua, Descricao) Fornecedores(CodFornecedor, Nome, Morada, CodPostal, Telefone, Fax, eMail, NumContrib) ForneceAutores(CodFornecedor, CodAutor) Autores(CodAutor, NomeAutor) Clientes(CodCliente, Nome, Morada, CodPostal, NumContrib) Compras(CodCliente, ISBN, Data) EncClientes(CodCliente, ISBN, Data) EncFornecedores(CodFornecedor, ISBN, Quantid, Data) Editoras(CodEditora, Editora) Temas(CodTema, Tema) CodigosPostais(CodPostal, Localidade) Passamos neste momento a ter o atributo CodPostal como chave externa nas entidades Fornecedores e Clientes. Agora sim, podemos considerar a nossa B. D. normalizada e pronta a ser inserida no S. G. B. D.. de notar que passmos de uma anlise inicial com 6 entidades, para terminarmos com 12!

E relaes? E respectivos diagramas E-R? Est na altura de tu trabalhares!... A entregar: Diagramas E-R para as tabelas j normalizadas na 3FN.

Pg. 6