Microsoft Access Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
 
User Name:
Password:
Remember me
 
Go Back   Dev Articles Community ForumsDatabasesMicrosoft Access Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Display Modes
 
Unread Dev Articles Community Forums Sponsor:
  #1  
Old December 1st, 2008, 03:18 AM
larry S larry S is offline
Registered User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Nov 2008
Posts: 5 larry S User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 45 m 6 sec
Reputation Power: 0
Table Normalisation - Please Help

I have an airport database with 5 tables:

AIRLINE
AirlineID (PK)
AirlineName

PLANE
PlaneID (PK)
PlaneType
AirlineID

PILOT
Name (PK)
Adress
Licence
AirlineName
PlaneType

PLANE TYPES
PlaneType (PK)
MaximumRange
DateOfManufacture

AIRPORT
Airport(PK)
AirlineName

Each pilot only works for one airline. Several types of planes use the airport. Theres only one airport but many airlines use it.

Am I on the right track? Do I have the right tables?Do I have fields in the right tables?

Any help would be appreciated!!

Reply With Quote
  #2  
Old December 1st, 2008, 10:03 AM
orange orange is offline
Contributing User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 46 orange User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 14 h 30 m 3 sec
Reputation Power: 2
Quote:
Originally Posted by larry S
I have an airport database with 5 tables:

AIRLINE
AirlineID (PK)
AirlineName

PLANE
PlaneID (PK)
PlaneType
AirlineID

PILOT
Name (PK)
Adress
Licence
AirlineName
PlaneType

PLANE TYPES
PlaneType (PK)
MaximumRange
DateOfManufacture

AIRPORT
Airport(PK)
AirlineName

Each pilot only works for one airline. Several types of planes use the airport. Theres only one airport but many airlines use it.

Am I on the right track? Do I have the right tables?Do I have fields in the right tables?

Any help would be appreciated!!


I think you're on the right track. However, there are a few things to consider. Tables are part of the issue,but the relationships between tables is another. Once you get all your questions defined --such as your Each pilot only works for one airline-- you can then test these against your data model (tables and relationships). You won't know if you have all the required tables until you get the complete set of questions defined. You may find that you have most of it answered but then find you need another table/relationship to answer a necessary question.

For example, I don't think PlaneType has a DateOfManufacture. Each individual plane would have a DateOfManufacture.

A pilot is probably qualified to fly move than 1 PlaneType, so a separate Table tblPilotPlaneType consisting of PilotId and PlaneType could be necessary. Again depends on your "problems set" to be handled by your database/application.

Is PilotName really a good unique identifier for Pilot. Could your database ever have 2 pilots with the same name --eg Jim Smith.
These are the types of questions that will help determine if you have the right tables, all the tables and all the necessary relationships.

Hope this helps.

Here's a link that may be useful
http://r937.com/relational.html

Reply With Quote
  #3  
Old December 1st, 2008, 04:10 PM
1databyte 1databyte is offline
Registered User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Nov 2008
Posts: 11 1databyte User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 3 h 17 m 47 sec
Reputation Power: 0
Hi Larry S,

Although i have only taken a quick look at your tables, you do seem to be on the right track. But i would also urge you to try and create a "Data Model" of your database or some kind of conceptual database with diagrams and stuff. just so as to get a feel of what your trying to do. And in line with what "Orange" said its not until you do things like that you that you get an idea of how many tables and stuff might be need.

Speaking of tables i am not entirely sure why you have created the table "Airport" since there is only one airport and the database itself represents this entity. Also choose your primary key carefully, the idea being that they are supposed to be unique and not duplicated.


cheers 1databyte

Reply With Quote
  #4  
Old December 1st, 2008, 08:06 PM
larry S larry S is offline
Registered User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Nov 2008
Posts: 5 larry S User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 45 m 6 sec
Reputation Power: 0
Thank you for all the suggestions. I modified the tables:

AIRLINE
AirlineID (PK)
AirlineName

PLANE
PlaneID (PK)
MaximumRange
DateOfManufacture
AirlineID

PILOT
PilotNo (PK)
Name
Adress
Licence

PLANE TYPE
PlaneID(PK)
PlaneType

PILOTPLANES
PilotID(PK)
PlaneType
AirlineID

Does that look right? Any fields in the wrong tables? Any suggestions?

Thanks

Reply With Quote
  #5  
Old December 2nd, 2008, 06:28 AM
AlanSidman's Avatar
AlanSidman AlanSidman is offline
Contributing User
Click here for more information
 
Join Date: Nov 2008
Location: Lake County, IL
Posts: 117 AlanSidman User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 20 h 50 m 15 sec
Reputation Power: 1
Do you care about the expiration of the pilot's license? Is it relevant?
Are there issues regarding Aircraft maintenance or would that be in a separate dB? Availability of aircraft?
I would suggest you not use the pilot name as a PK. Give it an autonumber as the Pilot ID and use the name as a field. Will save you lots of aggravation in the future.

Alan

Reply With Quote
  #6  
Old December 2nd, 2008, 07:16 AM
orange orange is offline
Contributing User
Dev Articles Newbie (0 - 499 posts)
 
Join Date: Nov 2007
Posts: 46 orange User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 14 h 30 m 3 sec
Reputation Power: 2
Quote:
Originally Posted by AlanSidman
Do you care about the expiration of the pilot's license? Is it relevant?
Are there issues regarding Aircraft maintenance or would that be in a separate dB? Availability of aircraft?
I would suggest you not use the pilot name as a PK. Give it an autonumber as the Pilot ID and use the name as a field. Will save you lots of aggravation in the future.

Alan


Larry,

From the responses received, you are on the right track.
I think i's time to make a list of statements as to what your database application is supposed to do.

This will assist you and anyone trying to help you with scope and details as to whether or not the fields are in the right table, the proper tables etc.

For example, you mention airport, but is your application only concerned with 1 airport?
As Alan asked, is the pilots' license information relevant to your "business"?

A pilot is licensed to fly a specific planeType, but I don't think it has anything specific to do with Airline. But I could be wrong.

Can a Plane be sold/leased to another Airline? Do you intend to track which Plane belongs to which Airline?
Individual planes may not need to have MaximumRange data. Maximum range may be associated with a PlaneType.

These are the kinds of questions you must identify, and determine if they are important to your database or not. Then you'll have the base to test your data model, and adjust it as necessary. It's your "business", and you know what's important and what isn't. We can only suggest/ask a few things that may help you.
Comments on this post
AlanSidman agrees: Orange is right on track here

Reply With Quote
Reply

Viewing: Dev Articles Community ForumsDatabasesMicrosoft Access Development > Table Normalisation - Please Help


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump



 Free IT White Papers!
 
How to Present Effectively Online
This white paper offers practical and actionable advice on the key steps that any presenter should consider as they plan and execute a Webinar or online meeting.

Request Your Free Technology Downloads!
 
Open Source Security Myths
Open Source Software (OSS) is computer software whose source code is available to the general public with relaxed or non-existent intellectual property restrictions (or arrangement such as the public domain), and is usually developed with the input of many contributors.

Request Your Free Technology Downloads!
 
Power and Cooling Capacity Management for Data Centers
This paper describes the principles for achieving power and cooling capacity management.

Request Your Free Technology Downloads!
 
Scalable, Fault-Tolerant NAS for Oracle - The Next Generation
For several years NAS has been evolving as a storage alternative for Oracle databases, and for good reason: NAS is quite often the simplest, most cost-effective storage approach for Oracle. Learn about the benefits that HP's approach to scalable NAS brings to Oracle environments in this comprehensive white paper.

Request Your Free Technology Downloads!
 
Understanding Web Application Security Challenges
This white paper discusses many common threats and preventive measures for Web application security, and explains what you can do to help protect your organization.

Request Your Free Technology Downloads!
 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 




© 2003-2009 by Developer Shed. All rights reserved. DS Cluster 2 hosted by Hostway
Stay green...Green IT