Cardinalidade (modelagem de dados)

Origem: Wikipédia, a enciclopédia livre.

Em modelagem de dados a cardinalidade é um dos princípios fundamentais sobre o relacionamento de um banco de dados relacional. Nela são definidos o graus de relação entre duas entidades ou tabelas.[1]

No modelo relacional, podemos ter os seguintes níveis de relacionamento: 1:N, N:N, 1:1.

Por exemplo, considere um banco de dados desenhado para manter informações relativas a um hospital. Esse banco de dados poderá ter várias tabelas como:

  • Tabela médico onde constarão informações sobre o médico profissional;
  • Tabela paciente onde constarão dados relativos aos assuntos médicos e sobre o tratamento do paciente;
  • Tabela departamento onde serão tratadas as informações relativas às divisões departamentais do hospital.

Neste modelo teremos o seguinte cenário:

  • Existirá o relacionamento vários-para-vários (N:N) entre os registros da tabela médico e os registros da tabela paciente, um médico atende diversos pacientes, assim como um paciente pode ser atendido por diversos médicos;
  • Existirá o relacionamento um-para-vários (1:N) no relacionamento entre a tabela departamento em relação à tabela de médicos, pois um médico poderá trabalhar em somente um departamento do hospital, contudo, um departamento poderá ter vários médicos.
  • Já o relacionamento um-para-um (1:1) será usado nos casos onde o registro de uma tabela só poderá ter uma associação com um registro de outra tabela. No nosso caso, isso caberia na relação entre um quarto de apartamento e um paciente, pois um paciente só poderá estar em um determinado apartamento, e cada apartamento só poderá abrigar um determinado paciente (partindo do princípio de quartos individuais).

Uma das principais funções de cardinalidade é manter a integridade do banco de dados em associação com as regras de negócio, não permitindo que essas regras sejam quebradas causando anomalias no SGBD, dados repetidos ou fora de normalização. Essas associações são feitas através de chaves (chave estrangeira e chave primária), que são registros de indexação que não se repetem e que podem ser usadas como um índice para os demais campos da tabela do banco de dados. Em chaves primárias, não pode haver valores nulos nem repetição.

Em modelos de dados complexos, o relacionamento poderá ocorrer centenas de vezes, envolvendo dezenas de tabelas. O renomado cientista da computação C.J. Date criou um método sistemático para essa organização dos modelos de banco de dados. Esse modelo é o que conhecemos como normalização de dados. A normalização de dados permite-nos, entre outras coisas, evitar anomalias em comando de delete e updates. Na vida real o processo de normalização de banco de dados consiste em dividir uma grande tabela com diversas colunas em tabelas menores.

Notas e Referências

  1. «Special-Purpose Rowsets». msdn.microsoft.com (em inglês). Consultado em 30 de março de 2017 

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre banco de dados é um esboço. Você pode ajudar a Wikipédia expandindo-o.