Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Other How to setup a database table?

  • This topic is empty.
Viewing 11 posts - 46 through 56 (of 56 total)
  • Author
    Posts
  • #141231
    __
    Participant

    >Your table violates 2 NF and that is all about redundancy. If you read and want to record more than one title(article) which is published under same URL


    @jurotek
    , note that we discussed this earlier:

    >will every URL+title combination be unique?
    –@traq

    .
    >Every URL and Title will be unique. The only way that they wouldn’t be is if I read the same article (title) from the same website (url) continuously. But Readability does not allow duplicate articles so that would be impossible.
    –@ChrisBurton

    The table, within the scope of its definition and usage, is perfectly normalized: the title is directly dependent on the url (one-to-one relationship), and no urls or titles will ever be duplicated.

    #141233
    jurotek
    Participant

    @chrisburton, Let’s hope that this is always the case like this and that there’s no more that one full article under one URL you want to record, otherwise you must set up child records in related table on the many side of relationship to a parent which would be URL entity. If you sure what you saying then title (article) attribute in same table with URL attribute would suffice. Just make sure that this is always going to be the case.

    #141235
    chrisburton
    Participant

    Thanks @traq for mentioning my previous statement. I completely forgot about it.


    @jurotek
    Generally, articles that have more than one page, usually have URL changes to match. Such as an article that is 5 pages long, usually will have`/title/page?=2`, `/title/page/2`, etc. This is to allow people to link to them. But I understand what you’re saying and I appreciate the info.

    #141232
    jurotek
    Participant

    @chrisburton, I know what you saying. In a real life if I was going to set up DB like this here’s how I would go about it. In your case tho is prolly going little overboard but I’ll show you anyways:

    tblURL
    URLID pk
    URLDesc

    tblArticles
    ArticleID pk
    URLID fk
    ArticleCategoryID fk
    ArticleName
    ArticleDate

    tblArticleCategories
    ArticleCategoryID pk
    ArticleCategory

    That way I could query data by article category also

    tblPages
    PageID pk
    ArticleID fk
    PageNumber
    PageURL

    #141236
    __
    Participant

    >Just make sure that this is always going to be the case.

    The info is retrieved from [an API](http://readability.com/developers/api/reader) which enforces the 1-to-1 relationship. I don’t know if that was mentioned, specifically, in _this_ conversation.

    #141237
    chrisburton
    Participant

    @traq I’m not technically using an API here. Just grabbing this data: http://readability.com/christopherburton/latest/feed

    PHP:

    $xml = simplexml_load_file(“http://readability.com/christopherburton/latest/feed”);
    $json = json_encode($xml);
    $array = json_decode($json,TRUE);

    #141238
    __
    Participant

    that’s an API. It’s something you can query to get specific info from the app.

    #141239
    jurotek
    Participant

    @traq, that’s true if you have URL -> article. If you went the other way and have article -> URL the 1:1 would no longer apply because same article can appear under more than one (different) URL I suppose and therefore you’d have 1:M.

    #141240
    chrisburton
    Participant

    @traq Ah, gotcha. I’m going to tag you in a new discussion as I’m having issues with inserting data into the database.

    #141241
    __
    Participant

    @jurotek, yes, I agree that this DB would not be suited to 1:M relationships. That’s why I originally asked chris in the first place. But this is basically a wrapper for an established service that already does things this way on purpose: I think it’s safe to rely on it.

    >I’m going to tag you in a new discussion as I’m having issues with inserting data into the database.

    Don’t bother ; )

    kidding. I don’t get notifications. (Don’t like them.)
    I try to browse everything, though, and seeing names catches my attention.

    #141243
    jurotek
    Participant

    @traq, I agree with you. In this case given the real life constraints and or user requirement the one table solution is sufficient. Just wanted to show some other ways to do it if more information was required.

Viewing 11 posts - 46 through 56 (of 56 total)
  • The forum ‘Other’ is closed to new topics and replies.