Return-Path: <oracle-l-bounce@freelists.org>
X-Original-To: oracle-l@orafaq.com
Delivered-To: oracle-l@orafaq.com
Received: from smtp-aa.freelists.org (smtp-aa.freelists.org [23.23.80.81])
 by malta2546.startdedicated.com (Postfix) with ESMTPS id 0E8AB100313C81
 for <oracle-l@orafaq.com>; Sun,  7 Jul 2024 17:39:11 +0200 (CEST)
Received: from turing.freelists.org (turing [10.0.0.164])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by smtp-aa.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 13CEA417E8;
 Sun,  7 Jul 2024 15:39:10 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by turing.freelists.org (Postfix) with ESMTP id D7A2E3FAD7;
 Sun,  7 Jul 2024 15:39:09 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=freelists.org;
 s=turing; t=1720366749;
 bh=+ep5K7M6rqVIRanV7p4BbU7dKBwq+gb3mYOkygHEHcI=;
 h=From:Sender:Sender:From;
 b=eDObgHdg+ZYGXVFOTdnKfNhhToZDmL2jfi+MuR3MEaYQudIf7Dp5HJYENl32g8RJa
	 kKemEOYgGs4ZGZmrKvY1BHaisQs4sS5ZCv+ADq5Ba/Tmvoi5kAe6ySzE23YUS3PjON
	 ZMogj2sgQF6PgQ5S4B6CmXjZiNoNoa+kbmZfynyI=
X-Virus-Scanned: by FreeLists at turing.freelists.org
Received: from turing.freelists.org ([127.0.0.1])
 by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Hv0a9jdy9QA1; Sun,  7 Jul 2024 15:39:09 +0000 (UTC)
Received: from turing.freelists.org (localhost [127.0.0.1])
 by turing.freelists.org (Postfix) with ESMTP id 06FC63FAEA;
 Sun,  7 Jul 2024 15:38:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=freelists.org;
 s=turing; t=1720366747;
 bh=+ep5K7M6rqVIRanV7p4BbU7dKBwq+gb3mYOkygHEHcI=;
 h=From:Sender:Sender:From;
 b=AohZOHeam4MoFkx3M/2G0R3ng1/biu6DN0q2D+o1J4nmDf0RtEkn3DXTMVUPp00Ko
	 10UuEopQIqQ7lMe0UrT9AMEYMWzeK5COWyXbbYZ/d6ueA4xnYC09rf3R5bTVb8eeP9
	 h1lkx2XUHiK1kCztfRXYYxGfBg6rlN+mDdrc/QfY=
Received: with ECARTIS (v1.0.0; list oracle-l); Sun, 07 Jul 2024 15:37:38 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by turing.freelists.org (Postfix) with ESMTP id 0110A3FAE6
 for <oracle-l@freelists.org>; Sun,  7 Jul 2024 15:37:38 +0000 (UTC)
Authentication-Results: turing.freelists.org;
 dkim=pass (2048-bit key; unprotected) header.d=comcast.net header.i=@comcast.net header.a=rsa-sha256 header.s=20190202a header.b=wva0ytGq;
 dkim-atps=neutral
Received: from turing.freelists.org ([127.0.0.1])
 by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id HVeYU13bZ42y for <oracle-l@freelists.org>;
 Sun,  7 Jul 2024 15:37:37 +0000 (UTC)
Received: from resqmta-a2p-658917.sys.comcast.net (resqmta-a2p-658917.sys.comcast.net [96.103.146.51])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by turing.freelists.org (Postfix) with ESMTPS id CDC833FAD7
 for <oracle-l@freelists.org>; Sun,  7 Jul 2024 15:37:37 +0000 (UTC)
Received: from resomta-a2p-630472.sys.comcast.net ([96.103.145.242])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 256/256 bits)
 (Client did not present a certificate)
 by resqmta-a2p-658917.sys.comcast.net with ESMTPS
 id QSVGs1ntCNvD7QTxIsi7vt; Sun, 07 Jul 2024 15:37:36 +0000
Received: from [192.168.0.245] ([73.119.186.234])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 256/256 bits)
 (Client did not present a certificate)
 by resomta-a2p-630472.sys.comcast.net with ESMTPSA
 id QTxDs61UQWEdKQTxIszwoE; Sun, 07 Jul 2024 15:37:36 +0000
Message-ID: <6f3d3831-4583-4cba-b652-f34039c97c77@comcast.net>
Date: Sun, 7 Jul 2024 11:37:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Oracle L <oracle-l@freelists.org>
From: richard goulet <rjgoulet@comcast.net>
Subject: Design table with many columns
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-CMAE-Envelope: MS4xfObUfedqggY+EpvJvMhPu54J/ESJ9hRGO6WstHhK8JRcHulzxMqb1yfXxtRHfRbLgiD8uR6d+b7vtYP1fLs0UeWCGEyabq/A/y2CKVh0ebPhOraodTZz
 +PtSfTkhHfFEUn6qfhhUCApjk9ad++eNpa755TFvZc4vBMumK9OGFlZfDCzwyRPL7Dlb1sp6WEiOckapQt1sJ3yOHjcq451zyrI=
X-archive-position: 85223
X-ecartis-version: Ecartis v1.0.0
Sender: oracle-l-bounce@freelists.org
Errors-to: oracle-l-bounce@freelists.org
X-original-sender: rjgoulet@comcast.net
Precedence: normal
Reply-To: rjgoulet@comcast.net
List-Help: <mailto:ecartis@freelists.org?Subject=help>
List-Unsubscribe: <mailto:oracle-l-request@freelists.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: oracle-l <oracle-l.freelists.org>
X-List-ID: oracle-l <oracle-l.freelists.org>
List-Subscribe: <mailto:oracle-l-request@freelists.org?Subject=subscribe>
List-Owner: <mailto:>
List-post: <mailto:oracle-l@freelists.org>
List-Archive: <https://www.freelists.org/archive/oracle-l>
X-list: oracle-l

Not sure what happen, but the digest from yesterday cut up the message 
pretty well.

This is a pretty old issue that has been around for many a decade, even 
before DBMS's appeared.  The solution from back then is to assign each 
transaction some type of ID that can then have a header table as well as 
a multi row spec table where each distinct and variable attribute can be 
stored without making a mess of the RDBMS.  Let me go back to a VERY OLD 
configuration I worked on and with:

     We had a header table with a NSN, NOUN, and other associated 
columns and a SPECS table that has the associated NSN column, a 
SPEC_NAME and a VALUE columns as well as others that held the variable 
data.

     Some NSN's had 10 specs rows while some has several hundred 
depending on what you were describing.  The NSN was the primary key in 
the first table and a foreign key in the second.

Did something similar in civilian life afterwards for electronic modules 
in a manufacturing environment and that ported nicely between databases 
as well so we could have Oracle internally and Postgres on the external 
web site.  Same queries worked on both sides.

--
http://www.freelists.org/webpage/oracle-l


