| |
|
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.
|
 |
|

10-19-06, 11:22
|
|
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)
|
|

10-19-06, 11:30
|
|
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.
|
|
|

10-19-06, 11:33
|
|
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)
|
|

10-19-06, 12:37
|
|
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"
|
|

10-19-06, 12:48
|
|
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)
|
|

10-19-06, 13:27
|
|
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
|
|

10-19-06, 13:44
|
|
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"
|
|

10-19-06, 14:31
|
|
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.
|
|
|

10-19-06, 14:33
|
|
King of Understatement
|
|
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
|
|
Quote:
|
Originally Posted by wiki
|
Now that is just plain silly.
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
|
|
|

10-19-06, 15:06
|
|
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"
|
|

10-19-06, 15:16
|
|
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...
|
|

10-19-06, 15:42
|
|
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.
|

10-20-06, 03:27
|
|
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?
|
|

10-20-06, 03:39
|
|
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)
|
|

10-20-06, 16:21
|
|
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.
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|