Você está na página 1de 35

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

Fundamentos de Banco de Dados

Informtica - Fundamentos de Banco de Dados

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Informtica - Fundamentos de Banco de Dados

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

Modelo Infolgico Modelos Orientados para Objetos (OO)

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.

Informtica - Fundamentos de Banco de Dados

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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.

Informtica - Fundamentos de Banco de Dados

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

MODELO DE DADOS FSICO


Usados para descrever os dados em seu nvel mais baixo. Capturam os aspectos de implementao do SGBD.

MODELAGEM DE DADOS USANDO O MODELO ENTIDADE-RELACIONAMENTO


Modelagem conceitual uma fase importante no projeto de uma aplicao de base de dados bem sucedida. De um modo geral, o termo aplicao de base de dados referese a uma base de dados particular e aos programas associados que implementam as consultas e atualizaes da base de dados. Por exemplo, a aplicao de base de dados de uma biblioteca corresponde base de dados que mantm registros sobre livros e revistas, e usurios, e tambm aos programas que implementam consulta de livros feitos pelos usurios
Informtica - Fundamentos de Banco de Dados 7

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

CONSTRUIR O MODELO LGICO


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

CONSTRUIR O MODELO FSICO


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 MODELO FSICO


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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Informtica - Fundamentos de Banco de Dados

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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.

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

Informtica - Fundamentos de Banco de Dados

13

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

MODELO ENTIDADE-RELACIONAMENTO (M.E.R.)


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)

ELEMENTOS DO DIAGRAMA ENTIDADE-RELACIONAMENTO


A estrutura lgica global de uma base de dados pode ser expressa graficamente por um diagrama chamado entidade-relacionamento, que consiste nos seguintes componentes: Retngulo: representam conjuntos de entidades:

Informtica - Fundamentos de Banco de Dados

14

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

identifica uma entidade forte

identifica uma entidade fraca Elipses: representam atributos:

identifica um atributo para um nico valor (monovalorado)

identifica um atributo para vrios valores (multivalorado)

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 um-para-muitos


Informtica - Fundamentos de Banco de Dados 15

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Informtica - Fundamentos de Banco de Dados

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

AUTO-RELACIONAMENTO Relacionamento entre ocorrncias da mesma entidade.

PESSOA

marido CASAMENTO

esposa

Informtica - Fundamentos de Banco de Dados

17

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

Diagrama de ocorrncias no auto-relacionamento:

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).

Informtica - Fundamentos de Banco de Dados

18

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

Relacionamentos 1:1 (um-para-um)

Relacionamentos 1:N (um-para-muitos)

Relacionamentos N:N (muitos-para-muitos)

Informtica - Fundamentos de Banco de Dados

19

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

RELACIONAMENTO TERNRIO o relacionamento formado pela associao de trs entidades

Cardinalidade em relacionamentos ternrios:

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Notao Heuser: semntica associativa DEPTO (1,1 ) (0,N) ALOCA EMPREGADO

Notao Santucci/MERISE: semntica participativa (0,N) (1,1)

DEPTO

ALOCA

EMPREGADO

Notao Setzer: semntica associativa DEPTO 1 ALOCA N 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

Informtica - Fundamentos de Banco de Dados

21

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

DOMNIO o conjunto de valores vlidos que um atributo pode assumir. Ex: Estado civil: solteiro, casado, divorciado, vivo TIPOS DE ATRIBUTOS
Opcional/Mandatrio

Opcional: o atributo pode possuir um valor nulo (vazio). Ex: nmero

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.

Informtica - Fundamentos de Banco de Dados

22

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

Em certos casos, ser relacionamentos. Por exemplo:

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.

Informtica - Fundamentos de Banco de Dados

24

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

ENTIDADE ASSOCIATIVA (AGREGAO)


O uso desta abstrao necessrio quando um relacionamento deve ser representado como uma entidade no modelo conceitual. Isto ocorre quando necessrio estabelecer um relacionamento entre uma entidade e um relacionamento. Para atender a esta situao foi criado o conceito de Entidade Associativa ou Agregao. A agregao simplesmente um relacionamento que passa a ser tratado como entidade. Considerando o exemplo

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.

Informtica - Fundamentos de Banco de Dados

25

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

Outra forma alternativa de se representar a entidade associativa

RELACIONAMENTO MUTUAMENTE EXCLUSIVO


Neste tipo de relacionamento uma ocorrncia de um entidade pode estar associada com ocorrncias de outras entidades, mas no simultaneamente. AVIO TRANSPORT E CARGA

TRANSPORT E

PASSAGEIRO Informtica - Fundamentos de Banco de Dados

26

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

RESTRIO DE PERSISTNCIA NO RELACIONAMENTO


Um relacionamento persistente quando, depois de criado, ele no puder ser removido indiretamente pela remoo de uma ocorrncia de uma das entidades associadas.

1 ALUNO

EMPR S-TIMO

N LIVRO

Informtica - Fundamentos de Banco de Dados

27

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

MAPEANDO DIAGRAMAS ENTIDADE-RELACIONAMENTO A RELAES


Uma base de dados com forma correspondente a um diagrama entidaderelacionamento pode ser mapeado (representado) por uma coleo de relaes - para cada conjunto de entidades e para cada conjunto de relacionamentos, h uma nica tabela que tem o nome do conjunto correspondente; cada tabela possui um nmero de colunas (vinculados aos atributos), que possuem nomes nicos. Para vermos o resultado do mapeamento dos diagramas em relaes, os exemplos sero baseados na proposta para a universidade vista no modelo entidade-relacionamento:

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:

Informtica - Fundamentos de Banco de Dados

28

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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:

Informtica - Fundamentos de Banco de Dados

29

Escola Estadual de Educao Profissional [EEEP] o

Ensino Mdio Integrado Educao Profissional

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).

ATRIBUTOS: ESQUEMAS E INSTNCIAS, E CHAVES


Em uma relao, o conjunto de atributos define sua concepo lgica (ou seja, seu esquema), enquanto que o conjunto de valores relacionados queles atributos determina sua instncia (o conjunto de dados da relao em um determinado instante). Observe que, em algumas relaes de uma mesma base de dados, alguns atributos aparecem em ambos (por exemplo: o atributo "cdigo" nas relaes Disciplina e Assiste). No coincidncia: o uso de atributos comuns em esquemas de relaes distintas uma maneira de relacionar tuplas de relaes distintas. No caso do exemplo, o atributo "cdigo" representa o mesmo conjunto de entidades em ambas as relaes. A noo de superchave, chave candidata e chave primria, conforme discutidos no modelo entidade-relacionamento, tambm aplicvel no modelo relacional. Por exemplo: no relacionamento Disciplina, {cdigo, nome, departamento} uma superchave, mas no uma chave candidata pois "cdigo" e {nome, departamento}, por si ss, tambm so superchaves; como nem "nome" nem "departamento" so superchaves, temos que {nome, departamento} e "cdigo" so chaves candidatas, sendo que o ltimo foi escolhido como chave primria.

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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:

Informtica - Fundamentos de Banco de Dados

31

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

No normalizada

Normalizada usando a primeira forma normal (1FN)

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)

Informtica - Fundamentos de Banco de Dados

32

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

(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.

Informtica - Fundamentos de Banco de Dados

34

Escola Estadual de Educao Profissional [EEEP]

Ensino Mdio Integrado Educao Profissional

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

Informtica - Fundamentos de Banco de Dados

35