Page 1 of 4 123 ... LastLast
Results 1 to 15 of 59
  1. #1
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926

    Definition of a Relational Database

    This is a rather awkward question but I need to ask it. I'm working with a "Progress" database. It has about 650 tables in it. Instead of using a Primary Key -> Foreign Key design, the tables basically have the same fields (3-4 fields) replicated in each table. There is nothing which specifically links the tables together via the same field names.

    Is this considered a relational database? I'm told that it definately is but I always thought for a database to be relational, you had to actually have some kind of link between the tables.

    Is there a website which would clarify this further?
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  2. #2
    Join Date
    Feb 2004
    Location
    One Flump in One Place
    Posts
    14,912
    No primary keys, no relational database
    Testimonial:
    pootle flump
    ur codings are working excelent.

  3. #3
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    The wierd thing is that you can define primary keys and indexes. But you can't actually link them to another table (i.e. no Foreign key so to speak).
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  4. #4
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    Quote Originally Posted by pootle flump
    No primary keys, no relational database
    The word "Relational" in "Relational Database" has nothing to do with relationships between tables. It actually refers to related fields within tables.
    If it's not practically useful, then it's practically useless.

    blindman
    www.chess.com: "sqlblindman"
    www.LobsterShot.blogspot.com

  5. #5
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    So the answer would be "Yes" - it is considered a relational database because it has the same field names in each of the tables even though there are no direct links between the fields (and the ability to assign a Primary Key to a field doesn't determine that it's relational)?
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  6. #6
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,848
    Quote Originally Posted by pkstormy
    So the answer would be "Yes" - it is considered a relational database because it has the same field names in each of the tables even though there are no direct links between the fields (and the ability to assign a Primary Key to a field doesn't determine that it's relational)?
    So. Is there any mechanism to enforce relational integrity within Progress?
    Lou
    使大吃一惊
    "Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
    "I have my standards. They may be low, but I have them!" - Bette Middler
    "It's a book about a Spanish guy named Manual. You should read it." - Dilbert


  7. #7
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    If it's not practically useful, then it's practically useless.

    blindman
    www.chess.com: "sqlblindman"
    www.LobsterShot.blogspot.com

  8. #8
    Join Date
    Feb 2004
    Location
    One Flump in One Place
    Posts
    14,912
    Quote Originally Posted by blindman
    The word "Relational" in "Relational Database" has nothing to do with relationships between tables. It actually refers to related fields within tables.
    That is why I said Primary and not Foreign
    Quote Originally Posted by wikipedia
    A relational database could also be defined as a set of relations or a database built in an RDBMS.
    Guess what a relation needs to have before it can be considered a relation?
    Testimonial:
    pootle flump
    ur codings are working excelent.

  9. #9
    Join Date
    Feb 2004
    Location
    One Flump in One Place
    Posts
    14,912
    Quote Originally Posted by wiki
    ....or a database built in an RDBMS.
    Now that is just plain silly.
    Testimonial:
    pootle flump
    ur codings are working excelent.

  10. #10
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    ...and a tautological argument is an argument that uses tautologies.
    If it's not practically useful, then it's practically useless.

    blindman
    www.chess.com: "sqlblindman"
    www.LobsterShot.blogspot.com

  11. #11
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    according to another web site article i read recently, if there is even one NULL anywhere in the database, it isn't a relational database

    of course, this was posted by a fabian sycophant, so take it for what it's worth...
    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

  12. #12
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    Quote Originally Posted by pkstormy
    This is a rather awkward question but I need to ask it. I'm working with a "Progress" database. It has about 650 tables in it. Instead of using a Primary Key -> Foreign Key design, the tables basically have the same fields (3-4 fields) replicated in each table. There is nothing which specifically links the tables together via the same field names.

    Is this considered a relational database? I'm told that it definately is but I always thought for a database to be relational, you had to actually have some kind of link between the tables.
    I think this would just be called a realy crappy database. Or maybe you could just call it a datapile or a dataheap.
    Last edited by blindman; 10-20-06 at 12:09.
    If it's not practically useful, then it's practically useless.

    blindman
    www.chess.com: "sqlblindman"
    www.LobsterShot.blogspot.com

  13. #13
    Join Date
    Oct 2002
    Location
    Baghdad, Iraq
    Posts
    697
    Quote Originally Posted by pootle flump
    No primary keys, no relational database
    Hmm....

    The value of b in a NATURAL JOIN b = a is well defined, according to Date and Darwen.

    It's as a relation with no attributes and a cardinality of zero. (Or maybe it's a cardinality of one, I always get them backwards. Anyhow, it exists and is a valid relational value.) How could a relation with no attributes have a primary key?

  14. #14
    Join Date
    Oct 2002
    Location
    Baghdad, Iraq
    Posts
    697
    Quote Originally Posted by r937
    of course, this was posted by a fabian sycophant, so take it for what it's worth...
    It seems like dbdebunk has stopped putting out articles. Which is well enough, seeing as how they had pretty much stopping talking about RM and were just bashing America / whining about the downfall of Western civ.

    Quote Originally Posted by r937
    according to another web site article i read recently, if there is even one NULL anywhere in the database, it isn't a relational database
    There is a relational answer to nulls, sixth normal form. I think I posted about it a while back.

    But it requires DBMS support to be of practical use, so until then I use nulls.

    (edit: fixed markup)

  15. #15
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    In regards to the question of enforcing referential integrity - no - Progress does not support referential integrity. You can define Primary Keys (not foreign keys) and indexes. That is all. And yes, I do agree with blindman's comment about the database.

    The programming of a Progress database is done via 4GL (not that it matters). But the reason I ask the question about whether it is or is not considered a relational database is because this has become a rather touchy topic with the rest of the development team and as their new dba, I worried about orphaned records (which do exist) and claimed that it was not a relational database. Of course this comment was met with extreme critisizm.

    Every table has 3-4 fields in it that are the same. I imported the tables into MSAccess and connected in the links. The attachment shows SOME of the structure where I linked the tables together in MSAccess to try and get a sense of what I was dealing with but there is NO physical capabilities of linking the tables together in Progress itself.
    Last edited by pkstormy; 10-20-06 at 17:31.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •