Re: Designing DB in accordance with the relational model

From: paul c <anonymous_at_not-for-mail.invalid>
Date: Fri, 12 Nov 2010 10:39:42 -0800
Message-ID: <ibk1lm$6v7$1_at_tioat.net>


On 11/11/2010 11:32 AM, Hugo Kornelis wrote:
> On Wed, 10 Nov 2010 15:54:26 -0800 (PST), Kentauros
> <joker.vd_at_gmail.com> wrote:
>
>> On Nov 11, 12:39 am, Hugo Kornelis
>> <h..._at_perFact.REMOVETHIS.info.INVALID> wrote:
>>>
>>> ...
>>> The predicate "<Character> has<Defense>", for instance, is
>>> incomplete. To complete it, you have to change it to "<Character> has
>>> <Defense> in<Game>".
>>
>> The problem is, many characteristics never change at all.
>
> But why is that a problem?
> "Wario has defense 17 in Super Mario World"
> "Wario has defense 17 in Super Mario World 2"
> "Wario has defense 17 in Super Mario World 3D"
> "Wario has defense 17 in Super Mario World - the last part"
> "Wario has defense 17 in Super Mario World - the sequel to the last
> part"
>
> There is nothing wrong with this extension. The candidate key for this
> relvar is (Character, Game), and there are no violations of this key,
> or of any other constraint.
>
> From your posts, I get the impression that you try to minimize the
> number of distinct facts in the database. In my experience, it is
> often far better to minimize the number of distinct predicates....

Maybe it's simple but I'm having a hard time understanding the above. Is it even possible to reduce the number of predicates an app needs without changing requirements (at least without de-normalizing)?

(By the way, I also don't see what's redundant in those 'Wario' propositions above.) Received on Fri Nov 12 2010 - 19:39:42 CET

Original text of this message