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. Other Discussions
  3. The Back Room
  4. Legacy databases...

Legacy databases...

Scheduled Pinned Locked Moved The Back Room
sharepointdatabasedesign
9 Posts 7 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.
  • P Offline
    P Offline
    Paul Watson
    wrote on last edited by
    #1

    ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

    Paul Watson
    Bluegrass
    Cape Town, South Africa

    Ray Cassick wrote:
    Well I am not female, not gay and I am not Paul Watson

    M B R L M 6 Replies Last reply
    0
    • P Paul Watson

      ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

      Paul Watson
      Bluegrass
      Cape Town, South Africa

      Ray Cassick wrote:
      Well I am not female, not gay and I am not Paul Watson

      M Offline
      M Offline
      Megan Forbes
      wrote on last edited by
      #2

      Sounds like the time is ripe to ask for an increase :-D The worst DB experience I've ever had (although it's using the term DB loosely) was when I was learning C. You know, the old blue Borland dos compiler X| . Oh man, I had to build this stock taking DB, which used text files. No wonder I love SQL Server so much! :cool:


      Deploying a web application without understanding security is roughly equivalent to driving a car without seatbelts - down a slippery road, over a monstrous chasm, with no brakes, and the throttle jammed on full.

      Hacking Exposed - Web Applications.   Joel Scambray & Mike Shema

      1 Reply Last reply
      0
      • P Paul Watson

        ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

        Paul Watson
        Bluegrass
        Cape Town, South Africa

        Ray Cassick wrote:
        Well I am not female, not gay and I am not Paul Watson

        B Offline
        B Offline
        brianwelsch
        wrote on last edited by
        #3

        Paul Watson wrote: Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... The horror! I remember during my last job, we had some trx file which ran this way. Occasionally, 2 users would update different items simultaneously, causing a collision, and the "sequence number" would be incorrectly incremented. Man, this caused havoc one day because each new update caused a trx error, until we figured out what was going on. After that it was an easy fix, but we still went in manually to make the change on case-by-case. X| Accck!!! thank goodness, I'm out of there! :cool: BW "I'm coming with you! I got you fired, it's the least I can do. Well, the least I could do is absolutely nothing, but I'll go you one better and come along!" - Homer J. Simpson

        1 Reply Last reply
        0
        • P Paul Watson

          ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

          Paul Watson
          Bluegrass
          Cape Town, South Africa

          Ray Cassick wrote:
          Well I am not female, not gay and I am not Paul Watson

          R Offline
          R Offline
          Roger Wright
          wrote on last edited by
          #4

          Why not upgrade it while you're in there. I recommend Paradox. ;P "When in danger, fear, or doubt, run in circles, scream and shout!" - Lorelei and Lapis Lazuli Long

          P 1 Reply Last reply
          0
          • P Paul Watson

            ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

            Paul Watson
            Bluegrass
            Cape Town, South Africa

            Ray Cassick wrote:
            Well I am not female, not gay and I am not Paul Watson

            L Offline
            L Offline
            Le centriste
            wrote on last edited by
            #5

            I once worked on a project with a large database (> 150, > 10 Gigs) with no relationships. They had them at the start, but the code was so badly written they disabled the constraint and the relationships. Then, they had a guy spending all of his day fixing the errors in the database. :rolleyes: Michel It is a lovely language, but it takes a very long time to say anything in it, because we do not say anything in it, unless it is worth taking a very long time to say, and to listen to.
            - TreeBeard

            1 Reply Last reply
            0
            • R Roger Wright

              Why not upgrade it while you're in there. I recommend Paradox. ;P "When in danger, fear, or doubt, run in circles, scream and shout!" - Lorelei and Lapis Lazuli Long

              P Offline
              P Offline
              Paul Watson
              wrote on last edited by
              #6

              Roger Wright wrote: Why not upgrade it while you're in there. I recommend Paradox. LOL, that would be a step up. Actually what you suggest is the most irritating part of the whole project. The client has a bricks and mortar shop plus an online shop. The online shop was the first to be computerised (no duh) and that was 5 years ago. Back then some company made the dB and made it badly. Over the years the client has been dropping pennies into the project, asking for small upgrades here and there. So we could never justify re-doing the database, and instead had to patch on bits and pieces until eventually we had a monstrosity. Begining of this year the client asked for a back-end Order Management System which they could use on their POS tills. I recommended we re-do the website at the same time and get rid of the old database and implement a new one. But no, they did not want to pay for that. So we built this brand new OMS on top of a cranky 5 year old database. 2 months later they say "hey, can we re-do our website now?" I nearly exploded. Once again I valiantly but stupidly recommended we ditch the database, re-do the website and update the OMS so that it used the new database. But they were not willing to pay for the updates to the only 2 month old OMS. Aaaaaarrrgghhhh! So now we have two very new code bases only months apart running on a 5 year old database. Talk about bad planning. Still, we did it and things are ok.

              Paul Watson
              Bluegrass
              Cape Town, South Africa

              Ray Cassick wrote:
              Well I am not female, not gay and I am not Paul Watson

              R 1 Reply Last reply
              0
              • P Paul Watson

                ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

                Paul Watson
                Bluegrass
                Cape Town, South Africa

                Ray Cassick wrote:
                Well I am not female, not gay and I am not Paul Watson

                M Offline
                M Offline
                Michael P Butler
                wrote on last edited by
                #7

                You kids don't know you're born. You want to try fixing a flat file database with long values pointing to the next record postion in the file - after a bug has not updated the previous pointer and zero'd the next pointer. I spent some of my formative programming years with a hex-editor repatching customers files after somebody else's code had corrupted the database. :-D Michael Life’s not a song. Life isn’t bliss. Life is just this. It’s living. -- Buffy the Vampire Slayer: Once more, with feeling

                1 Reply Last reply
                0
                • P Paul Watson

                  Roger Wright wrote: Why not upgrade it while you're in there. I recommend Paradox. LOL, that would be a step up. Actually what you suggest is the most irritating part of the whole project. The client has a bricks and mortar shop plus an online shop. The online shop was the first to be computerised (no duh) and that was 5 years ago. Back then some company made the dB and made it badly. Over the years the client has been dropping pennies into the project, asking for small upgrades here and there. So we could never justify re-doing the database, and instead had to patch on bits and pieces until eventually we had a monstrosity. Begining of this year the client asked for a back-end Order Management System which they could use on their POS tills. I recommended we re-do the website at the same time and get rid of the old database and implement a new one. But no, they did not want to pay for that. So we built this brand new OMS on top of a cranky 5 year old database. 2 months later they say "hey, can we re-do our website now?" I nearly exploded. Once again I valiantly but stupidly recommended we ditch the database, re-do the website and update the OMS so that it used the new database. But they were not willing to pay for the updates to the only 2 month old OMS. Aaaaaarrrgghhhh! So now we have two very new code bases only months apart running on a 5 year old database. Talk about bad planning. Still, we did it and things are ok.

                  Paul Watson
                  Bluegrass
                  Cape Town, South Africa

                  Ray Cassick wrote:
                  Well I am not female, not gay and I am not Paul Watson

                  R Offline
                  R Offline
                  Roger Wright
                  wrote on last edited by
                  #8

                  Sounds awful, Paul!:-D I think I'd be inclined to upgrade the damned thing on my own, knowing that the same customer will be back for yet another round of changes. Any company has slow times, and it could be a filler project. The frustration of working with the current system has a cost associated with it, too. My last employer ran the company on a 10 year old piece of software that cost them >$200,000, along with support fees of several $thousand each year. It all sat on top a DOS variant that was current in 1981. I tried repeatedly to get them to upgrade to anything - UNIX, WIndows, Linux - I wasn't picky. But they refused to spend the money, and every year it became more expensive, and personally frustrating for me to maintain the beast. As poor a programmer as I am, I could have written a better system in a year's time, but they refused to consider it. Someday I may yet do it, just for the pleasure of waving it under their noses!:-D "When in danger, fear, or doubt, run in circles, scream and shout!" - Lorelei and Lapis Lazuli Long

                  1 Reply Last reply
                  0
                  • P Paul Watson

                    ... are a b with an itch to work with. No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... Get this: When adding a new record to a table I have to consult a Sequences table to get the last ID and then increment it for the new record... X| This is what happens when a database is not planned, is not built by a DBA and grows over a period of 5 years with varied design thrusts and different teams. :-D

                    Paul Watson
                    Bluegrass
                    Cape Town, South Africa

                    Ray Cassick wrote:
                    Well I am not female, not gay and I am not Paul Watson

                    C Offline
                    C Offline
                    Chris Meech
                    wrote on last edited by
                    #9

                    Paul Watson wrote: No relationships. No primary keys. No identity seeds. Virtually all fields allow nulls (but not all, be consistent damnit!.) Many unused fields, some only a character in difference to a used field... You forgot to add, that the database file just happens to be on magnetic tape. Now that's a database. Too many years ago, I worked on a stock allocation system, where basically you had to figure how many items from inventory would be allocated to an open order. All of the data came from flat files stored on mag tape. A requirement for being an operator in those days, was being able to run from the console to the tape library, find a tape, skip over to the half a dozen readers, mount the tape and return back to the console to restart the program. If you could do this in under 30 seconds, you were given the job :) Chris Meech

                    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