Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mwymp-0006d0-1x for pgsql-sql@arkaria.postgresql.org; Tue, 14 Dec 2021 03:47:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mwymn-0000aP-CK for pgsql-sql@arkaria.postgresql.org; Tue, 14 Dec 2021 03:47:29 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mwymm-0000aF-UG for pgsql-sql@lists.postgresql.org; Tue, 14 Dec 2021 03:47:29 +0000 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mwymg-0002ZU-DP for pgsql-sql@lists.postgresql.org; Tue, 14 Dec 2021 03:47:27 +0000 Received: by mail-pf1-x432.google.com with SMTP id k26so16717621pfp.10 for ; Mon, 13 Dec 2021 19:47:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=dFkFEW2Is0S376hAzTtU7rHVFgWgFHakk/KZ9JSEE5o=; b=VAgZkq4r0XEzNTwKF5ePhJl9O0NaFujHg+bvA1zRZP+T+Rq/JnIT073SYqewaezfuk SxvaPUa6lxBP6IoI4UacAlLLTH70my/+7cM4+gaSONDGlVuYQ6Fhz4mSAMQMXu41jv3W ql9bE0QmdYiuP6GRT98GdWTzSHHo/PzWnWraioHnmFUGYLo9XSeEMWZrL9qMs765wLJ/ SpA6KHgHFo5rBW9zp9E4GvEeqCqSSkci90lUY+XBovXBdQ7TsDeIVB/RDR0uauZym+Ks rFzlx43HTEJgXv+8Xn5Xy/IlqGOHkGetntmxQzu4Q1214QwDv/ezB2fkEeC62ooLqzHk cPlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=dFkFEW2Is0S376hAzTtU7rHVFgWgFHakk/KZ9JSEE5o=; b=2z4pDREiDd0Lwya/Ff7UfmEBRMlp/u2O0BS6weqJ4goOQ18bo+q9XVQrap9caJwEQL y+PjnQoujwdCGfruwb1hymc0dUKR465vrOwuFr9GCoYTFzPrSTwOho+NzZGQsGrrrau2 1X+Mo4tX1erTuOk7ca8wzg7Lo8G5CWHk7OYO3M6D8GYwOdRJ7tbo0Exg3L+dWB6CStYV IRh47h9sHxssF3HJGf/g4wd+liUN2zVuZEu95PUji9aiGuqy+FVN//YOUrb6J8qtG7UG 1m/Xv2KKc7YA1p547KeMPOTduZFaDkzE9S3ZaopDZ4wEj6Q7WkVgasnm+L8j/bs8PH+N Ld2w== X-Gm-Message-State: AOAM533kDrVpKTq1OTyUAZoG82syLyPCbrQ0s+wIAp0cxNzN9khKQxtP w25papy5eo69sRxRYL6/UOfB1exN65k= X-Google-Smtp-Source: ABdhPJzYXFGYJ78XgWPkvRkVYzTQ7CUrUA0xYXGMpVHe611Bgigo4qQ3WFYYM6X6/W2+VbgY9ji4Ag== X-Received: by 2002:a63:fd12:: with SMTP id d18mr1921947pgh.345.1639453640196; Mon, 13 Dec 2021 19:47:20 -0800 (PST) Received: from [10.0.0.94] (c-73-63-59-118.hsd1.ut.comcast.net. [73.63.59.118]) by smtp.gmail.com with ESMTPSA id pg13sm578651pjb.8.2021.12.13.19.47.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Dec 2021 19:47:19 -0800 (PST) Subject: Re: 5 tables with 3 different relation cases To: pgsql-sql@lists.postgresql.org References: From: Rob Sargent Message-ID: <66d7f649-fef5-0df2-f485-7a9eb3ee832e@gmail.com> Date: Mon, 13 Dec 2021 20:47:16 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------E74673569EF40C0F481AAC8D" Content-Language: en-CA List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------E74673569EF40C0F481AAC8D Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 12/13/21 7:32 PM, JORGE MALDONADO wrote: > Hi, > > I have 5 tables related among them so that: > > * T1 is parent of T2 > * T2 is parent of T3 > * T3 is parent of T4 > * T4 is parent of T5 > > image.png > > However, in some cases one table is missing so that: > > * T1 is parent of T3 > * T3 is parent of T4 > * T4 is parent of T5 > image.png > > 3 relations in total. > > And yet, in some cases an additional table is missing so that: > > * T1 is parent of T4, > * T4 is parent of T5 > > image.png > The 5 tables always have the exact same fields but, of course, the > relations are different among each case. > > Is there a way to design the schema so that I always have 5 tables and > make T2 and T3 "invisible" for cases #1 and #2? > > Or should I consider 12 tables: 5 for case #1, 4 for case #2 and 3 for > case #3. > > I will very much appreciate your feedback. > > Respectfully, > Jorge Maldonado Have you rejected using a single table with exactly the same columns + parent_id? --------------E74673569EF40C0F481AAC8D Content-Type: multipart/related; boundary="------------DE78F6A2E147C6F328229B22" --------------DE78F6A2E147C6F328229B22 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
On 12/13/21 7:32 PM, JORGE MALDONADO wrote:
Hi,

I have 5 tables related among them so that:

* T1 is parent of T2 
* T2 is parent of T3
* T3 is parent of T4
* T4 is parent of T5

image.png

However, in some cases one table is missing so that:

* T1 is parent of T3 
* T3 is parent of T4
* T4 is parent of T5
image.png

3 relations in total.

And yet, in some cases an additional table is missing so that:

* T1 is parent of T4,
* T4 is parent of T5

image.png
The 5 tables always have the exact same fields but, of course, the relations are different among each case.

Is there a way to design the schema so that I always have 5 tables and make T2 and T3 "invisible" for cases #1 and #2?

Or should I consider 12 tables: 5 for case #1, 4 for case #2 and 3 for case #3.

I will very much appreciate your feedback.

Respectfully,
Jorge Maldonado
Have you rejected using a single table with exactly the same columns + parent_id?

--------------DE78F6A2E147C6F328229B22 Content-Type: image/png; name="image.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="image.png" iVBORw0KGgoAAAANSUhEUgAAAsgAAACECAYAAACNrt1IAAAG9UlEQVR4nO3dQU5TbRuA4ef8 cQF1B4a6BkeQoANgCe0SygRMDB36DZi0Ex3RKY7o0CGdGBMaB66BVpfgDs4/+ELzoHwKPeA5 pdeVMBBo8mIf+t6lb9uiLMsyAACAiIj4X90LAACAJhHIAACQCGQAAEgEMgAAJAIZAAASgQwA AIlABgCARCADAEAikAEAIBHIAACQCGQAAEgEMgAAJAIZAAASgQwAAIlABgCARCADAEAikAEA IHn0gTwej6Moit9+7O/v33iZvb29mlZNkzx//vyPMzSfzyMiYm9v79rnzRAATXCXHvp5L7v6 GI/HNf8Uf8+jD+ROpxNlWS4+dnd3o91uX/vcycnJ4vuLoohut1vjimmay8vLxaxcXFxERMTZ 2dm1GdrY2IjhcBgbGxvXvncymYhk7rQxTafTtd6UuNld7qhnV18bDoc1rJomuUsPXV5exu7u 7rWvlWUZnU6n5p/i73n0gXwXVyFTlmW02+2aV8OqOTo6unZna3NzM3q9Xkwmkxs3LtbHbTem +XweW1tbMZvNFp/v9XrR7XZjOp3W/WNQo9veUc9+fnQUuD2BnJyfn0dZlnUvg0fk2bNndS+B FXL1CEQOnTdv3kRExJcvX+paFitoOp3GaDSKs7OzupcCK0kgwwP6/v17RMQvf9kBeEjHx8fR 6/XixYsXdS8FVpJAhgcyn89jNBpFr9ereymssJ2dnWi323F0dFT3UlgR4/E4JpPJ4tEHWMZk Mrl2xn3dzrELZHggV+f/8rlk+JP5fH5tU4r49/wp3Fa3243BYOCRK5aWz7yXZRlnZ2fR7/fX 6ly7QIYHsL+/H5PJZPFkGrit/EooZVnGzs7OWv71huUMh0OPOHDvOp1O9Hq9GI1GdS/lrxHI cM+Gw+HiyTGbm5t1L4cVd3JyEru7u9Hv9+teCg03n8+j3+/H6elp3UvhEbp60vm6vCqTQIZ7 NB6Po9/vx2AwWKvXi+RhvXr1KiLWZ2NiOV+/fo2IiK2trcURnauXLO33+1EUhZcLZGmfPn2K dru9Nkd3BDLck+l0Gt1uN3q9noc3uVdeDYXb+Pn1tsuyjNlsFhERg8EgyrL0qBZ/NB6Pfzlr PBwOYzKZxPHxcU2r+vsEcpLfWnE2m117Bqd73fzJ1Q3HaDT65R2uvJsetzEej3+ZlfF4HKPR KAaDQU2rAtZJp9P5ZR/r9/sxm83W6pHRJ3Uv4G87Pz9f6msQ8e+74/3Xm8mYH6rqdDpxenq6 ePWKKxcXF/7yB9yr3+1Z3jQtoij9LwAAwIIjFgAAkAhkAABIljqD/PP5OJqtaadozM9qMT9U YX6owvxQRZX5WfpJek0bWm7W1F9m87MazA9VmB+qMD9UUXV+HLEAAIBEIAMAQCKQAQAgEcgA AJAIZAAASAQyAAAkAhkAABKBDAAAiUAGAIBEIAMAQCKQAQAgEcgAAJAIZAAASAQyAAAkAhkA ABKBDAAAiUAGAIBEIAMAQCKQAQAgEcgAAJAIZAAASAQyAAAkAhkAABKBDAAAiUAGAIBEIAMA QCKQAQAgEcgAAJAIZAAASAQyAAAkAhkAABKBDAAAiUAGAIBEIAMAQCKQeTCnp6d1LwEA7sz+ hUDmwXz48CGKoojXr1/XvRRWkA2KKswPVdi/EMg8uPfv37uh4c5sUFRhfrgP9q/1VZRlWd75 QkURS1yMGhRFUfcSrmm1WvHjxw/zsyLq/F1/+fJlfP78efHvw8PDePfundufFWJ+qML+RRVV f9cF8iPXlA2q1WrFwcFBHB4extOnT83PirBBUYX5oQr7F1VUnR9HLHhQrVYr3r59G9++fYt/ /vknWq1W3UvijsqyrOVje3t7sYY8R6wW88Oqsn+ttyd1L4DH6+DgILa3t92osLT8lxtzxF2Z H5Zl/8IRi0euiddVE9fEzeq8rj5+/HjjBmV+Vof5oYomXldNXBM3cwaZ32riddXENXGzJl5X TVwTN2viddXENXGzJl5XTVwTN3MGGQAA7pFABgCARCADAEAikAEAIBHIAACQCGQAAEgEMgAA JAIZAAASgQwAAIlABgCARCADAEAikAEAIBHIAACQCGQAAEgEMgAAJAIZAAASgQwAAIlABgCA RCADAEAikAEAIBHIAACQCGQAAEgEMgAAJAIZAAASgQwAAIlABgCARCADAEAikAEAIBHIAACQ CGQAAEgEMgAAJAIZAACSJ8tesCiK+1wHa8b8UIX5oQrzQxXmZz0UZVmWdS8CAACawhELAABI BDIAACQCGQAAEoEMAACJQAYAgEQgAwBAIpABACARyAAAkAhkAABIBDIAACQCGQAAEoEMAACJ QAYAgEQgAwBAIpABACARyAAAkAhkAABIBDIAACQCGQAAkv8Dho9nOce0Q3EAAAAASUVORK5C YII= --------------DE78F6A2E147C6F328229B22 Content-Type: image/png; name="image.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="image.png" 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 --------------DE78F6A2E147C6F328229B22 Content-Type: image/png; name="image.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="image.png" iVBORw0KGgoAAAANSUhEUgAAAbEAAAB+CAYAAACqGS9kAAAE90lEQVR4nO3dv3ISbRTA4bPf eAFcghO4BqtkJp0pLUlnGxu1kVKLNFBZSRurbGkpjY1UXgOJXoJ38Fp8k4wx+C+A7x54npkU wpA5yrK/3ZcFm1JKCQBI6L/aAwDAXYkYAGmJGABpiRgAaYkYAGmJGABpiRgAaYkYAGmJGABp iRgAaYkYAGmJGABpiRgAaYkYAGmJGABpiRgAaYkYQAVt20bTNL/8efLkSUREHB0dLb2/bdvK f4v6Gv+zM0B9R0dHsVgsYrFY3LpvMBjEYDCI9+/fV5is25yJwR0MBoPfHkVfXl7eetzVfZPJ pMLUsH12LmJ32flcPWY+n1eamq5ZLBZRSolSSnz8+DEiIs7Pz69vK6XE3t7ejcdcLQ0B67Nz Efubnc9kMommaeLi4qLmyGyB+Xwe0+k0zs/Pa48CW2XnIvan5vN5jEajGI/Hdjys7PT0NE5O TuLBgwe1RyGp2Wx2Y8XIkvT/7tUeoKv29/fj6poXVwCxirZtYzabOaPnzn682KNt2zg+Po4v X77EmzdvKk3VDc7EYMOOj49jPB7feo8M7mo4HMbJyUlMp9Pao1QnYrBBk8kk+v1+vHjxovYo bJn79+9HRCy9CnaXWE6EDbm8vIzRaHR9ARGs04cPH6Lf7+/8Gb4zMdiQT58+RUTEwcHB9Zvx /X4/IiJGo5GPbfBH2ra99fGMyWQSs9ksTk9PK03VHSIGGzIcDm98dKOUcn1xx3g8jlJK7O/v V56SrhsOhzGdTm9cmTgajeLi4iKGw2Ht8aqznAjQAb/6SinfDvhzzsQASMuZ2E/M5/M4ODi4 cdvVnx8+fOiLOLn2/WcKf2dvb89RNayRb7EHIC3LiQCkZTmRqpqmqT0Cf6FrCze2n1w2sf2I GNV1bcfIcl0Nhu0nh01tPytHrKsbNst5wQPbZC1nYnaMOTjgALaNCzsASEvEAEhLxABIS8QA SEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhL xABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QA SEvEgM47OzurPQIdJWJA5719+zaaponnz5/XHoWOETEgjdevX4sZNzSllLLSL2iaWPFX8I/U fK7Ozs7i8ePHt263/eTRNE3tEW7o9Xrx9etX208Sm3qtOxPjn7ActB1KKVV+Dg8Pr2fo9Xrx 8uXL+Pz5c8V/CbpCxPinLAdxV9/H69WrV9Hr9WqPRAdYTtwhloNYRc3X+rt37+Lw8PBWuOx/ 8rCcyFpYDiKjR48eOfNiqXu1B2B39Hq9ePr0aTx79swOCVgLy4k7xHIQq+jic9XFmVhuU8+V iO2QLj5XXZyJ5br4XHVxJpbznhgA/EDEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABI S8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvE AEhLxABIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASOte7QGgaZraI5CY7We3iRhVlVJq j0Bith/WEjFHQgDUsHLEHAkBUIsLOwBIS8QASEvEAEhLxABIS8QASEvEAEhLxABIS8QASEvE AEhLxABIS8QASOsbdesriVcAaIAAAAAASUVORK5CYII= --------------DE78F6A2E147C6F328229B22-- --------------E74673569EF40C0F481AAC8D--