Relação

Relação é a representação abstrata de um conjunto de objetos do mundo real. A Relação pode ser vista como uma tabela onde cada linha representa uma tupla e o nome de uma coluna é chamado de atributo. Os tipos de dados de cada coluna são chamados de domínios.

Domínios

Um domínio é um conjunto (possivelmente infinito em número) de valores definido e nomeado, do qual um ou mais atributos extraem seus valores. Os domínios podem ser definidos separadamente das entidades para permitir seu reuso e padronização.

Visões

É um conjunto de entidades e domínios atribuídos (atributos) reunidos com algum propósito.

Atributo

Atributo é o elemento de dado que contém informação que descreve uma relação. Uma relação deve ter um atributo ou combinação de atributos que identificam cada ocorrência. Estes atributos formam a chave primária da relação.

Relacionamentos de Conexão

Representam associações entre relações (entidades) onde a entidade-pai está associada a zero, uma, ou mais ocorrências da entidade-filho, e cada ocorrência de entidade-filho está associada a zero ou uma ocorrência da entidade-pai. Uma ocorrência específica de um relacionamento associa ocorrências específicas das entidades participantes. A cardinalidade do relacionamento deve também ser definida. O número de ocorrências da entidade-filho que podem estar associadas à entidade-pai no relacionamento pode ser especificado como:
  • zero ou mais; ou
  • no mínimo uma; ou
  • zero ou uma; ou
  • algum número exato; ou
  • um número pertencente a um intervalo específico.
A cardinalidade do relacionamento no sentido inverso também deve ser descrita.

Relacionamentos identificadores

Um relacionamento identificador é aquele no qual uma ocorrência da entidade-filho deve estar associada a exatamente uma ocorrência da entidade-pai e não pode existir sem ela.

Relacionamentos não-identificadores

Cada ocorrência da entidade-filho pode ser identificada unicamente sem que se saiba qual a ocorrência da entidade-pai associada. Os relacionamentos não-identificadores podem ser obrigatórios ou opcionais.

Chaves Relacionais

Super-Chave

É um conjunto de um ou mais atributos que, tomados coletivamente, identifica unicamente cada tupla de uma relação.

Chave Candidata

É uma super-chave tal que nenhum subconjunto próprio é uma super-chave.

Chave-primária

Em uma visão completa, ou em uma visão baseada em chaves, toda relação deve eleger uma chave candidata principal chamada de chave primária.

Dependências funcionais

  • Se a chave primária é composta por mais de um atributo, os atributos não-chave devem ser funcionalmente dependentes da totalidade da chave primária (Regra da dependência funcional completa - equivale à 2ª Forma Normal).
  • Todo atributo que não é parte da chave primária ou chaves candidatas deve ser funcionalmente dependente apenas da chave primária e das chaves candidatas (Regra da dependência funcional não-transitiva - equivale à 3ª Forma Normal).

Chave Estrangeira

É um atributo ou conjunto de atributos de uma relação que é chave candidata de alguma (possivelmente a mesma) relação. Um atributo migrado pode ser usado como parte ou toda a chave primária ou chave alternada, ou pode ser usada como atributo não-chave. Se todos os atributos da chave primária de uma entidade-pai são migrados como parte da chave primária da entidade-filho, então a associação é conhecida como relacionamento identificador. Se algum dos atributos da chave primária de uma entidade-pai não faz parte da chave primária da entidade-filho, então a associação é conhecida como relacionamento não-identificador. Restrições de integridade Integridade de Chave Toda tupla tem um conjunto de atributos que a identifica de maneira única na relação. Integridade de Entidade (Integridade existencial) Nenhum valor de chave primária poderá ser NULO. Integridade Referencial Se uma chave estrangeira existe na relação, então seu valor tem de ser obrigatoriamente nulo ou um valor da chave primária existente na relação correspondente.

Restrições de integridade

Integridade de Chave

Toda tupla tem um conjunto de atributos que a identifica de maneira única na relação.

Integridade de Entidade (Integridade existencial)

Nenhum valor de chave primária poderá ser NULO.

Integridade Referencial

Se uma chave estrangeira existe na relação, então seu valor tem de ser obrigatoriamente nulo ou um valor da chave primária existente na relação correspondente.