A cardinalidade é um atributo do banco de dados. À medida que os bancos de dados comerciais crescem - geralmente com mais de um bilhão de entradas - eles exigem algoritmos mais sofisticados para que o gerenciamento de banco de dados permaneça acessível, flexível e eficiente. Uma boa programação de banco de dados que depende de algoritmos de cardinalidade mais recentes ajuda o gerenciamento de banco de dados em uma era de big data.
Cardinalidade simplificada
A cardinalidade expressa os limites de um relacionamento válido. Um exemplo relativamente trivial que torna claro o significado de cardinalidade é a cardinalidade de uma equipe de vendas. A cardinalidade mínima é de duas pessoas; uma pessoa não constitui uma equipe. A cardinalidade máxima neste caso é menos certa e tem a ver com atributos como o poder da equipe e a comunicação ideal dentro de uma equipe. Em certo número, adicionar mais membros a uma equipe de vendas torna-a desajeitada, difícil de gerenciar e cara de manter. Nesse ponto, a cardinalidade máxima é atingida.
Cardinalidades Práticas
A determinação da cardinalidade torna-se mais útil na área de gerenciamento de grandes bancos de dados. Projetar um sistema de gerenciamento de estoque de armazém oferece um exemplo. Você pode decidir que para manter um item amplamente disponível em diferentes áreas geográficas, você teria pelo menos uma instância em cada depósito, permitindo mais de uma apenas quando todos os depósitos tivessem pelo menos um item em estoque. As regras de cardinalidade garantirão isso ao atingir diferentes restrições de cardinalidade no projeto de gerenciamento de software - por exemplo, proibindo localizações simultâneas para objetos idênticos, contando recursos individuais em cada localização ou marcando a localização e rastreando todos os objetos.
Outras restrições de cardinalidade
Para atingir a cardinalidade, é necessário que cada objeto ou grupo de objetos tenha um identificador exclusivo no sistema de gerenciamento de banco de dados. Cada objeto tem um dos três relacionamentos de cardinalidade com outras entidades: um relacionamento um para um, um relacionamento um para muitos ou muitos para um ou um relacionamento muitos para muitos. Estabelecer a cardinalidade de cada objeto em um banco de dados é essencial. As regras de cardinalidade devem ser flexíveis e permitir mudanças. O banco de dados de uma empresa de seus clientes de cabo, por exemplo, é bastante aprimorado se puder adicionar rapidamente outros atributos que os desenvolvimentos de negócios exigem, como clientes de cabo que também são clientes sem fio, clientes de cabo que são clientes sem fio de outras empresas e clientes de cabo que também assinar serviços de terceiros, como Netflix. As regras de cardinalidade mantêm categorias múltiplas, que mudam frequentemente, distintas e organizadas de forma otimizada.
Big Data
Em uma era de big data - conjuntos de dados grandes e complexos de até vários bilhões de objetos - construir bancos de dados eficientes com regras de cardinalidade avançadas torna-se essencial para tornar o armazenamento de dados viável e o acesso rápido aos dados. Uma maneira mais antiga de contar cada palavra única nas obras coletadas de Shakespeare, por exemplo, usa mais de 10 milhões de bytes. A melhor maneira usa um pouco mais de 3,000 bytes. Uma forma mais recente discutida por Matt Abrams no site HighScalability usa 512 bytes. Esses algoritmos mais sofisticados permitem que os usuários obtenham uma estimativa de cardinalidade com qualquer precisão desejável de vários locais de armazenamento, sem ter que introduzir os dados em uma máquina antes de identificar os dados e com um gasto mínimo de recursos de armazenamento.