• Re: The joy of SQL

    From The Natural Philosopher@21:1/5 to 186282@ud0s4.net on Sat Nov 2 11:49:36 2024
    On 02/11/2024 05:19, 186282@ud0s4.net wrote:
    I don't think there's any distinct "advantage" these
      days in either flat-file or MV. Plusses and minuses
      for each approach. It's all a matter of how you FEEL
      data should be structured/stored.

      In short, 'religion'.

    MV? no one seems to know what 'MV' is. Did you invent it?

    Insofar as data storage goes there are considerable advantages to a
    normalised database with indices et al.

    It is not a religious choice.

    The religion comes in with supporters who have been told that
    *irrespective of the actual context or uses* it is 'simply the best'

    Rules are for the guidance of wise men and the obedience of fools.



    --
    New Socialism consists essentially in being seen to have your heart in
    the right place whilst your head is in the clouds and your hand is in
    someone else's pocket.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Sun Nov 3 00:15:49 2024
    On Sat, 2 Nov 2024 03:21:40 -0400, 186282@ud0s4.net wrote:

    IMHO, MV is still the 'best', 'most logical', 'most compact'.

    Except when you need to do updates.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Sat Nov 2 21:51:27 2024
    On 11/2/24 8:15 PM, Lawrence D'Oliveiro wrote:
    On Sat, 2 Nov 2024 03:21:40 -0400, 186282@ud0s4.net wrote:

    IMHO, MV is still the 'best', 'most logical', 'most compact'.

    Except when you need to do updates.

    As said, that's NOT as complex or resource-consuming
    as you believe. Maintaining a 'data dictionary', a
    guide to the exact structure of each DB, removes
    possible ambiguities.

    Anyhow ...

    https://www.predictiveanalyticstoday.com/top-free-commercial-multivalue-database/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to The Natural Philosopher on Sat Nov 2 21:48:47 2024
    On 11/2/24 7:49 AM, The Natural Philosopher wrote:
    On 02/11/2024 05:19, 186282@ud0s4.net wrote:
    I don't think there's any distinct "advantage" these
       days in either flat-file or MV. Plusses and minuses
       for each approach. It's all a matter of how you FEEL
       data should be structured/stored.

       In short, 'religion'.

    MV? no one seems to know what 'MV' is. Did you invent it?


    ???

    MV = Multi-Valued = Data fields that can hold long
    lists of that KIND of information. If you have a
    fleet-tracking DB then there'd be ONE field saying
    "mileage" and likely another for "fuel-added" and
    they'd just be added-to over time. The record for
    that vehicle is read all-at-once, rather than there
    being dozens, hundreds, of records for said vehicle
    every time it was fueled-up.

    Insofar as data storage goes there are considerable advantages to a normalised database with indices et al.

    It is not a religious choice.

    Ummm ... I'd still say so.

    MV DBs can also have indexes BTW.

    The religion comes in with supporters who have been told that
    *irrespective of the actual context or uses* it is 'simply the best'

    Rules are for the guidance of wise men and the obedience of fools.

    MV DBs are still sold - sometimes for really serious
    money - so clearly a lot of people/corps DO like that
    way of dealing with data. OpenQM is likely best known
    to Linux users.

    https://www.predictiveanalyticstoday.com/top-free-commercial-multivalue-database/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Sun Nov 3 23:30:35 2024
    On Sat, 2 Nov 2024 21:48:47 -0400, 186282@ud0s4.net wrote:

    MV = Multi-Valued = Data fields that can hold long lists of that KIND
    of information. If you have a fleet-tracking DB then there'd be ONE
    field saying "mileage" and likely another for "fuel-added" and they'd
    just be added-to over time.

    That’s just a single total in each field.

    The record for that vehicle is read all-at-once, rather than there
    being dozens, hundreds, of records for said vehicle every time it
    was fueled-up.

    This is why you have joins: so that you can retrieve multiple related
    records with a single query. This is the proper relational way of doing
    it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Sun Nov 3 23:32:22 2024
    On Sat, 2 Nov 2024 21:51:27 -0400, 186282@ud0s4.net wrote:

    On 11/2/24 8:15 PM, Lawrence D'Oliveiro wrote:

    On Sat, 2 Nov 2024 03:21:40 -0400, 186282@ud0s4.net wrote:

    IMHO, MV is still the 'best', 'most logical', 'most compact'.

    Except when you need to do updates.

    As said, that's NOT as complex or resource-consuming as you believe.

    It’s quite complicated: you have to retrieve all the current values, add
    the new ones, then put them all back. Much easier if you can just add the
    new ones, or delete the old ones, directly.

    This is why normalization was invented. And First Normal Form is just the
    first step along that road: higher orders of normalization also simplify updates in additional situations, involving more subtle functional
    dependencies among fields.

    All this was worked out when you were still a babe in arms.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Sun Nov 3 20:36:29 2024
    On 11/3/24 6:30 PM, Lawrence D'Oliveiro wrote:
    On Sat, 2 Nov 2024 21:48:47 -0400, 186282@ud0s4.net wrote:

    MV = Multi-Valued = Data fields that can hold long lists of that KIND
    of information. If you have a fleet-tracking DB then there'd be ONE
    field saying "mileage" and likely another for "fuel-added" and they'd
    just be added-to over time.

    That’s just a single total in each field.

    It's every like-value in one field - a 'list' so
    to speak - divided as sub-values - but sub-sub-
    values are also legit.

    The record for that vehicle is read all-at-once, rather than there
    being dozens, hundreds, of records for said vehicle every time it
    was fueled-up.

    This is why you have joins: so that you can retrieve multiple related
    records with a single query. This is the proper relational way of doing
    it.


    Why join when the MV approach keeps yer data
    in an already-joined state ???

    You just read straight across. The RECORD is
    "Vehicle_Number". Inside we have lists (fields)
    for date, mileage, fuel, comment. Date[1] goes
    with Mileage[1] goes with Fuel[1] goes with
    Comment[1]. If you want fuel mileage you add
    a calc field.

    Python, and to some extent FORTRAN, have very good
    string list-manipulation/reading/writing/insertion/deletion
    capabilities ... it'd be fairly easy to set up a MV DB in
    those languages.

    The old PICK-ish DB I spent a decade with used pure
    ASCII-delimited fields (this was pre-unicode, you
    could bring 'em up in a text editor and see all the
    old IBM-BIOS high-ascii symbols).

    255 separated records, 254 separated fields, 253 separated
    sub-fields, 252 sub-sub-fields and so forth - thus you
    could have nearly 200 sub-sub-sub-sub-(etc)-values to
    the data if you were that insane. Going deep programmatically
    for custom sorts and such could be useful however.

    I think PICK wound up being written *in* PICK for the most
    part... a compiler for a sort of BASIC was included so
    PICK would up being writ in PICK-BASIC. The version I
    used DID have some key functions writ in 'C'/ASM though
    for top speed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Mon Nov 4 22:09:07 2024
    On Sun, 3 Nov 2024 20:36:29 -0500, 186282@ud0s4.net wrote:

    On 11/3/24 6:30 PM, Lawrence D'Oliveiro wrote:
    On Sat, 2 Nov 2024 21:48:47 -0400, 186282@ud0s4.net wrote:

    MV = Multi-Valued = Data fields that can hold long lists of that KIND
    of information. If you have a fleet-tracking DB then there'd be ONE
    field saying "mileage" and likely another for "fuel-added" and they'd
    just be added-to over time.

    The record for that vehicle is read all-at-once, rather than there
    being dozens, hundreds, of records for said vehicle every time it was
    fueled-up.

    This is why you have joins: so that you can retrieve multiple related
    records with a single query. This is the proper relational way of doing
    it.

    Why join when the MV approach keeps yer data in an already-joined
    state ???

    Because the MV approach makes that hard to maintain.

    Python, and to some extent FORTRAN, have very good string list-manipulation/reading/writing/insertion/deletion capabilities ...
    it'd be fairly easy to set up a MV DB in those languages.

    Python is quite good at SQL database manipulations. This include
    setting up complicated joins.

    I have some basic tutorials here <https://gitlab.com/ldo/python_topics_notebooks/-/blob/master/Databases,%20Iterators%20&%20Looping.ipynb?ref_type=heads>

    The old PICK-ish DB I spent a decade with used pure ASCII-delimited
    fields (this was pre-unicode, you could bring 'em up in a text editor
    and see all the old IBM-BIOS high-ascii symbols).

    I know, it was crap. Probably scarred you for life, which is why you
    think the way you do.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Tue Nov 5 01:54:56 2024
    On 11/4/24 5:09 PM, Lawrence D'Oliveiro wrote:
    On Sun, 3 Nov 2024 20:36:29 -0500, 186282@ud0s4.net wrote:

    On 11/3/24 6:30 PM, Lawrence D'Oliveiro wrote:
    On Sat, 2 Nov 2024 21:48:47 -0400, 186282@ud0s4.net wrote:

    MV = Multi-Valued = Data fields that can hold long lists of that KIND
    of information. If you have a fleet-tracking DB then there'd be ONE
    field saying "mileage" and likely another for "fuel-added" and they'd
    just be added-to over time.

    The record for that vehicle is read all-at-once, rather than there
    being dozens, hundreds, of records for said vehicle every time it was
    fueled-up.

    This is why you have joins: so that you can retrieve multiple related
    records with a single query. This is the proper relational way of doing
    it.

    Why join when the MV approach keeps yer data in an already-joined
    state ???

    Because the MV approach makes that hard to maintain.


    Never noticed that ...

    Everything always in nice structure/order and
    all-together. Nirvana.


    Python, and to some extent FORTRAN, have very good string
    list-manipulation/reading/writing/insertion/deletion capabilities ...
    it'd be fairly easy to set up a MV DB in those languages.

    Python is quite good at SQL database manipulations. This include
    setting up complicated joins.


    But why would you want to use SQL ? Insane :-)


    I have some basic tutorials here <https://gitlab.com/ldo/python_topics_notebooks/-/blob/master/Databases,%20Iterators%20&%20Looping.ipynb?ref_type=heads>

    The old PICK-ish DB I spent a decade with used pure ASCII-delimited
    fields (this was pre-unicode, you could bring 'em up in a text editor
    and see all the old IBM-BIOS high-ascii symbols).

    I know, it was crap. Probably scarred you for life, which is why you
    think the way you do.

    LOVED those little IBM chars. That they buried them SO
    deep in the unicode codex suggests deliberate bias.

    Anyway, clearly, our religions are never gonna be
    in-sync here.

    You CAN download OpenQM if you want, see how the MV
    approach can be useful. Having used both, and seeing
    flat-file forced down everyone's throats, I'm gonna
    stick with my belief MV has a slight edge and is
    more sane and 'organic'.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Thu Oct 31 02:21:40 2024
    On Wed, 30 Oct 2024 01:55:35 -0400, 186282@ud0s4.net wrote:

    SQL and flat-file DBs are kind of the all-gobbling monsters.

    But MV is still the better, saner, way to organize many kinds of
    data.

    The trouble with unnormalized fields is: how do you do updates? You have
    to delete all the values and insert them all again.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Thu Oct 31 01:35:23 2024
    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:
    On Wed, 30 Oct 2024 01:55:35 -0400, 186282@ud0s4.net wrote:

    SQL and flat-file DBs are kind of the all-gobbling monsters.

    But MV is still the better, saner, way to organize many kinds of
    data.

    The trouble with unnormalized fields is: how do you do updates? You have
    to delete all the values and insert them all again.

    Updates CAN be annoying. The MAIN prob is that MV field/subfields
    and such can be structured in many ways, many possible paradigms.
    The 'solution' was a "data dictionary" which outlined how you
    were using/structuring the MV fields. This makes it much easier
    to do proper updates.

    In short it's super-easy to WRITE MV records, but reading
    and editing, you need a guide. Even to the end of my career
    I very often stored data as MV records, easy to build-up
    on the fly. Usually went the PICK way, various ASCII
    chars as delimiters.

    Creating all new records to deal with what should be MV data,
    I'm not sure this is a calculation or storage advantage all
    in all. It's just, well, stupid and simple so many just
    went that way.

    MV DBs still persist - commercial/share-licenced/free(?)
    At least SOME understand the reasoning.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Thu Oct 31 06:20:18 2024
    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    On Wed, 30 Oct 2024 01:55:35 -0400, 186282@ud0s4.net wrote:

    SQL and flat-file DBs are kind of the all-gobbling monsters.

    But MV is still the better, saner, way to organize many kinds of
    data.

    The trouble with unnormalized fields is: how do you do updates? You have
    to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Wed Nov 6 19:03:50 2024
    On Tue, 5 Nov 2024 01:54:56 -0500, 186282@ud0s4.net wrote:

    On 11/4/24 5:09 PM, Lawrence D'Oliveiro wrote:

    On Sun, 3 Nov 2024 20:36:29 -0500, 186282@ud0s4.net wrote:

    Why join when the MV approach keeps yer data in an already-joined
    state ???

    Because the MV approach makes that hard to maintain.


    Never noticed that ...

    What kind of database doesn’t need updating?

    You CAN download OpenQM if you want, see how the MV approach can be
    useful.

    LDAP has multi-valued attributes. But then, it has a different model where
    all the records are in the same table, and the primary key has a
    hierarchical form. And it has a “modify” operation that can add/remove individual values for an attribute.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Wed Nov 6 19:07:41 2024
    On 11/6/24 2:03 PM, Lawrence D'Oliveiro wrote:
    On Tue, 5 Nov 2024 01:54:56 -0500, 186282@ud0s4.net wrote:

    On 11/4/24 5:09 PM, Lawrence D'Oliveiro wrote:

    On Sun, 3 Nov 2024 20:36:29 -0500, 186282@ud0s4.net wrote:

    Why join when the MV approach keeps yer data in an already-joined
    state ???

    Because the MV approach makes that hard to maintain.


    Never noticed that ...

    What kind of database doesn’t need updating?

    That wasn't my point ... just saying that updates
    ain't as difficult as you seem to think.


    You CAN download OpenQM if you want, see how the MV approach can be
    useful.

    LDAP has multi-valued attributes. But then, it has a different model where all the records are in the same table, and the primary key has a
    hierarchical form. And it has a “modify” operation that can add/remove individual values for an attribute.

    LDAP is a kinda lightweight 'DB' - not built to
    be really 'general purpose'.

    PICK ... kinda depends on your POV as to whether
    all records are in one table or not. Easier to
    just think of each record as a long string, with
    delims marking fields/subfields/etc. MV records
    are usually not all THAT long so straight searching
    goes quick but you COULD add a small hash table
    if there were mass quantities of fields/subfields.

    Anyway, get or borrow a MV DB and fool around
    with it yourself.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Thu Nov 7 03:14:14 2024
    On Wed, 6 Nov 2024 19:07:41 -0500, 186282@ud0s4.net wrote:

    On 11/6/24 2:03 PM, Lawrence D'Oliveiro wrote:
    On Tue, 5 Nov 2024 01:54:56 -0500, 186282@ud0s4.net wrote:

    On 11/4/24 5:09 PM, Lawrence D'Oliveiro wrote:

    On Sun, 3 Nov 2024 20:36:29 -0500, 186282@ud0s4.net wrote:

    Why join when the MV approach keeps yer data in an already-joined
    state ???

    Because the MV approach makes that hard to maintain.

    Never noticed that ...

    What kind of database doesn’t need updating?

    That wasn't my point ...

    It was mine.

    LDAP has multi-valued attributes. But then, it has a different model
    where all the records are in the same table, and the primary key has a
    hierarchical form. And it has a “modify” operation that can add/remove >> individual values for an attribute.

    LDAP is a kinda lightweight 'DB' - not built to be really 'general
    purpose'.

    Think of it scaling to contain directory information across an entire multinational enterprise ... and then try saying it’s not “lightweight”.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Fri Nov 1 04:14:42 2024
    On Thu, 31 Oct 2024 23:57:11 -0400, 186282@ud0s4.net wrote:

    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    On Wed, 30 Oct 2024 01:55:35 -0400, 186282@ud0s4.net wrote:

    SQL and flat-file DBs are kind of the all-gobbling monsters.

    But MV is still the better, saner, way to organize many kinds of
    data.

    The trouble with unnormalized fields is: how do you do updates? You
    have to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    But the 'easy' way removes some of your flexibility and reasoning
    ability in the process.

    No it doesn’t. Prove me wrong.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Thu Oct 31 23:57:11 2024
    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:
    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    On Wed, 30 Oct 2024 01:55:35 -0400, 186282@ud0s4.net wrote:

    SQL and flat-file DBs are kind of the all-gobbling monsters.

    But MV is still the better, saner, way to organize many kinds of
    data.

    The trouble with unnormalized fields is: how do you do updates? You have >>> to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.


    But the 'easy' way removes some of your flexibility
    and reasoning ability in the process.

    I'd rather do MV, even if updates are a little odd,
    than be forced into flat-field fascism.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Fri Nov 1 02:45:56 2024
    On 11/1/24 12:14 AM, Lawrence D'Oliveiro wrote:
    On Thu, 31 Oct 2024 23:57:11 -0400, 186282@ud0s4.net wrote:

    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    On Wed, 30 Oct 2024 01:55:35 -0400, 186282@ud0s4.net wrote:

    SQL and flat-file DBs are kind of the all-gobbling monsters.

    But MV is still the better, saner, way to organize many kinds of
    data.

    The trouble with unnormalized fields is: how do you do updates? You
    have to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    But the 'easy' way removes some of your flexibility and reasoning
    ability in the process.

    No it doesn’t. Prove me wrong.


    This can't be "proven" per-se ... it's a matter of
    how you "feel" about how data should be represented
    to best effect/clarity. Call it 'religion' if you want ...

    Hey, which is "better", French or English ? Totally
    depends ....

    Having used flat and MV, SQL and Non, my 'spiritual bent'
    is for MV ... 'PICK-ish'.

    In CPU-microseconds, the sheer volume of records produced
    using flat systems -vs- the slight xtra effort needed to
    update MV records ... pretty much even - though I'm not
    entirely sure any benchmarks exist. On mag disks, the
    volume thing might be more of a drag, but with e-disks
    maybe not as much.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Fri Nov 1 20:56:54 2024
    On Fri, 1 Nov 2024 02:45:56 -0400, 186282@ud0s4.net wrote:

    On 11/1/24 12:14 AM, Lawrence D'Oliveiro wrote:
    On Thu, 31 Oct 2024 23:57:11 -0400, 186282@ud0s4.net wrote:

    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    The trouble with unnormalized fields is: how do you do updates? You >>>>>> have to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    But the 'easy' way removes some of your flexibility and reasoning
    ability in the process.

    No it doesn’t. Prove me wrong.

    This can't be "proven" per-se ... it's a matter of how you "feel"
    about how data should be represented to best effect/clarity. Call it 'religion' if you want ...

    “Religion” is when followers are rewarded for believing in doctrine, not just in the absence of evidence, but directly contrary to the evidence.

    In other words, I think you’ve just admitted my point.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Sat Nov 2 01:19:13 2024
    On 11/1/24 4:56 PM, Lawrence D'Oliveiro wrote:
    On Fri, 1 Nov 2024 02:45:56 -0400, 186282@ud0s4.net wrote:

    On 11/1/24 12:14 AM, Lawrence D'Oliveiro wrote:
    On Thu, 31 Oct 2024 23:57:11 -0400, 186282@ud0s4.net wrote:

    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    The trouble with unnormalized fields is: how do you do updates? You >>>>>>> have to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    But the 'easy' way removes some of your flexibility and reasoning
    ability in the process.

    No it doesn’t. Prove me wrong.

    This can't be "proven" per-se ... it's a matter of how you "feel"
    about how data should be represented to best effect/clarity. Call it
    'religion' if you want ...

    “Religion” is when followers are rewarded for believing in doctrine, not just in the absence of evidence, but directly contrary to the evidence.

    In other words, I think you’ve just admitted my point.


    And you just admitted mine :-)

    I don't think there's any distinct "advantage" these
    days in either flat-file or MV. Plusses and minuses
    for each approach. It's all a matter of how you FEEL
    data should be structured/stored.

    In short, 'religion'.

    But I'm pretty libertine, so you can have your
    religion so long as you tolerate mine :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to 186282@ud0s4.net on Sat Nov 2 06:18:49 2024
    On Sat, 2 Nov 2024 01:19:13 -0400, 186282@ud0s4.net wrote:

    On 11/1/24 4:56 PM, Lawrence D'Oliveiro wrote:

    On Fri, 1 Nov 2024 02:45:56 -0400, 186282@ud0s4.net wrote:

    On 11/1/24 12:14 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 23:57:11 -0400, 186282@ud0s4.net wrote:

    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    The trouble with unnormalized fields is: how do you do updates? >>>>>>>> You have to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    But the 'easy' way removes some of your flexibility and reasoning
    ability in the process.

    No it doesn’t. Prove me wrong.

    This can't be "proven" per-se ... it's a matter of how you "feel"
    about how data should be represented to best effect/clarity. Call it
    'religion' if you want ...

    “Religion” is when followers are rewarded for believing in doctrine,
    not just in the absence of evidence, but directly contrary to the
    evidence.

    In other words, I think you’ve just admitted my point.

    And you just admitted mine :-)

    The fact of normalized attributes being easier to update isn’t a religious issue: it’s a well-established foundation element of database theory. It’s the reason why we have first normal form. And subsequent higher normal
    forms impose further restrictions which in their turn make other kinds of updates easier.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From 186283@ud0s4.net@21:1/5 to Lawrence D'Oliveiro on Sat Nov 2 03:21:40 2024
    On 11/2/24 2:18 AM, Lawrence D'Oliveiro wrote:
    On Sat, 2 Nov 2024 01:19:13 -0400, 186282@ud0s4.net wrote:

    On 11/1/24 4:56 PM, Lawrence D'Oliveiro wrote:

    On Fri, 1 Nov 2024 02:45:56 -0400, 186282@ud0s4.net wrote:

    On 11/1/24 12:14 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 23:57:11 -0400, 186282@ud0s4.net wrote:

    On 10/31/24 2:20 AM, Lawrence D'Oliveiro wrote:

    On Thu, 31 Oct 2024 01:35:23 -0400, 186282@ud0s4.net wrote:

    On 10/30/24 10:21 PM, Lawrence D'Oliveiro wrote:

    The trouble with unnormalized fields is: how do you do updates? >>>>>>>>> You have to delete all the values and insert them all again.

    Updates CAN be annoying.

    Easy way to remove the annoyance: normalize your field values.

    But the 'easy' way removes some of your flexibility and reasoning
    ability in the process.

    No it doesn’t. Prove me wrong.

    This can't be "proven" per-se ... it's a matter of how you "feel"
    about how data should be represented to best effect/clarity. Call it
    'religion' if you want ...

    “Religion” is when followers are rewarded for believing in doctrine, >>> not just in the absence of evidence, but directly contrary to the
    evidence.

    In other words, I think you’ve just admitted my point.

    And you just admitted mine :-)

    The fact of normalized attributes being easier to update isn’t a religious issue: it’s a well-established foundation element of database theory.


    I disagree.


    It’s
    the reason why we have first normal form. And subsequent higher normal
    forms impose further restrictions which in their turn make other kinds of updates easier.

    Still crusading for your religion I see :-)

    Do you sell burkha's ?

    IMHO, MV is still the 'best', 'most logical',
    'most compact'.

    You're not gonna convert me to your heresy ! :-)

    Oh wait, have to turn off the hour-long ad for
    Shark vacuum cleaners ... another attempted
    religion ......... all worship Hoover !!!

    You seem obsessed with this word "normal"/"normalized".
    Nothing normal about a mistaken paradigm. It's just
    theological propaganda.

    As said before, at this point, the CPU/Time equation
    between accessing/analyzing/updating flat -vs- MV is
    about nil. One is as good as another from an objective
    standpoint. It's just a matter of "feel", how you think,
    as to which is really "better". I don't care about who
    is "winning", doesn't affect my eval.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)