2015-02-14 3 views
0

У нас есть две таблицы ManagementPlan, в которых указывается, какой тип модели продукта должен использоваться. Основываясь на этом номере модели, конкретный продукт такого типа назначается пациенту во время сеанса терапии. Как мы можем моделировать отношение многих факторов между таблица товаров и ManagementPlan столКак смоделировать это отношение много-много в базе данных?

MangamentPlan(
    PlanID(PK), 
    DiagnosisID(FK), 
    PhysicianID(FK), 
    PMCModelID, 
    Objective, 
    Description, 
    DateTime 
) 

Product(
    PMCProductID(PK), 
    ManuProductID(FK), 
    ManufacturerID(FK), 
    PMCModelID, 
    Manufacturer model, 
    Features description, 
    PurchaseDate, 
    Storage Location 
) 

ответ

1

Добавить распределительную таблицу:

ManagementPlanProduct(PlanID(PK, FK(ManagementPlan)), PMCProductID(PK, FK(Product))) 
0

вам нужна таблица Junction

ManagementPlanProduct (
    PlanID (PK, FK) 
    PMCProductID (PK, FK) 
) 
CREATE TABLE ManagementPlanProduct (
    PlanID int NOT NULL, 
    PMCProductID int NOT NULL, 
    CONSTRAINT PK_mpp PRIMARY KEY CLUSTERED (PlanID, PMCProductID) 
); 

ALTER TABLE ManagementPlanProduct 
ADD CONSTRAINT FK_mpp_mp 
FOREIGN KEY (PlanID) REFERENCES ManagementPlan (PlanID) 
ON DELETE CASCADE; 

ALTER TABLE ManagementPlanProduct 
ADD CONSTRAINT FK_mpp_p 
FOREIGN KEY (PMCProductID) REFERENCES Product (PMCProductID) 
ON DELETE CASCADE; 

Вы также можете добавить другие столбцы в таблицу соединений, например количество, дату, порядок сортировки и т. Д.