You are on page 1of 33

BANCO DE DADOS Uma Definio

um conjunto de dados, relativos a um determinado ambiente, por exemplo, um empresa de fornecimento de energia eltrica, armazenados em um ou vrios computadores e que guardam entre si algum relacionamento.

Exemplo
Banco de Dados de Recursos Humanos de uma empresa; Banco de Dados de Aplicaes Financeiras; Banco de Dados de uma empresa de energia eltrica.

Base de Dados
o conjunto de todos os dados de um determinado ambiente, estejam eles armazenados em computador ou no.

Exemplo
Banco de Dados de Recursos Humanos + as correspondncias expedidas e recebidas, pela empresa, e que esto guardadas nos armrios de cada departamento.

Sistema Gerenciador de Bancos de Dados (SGBD)


constitudo por um conjunto de dados inter-relacionados e um conjunto de programas para acess-los. Sua caracterstica principal prover uma maneira adequada de recuperao e armazenamento de dados, no Banco de Dados. Regra geral, um SGBD projetado para gerenciar grandes volumes de dados.

Caractersticas de um SGBD
Gerenciar grandes volumes de dados Facilitar a eliminao de redundncia e inconsistncia de dados Facilitar o armazenamento e acesso aos dados Garantir o acesso a vrios usurios ao mesmo tempo Garantir a segurana dos dados (Por exemplo, garantir a recuperao dos dados caso haja danificao do meio onde esto armazenados. Garantir segurana de acesso). Garantir a integridade dos dados Abstrao de Dados a possibilidade de entender um ambiente se preocupando apenas com seus aspectos mais importantes. No caso dos Bancos de Dados abre a possibilidade a seus usurios de poderem acessar aos dados sem a necessidade de se preocuparem com os detalhes de como os dados so armazenados.

Nveis de Abstrao

Nvel Fsico
Descreve como os dados so realmente armazenados. Neste nvel de abstrao trabalham os DBAs.

Nvel Conceitual
Descreve quais dados esto armazenados e como eles se relacionam. Neste nvel os usurios no se preocupam os aspectos fsicos do armazenamento de dados. Aqui trabalham os DBAs e os Analistas de Aplicao.

Nvel de Viso
Uma viso descreve parte de uma banco de dados, de modo que , usurios do banco tenham acesso apenas aos dados que lhes dizem respeito. Um banco de dados tem muitas vises.

Conceitos Bsicos de modelagem de dados


Se voc pretende desenvolver aplicaes que usam banco de dados relacionais dever possuir os conceitos bsicos sobre modelagem de dados. No importa se sua aplicao muito simples; a correta modelagem dos seus dados ir com certeza tornar sua aplicao mais robusta e mais fcil de manter. O propsito deste artigo fornecer os conceitos bsicos sobre modelagem de dados. Este assunto daria centenas de livros por isto estarei sendo o mais direto e o objetivo possvel de forma a que voc possa aplicar de imediato os conceitos aprendidos. Como o ttulo j diz sero conceitos bsicos e sobre banco de dados relacionais.

Modelos de Dados
Identificam os dados de um determinado ambiente, as relaes entre eles e suas restries de integridade. Qual o objetivo da modelagem de dados ? Por que modelar ?

Representar o ambiente observado Documentar e normalizar Fornecer processos de validao Observar processos de relacionamentos entre objetos

Modelar implica em construir modelos ento como fazer isto ? Podemos definir as etapas envolvidas na construo de modelos em : 1 - Modelo conceitual - Representa as regras de negcio sem limitaes tecnolgicas ou de implementao por isto a etapa mais adequada para o envolvimento do usurio que no precisa ter conhecimentos tcnicos. Neste modelo temos :

Viso Geral do negcio Facilitao do entendimento entre usurios e desenvolvedores Possui somente as entidades e atributos principais Pode conter relacionamentos n para m.

2- Modelo Lgico - Leva em conta limites impostos por algum tipo de tecnologia de banco de dados. (banco de dados hierrquico , banco de dados relacional ,etc.). Suas caractersticas so :

Deriva do modelo conceitual e via a representao do negcio Possui entidades associativas em lugar de relacionamentos n:m Define as chaves primrias das entidades Normalizao at a 3a. forma normal Adequao ao padro de nomenclatura Entidades e atributos documentados

3- Modelo Fsico - Leva em considerao limites impostos pelo SGBD (Sistema Gerenciador de Banco de dados) e pelos requisitos no funcionais dos programas que acessam os dados. Caractersticas:

Elaborado a partir do modelo lgico Pode variar segundo o SGBD Pode ter tabelas fsicas (log , lider , etc.) Pode ter colunas fsicas (replicao)

Tipos de Modelos de Dados Modelo Lgicos Baseados em Objetos Modelo de Entidade x Relacionamento Consiste num conjunto de objetos representativos de um ambiente chamados entidades e nos relacionamentos que mantm entre si. Uma entidade se distingue de outras entidades pelos atributos que ela contm. Representao relacionamento grfica de um modelo de entidade-

Retngulos Representam conjuntos de entidades Losangos Representam os relacionamentos Linhas Ligam os relacionamentos s entidades relacionadas Modelo Orientado a Objeto baseado em objetos representativos de um ambiente que se relacionam entre si. Aqui os objetos contm segmentos de cdigos, denominados mtodos, que os manipulam. Um objeto s pode ser

acessado atravs de seus mtodos. Uma solicitao de acesso a um objeto denominada mensagem um conjunto de objetos com os mesmos valores e os mesmos mtodos. Modelos Lgicos Baseados em Registros Os modelos baseados em registros so usados nos nveis de abstrao conceitual e visual. Modelo Relacional Representa os dados e seus relacionamentos atravs de tabelas. Cada tabela corresponde a um conjunto de entidades do modelo relacional e contm um nmero de colunas com nomes nicos, sendo que cada coluna representa um atributo da entidade. Os relacionamentos so representados por dados contidos dentro das prprias tabelas. Exemplo: Oracle Modelo de Redes Os dados so representados por uma coleo de registros e os relacionamentos entre os dados so representados por ponteiros. Os registros nos bancos de dados so organizados como colees de grafos arbitrrios. Exemplo: IDS-II da ABC-BULL. Modelo Hierrquico Os dados so representados por uma coleo de registros e os relacionamentos entre os dados so representados por ponteiros. Os dados so organizados em rvores. Instncia de um Banco de Dados o conjunto de informaes do banco em um determinado momento Esquema a representao do projeto do banco de dados. No mudam com frequncia. Em um banco de dados tempos esquemas fsicos e conceituais. Independncia de Dados possibilidade de mudar esquemas de um nvel de abstrao sem comprometer os esquemas de outros nveis Independncia Fsica de Dados a caracterstica que os bancos de dados devem ter e que consiste na possibilidade de que alteraes feitas no esquema fsico no exigirem alteraes nos programas escritos. Independncia Lgica de Dados

uma caracterstica dos bancos de dados que permite mudanas nos esquemas conceituais sem exigir mudanas nos programas escritos. difcil de ser conseguida. Linguagens de Definio de Dados So aquelas usadas para definir o esquema de uma banco de dados. So as DDLs. O resultado da execuo de comandos das DDLs um conjuntos de tabelas que so armazenadas no dicionrio de dados. So as DDLs que definem, por exemplo, os mtodos de acesso de um banco de dados. Linguagens de Manipulao de Dados So as linguagens que manipulam informaes de um banco de dados. So elas que fazem incluses de novos dados, remoes e alteraes de dados existentes e busca (recuperao) de dados armazenados. So as DMLs. DMLs Procedurais Exigem a especificao de como obter os dados. DMLs No-Procedurais No exigem a especificao de como obter os dados Gerenciador de Banco de Dados constitudo de um conjunto de programas que estabelecem a interface entre os dados armazenados e as solicitaes ao sistema. Alm disso, esses programas garantem um armazenamento de dados que facilita o desempenho do Banco, como por exemplo, um bom tempo de resposta para as solicitaes s quais submetido. Objetivos de um Gerenciador de Banco de Dados Interagir com o gerenciador de arquivos. Geralmente esses gerenciadores de arquivos so fornecidos pelos sistemas operacionais. de responsabilidade desses gerenciadores o atendimento solicitao de dados. Garantir Integridade do Dados Garantir Segurana de Acesso Recuperao de Dados Controlar Concorrncia de Acesso. Administrador de Banco de Dados (DBA) a pessoa que tem sob sua responsabilidade a gerncia dos dados do banco e dos programas de acesso. ele que garante a sua implantao e operao. Principais Funes de um DBA

Definir e alterar esquemas; Definir de estruturas de armazenamento e mtodos de acesso aos dados; Conceder autorizao de acesso; Especificar restries de integridade. Usurios de Banco de Dados (Proposto pelo prof. Ronaldo Lopes) 1. Projetistas identificam: dados + restries de integridade + requisitos de desempenho definem modelo conceitual e lgico da aplicao em algumas organizaes podem definir modelo fsico precisam conhecer o negcio 2. Administradores de Banco de Dados (ABD ou DBA) administram banco de dados definem critrios de acesso monitoram desempenho definem projeto fsico definem estratgia de backup e recuperao de falhas precisam conhecer o SGBD 3. Usurios Finais casuais novatos (parametrizados) sofisticados 4. Analistas e Programadores 5. Administradores de Dados (AD) 6. Projetistas e implementadores de SGBD 7. Desenvolvedores de ferramentas 8. Operadores e pessoal de manuteno O MODELO DE DADOS Uma Definio O Modelo de Dados uma representao das necessidades de dados de um determinado ambiente e de como esses dados se relacionam. uma das primeiras atividades que deve ser executada ao longo do processo de identificao e compreenso de um ambiente, tendo em vista necessidades de automatizao. um dos produtos da fase de

Anlise do Ciclo de Vida de um projeto de desenvolvimento de um sistema. Construir um Modelo de Dados significa: coletar e documentar informaes relevantes do ambiente estudado; representar as informaes, de forma clara e objetiva, e num formato padro que possa facilitar o entendimento dos participantes do processo; definir, de maneira clara, o escopo do ambiente modelado; adquirir o entendimento do ambiente atravs de refinamentos sucessivos do modelo; e representar graficamente as necessidades de informao independentemente do Software e do Hardware a serem usados na implementao do Sistema. Precisamos definir agora entidade e atributo. O que so e o que representam ? 1. Componentes de um Modelo de Dados Um Modelo de Dados composto de: entidade, tipo de entidade, atributo, relacionamentos e dicionrio de dados. 1.1. Entidade Chamamos de entidade, qualquer coisa real ou abstrata, de um determinado ambiente, sobre a qual precisamos guardar informaes. Se estamos modelando o ambiente de uma biblioteca, por exemplo, ento as informaes a respeito dos livros devem estar representadas pela entidade: Livro. As informaes relativas aos usurios da biblioteca poderiam ser representada pela entidade: Cliente. As informaes relativas ao emprstimo de livros seriam representadas pela entidade: Emprstimo. As reservas de livros por: Reserva, e assim por diante. Nesse ambiente as informaes da entidade Livro poderiam ser: nome do livro, ISBN do livro, e ttulo do livro. Para a entidade Cliente poderamos ter: cpf, nome, endereo e telefone. Para a entidade Emprstimo: data do emprstimo, data provvel de devoluo e taxa de multa para o caso de devoluo com atraso. A entidade Reserva poderia ter: data da reserva, e data provvel de disponibilidade do livro. claro que as informaes representadas por uma entidade dependem do ambiente onde ela est inserida. Por exemplo: uma pessoa para o Ministrio da Fazenda vista como um contribuinte de impostos. E dentro deste contexto as informaes relevantes de pessoa seriam: cpf, renda anual, despesas mdicas, despesas com instruo, etc. J o Ministrio da Educao poderia ter outras necessidades de informaes sobre uma pessoa, como por exemplo: cpf, nvel de escolaridade, idade, data de nascimento, etc. O Ministrio da Sade, certamente teria interesse em informaes sobre sade: tipo sanguneo, data de nascimento, etc. Podemos concluir que, uma entidade s deve conter informaes que dizem respeito, ou que so necessrias, ao ambiente que representa.

1.2. Tipo de Entidade Um tipo de entidade definido como sendo o conjunto de todas entidades de uma mesma natureza, ou seja, que tenham as mesmas caractersticas. Por exemplo, o conjunto de todas as entidades Livros de uma biblioteca constituem o Tipo de Entidade LIVRO. Engenharia de Software, Anlise Estruturada, Anlise Orientada a Objeto, poderiam ser entidades do tipo de entidade LIVRO. O conjunto de todos os emprstimos feito pela biblioteca comporia o tipo de entidade EMPRSTIMO. O conjunto de todas as pessoas que usam a biblioteca representaria o tipo de entidade CLIENTE. Tipo de Entidade Primria o tipo de entidade que existe por si mesma. Sua identificao completa feita pelos seus prprios atributos. Exemplos:
1. A Entidade ALUNO uma entidade primria porque identificada

pelos seus prprios atributos. O seu identificador pode ser o atributo Matrcula do aluno.

2. A Entidade DEPARTAMENTO uma entidade primria pois tem

como atributo identificador um atributo prprio. A sigla do departamento, por exemplo.

Tipo de Entidade Fraca ou Dependente a entidade cuja identificao no pode ser feita por seus prprios atributos. Para sua identificao completa precisamos de atributos de outra entidade. Exemplo

1. A entidade DEPENDENTE uma entidade fraca, pois para a sua identificao h que se utilizar atributos da entidade EMPREGADO (A Matrcula do empregado, por exemplo). Ou seja, quando falamos, Joo Viera (Dependente) precisamos dizer de quem ele dependente (Empregado) para que se possa identific-lo completamente. Assim: Joo Vieira dependente de Francisco da Rocha (Empregado)

Entidade Associativa a entidade que no se identifica por si mesma e sua existncia depende da existncia de duas ou mais outras entidades. Compem seu identificador, os identificadores das entidades que se associaram para lhe dar origem. Exemplo 1. No diagrama abaixo a entidade, APROVEITAMENTO uma entidade associativa porque a sua identificao s possvel a partir da Matrcula, identificador da entidade ALUNO e de Cdigo, identificador da entidade DISCIPLINA. Ou sejam, quando nos referimos ao aproveitamento 7,3, por exemplo, ele s tem sentido quando associado a uma aluno e a uma disciplina. Assim: Joo Ribeiro Ferraz (Aluno) obteve a nota 7,3 (Aproveitamento) em Banco de Dados (Disciplina).

1.3. Atributos

So partes especficas de uma determinada entidade. informaes que caracterizam a entidade.

So as

Exemplos de Atributos Poderiam ser atributos de uma entidade Aluno: nome, nmero da matrcula, cpf, data de ingresso no curso, endereo, telefone e data de nascimento. Uma entidade Fornecedor poderia Ter como atributos: Cgc, nome, Razo Social, Endereo, e Capital Social. Cada entidade tem valores especficos para seus atributos que diferir ou ser iguais aos valores dos atributos de outras entidades de um mesmo tipo de entidade. Valor de um Atributo Chamamos valor de um atributo ao contedo que um atributo pode ter. Marcos Ferreira, Rosa Cristina, Deusdete da Cunha poderiam ser valores da entidade Aluno. Casa do Barata, Mesbla, C&A seriam valores do atributo nome da entidade Fornecedor. Domnio de um Atributo o conjunto de valores que um atributo pode assumir. Exemplo: Masculino, Feminino so o domnio do atributo Sexo da entidade Aluno. O atributo Nota da entidade aluno tem o domnio: {nmeros reais de 0 a 10).
Nota : Chama-se Domnio o conjunto de valores possveis do atributo.

Tipos de Atributos de uma Entidade nico Cada entidade tem um valor diferente para este atributo. A matrcula de um aluno em um curso um atributo nico porque no existe outro aluno matriculado com o mesmo nmero de matrcula. No-nico Quando o valor pode se repetir em vrias entidades. Por exemplo, o aproveitamento de um aluno. Mais de um aluno pode ter a mesma nota. Obrigatrio Quando tem que existir um valor para este atributo em toda entidade. Por exemplo, o nome do aluno na entidade ALUNO. Simples Quando possui um domnio simples. Por exemplo, o atributo sexo tem um domnio simples pois formado pelo conjunto (nico) das letras F e M.

Composto Quando possui mais de um domnio simples. Endereo de uma pessoa, por exemplo. Ele formado pelos domnios, simples, dos Logradouros, dos Bairros, das Cidades, dos Estados e dos CEPs. Univalorado Quando tem um nico valor para cada entidade. Por exemplo, o nmero de matrcula de um aluno. Cada aluno tem um nico nmero de matrcula. Multivalorado Quando pode ter mais de um valor para cada entidade. Por exemplo, o telefone de uma pessoa. Uma pessoa pode ter mais de um telefone. O do trabalho e da residncia. Derivado Quando o seu contedo depende dos contedos de outros atributos. Por exemplo, o total de uma nota fiscal formado pela soma dos totais de cada item componente da nota fiscal. No derivado Quando ele no pode ser obtido a partir de outros atributos. Por exemplo, nome de um aluno. Identificador o atributo ou atributos que identificam uma entidade de um tipo de entidade de maneira nica. Por exemplo, a matrcula do estudante. Ou a matrcula do aluno e o cdigo da disciplina no tipo de entidade APROVEITAMENTO. No Identificador Quando o identificador no identifica por si s um entidade dentro de um tipo de entidades. Por exemplo, o nome do aluno no identifica o aluno dentro to tipo de entidade ALUNO. Matriz de Definio dos Atributos

1.4. Relacionamentos

Chamamos de relacionamento a associao entre duas entidades ou entre uma entidade e ela mesma. O que um relacionamento ? Um relacionamento pode ser entendido como uma associao entre instncias de Entidades devido a regras de negcio. Normalmente ocorre entre instncias de duas ou mais Entidades, podendo ocorrer entre instncias da mesma Entidade (auto-relacionamento). Por que o relacionamento necessrio ?

Quando existem vrias possibilidades de relacionamento entre o par das entidades e se deseja representar apenas um Quando ocorrer mais de um relacionamento entre o par de entidades Para evitar ambiguidade Quando houver auto-relacionamento

Para expressar, em um modelo, quais as disciplinas nas quais um aluno est matriculado ns poderamos definir o relacionamento: O aluno est matriculado em... O relacionamento para expressar os dependentes de um determinado empregado seria: Empregado tem dependentes. Cardinalidade de um relacionamento Indica quantas entidades de um tipo de entidade participam de um relacionamento. Para definir o nmero de ocorrncias de uma entidade usamos o conceito de Cardinalidade. A Cardinalidade indica quantas ocorrncias de uma participam no mnimo e no mxima do relacionamento. Entidade

Cardinalidade Mnima - define se o relacionamento entre duas entidades obrigatrio ou no. Ex: Abaixo temos a entidade Pais e a Entidade UF.

Um pas possui no mnimo ZERO UF (Existem paises que no possuem Estados. Ex: Vaticano) Uma UF pertence pelo menos a UM Pas. Nota: O nome UF talvez no seja mais apropriado. A entidade representa um estado ou subdiviso equivalente em um Pas

Restries de relacionamento Indica a participao ou no de uma entidade no relacionamento em causa. Cardinalidade Mxima - define a quantidade mxima de ocorrncias da Entidade que pode participar do Relacionamento. Deve ser maior que zero. Ex: Abaixo temos a entidade Pais e a Entidade UF novamente.

Pas possui no mximo Vrias (mais de uma) UF

Juntando as duas cardinalidade temos o modelo lgico abaixo: Pas pertence no mnimo a ZERO UF e no mximo a VRIOS UF UF pertence no mximo e no mnimo a UM Pas. Agora vamos definir os tipos de cardinalidade quanto ao relacionamento: Cardinalidade UM para UM :

PESSOA pode ser no mnimo um CLIENTE. (opcional) CLIENTE uma PESSOA.(Obrigatrio) Nota: No relacionamento Um para Um temos o lado opcional e o lado obrigatrio . A chave primria se desloca em direo ao lado opcional. No exemplo acima o descolamento seria da entidade CLIENTE para a entidade PESSOA. Cardinalidade UM para N. PRODUTO possui nenhum ou muitas modalidade de produto MODALIDAD E DE PRODUTO pertence a um produto. Nota : A cardinalidade UM para N leva a chave primria do lado UM para o lado N. Neste caso o atributo recebe o nome de chave estrangeira ou Foreign Key ( FK ). Chave Estrangeira a chave primria de uma entidade que aparece em outra entidade em virtude do relacionamento. Cardinalidade N para N. CLIENTE celebra um ou vrios Contratos CONTRATO celebrado por um ou vrios clientes A cardinalidade N para N leva para o modelo lgico a necessidade de definio de mais um entidade. Chamamos isto de ASSOCIATIVA. Para o exemplo acima teramos:

A Entidade CLIENTE DO CONTRATO necessria para que possamos identificar o contrato de um determinado cliente. Em toda Cardinalidade N para N temos a ASSOCIATIVA.

Uma Viso de um Relacionamento 1:N entre dois Tipos de Entidades

No Departamento ( Francisco, Srgio, No Departamento ( Marcos, Jos) No Departamento (Alexandre)

de Produo (1) trabalham N (3) Empregados Marta) Financeiro (1) trabalham N (2) Empregados de Marketing (1) trabalha N (1) Empregado

Uma Viso de um Relacionamento M:N Entre dois Tipos de Entidades

O professor Mrio (1) leciona Fsica e Anlise (2) e Fsica (1) lecionada por Mrio e Srgio (2) O professor Francisco (1) leciona Matemtica (1) e Matemtica (1) lecionada por Francisco (1) Uma Viso de um Relacionamento 1:1 Entre dois Tipos de Entidades

Uma Viso do Relacionamento 1:1 Entre dois Tipos de Entidades sem Obrigatoriedade do lado EMPREGADO

Repare que existem empregados que no esto associados a departamento nenhum. So os empregados que no gerenciam departamentos.

Tipos de Relacionamentos Relacionamento tipo Dependncia Chamamos de Relacionamento de Dependncia ao relacionamento entre um tipo de entidade primria e um tipo de entidade dependente (fraca). Exemplo

O Tipo de entidade EMPREGADO compe-se de entidades primrias porque essas entidades so identificadas completamente por seus atributos. razovel imaginarmos que numa mesma empresa no exista empregados com a mesma matrcula. J as entidades de DEPENDENTE so do tipo fraca porque os seus atributos no as identificam completamente. Suponhamos que Pedro Rodrigues seja filho de Francisco Moreira, cujo nmero de matrcula seja 10. Se falamos apenas Pedro Rodrigues, no o identificamos, porque pode existir outros Pedro Rodrigues filhos de outros empregado que no seja o Francisco Moreira de matrcula 10. Para que Pedro Rodrigues seja completamente identificado precisamos associ-lo ao empregado do qual ele dependente. Ento dizemos: Pedro Rodrigues dependente de Francisco Moreira de matrcula 10 Outro Exemplo

O tipo de entidade FORNECEDOR tambm uma entidade primria porque identificada completamente por seus atributos. No existe dois fornecedores diferentes com o mesmo nmero de CGC. NOTA FISCAL um tipo de entidade composto por entidades fracas ou dependentes, porque para identificar uma determinada nota fiscal completamente precisamos dizer de qual fornecedor a nota fiscal, visto que podem existir notas fiscais de mesmo nmero pertencentes a fornecedores diferentes. Relacionamento tipo Associativo Um relacionamento do tipo associativo se ele relaciona uma entidade primria a uma entidade associativa. Exemplo

Tanto o relacionamento entre ALUNO e APROVEITAMENTO como o relacionamento entre DISCIPLINA e APROVEITAMENTO so do tipo associativo, pois ambos relacionam entidades primrias de ALUNO e DISCIPLINA entidade do tipo associativa APROVEITAMENTO. Auto-Relacionamentos

1.5. Dicionrio de Dados O dicionrio de dados contm as definies das entidades, dos relacionamentos e dos atributos de um modelo de dados.

Obs: Nenhum modelo suficientemente claro se no for acompanhado de uma definio formal dos elementos, fazemos isto atravs do Dicionrio de Dados. Lembre-se , conceitos que podem ser triviais a quem esta modelando podem no ser para pessoas leigas no assunto. Assim o dicionrio de dados tem o objetivo de deixar claro qualquer informao que seja de valia para o processo de compreenso e unificao de conceitos. Para que fique claro vamos fazer um exerccio simples: Definir uma entidade que represente as informaes de uma Pessoa e descrever seus atributos. Podemos definir a entidade Pessoa que ir representar as informaes de uma pessoa. Abaixo temos a representao da entidade e de alguns de seus atributos feitos no ERWin. Ao lado temos a representao feita no ERWin da Entidade Pessoa e de alguns de seus atributos. Note que na definio dos atributos eu estou definindo a natureza do tipo de atributo. Exemplos de tipos de natureza:Texto , Nmero , Indicador(sim/no) , Cdigo, etc. Alguns atributos so obrigatrios outros so opcionais. Nome obrigatrio pois toda pessoa deve ter um nome Telefone opcional pois nem toda pessoa possui um telefone Ento podemos fazer as seguintes definies: Atributo obrigatrio - aquele que para uma instncia de uma entidade ou relacionamento deve possuir um valor. (NOT NULL) Atributo opcional - aquele que para uma instncia da entidade ou relacionamento pode possuir um valor. (NULL) Podemos ainda classificar os atributos como:

Atributo Identificador - (#) - Atributo capaz de identificar exclusivamente cada ocorrncia de uma entidade. Tambm conhecido como chave Primria ou Primary Key (PK). Ex: Cdigo do Cliente, Cdigo do Produto, etc. (O smbolo # usado para representar a chave primria em algumas notaes) Chave Candidata - Atributo ou grupamento de atributos que tm a propriedade de identificar unicamente uma ocorrncia da entidade. Pode vir a ser uma chave Primria. A chave candidata que no chave primria tambm chama-se chave Alternativa. Caractersticas de uma Chave Primria : a - NO PODE haver duas ocorrncias de uma mesma entidade com o mesmo contedo na Chave Primria; b - A chave primria no pode ser composta por atributo opcional , ou seja , atributo que aceite nulo; c - Os atributos identificadores devem ser o conjunto mnimo que pode identificar cada instncia de um entidade; d - No devem ser usadas chaves externas. (Atributos sobre os quais voc no tem controle. Ex: CPF); e - Cada atributo identificador da chave deve possui um tamanho reduzido; f - No deve conter informao voltil. Ao criar modelos geralmente temos diversas entidades cada uma com diversos atributos que podem se relacionar entre si. Vamos definir como podem ser estes relacionamentos.

1.6. Convenes para Construo de um DER

1.7. Nomenclatura dos elementos de um DER Nome Nome Nome Regra do Tipo de Entidade -----> Letras maisculas e no singular de Relacionamento ------> Letras maisculas e no singular de Atributo ---------------> Inicia com letra maiscula ------------------------------> Letras minsculas

1.8. Exemplo de DER

1.9. Normalizao
Normalizao o conjunto de regras que visa minimizar as anomalias de modificao dos dados, dar maior flexibilidade em sua utilizao e aumentar sua estabilidade. Por que Normalizar ?

1) Minimizao de redundncias e inconsistncias; 2) Facilidade de manipulaes do Banco de Dados; 3) Facilidade de manuteno do Sistema de Informaes 1.9.1. CONCEITOS BSICOS 1. Dependncia Funcional Completa Quando um atributo no identificador depende do(s) atributo(s) identificador(es). 2. Dependncia Funcional Parcial Quando um atributo no identificador depende de parte dos atributos identificadores. 3. Dependncia Funcional Transitiva Quando um atributo no identificador depende de outro atributo tambm no identificador. A normalizao permite eliminar atributos: Com mais de um valor Duplicados ou repetidos Que contm dados derivados de outros atributos Para que voc compreenda melhor vou dar um exemplo. Vamos supor que voc criou uma entidade Funcionrios para armazenar as informaes dos funcionrios de um empresa e que o resultado fsico final seja a tabela mostrada abaixo.

Se voc olhar bem para a tabela acima vai ter que concordar comigo que ele sofre das seguintes anomalias:

Anomalia de Excluso - O que acontece se voc excluir o funcionrio de cdigo igual a 3 ? O Setor vai ser excludo junto e

ai voc danou..

Anomalia de Alterao - O nome do Setor Suporte mudou para Apoio . Voc vai ter alterar o nome em todos os registros da tabela. Danou novamente... Anomalia de Incluso - Foi contratado um novo funcionrio para o Setor Suporte. Voc vai ter que incluir um funcionrio ao campo - QuantidadeFuncionarios - em todas as ocorrncias com setor de nome SUPORTE. Danou mais uma vez...

Para poder resolver o dilema acima temos que NORMALIZAR a entidade. Para isto aplicamos as formas normais a saber: Primeira Forma Normal -(1FN)- Uma relao est na 1FN se somente todos os domnios bsicos contiverem somente valores atmicos (no contiver grupos repetitivos). Para atingir esta forma normal devemos eliminar os grupos de repetio. Como ? Procedimentos: a) Identificar 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. Abaixo temos um exemplo de como efetuar a normalizao para a primeira forma normal:

No normalizada Normalizada usando a primeira forma normal (1FN) Segunda Forma Normal -(2FN)- Uma relao R est na 2FN se e somente se ela estiver na primeira e todos os atributos no chave forem totalmente dependentes da chave primria (dependente de toda a chave e no apenas de parte dela). Procedimentos:

a) 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 chave primria da nova entidade ser o atributo do qual os atributos do qual os atributos removidos so funcionalmente dependentes. Exemplo: Sejam 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 )

Normalizando para segunda forma normal (2FN): 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 desta etapa, houve um desdobramento do arquivo de Vendas (o arquivo de Notas Fiscais, no foi alterado, por no possuir chave composta) em duas estruturas a saber: Primeira estrutura (Arquivo de Vendas): Contm os elementos originais, sendo excludos os dados que so dependentes apenas do campo Cdigo da Mercadoria.

Segundo 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. Terceira Forma Normal -(2FN)- Uma relao R est na 3FN se somente estiver na 2FN e todos os atributos no chave forem dependentes no transitivos da chave primria (cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primria ou se todos os seus atributos no chave forem independentes entre si). Procedimentos: a) 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 chave primria da nova entidade ser o atributo do qual os atributos removidos so funcionalmente dependentes. 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 Mercadoria, Preo de venda) da Mercadoria, Descrio da

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, Mercadoria, Preo de venda) Descrio da

Arquivo de Clientes (Cdigo do Cliente, Nome do cliente, Endereo do cliente) Como resultado desta etapa, houve um desdobramento do arquivo de Notas Fiscais, por ser o nico que possua campos que no eram dependentes da chave principal (Num. NF), uma vez que independente da Nota Fiscal, o Nome, Endereo so inalterados. Este procedimento permite evitar inconsistncia nos dados dos arquivos e economizar espao por eliminar o armazenamento

freqente e repetidas vezes destes dados. A cada nota fiscal comprada pelo cliente, haver o armazenamento destes dados e poder ocorrer divergncia entre eles. As estruturas alteradas e o motivo das alteraes : - Primeira estrutura (Arquivo de Notas Fiscais): Contm os elementos originais, sendo excludo os dados que so dependentes apenas do campo Cdigo do Cliente (informaes referentes ao cliente). - Segundo estrutura (Arquivo de Clientes): Contm os elementos que so identificados apenas pelo Cdigo do Cliente, ou seja, independente da Nota Fiscal, o Nome, Endereo sero constantes. Aps a normalizao, as estruturas dos dados esto projetadas para eliminar as inconsistncias e redundncias dos dados, eliminando desta forma qualquer problema de atualizao e operacionalizao do sistema. A verso final dos dados poder sofrer alguma alterao, para atender as necessidades especficas do sistema, a critrio do analista de desenvolvimento durante o projeto fsico do sistema.

Observaes Um modelo de E x R normalizado convertido facilmente para um Banco de Dados relacional em tempo de projeto. A terceira forma normal geralmente aceita como boa para projeto de Banco de Dados sem redundncia. Existem formas normais de nvel maior, mas que geralmente no so usadas.

Reforando ....

Verificao da Primeira Forma Normal Verificar se cada atributo tem um nico valor para cada instncia da entidade. Nenhum atributo pode ter valores repetidos. Exemplo: Verificar se a entidade Cliente abaixo est na 1FN.Se no estiver, convert-la para a 1FN.

O Atributo data de contato pode ter mltiplos valores, portanto a entidade CLIENTE no est na 1FN. Para transform-la para a 1FN vamos criar uma entidade adicional CONTATO e relacion-la com um relacionamento 1:M no sentido CLIENTE - CONTATO. Verificao da Segunda Forma Normal Verificar se cada atributo dependente apenas do identificador da entidade. Verificar se existe algum atributo dependente apenas de parte do identificador da entidade. Exemplo: Verificar se entidade CURSO est normalizada.

Cada cdigo determina um valor especfico para nome, durao e preo, todos eles so dependentes exclusivamente do identificador, e nenhum dos atributos derivado um do outro. Portanto a entidade est normalizada. Exemplo: Verificar se as entidades abaixo esto normalizadas.

Cada instncia de CLIENTE e PEDIDO determina valores especficos de quantidade e preo do tem. O atributo data do pedido est perdido na entidade CLIENTE, porque ele no dependente do identificador da entidade. Ele deve ser um atributo de PEDIDO. Exemplo: Normalizar a entidade abaixo:

Como a entidade no tem nenhum atributo com valores repetidos ela est na 1FN. Entretanto os atributos data do pedido, nmero do pedido, quantidade pedida e valor unitrio no so dependentes do identificador da entidade, portanto ela no est na 2FN. Para normaliz-la devemos criar uma entidade auxiliar com os atributos no dependentes do identificador. Verificao da Terceira Forma Normal

Verificar se existe algum atributo no identificador dependente de outro atributo no identificador. Retirar os atributos no identificadores dependentes para uma entidade auxiliar. Exemplo: Verificar se a entidade abaixo est na terceira forma normal.

No existe nenhum atributo com valores repetidos logo a entidade est na 1FN. Os atributos nmero do cliente, nome do cliente e limite de crdito no so dependentes do identificador da entidade, portanto ela no est na 2FN. Logo a entidade no est na 3FN. Para pass-la para a 2FN devemos criar uma entidade auxiliar com os atributos no dependentes do identificador. Exemplo: Verificar se a entidade abaixo est na 3FN.

No existe nenhum atributo com valores repetidos, logo a entidade est na 1FN. Todos os atributos no identificadores so dependentes do identificador da entidade, logo ela est na 2FN. O atributo total do tem dependente da quantidade pedida e do valor unitrio, portanto a entidade no est na 3FN. Para pass-la para a 3FN basta eliminar o atributo total do tem que desnecessrio na entidade.

You might also like