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

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

UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.

Apresentações semelhantes


Apresentação em tema: "UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática."— Transcrição da apresentação:

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

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

3 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias3 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) Uso de MCDs no Projeto de BDs

4 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias4

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

6 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias6 Tpos-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 O Modelo ER...

7 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias7 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 O Modelo ER...

8 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias8 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? O Modelo ER...

9 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias9 Entidade (tipo-entidade/classe) - define um conjunto de objetos que possuem os mesmos atributos Cada 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) O Modelo ER...

10 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias10 Tipos de atributos –simples x compostos (Endereço = rua + n 0 + 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) O Modelo ER...

11 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias11 O Modelo ER... Nome da Entidade Atributo 1Atributo 2Atributo n Atributo 2.1Atributo 2.2Atributo 2.m Atributo n-1 Atributo multi-valorado Atributo composto

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

13 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias13 ¶A Cia é organizada em departamentos. Cada dept o tem um nome único, n 0 ú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 dept o. Um dept o pode ter várias localizações. ·Um dept o controla um dado n 0 de projetos, cada um dos quais com um nome único, n 0 único e apenas uma localização Banco de Dados da empresa X...

14 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias14 ¸São armazenados para cada empregado: o seu nome, n 0 de seguridade social, endereço, salário, sexo e data de nascimento. Um empregado é vinculado a um só dept o, mas pode trabalhar em vários projetos, os quais não são necessariamente controlados pelo mesmo dept o. 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 Banco de Dados da empresa X...

15 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias15 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 Banco de Dados da empresa X... Projeto Conceitual Inicial

16 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias16

17 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias17 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. O Modelo ER...

18 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias18 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. O Modelo ER...

19 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias19 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(V 1 ), P(V 2 ),... P(V n ), onde V 1, V 2,..., V n são os domínios dos componentes simples de atributos que formam A, i. e., V = P(V 1 ) x P(V 2 ) x... X P(V n ) Os atributos compostos e multi-valorados podem ser aninhados em modos arbitrários. O Modelo ER...

20 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias20 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 {}. O Modelo ER...

21 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias21 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, n 0 _do_telefone)}, Endereço (Endereço_da_rua (Rua, N 0, Apartamento), Cidade, Estado, CEP))} O Modelo ER...

22 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias22 Um Relacionamento R entre entre n tipos- entidades (classes) E 1, E 2,..., E n define um conjunto de associações entre entidades (objetos) destes tipos (classes). R é um conjunto de instâncias de relacionamento r i, onde cada r i associa n entidades (e 1, e 2,..., e n ) e cada entidade (objeto) e j em r i é um membro do tipo-entidade (classe) E j, 1 j n. O Modelo ER...

23 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias23 Um relacionamento R pode ser visto como uma relação matemática em E 1, E 2,..., E n. Pode também ser pensado como um subconjunto do produto cartesiano E 1 x E 2 x... x E n. Cada um dos tipos-entidades (classes) E 1, E 2,..., E n participam no relacionamento R e cada uma das entidades (objetos) e 1, e 2,..., e n participam na instância do relacionamento r i = (e 1, e 2,..., e n ) O Modelo ER...

24 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias24 Exemplo de Relacionamento e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e7 r1r1 r2r2 r3r3 r4r4 r5r5 r6r6 r7r j1j1 j2j2 j3j3 EMPLOYEEDEPARTMENT WORKS_FOR

25 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias25 Relacionamento Ternário s1s1 s2s2 r1r1 r2r2 r3r3 r4r4 r5r5 r6r6 r7r j1j1 j2j2 j3j3 SUPPLIER PROJECT SUPPLY p1p1 p3p3 p2p2 PART Cada instância do relacionamento r i 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.

26 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias26 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

27 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias27 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.

28 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias28 Relacionamento recursivo r1r1 r2r2 r3r3 r4r4 r5r5 r6r6 r7r e1e1 e2e2 e3e3 e4e4 e5e5 e6e6 e7e EMPLOYEE SUPERVISION Papéis: supervisiona - vermelho é supervisionado - verde

29 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias29 Restrições em Relacionamentos... Razão de Cardinalidade (cardinality radio): especifica o n 0 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

30 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias30 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 Restrições em Relacionamentos...

31 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias31 Atributos de Relacionamentos... Relacionamentos podem, à semelhança dos tipos- entidades, possuir atributos. Exs.: i) N os de horas por semana que um empregado trabalha em um projeto; ii) data na qual um gerente começou a gerenciar um dept o. 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

32 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias32 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 Atributos de Relacionamentos...

33 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias33 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)

34 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias34 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. Tipos-entidades fracos (weak entity types)

35 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias35 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.

36 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias36 ¹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. Refinando o Modelo ER p/ a empresa X...

37 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias37 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.

38 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias38 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

39 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias39

40 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias40

41 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias41 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.

42 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias42

43 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias43 Relacionamento Binário x Ternário

44 UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias44 Relacionamento de identidade ternário


Carregar ppt "UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática."

Apresentações semelhantes


Anúncios Google