表连接关系 主键,外键,一对一,一对多.多对多

建表代码:

分页操作:使用limit(参数1,参数2)
	起始位置(参数1)=(第几页-1)*每页显示的条数(参数2)
	
1.分类表
create table category(
	cid varchar(32) primary key,
	cname varchar(100)
);


2.商品表
create table product(
	pid varchar(32) primary key,
	pname varchar(40),
	price double,
	category_id varchar(32)
);

alter table product add foreign key(category_id) references category(cid);
-- 绑定主键和外键关系
alter table product drop foreign key (category_id)
-- 解除主键和外键关系 

3.添加外键列
alter table product add category_id varchar(32);

4.添加约束
alter table product add constraint product_fk foreign key(category_id) references category(cid);

5.订单表
create table orders(
	oid varchar(32) primary key,
	totalprice double
);

6.订单项表
create table orderitem(
	oid varchar(50),
	pid varchar(50)
);

7.联合主键
alter table orderitem add primary key(oid,pid);

8.订单表和订单项表的主外键关系
alter table orderitem add constraint orderitem_orders_fk foreign key(oid) references orders(oid);

9.商品表和订单项表的主外键关系
alter table orderitem add constraint orderitem_product_fk foreign key(pid) references product(pid);



insert into category(cid,cname) values('c001','家电');
insert into category(cid,cname) values('c002','服饰');
insert into category(cid,cname) values('c003','化妆品');

insert into product(pid,pname,price,category_id) values('p001','联想','5000','c001');
insert into product(pid,pname,price,category_id) values('p002','海尔','5000','c001');
insert into product(pid,pname,price,category_id) values('p003','雷神','5000','c001');

insert into product(pid,pname,price,category_id) values('p004','JACK JONES','800','c002');
insert into product(pid,pname,price,category_id) values('p005','真维斯','200','c002');
insert into product(pid,pname,price,category_id) values('p006','花花公子','440','c002');
insert into product(pid,pname,price,category_id) values('p007','劲霸','2000','c002');

insert into product(pid,pname,price,category_id) values('p008','香奈儿','800','c003');
insert into product(pid,pname,price,category_id) values('p009','相宜本草','200','c003');



声明外键约束
1.从orderitem到product的关系
alter table orderitem add foreign key(pid) references product(pid);

2.从orderitem到orders的关系

  

添加外键约束:

alter table 从表 add constraint [外键名称字段]_fk foreign key(从表外键字段) references 主表(主表主键字段);

[外键名称] 用于删除外键约束,一般以_fk结尾

alter table 从表drop foreign key [外键名称]  

 

主要作用:保障数据的完整性.  不删除从表内容,主表不能删除.

 

 

 

 

表与表之间的关系

 

1.一对多关系:

原则:从表,多方的那个   外键字段    指向   主表  的  主键

2.多对多关系:

原则:  最少需要两个表.....需要创建第三个表   ,新创建的表为另外两个表主键.(这俩个表,分别作为外键指向各自一方的主键)

.....\\\\\\\拍不明白版了..

 

 

 

 

 

 

 

 

 

posted @ 2017-12-12 23:28  百里丶落云  阅读(...)  评论(...编辑  收藏