INF1383 -Bacos de Dados Prof. Sérgio Lifschitz DI PUC-Rio Eg. Computação, Sistemas de Iformação e Ciêcia da Computação PROJETO DE BANCOS DE DADOS MODELAGEM CONCEITUAL: ABORDAGEM ENTIDADES E RELACIONAMENTOS Slides baseados ou modificados dos origiais de Carlos A. Heuser -Trasparêcias para uso com o livro Projeto de Baco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1999 1 Projeto de Bacos de Dados - íveis de abstração modelo coceitual abstração modelo lógico modelo físico 2 1
Modelagem coceitual Idepedete de tipo de SGBD Registra Estrutura dos dados podem aparecer o baco de dados Não registra Como estes dados estão armazeados a ível de SGBD Como os dados são mauseados 3 Modelo coceitual - diagrama ER Técica mais difudida de modelagem coceitual Abordagem etidade-relacioameto (ER) Modelo coceitual é represetado através de diagrama etidade-relacioameto (DER) 4 2
Diagrama etidade-relacioameto preço Produt o 1 Tipo de produt o descrição código descrição código 5 Modelagem lógica Nível de abstração mais próximo de implemetação Especifica estrutura dos dados e também forma de mauseio dos dados Defiição de modelo de dados Há vários modelos cohecidos: relacioal, orietado a objetos, semi-estruturado, etc. Modelo relacioal: estrutura os dados em relações (tabelas) e usa algebra ou SQL para vê-los 6 3
Modelagem lógica - Relacioal Esquema relacioal para o exemplo TipoDeProduto CodTipoProd DescrTipoProd 1 Computador 2 Impressora Produto CodProd DescrProd PrecoProd CodTipoProd 1 PC desktop modelo X 2.500 1 2 PC otebook ABC 3.500 1 3 Impressora jato de tita 600 2 4 Impressora laser 800 2 7 Esquema lógico para o exemplo Modelo lógico escolhido: RELACIONAL TipoDeProduto(CodTipoProd,DescrTipoProd) Produto(CodProd,DescrProd,PrecoProd,CodTipoProd) CodTipoProd referecia TipoDeProduto Chaves primárias sublihadas 8 4
Modelagem Física Cotém detalhes de armazeameto itero Depedetes do SGBD particular escolhido Sitaxe LMD/LDD e objetos do baco de dados Detalhes que ão têm ifluecia sobre a programação de aplicações o SGBD iflueciam o desempeho das aplicações Usados por profissioais que fazem sitoia fia (tuig) de performace em baco de dados 9 Projeto de BD Tipicamete em duas fases: 1 Modelagem coceitual 2 Projeto lógico Adequado para a costrução de um ovo baco de dados Caso já exista um baco de dados ou um cojuto de arquivos covecioais, usar reegeharia Terceira fase (modelagem física) completa o ciclo 10 5
Modelagem Coceitual de Dados: Abordagem Etidade-Relacioameto Técica para costruir modelos coceituais de bases de dados Também usada para aálise de sistemas em geral Técica de modelagem coceitual de dados mais difudida e utilizada Publicada em 1976 por Peter Che e com várias extesões propostas desde etão Não é um modelo de dados lógico pois especifica somete a estrutura, ão há mauseio de dados! 11 Abordagem Etidade-Relacioameto Padrão de fato para modelagem coceitual Não é úica: NIAM/ORM (técica européia da década de 70) UML (Técica para modelos Orietados a Objetos) Técicas de modelagem orietada a objetos (UML) baseiam-se os coceitos da abordagem ER UML é liguagem com objetivos que vão além da modelagem coceitual! 12 6
Abordagem Etidade-Relacioameto Modelo coceitual de dados é represetado através de um modelo etidade-relacioameto (MER) MER é represetado graficamete por um diagrama etidade-relacioameto (DER) 13 Coceitos cetrais da abordagem ER Etidade Relacioameto Atributo Geeralização/especialização Etidade associativa 14 7
Etidade Cojuto de objetos da realidade modelada sobre os quais deseja-se mater iformações o baco de dados 15 Etidade exemplos Sistema de cotas corretes clietes cotas corretes cheques agêcias Etidade pode represetar objetos cocretos da realidade (uma pessoa, um automóvel) objetos abstratos (um departameto, um edereço) 16 8
Etidade o DER Represetada através de um retâgulo Retâgulo cotém o ome da etidade. PESSOA DEPARTAMENTO 17 Etidade e istâcia Para referir um objeto particular fala-se em istâcia ou ocorrêcia de etidade 18 9
Propriedades de etidades Etidade isoladamete ão iforma ada É ecessário atribuir propriedades às etidades: basicamete seus atributos! Propriedades básicas especificadas a forma de Relacioametos Atributos Geeralizações/especializações 19 Relacioameto - coceito Cojuto de associações etre etidades sobre as quais deseja-se mater iformações a base de dados 20 10
Relacioameto o DER DEPARTAMENTO LOTAÇÃO PESSOA 21 Relacioameto e istâcia Relacioameto é um cojuto de associações etre istâcias de etidades Uma istâcia (ocorrêcia) é uma associação específica etre determiadas istâcias de etidade Exemplo (relacioameto LOTAÇÃO) ocorrêcia = par específico formado por uma ocorrêcia de PESSOA e uma ocorrêcia de DEPARTAMENTO 22 11
Diagrama de ocorrêcias p1 p2 p3 p4 p6 p7 p5 p8 etidade EMPREGADO p1,,d1 p2,d1 p4,d2 p5,d3 relacioameto LOTAÇÃO d1 d2 d3 etidade DEPARTAMENTO 23 Auto-relacioameto PESSOA marido CASAMENTO esposa 24 12
Papel de relacioameto Fução que uma ocorrêcia de uma etidade cumpre em uma ocorrêcia de um relacioameto Relacioameto de casameto Uma ocorrêcia de pessoa exerce o papel de marido Uma ocorrêcia de pessoa exerce o papel de esposa Relacioametos etre etidades diferetes: ão é ecessário idicar os papéis das etidades 25 Auto-relacioameto: diagrama de ocorrêcias p1 p3 p6 p7 p8 p2 p4 p5 marido esposa marido esposa p1,p3 p6,p8 26 13
Cardialidade de relacioametos Propriedade importate de um relacioameto Quatas ocorrêcias de uma etidade podem estar associadas a uma determiada ocorrêcia de etidade através do relacioameto Chamada de cardialidade de uma etidade em um relacioameto duas cardialidades máxima míima 27 Cardialidade máxima o DER DEPARTAMENTO 1 LOTAÇÃO EMPREGADO 28 14
Cardialidade máxima - DER DEPARTAMENTO 1 LOTAÇÃO EMPREGADO expressa que a uma ocorrêcia de EMPREGADO (etidade do lado oposto da aotação) pode estar associada ao máximo uma ( 1 ) ocorrêcia de DEPARTAMENTO 29 Cardialidade máxima o DER DEPARTAMENTO 1 LOTAÇÃO EMPREGADO expressa que a uma ocorrêcia de DEPARTAMENTO (etidade ao lado oposto da aotação) podem estar associadas muitas ( ) ocorrêcias de EMPREGADO 30 15
Cardialidade máxima - valores Para projeto de BD relacioal ão é ecessário, porém por vez recomedável, distiguir etre diferetes cardialidades máximas > 1 Dois valores de cardialidades cardialidade máxima 1 cardialidade máxima muitos, referida pela letra 31 Classificação de relacioametos Cardialidade máxima pode ser usada para classificar relacioametos biários Relacioameto biário é aquele cujas istâcias evolvem duas istâcias de etidades Relacioametos biários :m (muitos-para-muitos e m valores quaisquer) 1: (um-para-muitos) 1:1 (um-para-um) 32 16
Relacioametos 1:1 PESSOA EMPREGADO marido 1 1 esposa 1 CASAMENTO ALOCAÇÃO 1 MESA 33 Relacioametos 1: ALUNO INSCRIÇÃO 1 CURSO EMPREGADO 1 DEPENDENTE EMPREGADO supervisor 1 SUPERVISÃO supervisioado 34 17
Relacioametos : ENGENHEIRO ALOCAÇÃO PROJETO MÉDICO CONSULTA PACIENTE PEÇA CAPACIDADE FORNECEDOR PRODUTO composto compoete COMPOSIÇÃO 35 Relacioameto terário CIDADE DISTRIBUIDOR DISTRIBUIÇÃO PRODUTO 36 18
Cardialidade em relacioameto terário CIDADE DISTRIBUIDOR DISTRIBUIÇÃO 1 a cardialidade 1 refere-se a um par cidade e produto PRODUTO 37 Cardialidade míima Número míimo de ocorrêcias de etidade que são associadas a uma ocorrêcia de uma etidade através de um relacioameto Para fis de projeto de BD, cosideram-se apeas duas cardialidades míimas cardialidade míima 0 cardialidade míima 1 Deomiação alterativa: cardialidade míima 1 = associação obrigatória cardialidade míima 0 = associação opcioal 38 19
Cardialidade míima - DER EMPREGADO e1 e2 e3 e4 (0,1) ALOCAÇÃO e1,m1 e3,m6 e4,m4 (1,1) e2,m2 MESA m1 m2 m3 m4 m5 m6 39 Atributo Dado ou iformação que é associado a cada ocorrêcia de uma etidade ou de um relacioameto PROJETO ome código tipo 40 20
Atributos com cardialidade Cardialidade míima atributo obrigatório (cardialidade míima 1 ) cada etidade possui o míimo um valor associado) atributo opcioal (cardialidade míima 0 ) Cardialidade máxima atributo moovalorado (cardialidade máxima 1 ) cada etidade possui o máximo um valor associado) atributo multivalorado (cardialidade máxima ) 41 Atributo com cardialidade CLIENTE telefoe (0,) ome código Atributo opcioal e multi-valorado 42 21
Atributo em relacioameto (0,) (0,) ENGENHEIRO ATUAÇÃO PROJETO Código Nome Fução Código Título 43 Atributo em relacioameto 1: º de parcelas (0,1) (0,) FINANCEIRA FINANCIAMENTO VENDA taxa de juros 44 22
Idetificador de etidade Cada etidade deve possuir um idetificador idetificador = cojuto propriedades de uma etidade (atributos e relacioametos) cujos valores servem para distiguir uma ocorrêcia da etidade das demais ocorrêcias da mesma etidade 45 Atributo idetificador PESSOA código ome edereço capacidade PRATELEIRA úmero do corredor úmero da prateleira 46 23
Relacioameto idetificador Etidade fraca código ome úmero seqüêcia ome EMPREGADO (1,1) (0,) DEPENDENTE 47 Relacioameto com atributo idetificador m MÉDICO CONSULTA PACIENTE data/hora 48 24
Geeralização/especialização Coceito permite atribuir propriedades particulares a um subcojuto das ocorrêcias (especializadas) de uma etidade geérica 49 Geeralização/especialização FILIAL (1,1) (0,) CLIENTE ome código PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de orgaização 50 25
Geeralização/especialização Heraça de propriedades Herdar propriedades sigifica cada ocorrêcia da etidade especializada possui além de suas próprias propriedades) também as propriedades da ocorrêcia da etidade geérica correspodete 51 Especialização total CLIENTE t idica que todo CLIENTE é ou PESSOA FÍSICA ou PESSOA JURíDICA PESSOA FÍSICA PESSOA JURÍDICA 52 26
Especialização parcial tipo de fucioário FUNCIONÁRIO p idica que em todo FUNCIONÁRIO é MOTORISTA ou SECRETÁRIA MOTORISTA SECRETÁRIA 53 Geeralização/especialização (recursão) VEÍCULO VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO 54 27
Especialização ão é exclusiva PESSOA especialização ão exclusiva PROFESSOR FUNCIONÁRIO ALUNO 55 Etidade associativa Modificar modelo: Adicioar medicametos prescritos em uma cosulta MÉDICO CONSULTA PACIENTE 56 28
Substituido relacioameto por etidade MÉDICO (1,1) PACIENTE (1,1) CONSULTA PRESCRIÇÃO MEDICAMENTO 57 Etidade associativa MÉDICO CONSULTA PACIENTE PRESCRIÇÃO MEDICAMENTO 58 29
Coceito Etidade Relacioameto Símbolo Símbolos DER Atributo Atributo idetificador Relacioameto idetificador (1,1) Geeralização/ especialização Etidade associativa 59 Explo: DER recursos humaos tipo de ome empregado CIC (0,) (1,1) EMPREGADO LOTAÇÃO DEPARTAMENTO (1,) GERÊNCIA p (0,1) CREA GERENTE SECRETÁRIA ENGENHEIRO (1,) (0,) DOMÍNIO (0,) PROCESSADOR DE TEXTOS PARTICIPAÇÃO (0,) PROJETO 60 30