একাধিক বহু-বহু সম্পর্কের সাথে একটি ভিডিও গেম ব্যবসায় ডোমেনের জন্য একটি ডেটাবেস ডিজাইন করা


16

আমি ডাটাবেস ডিজাইনে তুলনামূলকভাবে নতুন এবং আমি অনুশীলনের জন্য আমার নিজস্ব অনুমানমূলক ডেটাবেস তৈরি করার সিদ্ধান্ত নিয়েছি। যাইহোক, আমি মডেলিং এবং এটি স্বাভাবিক করতে সমস্যা বোধ করছি, কারণ আমি শ্রদ্ধা করি যে অনেকগুলি থেকে বহু (এম: এন) সম্পর্ক রয়েছে।

সাধারণ দৃশ্যের বর্ণনা

ডাটাবেসটির অর্থ জেলদা সিরিজটিতে কাজ করা বিভিন্ন লোকের ডেটা ধরে রাখা । আমি ট্র্যাক রাখতে চান কনসোল (গুলি) করে একটি খেলা খেলা করা যেতে পারে, এমপ্লয়িজ যে অংশ ছিল গেম উন্নয়ন, চাকরি কর্মচারী ছিল (অনেক এমপ্লয়িজ বিভিন্ন কাজ জবস একাধিক জুড়ে গেম , ইত্যাদি)

ব্যবসার নীতি

  • একাধিক কর্মচারী একাধিক গেমসে কাজ করতে পারে ।
  • একাধিক গেম একই কনসোলে থাকতে পারে ।
  • একাধিক কনসোল একই গেমের জন্য প্ল্যাটফর্ম হতে পারে ।
  • একাধিক কর্মচারীর একই কাজ থাকতে পারে
  • একজন কর্মীর একাধিক কাজ থাকতে পারে
  • একটি গেমের একাধিক কর্মচারী থাকতে পারে
  • একটি গেমের একাধিক ধরণের কাজ থাকতে পারে বিকাশে পারে
  • একাধিক গেমসে একই ধরণের কাজ থাকতে পারে যুক্ত থাকতে পারে।
  • একটি কনসোলে একাধিক লোক থাকতে পারে কাজ করতে পারে।
  • একজন ব্যক্তি একাধিক কনসোলে কাজ করতে পারে ।

নাম এবং নমুনার মানগুলিকে বৈশিষ্ট্যযুক্ত করুন

  • কর্মচারীর নাম , যা প্রথম এবং শেষভাগে বিভক্ত হতে পারে (উদাহরণস্বরূপ "জন" এবং "ডো")
  • গেমের শিরোনাম (উদাহরণস্বরূপ "সময়ের ওচারিনা")
  • কাজের শিরোনাম (উদাহরণস্বরূপ "স্তর নকশা", "পরিচালক", "কমপোজার", "স্তর ডিজাইনার", "প্রোগ্রামার", "স্থানীয়করণ", ইত্যাদি)।
  • কনসোলের নাম (উদাহরণস্বরূপ "গেম বয় অ্যাডভান্স")

সমস্যাটি

এখনও অবধি, মনে হয় না যে আমি ডিজাইন করেছি তাতে কীভাবে ডেটা রিডানড্যানসিস এবং এম: এন রয়েছে যাবতীয় জায়গায় সত্তার ধরণের আগ্রহের মধ্যে সম্পর্ক রয়েছে। তবে আমি অনুভব করি যে ডেটাবেস ডিজাইনারদের অবশ্যই এই ধরণের সমস্যাটি সর্বদা চালানো উচিত, সুতরাং অবশ্যই একটি সমাধান হতে হবে।


দ্রষ্টব্য : আমি টেবিলটি পূরণ করার জন্য ডেটাটি ভালভাবে খুঁজে পেতে সক্ষম হয়েছি , সমস্যাটি এটিকে একটি সাধারণ আকারে টেবিলগুলি সহ একটি ডাটাবেসে সংগঠিত করছে।


উত্তর:


18

হ্যাঁ, বহু-থেকে-বহু (এম: এন ব্রেভিটির জন্য) সমিতি বা সম্পর্কের সনাক্তকরণ এমন একটি পরিস্থিতি যা একটি ডেটাবেস অনুশীলনকারী একটি ধারণাগত স্কিমা দেওয়ার সময় বেশ সাধারণভাবে মুখোমুখি হন। বলা হয়েছে কার্ডিনালিটি অনুপাতের সমিতিগুলি খুব আলাদা প্রকৃতির ব্যবসায়িক পরিবেশে আসে এবং যখন যৌক্তিক স্তরে যথাযথভাবে উপস্থাপন করা হয়, যেমন একটি এসকিউএল-ডিডিএল ব্যবস্থা, তারা ক্ষতিকারক অপ্রয়োজনীয় প্রবর্তন করে না

এইভাবে, একটি ডাটাবেস মডেলিং অনুশীলনের উদ্দেশ্যটি উচ্চ নির্ভুলতার সাথে আগ্রহের ব্যবসায়িক প্রসঙ্গে প্রাসঙ্গিক বৈশিষ্ট্যগুলি আয়না করা উচিত ; অতএব, আপনি যদি সঠিকভাবে সনাক্ত করেন যে সেখানে অসংখ্য এম: এন সমিতি রয়েছে, তবে আপনাকে অবশ্যই এগুলি (ক) ধারণাগত স্কিমাতে এবং (খ) সংশ্লিষ্ট যৌক্তিক-স্তরের ঘোষণায় অবশ্যই প্রকাশ করতে হবে that বা এর যে কোনও সংযোগই হোক না কেন any অন্যান্য ধরণের কার্ডিনালিটির অনুপাতকে সম্বোধন করতে হবে।

ব্যবসার নীতি

আপনি একটি প্রাসঙ্গিক প্রশ্ন সরবরাহ করেছেন, এবং এটিও স্পষ্ট করে দিয়েছেন যে আপনি যে ডাটাবেসে কাজ করছেন তা খাঁটি অনুমানমূলক, যা আমি মনে করি যে বিবেচনাধীন ব্যক্তির মতো একটি "সত্যিকারের বিশ্ব" ব্যবসায়ের পরিস্থিতি আরও ব্যাপক হবে es এবং, অতএব আরও জটিল তথ্যের প্রয়োজনীয়তা বোঝায়।

আমি সিদ্ধান্ত নিয়েছি (1) আপনি যে বিধিগুলি প্রদান করেছেন তার বিধিগুলিতে কয়েকটি পরিবর্তন এবং বিস্তৃতি করার সিদ্ধান্ত নিয়েছে (২) আরও বর্ণনামূলক ধারণামূলক স্কিমা উত্পাদন করার জন্য - যা যথেষ্ট বরং অনুমানমূলক — আমি একত্রিত কিছু সূত্র এখানে:

  • একটি পার্টি 1 হয় ব্যক্তি বা একটি সংস্থা is
  • একটি পার্টি ঠিক-ওয়ান পার্টিটাইপ দ্বারা শ্রেণিবদ্ধ করা হয়
  • একজন PartyType শ্রেণী জিরো-ওয়ান বা অধিকের দল
  • একটি সংস্থা শূন্যের এক বা একাধিক পণ্য বিকাশ করে
  • একটি পণ্য হয় সিস্টেম বা গেম
  • একটি পণ্য ঠিক এক পণ্য টাইপ দ্বারা শ্রেণীবদ্ধ করা হয়
  • একটি সিস্টেম হ'ল এক- সিস্টেম সিস্টেম দ্বারা টাইপ করা হয়
  • এক থেকে একাধিক সিস্টেমের মাধ্যমে একটি গেম খেলতে পারে
  • এক থেকে একাধিক গেম খেলতে একটি সিস্টেম ব্যবহৃত হয়
  • একটি গেম শূন্য-এক-বা একাধিক জেনার দ্বারা শ্রেণিবদ্ধ করা হয়
  • একজন জেনার শ্রেণী জিরো-ওয়ান বা অধিকের গেম
  • একটি পণ্য এক থেকে বহু জবসের উত্স উত্পন্ন করে
  • একটি জব শূন্য-এক-বা বহু লোকের দ্বারা পূর্ণ হয় , যারা সহযোগীদের ভূমিকা পালন করে
  • একজন ব্যক্তি একটি হল সহযোগী শূন্য এক-অর-অনেক চাকরি

1 পার্টি হ'ল শব্দটি আইনী প্রসঙ্গে ব্যবহৃত হয় যখন কোনও ব্যক্তি বা একটি গোষ্ঠী একক সত্তা রচনা করে এমন ব্যক্তিদের একটি গ্রুপের কথা উল্লেখ করে, তাই এই সম্প্রদায়টি জনগণ এবং সংস্থার প্রতিনিধিত্ব করার জন্য উপযুক্ত ।


IDEF1X ডায়াগ্রাম

এরপরে, আমি চিত্র 1 এ দেখানো IDEF1X 2 চিত্রটি তৈরি করেছি (এটি একটি উচ্চতর রেজোলিউশনে দেখতে লিঙ্কটি ক্লিক করার বিষয়টি নিশ্চিত করুন), উপরের উপস্থাপিত ব্যবসায়ের বিধিগুলি (প্রাসঙ্গিক বলে মনে হয় এমন কিছু লোকের সাথে) একটি একক গ্রাফিকাল ডিভাইসে সংহত করে:

চিত্র 1 - ভিডিও গায়ে জবস আইডিইএফ 1 এক্স ডায়াগ্রাম


2 তথ্য মডেলিং জন্য ইন্টিগ্রেশন সংজ্ঞা ( IDEF1X ) একটি অত্যন্ত সুপারিশের ডেটা মডেলিং পন্থা যা একটি প্রতিষ্ঠিত হয়েছিল মান যুক্তরাষ্ট্র ডিসেম্বর 1993 সালে স্ট্যান্ডার্ড ন্যাশনাল ইন্সটিটিউট অফ ও প্রযুক্তি (, NIST)। এটি (ক) সম্পর্কের মডেলটির একমাত্র প্রবর্তক, অর্থাৎ ডাঃ ইএফ কোডড দ্বারা রচিত প্রাথমিক তাত্ত্বিক উপাদানের উপর ভিত্তি করে; (খ) ডাঃ পিপি চেন দ্বারা বিকাশিত ডেটার সত্তা-সম্পর্ক দৃষ্টিভঙ্গি ; এবং এছাড়াও (গ) রবার্ট জি ব্রাউন দ্বারা নির্মিত লজিকাল ডেটাবেস ডিজাইন প্রযুক্তি।


যেমন আপনি দেখতে পাচ্ছেন, আমি কেবলমাত্র তিনটি এম: এন সংযুক্তিগুলি সম্পর্কিত এসোসিয়েটিভ সত্তা প্রকারের দ্বারা চিত্রিত করেছি , যেমন:

  • সহযোগী
  • SystemGame
  • GameGenre

অন্যান্য দিকগুলির মধ্যে দুটি স্বতন্ত্র ধরণের সাব-টাইপ কাঠামো রয়েছে, যেখানে:

  • ব্যক্তি এবং সংস্থা পার্টির পারস্পরিক একচেটিয়া সত্তা উপপ্রকার , তাদের সত্তা সুপারটাইপ

  • পণ্য হ'ল সিস্টেম এবং গেমের সুপার টাইপ , যা পরস্পর পরস্পরের একচেটিয়া সাব-টাইপ হয়

আপনি যদি সুপার টাইপ-সাব-টাইপ সংঘের সাথে পরিচিত না হন তবে আপনি সাহায্য পেতে পারেন, উদাহরণস্বরূপ, আমার শিরোনামযুক্ত প্রশ্নের উত্তর:

চিত্রণমূলক লজিকাল এসকিউএল-ডিডিএল লেআউট

ধারাবাহিকভাবে, আমাদের অবশ্যই তা নিশ্চিত করতে হবে, যৌক্তিক স্তরে:

  • প্রতিটি সত্তা টাইপ পৃথক বেস টেবিল দ্বারা প্রতিনিধিত্ব করা হয়
  • প্রযোজ্য সত্তা টাইপের প্রতিটি একক সম্পত্তি একটি নির্দিষ্ট কলাম দ্বারা চিহ্নিত করা হয়
  • প্রতিটি কলামের জন্য একটি নির্দিষ্ট ডেটা টাইপ স্থির করা হয়েছে যাতে এটিতে থাকা সমস্ত মান একটি নির্দিষ্ট এবং সঠিকভাবে সংজ্ঞায়িত সেটের অন্তর্গত হয়, এটি আইএনটি, ডেটটাইম, চিয়ার ইত্যাদি হতে পারে (অবশ্যই, যেমন ফায়ারবার্ড বা পোস্টগ্রিসকিউএল ব্যবহার করার সময় , আপনি আরও শক্তিশালী DOMAINs নিয়োগ করতে পছন্দ করতে পারেন)
  • সমস্ত টেবিলের মধ্যে সারি আকারে থাকা সূত্রগুলি ধারণাগত স্তরে নির্ধারিত ব্যবসায়িক বিধি মেনে চলেছে এই নিশ্চয়তার জন্য একাধিক সীমাবদ্ধতা কনফিগার করা হয়েছে (ঘোষণামূলকভাবে)

সুতরাং আমি পূর্বে প্রদর্শিত IDEF1X চিত্রের উপর ভিত্তি করে নিম্নলিখিত ডিডিএল ব্যবস্থাটি ঘোষণা করেছি:

CREATE TABLE PartyType ( -- Stands for an independent entity type.
    PartyTypeCode CHAR(1)  NOT NULL, -- To retain 'P' or 'O'.
    Name          CHAR(30) NOT NULL, -- To keep 'Person' or 'Organization'.
    --  
    CONSTRAINT PartyType_PK PRIMARY KEY (PartyTypeCode)
);

CREATE TABLE Party ( -- Represents an entity supertype.
    PartyId         INT       NOT NULL,
    PartyTypeCode   CHAR(1)   NOT NULL, -- To hold the value that indicates the type of the row denoting the complementary subtype occurrence: either 'P' for 'Person' or 'O' for 'Organization'.
    CreatedDateTime TIMESTAMP NOT NULL,  
    --
    CONSTRAINT Party_PK            PRIMARY KEY (PartyId),
    CONSTRAINT PartyToPartyType_FK FOREIGN KEY (PartyTypeCode)
        REFERENCES PartyType (PartyTypeCode)
);

CREATE TABLE Person ( -- Denotes an entity subtype.
    PersonId        INT      NOT NULL, -- To be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
    FirstName       CHAR(30) NOT NULL,
    LastName        CHAR(30) NOT NULL,
    GenderCode      CHAR(3)  NOT NULL,
    BirthDate       DATE     NOT NULL,
    --
    CONSTRAINT Person_PK PRIMARY KEY        (PersonId),
    CONSTRAINT Person_AK UNIQUE             (FirstName, LastName, GenderCode, BirthDate), -- Composite ALTERNATE KEY.
    CONSTRAINT PersonToParty_FK FOREIGN KEY (PersonId)
        REFERENCES Party (PartyId)
);

CREATE TABLE Organization ( -- Stands for an entity subtype.
    OrganizationId  INT      NOT NULL, -- To be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
    Name            CHAR(30) NOT NULL,
    FoundingDate    DATE     NOT NULL,
    --
    CONSTRAINT Organization_PK        PRIMARY KEY (OrganizationId),
    CONSTRAINT Organization_AK        UNIQUE      (Name), -- Single-column ALTERNATE KEY.
    CONSTRAINT OrganizationToParty_FK FOREIGN KEY (OrganizationId)
        REFERENCES Party (PartyId)
);

CREATE TABLE ProductType ( -- Represents an independent entity type.
    ProductTypeCode CHAR(1)  NOT NULL, -- To enclose the values 'S' and 'G' in the corresponding rows.
    Name            CHAR(30) NOT NULL, -- To comprise the values 'System' and 'Person' in the respective rows.
    --
    CONSTRAINT ProductType_PK PRIMARY KEY (ProductTypeCode)
);

CREATE TABLE Product ( -- Denotes an entity supertype.
    OrganizationId  INT      NOT NULL,
    ProductNumber   INT      NOT NULL,
    ProductTypeCode CHAR(1)  NOT NULL, -- To keep the value that indicates the type of the row denoting the complementary subtype occurrence: either 'S' for 'System' or 'G' for 'Game'.
    CreatedDateTime DATETIME NOT NULL,
    --
    CONSTRAINT Product_PK               PRIMARY KEY (OrganizationId, ProductNumber), -- Composite PRIMARY KEY.
    CONSTRAINT ProductToOrganization_FK FOREIGN KEY (OrganizationId)
        REFERENCES Organization (OrganizationId),
    CONSTRAINT ProductToProductType_FK  FOREIGN KEY (ProductTypeCode)
        REFERENCES ProductType (ProductTypeCode)
);

CREATE TABLE SystemType ( -- Stands for an independent entity type.
    SystemTypeCode CHAR(1)  NOT NULL,
    Name           CHAR(30) NOT NULL,
     --
    CONSTRAINT SystemType_PK PRIMARY KEY (SystemTypeCode)
);

CREATE TABLE MySystem ( -- Represents a dependent entity type.
    OrganizationId   INT      NOT NULL, -- To be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
    SystemNumber     INT      NOT NULL,
    SystemTypeCode   CHAR(1)  NOT NULL,
    ParticularColumn CHAR(30) NOT NULL,
    --
    CONSTRAINT System_PK              PRIMARY KEY (OrganizationId, SystemNumber),
    CONSTRAINT SystemToProduct_FK     FOREIGN KEY (OrganizationId, SystemNumber)
        REFERENCES Product (OrganizationId, ProductNumber),
    CONSTRAINT SystemToSystemType_FK  FOREIGN KEY (SystemTypeCode)
        REFERENCES SystemType (SystemTypeCode)
);

CREATE TABLE Game ( -- Denotes an entity subtype.
    OrganizationId INT      NOT NULL, -- To be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
    GameNumber     INT      NOT NULL,
    SpecificColumn CHAR(30) NOT NULL,
    --
    CONSTRAINT Game_PK          PRIMARY KEY (OrganizationId, GameNumber),
    CONSTRAINT GameToProduct_FK FOREIGN KEY (OrganizationId, GameNumber)
         REFERENCES Product (OrganizationId, ProductNumber)
);

CREATE TABLE Genre ( -- Stands for an independent entity type.
    GenreNumber INT      NOT NULL,
    Name        CHAR(30) NOT NULL,  
    Description CHAR(90) NOT NULL,
    --
    CONSTRAINT Genre_PK  PRIMARY KEY (GenreNumber),
    CONSTRAINT Genre_AK1 UNIQUE      (Name),
    CONSTRAINT Genre_AK2 UNIQUE      (Description)
);

CREATE TABLE SystemGame ( -- Represents an associative entity type or M:N association.
    SystemOrganizationId INT      NOT NULL,  
    SystemNumber         INT      NOT NULL,  
    GameOrganizationId   INT      NOT NULL,    
    GameNumber           INT      NOT NULL,
    CreatedDateTime      DATETIME NOT NULL,
    -- 
    CONSTRAINT SystemGame_PK         PRIMARY KEY (SystemOrganizationId, SystemNumber, GameOrganizationId, GameNumber), -- Composite PRIMARY KEY.
    CONSTRAINT SystemGameToSystem_FK FOREIGN KEY (SystemOrganizationId, SystemNumber) -- Multi-column FOREIGN KEY.
        REFERENCES MySystem (OrganizationId, SystemNumber),
    CONSTRAINT SystemGameToGame_FK   FOREIGN KEY (SystemOrganizationId, GameNumber) -- Multi-column FOREIGN KEY.
        REFERENCES Game (OrganizationId, GameNumber)  
);

CREATE TABLE GameGenre ( -- Denotes an associative entity type or M:N association.
    GameOrganizationId INT      NOT NULL,    
    GameNumber         INT      NOT NULL,
    GenreNumber        INT      NOT NULL,  
    CreatedDateTime    DATETIME NOT NULL,
    -- 
    CONSTRAINT GameGenre_PK        PRIMARY KEY (GameOrganizationId, GameNumber, GenreNumber), -- Composite PRIMARY KEY.
    CONSTRAINT GameGenreToGame_FK  FOREIGN KEY (GameOrganizationId, GameNumber)
        REFERENCES Game (OrganizationId, GameNumber), -- Multi-column FOREIGN KEY.
    CONSTRAINT GameGenreToGenre_FK FOREIGN KEY (GenreNumber)
        REFERENCES Genre (GenreNumber) 
);

CREATE TABLE Job ( -- Stands for an associative entity type or M:N association.
    OrganizationId  INT      NOT NULL,
    ProductNumber   INT      NOT NULL,
    JobNumber       INT      NOT NULL,
    Title           CHAR(30) NOT NULL,  
    CreatedDateTime DATETIME NOT NULL,
    --
    CONSTRAINT Job_PK          PRIMARY KEY (OrganizationId, ProductNumber, JobNumber), -- Composite PRIMARY KEY.
    CONSTRAINT Job_AK          UNIQUE      (Title), -- Single-column ALTERNATE KEY.
    CONSTRAINT JobToProduct_FK FOREIGN KEY (OrganizationId, ProductNumber) -- Multi-column FOREIGN KEY.
        REFERENCES Product (OrganizationId, ProductNumber)
);

CREATE TABLE Collaborator ( -- Represents an associative entity type or M:N association.
    CollaboratorId   INT      NOT NULL,    
    OrganizationId   INT      NOT NULL,
    ProductNumber    INT      NOT NULL,
    JobNumber        INT      NOT NULL,
    AssignedDateTime DATETIME NOT NULL,
    --
    CONSTRAINT Collaborator_PK         PRIMARY KEY (CollaboratorId, OrganizationId, ProductNumber, JobNumber), -- Composite PRIMARY KEY.
    CONSTRAINT CollaboratorToPerson_FK FOREIGN KEY (CollaboratorId)
    REFERENCES Person (PersonId),  
    CONSTRAINT CollaboratorToJob_FK    FOREIGN KEY (OrganizationId, ProductNumber, JobNumber) -- Multi-column FOREIGN KEY.
       REFERENCES Job (OrganizationId, ProductNumber, JobNumber)
);

এটি চাপ দেওয়ার উপযুক্ত যে বেশ কয়েকটি টেবিল জুড়ে সম্মিলিত প্রাথমিক কী বাধাগুলির ঘোষণাগুলি রয়েছে , যা ধারণাগত সত্তা প্রকারের মধ্যে সংযোগগুলির ক্রমবিন্যাসের জন্য দাঁড়িয়েছে, এমন ব্যবস্থা যা ডেটা পুনরুদ্ধারের ক্ষেত্রে খুব উপকারী হতে পারে, যেমন, নির্বাচনগুলি প্রকাশ করা ক্রিয়াকলাপগুলিতে উদ্ভূত সারণীগুলি পেতে JOIN ক্লজ অন্তর্ভুক্ত রয়েছে ।

হ্যাঁ, (i) প্রতিটি এম: এন এসোসিয়েশন এবং (ii) যুক্ত সত্তা ধরণের প্রতিটি যুক্তিকে (iii) যৌক্তিক ডিডিএল কাঠামোতে সম্পর্কিত টেবিল দ্বারা চিহ্নিত করা হয়েছে, তাই প্রাথমিক এবং বিদেশী কী বাধাগুলিতে বিশেষ মনোযোগ দিন (এবং নোটগুলি আমি মন্তব্য হিসাবে রেখেছি) এই ধারণাগত উপাদানগুলির প্রতিনিধিত্বকারী টেবিলগুলির কারণ, তারা প্রাসঙ্গিক সারিগুলির মধ্যে সংযোগগুলি প্রযোজ্য কার্ডিনালিটির অনুপাতের সাথে মেলে তা নিশ্চিত করতে সহায়তা করে।

যৌগিক কীগুলির ব্যবহার ডঃ ইএফ কোড্ড সম্পর্কের দৃষ্টান্তের সূচনালগ্ন থেকেই প্রবর্তন করেছিলেন, যেমনটি তিনি তার বড় অংশীদারী ডেটা ব্যাংকগুলির জন্য একটি রিলেশনাল মডেল (যা অবিকল, এছাড়াও উপস্থাপন করে) শীর্ষক ১৯ 1970০ এর সেমিনাল পেপারে অন্তর্ভুক্ত উদাহরণগুলিতে প্রমাণ করেছেন। ধারণামূলক এম: এন সমিতিগুলি হ্যান্ডেল করার জন্য সবচেয়ে মার্জিত পদ্ধতি)।

মাইক্রোসফ্ট এসকিউএল সার্ভার ২০১৪ এ চলমান আমি একটি ডিবি <> ফিডল এবং এসকিউএল ফিডাল রেখেছি , যাতে কাঠামোটি "কার্যক্রমে" পরীক্ষা করা যায়।

নিয়মমাফিককরণ

সাধারণীকরণ একটি যৌক্তিক স্তরের পদ্ধতি যা মূলত বলতে বোঝায়:

  1. দূর অ পারমাণবিক প্রথম স্বাভাবিক ফর্ম মাধ্যমে কলাম যাতে ডেটা ম্যানিপুলেশন এবং সংকোচন অনেক মানিয়ে নিতে সহজ ব্যবহারের ডেটা sublanguage (যেমন, এসকিউএল) দ্বারা সঙ্গে আছে।

  2. অবাঞ্ছিত পরিত্রাণ হচ্ছে নির্ভরতা ধারাবাহিক স্বাভাবিক ফর্ম শক্তি কর্মদক্ষতার দ্বারা একটি নির্দিষ্ট টেবিলের কলাম মধ্যে এড়াতে আপডেট ব্যতিক্রমসমূহ

স্বাভাবিকভাবেই, এক্ষেত্রে সারণী (গুলি) এবং কলাম (গুলি) দ্বারা চালিত অর্থটি বিবেচনা করতে হবে ।

আমি বিজ্ঞানের উপর প্রতিষ্ঠিত একটি পরীক্ষা হিসাবে সাধারণীকরণের কথা ভাবতে চাই যে ডিজাইনার প্রাসঙ্গিক উপাদানগুলির জন্য প্রযোজ্য হয় একবার তিনি বা তিনি স্থিতিশীল যৌক্তিক স্তরের বিন্যাসটি নির্ধারণ করেছেন যাতে এটির আইটেমগুলি প্রতিটি ফর্মের সাথে মেনে চলে বা না। তারপরে, প্রয়োজনে ডিজাইনার যথাযথ সংশোধন ব্যবস্থা গ্রহণ করেন।

অতিরেক

সম্পর্কিত মডেলটিতে, কলামগুলিতে থাকা মানগুলির সদৃশতা কেবল গ্রহণযোগ্যই নয় তবে প্রত্যাশিত , নকল সারিগুলি নিষিদ্ধ । এই পরিমাণে, আমি যতদূর দেখতে পাচ্ছি, ডুপ্লিকেট সারি এবং অন্যান্য ধরণের ক্ষতিকারক পুনর্বাসনগুলি আগে প্রকাশিত যৌক্তিক বিন্যাসে অন্তর্ভুক্ত সমস্ত টেবিলগুলিতে প্রতিরোধ করা হয়েছে, সম্ভবত আপনি এই বিষয়ে আপনার উদ্বেগকে পরিষ্কার করতে চাই।

যাইহোক, আপনি অবশ্যই (ক) প্রয়োজনীয়তাগুলি পূরণ করে কিনা তা নির্ধারণ করতে সাধারণ ফর্মগুলির বর্ণের মাধ্যমে নিজের নিজস্ব কাঠামোর মূল্যায়ন করতে পারেন এবং (খ) প্রয়োজনে এটি সংশোধন করতে পারেন।

সম্পর্কিত সংস্থানসমূহ

  • ইন পোস্টের মধ্যে এই সিরিজের আমি সহজবোধ্য এম সম্পর্কে কিছু আলোচনার উপস্থাপন: এন সমিতি দুই দৃষ্টান্ত interrelate করতে বিভিন্ন সত্তা ধরনের।
  • ইন এই অন্যটি আমি একজন অভিগমন "সামগ্রী বিল" বা "পার্টস বিস্ফোরণ" কনস্ট্রাক্ট, একটি সংঘটন হ্যান্ডেল করার প্রস্তাব করছি আমি যা বর্ণনা সংযোগ কিভাবে স্বতন্ত্র দৃষ্টান্ত একই সত্তা প্রকার।

টার্নারি সমিতিগুলি

আর একটি গুরুত্বপূর্ণ দিক রয়েছে যা আপনি মন্তব্যের মাধ্যমে নিয়ে এসেছেন (একটি এখন-মুছে দেওয়া উত্তরে পোস্ট করা):

যতবার আমি সেতু করার চেষ্টা করি সেতুতে থাকা উপাদানগুলিতেও অনেকের কাছে অনেকের উপস্থিতি থাকে, আমি এমন ছাপের মধ্যে আছি যা অনুমোদিত বা কমপক্ষে নিরুৎসাহিত নয়।

এই পরিস্থিতিতে ইঙ্গিত দেয় যে আপনার উদ্বেগগুলির মধ্যে একটি ধারণামূলক ত্রৈমাসিক সমিতিগুলির সাথে সম্পর্কিত । মূলত বলতে গেলে, এই ধরণের সমিতিগুলি ঘটে যখন উপস্থিত থাকে (1) একটি সম্পর্ক জড়িত (2) দুটি অন্যান্য সম্পর্ক, অন্য কথায় "সম্পর্কের মধ্যে একটি সম্পর্ক" - একটি সাধারণ পরিস্থিতিও, যেহেতু একটি সম্পর্ক তার নিজের অধিকারে একটি সত্তা -।

এই ব্যবস্থাগুলি যথাযথভাবে পরিচালিত হলে ক্ষতিকারক পুনর্বাসনগুলিও আনবে না। এবং হ্যাঁ, যদি এমন কোনও ব্যবহারের ক্ষেত্রে দেখা যায় যেখানে আপনি সনাক্ত করেন যে এই ধরনের সম্পর্কগুলি "সত্যিকারের বিশ্ব" সত্তার প্রকারের মধ্যে উপস্থিত হয়, আপনাকে (i) মডেল এবং (ii) যৌক্তিক স্তরে যথার্থতার সাথে তাদের ঘোষণা করতে হবে।

  • এখানে একটি প্রশ্নোত্তর ছিল আমরা জরিপ সম্পর্কে কথোপকথনের একটি ডোমেন বিশ্লেষণ করেছি , যার মধ্যে একটি ত্রৈমাসিক সংঘের উদাহরণ রয়েছে।
  • ইন এই খুব ভাল উত্তর , @Ypercube একটি আকর্ষণীয় জন্য একটি ডায়াগ্রাম এবং নিজ নিজ DDL গঠন উপস্থাপন হীরা আকৃতির সম্পর্ক , যা খুবই পরিস্থিতিতে এই শ্রেণীর অনুরূপ।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.