Trasitive dependencies

  • table Results contains (student_id,subject_id,marks ,has_passed) as attributes. with the composite primary key (student_id,subject_id)

    2). i wanna make sure that can we tell that 'has_passed' is transitively depend on (student_id,subject_id)..

    i know that this table is not is 3NF, since 'has_passed' depends on 'marks'. is it the same as sayin in the second sentence

  • Sorry, but I'm not sure I understand what your question is

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • i appreciate ur modesty

  • Could you perhaps clarify and expand on your question so that someone can help you?

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • smsam1,

    could you provide some sample data to explain your question please?

  • i appreciate ur modesty

    Cute. But this does sound a bit arrogant from someone asking for help on what looks like homework.

    If we know a particular marks value may be determined by the association of a student_ID to a subject_ID, and that has_passed depends on marks, by definition we have a transitive dependendancy.

    Now, the names of the columns would imply all that, but if you "wanna make sure", then you should examine each relationship for validity, then apply the definition of transitive dependancy.

  • smsam1 (6/27/2009)


    i know that this table is not is 3NF, since 'has_passed' depends on 'marks'. is it the same as saying in the second sentence

    I'm not sure where you get the conclusion "'has_passed' depends on 'marks'" from... This implies that there is not a single other business rule to define the status of has_passed.

    With your statement you define that a huge donation or an outstanding result on -let's say a sports event- will never ever lead to an inconsistent relation of 'has_passed' and 'marks'.

    If the business rule would allow to create one single circumstance where you end up with 'has_passed' even if 'marks' would not allow it, then your data model is in 3NF.

    With this simple example you just demonstrated the importance of knowing and understanding the business model behind the requirement.



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]

  • smsam1 (6/27/2009)


    table Results contains (student_id,subject_id,marks ,has_passed) as attributes. with the composite primary key (student_id,subject_id)

    2). i wanna make sure that can we tell that 'has_passed' is transitively depend on (student_id,subject_id)..

    i know that this table is not is 3NF, since 'has_passed' depends on 'marks'. is it the same as sayin in the second sentence

    Since "has passed" is dependend on both the key, and on "marks", that makes it 2NF, but not 3NF. To be 3NF, you should have a separate table with "Marks" as the key, and "Has Passed" as a dependent datum.

    Unless, of course, the relationship between the marks on the test and passing/failing is non-mathematical. If, for example, a passing grade on Test 1 is 80%, and a passing grade on Test 2 is 60%, then "Has Passed" would need to be in a table with the test ID and the passing grade in order to be in 3NF.

    And, if there are more factors, like, "well, I passed him because his parents gave a lot of money to the school", and it becomes something that can't be normalized in the database due to external judgement, then it would belong in this original table, and you'd have to live with 2NF. Would probably be good to add a Notes column at that point, where the reason for it could be stored.

    Does that help?

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • ya.. that was usefull.

    but i want to know the way to write it formally

    is it true if i say that has_passed is transitivily depends on student_id and subjedt_id?

  • That's accurate. More grammatically correct would be, "Column 'has_passed' is transitively dependent on columns 'student_id', and 'subject_id' via column 'marks'." (I'm assuming from the posts that English is not your first language, so this grammar may not help if you're translating.)

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • thanks.

    i do understand your grammer easily. 🙂

    but how can u assume that english is not my first language?

  • smsam1 (6/30/2009)


    thanks.

    i do understand your grammer easily. 🙂

    but how can u assume that english is not my first language?

    Sorry about that. I'm just used to things like this:

    ya.. that was usefull.

    but i want to know the way to write it formally

    is it true if i say that has_passed is transitivily depends on student_id and subjedt_id?

    being written by people who are not fully comfortable with standard English grammar.

    The particular construct, "...is transitivily depends....", is fairly common for ESL (English as a Second Language) students, but is highly uncommon amongst those for whom English is their primary language. The use of "to be" as a non-infinitive modifier for a third-person present-tense verb is common in many of the Romance languages, but is not a standard part of English. The closest that comes to in English is what's called a "split infinitive", which is frowned upon, but common, in English. This particular case doesn't fall into that category.

    That's why I assumed ESL. I'm used to seeing such in that context. So I assumed, and was apparently incorrect in that. (I hope this wasn't obfuscatory. I'm trying to be as precise as possible here, and am now assuming singular English literacy.)

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • GSquared (6/30/2009)


    ...ESL (English as a Second Language) ...

    Now that's something I'd call a "Linguistic Freudian slip"!

    ESL sounds very close to "Esel", which is German for donkey or jackass. :hehe:

    Coincidence??? :unsure:

    Is ESL an official abbreviation? I shortly came up with NEAFL (Non English As First Language) - but I just made it up...



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]

  • ESL = English as a Second Language, in at least 18 dictionaries, per http://www.onelook.com.

    It's standard.

    It's generally pronounced as the separate letters, not as a single word. Like "SQL", as opposed to "SQL". 🙂

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • lmu92 (6/30/2009)


    GSquared (6/30/2009)


    ...ESL (English as a Second Language) ...

    Now that's something I'd call a "Linguistic Freudian slip"!

    ESL sounds very close to "Esel", which is German for donkey or jackass. :hehe:

    Coincidence??? :unsure:

    Is ESL an official abbreviation? I shortly came up with NEAFL (Non English As First Language) - but I just made it up...

    Thank you so much, Lutz!

    I read this "ES(e)L" but I've not been sure if I'm the only guy who felt like a donkey... :hehe:

Viewing 15 posts - 1 through 15 (of 20 total)

You must be logged in to reply to this topic. Login to reply