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

09-12-08, 14:07
|
|
Registered User
|
|
Join Date: Dec 2003
Location: Canada
Posts: 710
|
|
|
Associative Model of Data Architecture
|
|
In the past I have been advocating the use of Simon William's "Associative Model of Data" (AMD) and Lazysoft's Sentences ADBMS. There was some resistance to this idea so I decided to meet the dissenters half way. I have developed a relational model of the (AMD) Architecture.
This architecture allows you to abandon creating tables in your schema and instead only use single attributes and explicit relationships. All of your data populates the Item table and its Subtypes. All schema data involves foreign keys in dependent tables connected by identifying relationships.
If you want to see the AMD in action download the personal edition of Sentences from Lazysoft. It takes minutes to install.
I have attached an image of the contextual design.
I would be happy to answer any questions you have.
|
|

09-12-08, 16:19
|
|
World Class Flame Warrior
|
|
Join Date: Jun 2003
Location: Ohio
Posts: 11,726
|
|
An excellent example of what is, quite possibly, the worst data model known to mankind.
__________________
If it's not practically useful, then it's practically useless.
blindman
www.chess.com: "sqlblindman"
|
|

09-12-08, 17:10
|
|
King of Understatement
|
|
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
|
|
|
|
Hi certus- good to see you back
Quote:
|
Originally Posted by certus
I would be happy to answer any questions you have.
|
ok!
Quote:
|
Originally Posted by certus
This architecture allows you to abandon creating tables in your schema and instead only use single attributes and explicit relationships.
|
The implication is Tables Are A Bad Thing. Are you assuming we take that premise as read?
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
|
|
|

09-12-08, 22:41
|
|
SQL Consultant
|
|
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
|
|
Quote:
|
Originally Posted by certus
I would be happy to answer any questions you have.
|
that contextual design certainly looks impressive
here's my question:
please show me the schema for customers, carts (orders), cart items (order items), and items
then please show an example query that returns all the customer names and total cart order amounts of customers who bought both widgets and doodads
|
|

09-14-08, 01:51
|
|
Registered User
|
|
Join Date: Dec 2003
Location: Canada
Posts: 710
|
|
Hello blindman. Wait until I get my copy of ERwin relicensed and then we can take an honest look under the hood.
Hello pootle flump, the benefit is you can change this schema on the fly as an integral part of the database. You can also merge databases easily because the "relational schema" is actually data to the Associative model and is handled consistently irregardless of what the "relational schema" content is. The traditional table structure prevents this. By eliminating tables and only using attributes and explicit relationships it is possible.
Hi rudy, I wrote a long piece of SQL and it got zapped. I will write it again offline. But it is one in the morning and I need my beauty sleep. I will answer your questions.
More questions welcome.
|
|

09-14-08, 20:48
|
|
World Class Flame Warrior
|
|
Join Date: Jun 2003
Location: Ohio
Posts: 11,726
|
|
Quote:
|
Originally Posted by r937
please show an example query that returns all the customer names and total cart order amounts of customers who bought both widgets and doodads
|
Quote:
|
Originally Posted by certus
Hi rudy, I wrote a long piece of SQL and it got zapped.
|
I think you may have just illustrated Rudy's point. Writing such a query should be a SHORT piece of SQL.
__________________
If it's not practically useful, then it's practically useless.
blindman
www.chess.com: "sqlblindman"
|
|

09-14-08, 20:52
|
|
SQL Consultant
|
|
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
|
|
admittedly, the SQL will involve either a self-join or a grouping subquery, because of the "customers who bought both widgets and doodads" requirement, and then grouping in the outer query, to get total cart order amounts
so, not a simple query, but nothing really difficult either
i'm sure any of the regulars here could write such a query right off the top of their heads...

|
|

09-15-08, 03:15
|
|
King of Understatement
|
|
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
|
|
Quote:
|
Originally Posted by r937
i'm sure any of the regulars here could write such a query right off the top of their heads...
|
.....erm....are we allowed to refer to w3schools?
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
|
|
|

09-15-08, 03:22
|
|
www.gvee.co.uk
|
|
Join Date: Jan 2007
Location: UK
Posts: 10,156
|
|
Quote:
|
Originally Posted by r937
i'm sure any of the regulars here could write such a query right off the top of their heads...

|
Careful Rudy, you're suggesting that just because someone is regular, it means they're pretty good at this database stuff 
|
|

09-15-08, 05:32
|
|
Moderator.
|
|
Join Date: Sep 2002
Location: UK
Posts: 5,171
|
|
Quote:
|
Originally Posted by certus
I would be happy to answer any questions you have.
|
I am having trouble understanding what the various tables represent (though I can see it is EAV on steroids clearly enough!) I got Entity Type (presumably the standard meaning such as "Employee" or "Widget"), but got stumped by the second one I looked at called "Entity (Attribute)". Does this mean an instance of an Entity Type, or an attribute of an entity type, or something else? An example of how to set up a simple Department and Employees model (or similar) would help.
|
Last edited by andrewst; 09-15-08 at 07:15.
|

09-15-08, 05:37
|
|
Moderator.
|
|
Join Date: Sep 2002
Location: UK
Posts: 5,171
|
|
Quote:
|
Originally Posted by certus
Hello pootle flump, the benefit is you can change this schema on the fly as an integral part of the database. You can also merge databases easily because the "relational schema" is actually data to the Associative model and is handled consistently irregardless of what the "relational schema" content is. The traditional table structure prevents this. By eliminating tables and only using attributes and explicit relationships it is possible.
|
Great: this means I can integrate my database of favourite CDs straight into the company's HR database 
|
|

09-15-08, 05:48
|
|
King of Understatement
|
|
Join Date: Feb 2004
Location: One Flump in One Place
Posts: 14,905
|
|
Quote:
|
Originally Posted by andrewst
Great: this means I can integrate my database of favourite CDs straight into the company's HR database 
|
Please can you create a query detailing all this months new starters including their department, manager and favourite Barry Manilow track.
__________________
Testimonial:
Quote:
pootle flump
ur codings are working excelent.
|
|
|

09-15-08, 06:02
|
|
www.gvee.co.uk
|
|
Join Date: Jan 2007
Location: UK
Posts: 10,156
|
|
Easy peasy
Code:
SELECT employee_number
, department
, manager_number
, 'copa cobana'
FROM human_resources.people
WHERE start_date BETWEEN '20080901' AND '20080930'
|
|

09-15-08, 07:46
|
|
Moderator.
|
|
Join Date: Sep 2002
Location: UK
Posts: 5,171
|
|
Nice. I like this from the Lazysoft website:
Quote:
Codd's aim was to free programmers from having to know the physical structure of data.
Our aim is to free them in addition from having to know its logical structure
|
So not only do they not need to know how the DBMS works under the covers, they don't even need to understand the data they put into / take out of it!
|
|

09-15-08, 08:03
|
|
SQL Consultant
|
|
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,524
|
|
free them from having to know the logical structure? WTF???!!!
i can just see a bank implementing this type of catastrophe-in-waiting
bank programmer: "hmm, lemme see, transfer $1000 from the chequing account into the, um... does it matter which account it goes into? does it have to be the same person's account?"
|
|
| 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
|
|
|
|
|