数据库的约束

一对一{

一个人对应一个身份证,一个身份证对应一个人

}

一对多

{

一个部门对应多个员工,多个员工对应一个部门

}

多对多{对方都是多种状态可以自由的选择}

约束:

什么是外键约束??

建表的例子

根据餐台表与菜品表设计出点餐表

数据库相关问题
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) N
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值