Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Naming conventions? We don't need no stinkin' naming conventions (or any convention or even common sense for that matter)!

Naming conventions? We don't need no stinkin' naming conventions (or any convention or even common sense for that matter)!

Scheduled Pinned Locked Moved The Lounge
databasejavascriptcloudcsharpsql-server
35 Posts 21 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Sander Rossel

    Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

    E Offline
    E Offline
    ElectronProgrammer
    wrote on last edited by
    #6

    I'm afraid I have been there, just not with so many tables (maybe 20) nor companies (only 3), and using MySQL. I just made a "SQL template" script and separated the companies into separate databases. Any common change would be made to the template and would be inherited by all (when the script was run against each of the databases). But I guess they have to justify buying new hardware when their queries are not fast enough. Hey, at least those have their queries in the database, right? Right?! In my case they were doing all queries (even simple ones like "select * from tableA where userID=x") in a weird PHP backend because they claimed that "the database is not good enough to filter the tables the way we want it" :wtf: Anyway, I think some whipping is in order. Grab your whip and get the guy that wrote that database. Don't let him procreate more databases like that :mad: :-D

    J Sander RosselS 2 Replies Last reply
    0
    • Sander RosselS Sander Rossel

      Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

      Greg UtasG Offline
      Greg UtasG Offline
      Greg Utas
      wrote on last edited by
      #7

      Never used SQL but :laugh: Could CNY be Chinese Yuan? It's the standard forex abbreviation for it.

      Robust Services Core | Software Techniques for Lemmings | Articles
      The fox knows many things, but the hedgehog knows one big thing.

      <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
      <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

      Sander RosselS 1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

        M Offline
        M Offline
        Mycroft Holmes
        wrote on last edited by
        #8

        And I'll bet some company tables are unique so combining them will be a challenge. I made a tidy living in the 90's attempting to normalise such horrors, never quite that big and ugly though. I wonder if the original was converted from MS Access, it is definitely an end user built database. So quote a rate and don't offer a time frame (or even a guarantee) if you are going to try and clean it up. PS CNY is definitely the Chinese currency.

        Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

        Sander RosselS 1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

          S Offline
          S Offline
          Super Lloyd
          wrote on last edited by
          #9

          this madness looks like it could make you indispensable if you raise to the challenge! :laugh:

          A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

          Sander RosselS 1 Reply Last reply
          0
          • Sander RosselS Sander Rossel

            Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

            Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

            K Offline
            K Offline
            Kenneth Haugland
            wrote on last edited by
            #10

            The only difference between a mad man and a genius is that a genius knows that there is an int.MaxValue limit. :laugh:

            1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

              Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

              D Offline
              D Offline
              David ONeil
              wrote on last edited by
              #11

              I once got to look into the table and variable name structure of BPCS. It, too, was a nightmare, and I can't believe it was a successful commercial venture. It might not have been as bad as the one you looked at. I don't know, because I cussed and closed it as soon as I could! :laugh:

              The Science of King David's Court | Object Oriented Programming with C++

              Sander RosselS 1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                D Offline
                D Offline
                Daniel Pfeffer
                wrote on last edited by
                #12

                Sander Rossel wrote:

                OVER FORTY-ONE THOUSAND TABLES!

                Wilco. Tango. Foxtrot. Echo. :wtf: :omg: X|

                Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                1 Reply Last reply
                0
                • E ElectronProgrammer

                  I'm afraid I have been there, just not with so many tables (maybe 20) nor companies (only 3), and using MySQL. I just made a "SQL template" script and separated the companies into separate databases. Any common change would be made to the template and would be inherited by all (when the script was run against each of the databases). But I guess they have to justify buying new hardware when their queries are not fast enough. Hey, at least those have their queries in the database, right? Right?! In my case they were doing all queries (even simple ones like "select * from tableA where userID=x") in a weird PHP backend because they claimed that "the database is not good enough to filter the tables the way we want it" :wtf: Anyway, I think some whipping is in order. Grab your whip and get the guy that wrote that database. Don't let him procreate more databases like that :mad: :-D

                  J Offline
                  J Offline
                  Jorgen Andersson
                  wrote on last edited by
                  #13

                  ElectronProgrammer wrote:

                  Grab your whip and get the guy that wrote that database. Don't let him procreate more databases like that

                  FTFY

                  Wrong is evil and must be defeated. - Jeff Ello

                  1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                    M Offline
                    M Offline
                    Martin ISDN
                    wrote on last edited by
                    #14

                    whenever i'm on a project and see a mismatch in the names in the database, the back-end and the front-end i immediately get the urge to kill everyone. > The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! that's like creating 150+ tables a day for an entire year. part of those tables are created dynamically? abandon project

                    Sander RosselS 1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

                      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                      N Offline
                      N Offline
                      Nelek
                      wrote on last edited by
                      #15

                      Be thankful... it could have been access... or even better, excel tables :laugh: :laugh:

                      M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

                      Sander RosselS 1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                        J Offline
                        J Offline
                        Johnny J
                        wrote on last edited by
                        #16

                        What can I say? I was young, and I needed the money... :rolleyes:

                        Anything that is unrelated to elephants is irrelephant
                        Anonymous
                        -----
                        The problem with quotes on the internet is that you can never tell if they're genuine
                        Winston Churchill, 1944
                        -----
                        Never argue with a fool. Onlookers may not be able to tell the difference.
                        Mark Twain

                        1 Reply Last reply
                        0
                        • M Martin ISDN

                          whenever i'm on a project and see a mismatch in the names in the database, the back-end and the front-end i immediately get the urge to kill everyone. > The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! that's like creating 150+ tables a day for an entire year. part of those tables are created dynamically? abandon project

                          Sander RosselS Offline
                          Sander RosselS Offline
                          Sander Rossel
                          wrote on last edited by
                          #17

                          Martin ISDN wrote:

                          that's like creating 150+ tables a day for an entire year. part of those tables are created dynamically?

                          I think it's the product of years of development and dynamic table creation, possibly created by a user directly from the product. But I'm not sure.

                          Martin ISDN wrote:

                          abandon project

                          Because I don't like a database I have to access once? Would be very bad for my finances :rolleyes:

                          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                          1 Reply Last reply
                          0
                          • D David ONeil

                            I once got to look into the table and variable name structure of BPCS. It, too, was a nightmare, and I can't believe it was a successful commercial venture. It might not have been as bad as the one you looked at. I don't know, because I cussed and closed it as soon as I could! :laugh:

                            The Science of King David's Court | Object Oriented Programming with C++

                            Sander RosselS Offline
                            Sander RosselS Offline
                            Sander Rossel
                            wrote on last edited by
                            #18

                            David O'Neil wrote:

                            and I can't believe it was a successful commercial venture

                            I always wonder about that too. Not because the database is a mess, because users can't care less about that, but because if the database is a mess then it's likely that everything else is a mess too. Maybe it's just this weird naming that's wrong with it, maybe the naming was generated by some tool, but the developers actually know what they're doing? :confused:

                            Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                            1 Reply Last reply
                            0
                            • S Super Lloyd

                              this madness looks like it could make you indispensable if you raise to the challenge! :laugh:

                              A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                              Sander RosselS Offline
                              Sander RosselS Offline
                              Sander Rossel
                              wrote on last edited by
                              #19

                              No challenges here. Another company owns the database, someone else sometimes works with it. That someone else asked me if I could do him a favor and write that query. Other than that the database is not used anymore and kept around for historical data. I've got other (fun) challenges coming my way :D

                              Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                              S 1 Reply Last reply
                              0
                              • Sander RosselS Sander Rossel

                                Had to write some query on a SQL Server database today. Opening the database took close to a minute. What I saw then will forever haunt me. Table names like [01 Some Company & Partner l.l.c.$Customer Ledger item], but also [01 Some Company & Partner llc$Cust something else], because sometimes you need Customer while other times you simply need Cust. Each table had columns with names like [Entry No_], [Customer report code 1] and [Amount (CNY)] (CNY apparently means "currency", but with column names like that why even bother to abbreviate?) :sigh: So we've got names with spaces, dots, numbers and symbols, complex enough to pass a password complexity validation! Now there's something particularly odd about the table name... The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables! :wtf: So let me say this again so you can be sure you read it right and I spelled it correctly... OVER FORTY-ONE THOUSAND TABLES! :wtf: It was a bit over 1700 tables per company, which I already think is A LOT, combined in a single database. SQL Server allows for int.MaxValue objects in a single database and I have a feeling this application was pushing the limit (if not, not for lack of trying) :laugh: I'm assuming most of it is generated, but even then, WHY WOULD YOU GENERATE SUCH !G($#&#$(!#F:elephant:J!#(P!? :mad: Sometimes you think you've seen it all and then you run into something like this and realize there really is no limit to human stupidity :sigh:

                                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                U Offline
                                U Offline
                                User 13269747
                                wrote on last edited by
                                #20

                                The part before the $ is actually a company name and it turned out this database has the same tables for 23(!) companies, and some other (un?)related tables, giving the database a staggering 41,000+ tables!

                                Probably not intended, but this sounds like a great way to be GPDR compliant - each table can have different access controls so that someone who is allowed to view the data for $COMPANY_A will never be allowed to view the data for $COMPANY_B. Unintended consequences, and all that...

                                Sander RosselS 1 Reply Last reply
                                0
                                • M Mycroft Holmes

                                  And I'll bet some company tables are unique so combining them will be a challenge. I made a tidy living in the 90's attempting to normalise such horrors, never quite that big and ugly though. I wonder if the original was converted from MS Access, it is definitely an end user built database. So quote a rate and don't offer a time frame (or even a guarantee) if you are going to try and clean it up. PS CNY is definitely the Chinese currency.

                                  Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP

                                  Sander RosselS Offline
                                  Sander RosselS Offline
                                  Sander Rossel
                                  wrote on last edited by
                                  #21

                                  Mycroft Holmes wrote:

                                  And I'll bet some company tables are unique so combining them will be a challenge.

                                  No doubt, luckily there's no need to combine them :D Hopefully I'll never see this database again :laugh:

                                  Mycroft Holmes wrote:

                                  it is definitely an end user built database

                                  Don't think so, end users here are typically as a-technical as they come. I think a lot of it was generated though. The database is owned by another supplier and kept around for historical purposes, I don't think it's actively being used anymore.

                                  Mycroft Holmes wrote:

                                  PS CNY is definitely the Chinese currency.

                                  Nope, it's short for CurreNcY :laugh: The amount in the column is usually the same as that in the regular amount column, except when the customer is not a Euro country. This supplier doesn't do anything with China specifically.

                                  Mycroft Holmes wrote:

                                  So quote a rate and don't offer a time frame (or even a guarantee) if you are going to try and clean it up.

                                  Already did that years ago for another project, and both my customer and I are still reaping the benefits ;)

                                  Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                  1 Reply Last reply
                                  0
                                  • Greg UtasG Greg Utas

                                    Never used SQL but :laugh: Could CNY be Chinese Yuan? It's the standard forex abbreviation for it.

                                    Robust Services Core | Software Techniques for Lemmings | Articles
                                    The fox knows many things, but the hedgehog knows one big thing.

                                    Sander RosselS Offline
                                    Sander RosselS Offline
                                    Sander Rossel
                                    wrote on last edited by
                                    #22

                                    Greg Utas wrote:

                                    Could CNY be Chinese Yuan?

                                    Nope, it's actually short for CurreNcY. Makes perfect sense if you designed that database I guess :~

                                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                    C 1 Reply Last reply
                                    0
                                    • Sander RosselS Sander Rossel

                                      No challenges here. Another company owns the database, someone else sometimes works with it. That someone else asked me if I could do him a favor and write that query. Other than that the database is not used anymore and kept around for historical data. I've got other (fun) challenges coming my way :D

                                      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                      S Offline
                                      S Offline
                                      Super Lloyd
                                      wrote on last edited by
                                      #23

                                      Ha damn... You still sound like the man of the hour, nay, the man of the year! :D

                                      A new .NET Serializer All in one Menu-Ribbon Bar Taking over the world since 1371!

                                      Sander RosselS 1 Reply Last reply
                                      0
                                      • E ElectronProgrammer

                                        I'm afraid I have been there, just not with so many tables (maybe 20) nor companies (only 3), and using MySQL. I just made a "SQL template" script and separated the companies into separate databases. Any common change would be made to the template and would be inherited by all (when the script was run against each of the databases). But I guess they have to justify buying new hardware when their queries are not fast enough. Hey, at least those have their queries in the database, right? Right?! In my case they were doing all queries (even simple ones like "select * from tableA where userID=x") in a weird PHP backend because they claimed that "the database is not good enough to filter the tables the way we want it" :wtf: Anyway, I think some whipping is in order. Grab your whip and get the guy that wrote that database. Don't let him procreate more databases like that :mad: :-D

                                        Sander RosselS Offline
                                        Sander RosselS Offline
                                        Sander Rossel
                                        wrote on last edited by
                                        #24

                                        ElectronProgrammer wrote:

                                        the guy that wrote that database

                                        If it was indeed created by a human and not dynamically created by some program :laugh: Anyway, the person responsible is probably a supplier of a supplier of my customer somewhere in the 80's, but I can't say for sure :laugh:

                                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                        1 Reply Last reply
                                        0
                                        • honey the codewitchH honey the codewitch

                                          I apologize. I was in a mood when I generated that. :laugh:

                                          Real programmers use butterflies

                                          Sander RosselS Offline
                                          Sander RosselS Offline
                                          Sander Rossel
                                          wrote on last edited by
                                          #25

                                          I must admit I thought of you, but more along the lines of "if honey generated this, it would at least look a lot better X|" And also "she probably already wrote something that could generate exactly this." :D

                                          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups