quarta-feira, setembro 17, 2008
Transformação de Relacionamento-Tipo de 1 x n com Atributos em Tabela
Transformação de Relacionamento-Tipo de 1 x n em Tabela
Transformação de Relacionamento-Tipo de n x n com Atributos em Tabela
Transformação de Relacionamento-Tipo de n x n em Tabela
Cada identificador das entidades-tipo envolvidas no relacionamento-tipo irá se transformar em chave-estrangeira na nova tabela e todos eles irão constituir a chave primária da nova tabela.
domingo, setembro 07, 2008
sábado, setembro 06, 2008
Auto Relacionamento
Existem situações do mundo real em que Entidades pertencentes a uma Entidade Tipo se relacionam com outras Entidades pertencentes a mesma Entidade Tipo.
Exemplos:
- Pessoas namoram pessoas.
- Empregados supervisionam empregados.
- Matérias possuem matérias como pré-requisito.
- Um Aparelho Eletrodoméstico é trocado por outro Aparelho Eletrodoméstico quando apresenta defeito.
- Clubes jogam partidas com outros clubes.
domingo, agosto 24, 2008
Cobertura
Cobertura é um tipo de restrição de integridade que representa (modela) regras de negócio que estabelecem se uma determinada entidade-tipo ou relacionamento tipo (genéricos), são cobertos ou abrangidos (T)otalmente ou (P)arcialmente pelas suas respectivas especializações e também se entre as especializações existem (S)obreposição (interseção) ou (E)xclusividade.
Visa permitir a representação de Regras de Negócio que expressam “ condições de abrangência” envolvendo especializações e as generalizações respectivas. Se as especializações cobrem ou abrangem completamente ou não as generalizações. Se as especializações apresentam ou não interseções entre si.
Ela é modelada num Diagrama de Entidades e Relacionamentos através de um par de valores (V1,V2) onde:
A cobertura é representada por um par de valores (V1,V2), onde:
V1 - Assume os valores T ou P, onde:
–T - significa Total (não existe elemento de E que só pertença a E)
–P - significa Parcial (existe elemento de E que só pertença a E)
V2 - Assume os valores E ou S, onde:
–E - significa Exclusiva (não existe elemento que pertença a E1 e a E2)
–S - significa Sobreposição (existe pelo menos um elemento que pertence a E1 e a E2)
Exemplo:
–Numa Universidade existem outros tipos de pessoas além de empregados ou alunos.
–Um empregado pode ser aluno e vice-versa.
–Um aluno só pode ser de graduação ou de pós-graduação.
Identificação
Identificação é um tipo de restrição de integridade que representa (modela) regras de negócio que visam garantir que não possam exitir duas ou mais entidades ou dois ou mais relacionamentos com os mesmos valores de identificadores.
Em outras palavras, a identificação é utilizada para se distinguir de forma unívoca entidades ou relacionamentos. Ou de outra forma, visam especificar que duas ou mais entidades ou relacionamentos não podem possuir os mesmos valores para suas características identificadoras.
Visam individualizar fenômenos (elementos ou interações) da realidade.
Expressam Regras de Negócio do tipo:
“Não podem existir dois ou mais .... com o mesmo .....”
Ex: Não podem existir duas ou mais pessoas com o mesmo CPF.
Ex: Não podem existir dois ou mais veículos com a mesma placa.
Ex: Um veículo não pode cometer a mesma infração na mesma data, hora, minuto, segundo e local.
Todas as entidades-tipo devem ter um único identificador.
Um identificador é composto de um ou mais atributos.
Exemplos:
–As pessoas são identificadas pelo:
•Nome
•Data de Nascimento
•Filiação
–As pessoas físicas são identificadas pela Receita Federal pelo:
•CPF
–As pessoa jurídicas são identificadas pela Receita Federal pelo:
•CGC
–Os alunos em uma universidade são identificados pelo:
•Número de Matrícula.
Os atributos identificadores devem ser escolhidos entre os atributos da Entidade Tipo. Caso não se consiga, deve-se voltar ao Usuário e questioná-lo sobre a existência de alguma maneira de se identificar as Entidades que pertencem a um determinada Entidade Tipo. Caso o usuário não possua essa forma de identificação pode-se então criar alguma maneira para efetuá-la.
Realcionamentos-tipo devem ter atributos identificadores quando apresentarem repetição em seus relacionamentos. O que identifica um relacionamento-tipo são os identificadores das entidades-tipo que participam dele. Se o relacionamento-tipo apresentar repetição, seus atributos identificadores irão auxiliar na identificação dos seus relacionamentos, juntamente com os identificadores da respectivas entidades-tipo.
Repetição
Visam restringir a quantidade máxima de repetições de relacionamentos pertencentes a um relacionamento tipo.
Expressam Regras de Negócio do tipo: “Uma entidade A não pode se relacionar por R com outra entidade B mais do que n vezes”
Quando um relacionamento-tipo apresenta repetição ele precisa de pelo menos um atributo próprio para auxiliar na identificação unívoca das repetições.
Ver => Restrição de Integridade de Identificação.
Cardinalidade
Cardinalidade é um tipo de restrição de integridade que representa (modela) regras de negócio que quantificam a quantidade mínima e quantidade máxima de relacionamentos entre uma determinada entidade e outras entidades distintas, através de um determinado relacionamento-tipo. A cardinalidade expressa essas quantidades.
Cardinalidade visa restringir a quantidade mínima e a quantidade máxima de relacionamentos que uma entidade A mantém com outras entidades B, C, ... (distintas) através de um Relacionamento-Tipo (R).
Ela é modelada num Diagrama de Entidades e Relacionamentos através de um par de valores (V1,V2) onde:
V1 = Cardinalidade Mínima; e
V2 = Cardinalidade Máxima.
A Cardinalidade Mínima estabelece a menor quantidade de relacionamentos que deve existir entre uma entidade qualquer e outras entidades distintas através de um relacionamento-tipo.
A Cardinalidade Máxima estabelece a maior quantidade de relacionamentos que deve existir entre uma entidade qualquer e outras entidades distintas através de um relacionamento-tipo.
V1 >= 0 e V2 >= 1
Exemplo: Cada aluno deve ser matriculado em no mínimo uma matéria podendo estar matriculado em no máximo três matérias.
A cardinalidade pode ser aplicada também a atributos.
Para os atributos quando:
V1 = 0 => o atributo é dito opcional;
V1 = 1 => o atributo é dito mandatório ou obrigatório;
V2 = 1 => o atributo é dito mono-valorado; e
V2 = n (onde n > 1) => o atributo é dito multivalorado.
sábado, agosto 23, 2008
Modelo Entidade Relacionamento - MER - Peter Chen - 1976
O Modelo Entidade Relacionamento (MER) é uma ferramenta (instrumento, linguagem gráfica) de modelagem (projeto, representação) utilizada durante a fase de Projeto (Modelagem) Conceitual de Dados.
Ele apresenta diversos componentes ou elementos de modelagem:
- Componentes (Elementos) Estruturais:
- Entidade-Tipo
- Relacionamento-Tipo
- Atributo
- Componentes (Elementos) Comportamentais:
a) Regras de Restrições de Integridade
- Identificação
- Cardinalidade
- Repetição
- Cobertura
b) Regras de Derivação
- Construtores: que representam nossos mecanismos de abstração:
a) Top-Down:
- Classificação
- Generalização
- Agregação
b) Bottom-Up
- Instanciação
- Especialização
- Particionamento
- Regras para utilização dos Componentes e Construytores de acordo com os seguintes ´critérios de qualidade:
- Correção
- Completeza (Completude)
- Minimalidade
- Expressividade
- Legibilidade (Simplicidade)
- Flexibilidade
A sua utilização propicia a criação de modelos (DIAGRAMA DE ENTIDADES E RELACIONAMENTOS (DER)) de uma parcela do mundo real (Domínio do Problema ou Mini-Mundo) onde são representados e estruturados os conceitos que o ser humano (Usuário) possui sobre essa parcela do mundo real.
Os conceitos que são motivo de interesse dos Analistas / Projetistas / Programadores são aqueles que representam os REQUISITOS DE INFORMAÇÃO (NECESSIDADES DE INFORMAÇÃO) e as REGRAS DE NEGÓCIO do Usuário = CONHECIMENTO ORGANIZACIONAL.
Existem diversas notações para o Modelo Entidade e Relacionamento.
A notação original foi proposta por Peter Chen e é composta de entidades (retângulos), relacionamentos (losangos), atributos (círculos) e linhas de conexão (linhas) que indicam a cardinalidade de uma entidade em um relacionamento. Chen ainda propõe símbolos para entidades fracas e entidades associativas.
As notações modernas abandonaram o uso de símbolos especiais para atributos, incluindo a lista de atributo, de alguma forma, no símbolo da entidade. Consideramos as notações como as mais interessantes na atualidade:
- IDEF1X, utilizada pela ferramenta ERWIN, bastante difundida no mercado
Engenharia de Informação, bastante difundida e também presente como notação alternativa no ERWIN. - Notação de Setzer, difundida no Brasil por seu autor.
- Notação de Ceri, Bertini e Navathe, pouco difundida, mas com aspectos teóricos interessantes.
- Uso da UML para representar modelos de dados não-orientados a objetos.
Bibliografia:
- Barbieri, Carlos. Modelagem de Dados. IBPI Press Rio de Janeiro 1994.
- Bertini, C., Ceri, S., e Navathe, S. B. Conceptual Database Design. The Benjamin/Cummings Publishing Company redwood City, California 1992.
- Cougo, Paulo. Modelagem Conceitual e Projeto de Banco de Dados. Campus Rio de Janeiro 1999.
Atributo
Um atributo é definido a partir de um conjunto de valores com características semelhantes (domínio) e visa representar (qualificar ou quantificar) uma propriedade ou característica de uma Entidade-Tipo ou de um Relacionamento-Tipo.
É um conjunto de símbolos ou valores semelhantes que pode ser associado a uma Entidade-Tipo ou a um Relacionamento-Tipo.
"Atributo é um dado elementar que retém informação sobre uma entidade" [GANE].
"Cada entidade possui atributos básicos que a caracterizam" [ATRE].
"Um atributo pode ser uma propriedade que não tem sentido em si mesma, existindo apenas para caracterizar uma entidade, como o caso do nome. Atributo também pode ser um objeto que poderia ser visto como entidade mas que, no contexto das atividades da empresa, figura apenas para caracterizar uma entidade, como seria o caso de um dependente de um empregado" [FURTADO].
"Atributos são propriedades que definem o significado principal de uma entidade ou relacionamento. No caso de entidade, seus atributos independem dos atributos das outras entidades que lhe estiverem associadas"[CRISOSTOMO]."Um atributo é uma percebida propriedade de uma entidade, ou uma percebida propriedade de um relacionamento, no universo de discurso"[ISO].
Um atributo é uma propriedade de uma entidade ou de um relacionamento, podendo ser visto como uma função ou uma relação matemática que mapeia de um conjunto de entidades em um conjunto de valores, definindo sobre este último um subconjunto válido de valores.
Um atributo define um subconjunto de um conjunto de valores sobre um domínio definido por uma função de atribuição e que visa representar características ou propriedades de entidades-tipo ou relacionamentos-tipo.
São as seguintes as categorias de atributos:
a) Atributos simples ou atômicos: são atributos que não podem ser divididos em
sub-partes uma vez que não haveria um significado associado a essas subpartes;b) Atributos compostos:são atributos que podem ser decompostos em sub-partes (outros atributos) com algum significado associado a essas sub-partes. O valor de um atributo composto é a concatenação ou agregação de valores dos seus atributos simples. Atributos compostos são úteis quando algumas vezes nos referimos a eles como um todo, não nos importando os seus componentes e outras vezes quando nos referimos somente aos seus componentes;
c) Atributos mono-valorados: um atributo é mono-valorado quando ele determina no máximo um valor de um determinado domínio;
d) Atributo multi-valorado: um atributo é multi-valorado quando ele determina diversos valores (n) de um domínio;
e) Atributo opcional: um atributo é opcional quando uma dada entidade ou relacionamento não tiver valores de um domínio a eles associados. Atributos opcionais são atributos que aceitam o valor nulo. Nulo é um valor especial, usado para representar "valor desconhecido" ou "valor não aplicável". Não sendo a mesma coisa que espaço vazio ou zero; e
f) Atributo mandatório (obrigatório): um atributo é mandatório quando uma dada entidade ou relacionamento tiver pelo menos um valor de um domínio a eles associado.
Relacionamento-Tipo
Considerando a existência de ligações entre entidades como um relacionamento, o conjunto de relacionamentos ou relacionamento-tipo é uma relação matemática entre as entidades tipo envolvidas.
Um relacionamento tipo R entre n entidades tipo E
1, E2,..., En é um conjunto de ligações entre entidades pertencentes a essas entidades tipo. Ou seja, R é um conjunto de instâncias de relacionamentos r j, onde r j = (e1, e2,..., en) e cada entidade ej Ej, 1 < j < n.De outra forma, um relacionamento tipo pode ser definido como uma relação matemática em E
1, E2, ..., En, ou seja, como um subconjunto do produto cartesiano de E1 X E2 ... X En. Cada entidade tipo E1, E2, ...En é dita como participante do relacionamento tipo R, e similarmente, cada entidade e1, e2, ..., en é dita como participante da instância de relacionamento r.Relacionamento
Um relacionamento não possui existência nem identificação próprias. Para existir ele depende da existência das entidades que participam dele. Para ser identificado ele depende da identificação das entidades que participam dele.
Um relacionamento envolve no mínimo duas entidades (relacionamento binário), podendo envolver três entidades (relacionamento ternário) e assim sucessivamente.
Os relacionamentos mais comuns são os binários que são também os mais flexíveis pois exigem do usuário o conhecimento prévio de apenas duas entidades.
Não é muito comum mas podem existir relacionamentos entre relacionamentos ou entre entidades e relacionamentos.
"Relacionamento é uma associação entre entidades. Por exemplo, PAI-FILHO é um relacionamento entre duas pessoas (entidades)"[CHEN].
"Um relacionamento é uma associação, com um significado, entre entidades" [FURTADO].
"Um relacionamento entre duas classes de objetos (entidades-tipo) é um mapeamento que associa cada objeto de uma classe a um número de objetos (entidades), possivelmente nenhum, da outra classe"[VIDAL].
"Um relacionamento é uma percebida associação entre entidades no universo de discurso"[ISO].


