Escolar Documentos
Profissional Documentos
Cultura Documentos
jef@ime.usp.br DCC-IME-USP
Introduo
O Modelo Entidade-Relacionamento (MER) um modelo de dados de alto-nvel criado com o objetivo de representar a semntica associada aos dados do minimundo. O MER utilizado para na fase de projeto conceitual, onde o esquema conceitual do banco de dados da aplicao concebido. Seus conceitos so intuitivos, permitindo que projetistas de banco de dado capturem os conceitos associados aos dados da aplicao, sem a interferncia da tecnologia especfica de implementao do banco de dados.
Introduo
O esquema conceitual criado usando-se o MER chamado Diagrama EntidadeRelacionamento (DER).
MER: Conjunto de conceitos e elementos de modelagem que o projetista de banco de dados precisa conhecer. DER: Resultado do processo de modelagem executado pelo projetista de dados que conhece o MER.
Entidades e Atributos
O objeto mais elementar que o MER representa a entidade. Uma entidade algo do mundo real que possui uma existncia independente.
Objetos, pessoas, empregado, entes, conceitos, "coisas", etc. - do mundo real so representados como Entidades. Cada Entidade tem propriedades particulares que so chamadas de Atributos.
e1
Atributos Compostos
Alguns atributos podem ser divididos em subpartes com significados independentes.
Endereo
Endereo da Rua
Cidade
Estado
CEP
Nome da Rua
Nmero
Apartamento
Atributos Multivalorados
Muitos atributos tm apenas um valor (univalorados). Porm existem atributos que podem ter um conjunto de valores (Multivalorados)
e1
Atributos Derivados
So atributos cujos valores devem ser obtidos aps algum processamento utilizando informaes obtidas do prprio banco de dados:
Idade = Data_Atual - Data_Nascimento Nmero de empregados de um determinado departamento
O valor null pode ser aplicado tambm para denotar que o valor desconhecido.
Tipos de Entidades
Entidades que tm a mesma "estrutura" e a mesma semntica, so representadas como Tipo de Entidade.
Esquema (Inteno) FUNCIONRIO Nome, Idade, Salrio a1 FILME Ttulo, Quantidade b1
(Joo da Silva, 55, 800) a2 (Roberto Carlos, 40, 300) a3 (Camlia Colina, 25, 200)
Extenso
Atributo-Chave
Uma restrio importante sobre entidades de um tipo de entidade a restrio de atributo-chave.
Todo Tipo de Entidade deve ter um atributochave, seja ele um atributo simples ou composto. Os valores de um atributo-chave devem ser distintos. Esta unicidade deve valer para quaisquer extenses desse tipo de entidade.
o papel de EMPREGADO empregado ou trabalhador e do DEPARTAMENTO empregador. A escolha do nome nem sempre simples.
SUPERVISIONA r1 r2 r3
Razo de Cardinalidade
EMPREGADO TRABALHA_PARA DEPARTAMENTO: (1:N)
TRABALHA-PARA EMPREGADO DEPARTAMENTO
N
e1 e2 e3 e4 e5 e6 e7
r1 r2 r3 r4 r5 r6 r7
1
d1 d2 d3
Razo de Cardinalidade
EMPREGADO GERENCIA DEPARTAMENTO: (1:1)
EMPREGADO e1 e2 e3 e4 e5 e6 e7 GERENCIA DEPARTAMENTO
1
r1 r2 r3
d1 d2 d3
Razo de Cardinalidade
EMPREGADO TRABALHA_EM PROJETO: (N:N)
TRABALHA-EM EMPREGADO a1 a2 a3 PROJETO
r1 r2 r3 r4 r5 r6
b1 b2 b3 b4 b5
Restrio de Participao
EMPREGADO TRABALHA_PARA DEPARTAMENTO
Empregado somente pode existir se estiver relacionado com algum departamento (Participao Total) Departamento pode existir mesmo no tendo nenhum empregado (Participao Parcial)
EMPREGADO e1 e2 e3 e4 e5 e6 e7 Total TRABALHA-PARA r1 r2 r3 r4 r5 r6 r7 Parcial d1 d2 d3 DEPARTAMENTO
Restrio Estrutural
A restrio estrutural de:
EMPREGADO (1,1), pois participa em
No mnimo em 1 e no mximo em 1 relacionamento
EMPREGADO
DEPARTAMENTO
EMPREGADO e1 e2 e3 e4 e5 e6 e7
DEPARTAMENTO d1 d2 d3
(1, 1)
(0, N)
Atributo de Relacionamento
Os Tipos de Relacionamentos tambm podem ter Atributos. Por exemplo:
Quantidade de horas trabalhadas por um empregado em um dado projeto (Horas)
Pode ser representado como um atributo do relacionamento TRABALHA_EM
Atributo de Relacionamento
Atributos de Tipos de Relacionamentos 1:1 podem ser colocados em um dos Tipos de Entidades participantes
DataIncio em
EMPREGADO GERENCIA DEPARTAMENTO
EMPREGADO e1 e2 e3 e4 e5 e6 e7 GERENCIA r1 r2 r3 d1 d2 d3 DEPARTAMENTO
Atributo de Relacionamento
Atributos de TR 1:N podem ser colocados no TE que est no lado N do relacionamento
DataIncio em
EMPREGADO TRABALHA_PARA DEPARTAMENTO
TRABALHA-PARA EMPREGADO N e1 e2 e3 e4 e5 e6 e7 r1 r2 r3 r4 r5 r6 r7 1 d1 d2 d3 DEPARTAMENTO
Tipo de Entidade-Fraca
So Tipos de Entidades que no tm atributos-chaves. Entidades s podem ser identificadas atravs da associao com uma outra Entidade.
POSSUI
r1
DEPENDENTE d1 = { Maria, F, 01/01/1970, Esposa } Maria d2 = { Joo, M,02/02/2002, Filho Joo d3 = { Ana, F, 03/03/2003, Filha Ana d4 = { Joo, M,02/02/2002, Filho Joo d5 = { Vtor, M,02/02/2002, Filho tor }* } }* }
CLIENTE { Antnio, 0001, ... } = c1 { Antnio, 1000, ... } = c2 { Marta, 6789, ... } = c3
r2 r3 r4 r5 r6 r7
Tipo de Entidade-Fraca
Um tipo de entidade-fraca sempre tem restrio de participao total (dependncia existencial) com respeito ao seu tipo de relacionamento de identificao, porque no possvel identificar uma entidade-fraca sem a correspondente entidade proprietria. Um tipo de entidade-fraca tem uma chaveparcial, que um conjunto de atributos que pode univocamente identificar entidades-fracas relacionadas mesma entidade proprietria.
Notao do DER
Tipo de Entidade Tipo de Entidade-Fraca Tipo de Relacionamento Tipo de Relacionamento de Identificao Atributo Atributo-Chave Atributo-Parcial Atributo Multivalorado
....
E1 E1 1
R R
N
E2 E2 E
Participao Total de E2 em R Razo de Cardinalidade 1:N para E1 R E2 Restrio Estrutural (min, max) na participao de E em R
(min, max)
TRABALHA-PARA
Nome
Localizao
EMPREGADO DataNasc
DataIncio
DEPARTAMENTO
1 supervisor supervisionado
SUPERVISIONA
M 1
TRABALHA-EM
PROJETO
DEPENDENTE-DE
DEPENDENTE
Nome
Sexo
DataNasc
TipoRelao
Questes
Discuta o papel de um modelo de dados de alto-nvel no projeto de banco de dados. Cite alguns possveis casos onde o valor nulo (null) pode ser aplicado. Defina os seguintes termos: entidade, atributo, valor de atributo, instncia de relacionamento, atributo composto, atributo univalorado, atributo multivalorado, atributo derivado e atributo-chave.
Questes
Defina tipo de entidade. Descreva as diferenas entre entidade e tipo de entidade. Defina tipo de relacionamento. Descreva as diferenas entre relacionamento e tipo de relacionamento. Quando necessrio indicar papis num DER?
Questes
Descreva as formas alternativas de especificar restries sobre tipos de relacionamentos. Quais so as vantagens e desvantagens de cada uma? Sobre quais condies um tipo de relacionamento pode se tornar um atributo de um tipo de entidade? Qual o significado de um tipo de relacionamento recursivo? D alguns exemplos diferentes daquele apresentado.
Questes
Defina os termos: tipo de entidade proprietrio da identificao, tipo de relacionamento de identificao e chave-parcial. Um tipo de relacionamento de identificao pode ter grau maior que dois? Justifique a sua resposta atravs de um exemplo. (Pesquise na Internet ou em [EMLASRI 2005] para responder esta questo).
Bibliografia
Batini, C.; Ceri, S.; Navathe, S. Conceptual Database Design: An EntityRelationship Approach. Benjamin/Cummings, Redwood City, Calif., 1992. Date, C.J., Introduo a Sistemas de Banco de Dados, traduo da 8 edio americana, Campus, 2004. Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems, 4th ed. Addison-Wesley, Reading, Mass., 2003. Ferreira, J.E.; Finger, M., Controle de concorrncia e distribuio de dados: a teoria clssica, suas limitaes e extenses modernas, Coleo de textos especialmente preparada para a Escola de Computao, 12a, So Paulo, 2000. Heuser, C.A., Projeto de Banco de Dados., Sagra - Luzzatto, 1 edio, 1998. Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a. Edio, Makron Books, 1998. Ramakrishnan, R.; Gehrke, J., Database Management Systems, 2 nd ed., McGraw-Hill, 2000. Setzer, W. W.; Bancos de dados - conceitos, modelos gerenciadores, projeto lgico, projeto fsico.. So Paulo: E. Blcher, 1999. Teorey, T.J. Database Modeling and Design, 3rd Ed., Morgan Kaufmann, San Francisco, Calif., 1998. Notas de aula: http://www.ime.usp.br/~jef/apostila.pdf.