Upload
caroline-fletcher
View
216
Download
1
Tags:
Embed Size (px)
Citation preview
All Powder Board and Ski
Microsoft Access WorkbookChapter 2: Database DesignJerry PostCopyright © 2007
DBDesign: An Expert System
http://time-post.com/dbdesign Benefits
Makes it easy to create database diagrams Saves data in central location, so changes can be
made from almost any computer Provides immediate detailed feedback on the
design Requirements
Instructors must ask for a free account Instructors and students need a Java-enabled Web
browser
Access Data Types (Domains)Name Data Bytes
Text (characters) fixed variable memo
NATextMemo
255 64 K
VariableVariable
Numeric Byte (8 bits) Integer (16 bits) Long (32 bits) (64 bits) Fixed precision Float Double Currency Yes/No
Number: ByteNumber: IntegerNumber: Long IntegerNANumber: DecimalNumber: SingleNumber: DoubleCurrencyYes/No
0-255+/- 32767+/- 2 billion+/- 1 E 28+/- 1 E 38+/- 1 E 308+/- 900.0000 trillion0/1
124124881 bit
Date/Time Date/Time 1/1/100 – 12/31/9999 (1 sec) 8
Image OLE Object 1 gigabyte Variable
AutoNumber AutoNumber Long (+/- 2 billion) 4
Initial Business Objects
Employee
EmployeeIDTaxpayerIDLastNameFirstNameAddressCityStateZIP
Customer
CustomerIDLastNameFirstNamePhoneAddressCityStateZIP
Sale
SaleIDSaleDateCustomerIDEmployeeID
Rental
RentIDRentDateCustomerIDExpectedReturn
Associations or Relationships
Employee
EmployeeIDTaxpayerIDLastNameFirstNameAddressCityStateZIP
Customer
CustomerIDLastNameFirstNamePhoneAddressCityStateZIP
Sale
SaleIDSaleDateCustomerIDEmployeeID
Rental
RentIDRentDateCustomerIDExpectedReturn
0…*
1…1
Action
ActionBrowser: http://time-post.com/dbdesignNew student who has two key numbers.
Getting Started
Enter the key numbers you received
Create a username and password.
Enter your correct name, e-mail address and StudentID
Class Registration
Successful account creation
Select your university and class
Enter the admit code
Action
ActionFile/Open, choose All Powder caseRight click/Add TableRight click header/Rename tableDrag columns from right onto tableRight click name/set data type
DBDesign: Example
Available columns
Menu
Class(entity)
Corrections
Status line
Action
ActionAdd Customer and Sale tablesAdd GenerateKey to Customer tableRename it to CustomerIDDrag new CustomerID from right side into Sale tableDrag CustomerID from Customer and drop it on
CustomerID in Sale tableFill out relationship box
Relationships
Drag-and-drop column
Select min and max for both sides of the relationship
Action
ActionChoose Grade/Grade and MarkDouble click messages in windowFix errors by removing columns and adding new tables
Design Errors
Add SKU to the Sale table
Connect the Inventory table to the Sale table
Double click the diagnostic message
Possible errors are highlighted
More Errors
Try setting SKU as a key
It still causes problems because SaleDate does not depend on the SKU
Split Many-to-Many Relationship
Sale
SaleIDSaleDateCustomerIDEmployeeID
Inventory
SKUSizeQOH
Many-to-Many
SaleItem
SaleIDSKUQuantitySoldSalePrice
1…1
0…*
1…*
1…1
Ski Shop Inventory
Photo: www.rossignol.com
Ski shops carry multiple lengths of each ski or board model.
Model information refers to the overall type of board or ski.
Inventory information refers to an individual ski or board—defined by its length.
Model:Rossignol Axium
Item: 196 cm Item: 181 cm
Action
ActionCreate the SaleItem tableCreate the ItemModel tableInclude the proper columnsSet the keysSet the data typesGrade/Grade and Mark
Models and Items
Customer Skill Level
CustomerID, LastName, … Style, SkillLevel
CustomerID, LastName, … Style, SkillLevel
Business rule: Each customer can have one skill in many styles.Business rule: Each style can apply to more than one customer.Need a table with both attributes as keys.
CustomerID, LastName, … Style, SkillLevel
But you cannot include LastName, FirstName and so on, because then you would have to re-enter that data for each customer skill.
Customer Style Skills
Customer
CustomerIDLastNameFirstNamePhoneAddressCityStateZIP
CustomerSkill
CustomerIDStyleSkillLevel
Style
StyleStyleDescription
SkillLevel
SkillLevelSkillDescription