创建表和插入数据的sql文件 链接: https://pan.baidu.com/s/137GAZV_5–CVOSsJqnOTrA 提取码: hacw 我们可以把该数据库看作是一个推销商使用的订单录入系统,比如喜欢鞋子的朋友可以把他看作是一个AJ推销商的录入系统,喜欢手机的朋友可以把他看作是一个手机推销商的录入系统。一个市场上的供货商都可以给推销上供货,推销商向顾客直接销售,这个数据库要完成一下几个任务
管理供货商(一个推销商使用多个供货商的货物)管理产品目录(只要产品种类丰富才可以销路更广)管理顾客列表(要用心对待每个客户)录入顾客订单(客户订单可以统计很多东西) 根据这几个任务,我们需要把作为关系数据库的紧密联系的6个表
创建数据表的mysql文件
CREATE TABLE vendors
(
vend_id
INT NOT NULL AUTO_INCREMENT,
vend_name
CHAR(50) NOT NULL ,
vend_address
CHAR(50) NULL ,
vend_city
CHAR(50) NULL ,
vend_state
CHAR(5) NULL ,
vend_zip
CHAR(10) NULL ,
vend_country
CHAR(50) NULL ,
PRIMARY KEY (vend_id
)
) ENGINE=INNODB;
CREATE TABLE products
(
prod_id
CHAR(10) NOT NULL,
vend_id
INT NOT NULL ,
prod_name
CHAR(255) NOT NULL ,
prod_price
DECIMAL(8,2) NOT NULL ,
prod_desc
TEXT NULL ,
PRIMARY KEY(prod_id
)
) ENGINE=INNODB;
CREATE TABLE customers
(
cust_id
INT NOT NULL AUTO_INCREMENT,
cust_name
CHAR(50) NOT NULL ,
cust_address
CHAR(50) NULL ,
cust_city
CHAR(50) NULL ,
cust_state
CHAR(5) NULL ,
cust_zip
CHAR(10) NULL ,
cust_country
CHAR(50) NULL ,
cust_contact
CHAR(50) NULL ,
cust_email
CHAR(255) NULL ,
PRIMARY KEY (cust_id
)
) ENGINE=INNODB;
CREATE TABLE orders
(
order_num
INT NOT NULL AUTO_INCREMENT,
order_date
DATETIME NOT NULL ,
cust_id
INT NOT NULL ,
PRIMARY KEY (order_num
)
) ENGINE=INNODB;
CREATE TABLE orderitems
(
order_num
INT NOT NULL ,
order_item
INT NOT NULL ,
prod_id
CHAR(10) NOT NULL ,
quantity
INT NOT NULL ,
item_price
DECIMAL(8,2) NOT NULL ,
PRIMARY KEY (order_num
, order_item
)
) ENGINE=INNODB;
CREATE TABLE productnotes
(
note_id
INT NOT NULL AUTO_INCREMENT,
prod_id
CHAR(10) NOT NULL,
note_date
DATETIME NOT NULL,
note_text
TEXT NULL ,
PRIMARY KEY(note_id
),
FULLTEXT
(note_text
)
) ENGINE=MYISAM
;
ALTER TABLE orderitems
ADD CONSTRAINT fk_orderitems_orders_1
FOREIGN KEY (order_num
) REFERENCES orders
(order_num
) ;
ALTER TABLE orderitems
ADD CONSTRAINT fk_orderitems_products_1
FOREIGN KEY (prod_id
) REFERENCES products
(prod_id
) ;
ALTER TABLE orders
ADD CONSTRAINT fk_orders_customers_1
FOREIGN KEY (cust_id
) REFERENCES customers
(cust_id
) ;
ALTER TABLE products
ADD CONSTRAINT fk_products_vendors_1
FOREIGN KEY (vend_id
) REFERENCES vendors
(vend_id
)
插入数据mysql代码:
CREATE TABLE vendors
(
vend_id
INT NOT NULL AUTO_INCREMENT,
vend_name
CHAR(50) NOT NULL ,
vend_address
CHAR(50) NULL ,
vend_city
CHAR(50) NULL ,
vend_state
CHAR(5) NULL ,
vend_zip
CHAR(10) NULL ,
vend_country
CHAR(50) NULL ,
PRIMARY KEY (vend_id
)
) ENGINE=INNODB;
CREATE TABLE products
(
prod_id
CHAR(10) NOT NULL,
vend_id
INT NOT NULL ,
prod_name
CHAR(255) NOT NULL ,
prod_price
DECIMAL(8,2) NOT NULL ,
prod_desc
TEXT NULL ,
PRIMARY KEY(prod_id
)
) ENGINE=INNODB;
CREATE TABLE customers
(
cust_id
INT NOT NULL AUTO_INCREMENT,
cust_name
CHAR(50) NOT NULL ,
cust_address
CHAR(50) NULL ,
cust_city
CHAR(50) NULL ,
cust_state
CHAR(5) NULL ,
cust_zip
CHAR(10) NULL ,
cust_country
CHAR(50) NULL ,
cust_contact
CHAR(50) NULL ,
cust_email
CHAR(255) NULL ,
PRIMARY KEY (cust_id
)
) ENGINE=INNODB;
CREATE TABLE orders
(
order_num
INT NOT NULL AUTO_INCREMENT,
order_date
DATETIME NOT NULL ,
cust_id
INT NOT NULL ,
PRIMARY KEY (order_num
)
) ENGINE=INNODB;
CREATE TABLE orderitems
(
order_num
INT NOT NULL ,
order_item
INT NOT NULL ,
prod_id
CHAR(10) NOT NULL ,
quantity
INT NOT NULL ,
item_price
DECIMAL(8,2) NOT NULL ,
PRIMARY KEY (order_num
, order_item
)
) ENGINE=INNODB;
CREATE TABLE productnotes
(
note_id
INT NOT NULL AUTO_INCREMENT,
prod_id
CHAR(10) NOT NULL,
note_date
DATETIME NOT NULL,
note_text
TEXT NULL ,
PRIMARY KEY(note_id
),
FULLTEXT
(note_text
)
) ENGINE=MYISAM
;
ALTER TABLE orderitems
ADD CONSTRAINT fk_orderitems_orders_1
FOREIGN KEY (order_num
) REFERENCES orders
(order_num
) ;
ALTER TABLE orderitems
ADD CONSTRAINT fk_orderitems_products_1
FOREIGN KEY (prod_id
) REFERENCES products
(prod_id
) ;
ALTER TABLE orders
ADD CONSTRAINT fk_orders_customers_1
FOREIGN KEY (cust_id
) REFERENCES customers
(cust_id
) ;
ALTER TABLE products
ADD CONSTRAINT fk_products_vendors_1
FOREIGN KEY (vend_id
) REFERENCES vendors
(vend_id
)