Professional Documents
Culture Documents
Julho de 2009
alvaro_pimentel@uol.com.br
Introduo
A importncia da informao para a tomada de decises nas organizaes tem impulsionado o desenvolvimento dos sistemas de processamento de informaes. A definio de informao pode ser dada, restringindo-se o seu conceito informtica, como um dado que possui unicidade, atomicidade e que j tenha sido tratado, de tal maneira que agregue significante e significado representando o objeto de origem, real ou abstrato. Vale lembrar que a Cincia da Informao possui uma definio mais abrangente de informao, mas para o estudo de bases de dados, neste nvel, essa mais restrita absolutamente satisfatria. Algumas ferramentas pertinentes ao tratamento da informao:
processadores de texto (editorao eletrnica), planilhas (clculos com tabelas de valores), Sistemas de Gerenciamento de Bancos de Dados - SGBD
1. Conceitos Bsicos
2.1 Bases de Dados
Uma base de dados pode ser definida como uma coleo de dados inter-relacionados representando informaes sobre um domnio especfico.
Exemplos: lista telefnica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa.
Julho de 2009
O sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrnica. Existe uma srie de mtodos, tcnicas e ferramentas que visam sistematizar o desenvolvimento de sistemas de bancos de dados.
alvaro_pimentel@uol.com.br
Vantagens:
rapidez na manipulao e no acesso informao, reduo do esforo humano (desenvolvimento e utilizao), disponibilizao da informao no tempo necessrio, controle integrado de informaes distribudas fisicamente, reduo de redundncia e de inconsistncia de informaes, compartilhamento de dados, aplicao automtica de restries de segurana, reduo de problemas de integridade
Programas
Bases de Dados
Usurio
Julho de 2009
alvaro_pimentel@uol.com.br
2. Abstrao de Dados
O sistema de bancos de dados deve prover uma viso abstrata de dados para os usurios. A abstrao se d em trs nveis: Nvel de viso dos usurios
Viso 1
Viso2
..........
Viso N
Conceitual
Nvel de Armazenamento
Fsico
descreve partes do banco de dados, de acordo com as necessidades de cada usurio, individualmente.
quais dados esto/sero armazenados e seus relacionamentos. Neste nvel, o banco de dados descrito atravs de estruturas relativamente simples, que podem envolver estruturas complexas no nvel fsico. mais baixo de abstrao. Descreve como os dados esto realmente armazenados, englobando estruturas complexas de baixo nvel.
3. Modelo de Dados
a representao grfica e textual de ESTRUTURAS, OPERADORES e das REGRAS, que definem os dados, assim como as restries de consistncia e integridade
Estruturas
So formadas de Regras (asseres que regulam o funcionamento da estrutura) e Operadores que so comandos que permitem a manipulao das estruturas segundo um comportamento estabelecido.
Anlise das regras de negcio o estudo de anlise dos dados, processos, objetos e
suas correlaes. Divide-se em:
Regras de derivao so condies colocadas sobre fatos e que podem gerar outros
fatos.
Ex.: Se um PEDIDO for efetuado at o dia X ele ser processado no ms seguinte.
Julho de 2009
alvaro_pimentel@uol.com.br
CLIENTE
POSSUI
CONTA
4.1.3.1
cd -cliente
nome
rua
cidade
Tabela Cliente-Conta
Julho de 2009
cd -cliente
alvaro_pimentel@uol.com.br
4.1.3.2
Alvaro
Laura Teles
Rio de Janeiro
900
55
Mrio
Laranjeiras
Rio de Janeiro
556
1000
647
5.366
Giselle
Ip
4.1.3.3
Julho de 2009
alvaro_pimentel@uol.com.br
Julho de 2009
alvaro_pimentel@uol.com.br
6.1 Usurios
Realizam operaes de manipulao de dados. programadores de aplicaes, usurios sofisticados, usurios especializados, usurios ingnuos.
6.2 Administrador
Pessoa (ou grupo) responsvel pelo controle do sistema de banco de dados. Administrador de Dados Administrador do SGBD
Julho de 2009
alvaro_pimentel@uol.com.br
7.2 Objetivo
Facilitar o projeto de bases de dados possibilitando a especificao da estrutura lgica geral do banco de dados
8 Entidades e Conjuntos-Entidade
A estrutura lgica geral de um banco de dados pode ser expressa graficamente por um Diagrama Entidade- Relacionamento
Julho de 2009
9 Atributos
So elementos de dados que contm as descries que possibilitam definir uma entidade.
Ex.:
Obs: Nenhum modelo suficientemente claro se no for acompanhado de uma definio formal dos elementos e isto feito atravs do Dicionrio de Dados. Ao se modelar deve-se sempre ter em mente que conceitos, aparentemente, triviais a quem est modelando podem no ser para outros profissionais. Assim, o dicionrio de dados tem o objetivo definir as qualificaes, compreender e unificar conceitos dos dados.
Multivalorado: assim definido quando uma nica entidade tem diversos valores para
este atributo. Quando est representado no plural facilmente identificado, porm, em email ou telefone, por estarem no singular, pode criar dvidas quanto qualificao.
Ex.: Dependentes
Julho de 2009
10 Relacionamentos
Chama-se de relacionamento a estrutura que indica a associao de elementos de duas ou mais entidades.
Entretanto, em alguns casos, necessrio que os atributos estejam inseridos em uma entidade de juno (ou associativa) para que o relacionamento fique mais bem definido. Neste caso, o atributo de relacionamento aquele que permite efetuar a associao dos conjuntos-entidade.
Julho de 2009
alvaro_pimentel@uol.com.br
11.2 Um-para-muitos:
um elemento em A est associado a qualquer nmero de elementos em B, enquanto uma ocorrncia em B est associada somente uma ocorrncia em A.
Julho de 2009
alvaro_pimentel@uol.com.br
12 Projeto de Chaves
Chave: um conjunto de um ou mais atributos que, tomados coletivamente, possibilita
identificar uma nica ocorrncia no na entidade Integridade de Entidade: Nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos.
Aspectos Relevantes
A questo fundamental do projeto de chaves reduzir ao mximo os efeitos de redundncia. A alterao dos valores de campos constituintes da chave primria ou a remoo de uma entidade de um conjunto- entidade pode ocasionar problemas de integridade referencial.
13 Auto-Relacionamento
Um auto-relacionamento acontece quando os elementos de uma entidade se relacionam com eles mesmos. Ou seja, um item de uma entidade se relaciona com outro item (ou com o mesmo) dessa mesma entidade. Apesar de parecer algo difcil de acontecer h casos, bem comuns, que identificam este tipo de relao. Por exemplo, uma ocorrncia da entidade Funcionrio, Gerencia e Gerenciada por si prpria. Assim se d, ainda, na classe Militar em que o Oficial um Soldado. Este auto-relacionamento tambm conhecido como RELACIONAMENTO RECURSIVO ou RECURSIVIDADE. Um fator importante a ser observado que as relaes entre os elementos pode ser 1:N ou N:N, e possui as mesmas caractersticas de um relacionamento binrio (relao entre duas entidades). O relacionamento recursivo deve ser, sempre, entendido e representado nos dois sentidos (EMPREGADO GERENCIA e GERENCIADO) A implementao de um auto-relacionamento, atravs de um SQL, feita da seguinte forma (considere que a tabela FUNCIONARIO pr-existente e o EMPREGADO foi promovido a GERENTE):
alter table FUNCIONARIO add constraint EMPR_EMPR_FK foreign key (GERENTE) references FUNCIONARIO (EMPREGADO);
Julho de 2009
alvaro_pimentel@uol.com.br
Conceitos e Aplicaes Bsicas para Modelagem de Dados Note que a constraint EMPR_EMPR_FK relaciona a coluna GERENTE como uma chave estrangeira (Foreign Key) da coluna EMPREGADO na tabela FUNCIONARIO1
Julho de 2009
14 Agregao
Uma limitao do MER no poder expressar relacionamentos entre relacionamentos. Agregao uma abstrao atravs da qual os relacionamentos so tratados como entidades de nvel superior. Abaixo se observa a existncia de dois relacionamentos distintos entre as
Apesar de parecer assustador, a soluo simples e possibilita uma leitura mais clara do novo diagrama que ser desenhado Aps a agregao, uma nova entidade (que pode ser rotulada/nomeada) representada contendo as entidades FUNCIONARIO-TRABALHA-PROJETO.
Com esta soluo, a limitao inicial de no poder relacionar TRABALHA e UTILIZA ficou facilmente resolvida. Julho de 2009
15 Generalizao Especializao
Existem casos em que uma entidade pode ser dividida em categorias, possuindo alm dos atributos comuns, alguns especficos para cada categoria. Por exemplo, considerando a entidade MDICO, pode-se atestar que todos os mdicos so, basicamente, clnicos gerais, mas cada um possui uma especialidade prpria como cardiologista, pneumologista, etc. A essa classificao (ou particionamento) d-se o nome de especializao, que nada mais do que a identificao de uma caracterstica prpria de objetos com propriedades similares.
Dentro deste modelo pode-se, ainda, considerar a existncia de outros tipos de especializao
Julho de 2009
16.2 No-Exclusiva
alvaro_pimentel@uol.com.br
16.3 Mltipla
NOTA: Todos os tipos de especializaes indicam que a entidade resultante herdar caractersticas da entidade origem. Desta maneira, ao resultado apresentado, diz-se que este possui uma HERANA, cujo conceito faz parte da ORIENTAO A OBJETO. Assim sendo, correto afirmar que, nos itens anteriores, h HERANA TOTAL, PARCIAL, NOEXCLUSIVA e MLTIPLA. Julho de 2009
N FUNCIONRIO
Uma entidade fraca no possui uma identidade prpria. Assim sendo, sua chave primria composta pela chave estrangeira proveniente da entidade origem concatenada a um identificador de si mesma (que pode repetir para diferentes instncias da entidade dona).
1 FUNCIONRIO CRIA N DEPENDENTES
Julho de 2009
alvaro_pimentel@uol.com.br
FORNECEDOR
FORNECE
PROJETO
PEA
CODPEA
FORNECEDOR
FORNECE
PROJETO
PODE FORNECER
PEA
USA
Julho de 2009
CODPEA
alvaro_pimentel@uol.com.br
PARTE 3
CORDFORN
QUANTIDADE
CODPROJ
FORNECEDOR
FORNECE
PROJETO
PEA
CODPEA
UM POUCO MAIS SOBRE CHAVES Uma chave chamada de primria (primary key pk) quando um atributo dado nico e obrigatrio em uma tabela. Por exemplo, tomando-se como base o CODFORN da tabela FORNECEDOR acima fcil observar que se trata de um atributo que representa um nico fornecedor, tal como o CGC. No caso de uma tabela PESSOA poderia ser o CPF, o RG ou a Carteira de Habilitao. Nota-se, ento, que a escolha de uma chave deve significar um atributo que no possua elementos que impossibilitem, ou minimizem erros de digitao. Portanto, no se deve escolher como chave atributos que contenham tamanhos variveis ou com formatos alfanumricos tal como nome, endereo ou descrio, por exemplo. Quando h a existncia de um relacionamento de uma entidade forte com uma fraca, obrigatoriamente a chave da tabela forte includa na fraca. Essa chave na tabela fraca chamada de chave estrangeira (foreign key fk) como ocorre nos relacionamentos um-para-muitos (1:N). Quando se trata, porm, de um relacionamento muitos-para-muitos (N:N) necessria a criao de uma tabela associativa que, neste caso, ser a entidade fraca. Assim, nesta nova entidade sero colocadas, como chaves estrangeiras (fk), as chaves primrias (pk) das tabelas de origem. A colocao de uma chave estrangeira sempre um indicativo de que uma entidade dependente de outra por uma razo qualquer. Os motivos que determinam a necessidade de criao de uma chave (quer seja pk ou fk) esto, na maioria das vezes, associados a regras de negcio identificadas no levantamento dos requisitos. Em outros casos so para resolver problemas de performance que so identificados aps a implementao das bases de dados ou dos sistemas. Portanto, as chaves sempre esto associadas a melhorias de acesso a base de dados.
Julho de 2009
alvaro_pimentel@uol.com.br
20 Normalizao3
O processo de normalizao pode ser visto como o processo no qual so eliminados esquemas de relaes (tabelas) no satisfatrios, decompondo-os, atravs da separao de seus atributos em esquemas de relaes menos complexas, mas que satisfaam as propriedades desejadas. Por que Normalizar ? 1) Minimizar de redundncias e inconsistncias; 2) Facilitar manipulaes do Banco de Dados; 3) Facilitar manuteno do Sistema de Informaes O processo de normalizao como foi proposto inicialmente por Codd conduz um esquema de relao atravs de uma bateria de testes para certificar se o mesmo est na 1, 2 e 3 Formas Normais. Para que se compreenda melhor suponha que haja uma entidade Funcionrios que armazene as informaes dos funcionrios de uma empresa e que o resultado fsico final seja a tabela mostrada abaixo.
Ao se observar a tabela v-se que ela sofre das seguintes anomalias: Anomalia de Excluso Se o funcionrio de cdigo igual a 3 for excludo, o Setor ser excludo tambm. Anomalia de Alterao Se o nome do Setor Suporte mudar para Apoio ser obrigatrio a alterao, deste nome, em todos os registros da tabela. Anomalia de Incluso Se um novo funcionrio for contratado para o Setor Suporte ser obrigatria a alterao da quantidade de funcionrios no campo QuantidadeFuncionarios em todas as ocorrncias que houver o setor de nome SUPORTE.
Para poder resolver o dilema acima necessrio NORMALIZAR a entidade. Para isto aplica-se as formas normais como ser estudado a seguir:
Julho de 2009
Os conceitos de Normalizao e Formas Normais foram baseados na literatura disponibilizada no endereo http://leitejr.files.wordpress.com/2008/09/modelagem.pdf
alvaro_pimentel@uol.com.br
No normalizada
Julho de 2009
alvaro_pimentel@uol.com.br
Considerando-se, agora, as entidades: Arquivo de Notas Fiscais (Num. NF, Srie, Cdigo do Cliente, Nome do cliente, Endereo do cliente, Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Descrio da Mercadoria, Quantidade vendida, Preo de venda e Total da venda) O resultado aps a aplicao da segunda forma normal (2FN) ser: Arquivo de Notas Fiscais (Num. NF, Srie, Cdigo do Cliente, Nome do cliente, Endereo do cliente, Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da Venda) Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda)
Como resultado nota-se um desdobramento do Arquivo de Vendas em duas estruturas Vendas e Mercadoria (o arquivo de Notas Fiscais, no foi alterado, por no possuir chave composta): Primeira estrutura (Arquivo de Vendas): Contm os elementos originais, sendo excludos os dados que so dependentes apenas do campo Cdigo da Mercadoria. Segunda estrutura (Arquivo de Mercadorias): Contm os elementos que so identificados apenas pelo Cdigo da Mercadoria, ou seja, independentemente da Nota Fiscal, a descrio e o preo de venda sero constantes.
Julho de 2009
alvaro_pimentel@uol.com.br
Estrutura na segunda forma normal (2FN): Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente, Nome do cliente, Endereo do cliente, Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda) Estrutura na terceira forma normal (3FN): Arquivo de Notas Fiscais (Num. NF, Srie, Data emisso, Cdigo do Cliente e Total Geral da Nota) Arquivo de Vendas (Num. NF, Cdigo da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) Arquivo de Mercadorias (Cdigo da Mercadoria, Descrio da Mercadoria, Preo de venda) Arquivo de Clientes (Cdigo do Cliente, Nome do cliente, Endereo do cliente) Julho de 2009 Pode-se perceber que ocorreu um desdobramento da tabela de Notas Fiscais, por ser a nica que possua campos que no eram dependentes da chave principal (Num. NF). Os elementos Nome e Endereo no se alteram independente do que ocorra com a Nota Fiscal.
alvaro_pimentel@uol.com.br
Julho de 2009
alvaro_pimentel@uol.com.br