Book to learn database design?

As I continue my journey with Panorama I’d like to know if there are any particular textbooks that you recommend to someone not familiar or with a technical background in databases? I understand there must have to be a way where things should be organized for a database to be optimal.

Thanks for your suggestions.

I would highly recommend a thorough reading of the Panorama Help files, especially the turorials.

2 Likes

My recommendation is to read and absorb the poem:

https://allnurseryrhymes.com/this-is-the-house-that-jack-built/

It has served me through decades of programming regardless of the language (FORTRAN, COBOL ALGOL, PL/1, LISP, BASIC, PASCAL, RPG, Panorama procedure code).

Just break your goals down to small achievable steps.

Test a procedure outside your actual implementation (for simplicity and to eliminate performance bias) so you know how it works, independent of your specific task - just its simple action.

Then add that code to your “house”. Test again and check so see if what you think is happening (or should happen), is actually happening.

Add a comment so three months in the future you’ll be able to come back and understand what you were doing.

If you make a change, add a comment with the date and why the change was made.

All the TV shows that promote the Alpha Male portray a person who only lives in the “Big Picture”. You will be living in the “small picture” - the step-by-(sometimes painful)-step of code that actually makes thing happen.

But you will be the doctor and the mother, giving birth to a wonderful new process - hopefully with minium pain and tears.

3 Likes

You are the funniest erudite on the forum!

My own belief is that the technical aspects of database design are rather simple compared to the human factors: Predicting what the users are going to want to get from a database, and figuring out the logic of how to present it. I do not know any good books that deal with the subject. It gets harder and harder all the time, because some things are done well enough that the users do not see how difficult it is to make these predictions and connect them to the presentation, so they end up making unreasonable demands.

In another lifetime, I tried teaching mathematics. I had a general process for figuring out how to solve any problem:

  1. Write down everything you know about the problem.
  2. Write down everything you know about the solution.
  3. Figure out what the answer is.
  4. Fill in the steps in between.
    Step 3. is the easiest. Except when it is not. Most people get into trouble when they forget to do Step 4.

I don’t think there are any textbooks about RAM based databases. If you do find a textbook, a lot of the material will be about working around the limitations of disk based databases, and none of that will apply to working with Panorama. I’m not saying there is nothing that could be learned from textbooks, I’ve read many of them myself, but I think Craig is correct, you’ll probably get more return on investment by studying the Panorama documentation itself.

1 Like

What about design thinking?

this is good advice – every thing one would want from a database or an application (or automation) comes from looking at the steps or chunks and putting them together one by one. I can feel your pain expressed in “painful step” from my own experiences thinking of different things I needed to accomplish and eventually after several failed attempts, finding that magic workaround or, in worse cases, finding that one @#$ typo that I had looked at fifty times and never caught! LOL