$ Abordagem ER Capítulo 2 #
Abordagem Entidade-Relacionamento Técnica para construir modelos conceituais de bases de dados Técnica de modelagem de dados mais difundida e utilizada Criada em 1976, por Peter Chen #
Abordagem Entidade-Relacionamento Padrão de fato para modelagem conceitual Não é única: Técnicas de modelagem orientada a objeto UML baseiam-se nos conceitos da abordagem ER #
Abordagem Entidade-Relacionamento Modelo de dados é representado através de um Modelo ER é representado graficamente #
Conceitos centrais da abordagem ER Entidade Relacionamento Atributo Generalização/especialização Entidade associativa #
Entidade Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados #
Entidade exemplos Sistema de informações industrial #
Entidade exemplos Sistema de contas correntes Entidade pode representar #
Entidade no DER Representada através de um retângulo Retângulo contém o nome da entidade. #
$ Entidade e instância Para referir um objeto particular #
$ $ Entidade e instância - terminologia conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância #
$ Propriedades de entidades Entidade isoladamente não informa nada É necessário atribuir propriedades às entidades Propriedades especificadas na forma de #
Sistema de vendas Exercício Identificar entidades Deseja-se construir um banco de dados para um sistema de vendas. Em cada venda são vendidos vários produtos e um determinado produto pode aparecer em diferentes vendas. Cada venda é efetuada por um vendedor para um determinado cliente. Um produto está armazenado um uma prateleira. $ #
Exercício 3.5 Identificar entidades # $ % ' ' $ #, $ % $ -. $, $ % $ #
% $ Exercício 3.5 Entidades identificadas ADMINISTRADORA CONDOMÍNIO UNIDADE PESSOA #
$ Relacionamento - conceito Conjunto de associações entre entidades sobre as quais desejase manter informações na base de dados #
$ Relacionamento no DER #
$ Relacionamento e instância Relacionamento é um conjunto de associações entre instâncias de entidades Uma instância ocorrência é uma associação específica entre determinadas instâncias de entidade Exemplo relacionamento LOTAÇÃO #
% $ Diagrama de ocorrências - 1 5 5 6 34 2 1 ', > = < ; 7 : 9 8 7. 3 B 2 1 C> 6 G 4 B2 F @ 6A 1? > E< D. 0,/ - 0 / ' 0./ ' 0 '/ 1 5 5 6 34 2 1-0. 0 ' 0 > E H 7 8 < E : < 9 7 = #
Auto-relacionamento PESSOA marido esposa CASAMENTO #
$ Papel de relacionamento Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento Relacionamento de casamento Relacionamentos entre entidades diferentes: #
Auto-relacionamento diagrama de ocorrências 5 B 4? 6 C 5 B 4? 6 C 6 B 1 6 B 1 #
Exercício Identificar relacionamentos Deseja-se construir um banco de dados para um sistema de vendas. Em cada venda são vendidos vários produtos e um determinado produto pode aparecer em diferentes vendas. Cada venda é efetuada por um vendedor para um determinado cliente. Um produto está armazenado um uma prateleira. #
Cardinalidade de relacionamentos Propriedade importante de um relacionamento Chamada de cardinalidade de uma entidade em um relacionamento duas cardinalidades #
Cardinalidade máxima no DER > = < ; 7 : 9 8 7 > G F > E< D > E H 7 8 < E : < 9 7 = #
Cardinalidade máxima - DER > = < ; 7 : 9 8 7 > G F > E< D > E H 7 8 < E : < 9 7 = # #
% $ Cardinalidade máxima no DER = 5 8 F 6 9 7 ; 6 = I H = :8 G = : < 6 ; 8 : 9 8 7 6 5 J K 4 3 1 20 / 0 /. -, - ' / 4 @ / 4 4?3 2 = > : < 6 ; 8 : 9 8 7 6 5?. 4 / C B /? A / 2 4? / / / 4 3 1 20 / 0 / E C D 2 > 3?. - 4 3 0 / = 5 8 F 6 9 7 ; 6 #
$ Cardinalidade máxima - valores Para projeto de BD relacional Dois valores de cardinalidades máximas são usados #
$ Classificação de relacionamentos Cardinalidade máxima pode ser usada para classificar relacionamentos binários Relacionamento binário Relacionamentos binários #
Relacionamentos 1:1 = 5 8 F 6 9 7 ; 6 8 = 6 7 = I H 8 = G 8 = : < 6 ; 8 8 8 6 ; #
Relacionamentos 1:n 2 = 9 = I H 9 < = < G 8 6 : < 6 5 < 6 7 6 5 2 = 5 8 F 6 9 7 ; 6 = 5 8 F 6 9 7 ; 6 4 / 3 /2 3-3 / - 2 = I 9 6 7 #
$ Relacionamentos n:n. / /,. -, ' % #$ #
Exercício Identificar cardinalidades Deseja-se construir um banco de dados para um sistema de vendas. Em cada venda são vendidos vários produtos e um determinado produto pode aparecer em diferentes vendas. Cada venda é efetuada por um vendedor para um determinado cliente. Um produto está armazenado um uma prateleira. $ $ #
Exercício 3.6 Identificar relacionamentos $ % # # ' #, %,, % ', $,, % -, %,. /, #, - % ' #,, $ #
$ Exercício 3.6 Identificar relacionamentos #
$ Relacionamento ternário #
$ Cardinalidade em relacionamento ternário #
Exercício Relacionamento ternário Identifique as entidades, os relacionamentos e as respectivas cardinalidades para o seguinte problema: Em uma empresa de desenvolvimento de sistemas informatizados, pessoas são alocadas a tarefas. No momento da alocação da pessoa a tarefa, também lhe é alocado um equipamento para resolver a tarefa. $ #
$ Exercício 2.7 # Mostre como o modelo ER da ao lado pode ser representado sem uso de relacionamen tos ternários, apenas usando relacionamen tos binários
Exercício 2.7 solução #
Exercício 2.7 solução incorreta #
$% Cardinalidade mínima Número mínimo de ocorrências de entidade que são associadas a uma ocorrência de uma entidade através de um relacionamento Para fins de projeto de BD, consideram-se apenas duas cardinalidades mínimas 0 /.. -, ' 1 /.. -, ' Denominação alternativa: ; : 9 7 8 6 ' 5 3 44 2 1 /.. -, ' ;, ' < 6 ' 5 3 44 2 0 /.. -, ' #
$ Cardinalidade mínima - DER #
$ Exemplo - entidades e relacionamentos #
$ Exercício 2.15 Modifique as cardinalidades mínimas de forma a especificar o seguinte: 4 < - - 9 4 9 4 - - < 6 4 '., / ' ' - 4. -, < 4'. 4 -.. -. - 9 4' 6 < - - ' -.. 4 - -. < - -,. 4 ' 7 ' < 9 -.., 8 4 - #
$ Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento #
$ Exercício Identificar atributos #
$ Atributos com cardinalidade Cardinalidade mínima 3 1 ; /.. -, ' : 9 7 8 9 7 9 3 0 ; /.. -, ', ' < 9 7 9 Cardinalidade máxima 3 1 ;.. -, ',. 9 7 9 ; 3.. -, ',, 9. 9 7 9 #
$ Atributo com cardinalidade #
Exercício 2.16 Sem usar. - 4 ' < 94 7 9 4,, 9. 94 7 9 construa um DER que contenha as mesmas informações do modelo anterior #
Atributo em relacionamento #
$ % Atributo em relacionamento 1:n H =C @ G B = F? @ E ; D 8 9 7 ; : 8 9 7 6 5 4 3. 2 1 / 0 -. /.,- ' ' C A B? @ = < => #
Altere o modelo ER do sistema de vendas para incorporar as seguintes informações: Exercício Atributos Tanto clientes, quanto vendedores podem ter vários telefones. Um produto pode ter vários preços, cada um com uma data de início e de fim de validade. Para cada produto vendido em uma venda, é necessário conhecer o número de unidades vendidas e o preço de venda. $ #
Identificador de entidade Cada entidade deve possuir um identificador Identificador de entidade = conjunto propriedades de uma entidade atributos e relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade $ #
$ Atributo identificador D D D ' D #
$ Relacionamento identificador Entidade fraca D D D D ; D 8 9 7 ; : : 9 7 6 6 6 #
$ Relacionamento identificador recursão ; : : 9 7 ; D 8 9 7 D ; : : 9 7 ; D 8 9 7 D ' ' #
$ Identificador de relacionamento Uma ocorrência de relacionamento diferencia-se das demais do mesmo relacionamento pelas ocorrências de entidades que dela participam. D D ' #
$ Relacionamento com atributo identificador D D ' 6' #
Exercício Identificador de entidade Determine quais os identificadores das entidades do sistema de vendas #
Exercício 2.11 Construa um DER que modela a mesma realidade que a mostrada no DER abaixo, usando apenas relacionamentos 1:n. ; D 8 9 7 ; D : 9 7 ' D #
% Exercício 2.11 solução ; : : 9 7 ; D : 9 7 ; D 8 9 7 ; : : 9 7 ' D ; D 8 9 7 ; D : 9 7 ' #
Generalização/especialização Conceito permite #
Generalização/especialização D ; D 8 9 7 ; : : 9 7 ' ' ' 6' ' ' D #
$ Generalização/especialização Herança de propriedades Herdar propriedades significa 9 D D D D D #
Especialização total ' D ' ' < 6' 6' ' #
Especialização parcial ' ' D D ' ' ' F D D ' ' ' #
Generalização/especialização recursão 5 5 5 ' 5 #
Especialização não exclusiva compartilhada D D ' ' #
Tipos de generalizações/especializações #
% $ Exercício Verifique se é possível utilizar com vantagem o conceito de generalização/especialização no exemplo do sistema de vendas #
$ Exercício 2.12 #
$ Exercício 2.12 #
$ Entidade associativa Modificar modelo: Adicionar medicamentos prescritos em uma consulta #
$ Substituindo relacionamento por entidade #
$ Entidade associativa #
Símbolos DER $ $ %# % #
$ DER de uma farmácia #
$ DER recursos humanos #
Exercício 3.6 Identificar entidades, relacionamentos e atributos #
$% Exercício 3.6 continuação Identificar entidades, relacionamentos e atributos 2 3. '0 34 0 ;,. 2 3 3 4 3 3 4 1 : 6 2 3. 5 2,. 2 3. '0 34 0 2. 1 / 0. /. -, ' '0 34 9,. 5 80 2, ' /7 1 3 -. 2,. 5? 3 3, 4 3 3 /. 3 3 8 4 ' 3 2 3 3 /. 3 > 1 <,34. 3 /. 3 3 1 : =4, - 3 /. < 3,. 5 0. 3, 3 1 @ 4 1 / < 3 3 3 2 3, '0 34 > 0.. 1 ' : 2 3 1 2 3 '0 34. 80 2 C / 3 < 3,.. 1 B 3 3. 2 3> 4 3 1 ' A0 4 4 2 3 24 0 4. 1 / 1 3. 80 2 0. ;, E 23, 3-2 3 '0 34 1 D. 5 2. 3, - 1 3 :0.5 / ' /7 3. 0 2 I, H0. 2,. 0. 7 3,. 20 4 1 G. F G 5-1 2 3 #
$ Exercício 3.6 Identificar entidades LOCADORA FILME FITA CLIENTE CATEGORIA será que é atributo? ATOR empréstimo é entidade ou relacionamento? #
$ Exercício 3.6 relacionamentos $ - # $, # % $ $ % $ # ' #
Exercício 3.6 Atributos e identificadores $ - # $, # % $ $ % $ # ' $ #