Page 1 of 16 12311 ... LastLast
Results 1 to 15 of 232
  1. #1
    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.
    Attached Thumbnails Attached Thumbnails AMDHighLevel.JPG  

  2. #2
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,576
    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"
    www.LobsterShot.blogspot.com

  3. #3
    Join Date
    Feb 2004
    Location
    One Flump in One Place
    Posts
    14,910
    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:
    pootle flump
    ur codings are working excelent.

  4. #4
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    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
    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

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

  6. #6
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,576
    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"
    www.LobsterShot.blogspot.com

  7. #7
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    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...

    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

  8. #8
    Join Date
    Feb 2004
    Location
    One Flump in One Place
    Posts
    14,910
    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:
    pootle flump
    ur codings are working excelent.

  9. #9
    Join Date
    Jan 2007
    Location
    UK
    Posts
    11,138
    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
    George
    Home | Blog

  10. #10
    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 08:15.

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

  12. #12
    Join Date
    Feb 2004
    Location
    One Flump in One Place
    Posts
    14,910
    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:
    pootle flump
    ur codings are working excelent.

  13. #13
    Join Date
    Jan 2007
    Location
    UK
    Posts
    11,138
    Easy peasy
    Code:
    SELECT employee_number
         , department
         , manager_number
         , 'copa cobana'
    FROM   human_resources.people
    WHERE  start_date BETWEEN '20080901' AND '20080930'
    George
    Home | Blog

  14. #14
    Join Date
    Sep 2002
    Location
    UK
    Posts
    5,171
    Nice. I like this from the Lazysoft website:

    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!

  15. #15
    Join Date
    Apr 2002
    Location
    Toronto, Canada
    Posts
    20,002
    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?"
    rudy.ca | @rudydotca
    Buy my SitePoint book: Simply SQL

Posting Permissions

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