Results 1 to 12 of 12
  1. #1
    Join Date
    Dec 2012
    Posts
    6

    Arrow Multi-parent hierarchies

    Hi,
    anyone knows:
    a) any real-world examples of multi-parent hierarchies/structures where a database is used to store/update the data very often?

    b) What is the most difficult to implement/maintain multi-parent schema (real world case)?

    I'm doing some research, so I'm trying to find the most-difficult real-world cases that are actually in use, regularly.

  2. #2
    Join Date
    Oct 2009
    Location
    221B Baker St.
    Posts
    487
    Please post an example of what a "multi-parent hierarchy/structure" is to you.

  3. #3
    Join Date
    Dec 2012
    Posts
    6
    Quote Originally Posted by papadi View Post
    Please post an example of what a "multi-parent hierarchy/structure" is to you.
    24 hours since my reply (which included the link of a graphic) and still there is no moderator around to 'approve' it in order to appear on this thread...

    Anyway, I'll try again using just words:

    Multi-parent structure to me is whatever structure includes results produced or affected by more than one sources or factors.

    A simple such structure is the family tree (from human family to dog breeding).

    Other structures I've heard of:

    -musical instrument taxonomy (like the one used by Australian Music Centre)

    -parcel history tracking where a parcel is made of pieces from other parcels

    -book and movie categories etc

    -some very complex structures to google (since graphics do not get approved): Grand taxonomy of rap names, The very many varieties of beer
    Last edited by Euclide; 01-08-13 at 19:52.

  4. #4
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,566
    Quote Originally Posted by Euclide View Post
    24 hours since my reply (which included the link of a graphic) and still there is no moderator around to 'approve' it in order to appear on this thread...
    Eh? What was requiring approval?
    Moderators are around here constantly.
    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 2012
    Posts
    6
    Quote Originally Posted by blindman View Post
    Eh? What was requiring approval?
    Moderators are around here constantly.
    When I submitted my reply there was a message saying it will be published after it is approved by a moderator.

  6. #6
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,566
    Interesting.
    It had an attachment?
    Is it visible now?
    If it's not practically useful, then it's practically useless.

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

  7. #7
    Join Date
    Dec 2012
    Posts
    6
    No attachment, I just pasted an image link and the reply never showed up. On a second thought, the image res was rather high (1280 x 805) so it might be that and/or because it was my 2nd post -probably a limitation set by the site admin.

  8. #8
    Join Date
    Oct 2009
    Location
    221B Baker St.
    Posts
    487
    Suggest you attach the file (one more time) to your reply and make sure the Submit Reply is clicked.

    More than once i've "Previewed" something and did not "Submit". . .
    Bummer.

  9. #9
    Join Date
    Dec 2012
    Posts
    6
    That was definitely not the case, because the message wouldn't have appeared without submitting the post.

    Anyway, that image was just an example of a complex multi-parent structure (poly-hierarchical too), but with very few data, rarely updated. I'm searching for a version with lots of data and frequent updates.

    The content of the image is interesting though, so I'll try to post it again as a test:

    http://modernl.com/images/diagrams/w...tree-large.jpg

    More complex and perhaps a bit more frequently updated would have been the other two I mentioned previously (just to get on topic again):

    http://www.bloodyloud.com/wp-content...eerrap/rap.jpg

    http://www.newsnshit.com/wp-content/..._VVMVOBeer.jpg
    Last edited by Euclide; 01-10-13 at 19:14.

  10. #10
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,844
    http://www.bloodyloud.com/wp-content...eerrap/rap.jpg


    The forum is set to not display image urls inline. To have an image display, you need to attach it to the post; To do this, you need to be in the 'advanced' edit mode (by clicking the 'Go Advanced' button below the default edit window,) then click the 'manage attachments' button.

    You would then either Browse to/select the images from your computer, or insert the URL of the image in the 'Upload File from a URL' text box, then select the 'Upload' button.
    Attached Thumbnails Attached Thumbnails web-technology-family-tree-large.jpg  
    Last edited by loquin; 01-29-13 at 13:49.
    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


  11. #11
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,844
    Well, I took a look at the web technologies image; in this case, a technology may have 0, 1, 2, or more 'parents.' And, a technology may have multiple children. This is then a many-to-many relationship, but, with the twist of both the related items are stored in the same table. So, instead of a standard, self referencing relationship, used for heirarchical relationships, you would have a separate intersection table, where both the parent and child fields reference the same table. A self-referencing intersection table, you could call it.

    I took a quick stab at modelling the web technology image; the postgresql table definitions are below.

    Code:
    CREATE TABLE web_tech
    (
      tech_id integer NOT NULL DEFAULT nextval('"WebTech_tech_id_seq"'::regclass),
      tech_descr character varying(30) NOT NULL,
      other_pertinent_data character varying(100),
      CONSTRAINT web_tech_pk PRIMARY KEY (tech_id),
      CONSTRAINT web_tech_uk UNIQUE (tech_descr)
    )
    WITH (OIDS=FALSE);
    ALTER TABLE web_tech OWNER TO postgres;
    
    
    CREATE TABLE web_tech_relationship
    (
      parent_id integer NOT NULL,
      child_id integer NOT NULL,
      relationship_comments character varying(30),
      CONSTRAINT web_tech_relationships_pk PRIMARY KEY (parent_id, child_id),
      CONSTRAINT web_tech_relationships_fk1 FOREIGN KEY (parent_id)
          REFERENCES web_tech (tech_id) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION,
      CONSTRAINT web_tech_relationships_fk2 FOREIGN KEY (child_id)
          REFERENCES web_tech (tech_id) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION,
      CONSTRAINT web_tech_relationships_ck CHECK (parent_id <> child_id)
    )
    WITH (OIDS=FALSE);
    ALTER TABLE web_tech_relationship OWNER TO postgres;
    When looking at geneology, since biologically, a child has two parents (either or both of which may be unknown) but have multiple children, you could still use the self-referencing intersection table to model this, but you would need to add an additional, (trigger or rule based) constraint to the intersection table, so that the count of the child_id cannot be greater than two.

    While this works for biology, it wouldn't work as a legal definition though, as legally, a child could have one mother and two fathers. (ex: mother has affair and result is offspring. Legally, a child born in a legal marriage is the child of the husband, but, if biological father is located, they could also be father of child. And, the result is a child with one mother and two fathers.)
    Last edited by loquin; 01-29-13 at 13:59.
    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


  12. #12
    Join Date
    Dec 2012
    Posts
    6
    Thanks for your response.

    I'm actually considering to design a DBMS (from physical to UI including probably a new data model) that would have a balanced capability to manage any sort of database problem including multiparent hierarchies (polyhierarchies). In sort, a universal, user-friendly DBMS (initially targeting desktop users & small companies).

    I think it might be far more difficult to achieve this by trying to use existing technologies than starting from scratch.

Tags for this Thread

Posting Permissions

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