我刚刚开始学习数据库,我很困惑使用一对多与多对多的关系.
所以我想出了一个关于顾客和食物之间关系的简单例子.客户订购食物.

1)如果我使用一对多关系,我会说客户可以订购许多食物.

基于上图,
1)bob orders noodles and rice
2)jane orders noodles and crab
Run Code Online (Sandbox Code Playgroud)
1)如果我使用多对多关系,我会说许多客户可以订购许多食物.

1)bob orders noodles and rice
2)jane orders noodles and crab
Run Code Online (Sandbox Code Playgroud)
我一直认为它是同样的事情.
bob still orders noodles and rice
and
jane still orders noodles and crab
Run Code Online (Sandbox Code Playgroud)
无论我是使用一对多,还是多对多关系.如果我错了,请纠正我.
我有一个包含一年的矢量
Jan2013 Jan2013 Jan2013 Jan2014 Jan2014 Jan2014 Jan2014 Feb2014 Feb2014
基本上我想要做的是搜索向量,对于每个相同的记录,将它们组合在一起,例如
total count for Jan2013 = 3;
total count for Jan2014 = 4;
total count for Feb2014 = 2;
Run Code Online (Sandbox Code Playgroud)
当然,正如我们所知,我们可以简单地编写多个if来解决它
if(monthyear = "Jan2013") {
//add count
}
if(monthyear = "Jan2014") {
//add count
}
if(monthyear = "Feb2014") {
//add count
}
Run Code Online (Sandbox Code Playgroud)
但是程序员不会以这种方式编写代码.如果2014年3月,2014年4月,2014年5月到2015年1月和2015年1月至2015年15月还有额外的月份.
从长远来看,我不认为我应该采用这种硬编码方法,并寻找更具动态性的方法.
我不是要求代码,而只是一些步骤,或许可以给我一些关于我应该研究什么样的c ++方法的提示.
提前致谢