You are on page 1of 26

Conceitos e Aplicaes Bsicas para Modelagem de Dados

Conceitos e Aplicaes Bsicas para Modelagem de Dados


Por Alvaro Caetano Pimentel Sobrinho

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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.

2.2 Sistemas de Gerenciamento de Bases de Dados SGBD


O SGBD, do ingls Database Management System DBMS um software com recursos especficos para facilitar a manipulao das informaes dos bancos de dados e o desenvolvimento de programas aplicativos. Alm disso permite o armazenamento de grandes volumes de dados, estruturados em registros e tabelas, com recursos para acesso e processamento das informaes. Exemplos: Oracle, MySQL, SQL Server, InterBase, Ingres, Paradox*, Access*, DBase*. * Desktop Database Management Systems

2.3 Sistemas de Bases de Dados


um sistema de manuteno de registros por computador, envolvendo quatro componentes principais:
dados, hardware, software e usurios.

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

Conceitos e Aplicaes Bsicas para Modelagem de Dados

2.4 Objetivos de um Sistema de Bases de Dados


Isolar os usurios dos detalhes mais internos do banco de dados (abstrao de dados). Prover independncia de dados s aplicaes (estrutura fsica de armazenamento e estratgia de acesso).

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

2.5 Componentes de um Sistema de Bases de Dados SGBD

Programas

Bases de Dados

Usurio

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

Nvel do conjunto de usurios

Conceitual

Nvel de Armazenamento

Fsico

Nvel de vises do usurio:

descreve partes do banco de dados, de acordo com as necessidades de cada usurio, individualmente.

Nvel Conceitual/Lgico: descreve Nvel Fsico: nvel

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.

4.1 Modelo Conceitual/Lgico de Dados (CDM/LDM)


Julho de 2009
uma atividade desenvolvida em fases variadas do processo metodolgico de desenvolvimento de sistemas, com a finalidade de levantar informaes (REQUISITOS FUNCIONAIS) para a obteno do modelo de dados.

4.1.1 Obteno de um Modelo de Dados


Decomposio funcional; Anlise de eventos; Anlise das regras de negcio
alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

Decomposio funcional (Anlise da hierarquia de Funes-Processos-Atividades)


Identificao de entidades externas ou de depsitos de dados relacionados a cada processo que sugere entidades de dados que iro compor o modelo (conceito de EVENTO trazido pela Anlise Essencial)

Anlise de eventos so fatos que provocam estmulos para os quais os sistemas


devero conter processos de reposta.

Anlise das regras de negcio o estudo de anlise dos dados, processos, objetos e
suas correlaes. Divide-se em:

Fatos assero que estabelece que um objeto possua determinadas propriedades ou


desempenha determinado papel.
Ex.: CLIENTE emite FATURA CLIENTE possui endereo CX-INFO atua em New York (sujeito verbo objeto)

Restries so limitaes colocadas aos fatos para a diminuio de ocorrncias vlidas


naquele universo
Ex.: Um PEDIDO deve ser colocado para um CLIENTE cadastrado

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.

Entidade Representao abstrata de um objeto do mundo real (PESSOAS LUGARES


COISAS), e podem ser identificadas, por similaridade, com anlise sinttica nas linguagens naturais: Retngulo Cj-Entidade (sujeito / objeto da sentena) Elipse Atributo (adjetivo) Losango Cj-Relacionamento (verbo) Linha Entidade com Relacionamento e Atributo a Entidade (advrbios e adjuntos)

Conjunto-Entidade Grupo de entidades que possuem caractersticas semelhantes


Ex.: Conjunto-entidade FORNECEDOR

Relacionamento Estrutura que indica a associao de elementos de duas ou mais


entidades.

Atributos de relacionamento Depende de todos os conjuntos-entidade associados


entre si.

Cardinalidade Restries de Mapeamento


Um-para-um (1:1): Entidade em A associada a uma, e somente uma, entidade em B Um-para-muitos (1:N): Entidade em A associada a qualquer n de entidades em B Muitos-para-muitos (N:N): Entidade em A associada a qualquer n de entidades em B e vice-versa.

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

4.1.2 Modelo de Dados Baseado em Objetos


Define a descrio dos dados nos nveis conceitual/lgico e de vises de usurios. No modelo orientado a objetos o cdigo executvel parte integrante do modelo de dados.
Ex.: Entidade-Relacionamento. rua nome cidade nmero saldo

CLIENTE

POSSUI

CONTA

4.1.3 Modelo de Dados Baseado em Registros


Define a descrio dos dados nos nveis conceitual/lgico e de vises de usurios; O banco de dados estruturado em registros de formatos fixos, de diversos tipos; Cada tipo de registro tem sua coleo de atributos; H linguagens especficas para expressar consultas e atualizaes no banco de dados.
Ex.: Modelo Relacional, Modelo Hierrquico.

4.1.3.1

Modelo de Dados Relacional


No Modelo Relacional, dados e relacionamentos entre dados so representados por tabelas, cada uma com suas colunas especficas. Tanto os dados quanto os relacionamentos so representados por tabelas. Prescinde de estruturas de ndice eficientes e hardware adequado para alcanar desempenho vivel em situaes prticas.
Ex.: Modelo Relacional Tabela Cliente

cd -cliente

nome

rua

cidade

015 021 037


Tabela Conta

Alvaro Mrio Giselle

Laura Teles Laranjeiras Ip

Rio de Janeiro Rio de Janeiro Campos do Jordo

Tabela Cliente-Conta

Julho de 2009

nro-conta 900 556 647 801

saldo 55 1.000 5.366 10.533

cd -cliente

015 021 021 037 037

nro-conta 900 556 647 801 647

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

4.1.3.2

Modelo de Dados em Rede


Os dados so representados por colees de registros e os relacionamentos por elos.

Alvaro

Laura Teles

Rio de Janeiro

900

55

Mrio

Laranjeiras

Rio de Janeiro

556

1000

647

5.366

Giselle

Ip

Campos do Jordo 801 10.533

4.1.3.3

Modelo de Dados Hierrquico


Os dados e relacionamentos so representados por registros e ligaes, respectivamente. Os registros so organizados como colees arbitrrias de rvores.

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

5 Definio e Manipulao de Dados


Os bancos de dados possuem uma estrutura que armazena as informaes pertinentes a tabelas, views, registros, definies de dados e atributos. Apesar de possurem nomes ou identificaes diferentes, todo SGBD possui um esquema e um subesquema.

Esquema do Banco de Dados


O esquema armazena o projeto geral (estrutura) do banco de dados e possui as seguintes caractersticas: no muda com freqncia; h um esquema para cada nvel de abstrao e um subesquema para cada viso de usurio. A construo de um esquema acontece atravs de uma linguagem apropriada para a transformao de um modelo conceitual/lgico em um modelo fsico. A transcrio ocorre por meio de uma ferramenta CASE Computer Aided Software Engineer (algo como: linguagem de construo para auxiliar computao). Esta linguagem conhecida como DDL Data Definition Language.

5.1 DDL Linguagem de Definio de Dados


Permite especificar o esquema do banco de dados, atravs de um conjunto de definies de dados. A compilao dos comandos em DDL armazenada no dicionrio (ou diretrio) de dados. Neste ponto so criados os metadados que iro compor o esquema do projeto que estivem em transcrio. Obs.: Metadados, por definio, so dados que definem outros dados. Assim os comandos compilados so metadados dos comandos originais.

5.2 DML Linguagem de Manipulao de dados


A manipulao dos dados em uma base acontece atravs de: recuperao da informao armazenada, insero de novas informaes, excluso de informaes, modificao de dados armazenados. Para que os eventos acima sejam possveis necessrio utilizar uma linguagem apropriada para interagir com a base de tal maneira que, atravs da leitura do esquema, consiga entender o dado e a sua posio na tabela. Esta linguagem conhecida como DML Data Manipulation Language Linguagem e Manipulao de Dados que permite ao usurio acessar ou manipular os dados, vendo-os da forma como foram definidos no nvel de abstrao mais alto do modelo de dados utilizado. O processo de interao no DBMS feito atravs de um conjunto de procedimentos chamado de QUERY. Portanto, uma consulta (query) um conjunto de comandos que requisitam uma recuperao de informao na base de dados. Por essa razo, a parte de uma DML que envolve recuperao de informao chamada linguagem de consulta.

5.3 DLL Biblioteca de Comunicao Dinmica


As queries podem ser construdas diretamente no DBMS, ou podem fazer uso de uma linguagem de alto nvel (orientada a objeto ou no) para efetuar a interao com a base de dados. Neste caso, alguns programas fazem uso de uma DLL Dynamic Link Library Biblioteca de Comunicao Dinmica, que instalada no computador, e nada mais do que cdigos que vrios aplicativos compartilham e possibilita significativa reduo de memria do computador..

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

6 Funes em Sistemas de Bancos de Dados


Dentre as inmeras funes humanas em relao ao uso de uma base de dados duas se destacam na interao com as bases.

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

6.2.1Administrao de Dados (AD)


definio e atualizao do esquema do banco de dados. definio dos atributos e elementos de dados definio do CDM

6.2.2 Administrador de Bases de Dados (ABD)


definio da estrutura de armazenamento e a estratgia (ou mtodo) de acesso, concesso de autorizao para acesso a dados, definio de controles de integridade, definio de estratgias para cpia de segurana e recuperao, monitoramento do desempenho, execuo de rotinas de desempenho, modificao da organizao fsica.

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

7 Modelo Entidade Relacionamento (MER)


7.1 Definio
Modelo baseado na percepo do mundo real, que consiste em um conjunto de objetos, bsicos chamados entidades, e nos relacionamentos entre esses objetos. Entidade: uma representao abstrata de um objeto do mundo real.
Ex.: O fornecedor Pedro, com cdigo F1

7.2 Objetivo
Facilitar o projeto de bases de dados possibilitando a especificao da estrutura lgica geral do banco de dados

7.3 Fases do Projeto de Bases de Dados


7.3.1 CDM Conceptual Data Model
Representa o modelo de dados conceitual (2 nvel de abstrao) que ser expresso atravs de um Diagrama Entidade-Relacionamento. Normalmente desenvolvido dentro de uma ferramenta CASE (ERWIN, MySQL Workbench, Power Designer, Rose, etc.)

7.3.2 LDM Logical Data Model


O modelo de dados lgico a construo lgica das entidades, atributos e seus relacionamentos. Neste ponto surge a identificao da DDL que vai servir para a implementao fsica do modelo. A construo da DDL ser automtica, se o modelo estiver construdo em uma ferramenta CASE. Em alguns SGBDs, tal como o DB2 em computadores de grande porte, a gerao da DDL construda manualmente por meio de utilitrio prprio.

7.3.3 PDM Physical Data Model


Ao se executar a DDL gerada no LDM, o SGBD cria fisicamente o modelo lgico elaborado do CDM. Essa construo identificada como modelo de dados Fsico

8 Entidades e Conjuntos-Entidade
A estrutura lgica geral de um banco de dados pode ser expressa graficamente por um Diagrama Entidade- Relacionamento

8.1 Componentes do Diagrama E-R (Peter Chen):


Retngulos: representam conjuntos-entidade Elipses: representam atributos e quando esto em negrito, significam chave primria
primary key (pk) ou chave estrangeira foreign key (fk) Losangos: representam conjuntos-relacionamento Tringulos: representam especializaes ou generalizaes de uma entidade Linhas: ligam atributos a conjuntos-entidade e conjuntos-entidade a conjuntosrelacionamento

Julho de 2009

CODFORN foi escolhida como PK porque s h um cdigo para identificar o fornecedor


alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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.

9.1 Domnio de um Atributo


Os atributos devem ser divididos em grupos de tal maneira que possibilite, j durante a sua definio, identificar fatores que vo auxiliar na definio da base de dados e no desenvolvimento das aplicaes. Tomando como base o exemplo acima, foram definidos, a seguir, alguns grupos que permitem identificar os atributos:

Monovalorado: cada elemento do conjunto-entidade s pode possuir um nico valor.


Ex.: Nome

Composto: diz-se do atributo que formado por um ou mais sub-atributos.


Ex.: Endereo

No exemplo, poder-se-ia, ainda, dividir o endereo em complemento, comercial e


residencial.

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

Determinante: identifica cada entidade de um conjunto-entidade (tambm conhecido


com atributo chave: matrcula, cpf, cnpj)
Ex.: Cod-Func

Domnio: refere-se a um conjunto de valores permitidos para o atributo como:


Ex.: Sexo {M, F} Estado civil {CASADO, SOLTEIRO, DIVORCIADO, VIVO, DESQUITADO}
alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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.

11 Restries de Mapeamento (Cardinalidade)


Os relacionamentos entre as entidades de um MER podem ser limitados atravs de valores mnimos e mximos que pode haver entre elas. Este limite chamado de cardinalidade que um nmero que expressa o nmero de ocorrncias de determinada entidade em relao outra. A cardinalidade mxima, exprime o nmero mximo de ocorrncias que uma entidade pode assumir ao se relacionar com outra. A cardinalidade mnima, determina o menor valor possvel que pode haver no relacionamento das entidades. As possibilidades de relacionamentos podem ser infinitas, uma vez que os valores mximos e mnimos so expressos atravs de nmeros cardinais. Porm, existem padres que abrangem grande parte desses limites e so conhecidos como:

11.1 Um-para-um: um elemento de A est associado a somente um elemento da entidade


B. Da mesma forma, uma ocorrncia de B pode se associar a somente uma ocorrncia em A

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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.

11.3 Muitos-para-muitos: Um elemento em A est associado a qualquer nmero de


elementos em B, e um elemento em B est associado a qualquer nmero de elementos em A.

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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.

Entidade Fornecedor: COD-FORN Entidade Produto: CODPROD Relacionamento Pedido:COD-FORN e CODPROD

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

Esta definio foi inserida no endereo http://pt.wikipedia.org/wiki/Auto-relacionamento


alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

entidades FUNCIONARIO e PROJETO.

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

Imagens das bruxas disponvel em: http://www.fotosearch.com.br/fotos-imagens/bruxas.html


alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

16.1 Total e Parcial

Julho de 2009

16.2 No-Exclusiva

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

16 Dependncia Existencial e Entidades Fracas


A dependncia existencial ocorre quando a existncia de uma determinada entidade est condicionada existncia da outra entidade relacionada a ela.
1 DEPARTAMENTO CONTRATA
alvaro_pimentel@uol.com.br

N FUNCIONRIO

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

Conceitos e Aplicaes Bsicas para Modelagem de Dados

17 Relacionamentos de Grau Superior a 2


PARTE 1
CORDFORN QUANTIDADE CODPROJ

FORNECEDOR

FORNECE

PROJETO

PEA

CODPEA

Relacionamentos de Grau Superior a 2 (cont)


PARTE 2
CORDFORN QUANTIDADE CODPROJ

FORNECEDOR

FORNECE

PROJETO

PODE FORNECER

PEA

USA

Julho de 2009

CODPEA

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

Conceitos e Aplicaes Bsicas para Modelagem de Dados

20.1 Primeira Forma Normal (1FN)


Uma relao est na 1FN se todos os domnios bsicos contiverem valores nicos (no contiver grupos repetitivos). Para atingir esta forma normal necessrio eliminar as redundncias da base (tautologia) e os grupos de repetio. Isso significa dizer que todos os atributos de uma tabela devem ser atmicos (indivisveis), ou seja, no so permitidos atributos multivalorados, atributos compostos ou, ainda, atributos multivalorados compostos. a) Identificar qual elemento , potencialmente, a chave primria da entidade; b) Identificar o grupo repetitivo e exclu-lo da entidade; c) Criar uma nova entidade com a chave primria da entidade anterior e o grupo repetitivo. A chave primria da nova entidade ser obtida pela concatenao da chave primria da entidade inicial e a do grupo repetitivo.
Ex.

No normalizada

Normalizada usando a primeira forma normal (1FN)

20.2 Segunda Forma Normal (2FN)


Uma relao R est na 2FN se, e somente se, ela estiver na 1FN e todos os atributos no-chave forem totalmente dependentes da chave primria. a) Aplica-se conceito da dependncia funcional para identificar os atributos que no so funcionalmente dependentes de toda a chave primria. b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. A dependncia funcional X Y total se a remoo de um atributo A do componente X, implica que a dependncia funcional deixa de existir. A dependncia funcional X Y parcial se existir um atributo A no componente X que pode ser removido e a dependncia no deixa de existir.

Julho de 2009

alvaro_pimentel@uol.com.br

Conceitos e Aplicaes Bsicas para Modelagem de Dados

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

Conceitos e Aplicaes Bsicas para Modelagem de Dados

20.3 Terceira Forma Normal (3FN).


Uma relao R est na 3FN se estiver na 2FN e se no houver dependncia transitiva entre atributos no chave. Em outras palavras, se cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primria ou se todos os seus atributos no chave forem independentes entre si. a) Aplica-se conceito da dependncia transitiva para identificar todos os atributos que so funcionalmente dependentes de outros atributos no chave; b) Remov-los e criar uma nova entidade com os mesmos. A dependncia funcional X Y em uma tabela T transitiva se existir um conjunto de atributos Z que no um subconjunto de chaves de T e cujas dependncias X Z, Z Y, so vlidas.

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

Conceitos e Aplicaes Bsicas para Modelagem de Dados

Julho de 2009

alvaro_pimentel@uol.com.br

You might also like