一对一{
一个人对应一个身份证,一个身份证对应一个人
}
一对多
{
一个部门对应多个员工,多个员工对应一个部门
}
多对多{对方都是多种状态可以自由的选择}
约束:
什么是外键约束??
建表的例子
根据餐台表与菜品表设计出点餐表
数据库相关问题
1.已有餐台表,(字段如下)先需要实现点餐的业务,请设计出点餐的表结构。t_table(餐台表):id ,table_no(桌号)
t_menu(菜品表),id ,name (菜品名称),price(价格)
create tablet_table{
id int not null auto_increment,
table_no int(10) not null default 0 comment '桌号',
menu_id int(10)not null default 0 comment '菜品单id',
create_time time default 0 not null,
update_time time default 0 not null,
primary key('id'),
unique key 'unique_index_table_no' ('table_no'),
key 'index_table_no_menu_id' ('table_no','menu_id')
} comment'餐台表'
create table t_menu{
id int not null auto_increment,
menu_no int(10)not null comment '菜品表号',
status tinyint not null default'0' comment '菜单表的状态',
create_time time not null,
update_time time not null,
primary key('id'),
unique key 'unique_index_menu_no' ('menu_no'),
} comment'菜品表'
create table t_order{
id int not null auto_increment,
table_id int(10)not null default 0 comment '桌号id',
menu_id int(10)not null default 0 comment '菜品表号id',
status tinyint not null default'0' comment '订单的状态',
create_time time not null default 0 ,
update_time time not null default 0 ,
primary key('id'),
unique key 'unique_index_table_id' ('table_id'),
unique key 'unique_index_table_id' ('table_id'),
key 'index_table_no_menu_id' ('table_no','menu_id')
}
电商数据库建表
-- 地址
CREATE TABLE `tb_address` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`user_id` VARCHAR(50) DEFAULT NULL COMMENT '用户ID',
`province_id` VARCHAR(10) DEFAULT NULL COMMENT '省',
`city_id` VARCHAR(10) DEFAULT NULL COMMENT '市',
`town_id` VARCHAR(10) DEFAULT NULL COMMENT '县/区',
`mobile` VARCHAR(255) DEFAULT NULL COMMENT '手机',
`address` VARCHAR(255) DEFAULT NULL COMMENT '详细地址',
`contact` VARCHAR(255) DEFAULT NULL COMMENT '联系人',
`is_default` VARCHAR(1) DEFAULT NULL COMMENT '是否是默认 1默认 0否',
`notes` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`create_date` DATETIME DEFAULT NULL COMMENT '创建日期',
`alias` VARCHAR(50) DEFAULT NULL COMMENT '别名',
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8 COMMENT='地址表';
CREATE TABLE `tb_areas` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '唯一ID',
`areaid` VARCHAR(20) NOT NULL COMMENT '区域ID',
`area` VARCHAR(50) NOT NULL COMMENT '区域名称',
`cityid` VARCHAR(20) NOT NULL COMMENT '城市ID',
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=3145 DEFAULT CHARSET=utf8 COMMENT='行政区域县区信息表';
CREATE TABLE `tb_cities` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '唯一ID',
`cityid` VARCHAR(20) NOT NULL COMMENT '城市ID',
`city` VARCHAR(50) NOT NULL COMMENT '城市名称',
`provinceid` VARCHAR(20) NOT NULL COMMENT '省份ID',
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=346 DEFAULT CHARSET=utf8 COMMENT='行政区域地州市信息表';
CREATE T