Prograa DCC011 Itrodução a Baco de Dados Modelo Etidade Relacioaeto Mirella M. Moro Departaeto de Ciêcia da Coputação Uiversidade Federal de Mias Gerais irella@dcc.ufg.br IMPORTATE: e algus slides, eu ão falo ada porque te texto suficiete o eso para copreedê lo. Para evitar cofusão, eles possue este síbolo ao lado do úero do slide: Itrodução Coceitos básicos, características da abordage de baco de dados, odelos de dados, esqueas e istâcias, arquitetura de u sistea de baco de dados, copoetes de u sistea de gerêcia de baco de dados. Modelos de dados e liguages Modeloetidade relacioaeto d l i t (ER), odelo relacioal, l álgebra relacioal, SQL. Projeto de bacos de dados Fases do projeto de bacos de dados, projeto lógico de bacos de dados relacioais, oralização. ovas Tecologias e Aplicações de Baco de Dados 2 Modelo Etidade Relacioaeto 1. Revisão 2. Geeralização e especialização 3. Restrições sobre Hierarquias de Especialização/Geeralização 4. Relacioaeto terário Processo de Projeto de Bacos de Dados Idepedete de SGBD POTO DE PARTIDA Requisitos de Dados USADO O MODELO O ER Esquea Coceitual Modelo de dados de alto ível 3 4 1. CORREÇÃO E REVISÃO Etidades, atributos, relacioaetos Atributos: siples, coposto, ulti valorado Atributos chave Papeis Relacioaetos Cardialidades (1:1, 1:, :M) Participação (total, parcial) 1. Forula 1 Deseja se projetar ua base de dados que ateha resultados de corridas de Fórula 1. A base de dados deve ater iforações sobre as equipes (código, oe e país), be coo sobre os pilotos que pertece a cada equipe (equipe a que pertece, código, oe e país). Os países são idetificados por ua sigla e a base de dados deve coter o oe de cada país. Tabé é ecessário arazear dados sobre os circuitos (código, oe e país). Para cada corrida realizada o circuito, é ecessário saber a data e que ocorreu, a duração e iutos e a posição que cada piloto obteve a corrida. 5 6
Erros ais Cous Erros ais Cous Corrida precisa ser Etidade,,pois é ecessário arazear data e duração. ERRADO: colocar corrida coo relacioaeto etre Piloto e Circuito, e arazear data e duração coo atributo desse relacioaeto; está errado porque a data e a duração serão arazeadas para cada piloto daquela corrida, ou seja: para data, é o eso dado repetido várias vezes o baco de dados (redudâcia e icosistêcia) e para duração, será a do piloto e ão a da corrida coo u todo. A posição do piloto a corrida é u atributo do relacioaeto etre Piloto e Corrida. Lebrar que vários pilotos corre e várias corridas, e e cada ua aquele piloto te ua posição. País aparece apeas UMA vez o esquea coo etidade. Equipe, Piloto e Circuito possue país. Esse dado é arazeado o esquea através do relacioaeto co a etidade d País. Colocar a etidade País e atributo país e Equipe, Piloto e Circuito está errado: redudâcia e icosistêcia. 7 8 Observações que pode levar a erros U relacioaeto só precisa de oe quado existe ais de u relacioaeto etre as esas etidades (1) Professor alocado Departaeto t (2) Professor chefia Departaeto Toda etidade precisa de u atributo chave: prieiro, deve se verificar etre os atributos dos requisitos se algu é a chave (por exeplo: cpf, sigla do país); caso ão exista, pode se defiir ua chave padrão (por exeplo: código, idetificador, etc). Atributos chave deve ser sublihados. Relacioaetos ão tê atributo chave. Observações que pode levar a erros e todas as cardialidades vê dos requisitos: ua equipe pode ter vários pilotos e ua teporada (alé dos 2 titulares, existe os de teste que pode virar titular durate a teporada). Relacioaetos co ais de u participate tê cardialidade (e vez de 2 ou 5). Durate a odelage coceitual ão iteressa o SGBD! ão iteressa coo irão ficar as tabelas!!!!! Modelo coceitual visto e aula = Modelo Etidade Relacioaeto (ER). Coceitos do odelo ER: etidade, atributo e relacioaeto (viu? se tabelas ). 9 10 Etidade d é etidade d Relacioaeto é relacioaeto ão existe etidade de etidade ão existe relacioaeto de relacioaeto ão existe u detro do outro PORÉM existe Etidade Associativa U ser híbrido que é *raraete* utilizado a prática Raraete MESMO, poré coceitualete iteressate e poderoso 11 12
2. Etidade associativa Diagraa ER atual para represetar édicos e suas cosultas co pacietes: Cosulta Paciete AGORA: ecessário saber que edicaetos existe e que edicaetos fora prescritos e cada cosulta Medicaeto Relacioado a? Relacioado a Paciete? Relacioado à Cosulta? O PROBLEMA Dado o seguite diagraa ER, agora é ecessário saber que edicaetos existe e que edicaetos fora prescritos e cada cosulta SOLUÇÃO 1 Atributo de. Cosulta Ifora qual édico prescreveu. Perde para qual paciete e e qual cosulta. Coo saber todos os edicaetos existetes?! edicaeto Cosulta Paciete Paciete 13 14 O PROBLEMA Dado o seguite diagraa ER, agora é ecessário saber que edicaetos existe e que edicaetos fora prescritos e cada cosulta SOLUÇÃO 2 Atributo de Paciete. Cosulta Ifora qual paciete recebeu. Perde para qual édico e e qual cosulta. Coo saber todos os edicaetos existetes?! Cosulta Paciete Paciete edicaeto O PROBLEMA Dado o seguite diagraa ER, agora é ecessário saber que edicaetos existe e que edicaetos fora prescritos e cada cosulta SOLUÇÃO 3 Atributo de Cosulta. Cosulta Paciete Ifora qual paciete recebeu e qual édico prescreveu!!!! E e qual cosulta! Ótio!!!! PORÉM coo saber todos os edicaetos existetes?! Cosulta edicaeto Paciete 15 16 O PROBLEMA Dado o seguite diagraa ER, agora é ecessário saber que edicaetos existe e que edicaetos fora prescritos e cada cosulta Cosulta Paciete SOLUÇÃO 4 ETIDADE ASSOCIATIVA: híbrido de etidade e relacioaeto Cosulta prescrição Medicaeto Paciete 17 Etidade associativa Etre e Paciete, cosulta é relacioaeto (e aarelo) Etre Cosulta e Medicaeto, cosulta é etidade (e azul) Td Todos requisitos ii atedidos Todos edicaetos existetes estão a etidade própria (idepedete de tere sido prescritos) Se edicaetos são prescritos, o relacioaeto prescrição ifora quais fora co os respectivos édicos e pacietes iforados por cosulta Cosulta Paciete prescrição iã Medicaeto 18
3. Especialização e Geeralização Especialização Processo de defiição de u cojuto de sub classes (sub tipos) de u tipo de etidade Geeralização Processo de defiição de u tipo de etidade geérico (super classe ou super tipo) a partir de u cojuto de tipos de etidade Exeplo: {secretária, egeheiro, técico} é ua especialização de Epregado; ou Epregado é ua geeralização de {secretária, egeheiro, técico} Especialização e Geeralização Toda istâcia de ua sub classe (ou sub tipo) é tabé istâcia de sua super classe (ou supertipo) Ex.: Joh Sith é u egeheiro e é u epregado Heraça de Tipo: Ua etidade de ua sub classe te todos os atributos e relacioaetos da super classe E outra palavras, ela herda todos os atributos e relacioaetos da super classe E pode defiir seus proprios atributos e relacioaetos locais ou específicos (*) 19 20 Subs herda atributos e relacioaetos Pessoa: 3 atributos 1 relacioaeto Pessoa Física: 6 atributos 1 relacioaeto Pessoa Jurídica: 7 atributos 1 relacioaeto Istâcias PESSOA FÍSICA reg localização valor id dataii ed JURÍDICA Ióveis 1 Pessoa cpf oe estado civil il Física d cpj razao social Jurídica setor produtivo valor estiado Heraça disjutiva (d) : pessoa é {física XOR jurídica} Heraça total (liha dupla): toda pessoa é sub 21 22 Subs precisa ter atributos ou relacioaetos próprios, seão fica iguais à super Qual a difereça etre Pessoa e Pessoa Física?! ãofazsetidoterabas ter abas Heraça é u tipo especial de relacioaeto Ergo, ua etidade pode ter várias heraças Epregado: Pode ser {SECRETARIA xortecico xor EGEHEIRO} Pode ser GERETE Precisa ser {ASSALARIADO xor HORISTA} reg localização valor id dataii ed Ióveis 1 Física Pessoa d cpj razao social Jurídica setor produtivo valor estiado 23 Figura 4.1 otação de diagraa EER para represetar as subclasses e a especialização. 24
25 Quais istâcias de epregados existe? RESPODER EXERCÍCIOS o MOODLE (a) Gerete-Secretária-Assalariada (b) Técico-Assalariado (c) Egeheiro-Técico-Horista (d) Gerete-Horista (e) Secretária (f) Egeheiro-Gerete (g) Epregado (h) Epregado-Assalariado Figura 4.2 Istâcias de ua especialização. 26 Quatos atributos possue istâcias de (a) Gerete-Secretária-Assalariada (b) Técico-Assalariado (c) Gerete-Horista (d) Epregado-Assalariado Atributo coposto = 1 atributo Atributo ultivalorado = 1 atributo Quatos relacioaetos possue (a) Gerete-Secretária-Assalariada (b) Técico-Assalariado (c) Gerete-Horista (d) Epregado-Assalariado RESPODER EXERCÍCIOS o MOODLE Especialização O processo de especialização perite: Defiir u cojuto de sub classes (sub tipos) de u tipo de etidade Estabelecer atributos específicos adicioais para cada sub classe (sub tipo) Estabelecer tipos de relacioaetos especificos adicioais etre cada sub classe (sub tipo) e outros tipos de etidades ou outras sub classes (sub tipos). 27 28 4. Restrições sobre Hierarquias Figura 4.3 Coo geeraliza? Geeralização. (a) Dois tipos de etidade, CARRO e CAMIHAO. (b) Geeralizado CARRO e CAMIHAO a superclasse VEICULO. 29 Defiida id por atributo ou usuário Disjução: Sub classes pode ser disjutas ou sobrepostas Copletude: A cobertura da super classe e relação às sub classes pode ser total ou parcial Restrições possíveis: Disjuta/Total Disjuta/Parcial Sobreposta/Total Sobreposta/Parcial 30
d = disjução U Epregado é Secretária OU Técico OU Egeheiro o = sobreposição Ua peça é fabricada E/OU forecida Figura 4.4 4 otação do diagraa EER para ua especialização defiida por atributo e TipoTrabalho. 31 Figura 4.5 otação de diagraa EER para ua especialização sobreposta (ão disjuta). 32 PARCIAL Epregados pode ser {Secretaria,técico,egeheiro} técico egeheiro} Geretes TOTAL TODO Epregado é Assalariado OU Horista Restrições sobre Hierarquias de Especialização/Geeralização Hierarquia Toda sub classe participa coo ua sub classe e apeas u relacioaeto classe/sub classe Reticulado lattice, heraça últipla, grade de especialização Ua sub classe pode participar i e ais de u relacioaeto classe/sub classe 33 34 Atributos e relacioaetos oitidos para siplificar a iage, as existe! Figura 4.6 U reticulado de especialização, co a subclasse GERETE_EGEHARIA copartilhada. 35 Figura 4.7 U reticulado de especialização, co heraça últipla, para u baco de dados UIVERSIDADE. 36
Quatos atributos te (a) Epregado (b) ExAluo (c) Aluo (d) Docete (e) Assistete Aluo (f) Aluo Graduado RESPODER EXERCÍCIOS o MOODLE Figura 4.7 U reticulado de especialização, co heraça últipla, para u baco de dados UIVERSIDADE. 37 5. Relacioaetos Terários ovo requisito para Uiversidade É ecessário cadastrar os livros texto utilizados as disciplias para fis de cotrole da biblioteca Para cada livro texto, arazear: isb (idetificador) lista de autores título editora Alé disso, é iportate saber qual professor está utilizado quais livros e qual disciplia 38 Relacioaetos Terários REQUISITOS DE DADOS Para cada livro texto, t arazear: isb idetificador, lista de autores, título, editora Alé disso, é iportate saber qual professor está utilizado quais livros e qual disciplia id cpf Disciplia oe Professor cotato LivroTexto Istâcias do Relacioaeto Terário Professor Disciplia Professor Disciplia LivroTexto Para a istâcia de u relacioaeto terário existir, ela precisa de ua istâcia de cada etidade evolvida o relacioaeto cod cre oe pré req ed ib isb titulo autores LivroTexto 39 40 Relacioaetos Terários esses diagraas são equivaletes?! Quatidade foe Proj_oe FORECEDOR forece Relacioaetos Terários Quatidade foe FORECEDOR forece Proj_oe u_peça foe FORECEDOR pode u_peça for ece Proj_oe usa u_peça Para a istâcia de u relacioaeto terário existir, ela precisa de ua istâcia de cada etidade evolvida o relacioaeto Ou seja, Forece *ecessariaete* coecta ua peça de u forecedor para u projeto Por que precisa de u de cada???? 41 42
Relacioaetos Terários foe FORECEDOR Quatidade forece Proj_oe u_peça Por que precisa de u de cada???? Se u coputador do eu projeto dá problea, coo proceder? Precisa verificar qual foi a peça (pode ter u recall para tal) e etrar e cotato co o seu forecedor para utilizar o serviço de garatia. Ou seja, para cada peça coprada para u projeto, abos forecedor e úero da peça são esseciais. Ergo, relacioaeto etre três etidades. 43 Figura 3.10 Alguas istâcias de relacioaeto do cojuto de relacioaeto terário FORECE. 44 Perguta Existe outra aeira de represetar este requisito? Para cada peça adquirida para u projeto, é ecessário saber seu forecedor e respectivo úero da peça Relacioaetos Terários Represetação usado Tipo de Etidade Fraca foe FORECEDOR Quatidade FORECE 1 1 Proj_oe Si, e essa é ua das grades vatages do odelo ER: peritir ais de ua represetação para o eso cojuto de requisitos OK, coo seria essa represetação?! u_peça 1 45 Figura 4.11 FORECE represetado coo u tipo etidade fraca. 46 MAS HEI!? foe FORECEDOR Quatidade FORECE 1 1 Proj_oe Relacioaetos Terários Outro exeplo de ão equivalêcia: o relacioaeto terário é equivalete aos três biários? u_peça Para cada peça adquirida id para u projeto, é ecessário saber seu forecedor e úero da peça. este segudo diagraa, forece existe apeas se associar ua peça de u forecedor para u projeto O sigificado é exataete o eso do relacioaeto terário aterior 1 47 Figura 4.12 Outro exeplo de tipos relacioaeto terário versus biário. i 48