多表关系案例

多表关系案例

image

准备表

-- 创建旅游线路分类表 table_category
-- cid 旅游路线分类主键,自动增长
-- cname旅游路线分类名称非空,唯一,字符串100
create table tab_category(
cid int primary key auto_increment,
cname varchar(100) not null unique
);



/*
rid 旅游路线主键,自动增长
rname 旅游路线名称非空,唯一,字符串100
price 价格
rdate 上架时间,日期类型
cid 外键,所属分类
*/
create table tab_route(
rid int primary key auto_increment,
rname varchar(100) not null unique,
price double,
rdate date,
cid int,
foreign key (cid) references  tab_category (cid)
);


/*
创建用户表 tab_user
uid 用户主键,自增长
username 用户名长度100,唯一非空
password密码长度30 非空
name真实姓名长度100
birthday生日
sex性别,定长字符串1
telephone 手机号 字符串 11
email 邮箱 字符串 长度100
*/
create table tab_user(
uid int primary key auto_increment,
username varchar(100) unique not null,
password varchar(30) not null,
name varchar(100),
birthday date,
sex char(1) default '女',
telephone varchar(11),
email varchar(100)
);

/*
创建收藏表 table_favorite
rid 旅游路线id,外键
date 收藏时间
uid 用户id 外键
rid和uid不能重复设置复合主键,同一个用户不能收藏同一个线路两次
*/
create table tab_favorite(
rid int,
date datetime,
uid int,
-- 创建复合主键
primary key(rid,uid),
foreign key (rid) references tab_route (rid),
foreign key (uid) references tab_user (uid)
);

image

posted @ 2022-07-26 13:12  我滴妈老弟  阅读(35)  评论(0编辑  收藏  举报