Listing 2. Shopping Cart Data Structures
Cart.sql:
#
# create a sequence which we'll use to generate
# customer id's. I'm separating each id by
# an arbitrary number so that there is some space
# between each new customer to reduce the odds
# that you could guess someone else's cart number
#
create sequence seq_customer_id increment 26 start 1;
create table customers (
customer_id int not null default 0 primary key,
name text,
address text,
credit_card text,
total_order MONEY DEFAULT '$0.00'
);
create table cart_items (
cart_item serial,
customer_id int,
part_number int,
quantity int
);
create index idx_cart_customer on cart_items(customer_id);
create table item_inventory (
part_number serial,
name text,
price float,
inventory int
);