Meu livro de texto fornece a seguinte definição de chave primária em um banco de dados relacional, que eu não entendo completamente. A ajuda seria muito apreciada.
Seja uma relação. Então a chave primária para é um subconjunto do conjunto de atributos de , digamos , satisfazendo as duas propriedades a seguir:
Singularidade de propriedade: Não há duas tuplas distintas de tem o mesmo valor para .
Propriedade de irredutibilidade: Nenhum subconjunto adequado de possui a propriedade de exclusividade.
Estou me perdendo com a propriedade Irredutibilidade.
database-theory
FutureSci
fonte
fonte
Respostas:
Considere a seguinte tabela:
Uma chave é qualquer conjunto de atributos: qualquer subconjunto de {Nome, Sobrenome, Animal de estimação, FavColour}. A propriedade exclusividade diz que nenhum dois registros podem ter os mesmos valores para os atributos em uma chave. Assim, por exemplo, {FavColour} é uma chave que possui a propriedade de exclusividade: não existem dois registros com o mesmo valor. {Nome, Sobrenome} também é exclusivo: não há dois registros com o mesmo nome e sobrenome. {Pet}, por outro lado, não é exclusivo, pois o primeiro e o segundo registros têm o mesmo valor para esse atributo.
Agora, {FirstName, LastName, Pet, FavColour} também é uma chave exclusiva: não há dois registros com o mesmo valor para todos os atributos. Mas isso é uma chave boba, certo? A irredutibilidade diz que, se você remover qualquer um dos atributos da sua chave, ela deixará de ser exclusiva. Portanto, {FirstName, LastName, Pet, FavColour} não é irredutível porque, se você remover o FavColour, obtém a chave {FirstName, LastName, Pet}, que ainda possui exclusividade. E isso não é irredutível, porque você pode jogar fora o Pet e obter {FirstName, LastName}, que ainda é único. No entanto, {FirstName, LastName} é irredutível porque nem {FirstName} nem {LastName} são exclusivos: existem duas pessoas com o mesmo nome e duas pessoas com o mesmo sobrenome.
fonte
Observe como pode ser um conjunto de colunas. Irredutibilidade significa que você precisa escolher conjuntos mínimos de colunas.K
Nota bene: Eles devem exigir .K≠∅
Por exemplo, considere essa relação.
Vamos investigar todas as chaves possíveis.
A
- único e irredutível.B
-- não Único.C
-- não Único.A,B
- redutível aA
.A,C
- redutível aA
.B,C
- único e irredutível.A,B,C
- redutível aA
.Portanto, existem duas opções para chaves primárias aqui:
A
eB,C
.fonte
Irredutibilidade simplesmente se refere a um conjunto mínimo de atributos que não podemos seguir abaixo sem perder a exclusividade. Por exemplo, em uma tabela de pessoas, podemos encontrar (Sobrenome, Nome) são únicos, enquanto (Sobrenome) e (Nome) não são.
Uma vez que tenhamos exclusividade, podemos continuar adicionando atributos sem perdê-la, para que a irredutibilidade resolva esse problema.
fonte