If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > General > Database Concepts & Design > Definition of a Relational Database

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 10-19-06, 11:22
pkstormy pkstormy is offline
Moderator
 
Join Date: Dec 2004
Location: Madison, WI
Posts: 3,925
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)
Reply With Quote
  #2 (permalink)  
Old 10-19-06, 11:30
pootle flump pootle flump is offline
King of Understatement
 
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
No primary keys, no relational database
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
Reply With Quote
  #3 (permalink)  
Old 10-19-06, 11:33
pkstormy pkstormy is offline
Moderator
 
Join Date: Dec 2004
Location: Madison, WI
Posts: 3,925
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)
Reply With Quote
  #4 (permalink)  
Old 10-19-06, 12:37
blindman blindman is offline
World Class Flame Warrior
 
Join Date: Jun 2003
Location: Ohio
Posts: 11,726
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"
Reply With Quote
  #5 (permalink)  
Old 10-19-06, 12:48
pkstormy pkstormy is offline
Moderator
 
Join Date: Dec 2004
Location: Madison, WI
Posts: 3,925
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)
Reply With Quote
  #6 (permalink)  
Old 10-19-06, 13:27
loquin loquin is offline
Super Moderator
 
Join Date: Jun 2004
Location: Arizona, USA
Posts: 1,797
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

Reply With Quote
  #7 (permalink)  
Old 10-19-06, 13:44
blindman blindman is offline
World Class Flame Warrior
 
Join Date: Jun 2003
Location: Ohio
Posts: 11,726
__________________
If it's not practically useful, then it's practically useless.

blindman
www.chess.com: "sqlblindman"
Reply With Quote
  #8 (permalink)  
Old 10-19-06, 14:31
pootle flump pootle flump is offline
King of Understatement
 
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
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:
Quote:
pootle flump
ur codings are working excelent.
Reply With Quote
  #9 (permalink)  
Old 10-19-06, 14:33
pootle flump pootle flump is offline
King of Understatement
 
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
Quote:
Originally Posted by wiki
....or a database built in an RDBMS.
Now that is just plain silly.
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
Reply With Quote
  #10 (permalink)  
Old 10-19-06, 15:06
blindman blindman is offline
World Class Flame Warrior
 
Join Date: Jun 2003
Location: Ohio
Posts: 11,726
...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"
Reply With Quote
  #11 (permalink)  
Old 10-19-06, 15:16
r937 r937 is offline
SQL Consultant
 
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
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...
__________________
r937.com | rudy.ca
please visit Simply SQL and buy my book
Reply With Quote
  #12 (permalink)  
Old 10-19-06, 15:42
blindman blindman is offline
World Class Flame Warrior
 
Join Date: Jun 2003
Location: Ohio
Posts: 11,726
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.
__________________
If it's not practically useful, then it's practically useless.

blindman
www.chess.com: "sqlblindman"

Last edited by blindman; 10-20-06 at 11:09.
Reply With Quote
  #13 (permalink)  
Old 10-20-06, 03:27
sco08y sco08y is offline
Registered User
 
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?
Reply With Quote
  #14 (permalink)  
Old 10-20-06, 03:39
sco08y sco08y is offline
Registered User
 
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)
Reply With Quote
  #15 (permalink)  
Old 10-20-06, 16:21
pkstormy pkstormy is offline
Moderator
 
Join Date: Dec 2004
Location: Madison, WI
Posts: 3,925
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.
__________________
Expert Database Programming
MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

Last edited by pkstormy; 10-20-06 at 16:31.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On