Professional Documents
Culture Documents
NDICE
ndice...........................................................................................................................................2 Introduo...................................................................................................................................4 Dado............................................................................................................................................4 Informao..................................................................................................................................4 Modelos Conceituais...................................................................................................................4 Modelos Lgicos.........................................................................................................................5 Modelo Hierrquico....................................................................................................................5 Modelo de Rede..........................................................................................................................6 Modelo Relacional......................................................................................................................6 Modelo de Dados Fsico.............................................................................................................7 Modelagem de Dados Usando o Modelo Entidade-Relacionamento.........................................7 Fases do Projeto de Bd................................................................................................................9 Construir o Modelo Conceitual...................................................................................................9 Construir o Modelo Lgico.........................................................................................................9 Construir o Modelo Fsico .........................................................................................................9 Avaliar o Modelo Fsico .............................................................................................................9 Implementar o BD.......................................................................................................................9 Entidades e Atributos..................................................................................................................9 Relacionamentos.......................................................................................................................10 Restries em Relacionamentos................................................................................................10 Atributos Chaves.......................................................................................................................11 Modelo Entidade-Relacionamento (M.E.R.)............................................................................14 Elementos do Diagrama Entidade-Relacionamento.................................................................14 Entidade....................................................................................................................................16 Relacionamento.........................................................................................................................16 Auto-relacionamento.................................................................................................................17 Cardinalidade de Relacionamentos...........................................................................................18 Cardinalidade Mxima..............................................................................................................18 Classificao de Relacionamentos Binrios.............................................................................18 Relacionamentos 1:1 (um-para-um)..........................................................................................19 Relacionamentos 1:N (um-para-muitos)...................................................................................19 Relacionamentos N:N (muitos-para-muitos)............................................................................19 Relacionamento ternrio...........................................................................................................20 Cardinalidade mnima...............................................................................................................20 Notaes Alternativas...............................................................................................................21 Atributo ....................................................................................................................................21 Domnio....................................................................................................................................22 Tipos de Atributos.....................................................................................................................22 Opcional/Mandatrio................................................................................................................22 Monovalorado/Multivalorado...................................................................................................22 Atmico/Composto...................................................................................................................22 Atributo de Relacionamento ....................................................................................................22 Identificador de Entidades........................................................................................................23 Relacionamento Identificador (Entidade Fraca).......................................................................23 Identificador de Relacionamentos.............................................................................................23 Generalizao/Especializao...................................................................................................24 Entidade Associativa (Agregao)............................................................................................25 Relacionamento Mutuamente Exclusivo..................................................................................26
Informtica - Fundamentos de Banco de Dados 2
Restrio de Persistncia no Relacionamento...........................................................................27 Mapeando Diagramas Entidade-relacionamento a Relaes....................................................28 Atributos: Esquemas e Instncias, e Chaves.............................................................................30 Normalizao............................................................................................................................30 Integridade Referencial.............................................................................................................34 Indexao..................................................................................................................................34 Atividades.................................................................................................................................35
INTRODUO
Os Fundamentos de Banco de Dados se destinam a conduzir o profissional de informtica ao processo de elaborao de Bancos de Dados atravs de uma tcnica rebuscada, que diminua redundncias de dados e volume de armazenamento, aumentando a organizao, o desempenho e a qualidade dos retornos de dados. A Modelagem de Dados concebida aps a fase de Levantamento de Requisitos, momento em que ser entendida a necessidade do usurio e elencado os atributos que compem o problema em questo. A modelagem em si consiste em planejar o depsito de dados, considerando fundamentos matemticos, como Teoria dos conjuntos e lgebra Relacional, que, por sua vez, aliceram a Teoria de Banco de Dados. Bancos de Dados hoje representam a materializao potencial da informtica diante da necessidade sempre crescente por informaes e do valor essencial dos dados para a existncia e at sobrevivncia das empresas. Imaginem, por exemplo, a empresa que perde em um incncio todos os seus dados referentes a estoque, pagamentos e recebimentos e no tm nenhum esquema alternativo de salvaguarda de dados. Assim como 96% das empresas que se acometem deste problema, ir a falncia, pois todas os seus fornecedores lhe enviaro cobranas, poucos clientes pagaro a quantia realmente devida e os produtos ficaro expostos ao descontrole. Estamos na era da informao e modelar banco de dados tarefa de grande responsabilidade, valor e importncia, alm de ser desafiador, curioso, estigante e realizante. Partamos ento aos primeiros conceitos.
DADO
Representao de um evento do mundo fsico, de um fato ou de uma idia Representao de uma propriedade ou caracterstica de um objeto real No tem significado por si s Ex.: quantidade de Kwh consumidos em uma residncia.
INFORMAO
Organizao e agregao dos dados, permitindo uma interpretao Informao interpretao dos dados Ex.: Consumo de energia comparado com a capacidade geradora da usina.
MODELOS CONCEITUAIS
So usados para descrio de dados no nvel conceitual. Proporcionam grande capacidade de estruturao e permitem a especificao de restries de dados de forma explcita. Exemplos: Modelo Entidade-Relacionamento (M.E.R.) Modelo de Semntica de dados
Informtica - Fundamentos de Banco de Dados 4
MODELOS LGICOS
So usados na descrio dos dados no nvel lgico. Em contraste com modelos conceituais, esses modelos so usados para especificar tanto a estrutura lgica global do BD como uma descrio em alto nvel da implementao. MODELO HIERRQUICO Um BD hierrquico uma coleo de rvores de registros. Os registros so usados para representar os dados e ponteiros so usados para representar o relacionamento entre os dados, numa ligao do tipo pai-filho. A restrio que um determinado registro somente pode possuir um registro pai.
MODELO DE REDE O BD em rede um grafo, onde os ns representam os registros e os arcos representam os relacionamentos entre os registros, atravs de ligaes pai-filho. Diferente do modelo hierrquico, um registro pode possuir diversos registros pai.
MODELO RELACIONAL Um BD relacional possui apenas um tipo de construo, a tabela. Uma tabela composta por linhas (tuplas) e colunas (atributos). Os relacionamentos entre os dados tambm so representados ou por tabelas, ou atravs da reproduo dos valores de atributos.
ou atualizaes devido a retiradas ou devolues. A abordagem tradicional de modelagem de dados concentra-se nas estruturas e nas restries da base de dados durante seu projeto, segundo os conceitos do Modelo EntidadeRelacionamento, um modelo conceitual de dados de alto nvel, freqentemente usado para o projeto conceitual de aplicaes de bases de dados. Ele baseia-se na perspo de um universo constitudo por um grupo bsico de objetos chamado entidades, e por relacionamentos entre eles. 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: 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.
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
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)
Precisamos definir agora entidade e atributo. O que so e o que representam? Uma Entidade pode ser definida como qualquer coisa do mundo real, abstrata ou concreta , na qual se deseja guardar informaes. (Tabela , File, etc..). Exemplos de entidades: Cliente , Produto , Contrato , Vendas , etc.
Informtica - Fundamentos de Banco de Dados 8
Um atributo tudo o que se pode relacionar como propriedade da entidade. (coluna, campo , etc,..). Exemplos de atributos: Cdigo do Produto (Entidade Produto) , Nome do Cliente (Entidade Cliente). Nota: Chama-se o conjunto de valores possveis do atributo. 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.
FASES DO PROJETO DE BD
CONSTRUIR O MODELO CONCEITUAL
Modelo de alto nvel, independente da implementao Etapa de levantamento de dados Uso de uma tcnica de modelagem de dados Abstrao do ambiente de hardware/software
Modelo implementvel, dependente do tipo de SGBD a ser usado Considera as necessidades de processamento Considera as caractersticas e restries do SGBD Etapa de normalizao dos dados
Modelo implementvel, com mtodos de acesso e estrutura fsica Considera necessidades de desempenho Considera as caractersticas e restries do SGBD Dependente das caractersticas de hardware/software
Avaliar o desempenho das aplicaes Avaliar os caminhos de acesso aos dados e estruturas utilizadas
IMPLEMENTAR O BD
Etapa de carga (load) dos dados Gerar as interfaces com outras aplicaes
ENTIDADES E ATRIBUTOS
Uma entidade um objeto que existe e distinguvel de outros objetos. Uma entidade
Informtica - Fundamentos de Banco de Dados 9
pode ser um objeto com uma existncia fsica (entidade concreta) um empregado, pessoa, carro, casa em particular ou conceitual (entidade abstrata) uma companhia, um emprego, um curso universitrio. Um conjunto de entidades um grupo de entidades do mesmo tipo. Por exemplo: o conjunto de todas as pessoas que possuem cadastro em uma biblioteca pode ser definido como o conjunto de entidades Usurio; de maneira similar, o conjunto de entidades Cadastro pode representar o conjunto de todos os cadastros em uma biblioteca em particular. Tais conjuntos no precisam ser independentes: possvel definir o conjunto de entidades de todos os empregados de um banco (Empregado) e o conjunto de entidades de todos os clientes do mesmo banco (Clientes). Uma entidade Pessoa pode ser uma entidade Empregado, uma entidade Cliente, ambas ou nenhuma delas. Cada entidade tem atributos propriedades particulares que a descrevem. Por exemplo, uma entidade Aluno pode ser descrito pelos atributos nome, R.A. e curso. Uma base de dados compreende uma coleo de conjuntos de entidades, contendo cada um certo nmero de entidades do mesmo tipo. Uma entidade em particular possui um valor para cada um de seus atributos. Os valores de atributos que descrevem cada entidade compem a maior parte dos dados armazenados em uma base de dados.
RELACIONAMENTOS
Um relacionamento uma associao entre dias ou mais entidades. Por exemplo, podemos definir uma relao que associe um aluno particular com uma certa disciplina; isto especifica que ele um aluno da universidade, cursando aquela disciplina. Um conjunto de relacionamentos CadastroUsurio para denotar a associao entre todos os usurios da biblioteca e seus cadastros guardados l. Este um exemplo de um conjunto de relacionamentos um grupo de relacionamentos do mesmo tipo. Para ilustrar isto, considere duas entidades Usurio e Cadastro; definimos o conjunto de relacionamentos binrio (que envolve dois conjuntos de entidades): a maior parte dos conjuntos de relacionamentos num sistema de base de dados binria; ocasionalmente, h conjuntos de relacionamentos que envolvem mais do que dois conjuntos de entidades. Um relacionamento pode tambm possuir atributos descritivos. Por exemplo, o conjunto de relacionamentos ClienteConta define a associao entre clientes de um banco e suas contas bancrias; data pode ser um atributo de ClienteConta, especificando a data em que um cliente abriu sua conta.
RESTRIES EM RELACIONAMENTOS
Em relacionamentos geralmente so definidos certas restries que limitam as possveis combinaes de entidades que podem participar do conjunto de relacionamentos correspondente. Tais restries so determinadas a partir da situao real que o modelo entidade-relacionamento representa. Uma restrio importante a cardinalidade, que expressa o nmero de entidades ao qual outra entidade pode estar associada via um relacionamento. especialmente til na descrio dos conjuntos de relacionamentos binrios, podendo contribuir na descrio de conjuntos de relacionamentos que envolvam mais de dois conjuntos de entidades . Para um conjunto de relacionamentos binrio (entre os conjuntos de entidades A e B), a cardinalidade pode ser:
um-para-um: uma entidade em A est associada com no mximo uma entidade em B; e vice-versa (fig.1). um-para-muitos: uma entidade em A est associada a qualquer nmero de entidades em
10
B, enquanto que uma entidade em B est associada com no mximo uma entidade em A (fig. 2). Se as posies de A e B forem trocadas, pode-se denominar sua cardinalidade como muitos-para-um (fig.3): muitos-para-muitos: uma entidade em A est associada a qualquer nmero de entidades em B, e vice-versa (fig.4).
Figura 1
Figura 2
Figura 3 Figura 4 Outra importante classe de restries chamada restrio de participao, que especifica quando a existncia de uma entidade depende de estar relacionado a outra entidade via um relacionamento. Tal participao pode ser total (tambm denominado dependncia existencial, pois a existncia de uma entidade depende plenamente da existncia de outra entidade, ou seja, se esta a entidade dominante for removida, aquela a entidade subordinada tambm ser) ou parcial (caso contrrio).
ATRIBUTOS CHAVES
Uma tarefa importante na modelagem da base de dados como especificar, na perspectiva da base de dados, a distino entre entidades e relacionamentos a diferena entre eles precisa ser expressa em termos de seus atributos. Para ser feito tais distines, assinalada para cada conjunto de entidades uma superchave o conjunto de um ou mais atributos que nos permite identificar inequivocamente uma entidade em um conjunto de entidades. Este conceito, entretanto, no suficientemente adequado, pois uma superchave pode conter atributos desnecessrios. Por exemplo: um conjunto de entidades Pessoa pode ter como superchave o conjunto {CPF, nome}, apesar do CPF ser nico para cada pessoa. Portanto, so interessantes as menores superchaves possveis (cujos subconjuntos no sejam superchaves), que passam a ser chamadas de chaves candidatas. possvel que haja diversos conjuntos distintos de atributos que poderiam servir como chaves candidatas, ficando a cargo do projetista da base de dados escolher uma delas, a seu critrio, como mecanismo principal para a identificao de entidades no conjunto de entidades. Esta chave candidata escolhida passa a ser conhecida como chave primria.
Informtica - Fundamentos de Banco de Dados 11
tambm possvel que um conjunto de entidades no possua atributos suficientes para a formao de uma chave primria; tal tipo chamado de entidade fraca (ou filho), enquanto que o conjunto de entidades que possui chave primria denominado entidade forte (ou pai). O conceito de entidade forte e fraca est relacionado com o conceito de dependncia existencial: uma entidade forte , por definio, uma entidade dominante, e uma entidade fraca uma entidade subordinada. A chave primria de uma entidade fraca formada pela chave primria da entidade forte (da qual existencialmente dependente), mais um conjunto de atributos que identificam unicamente as entidades fracas relacionadas quela entidade forte tal conjunto de atributos conhecido como chave parcial ou discriminador. Conjuntos de relacionamentos tambm possuem chaves primrias, formados pela composio de todas as chaves primrias dos conjuntos de entidades associadas pelo conjunto de relacionamentos. 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. Chave de Ordenao Atributo ou agrupamento que tem potencial de exclusividade, seu valor ou domnio representa a ordem de insero do registro. Alguns banco de dados permitem o tipo de dados numrico chamado autoincremento, como no caso do Access. 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
Informtica - Fundamentos de Banco de Dados 12
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. Para definir o nmero de ocorrncias de uma entidade usamos o conceito de Cardinalidade. A Cardinalidade indica quantas ocorrncias de uma Entidade participam no mnimo e no mxima do relacionamento. 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 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.
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
13
Apresentado por Peter Chen, em 1976 a tcnica mais difundida para construir modelos conceituais de bases de dados o padro para modelagem conceitual, tendo sofrido diversas extenses Est baseado na percepo de uma realidade constituda por um grupo bsico de objetos chamados ENTIDADES e por RELACIONAMENTOS entre estas entidades Seu objetivo definir um modelo de alto nvel independente de implementao O modelo representado graficamente por um Diagrama de Entidade-Relacionamento (DER), que simples e fcil de ser entendido por usurios no tcnicos Conceitos centrais do MER: entidade, relacionamento, atributo, generalizao/especializao, agregao (entidade associativa)
14
identifica um atributo cujo valor deduzido de outros atributos, sendo usado mas no armazenado na base de dados (derivado)
identifica um atributo para agrupamentos de valores (compostos) exemplo a data, composta de dia, ms e ano. Losangos: representam conjuntos de relacionamentos.
Segmentos de reta ligam atributos a conjuntos de entidades, e estes a conjuntos de relacionamentos. Neste ltimo, uma linha identifica uma participao parcial, e duas linhas identifica uma participao total Cada componente rotulado com seu nome correspondente. Se o atributo for chave primria, esta condio demonstrada sublinhando seu nome. As retas que ligam conjuntos de entidades e de relacionamentos so rotulados segundo sua cardinalidade: para cardinalidade um-para-um
para cardinalidade muitos-para-muitos A respeito de como nomear os vrios componentes, como prtica geral adota-se o emprego de substantivos para os conjuntos de entidades e verbos para os conjuntos de relacionamentos, de modo que o diagrama fornea uma descrio narrativa das requisies da base de dados. O exemplo abaixo apresenta o diagrama entidade-relacionamento proposto para uma base de dados de uma universidade:
ENTIDADE
Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informaes no Banco de Dados Uma entidade pode representar objetos concretos da realidade (pessoas, automveis, material, nota fiscal) quanto objetos abstratos (departamentos, disciplinas, cidades) A entidade se refere a um conjunto de objetos; para se referir a um objeto em particular usado o termo instncia (ou ocorrncia) No DER, uma entidade representada atravs de um retngulo que contm o nome da entidade PESSOA DEPARTAMENTO
RELACIONAMENTO
toda associao entre entidades, sobre a qual deseja-se manter informaes no Banco de Dados. Os relacionamentos representam fatos ou situaes da realidade, onde as entidades interagem de alguma forma Um dado por si s no faz uma informao, pois no tem sentido prprio; necessrio que haja uma associao de dados para que a informao seja obtida.
16
Exemplos: Fornecimento: entre as entidades FORNECEDOR e MATERIAL Matrcula: entre as entidades ALUNO e DISCIPLINA Financiamento: entre as entidades PROJETO e AGENTE FINANCEIRO No DER, os relacionamentos so representados por losangos, ligados s entidades que participam do relacionamento LOTA O Diagrama de ocorrncias de relacionamentos: DEPARTAMENTO PESSOA
PESSOA
marido CASAMENTO
esposa
17
O papel da entidade no relacionamento indica a funo que uma ocorrncia de uma entidade cumpre em uma ocorrncia de um relacionamento. CARDINALIDADE DE RELACIONAMENTOS A cardinalidade de uma entidade em um relacionamento expressa o nmero de instncias da entidade que podem ser associadas a uma determinada instncia da entidade relacionada. Devem ser consideradas duas cardinalidades: Cardinalidade mnima de uma entidade o nmero mnimo de instncias da entidade associada que devem se relacionar com uma instncia da entidade em questo. Cardinalidade mxima de uma entidade o nmero mximo de instncias da entidade associada que devem se relacionar com uma instncia da entidade em questo. CARDINALIDADE MXIMA No projeto para BD relacional (como neste curso) no necessrio distinguir as cardinalidades que sejam maiores que 1. Assim, so usados apenas as cardinalidades mximas 1 e n (muitos). CLASSIFICAO DE RELACIONAMENTOS BINRIOS A cardinalidade mxima usada para classificar os relacionamentos binrios (aqueles que envolvem duas entidades).
18
19
CARDINALIDADE MNIMA A cardinalidade mnima usada para indicar o tipo de participao da entidade em um relacionamento. Esta participao pode ser:
Parcial ou Opcional: quando uma ocorrncia da entidade pode ou no participar de determinado relacionamento; indicado pela cardinalidade mnima = 0 (zero). Total ou Obrigatria: quando todas as ocorrncias de uma entidade devem participar de determinado relacionamento; indicado pela cardinalidade mnima > 0 (zero). Exemplos: CLIENTE 1 REALIZA N PEDIDO
Um cliente pode fazer pedidos ou no, mas todos os pedidos devem estar associados a
Informtica - Fundamentos de Banco de Dados
DEPTO
ALOCA
20
EMPREGADO
um cliente. Todos os departamentos devem possuir pelo menos um empregado alocado, e todos os empregados devem estar alocados em um departamento.
DEPTO
1 10
ALOCA
EMPREGADO
Parcialidade mnima: para um departamento ser criado, devem existem pelo menos 10 empregados alocados.
NOTAES ALTERNATIVAS
DEPTO
ALOCA
EMPREGADO
ATRIBUTO
um dado que associado a cada ocorrncia de uma entidade ou relacionamento. Os atributos no possuem existncia prpria ou independente - esto sempre associados a uma entidade ou relacionamento Exemplos: Funcionrio: Matrcula, Nome, Endereo Material: Cdigo, Descrio Financiamento: Valor total, Meses Fornecedor: Nome, Endereo
21
DOMNIO o conjunto de valores vlidos que um atributo pode assumir. Ex: Estado civil: solteiro, casado, divorciado, vivo TIPOS DE ATRIBUTOS
Opcional/Mandatrio
de telefone Mandatrio: o atributo deve possuir um valor vlido, no nulo. Ex: nome do cliente
Monovalorado/Multivalorado
Monovalorado: o atributo assume um nico valor dentro do domnio. Ex: data de nascimento Multivalorado: o atributo pode assumir um nmero qualquer de valores dentro do domnio. Ex: Telefone para contato
Atmico/Composto
Atmico: o atributo no pode ser decomposto em outros atributos. Composto: o atributo composto por mais de um atributo. Ex:
Ex: Idade
Endereo
ATRIBUTO DE RELACIONAMENTO Assim como as entidades, os relacionamentos tambm podem possuir atributos.
22
IDENTIFICADOR DE ENTIDADES Conjunto de atributos que tem a propriedade de identificar univocamente cada ocorrncia de uma entidade Toda entidade deve possuir um identificador O identificador deve ser mnimo, nico, monovalorado e mandatrio
RELACIONAMENTO IDENTIFICADOR (ENTIDADE FRACA) Existem casos em que uma entidade no pode ser identificada apenas com seus prprios atributos, mas necessita de atributos de outras entidades com as quais se relaciona. Este relacionamento denominado Relacionamento Identificador. Alguns autores denominam uma entidade nesta situao de Entidade Fraca.
IDENTIFICADOR DE RELACIONAMENTOS Uma ocorrncia de relacionamento diferencia-se das demais pelas ocorrncias das entidades que participam do relacionamento. No exemplo
No exemplo, uma ocorrncia de ALOCAO identificada pela ocorrncia de Engenheiro e pela ocorrncia de Projeto. Ou seja, para cada par (engenheiro, projeto) h no mximo um relacionamento de alocao.
Informtica - Fundamentos de Banco de Dados 23
necessrio
uso
de
atributos
identificadores
de
Como o mesmo mdico pode consultar o mesmo paciente em diversas ocasies, necessrio o uso de um atributo que diferencie uma consulta da outra.
GENERALIZAO/ESPECIALIZAO
A generalizao um processo de abstrao em que vrios tipos de entidade so agrupados em uma nica entidade genrica, que mantm as propriedades comuns A especializao o processo inverso, ou seja, novas entidades especializadas so criadas, com atributos que acrescentam detalhes entidade genrica existente A entidade genrica denominada superclasse e as entidades especializadas so as subclasses. A superclasse armazena os dados gerais de uma entidade, as subclasses armazenam os dados particulares Este conceito est associado idia de herana de propriedades. Isto significa que as subclasses possuem, alm de seus prprios atributos, os atributos da superclasse correspondente. Usada quando necessrio caracterizar entidades com atributos prprios ou participao em relacionamentos especficos
Uma generalizao/especializao pode ser total ou parcial: total quando, para cada ocorrncia da entidade genrica, existe sempre uma ocorrncia em uma das entidades especializadas. parcial quando nem toda ocorrncia da entidade genrica possui uma ocorrncia correspondente em uma entidade especializada.
24
Se for necessrio adicionar a informao que, a cada consulta um ou mais medicamentos podem ser prescritos ao paciente, ser necessrio criar uma nova entidade (MEDICAMENTO). Esta entidade deve se relacionar com as consultas, mas CONSULTA um relacionamento. Deve ser criada ento uma entidade associativa.
25
TRANSPORT E
26
1 ALUNO
EMPR S-TIMO
N LIVRO
27
Entidades: seja A um conjunto de entidades com atributos "a1", "a2", ..., "an". Tal entidade representada por uma relao chamada A com "n" colunas distintas - cada uma corresponde a um dos atributos de A; cada tupla corresponde a uma entidade do conjunto de entidades A. Temos como exemplos:
Entidades fracas: seja B um conjunto de entidades fracas com atributos "b 1", "b2", ..., "bn"; seja A um conjunto de entidades fortes do qual B totalmente dependente. Se a chave primria de B constitui-se dos atributos "a1", "a2", ..., "ak", ento B representada por uma relao chamada B com uma coluna para cada atributo do conjunto {a1, a2, ..., ak} {b1, b2, ..., bn}. Por exemplo:
28
Relacionamentos: seja R um conjunto de relacionamentos envolvendo os conjuntos de entidades E1, E2, ..., Em. Para cada Ei, seja i o conjunto de atributos que formam sua chave primria. Seja "r1", "r2", ..., "rn" os atributos de R. A relao correspondente chamase R e possui uma coluna para cada atributo do conjunto 1 2 ... m {r1, r2, ..., rn}. Exemplo:
Generalizao e especializao: seja G um conjunto de entidades, que especializada em conjuntos de entidades E1, E2, ..., En (cada entidade com seus devidos atributos). H dois mtodos para mapear este tipo de conjuntos de entidades em uma representao tabular: o criar uma relao para a entidade de nvel mais alto e, para cada entidade de nvel mais baixo, criar uma relao que inclua uma coluna para cada atributo mais uma para cada atributo da chave primria herdado da entidade de nvel mais alto:
29
no criar uma relao para a entidade de nvel mais alto, mas para cada entidade de nvel mais baixo, criar uma relao que inclua uma coluna para cada atributo mais uma para cada atributo herdado da entidade de nvel mais alto:
Agregao: seja R um conjunto de relacionamentos (envolvendo os conjuntos de entidades E1, E2, ..., En) que agregada, passando a ser tratada como o conjunto de entidades R. Seu mapeamento simples: cria-se uma relao para cada conjunto de entidades e uma relao para R (que representa tanto o conjunto de relacionamentos quanto o conjunto de entidades agregadas).
NORMALIZAO
Normalizao o conjunto de regras que visa minimizar as anomalias de modificao dos dados e dar maior flexibilidade em sua utilizao. 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 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.
Informtica - Fundamentos de Banco de Dados 30
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: 1- 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 ?0 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:
31
No normalizada
2- 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)
32
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. 3- 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 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) 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
Informtica - Fundamentos de Banco de Dados 33
(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.
INTEGRIDADE REFERENCIAL
O conceito de integridade Referencial nos remete preocupao de consistncia no relacionamento entre os dados de duas ou mais entidades ligadas. E uma proteo estrutural contra as anomalias de excluso e atualizao em cascata. Os dados constantes em tabelas so armazenados segundo a estrutura planejada e implementada pelos seus relacionamentos, mantendo assim o nexo dos dados em suas respectivas relaes. No projeto de chaves, foram definidas as chaves primrias e estrangeiras, ligando os dados relacionveis por nmeros. A tabela clientes empresta a chave primria, como chave estrageira, para a tabela vendas, dizendo assim que um determinada venda foi feita por um determinado cliente. Se por algum motivo, mesmo que no recomendvel, na tabela clientes, o registro de um cliente seja excludo a referncia s vendas perder a sua integridade. Muitos registros em venda citaro um nmero de cliente que no existe. Perde-se o nexo ou a integridade referencial. Da mesma forma, trar problemas de integridade o nmero do cliente que seja alterado em clientes e no seja alterado na tabela Vendas. Alguma vendas no tero cliente com o nmero citado ou outras vendas passaro a ser representadas como pertencentes a outro cliente com o numero coincidente com a ataulizao. Como soluo para a anomalia de atualizao em cascata ,o banco de dados trata de atualizar a chave estrangeira em todas as tabelas dependentes daquela chave primria, mantendo assim o nexo. Soluo razovel. No caso da excluso em cascata o SGBD, toma uma atitude drstica, todos os registros das tabelas dependentes sero excludos, j que perdendo o nexo ou referncia, permaneceriam armazenados, sem utilidade, ocupando espao e possivelmente gerando erros em consultas e perda de desempenho.
INDEXAO
Para organizar os registros armazenados em uma tabela, sob o critrio de ordenao alfabtica ou numrica, otimizando busca e consultas ao banco de dados so criados ndices, referenciando um ou mais campos. Na planilha eletrnica, por exemplo, podem ser organizadas as informaes pelo nome do aluno. Portanto as demais colunas acompanharo o nome do respectivo aluno.
34
ATIVIDADES
Modelar e desenhar o DER dos seguintes sistemas comerciais, utilizando os conceitos e tcnicas abordados no material e em sala: a) Biblioteca b) Acadmico c) Controle de Estoque d) Videolocadora e) Atendimento Mdico f) Comanda de Restaurante g) Assitncia Mdica h) Acompanhamento Laboratorial
35