বন্ধুত্বের ডাটাবেস কাঠামো ডিজাইন করা: আমি কি একটি মাল্টিভ্যালিউড কলাম ব্যবহার করব?


9

বলুন আমার কাছে একটি টেবিল আছে User_FriendList, যার মধ্যে নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

CREATE TABLE User_FriendList (
    ID ...,
    User_ID...,
    FriendList_IDs...,
    CONSTRAINT User_Friendlist_PK PRIMARY KEY (ID)
);

এবং ধরা যাক এই টেবিলটি নিম্নলিখিত ডেটা ধারণ করে:

 + + ---- + + --------- + + --------------------------- + +
 | আইডি | ব্যবহারকারী_আইডি | ফ্রেন্ডলিস্ট_আইডি             |
 + + ---- + + --------- + + --------------------------- + +
 | 1 | 102 | 2: 15: 66: 35: 26: 17: |
 + + ---- + + --------- + + --------------------------- + +
 | 2 | 114 | 1: 12: 63: 33: 24: 16: 102 |
 + + ---- + + --------- + + --------------------------- + +
 | 3 | 117 | 6: 24: 52: 61: 23: 90: 97: 118 |
 + + ---- + + --------- + + --------------------------- + +

দ্রষ্টব্য: পিএইচপি-তে বিস্ফোরিত হওয়ার সময় ":" (কোলন) হ'ল সীমানা array

প্রশ্নাবলি

তাই:

  • এই "দোকান" করার জন্য একটি সুবিধাজনক উপায় IDsএকটি এর FriendList?

  • অথবা পরিবর্তে, আমার প্রত্যেকটিতে কেবল একটি একক FriendIdমান সহ পৃথক সারি থাকা উচিত এবং যখন আমাকে একটি প্রদত্ত তালিকার সমস্ত সারি পুনরুদ্ধার করতে হবে , তখন কেবল একটি কোয়েরি করা উচিত SELECT * FROM UserFriendList WHERE UserId = 1?


3
আমি সুপারিশ আপনি যদি এটি পড়ে: stackoverflow.com/questions/3653462/...
tombom

আইডি সংরক্ষণ করার এটি কিছুটা সুবিধাজনক উপায়, আপনি যতক্ষণ না তাদের সাথে কিছু করার পরিকল্পনা করছেন এবং বিশেষত ডেটা মানের বিষয়ে যত্ন নিচ্ছেন না।
mustaccio

আমি মনে করি কোডেডল ডটকম / ২০১৪ / ১২ / সামাজিক / নেটওয়র্ক-ফ্রেন্ডস-ডেটাবেস এইচটিএমএল সেরা সমাধানগুলির মধ্যে একটি হতে পারে।
গুপ্ত

উত্তর:


19

তথ্য পৃথক টুকরা পরিচালনা

এটি ধরে নিলে, আপনার ব্যবসায়িক ডোমেনে,

  • একটি ব্যবহারকারী শূন্য এক বা অধিকের থাকতে পারে বন্ধুরা ;
  • কোনও বন্ধুকে প্রথমে ব্যবহারকারী হিসাবে নিবন্ধিত হতে হবে ; এবং
  • আপনি অনুসন্ধানের জন্য এবং / অথবা যুক্ত করুন, এবং / অথবা মুছে ফেলবেন, এবং / অথবা সংশোধন করুন, একটি বন্ধু তালিকার একক মান ;

তারপরে মাল্টিভ্যালিউড কলামে জড়িত প্রতিটি নির্দিষ্ট ডেটাম একটি পৃথক তথ্যFriendlist_IDs উপস্থাপন করে যা খুব সঠিক অর্থ বহন করে। সুতরাং, কলাম বলেছেন

  • সুস্পষ্ট সীমাবদ্ধতার একটি সঠিক গোষ্ঠী জড়িত, এবং
  • এর মানগুলি বিভিন্ন রিলেশনাল ক্রিয়াকলাপগুলির (বা এর সমন্বয়গুলি) দ্বারা স্বতন্ত্রভাবে ম্যানিপুলেট হওয়ার সম্ভাবনা রয়েছে।

সংক্ষিপ্ত উত্তর

ফলস্বরূপ, আপনার Friendlist_IDs(ক) একটি কলামে প্রতিটি মানকে ধরে রাখতে হবে যা একটি সারণীতে সারি অনুসারে একমাত্র একমাত্র মান গ্রহণ করে (খ) ব্যবহারকারীদের মধ্যে অবস্থান নিতে পারে এমন ধারণাগত-স্তরের সংস্থার প্রকারের প্রতিনিধিত্ব করে , যেমন একটি বন্ধুত্ব - আমি নিম্নলিখিত বিভাগগুলিতে উদাহরণ দিয়ে দেব —

এইভাবে, আপনি (i) গণিত সংক্রান্ত সম্পর্ক হিসাবে সারণীটি পরিচালনা করতে সক্ষম হবেন এবং (ii) মাইএসকিউএল এবং এর এসকিউএল ডায়ালেক্ট পারমিট হিসাবে অবশ্যই কলামকে গাণিতিক সম্পর্কের বৈশিষ্ট্য হিসাবে বলেছেন —

কেন?

কারণ তথ্য রিলেশনাল মডেল , দ্বারা নির্মিত ডঃ ই এফ Codd যে কলাম যে রাখা দ্বারা গঠিত টেবিল হচ্ছে দাবি ঠিক একটি প্রযোজ্য মান ডোমেইন বা টাইপ সারি প্রতি; অতএব, কলামের সাথে একটি সারণী ঘোষণা করা যাতে ডোমেনের একাধিক মান থাকতে পারে বা প্রশ্ন (1) টাইপ করতে পারে তা গাণিতিক সম্পর্কের প্রতিনিধিত্ব করে না এবং (2) পূর্বোক্ত তাত্ত্বিক কাঠামোর প্রস্তাবিত সুবিধাগুলি গ্রহণের অনুমতি দেয় না।

ব্যবহারকারীদের মধ্যে মডেলিং বন্ধুত্ব : প্রথমে ব্যবসায়ের পরিবেশের বিধিগুলি সংজ্ঞায়িত করা

আমি অত্যন্ত সুপারিশ করি যে কোনও কিছুর আগেই সীমানা সম্পর্কিত একটি ডেটাবেস তৈরি করা শুরু করুন - প্রাসঙ্গিক ব্যবসায়ের নিয়মের সংজ্ঞা অনুসারে সংশ্লিষ্ট ধারণামূলক স্কিমাকে যে অন্যান্য কারণগুলির মধ্যে স্বার্থের স্বতন্ত্র দিকগুলির মধ্যে বিদ্যমান আন্তঃসম্পর্কমূলক প্রকারের বর্ণনা দিতে হবে, অর্থাৎ , প্রযোজ্য সত্তার প্রকার এবং তাদের সম্পত্তি ; উদাহরণ:

  • একজন ব্যবহারকারী প্রাথমিকভাবে তার বা তার ইউজারআইডি দ্বারা চিহ্নিত করা হয়
  • একজন ব্যবহারকারী পর্যায়ক্রমে তার সমন্বয় দ্বারা চিহ্নিত করা হয় FirstName , LASTNAME , জেন্ডার , এবং জন্মতারিখ
  • একজন ব্যবহারকারী পর্যায়ক্রমে তার বা তার ব্যবহারকারীর নাম দ্বারা সনাক্ত করা হয়
  • একজন ব্যবহারকারী হয় অনুরোধকারীর শূন্য এক-অর-অনেকের বন্ধুত্ব
  • একজন ব্যবহারকারী হয় প্রাপক শূন্য এক-অর-অনেকের বন্ধুত্ব
  • একটি বন্ধুত্ব প্রাথমিকভাবে এর রিকোস্টেরআইডি এবং এর অ্যাড্রেসআইডির সংমিশ্রণ দ্বারা চিহ্নিত করা হয়

এক্সপোসিটোরি IDEF1X ডায়াগ্রাম

এই পদ্ধতিতে, আমি চিত্র 1 এ দেখানো IDEF1X 1 চিত্রটি আঁকতে সক্ষম হয়েছি , যা পূর্বে তৈরি করা বেশিরভাগ বিধিগুলিকে একীভূত করে:

চিত্র 1. ব্যবহারকারী বন্ধুত্ব IDEF1X ডায়াগ্রাম

দ্বারা চিত্রিত অনুরোধকারীর এবং প্রাপক denotations যে প্রকাশ হয় ভূমিকা নির্দিষ্ট দ্বারা সম্পন্ন ব্যবহারকারীরা যে একটি প্রদত্ত অংশ নিতে বন্ধুত্ব

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


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


ইলাস্টেটিভ এসকিউএল-ডিডিএল লজিকাল ডিজাইন

তারপরে, উপস্থাপিত IDEF1X ডায়াগ্রাম থেকে, নিম্নলিখিতটির মতো একটি ডিডিএল ব্যবস্থা ঘোষণা করা অনেক বেশি "প্রাকৃতিক":

-- You should determine which are the most fitting 
-- data types and sizes for all the table columns 
-- depending on your business context characteristics.

-- At the physical level, you should make accurate tests 
-- to define the mostconvenient INDEX strategies based on 
-- the pertinent query tendencies.

-- As one would expect, you are free to make use of 
-- your preferred (or required) naming conventions. 

CREATE TABLE UserProfile ( -- Represents an independent entity type.
    UserId          INT      NOT NULL,
    FirstName       CHAR(30) NOT NULL,
    LastName        CHAR(30) NOT NULL,
    BirthDate       DATE     NOT NULL,
    GenderCode      CHAR(3)  NOT NULL,
    Username        CHAR(20) NOT NULL,
    CreatedDateTime DATETIME NOT NULL,
    --
    CONSTRAINT UserProfile_PK  PRIMARY KEY (UserId),
    CONSTRAINT UserProfile_AK1 UNIQUE ( -- Composite ALTERNATE KEY.
        FirstName,
        LastName,
        GenderCode,
        BirthDate
    ),
    CONSTRAINT UserProfile_AK2 UNIQUE (Username) -- Single-column ALTERNATE KEY.
);

CREATE TABLE Friendship ( -- Stands for an associative entity type.
    RequesterId     INT      NOT NULL,
    AddresseeId     INT      NOT NULL, -- Fixed with a well-delimited data type.
    CreatedDateTime DATETIME NOT NULL,
    --
    CONSTRAINT Friendship_PK            PRIMARY KEY (RequesterId, AddresseeId), -- Composite PRIMARY KEY.
    CONSTRAINT FriendshipToRequester_FK FOREIGN KEY (RequesterId)
        REFERENCES UserProfile (UserId),
    CONSTRAINT FriendshipToAddressee_FK FOREIGN KEY (AddresseeId)
        REFERENCES UserProfile (UserId)
);

এই ফ্যাশনে:

  • প্রতিটি বেস টেবিল একটি পৃথক সত্তা টাইপ প্রতিনিধিত্ব করে;
  • প্রতিটি কলাম স্ব স্ব সত্তা ধরণের একক সম্পত্তি জন্য দাঁড়িয়েছে ;
  • একটি নির্দিষ্ট ডাটা টাইপ একটি প্রত্যেকের জন্য সংশোধন করা হয়েছে কলাম গ্যারান্টি করার জন্য যে সব মান এটা একটি নির্দিষ্ট এবং সু-সংজ্ঞায়িত অন্তর্গত রয়েছে সেট , এটা হতে int, DATETIME এ, চর, ইত্যাদি .; এবং
  • একাধিক সীমাবদ্ধতার অনুক্রমে (declaratively) কনফিগার করা হয় তা নিশ্চিত করার জন্য আকারে গবেষকেরা সারি সব অপরিবর্তিত রাখা টেবিল ধারণাগত স্কিমা এ নির্ধারিত ব্যবসার নীতি দেখা।

একক মূল্যবান কলামের সুবিধা ant

প্রদর্শিত হিসাবে, আপনি, উদাহরণস্বরূপ:

  • কলামের জন্য ডাটাবেস ম্যানেজমেন্ট সিস্টেম (ব্রিভিটির জন্য ডিবিএমএস) দ্বারা প্রয়োগিত রেফারেনশিয়াল অখণ্ডতার সুযোগ নিন Friendship.AddresseeId, যেহেতু এটিকে একটি বিদেশী কী (ব্রেভিটির জন্য এফকে) হিসাবে সীমাবদ্ধ করা হয়েছে যা UserProfile.UserIdকলামের জন্য একটি রেফারেন্স তৈরি করে যে গ্যারান্টি দেয় যে প্রতিটি মান একটি বিদ্যমান সারিতে দেখায়।

  • একটি তৈরি করুন যৌগিক প্রাথমিক কী (পি কে) কলাম সমন্বয় গঠিত (Friendship.RequesterId, Friendship.AddresseeId)সহায়তা এইরূপ সূচারূভাবে দেওয়া সমস্ত সারি পার্থক্য এবং, স্বাভাবিকভাবেই, তাদের রক্ষা স্বতন্ত্রতা

    অবশ্যই, এর মানে হল একটি সংযুক্তি যে অতিরিক্ত সিস্টেম-নির্ধারিত ভাড়াটে মানের জন্য কলাম (যেমন, সঙ্গে এক সেট আপ পরিচয়কে মাইক্রোসফট SQL সার্ভার অথবা সঙ্গে সম্পত্তি AUTO_INCREMENT মাইএসকিউএল মধ্যে অ্যাট্রিবিউট) এবং সহায়তা সূচি সম্পূর্ণভাবে অপর্যাপ্ত

  • অপরিবর্তিত রাখা মান সীমাবদ্ধ Friendship.AddresseeIdএকটি সুনির্দিষ্ট ডাটা টাইপ করার (যা সুসংগত হওয়া আবশ্যক, যেমন, এক জন্য প্রতিষ্ঠিত UserProfile.UserIdএই ক্ষেত্রে কোন int,), লেট DBMS প্রাসঙ্গিক যত্ন নিতে স্বয়ংক্রিয় বৈধতা।

    এই ফ্যাক্টর পাশাপাশি (ক) সংশ্লিষ্ট অন্তর্নির্মিত টাইপ ফাংশনগুলির ব্যবহার করতে এবং (খ) ডিস্ক স্পেসের ব্যবহারকে অনুকূল করতে সহায়তা করতে পারে ।

  • কলামের জন্য ছোট এবং দ্রুত অধস্তন আইএনডিএক্সকে কনফিগার করে শারীরিক স্তরে ডেটা পুনরুদ্ধার অনুকূলিত করুন , কারণ এই শারীরিক উপাদানগুলি কলামের সাথে জড়িত অনুসন্ধানগুলিকে দ্রুততর করতে সহায়তা করতে পারে।Friendship.AddresseeId

    অবশ্যই আপনি উদাহরণস্বরূপ, একা-কলাম INDEX Friendship.AddresseeIdএকা রাখতে পারেন, একটি বহু-কলাম যার মধ্যে রয়েছে Friendship.RequesterIdএবং Friendship.AddresseeIdবা উভয়ই।

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

সুতরাং, সেখানে একাধিক কারণে যাতে আউট চিহ্নিত করার জন্য সাবধানে প্রাসঙ্গিক ব্যবসায়িক পরিবেশের বিশ্লেষণের জন্য কল প্রকার সঠিকতা সঙ্গে প্রতিটি সারণি কলামের।

যেমনটি ব্যাখ্যা করা হয়েছে, ডাটাবেস ডিজাইনারের ভূমিকাই (1) রিলেশনাল মডেল দ্বারা প্রদত্ত যৌক্তিক স্তরের সুবিধাগুলির এবং (2) পছন্দের ডিবিএমএস দ্বারা সরবরাহিত শারীরিক প্রক্রিয়াগুলির সর্বোত্তম ব্যবহার করতে সর্বাত্মক।


, , সি , ডি স্পষ্টতই, এসকিউএল প্ল্যাটফর্মগুলির সাথে কাজ করার সময় (যেমন, ফায়ারবার্ড এবং পোস্টগ্রিএসকিউএল ) যা ওআরএম নির্মাণকে সমর্থন করে (একটি স্বতন্ত্র সম্পর্কযুক্ত বৈশিষ্ট্য), আপনি কলামগুলি ঘোষণা করতে পারেন যা কেবলমাত্র স্ব স্ব সম্পর্কিত মানগুলি গ্রহণ করে (উপযুক্তভাবে বাঁধা এবং কখনও কখনও ভাগ করা) DOMAINs।


এক বা একাধিক অ্যাপ্লিকেশন প্রোগ্রামগুলি বিবেচনাধীন ডাটাবেস ভাগ করছে

আপনি যখন arraysডাটাবেসটি অ্যাক্সেস করে অ্যাপ্লিকেশন প্রোগ্রামের (গুলি) কোডটিতে নিয়োগ করতে হয়, তখন আপনাকে কেবল প্রাসঙ্গিক ডেটা সেটগুলি সম্পূর্ণরূপে উদ্ধার করতে হবে এবং তারপরে এটিকে (তাদের) আবদ্ধ করতে হবে কোড সংক্রান্ত কাঠামোতে বা কার্যকর করতে হবে সম্পর্কিত অ্যাপ্লিকেশন (গুলি) প্রক্রিয়া (গুলি) যা হওয়া উচিত।

একক মূল্যবান কলামগুলির আরও সুবিধা: ডেটাবেস স্ট্রাকচার এক্সটেনশানগুলি আরও অনেক সহজ

AddresseeIdএর সংরক্ষিত এবং সঠিকভাবে টাইপ করা কলামে ডেটা পয়েন্ট ধরে রাখার আর একটি সুবিধা হ'ল এটি ডাটাবেস কাঠামোটি প্রসারিত করার পক্ষে যথেষ্ট সুবিধা দেয়, কারণ আমি নীচে উদাহরণ দিয়ে দেব।

পরিস্থিতি অগ্রগতি: বন্ধুত্বের স্থিতি ধারণাটি অন্তর্ভুক্ত

যেহেতু সময়ের সাথে বন্ধুত্বগুলি বিকশিত হতে পারে আপনাকে এ জাতীয় ঘটনার উপর নজর রাখতে হতে পারে, সুতরাং আপনাকে (i) ধারণাগত স্কিমাটি প্রসারিত করতে হবে এবং (ii) যৌক্তিক বিন্যাসে আরও কয়েকটি সারণী ঘোষণা করতে হবে। সুতরাং, আসুন আমরা নতুন সংস্থাগুলি বর্ণনার জন্য পরবর্তী ব্যবসায়ের বিধিগুলি সাজিয়ে তুলি:

  • একটি বন্ধুত্ব এক থেকে অনেক বন্ধুত্বের স্ট্যাটাসগুলিকে ধারণ করে
  • একজন FriendshipStatus প্রাথমিকভাবে তার সমন্বয় দ্বারা চিহ্নিত করা হয় RequesterId , তার AddresseeId এবং তার SpecifiedDateTime
  • একজন ব্যবহারকারী শূন্য-এক-বা একাধিক বন্ধুত্বের স্ট্যাটাসগুলি নির্দিষ্ট করে
  • একটি স্থিতি শূন্য-এক-বা একাধিক বন্ধুত্বের স্ট্যাটাসগুলিকে শ্রেণিবদ্ধ করে
  • একটি স্থিতি প্রাথমিকভাবে তার দ্বারা চিহ্নিত করা হয় StatusCode
  • একটি স্থিতি পর্যায়ক্রমে এর নাম দ্বারা চিহ্নিত করা হয়

প্রসারিত IDEF1X ডায়াগ্রাম

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

চিত্র 2. বন্ধুত্বের স্থিতি আইডিইএফ 1 এক্স ডায়াগ্রাম

যৌক্তিক কাঠামো সংযোজন

এরপরে, আমরা নিম্নলিখিত ঘোষণার সাথে ডিডিএল লেআউটটি লম্বা করতে পারি:

--
CREATE TABLE MyStatus ( -- Denotes an independent entity type.
    StatusCode CHAR(1)  NOT NULL,
    Name       CHAR(30) NOT NULL,
    --
    CONSTRAINT MyStatus_PK PRIMARY KEY (StatusCode),
    CONSTRAINT MyStatus_AK UNIQUE      (Name) -- ALTERNATE KEY.
); 

CREATE TABLE FriendshipStatus ( -- Represents an associative entity type.
    RequesterId       INT      NOT NULL,
    AddresseeId       INT      NOT NULL,
    SpecifiedDateTime DATETIME NOT NULL,
    StatusCode        CHAR(1)  NOT NULL,
    SpecifierId       INT      NOT NULL,
    --
    CONSTRAINT FriendshipStatus_PK             PRIMARY KEY (RequesterId, AddresseeId, SpecifiedDateTime), -- Composite PRIMARY KEY.
    CONSTRAINT FriendshipStatusToFriendship_FK FOREIGN KEY (RequesterId, AddresseeId)
        REFERENCES Friendship  (RequesterId, AddresseeId), -- Composite FOREIGN KEY.
    CONSTRAINT FriendshipStatusToMyStatus_FK   FOREIGN KEY (StatusCode)
        REFERENCES MyStatus    (StatusCode),
    CONSTRAINT FriendshipStatusToSpecifier_FK  FOREIGN KEY (SpecifierId)
        REFERENCES UserProfile (UserId)      
);

ফলস্বরূপ, প্রতিবার প্রদত্ত বন্ধুত্বের স্থিতিটি আপ টু ডেট রাখতে হবে, ব্যবহারকারীদের কেবল একটি নতুন সারি লিখতে হবে , এতে:FriendshipStatus

  • উপযুক্ত RequesterIdএবং AddresseeIdমানগুলি - সম্পর্কিত সারি থেকে Friendshipনেওয়া;

  • নতুন এবং অর্থবোধক StatusCodeমানটি থেকে এসেছে MyStatus.StatusCode-

  • সঠিক INSERTion তাত্ক্ষণিক অর্থাত্, SpecifiedDateTimeসম্ভবতঃ একটি সার্ভার ফাংশন ব্যবহার করা যাতে আপনি এটি একটি নির্ভরযোগ্য পদ্ধতিতে পুনরুদ্ধার করতে এবং ধরে রাখতে পারেন —; এবং

  • আপনার অ্যাপ্লিকেশন (গুলি) সুবিধার সাহায্যে the সামগ্রিকভাবে সিস্টেমে নতুন প্রবেশ করানো সম্পর্কিত সম্পর্কিতটি SpecifierIdনির্দেশ করবে এমন মান —UserIdFriendshipStatus

সেই পরিমাণে, আসুন আমরা ধরে নিই যে MyStatusটেবিলটি নীচের ডেটাগুলি আবদ্ধ করেছে - পিকে মানগুলির সাথে (ক) শেষ ব্যবহারকারী-, অ্যাপ্লিকেশন প্রোগ্রামার- এবং ডিবিএ-বান্ধব এবং (খ) শারীরিক বাস্তবায়ন স্তরের বাইটের ক্ষেত্রে ছোট এবং দ্রুত -:

 + + ------------ + + ----------- + +
 | স্ট্যাটাস কোড | নাম       |
 + + ------------ + + ----------- + +
 | আর | অনুরোধ |
 + + ------------ + + ----------- + +
 | ক | গৃহীত |
 + + ------------ + + ----------- + +
 | ডি | অস্বীকার |
 + + ------------ + + ----------- + +
 | খ | ব্লোকড |
 + + ------------ + + ----------- + +

সুতরাং, FriendshipStatusটেবিলটি নীচে দেখানো মত ডেটা ধরে রাখতে পারে:

 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +
 | রিকোয়েস্টারআইডি | অ্যাড্রেসিআইডি | নির্দিষ্ট তারিখের সময়        | স্ট্যাটাস কোড | স্পেসিফায়ারআইডি |
 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +
 | 1750 | 1748 | 2016-04-01 16: 58: 12.000 | আর | 1750 |
 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +
 | 1750 | 1748 | 2016-04-02 09: 12: 05.000 | ক | 1748 |
 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +
 | 1750 | 1748 | 2016-04-04 10: 57: 01.000 | খ | 1750 |
 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +
 | 1750 | 1748 | 2016-04-07 07: 33: 08.000 | আর | 1748 |
 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +
 | 1750 | 1748 | 2016-04-08 12: 12: 09.000 | ক | 1750 |
 + + ------------- + + ------------- + + --------------------- ---- + + ------------ + + ------------- + +

আপনি দেখতে পাচ্ছেন, এটি বলা যেতে পারে যে FriendshipStatusটেবিলটি একটি সময় সিরিজকে অন্তর্ভুক্ত করার উদ্দেশ্যে কাজ করে ।


প্রাসঙ্গিক পোস্ট

আপনি আগ্রহী হতে পারে:

  • এই উত্তর যাতে আমি দুটি পৃথক পৃথক সত্তা ধরণের মধ্যে একটি সাধারণ বহু থেকে বহু সম্পর্ক নিয়ে কাজ করার জন্য একটি মৌলিক পদ্ধতির পরামর্শ দিই।
  • চিত্র 1 এ দেখানো IDEF1X চিত্রটি এই অন্য উত্তরটির চিত্র তুলে ধরেছে । বিবাহ এবং সন্তান প্রজনন নামে সত্তার প্রকারগুলিতে বিশেষ মনোযোগ দিন , কারণ তারা "অংশগুলির বিস্ফোরণ সমস্যা" কীভাবে পরিচালনা করতে হয় তার আরও দুটি উদাহরণ।
  • এই পোস্টটি যা একটি একক কলামের মধ্যে বিভিন্ন ধরণের তথ্য রাখার বিষয়ে একটি সংক্ষিপ্ত আলোচনা উপস্থাপন করে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.