(a) 1 : n , both entities mandatory (b) 1 : n , one entity mandatory, one entity optional Every structural element belongs to exactly one fractional project, and each fractional project has at least one structural element Each fractional project is evaluated in one or more related file. A given quality-related file may not necessarily belong to a fractional project Create table fractionalproject Create table fractionalproject (F_BranchWorkID char(2), (F_BranchWorkID char(2), F_BranchWorkName varchar(12), F_BranchWorkName varchar(12), F_ConstructionU varchar(40), F_ConstructionU varchar(40), F_ConstructureQS decimal(4,2), F_ConstructureQS decimal(4,2), Primary key (F_BranchWorkID)); Primary key (F_BranchWorkID)); Create table IFCelement Create table relatedfiles (F_ComponentID Varchar(100), (F_DocumentID char(7), F_ComponentName varchar(20), F_DocumentName varchar(40), F_ComponentDetail varchar(20), F_CreateTime date(), F_BranchWorkID char(2) not null, F_BranchWorkID char(2), F_IndicatorID Char(6), F_StoragePath varchar(40), F_IndicatorName varchar(20), Primary key (F_DocumentID), F_EvaluationSR varchar(200), Foreign key (F_BranchWorkID) references fractionalproject F_EvaluationResult varchar(5), Primary key (F_ComponentID, F_IndicatorID); On delete set default on update cascade); Foreign key ((F_BranchWorkID) references fractionalproject On delete set default on update cascade), (c) m : n , one entity mandatory, one entity optional (d) m : n , both entities mandatory Each evaluation property attached in IFC elements is applied in one or more quality-related files. A given quality-related file may not necessarily include a structural element with quality attributes Each structural element is evaluated in one or more inspection lot. And one inspection lot consists of one or more structural elements Create table IFCelement Create table Inpectionlot (F_ComponentID Varchar(100), (F_InspectionLotID char(14), F_ComponentName varchar(20), F_InspectionLotName varchar(20), F_ComponentDetail varchar(20), F_ConstituentPID char(2), F_BranchWorkID char(2), F_InspectionLotDate date(), F_IndicatorID Char(6), F_InspectionLotAD date(), F_IndicatorName varchar(20), F_InspectionLotS varchar(50), F_EvaluationSR varchar(200), F_InspectionLotIR varchar(100), F_EvaluationResult varchar(5), F_InspectionLot SU varchar(100), Primary key (F_ComponentID, F_IndicatorID); Primary key (F_InspectionLotID); Create table relatedfiles Create table IFCelement (F_DocumentID char(7), (F_ComponentID Varchar(100), F_DocumentName varchar(40), F_ComponentName varchar(20), F_CreateTime date(), F_ComponentDetail varchar(20), F_BranchWorkID char(2), F_BranchWorkID char(2), F_StoragePath varchar(40), F_IndicatorID Char(6), Primary key (F_DocumentID), F_IndicatorName varchar(20), Create table associate4 F_EvaluationSR varchar(200), (F_DocumentID char(7), F_EvaluationResult varchar(5), F_ComponentID Varchar(100), Primary key (F_ComponentID, F_IndicatorID); F_IndicatorID Char(6), Create table evaluate Primary key (F_DocumentID, F_ComponentID, F_IndicatorID); (F_ComponentID Varchar(100) not null, F_IndicatorID Char(6), Foreign key (F_DocumentID) references relatedfiles on delete set default on update cascade), F_InspectionLotID char(14), Foreign key (F_ComponentID, F_IndicatorID) references IFCelement (F_ComponentID, F_IndicatorID) on delete set default on update cascade); Primary key (F_InspectionLotID, F_ComponentID, F_IndicatorID), Foreign key (F_InspectionLotID) references Inspectionlot on delete set default on update cascade), Foreign key (F_ComponentID, F_IndicatorID) references IFCelement (F_ComponentID, F_IndicatorID) on delete set default on update cascade);