A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Mestrado em Engenharia de Computação área de concentração Geomática

Apresentações semelhantes


Apresentação em tema: "Mestrado em Engenharia de Computação área de concentração Geomática"— Transcrição da apresentação:

1 Mestrado em Engenharia de Computação área de concentração Geomática
Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ © Oscar Luiz Monteiro de Farias

2 © Oscar Luiz Monteiro de Farias
Modelagem de Dados O Modelo Entidade-Relacionamento (ER) Peter P. Chen, “The Entity-Relationship Model: Toward the unified view of data”, março de XXX? UERJ © Oscar Luiz Monteiro de Farias

3 Uso de MCDs no Projeto de BDs
PASSO 1: Análise e coleta de requisitos PASSO 2: Projeto conceitual da Base de Dados PASSO 3: Mapeamento Lógico da Base de Dados (Mapeamento do Modelo de Dados) PASSO 4: Projeto Físico do Banco de Dados (MFD) UERJ © Oscar Luiz Monteiro de Farias

4 © Oscar Luiz Monteiro de Farias
UERJ © Oscar Luiz Monteiro de Farias

5 © Oscar Luiz Monteiro de Farias
O Modelo ER... Tipos-Entidades (Classes) Relacionamentos Atributos (características dos objetos) UERJ © Oscar Luiz Monteiro de Farias

6 © Oscar Luiz Monteiro de Farias
O Modelo ER... Tipos-Entidades (Classes): Conjunto de objetos do mesmo “tipo”. as coisas tangíveis as funções exercidas por elementos eventos ou ocorrências interações especificações UERJ © Oscar Luiz Monteiro de Farias

7 © Oscar Luiz Monteiro de Farias
O Modelo ER... Os tipos-entidades (classes de objetos) modelados devem ter o seu significado esclarecido em um Dicionário de Dados (DD). Modelo algum é suficientemente claro se não for acompanhado de uma definição formal de seus elementos (dicionário de dados ou similar). Conceituar as entidades mostrando: regras que as definem (e as exceções) exemplos ilustrativos correlação entre conceitos outras informações que facilitem o entendimento UERJ © Oscar Luiz Monteiro de Farias

8 © Oscar Luiz Monteiro de Farias
O Modelo ER... As informações sobre as entidades relacionadas em um DD devem ajudar a responder as perguntas: O que é a entidade? O que faz? Para que serve? O que engloba esta entidade/classe? O que está excluído desta classe? Quando alguém (algo) passa a ser, ou deixa de ser, um elemento deste tipo? Sua permanência nesta categoria é imutável? UERJ © Oscar Luiz Monteiro de Farias

9 © Oscar Luiz Monteiro de Farias
O Modelo ER... Tipo-entidade/classe - define um conjunto de objetos que possuem os mesmos atributos Cada tipo-entidade no banco de dados é descrita por um nome e por uma lista de atributos Um tipo-entidade (classe) descreve o schema ou intensão para um conjunto de objetos que partilham a mesma estrutura. Os objetos individuais de um determinado tipo-entidade (classe) são agrupados em uma coleção ou conjunto-entidade (extensão) UERJ © Oscar Luiz Monteiro de Farias

10 © Oscar Luiz Monteiro de Farias
O Modelo ER... Tipos de atributos simples x compostos (Endereço = rua + n0 + ap. + bairro + cidade + Estado + CEP) monovalorados x multi-valorados (cores de um veículo) armazenados x derivados Valores nulos não aplicáveis desconhecidos (is missing x not known) UERJ © Oscar Luiz Monteiro de Farias

11 © Oscar Luiz Monteiro de Farias
O Modelo ER... Nome do tipo-entidade /classe Atributo 1 Atributo 2 Atributo n Atributo n-1 Atributo composto Atributo multi-valorado Atributo 2.1 Atributo 2.2 Atributo 2.m UERJ © Oscar Luiz Monteiro de Farias

12 Banco de Dados da empresa X...
O Banco de Dados (bd) da empresa armazena informações sobre os seus empregados, departamentos e projetos. UERJ © Oscar Luiz Monteiro de Farias

13 Banco de Dados da empresa X...
A Cia é organizada em departamentos. Cada depto tem um nome único, n0 único e um empregado especial que o gerencia. Registra-se a data de início em que este empregado especial começou a gerenciar o depto. Um depto pode ter várias localizações. Um depto controla um dado n0 de projetos, cada um dos quais com um nome único, n0 único e apenas uma localização UERJ © Oscar Luiz Monteiro de Farias

14 Banco de Dados da empresa X...
São armazenados para cada empregado: o seu nome, n0 de seguridade social, endereço, salário, sexo e data de nascimento. Um empregado é vinculado a um só depto, mas pode trabalhar em vários projetos, os quais não são necessariamente controlados pelo mesmo depto. São registradas as horas por semana que um empregado trabalha em cada projeto. Assinala-se ainda, para cada empregado, o seu supervisor direto. Para fins de seguro, são registrados os dependentes de cada empregado. São armazenados: nome, sexo, data de nascimento e a relação com o empregado UERJ © Oscar Luiz Monteiro de Farias

15 Banco de Dados da empresa X... Projeto Conceitual Inicial
4 tipos-entidades (classes) foram identificados: DEPARTMENT - atributos: Name, Number, Location (multivalorado) , Manager e ManagerStartDate. PROJECT - atributos: Name, Number, Location e Controlling Department. EMPLOYEE - atributos: Name, SSN, Sex, Address, Salary, BirthDate, Department e Supervisor. Name e Address podem ser atributos compostos (deve-se entrevistar os usuários para ver se eles irão se referir aos componentes individuais). DEPENDENT - atributos: Employee, DependentName, Sex, BirthDate e Relationship UERJ © Oscar Luiz Monteiro de Farias

16 © Oscar Luiz Monteiro de Farias
UERJ © Oscar Luiz Monteiro de Farias

17 © Oscar Luiz Monteiro de Farias
O Modelo ER... Atributos chaves de um tipo-entidade (chaves): cada tipo-entidade (classe) usualmente possui um atributo cujo valor é distinto para cada entidade (objeto) individual daquele tipo-entidade (classe). O valor de uma chave é usado para identificar unívocamente um objeto. Um conjunto de atributos (concatenados) que identificam unívocamente um objeto é também uma chave. No diagrama do modelo ER cada atributo chave possui o seu nome sublinhado. Alguns tipo-entidades (classes) possuem mais de uma chave. UERJ © Oscar Luiz Monteiro de Farias

18 © Oscar Luiz Monteiro de Farias
O Modelo ER... Cada atributo simples de um tipo-entidade está associado com um domínio, o qual especifica o conjunto de valores que podem ser assumidos pelo correspondente atributo das entidades individuais (objetos). Os domínios não aparecem nos diagramas ER Um atributo A de um tipo-entidade (classe) E cujo domínio é V pode ser definido como uma função de E no conjunto potência de V: A: E P(V) P(V) é o conjunto de todos os subconjuntos de V. A(e) = valor de um atributo de uma entidade (objeto) e. UERJ © Oscar Luiz Monteiro de Farias

19 © Oscar Luiz Monteiro de Farias
O Modelo ER... A definição acima cobre os atributos mono-valorados e multi-valorados bem como os NULLs. NULL - conjunto vazio atributos mono-valorados - A(e) é restrito a um conjunto com um único elemento. Atributos multi-valorados - A(e) pode ter vários elementos Atributos compostos - o domínio V é o produto cartesiano de P(V1), P(V2), ... P(Vn), onde V1, V2, ..., Vn são os domínios dos componentes simples de atributos que formam A, i. e., V = P(V1) x P(V2) x ... X P(Vn) Os atributos compostos e multi-valorados podem ser aninhados em modos arbitrários. UERJ © Oscar Luiz Monteiro de Farias

20 © Oscar Luiz Monteiro de Farias
O Modelo ER... Notação: aninhamentos arbitrários podem ser representados grupando-se os componentes de um atributo composto entre parênteses “( )” e separando-se os componentes por vírgula “,”; mostrando-se os atributos multi-valorados entre chaves “{}”. UERJ © Oscar Luiz Monteiro de Farias

21 © Oscar Luiz Monteiro de Farias
O Modelo ER... Exemplo: uma pessoa pode ter mais que uma residência e cada uma dessas residências pode ter múltiplos telefones. O atributo Telefone_Residencial para uma entidade-tipo (classe) Pessoa pode ser especificado como: {Telefone_Residencial ({Telefone (Código_de_Área, n0_do_telefone)}, Endereço (Endereço_da_rua (Rua, N0, Apartamento), Cidade, Estado, CEP))} UERJ © Oscar Luiz Monteiro de Farias

22 © Oscar Luiz Monteiro de Farias
O Modelo ER... Um Relacionamento R entre entre n tipos-entidades (classes) E1, E2, ..., En define um conjunto de associações entre entidades (objetos) destes tipos (classes). R é um conjunto de instâncias de relacionamento ri, onde cada ri associa n entidades (e1, e2, ..., en) e cada entidade (objeto) ej em ri é um membro do tipo-entidade (classe) Ej, 1  j  n. UERJ © Oscar Luiz Monteiro de Farias

23 © Oscar Luiz Monteiro de Farias
O Modelo ER... Um relacionamento R pode ser visto como uma relação matemática em E1, E2, ..., En. Pode também ser pensado como um subconjunto do produto cartesiano E1 x E2 x ... x En. Cada um dos tipos-entidades (classes) E1, E2, ..., En participam no relacionamento R e cada uma das entidades (objetos) e1, e2, ..., en participam na instância do relacionamento ri= (e1, e2, ..., en) UERJ © Oscar Luiz Monteiro de Farias

24 Exemplo de Relacionamento
WORKS_FOR EMPLOYEE r1 DEPARTMENT r2 e1 j1 e2 r3 e3 j2 e4 r4 j3 e5 . r5 e6 e7 . r6 r7 . UERJ © Oscar Luiz Monteiro de Farias

25 Relacionamento Ternário
SUPPLY SUPPLIER r1 PROJECT s1 r2 s2 j1 r3 . j2 r4 j3 . r5 PART r6 p1 r7 p2 p3 . . Cada instância do relacionamento ri associa 3 entidades (objetos): um fornecedor s, uma peça p e um projeto j, sempre que s fornece a peça p para o projeto j. UERJ © Oscar Luiz Monteiro de Farias

26 © Oscar Luiz Monteiro de Farias
Relacionamentos... Grau de um Relacionamento: é o número de tipos-entidades (classes) que participam do relacionamento. Relacionamentos como atributos (R=WORK_FOR) i) considerar um atributo department para o tipo-entidade EMPLOYEE ii) considerar um atributo multi-valorado employees no tipo-entidade DEPARTMENT UERJ © Oscar Luiz Monteiro de Farias

27 © Oscar Luiz Monteiro de Farias
Relacionamentos... Papel (role name): o papel que cada entidade participante (objeto) de um tipo-entidade (classe) desempenha em uma relação de instância . Relacionamentos recursivos: ocorre quando o mesmo tipo-entidade (classe) participa mais de uma vez em um mesmo relacionamento. Neste caso o nome dos papéis é essencial para distinguir o significado de cada participação. UERJ © Oscar Luiz Monteiro de Farias

28 Relacionamento recursivo
Papéis: supervisiona - vermelho é supervisionado - verde EMPLOYEE SUPERVISION r1 e1 r2 e2 r3 e3 r4 e4 r5 e5 r6 e6 r7 e7 . . UERJ © Oscar Luiz Monteiro de Farias

29 Restrições em Relacionamentos...
Razão de Cardinalidade (cardinality radio): especifica o n0 de instâncias em um relacionamento de que uma dada entidade pode participar. Ex.: O relacionamento binário WORKS_FOR (DEPARTMENT:EMPLOYEE) possui a razão de cardinalidade 1:N, significando que cada departamento pode estar relacionado com vários empregados, mas que um empregado pode estar relacionado com apenas um departamento. Razões de cardinalidade comuns: 1:1; 1:N e M:N UERJ © Oscar Luiz Monteiro de Farias

30 Restrições em Relacionamentos...
Participação parcial - quando não necessariamente todos os elementos de um conjunto participam de uma relação. Participação total (dependência existencial) - quando todos os elementos de um conjunto participam de uma relação. Participação total é indicada por uma linha dupla e participação parcial por uma linha simples UERJ © Oscar Luiz Monteiro de Farias

31 Atributos de Relacionamentos...
Relacionamentos podem, à semelhança dos tipos-entidades, possuir atributos. Exs.: i) Nos de horas por semana que um empregado trabalha em um projeto; ii) data na qual um gerente começou a gerenciar um depto. Atributos de relacionamentos 1:1 e 1:N podem migrar para uma das entidades participantes. Nos relacionamentos 1:1 para qualquer dos tipos-entidades Nos relacionamentos 1:N apenas para o tipo-entidade do lado N da relação UERJ © Oscar Luiz Monteiro de Farias

32 Atributos de Relacionamentos...
Para relacionamentos de grau M:N alguns atributos só podem ser determinados pela combinação das entidades participantes em uma determinada instância do relacionamento e não apenas para uma delas isoladamente. São, obrigatoriamente, atributos do relacionamento. Ex.: O atributo Hours do relacionamento M:N WORKS_ON UERJ © Oscar Luiz Monteiro de Farias

33 Tipos-entidades fracos (weak entity types)...
Tratam-se de tipos-entidades (classes) que não possuem atributos chaves Entidades que pertençam a tipos-entidades fracos são identificadas por estarem relacionadas (identifying relationship) a entidades específicas de um outro tipo-entidade (identifying owner) em combinação com alguns de seus próprios valores de atributos. Um tipo-entidade fraco sempre possui uma restrição de participação total com respeito ao relacionamento de identificação (identifying relationship). Nem toda dependência existencial resulta em uma tipo-entidade fraco (ex.: carteira de motorista) UERJ © Oscar Luiz Monteiro de Farias

34 Tipos-entidades fracos (weak entity types)
Um tipo-entidade fraco normalmente tem uma chave parcial, que é um conjunto de atributos que podem univocamente identificar entidades fracas relacionadas à mesma entidade possuidora (owner). Nos diagramas ER uma entidade fraca é representada por um retângulo em linhas duplas. Tipos-entidadades fracos às vezes podem ser representados por atributos multi-valorados compostos. UERJ © Oscar Luiz Monteiro de Farias

35 Refinando o Modelo ER p/ a empresa X...
MANAGES - um relacionamento 1:1 entre EMPLOYEE e DEPARTMENT. A participação de EMPLOYEE é parcial; a de DEPARTMENT é total. O atributo StartDate é incluído no relacionamento. WORKS_FOR é um relacionamento 1:N entre DEPARTMENT e EMPLOYEE. Ambas as participações são totais. CONTROLS é um relacionamento 1:N entre DEPARTMENT e PROJECT. A participação de PROJECT é total, a de DEPARTMENT, parcial. UERJ © Oscar Luiz Monteiro de Farias

36 Refinando o Modelo ER p/ a empresa X...
SUPERVISION é um relacionamento 1:N entre EMPLOYEE (supervisor) e EMPLOYEE (supervisionado). Ambas as participações são parciais, o que indica que nem todo empregado é um supervisor e nem todo empregado possui um supervisor. WORKS_ON é um relacionamento M:N entre EMPLOYEE e PROJECT. Ambas as participações são totais. O atributo Hours indica o número de horas em que um dado empregado trabalha em determinado projeto. DEPENDENTS_OF é um relacionamento 1:N entre EMPLOYEE e DEPENDENT. DEPENDENTS_OF é um relacionamento de identificação. A participação de EMPLOYEE é parcial, a de DEPENDENT é total. UERJ © Oscar Luiz Monteiro de Farias

37 Relacionamentos: Notações no Modelo ER
A cardinalidade do relacionamento de cada relacionamento binário é representado anexando-se 1, M ou N na linha que conecta o símbolo da entidade respectiva ao relacionamento. Linha simples: participação parcial, Linha dupla: participação total. Associa um par de números inteiros (min, max) com cada participação do tipo-entidade E em um relacionamento R, onde 0  min  max e max  1. Para cada entidade e em E, e deve participar com no mínimo min e no máximo max instâncias de relacionamento em R. min=0 implica participação parcial e min > 0 participação total. UERJ © Oscar Luiz Monteiro de Farias

38 Nomeando as construções do esquema
Usar nomes com alto conteúdo semântico Usar nomes no singular para os tipos-entidades Entidades e Relacionamentos em maiúsculas Atributos iniciam-se com letra maiúscula Nomes de papéis em minúsculas Usar nomes que correspondam à descrição do mini-mundo O diagrama ER deve ser lido da esquerda para a direita e de cima para baixo UERJ © Oscar Luiz Monteiro de Farias

39 © Oscar Luiz Monteiro de Farias
UERJ © Oscar Luiz Monteiro de Farias

40 © Oscar Luiz Monteiro de Farias
UERJ © Oscar Luiz Monteiro de Farias

41 Relacionamentos de grau maior que 2
Um relacionamento R, de grau N, terá N linhas em um diagrama ER, cada uma conectando o Relacionamento a um tipo-entidade. Em geral um relacionamento ternário representa mais informação do que três relacionamentos binários. UERJ © Oscar Luiz Monteiro de Farias

42 © Oscar Luiz Monteiro de Farias
UERJ © Oscar Luiz Monteiro de Farias

43 Relacionamento Binário x Ternário
UERJ © Oscar Luiz Monteiro de Farias

44 Relacionamento de identidade ternário
UERJ © Oscar Luiz Monteiro de Farias


Carregar ppt "Mestrado em Engenharia de Computação área de concentração Geomática"

Apresentações semelhantes


Anúncios Google