请教数据库如何建立多对多关系

转载 2016年05月31日 13:48:31

请教数据库如何建立多对多关系(最好以mysql为例)


请问数据库怎么建立多对多关系(最好以mysql为例)
我建立了两张表:
create table custom( #顾客表
id int(10) primary key auto_increment,
name varchar(20)
);

create table shop( #商品表
id int(10) primary key auto_increment,
price double(10,2),
name varchar(20),
counts int(10),
buydate date,
saledate date,
customid int(10) references custom(id)
);
我想把这两个表相关联,实现这样的功能:
输入顾客的信息,就可以查看其购买的所有商品的名字,
输入商品信息,就可以查看购买该商品的所有顾客的名字。
请问该怎么修改上面的表?

------解决方案--------------------
create table custom( #顾客表
id int(10) primary key auto_increment,
name varchar(20)
);

create table shop( #商品表
id int(10) primary key auto_increment,
price double(10,2),
name varchar(20),
counts int(10),
buydate date

);


create table saleOrders (
so int primary key auto_increment,
saledate date,
price decimal(10,2),
customid int(10) references custom(id)
)

相关文章推荐

数据库一对一、一对多、多对多设计

做一个项目,必然是少不了数据库设计的!在学习阶段,基本都是单表。然而在实际开发过程中,一对多,多对多的表处处都是!简单整理一下,一对多,多对多表如何设计整理一下思路:        数据库实体间...

JDBC上关于数据库中多表操作一对多关系和多对多关系的实现方法

我们知道,在设计一个JAVA bean的时候,要把这些BEAN 的数据存放在数据库中的表结构,然而这些数据库中的表直接又有些特殊的关系,例如员工与部门直接有一对多的关系,学生与老师直接又多对多的关系,...

MySQL数据库通过navicat建立多对多关系

** 目的: ** 构建两张表的多对多关系:清洗数据表(clean_data表)与用户表(user表)建立多对多的关系。如下图图0所示 图0 多对多之间关系1 创建表.打开navicat,...

数据库实体间一对多(多对一)、多对多关系处理

原文:http://www.cnblogs.com/langtianya/archive/2013/03/11/2954832.html 数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一...

MySql二(多表关系和操作)

1、多表关系多表关系1、一对多/多对一: 在多的一方加入另一方的外键2、多对多: 使用中间表,分别引用两方的ID 如下图:学生s1有两个老师,而老师t1,有两个学生t1,t2对应关系如下 3、一...

MySQL第四天---多表操作(1对1、1对多、多对多)

※多表操作 (凡是多表,都要用到关联技术(把多表合并成一个新表): 左关联、右关联、内关联。还有一个外(全)关联,MySQL不支持,为考虑软件兼容,我们开发一般不用。) ※表与表之间的关系:1对1,1...

mysql数据库设计-多对多

数据库设计多对多关系的几种形态 前言:多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做关系表,另外一个叫做字典表或者副表(字典表是纪录比较少,而且基本稳定的,例如:版块名称;副表是内容比较...
  • wconvey
  • wconvey
  • 2015年01月12日 21:14
  • 3546

数据库中表关系(一对多,多对多,一对一)

一对多关系 一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间...

(四)多对多模式

连载之5原创:胖子刘(转载请注明出处及作者,谢谢。)(四)多对多模式多对多模式,也是比较常见的一种数据库设计模式,它所描述的两个对象不分主次、地位对等、互为一对多的关系。对于A表来说,一条记录对应着B...
  • liu7537
  • liu7537
  • 2006年04月10日 12:47
  • 24552

SQL 数据库 学习 011 关系、一对一、一对多、多对多

我的电脑系统:Windows 10 64位 SQL Server 软件版本: SQL Server 2014 Express 什么是关系定义: 表和表之间的联系。 实现方式: 通过设置不同形式的外键...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:请教数据库如何建立多对多关系
举报原因:
原因补充:

(最多只允许输入30个字)