我如何为给定的多个相关类创建表? [英] How i can make tables for the given many to many related classes ?

查看:76
本文介绍了我如何为给定的多个相关类创建表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有三个班级的情景。我打算为它建立数据库。它们之间的关系是:

1客户与许多物品和许多dv-vouchers相关。 br />
1项与许多客户和许多dv-vouchers相关。

1 dv-vouchers与1位顾客和许多物品有关。

< pre lang =xml> public Customer
{
int cust_id;
list < items > items;
list < dvouchers > dvouchers;
}
公共项目
{
int itm_id;
list < 客户 > 客户;
list < dvouchers > dvouchers;
}
public dvouchers
{
int dv_id;
客户客户;
list < items > items;
}



首先,上述类的数据库表的设计以及fk_constraints和关系表是什么?

Second我是否需要同时执行插入和更新db表中的关系表?请帮助。

解决方案

足够简单。

第二个问题的答案是肯定的。

  CREATE   TABLE  customers(
CustomerID NUMBER( 8

/

ALTER TABLE 客户 ADD CONSTRAINT customers_pk PRIMARY KEY (CustomerID)
/

CREATE TABLE 项目(
ItemID NUMBER( 8

/
ALTER TABLE ADD CONSTRAINT Items_pk PRIMARY KEY (CustomerID)
/

创建 TABLE dvouchers(
DVoucherID NUMBER( 8 ),
CustomerID NUMBER( 8

/
ALTER dvouchers ADD CONSTRAINT dvouchers_pk PRIMARY KEY (CustomerID)
/

ALTER TABLE dvouchers
ADD CONSTRAINT dvouchers_Customers_FK FOREIGN KEY
CustomerID
REFERENCES 客户(
CustomerID

/

CREATE TABLE CustomerItems(
CustomerID NUMBER( 8 ),
ItemID NUMBER( 8

/

ALTER TABLE CustomerItems
ADD CONSTRAINT CustomerItems_pk PRIMARY < span class =code-keyword> KEY (
CustomerID,
ItemID

/

ALTER CustomerItems
ADD CONSTRAINT CustomerItems_Customer_FK FOREIGN KEY
CustomerID
REFERENCES 客户(
CustomerID

/

ALTER TABLE CustomerItems
ADD CONSTRAINT CustomerItems_Items_FK < span class =code-keyword> FOREIGN KEY
ItemID
参考项目(
ItemID

/

CREATE TABLE dvoucherItems(
dvoucherID NUMBER( 8 ),
ItemID NUMBER( 8

/

ALTER TABLE dvoucherItems
ADD CONSTRAINT dvoucherItems_pk PRIMARY KEY
dvoucherID,
ItemID

/

ALTER TABLE dvoucherItems
ADD CONSTRAINT dvoucherItems_dvouchers_FK FOREIGN KEY
dvoucherID
REFERENCES dvouchers(
dvoucherID

/

ALTER dvoucherItems
ADD CONSTRAINT dvoucherItems_Items_FK FOREIGN KEY
ItemID
REFERENCES 项目(
ItemID

/


I have a scenario of of three classes .I am planning to make the database for it .The relationship between them is :
1 customer is related with many items and many dv-vouchers.
1 item is related with many customer and many dv-vouchers.
1 dv-vouchers is related with 1 customer and many items .

public Customer
 {
int cust_id;
list<items> items;
list<dvouchers> dvouchers;
 }
public items
 {
int itm_id;
list<Customer>  customers;
list<dvouchers>  dvouchers;
 }
public dvouchers
 {
int dv_id;
Customer customer;
list<items> items;
 }


First of all what can be the design of database tables for above classes along with fk_constraints and relationship tables ?
Second Do I need to do both an Insert and Update the relationship tables along db table ? Please Help .

解决方案

Simple enough.
The answer to your second question is Yes.

CREATE TABLE customers (
    CustomerID NUMBER(8)
    )
/

ALTER TABLE customers ADD CONSTRAINT customers_pk PRIMARY KEY (CustomerID)
/

CREATE TABLE Items (
    ItemID NUMBER(8)
    )
/
ALTER TABLE Items ADD CONSTRAINT Items_pk PRIMARY KEY (CustomerID)
/

CREATE TABLE dvouchers (
    DVoucherID NUMBER(8),
    CustomerID NUMBER(8)
    )
/
ALTER TABLE dvouchers ADD CONSTRAINT dvouchers_pk PRIMARY KEY (CustomerID)
/

ALTER TABLE dvouchers
  ADD CONSTRAINT dvouchers_Customers_FK FOREIGN KEY (
    CustomerID
  ) REFERENCES Customers (
    CustomerID
  )
/

CREATE TABLE CustomerItems (
    CustomerID NUMBER(8),
    ItemID NUMBER(8)
    )
/

ALTER TABLE CustomerItems 
    ADD CONSTRAINT CustomerItems_pk PRIMARY KEY (
        CustomerID,
        ItemID
        )
/

ALTER TABLE CustomerItems
  ADD CONSTRAINT CustomerItems_Customer_FK FOREIGN KEY (
    CustomerID
  ) REFERENCES Customers (
    CustomerID
  )
/

ALTER TABLE CustomerItems
  ADD CONSTRAINT CustomerItems_Items_FK FOREIGN KEY (
    ItemID
  ) REFERENCES Items (
    ItemID
  )
/

CREATE TABLE dvoucherItems (
    dvoucherID NUMBER(8),
    ItemID NUMBER(8)
    )
/

ALTER TABLE dvoucherItems 
    ADD CONSTRAINT dvoucherItems_pk PRIMARY KEY (
        dvoucherID,
        ItemID
        )
/

ALTER TABLE dvoucherItems
  ADD CONSTRAINT dvoucherItems_dvouchers_FK FOREIGN KEY (
    dvoucherID
  ) REFERENCES dvouchers (
    dvoucherID
  )
/

ALTER TABLE dvoucherItems
  ADD CONSTRAINT dvoucherItems_Items_FK FOREIGN KEY (
    ItemID
  ) REFERENCES Items (
    ItemID
  )
/


这篇关于我如何为给定的多个相关类创建表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆