Greetings, my "hands on" school project is a small real estate database.
I am using MySQL 3.23 without InnoDB, but would like to migrate to 4.x w/InnoDB at some point. I would greatly appreciate any feedback on this design. These are the business rules: 1) 1 matter may have several vendors and/or several purchasers 2) 1 matter will have 1 lawyer and 1 agent Thank you for any advice! CREATE TABLE other_lawyers ( other_lawyer_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, other_lawyer_fname VARCHAR(25) NULL, other_lawyer_lname VARCHAR(25) NULL, other_lawyer_email VARCHAR(25) NULL, other_lawyer_address VARCHAR(50) NULL, other_lawyer_city VARCHAR(15) NULL, other_lawyer_provice VARCHAR(15) NULL, other_lawyer_postal VARCHAR(6) NULL, other_lawyer_phone VARCHAR(10) NULL, other_lawyer_fax VARCHAR(10) NULL, other_lawyer_firm VARCHAR(40) NULL, PRIMARY KEY(other_lawyer_id) ); CREATE TABLE agents ( agent_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, agent_fname VARCHAR(25) NULL, agent_lname VARCHAR(25) NULL, agent_email VARCHAR(25) NULL, agent_address VARCHAR(50) NULL, agent_city VARCHAR(15) NULL, agent_provice VARCHAR(15) NULL, agent_postal VARCHAR(6) NULL, agent_phone VARCHAR(10) NULL, agent_fax VARCHAR(10) NULL, agent_agency VARCHAR(40) NULL, PRIMARY KEY(agent_id) ); CREATE TABLE matters ( file_number SMALLINT UNSIGNED NOT NULL, agents_agent_id INTEGER UNSIGNED NOT NULL, other_lawyers_other_lawyer_id INTEGER UNSIGNED NOT NULL, sale_or_purchase ENUM('s','p') NULL, property_address VARCHAR(50) NULL, property_city VARCHAR(15) NULL, property_province VARCHAR(15) NULL, price FLOAT(8,2) NULL, file_open_date DATE NULL, file_posession_date DATE NULL, PRIMARY KEY(file_number), INDEX matters_FKIndex1(other_lawyers_other_lawyer_id), INDEX matters_FKIndex2(agents_agent_id) ); CREATE TABLE vendors ( vendor_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, matters_file_number SMALLINT UNSIGNED NOT NULL, vendor_fname VARCHAR(25) NULL, vendor_lname VARCHAR(25) NULL, vendor_email VARCHAR(25) NULL, vendor_address VARCHAR(50) NULL, vendor_city VARCHAR(15) NULL, vendor_provice VARCHAR(15) NULL, vendor_phone_home VARCHAR(10) NULL, vendor_phone_work VARCHAR(10) NULL, vendor_postal VARCHAR(6) NULL, vendor_fax VARCHAR(10) NULL, vendor_firm VARCHAR(40) NULL, PRIMARY KEY(vendor_id), INDEX vendors_FKIndex1(matters_file_number) ); CREATE TABLE purchasers ( purchasers_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, matters_file_number SMALLINT UNSIGNED NOT NULL, purchaser_fname VARCHAR(25) NULL, purchaser_lname VARCHAR(25) NULL, purchaser_email VARCHAR(25) NULL, purchaser_address VARCHAR(50) NULL, purchaser_city VARCHAR(15) NULL, purchaser_provice VARCHAR(15) NULL, purchaser_phone_home VARCHAR(10) NULL, purchaser_phone_work VARCHAR(10) NULL, purchaser_postal VARCHAR(6) NULL, purchaser_fax VARCHAR(10) NULL, purchaser_firm VARCHAR(40) NULL, PRIMARY KEY(purchasers_id), INDEX purchasers_FKIndex1(matters_file_number) ); -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]