Você está na página 1de 7
Relacionamento © modelo de Entidade e Relacionamento (ER) é um modelo conceitual e deve estar 0 ‘mais proximo possivel da visio que o ustifrio tem dos dados, nao se preocupando em represen tar como estes dados estario realmente armazenados Este modelo tem por objetivo descrever quais dados devem ser armazenados pela aplica- lo e quais desses dados se relacionam, Suponha que uma escola precise armazenar i "des sobre seus alunos, professores, € isciplinas. O modelo dabase de dadosdeve informarquaisdados sobre alunos,professores edisciplinas ‘io importantes para serem armazenados. Assim, sobre os alunos, pocle-se armazenar informagées como nome, data de nascimento ¢ matricula. Sobre os professores, armazenam-se informagées como ne e matricula, A respeito das disciplinas, pode-se armazenar informagdes como go da disciplina eo nome da disciplina. Além dessas informagées, é necessério saber qual professor € responsavel por qual cisciplina e quais alunos fazem a disciplina. © modelo para esse pequeno exemplo ficaria como mostra a figura 2.1 ater fea! Ta —© etna Tiny Y-Onone. éciina L [. ete ata ao nome_prtessor 11 -O nese DERG 0 et scr stne tind se Figure 2.1 ~Exemplo de dela consitual Note que nfo estamos preocupados aqui > em saber como 0s dados serio armazenados ou ee ey como eles devem ser implementados. A nossa gagrama foia brMlodelo, Esta é uma feramenta preocupagio € conseguir entender o que precisa para modeagom de base de dados ratte fol fer armazenado € quais informacdes deve se desenvolida por Carlos Henrique Candido, sob a relacionar. rientagao do Pot Ronaldo dos Santos Melo Observe que o modelo da figura 2.1 informa que a base de dados contém informacies sobre professores, alunos e disciplinas, mas nio se preocupa em descrever 0 valor que esses dados armazenam. © Modelo de Entidade ¢ Relacionamento, apresentado na figura 2.1, utiliza uma repre- sentacio grifica chamada de Diagrama de Entidade e Relacionamento (DER). & importante que se compreenda que 0 Modelo de Fntidade ¢ Relacionamento define os conceitos que serio aplicados no desenvolvimento ce um Diagrama de Entidade ¢ Relacionamento (DER). Assim, o DER seré utilizado para representar graficamente 0 con- junto de objetos do Modelo de Entidade e Relacionamento, tais como entidades, atributos, atributos-chave, relacionamentos, restrigiies estruturais, etc ' ' t ‘Um modelo de Entidade ¢ Relacionamento consiste em um conjunto de objetos bisicos | chamados entidades c de relacionamentos entre as entidades, ' , : . }Entidades e Atributos Y Voce desenvolve um Sistema de Informacio para resolver tum problema do mundo rea. D Assim, toda a informagio referente ao problema que se quer solucionar representa parte deste ¥ mundo. j ‘Uma entidade representa um conjunto de objetos do mesmo tipo do mundo real e sobre os quas se pretende armazenar dados. Por exemplo, 20 deservolver um Sistema de Informagio D para uma escola, as possiveis entidades desse sistema serio: professores, alunos, disciplinas, DB curmas € cursos. . . Uma entidade 6 representada graficaments por um retangulo com ‘nome da entidade dentro do retangulo. Por exemplo: Professor Cada uma dessas entidades armazenard um conjunto de objetos do mesmo tipo. Ou seja, ter uma entidade denominada professor significa que varios professores serdo cadastrados nessa entidade e cada professor representa, portanto, um objeto da entidade. ‘Além de uma entidade representar objetos do mundo real, cla também deve possuir um ‘conjunto de propricdades que a caracterize ¢ a descreva, bem como a0s seus abjetos. A esse con jjunto de propriedades di-se o nome de atributos. Por exemplo, para a entidade Professor, € necessério armazenar dados como: CPF, nome, telefone, endereco, grau de escolaridade, ‘piimero da matricula, etc. Esses dados sio os atributos da entidade Professor e sao eles que © identificam ¢ caracterizam um objeto do tipo professor. ’ oe Introduedo a0 Modelo de Entidade © ‘utro exemplo, para uma entidade chamada Cadeira, os possfveis atributos dessa entidade serio: ntimero de pernas, cor, tarnanho, peso, altura, tecido, ete ‘© nome dos atributos deve representar o que aquele atributo armazena Um atributo pode ser representado graficamente por uma elipse com o nome do atributo dentro da elipse. A elipse é ligada a entidade por uma linha, conforme exemplo: Mavicala_prot Toleone ps ee Nome_pr ee PROFESSOR OPF_prot Outra forma de rapresentacdo utilizada por algumas ferramentas 6 representar o atributo como uma bolinha ligada a entidade @ com o nome do atributo ao lado, conforme exemplo: gO telefon, professor ne FF 6 to,se {@ maticila_pratesor CPF_prfesor Wy Unna entidade deve ter ao menos dois atributos. Una entidade que possui apenas um atri- buto nio € entidade e esse tinico atributo deveria estar em alguma outra entidade do modelo. ‘Todo atributo possui um tipo de dado que representa os valores permitidos para aquele atributo. A esse tipo de dados da-se o nome de dominio do atributo. Por exemplo: o atributo da entidade “Cadein armazenados valores inteiros para esse atribu Os tipos de dados dependem do SGBD que o desenvolvedor esté uti todos os SGBD disponibilizam tipos de dados como: ineir, caractes, real (ou float), data ¢ hora. “ngimero de perna do tipo inteiro, ou seja, s6 permite que sejam ndo. De forma geral, Quando se define o tipo de um atributo, pode-se definir inclusive o tamanho méximo que o atributo vai permitir armazenar. Por exemplo, 0 atributo “nome” é do tipo caracter (500), ‘ou seja, armazena no maximo 500 caracteres Os atriburtos podem ainda ser divididos em 6 categorias: simples, compostos, monovalo- rado, multivalorado, derivado ¢ nulo. E importante ressaltar que 0s atributos podem pertencer tempo. Isso significa que € comum um tinico atributo ser Serio explicadas e exemplifica~ a mais de uma categoria ao me: simples, monovalorado e derivado ao mesmo tempo. A segui das cada uma das categorias. + Atributo simples: é o atributo indivisivel, que no pode ou nio deve ser decomposto. SPP”, “numero da matricula”, “RG”, “prego do produto”, etc. Por exemplo: + Atributo composto: € o atributo que pode ser decomposto em outros atributos simples. Por exemplo, o atributo “ende- selam decomposts anda no 1? modelo, ue ¢o ” ane. asnome da Modelo de Enidade e Relacionarento, una vez reco” pode ser decomposto em “nome diye sso val tr qu ocarer obit No rua’, “rximero” e “complemento’ sada ‘Alguns aibutos como, por exemplo, “nome 0 aluro” pode ser classicado como simples * Atributo monovalorado: ¢ o atributo que permite apenas 0 armazenamento 9) St to gopendenda da apicacao. Se de um valor por vez. Por exemplo, © na aplicagao forem realzadas consuttas pelo | atributo “CPF” & monovalorado porque sobrename do aluno, & interessante que este tribute. seja decomposto em dois atributos simples: “primeiro nome" e “sobrenome”. Isso ‘corre por questdo de desempenho, ‘uma pessoa possui apenas um niimero de CPF. Caso 0 CPF seja alterado ele € substi- tufdo pelo novo valor. Assim, uma pessoa ‘munca ter’ cadastrado mais de um CPF no mesmo campo. * Atributo multivalorado: é o atributo que permite armazenar mais de um valor 20 ‘mesmo tempo no mesmo campo. Por exemplo, atributo e-mail pode ser multivalorado ‘uma vez que uma pessoa possuli, normalmente, mais de um endereco de e-mail { ' ' ' , © atributo multivalorado deve ser evitado sompre que possivel. f No entanto, em situagdes em que no é possivel evité-lo, ele deve ser ’ representado no diagrama como multivalorade (ver como representar , na figura 2.2). Quando formos pasar o DER para o Modelo Relacional , (capitulo 4), vamos entender o que acontece com esse atributo. Outro r ponto importante: quem determina se 0 atributo 6 multivalorado ou nao, » muitas vezes, é 0 proprio usuario do sistema. No caso do exemplo do \ atributo "e-mail", o usuario pode determinar que somente 6 necessario » ‘armazenar um e-mail e sendo assim o atributo deixa de ser multivalo- » rado e passa a ser monovalorado. , , , , in * — Afributo mulo: € 0 atributo que permite que seja iaserido _Yolor nal ‘um valor nulo para cle. Valor nulo representa a inexistén- —Yaler nul ferent de ‘cia de uum valor, ou seja, significa que 0 usuirio no precisa —_slorzera! 0 vl nao : lo vavio. Em (amesetedo pr male bance 5 eadastrar um valor para o atributo c pode deixi dlgumas ituacées, é inevitivel que permitamos valores nulos aes sie gue sae | para os atributos. Vamos usar novamente o atributo “e-mail” ‘anmoest az. 3 “como exemplo. Como nem todas as pessoas posstem e-mail, esse atrbuto deve permitir 8 “yalores mulos, porque se ele nio permitir algumas pessoas nao poderio se cadastrar ot | ferdo que criar um e-mail para poder efetivar o cadastro. Novamente é 0 usuario quem, imiuitas vezes, vai definir se um atributo é obrigatério ow nao. 3 ‘Ovalor nulo na base de dados pode levar o banco a ficar inconsistente 10, Mesmo que o atributo nio seja obrigat6rio, interessante que ele receba um valor padrio (dlefaul!) via aplicacio ou via SGBD para evitar 0s valores nulos. * — Atributo derivado: é o atributo cujo valor para ele detiva de outro(s) atributo(s). Por Z ‘exemplo, suponha que a sua entidade se chame compra ¢ que ela tenha os seguintes atributos: “riimero da compra”, “data cla compra’, “valor da compra”, “percentual de desconto” ¢ “valor da compra com o desconto”. O valor para este tiltimo atributo ¢ cal- ‘culado considerando-se o “valor da compra” ¢ o “percentual de desconto”. Assim, esse atributo é derivado porque scu valor deriva dos valores de outros atributos ¢ ¢ calculado auitomaticamente pela aplicacio ou pelo SGBD. evevvsvvTe f A figura 2.2 apresenta formas de representacio dos tipos dos atributos descritos anteriormente. Representagies de Atributos: ATRBUTO SIMPLES AripuTo ‘e MONOVALORADO HAVE arBuTO coMPosTo oa ATRBUTO araieuro ‘MULTIVALORADO DenIvao0 Figura 2.2 — Representa gréfica ds tributes ve Primaria Um conceito importante no Modelo de Entidade ¢ Relacionamento € 0 conceito de: chave primétia (ou Primary Key ou ainda PK). Uma chave priméria é um atributo da entidade que identifica apenas um objeto dessa entidade. Portanto, o valor dentro de uma chave priméria ndo poderd se repetir ¢ também nio poder receber um valor nulo. Cha Por exemplo, na entidade “Professor”, tanto o atributo “CPE” quanto o atributo “matri= cula” nao se repetem, uma vez quc esses atributos sio tinicos para cada individuo. Nesse caso, qualquer um dos dois atributos poderia ser definido como uma chave priméria. A pergunta é: Qual deles eu devo definir como uma chave priméria? Bem, se mais de tum atributo for Gnico para a entidade, a escolha da chave primiia vai depender do escopo do problema e de como serio realizadas as consultas. Considerando-se que a maioria dos SGBD. vincula um indice a chave primaria, ¢ interessante que essa chave priméria seja o atributo mais utilizado nas consultas. Para o exemplo da entidade “Professor”, a maioria das consultas seriam feitas considerando-se a matricula do professor na instituigio ¢ nio 0 CPR. A opcio por con= sultas que tenham como condicio a matricula do professor se deve por causa do escopo do problema, uma vez. que a matricula do professor é um atributo muito mais espectfico para a instituigio de ensino, Sendo assim, o atributo matricula_professor seria a melhor opcZo para sera chave priméria. Outro ponto importante a considerar durante a decisio de qual atributo deverd ser a chave priméria € que se deve dar preferéncia a atributos numéricos (inteiros) em vez de atribu= , data ou hora. Como “CPF” é um atributo do tipo caractere, ele poderia por esse motivo também tos do tipo caracter ser descartado como chave pri Tipos de Chave Primaria ‘Uma chave priméria pode ser simples ou composta. Uma chave priméria simples é aquela que seré formada por apenas um atributo. Por exemplo: matricula_professor. ‘Umma chave priméria composta é formada por dois ou mais atributos. Por exemplo, imagine que tenhamos tma entidade chamada “Localizagio” ¢ esta entidade tem os seguintes aributos: “nome da cidade”, “nome do estado”, “nome do pais”. Cada tum desses atributos sozinhos no pode ser chave pi miria porque eles se repetem, como mostra a figura 2.3, | nome_cidade nome_estado. ‘nome_pais Curitiba Parana Brasil | Maringa Parana Brasil ‘Campo Grande Mato Grosso do Sul Brasil ‘Campo Grande io de Janeiro Brasil Fgura 2.3 ~ Exempla de dado armazanadasnaenidade “Locliaso" Como 0s atributos individualmente podem se repetir, vamos tentar encontrar tuma chave priméria composta. Sabemos que no Brasil um estado nfo tem duas cidades com 0 mesmo nome. Sendo assim, poderiamos criar tuma chave priméria composta do “nome da cidade” mais o “nome do estado” "porque o valor para esses dois atributos juntos nunca vai se repetir. ; ‘Nesse caso, 0 atributo “nome da cidade” no é uma chave priméria, ¢ ‘sim faz parte da chave priméria. te destacar que nao existe mais de uma chave primaria Essa chave priméria podera ser simples ou composta. , 6 uma unica chave primaria pore de mais de fade Fraca | _Entidade fraca é um tipo de entidade que nao possui atributo chave pri- ‘maria por si s6. Isso significa que nio é possivel definir uma chave primétia, ‘nem simples nem composta, para a entidade, ‘Além disso, uma entidade fraca é dependente de uma 1: ‘outra entidade, ¢ 0 relacionamento entre a entidade fraca.c a Moteréo que inca ‘outra entidade € normalmente 1:N, e 0 N fica junto & enti- dade fraca. cardinaldade Le 1 para A entidade “Contato” da figura 2.4 é uma entidade fraca porque nao possui um atributo (ou conjunto de atributos) que identifique um tinico objeto, Além disso, ela € dependente da entidade “Aluno”, porque s6 existe um contato se houver 0 altno para aquele contato, Finalmente, o relacionamento entre as duas entidades (Aluno ¢ Contato) € 1:N, ou seja, um: aluno pode ter varios contatos, mas um contato pertence a apenas um aluno, este conceito de 1:N sera aprofundado no capitulo 3. Na figura 2.4, a entidade fraca é representada por uma linha mais grossa (da entidade a0 relacionamento). Figura 24 ~Examplo de uma enti aca Alguns livros de banco de dados representam a entidade fraca por um retingulo duplo € © relacionamento entre entidade fraca ¢ outta entidade por um losango duplo, como mostra a figura 25. CLD =D f N bs: Reset canta |l_-— roca Figura 25 —Evemplo de ums ontidae fraca usando aura notago Mt

Você também pode gostar