Re: satisfies algorithm

From: David Portas <REMOVE_BEFORE_REPLYING_dportas_at_acm.org>
Date: Sat, 26 Jul 2008 19:40:45 +0100
Message-ID: <U46dncJTw9wt8hbVnZ2dnUVZ8s_inZ2d_at_giganews.com>


"Brian Selzer" <brian_at_selzer-software.com> wrote in message news:PoFik.34002$ZE5.2132_at_nlpi061.nbdc.sbc.com...
>
> "David Portas" <REMOVE_BEFORE_REPLYING_dportas_at_acm.org> wrote in message
> news:vJ6dnRSku8yechfVnZ2dneKdnZydnZ2d_at_giganews.com...
>> "Brian Selzer" <brian_at_selzer-software.com> wrote in message
>> news:92kik.14667$cW3.1512_at_nlpi064.nbdc.sbc.com...
>>>
>>> Yes. Normalize. A schema that is in BCNF does not have any nontrivial
>>> functional dependencies where the determinant is not also a key. Where
>>> there is a key, there should also be a unique index of some sort, making
>>> it impossible for there to be two tuples with the same determinant.
>>>
>>
>> Unique indexes have nothing to do with keys. A key is a logical construct
>> whereas an index is merely one possible physical structure used by some
>> DBMSs. A key does not require an index.
>
> Keys have the uniqueness property. Don't you agree that the uniqueness
> property should be enforced by whatever implementation is chosen?

Yes of course.

> I think you would be hard pressed with today's technology to find a more
> efficient implementation method to enforce the uniqueness property than
> maintaining an index--especially when a relation has more than one key.
>

This is a different thing from saying there "should" be a unique index for a key. Some DBMSs don't even have the concept of indexes (Netezza comes to mind). Whether a database has indexes or not has nothing to do with whether keys are enforced.

-- 
David Portas
Received on Sat Jul 26 2008 - 20:40:45 CEST

Original text of this message