我有User
,Company
和Product
,想要定义这三者之间的关系。
公司
用户
(许多用户可以为公司工作。)
产品
(公司可以拥有1个或更多产品)
如何定义User
和Product
之间的关系,以便User A
和User B
只有Product A
User C
才能访问Product B
只能访问Product C
和public void p1Start(View a)
{
if(flag==0) {
p2.setTextColor(Color.parseColor("#ffffff"));
p2.setBackgroundColor(Color.parseColor("#00bcd4"));
p1.setTextColor(Color.parseColor("#3f51b5"));
p1.setBackgroundColor(Color.parseColor("#303F9F"));
reverseTimer(300-1, p2);
cd2.start();
cd1.cancel();
flag=1;
}
}
public void p2Start(View b)
{
if(flag==1) {
p1.setTextColor(Color.parseColor("#ffffff"));
p1.setBackgroundColor(Color.parseColor("#00bcd4"));
p2.setTextColor(Color.parseColor("#3f51b5"));
p2.setBackgroundColor(Color.parseColor("#303F9F"));
reverseTimer(300-1, p1);
cd1.start();
cd2.cancel();
flag=0;
}
}
public void reverseTimer(long Seconds, final TextView tv){
cd1 = new CountDownTimer(Seconds* 1000+1000, 1000) {
public void onTick(long millisUntilFinished) {
s1=millisUntilFinished/1000;
int seconds = (int) (millisUntilFinished / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
tv.setText("" + String.format("%02d", minutes)
+ ":" + String.format("%02d", seconds));
}
public void onFinish() {
tv.setText("Completed");
}
};
cd2 = new CountDownTimer(Seconds* 1000+1000, 1000) {
public void onTick(long millisUntilFinished) {
s2=millisUntilFinished/1000;
int seconds = (int) (millisUntilFinished / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
tv.setText("" + String.format("%02d", minutes)
+ ":" + String.format("%02d", seconds));
}
public void onFinish() {
tv.setText("Completed");
}
};
}
?
许多用户可以处理许多产品 - 但所有用户只能将一个公司附加到产品上
答案 0 :(得分:0)
使用company_id (这是公司表的主键) 作为用户和产品表中的外键。然后使用join来关联此键的基础上的两个表。
select user.usernamer, product.productname from user as u join product as p on u.company_id = p.company_id