Based on the information in the previous section, we have a good understanding of what our database schema should look like. The following tables list our database structure:
tblAuctions AID:Unique ID to keep track of records Autonumber StartDate:Date the auction started Date/Time EndDate:Date the auction is to end Date/Time SellerID:The ID of the seller. (Foreign key to user table) Integer
tblAuctionItems IID:Unique ID to keep track of records Autonumber AID:Which auction does this item belong to? (Foreign key to Auctions table) Integer Name: Name of the item being sold Text Description: Description of the item being sold Text MinPrice: Minimum price to sell (specified by the seller) Money Increment: Value to increment proxy bids by (specified by the seller) Money Available: Number of items available to sell Integer
tblAuctionBids BID: Unique ID to keep track of records Autonumber IID: Unique ID to keep track of items (foreign key to AuctionItem table) Integer UID: Unique ID to keep track of bidders (foreign key to AuctionUsers table) Integer WinPrice :Current price for a user (calculated by application) Money MaxBid: Maximum price for a user Money BidItems :The number of items this user bid for Integer WinItems: The number of items this user would win if the auction ended immediately Integer Time: The last time this bid was updated Date/Time
tblAuctionUsers UID :Unique ID to keep track of records Autonumber Name :Name of user Text
Note that the above tables are simply used for example. You may decide to store more information for your purposes (i.e., you may store more than just a name in the user table). Already, however, the schema is getting kind of complex - each table has foreign keys to one or more other tables.
NOTE: You can use a pre-existing user table if you wish. We simply provide the tblAuctionUsers table definition for completeness sake.