- Category: Relation containing information about various
categories (e.g., books, toys) of auctioned items.
Category(id /* unique identifier */,
name /* name of the category */,
description /* description of the category */);
- Item: Relation containing information about each item that is
auctioned.
Item(id /* unique identifier */,
name /* name of the item */,
description /* description of the item */,
categoryID /* category that this item belongs to.
References Category.id */,
registrationTime /* time when this item was registered */);
- Person: Relation containing information about registered users who
are allowed to start and bid for auctions.
Person(id /* unique identifier */,
name /* name of this person */,
emailAddress /* registered email address */,
city /* city of residence */,
state /* state of residence */,
registrationTime /* time when this user registered */);
- OpenAuction: Stream of openings of auctions.
OpenAuction(itemID /* id of the item being auctioned. Key attribute of
this stream. References Item.id */,
sellerID /* seller of the item being auctioned. References
Person.id */,
start_price /* starting price of the item */,
timestamp /* time when the auction started */);
- ClosedAuction: Stream of auction closings.
ClosedAuction(itemID /* id of the item in this auction. Key attribute
of this stream. References Item.id */,
buyerID /* buyer of this item. References Person.id.
Could be NULL if there was no buyer. */
timestamp /* time when the auction closed */);
- Bid: Stream of bids for items.
A bid for itemID appears only
after the OpenAuction tuple for itemID and before
the ClosedAuction tuple for itemID.
Bid(itemID /* the item being bid for. References Item.id */
bid_price, /* bid price */,
bidderID /* id the bidder. References Person.id */
timestamp /* time when bid was registered */);