Hi All,
I am looking at OSCommerce for design comparisons and wonder what others
think about the below table design,
CREATE TABLE `customers` (
`customers_id` int(11) NOT NULL auto_increment,
`customers_gender` char(1) NOT NULL,
`customers_firstname` varchar(32) NOT NULL,
`customers_lastname` varchar(32) NOT NULL,
`customers_dob` datetime NOT NULL default '0000-00-00 00:00:00',
`customers_email_address` varchar(96) NOT NULL,
`customers_default_address_id` int(11) default NULL,
`customers_telephone` varchar(32) NOT NULL,
`customers_fax` varchar(32) default NULL,
`customers_password` varchar(40) NOT NULL,
`customers_newsletter` char(1) default NULL,
PRIMARY KEY (`customers_id`)
CREATE TABLE `orders` (
`orders_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL,
`customers_name` varchar(64) NOT NULL,
`customers_company` varchar(32) default NULL,
`customers_street_address` varchar(64) NOT NULL,
`customers_suburb` varchar(32) default NULL,
`customers_city` varchar(32) NOT NULL,
`customers_postcode` varchar(10) NOT NULL,
`customers_state` varchar(32) default NULL,
`customers_country` varchar(32) NOT NULL,
`customers_telephone` varchar(32) NOT NULL,
`customers_email_address` varchar(96) NOT NULL,
`customers_address_format_id` int(5) NOT NULL,
`delivery_name` varchar(64) NOT NULL,
`delivery_company` varchar(32) default NULL,
`delivery_street_address` varchar(64) NOT NULL,
`delivery_suburb` varchar(32) default NULL,
`delivery_city` varchar(32) NOT NULL,
`delivery_postcode` varchar(10) NOT NULL,
`delivery_state` varchar(32) default NULL,
`delivery_country` varchar(32) NOT NULL,
`delivery_address_format_id` int(5) NOT NULL,
`billing_name` varchar(64) NOT NULL,
`billing_company` varchar(32) default NULL,
`billing_street_address` varchar(64) NOT NULL,
`billing_suburb` varchar(32) default NULL,
`billing_city` varchar(32) NOT NULL,
`billing_postcode` varchar(10) NOT NULL,
`billing_state` varchar(32) default NULL,
`billing_country` varchar(32) NOT NULL,
`billing_address_format_id` int(5) NOT NULL,
`payment_method` varchar(32) NOT NULL,
`cc_type` varchar(20) default NULL,
`cc_owner` varchar(64) default NULL,
`cc_number` varchar(32) default NULL,
`cc_expires` varchar(4) default NULL,
`last_modified` datetime default NULL,
`date_purchased` datetime default NULL,
`orders_status` int(5) NOT NULL,
`orders_date_finished` datetime default NULL,
`currency` char(3) default NULL,
`currency_value` decimal(14,6) default NULL,
PRIMARY KEY (`orders_id`)
Why have customer info in both? Delivery and Billing info makes sense,
but why the redundant info in both? Anyone got views on this? Do/would
you do it differently, and could you tell us why? Cheers.
Mark Sargent.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]