• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 358
  • Last Modified:

ACCESS, SQL SERVER, etc. The Logic of database design - for beginners!

I'm looking for a book recommendation to learn how to design databases correctly.  Relational techniques and such.  But th books I've picked up are extremely dense, arcane and suicide inducing.

Are there any books out there that are helpful in this regard?  Or maybe should I stick to magazine articles.
0
brothertruffle880
Asked:
brothertruffle880
  • 3
  • 3
  • 2
  • +6
8 Solutions
 
hello_everybodyCommented:
0
 
Dale FyeCommented:
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Here is a starter list:

The defacto standard:
http://www.developershandbook.com   Must have.

VBA Developers Handbook:
http://www.amazon.com/VBA-Developers-Handbook-2nd-Getz/dp/0782129781

"Fixing Access Annoyances"
Phil Mitchell and Evan Callahan
O'Reilly

In the back ... there is a great reference appendix ...with functions, macro actions etc.

PLUS ... the book itself is VERY cool  
list price $20

Also ... another cool book ...

"Access Hacks"
Ken Bluttman
O'Reilly

SQL Queries for Mere Mortals - Second Edition
http://my.safaribooksonline.com/9780321444431
by John L. Viescas; Michael J. Hernandez

And Finally:
"Microsoft Jet Database Engine Programmer's Guide "
http://www.amazon.com/Microsoft-Database-Programmers-Professional-Editions/dp/1572313420

And .... loads of good information here:
http://www.fmsinc.com/TPapers/#CurrentAccess

http://msdn.microsoft.com/en-us/library/aa296748(office.11).aspx

And some cool stuff here:

http://www.datapigtechnologies.com/AccessMain.htm

http://www.databasedev.co.uk

Expert One-on-One: Microsoft Access Application Development
by Helen Feddema  
ISBN:0764559044
Wrox Press © 2004

mx
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
Neil RussellTechnical Development LeadCommented:
0
 
Neil RussellTechnical Development LeadCommented:
A = "....to design databases correctly. "  and B = "....are extremely dense, arcane and suicide inducing."

B is a result of A I am afraid. Anybody can design a database.... To design one correctly takes great skill and lots and lots of research, learning and development.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:

 Don't have a book recomendation beyond what the others have already suggested, but I'll be doing a intro to application and database design with Microsoft Access in a EE Webinar on Nov 3rd at 11:00 am PT.

 And I will be making a point to stay away from the jargon as much as possible.  Instead I'll be using practical examples to demonstate the do's and don't of relational design.

 If you can't attend, it will be recorded for playback and will be available on YouTube.

Jim.

0
 
Nick67Commented:
The very first thing, just a scant 12 pages long is the attached file.
It is the data normalization tutorial from www.phlonx.com

This is THE fundamental skill involved with database design--what the alphabet is to poetry
Normal-Forms-nf3.pdf
0
 
Jeffrey CoachmanMIS LiasonCommented:
Nothing can really substitute for actually "Building" a db and testing/verifying the principles learned.

I would recommend that you investigate the NorthWind Sample database:
http://www.microsoft.com/download/en/details.aspx?id=19704

Here is a book I like:
http://www.amazon.com/Database-Design-Mere-Mortals-Hands/dp/0201752840

But like Neilsr stated, I have never seen a book that could "Simplify" something that is inherently "Complex"

All databases are different, all requiring perhaps different design approaches.

Learn the basics first (to 3NF)
Then actually *create* simple database to reinforce the principals:
(Students/Classes, Customer/Orders, Contacts, Household inventory, ...etc)


Also check through some of the other access template files for ideas on how working DB's can be normalized/related
http://office.microsoft.com/en-us/templates/results.aspx?qu=access&av=zac

Finally, I am noting your title:
"ACCESS, SQL SERVER"
So here note that there are few different "Flavors" of SQL, so you would probably want to stick with MS SQL Server and Jet (Access SQL) as some of the other Experts have noted...


JeffCoachman
0
 
Nick67Commented:
After normalization is the Ten Commandments from the Access Web, which also has a lot of other good stuff
http://access.mvps.org/access/tencommandments.htm

The Ten Commandments of Access

And it came to pass that the cries and lamentations of the Access newbies were heard on high by the gods of the Database, and their hearts were moved to pity for their followers. And they opened their mouths and spake, saying: "Nevermore shall the young and innocent wander witless on their journeys!  We shall provide guidance to them, yea, and to all who wish to seek the paths of wisdom." And they caused these commandments to be written and placed before the eyes of those seeking enlightenment.

So heed the words of those who have come before you, and keep these commandments in thine heart as thou dost create thy Database application. If thou shalt only follow these commandments thy burden shall be made light and thy path shall be made straight.

1. Thou shalt design normalized tables and understand thy fields and relationships before thou dost begin.  
2. Thou shalt never allow thy users to see or edit tables directly, but only through forms and thou shalt abhor the use of "Lookup Fields" which art the creation of the Evil One.
3. Thou shalt choose a naming convention and abide by its wisdom and never allow spaces in thy names.
4. Thou shalt write comments in your procedures and explain each variable.
5. Thou shalt understand error handling and use it faithfully in all thy procedures.
6. Thou shalt split thy databases.
7. Thou shalt not use Autonumber if the field is meant to have meaning for thy users.
8. Thou shalt not copy and paste other people's code without at least attempting to understand what it does.
9. Thou shalt not use "SendKeys", "Smart Codes" or "GoTo" (unless the GoTo be part of an OnError process) for these will lead you from the path of righteousness.
10. Thou shalt back-up thy database faithfully, working not on thy Production Database, but on the Prototype Copy, as it is right and good to do.


Thus spake the gods of the Database, and blessed be their names! And Blessed, too, are those who contribute to the Access Newsgroup - giving freely of themselves to serve those who hunger and thirst for knowledge and understanding!
 
 
0
 
Jeffrey CoachmanMIS LiasonCommented:
Nick,

Number 8 has always been my favorite.

;-)

Jeff
0
 
Nick67Commented:
#4 and #5, I am not too religious about, because I am very religious about #3
Give your stuff self-documenting names, and stick to your convention.
The prevention of much evil doth lie there

Evil:
 
Private Sub Command1_Click()
Dim mTIMSV As String
Dim var2 As Integer

mTIMSV = "Well..."
var2 = 0

MsgBox mTIMSV & var2

mTIMSV = "3"
var2 = 0

MsgBox mTIMSV & var2
MsgBox mTIMSV + var2

mTIMSV = Null
var2 = 0

MsgBox mTIMSV & var2
MsgBox mTIMSV + var2

End Sub

Open in new window


Virtuous
 
Option Compare Database
Option Explicit

Private Sub cmdDemo_Click()
'This is a little sub to demo why you shouldn't use '+' as a string concatenator
'Dim mTIMSV As String
'Acronym soup sucks mTIMSV
'module level ThisIsMyStringValue --blech
Dim myString As String
'Dim var2 As Integer
'var2?  Really
Dim myInteger As Integer


myInteger = 0

'Ampersand knows from null
MsgBox myString & myInteger
'MsgBox myString + myInteger
'This would have gone Bang!
'+ doesn't

myString = "Well..."
myInteger = 0

'demo ampersanding a string and number
MsgBox myString & myInteger

myString = "3"
myInteger = 0

'demo ampersanding a numeric string and number
MsgBox myString & myInteger
'it gives a string

'+'ing gives a number
MsgBox myString + myInteger



End Sub

Open in new window

0
 
brothertruffle880Author Commented:
JEEPERS!  Thanks everyone.  I only wish I could give each of you 500 points.   The links:  EXCELLENT!  The quotes: EXCELLENT.  The book recos:  EXCELLENT!
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Yep ... you should be on your way.  Lets us know when you come up for air lol!

mx
0
 
dportasCommented:
You appear to be at the early stages of learning about database design. My advice would be to stay away from sources that focus on particular software (e.g. books or web sites which name some database product in the title like some of those mentioned already here). Be very careful about trusting any online sources. Much of the material you will find online is unreliable.

Some book recommendations:

"Database Systems: The Complete Book" by Garcia-Molina, et al
"Practical Issues in Database Management" by Fabian Pascal
"Information Modeling and Relational Databases" by Terry Halpin

Good luck with your studies!
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
:-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 3
  • 3
  • 2
  • +6
Tackle projects and never again get stuck behind a technical roadblock.
Join Now