বিবেচনা অধীন ব্যবসায়িক পরিবেশের আপনার বর্ণনা মতে, একটি বিদ্যমান supertype-উপপ্রকার কাঠামোই বোঝায় আইটেম যে সময়টাতে supertype- এবং তার প্রতিটি ধরন , অর্থাত্, গাড়ি , নৌকা এবং প্লেন (দুই সহ আরো পরিচিত উত্পন্ন হয় নি) - উপপ্রকার —
আমি এই জাতীয় দৃশ্য পরিচালনা করতে যে পদ্ধতি অনুসরণ করব তার নীচে আমি বিশদটি করব।
ব্যবসার নীতি
অর্ডার প্রাসঙ্গিক delineating শুরু করতে ধারণাগত স্কিমা, সবচেয়ে গুরুত্বপূর্ণ কিছু ব্যবসার নীতি এতদূর (তিন প্রকাশ বিশ্লেষণ সীমাবদ্ধ নির্ধারিত ধরন শুধুমাত্র সম্ভব সংক্ষিপ্ত এখানে কিছু রাখার) প্রণয়ন করা যেতে পারে নিম্নরূপ:
- একজন ব্যবহারকারী শূন্য-এক-বা একাধিক আইটেমের মালিক
- নির্দিষ্ট আইটেমটিতে একটি আইটেমের মালিক হ'ল এক-এক ব্যবহারকারী
- একটি আইটেম একাধিক ব্যবহারকারী সময়ে স্বতন্ত্র পয়েন্টে মালিক হতে পারে
- একটি আইটেম ঠিক এক বিভাগ দ্বারা শ্রেণিবদ্ধ করা হয়
- একটি আইটেম সর্বদা,
- হয় একটি গাড়ী
- বা একটি নৌকা
- বা একটি বিমান
ইলাস্টেটিভ আইডিইএফ 1 এক্স ডায়াগ্রাম
চিত্র 1 এ সম্পর্কিত IDEF1X 1 চিত্রটি প্রদর্শন করে যা প্রাসঙ্গিকভাবে প্রদর্শিত অন্যান্য ব্যবসায়িক বিধিগুলির সাথে পূর্ববর্তী সূত্রগুলি গোষ্ঠী করতে আমি তৈরি করেছি:
Supertype
একদিকে, অন আইটেম , supertype, উপহার বৈশিষ্ট্য † বা চারিত্রিক বৈশিষ্ট্য আছে যেগুলো সব সাধারণ ধরন , অর্থাত্,
- CategoryCode -specified যেমন একটি বিদেশী কী (এফ কে) যে রেফারেন্স Category.CategoryCode এবং একটি উপপ্রকার হিসাবে ফাংশন discriminator , অর্থাৎ, এটি নির্দেশ করে সঠিক শ্রেণী উপপ্রকার প্রদত্ত যা দিয়ে আইটেম connected- হতে হবে,
- OwnerId একটি এফ কে যে পয়েন্ট হিসেবে -distinguished User.UserId , কিন্তু আমি এটি কি রোল নাম বরাদ্দ 2 অনুক্রমে তার বিশেষ প্রভাব আরো accurately- প্রতিফলিত করতে,
- ফু ,
- বার ,
- বাজ এবং
- তৈরিডেটটাইম ।
উপশাখা
অন্যদিকে, বৈশিষ্ট্য ‡ যে প্রতি বিশেষ অধিকারে থাকা শ্রেণী , অর্থাত্,
- Qux এবং Corge ;
- গ্রুট , গার্পলি এবং প্লুঘ ;
- Xyzzy , দুম্ করিয়া , Wibble এবং Flob ;
সংশ্লিষ্ট সাব টাইপ বক্সে প্রদর্শিত হয়।
শনাক্তকারী
তারপরে, আইটেম.আইডিমিটি প্রাথমিক কী (পিকে) বিভিন্ন চরিত্রের নাম সহ 3 টি সাব - টাইপে স্থানান্তরিত হয়েছে , অর্থাৎ,
- কারআইডি ,
- বোটআইডি এবং
- PlaneId ।
পারস্পরিক একচেটিয়া সমিতি
চিত্রিত হিসাবে, (ক) প্রতিটি অতিপ্রাকৃত ঘটনা এবং (খ) এর পরিপূরক সাব টাইপ দৃষ্টান্তের মধ্যে কার্ডিনালিটি ওয়ান টু ওয়ান (1: 1) এর সাথে একটি সমিতি বা সম্পর্ক রয়েছে।
একচেটিয়া উপপ্রকার প্রতীক সত্য যে উপশাখাকে পারস্পরিক একচেটিয়া, অর্থাৎ চিত্রিত, একটি কংক্রিট আইটেম সংঘটন শুধুমাত্র একটি একক উপপ্রকার উদাহরণস্বরূপ দ্বারা supplemented করা যেতে পারে: হয় এক গাড়ি , বা এক প্লেন , বা এক নৌকা (দুই বা তার বেশি কখনো)।
† , ‡ সত্তা প্রকারের কিছু বৈশিষ্ট্য এনটাইটেল করার জন্য আমি ক্লাসিক স্থানধারীর নাম নিযুক্ত করেছি, কারণ তাদের আসল নামগুলি প্রশ্নটিতে সরবরাহ করা হয়নি।
এক্সপোজিটরি লজিকাল-স্তরের বিন্যাস
ফলস্বরূপ, একটি এক্সপোজিটারি লজিকাল ডিজাইন নিয়ে আলোচনা করতে, আমি প্রদর্শিত এবং বর্ণিত IDEF1X চিত্রের উপর ভিত্তি করে নিম্নলিখিত এসকিউএল-ডিডিএল বিবৃতি পেয়েছি:
-- You should determine which are the most fitting
-- data types and sizes for all your table columns
-- depending on your business context characteristics.
-- Also, you should make accurate tests to define the
-- most convenient INDEX strategies based on the exact
-- data manipulation tendencies of your business context.
-- As one would expect, you are free to utilize
-- your preferred (or required) naming conventions.
CREATE TABLE UserProfile (
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) -- ALTERNATE KEY.
);
CREATE TABLE Category (
CategoryCode CHAR(1) NOT NULL, -- Meant to contain meaningful, short and stable values, e.g.; 'C' for 'Car'; 'B' for 'Boat'; 'P' for 'Plane'.
Name CHAR(30) NOT NULL,
--
CONSTRAINT Category_PK PRIMARY KEY (CategoryCode),
CONSTRAINT Category_AK UNIQUE (Name) -- ALTERNATE KEY.
);
CREATE TABLE Item ( -- Stands for the supertype.
ItemId INT NOT NULL,
OwnerId INT NOT NULL,
CategoryCode CHAR(1) NOT NULL, -- Denotes the subtype discriminator.
Foo CHAR(30) NOT NULL,
Bar CHAR(30) NOT NULL,
Baz CHAR(30) NOT NULL,
CreatedDateTime DATETIME NOT NULL,
--
CONSTRAINT Item_PK PRIMARY KEY (ItemId),
CONSTRAINT Item_to_Category_FK FOREIGN KEY (CategoryCode)
REFERENCES Category (CategoryCode),
CONSTRAINT Item_to_User_FK FOREIGN KEY (OwnerId)
REFERENCES UserProfile (UserId)
);
CREATE TABLE Car ( -- Represents one of the subtypes.
CarId INT NOT NULL, -- Must be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
Qux CHAR(30) NOT NULL,
Corge CHAR(30) NOT NULL,
--
CONSTRAINT Car_PK PRIMARY KEY (CarId),
CONSTRAINT Car_to_Item_FK FOREIGN KEY (CarId)
REFERENCES Item (ItemId)
);
CREATE TABLE Boat ( -- Stands for one of the subtypes.
BoatId INT NOT NULL, -- Must be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
Grault CHAR(30) NOT NULL,
Garply CHAR(30) NOT NULL,
Plugh CHAR(30) NOT NULL,
--
CONSTRAINT Boat_PK PRIMARY KEY (BoatId),
CONSTRAINT Boat_to_Item_FK FOREIGN KEY (BoatId)
REFERENCES Item (ItemId)
);
CREATE TABLE Plane ( -- Denotes one of the subtypes.
PlaneId INT NOT NULL, -- Must be constrained as (a) the PRIMARY KEY and (b) a FOREIGN KEY.
Xyzzy CHAR(30) NOT NULL,
Thud CHAR(30) NOT NULL,
Wibble CHAR(30) NOT NULL,
Flob CHAR(30) NOT NULL,
--
CONSTRAINT Plane_PK PRIMARY KEY (PlaneId),
CONSTRAINT Plane_to_Item_PK FOREIGN KEY (PlaneId)
REFERENCES Item (ItemId)
);
প্রদর্শিত হিসাবে, superentity ধরণ এবং subentity ধরণের প্রতিটি সংশ্লিষ্ট বেস টেবিল দ্বারা প্রতিনিধিত্ব করা হয় ।
কলাম CarId
, BoatId
এবং PlaneId
উপযুক্ত টেবিল পিকেএস যেমন সীমাবদ্ধ, এফ কে সীমাবদ্ধতার প্রণালী দ্বারা ধারণাগত পর্যায়ের একের সাথে এক সমিতি প্রতিনিধিত্বমূলক সাহায্যের § যে বিন্দু ItemId
কলাম, যা পি কে যেমন সীমাবদ্ধ Item
টেবিল। এটি বোঝায় যে, একটি আসল "জোড়ায়", সুপারটাইপ এবং সাব টাইপ সারি উভয়ই একই পিকে মান দ্বারা চিহ্নিত করা হয়; সুতরাং, এটি উল্লেখ করার চেয়ে সুবিধাজনক
- (ক) একটি সংযোজনের অতিরিক্ত হোল্ড সিস্টেম-নিয়ন্ত্রিত ভাড়াটে মান কলাম ‖ (খ) টেবিল উপশাখাকে জন্য দাঁড়িয়ে থেকে (গ) সম্পূর্ণরূপে অপর্যাপ্ত ।
§ অর্ডার সমস্যা ও ত্রুটি সংক্রান্ত (বিশেষত অজানা) কী বাধ্যতা সংজ্ঞা -situation আপনি comments- উল্লেখ প্রতিরোধ করার জন্য, এটা খুবই গুরুত্বপূর্ণ বিবেচনা করা হয় অস্তিত্ব-নির্ভরতা যে হাতে বিভিন্ন টেবিল মধ্যে সঞ্চালিত হয়, হিসাবে exemplified এক্সপোজেটরি ডিডিএল কাঠামোর মধ্যে সারণীর ঘোষণার আদেশ, যা আমি এই এসকিউএল ফিডলগুলিতে সরবরাহ করেছি ।
‖ উদাহরণস্বরূপ, মাইএসকিউএল নির্মিত একটি ডাটাবেসের টেবিলটিতে AUTO_INCREMENT সম্পত্তি সহ একটি অতিরিক্ত কলাম যুক্ত করা ।
নিখরচায়তা এবং ধারাবাহিকতা বিবেচনা
এটি উল্লেখ করা গুরুত্বপূর্ণ যে আপনার ব্যবসায়ের পরিবেশে, আপনাকে (1) এটি নিশ্চিত করতে হবে যে প্রতিটি "সুপারটাইপ" সারিটি সর্বদা এটির সাথে সম্পর্কিত "সাব টাইপ" প্রতিরূপ দ্বারা পরিপূরক, এবং পরিবর্তে, (২) গ্যারান্টি বলেছে যে "সাব টাইপ" সারিটি "সুপার টাইপ" সারির "বৈষম্যমূলক" কলামে থাকা মানের সাথে সামঞ্জস্যপূর্ণ।
ঘোষিত পদ্ধতিতে এই জাতীয় পরিস্থিতি কার্যকর করা খুব মার্জিত হবে তবে দুর্ভাগ্যক্রমে, বড় এসকিউএল প্ল্যাটফর্মগুলির কোনওটিই যথাযথ ব্যবস্থা সরবরাহ করেনি, যতদূর আমি জানি। সুতরাং, এসিডি ট্রান্সএকশনের মধ্যে পদ্ধতিগত কোডটি অবলম্বন করা এটি যথেষ্ট সুবিধাজনক যাতে এই শর্তগুলি সর্বদা আপনার ডাটাবেসে পূরণ হয়। অন্য বিকল্পটি ট্রিগারদের নিয়োগ করবে, তবে তারা জিনিসগুলিকে অপ্রীতিকর করে তোলে, তাই বলে।
দরকারী মতামত ঘোষণা
এক মত একটি লজিক্যাল নকশা উপরে বর্ণিত হচ্ছে, এটা খুবই ব্যবহারিক হবে এক বা একাধিক মতামত, অর্থাত, তৈরি করতে উদ্ভূত টেবিল যে কলাম প্রাসঙ্গিক আরো দুই বা অন্তর্গত গঠিত বেস টেবিল। এই উপায়ে, আপনি উদাহরণস্বরূপ, প্রত্যেকবার "সংযুক্ত" তথ্য পুনরুদ্ধার করার জন্য সমস্ত জোইনগুলি না লিখে those দর্শনগুলি থেকে সরাসরি নির্বাচন করতে পারেন।
নমুনা তথ্য
এই ক্ষেত্রে, আসুন আমরা বলতে পারি যে বেস টেবিলগুলি নীচে দেখানো নমুনা ডেটা সহ "জনবহুল" রয়েছে:
--
INSERT INTO UserProfile
(UserId, FirstName, LastName, BirthDate, GenderCode, Username, CreatedDateTime)
VALUES
(1, 'Edgar', 'Codd', '1923-08-19', 'M', 'ted.codd', CURDATE()),
(2, 'Michelangelo', 'Buonarroti', '1475-03-06', 'M', 'michelangelo', CURDATE()),
(3, 'Diego', 'Velázquez', '1599-06-06', 'M', 'd.velazquez', CURDATE());
INSERT INTO Category
(CategoryCode, Name)
VALUES
('C', 'Car'), ('B', 'Boat'), ('P', 'Plane');
-- 1. ‘Full’ Car INSERTion
-- 1.1
INSERT INTO Item
(ItemId, OwnerId, CategoryCode, Foo, Bar, Baz, CreatedDateTime)
VALUES
(1, 1, 'C', 'This datum', 'That datum', 'Other datum', CURDATE());
-- 1.2
INSERT INTO Car
(CarId, Qux, Corge)
VALUES
(1, 'Fantastic Car', 'Powerful engine pre-update!');
-- 2. ‘Full’ Boat INSERTion
-- 2.1
INSERT INTO Item
(ItemId, OwnerId, CategoryCode, Foo, Bar, Baz, CreatedDateTime)
VALUES
(2, 2, 'B', 'This datum', 'That datum', 'Other datum', CURDATE());
-- 2.2
INSERT INTO Boat
(BoatId, Grault, Garply, Plugh)
VALUES
(2, 'Excellent boat', 'Use it to sail', 'Everyday!');
-- 3 ‘Full’ Plane INSERTion
-- 3.1
INSERT INTO Item
(ItemId, OwnerId, CategoryCode, Foo, Bar, Baz, CreatedDateTime)
VALUES
(3, 3, 'P', 'This datum', 'That datum', 'Other datum', CURDATE());
-- 3.2
INSERT INTO Plane
(PlaneId, Xyzzy, Thud, Wibble, Flob)
VALUES
(3, 'Extraordinary plane', 'Traverses the sky', 'Free', 'Like a bird!');
--
এর পরে, একটি সুবিধাজনক দৃশ্য এক যে ধরেছেন থেকে কলাম হয় Item
, Car
এবং UserProfile
:
--
CREATE VIEW CarAndOwner AS
SELECT C.CarId,
I.Foo,
I.Bar,
I.Baz,
C.Qux,
C.Corge,
U.FirstName AS OwnerFirstName,
U.LastName AS OwnerLastName
FROM Item I
JOIN Car C
ON C.CarId = I.ItemId
JOIN UserProfile U
ON U.UserId = I.OwnerId;
--
স্বাভাবিকভাবেই, একটি অনুরূপ পদ্ধতির অনুসরণ করা যেতে পারে যাতে আপনি পাশাপাশি একটি সম্পূর্ণ টেবিল থেকে সরাসরি "পূর্ণ" Boat
এবং Plane
তথ্য নির্বাচন করতে পারেন (এই ক্ষেত্রে একটি উত্সাহিত,)।
আপনি -if নিম্নলিখিত দেখুন সংজ্ঞা সঙ্গে ফলাফলের sets- মধ্যে শূন্য নম্বরের উপস্থিতি সম্পর্কে কিছু মনে না করেন পরে, আপনি যা করতে পারেন, যেমন, "সংগ্রহ" টেবিল থেকে কলাম Item
, Car
, Boat
, Plane
এবং UserProfile
:
--
CREATE VIEW FullItemAndOwner AS
SELECT I.ItemId,
I.Foo, -- Common to all Categories.
I.Bar, -- Common to all Categories.
I.Baz, -- Common to all Categories.
IC.Name AS Category,
C.Qux, -- Applies to Cars only.
C.Corge, -- Applies to Cars only.
--
B.Grault, -- Applies to Boats only.
B.Garply, -- Applies to Boats only.
B.Plugh, -- Applies to Boats only.
--
P.Xyzzy, -- Applies to Planes only.
P.Thud, -- Applies to Planes only.
P.Wibble, -- Applies to Planes only.
P.Flob, -- Applies to Planes only.
U.FirstName AS OwnerFirstName,
U.LastName AS OwnerLastName
FROM Item I
JOIN Category IC
ON I.CategoryCode = IC.CategoryCode
LEFT JOIN Car C
ON C.CarId = I.ItemId
LEFT JOIN Boat B
ON B.BoatId = I.ItemId
LEFT JOIN Plane P
ON P.PlaneId = I.ItemId
JOIN UserProfile U
ON U.UserId = I.OwnerId;
--
এখানে দেখানো দর্শনগুলির কোডটি কেবল চিত্রিত। অবশ্যই, কিছু পরীক্ষার অনুশীলন এবং পরিবর্তনগুলি হাতে থাকা প্রশ্নের (শারীরিক) সম্পাদনকে ত্বরান্বিত করতে সাহায্য করতে পারে। তদতিরিক্ত, আপনার প্রয়োজন হতে পারে ব্যবসায়ের আদেশ যেমন বলা হয়েছে তাতে কলামগুলি মুছে ফেলতে বা যুক্ত করতে হবে।
নমুনা ডেটা এবং সমস্ত দর্শন সংজ্ঞাগুলি এই এসকিউএল ফ্রেডલમાં সংযুক্ত করা হয়েছে যাতে তারা "কার্যক্রমে" পর্যবেক্ষণ করতে পারে।
ডেটা ম্যানিপুলেশন: অ্যাপ্লিকেশন প্রোগ্রাম (গুলি) কোড এবং কলামের নাম
অ্যাপ্লিকেশন প্রোগ্রাম (গুলি) কোডের ব্যবহার (যদি এটি "সার্ভার-সাইড নির্দিষ্ট কোড" বলতে বোঝায়) এবং কলামের অন্যান্য নামগুলি আপনি পরবর্তী মন্তব্যে তুলে ধরেছেন এমন অন্যান্য উল্লেখযোগ্য বিষয়:
আমি সার্ভার-সাইড নির্দিষ্ট কোডটি দিয়ে সমস্যার সমাধান করতে সক্ষম হয়েছি, তবে আমি সত্যিই এটি করতে চাই না - সমস্ত কলামগুলিতে এলিয়াস যোগ করা "চাপ" হতে পারে।
খুব ভাল ব্যাখ্যা করা হয়েছে, আপনাকে অনেক ধন্যবাদ। যাইহোক, আমি যেমন সন্দেহ করেছি, কিছু কলামের সাথে মিল থাকার কারণে সমস্ত তথ্য তালিকাভুক্ত করার সময় আমাকে ফলাফল সেটটি হেরফের করতে হবে, যেহেতু আমি বিবৃতিটি পরিষ্কার রাখতে বেশ কয়েকটি উপাত্ত ব্যবহার করতে চাই না।
এটি ইঙ্গিত করার উপযুক্ত যে অ্যাপ্লিকেশন প্রোগ্রামের কোডটি ফলাফল সেটগুলির উপস্থাপনা (বা গ্রাফিকাল) বৈশিষ্ট্যগুলি হ্যান্ডেল করার জন্য খুব উপযুক্ত সংস্থান, একটি সারি-সারি ভিত্তিতে ডেটা পুনরুদ্ধার এড়ানো কার্যকরভাবে গতির সমস্যাগুলি রোধ করার জন্য সর্বোচ্চ is এসকিউএল প্ল্যাটফর্মের (সুনির্দিষ্টভাবে) সেট ইঞ্জিন দ্বারা সরবরাহিত শক্তিশালী ডেটা ম্যানিপুলেশন যন্ত্রগুলির মাধ্যমে টোটোতে প্রাসঙ্গিক তথ্য সেটগুলি "আনয়ন" উদ্দেশ্য হওয়া উচিত যাতে আপনি আপনার সিস্টেমের আচরণটি অনুকূলিত করতে পারেন।
তদুপরি, নির্দিষ্ট ক্ষেত্রের মধ্যে এক বা একাধিক কলামের নতুন নামকরণের জন্য এলিয়াস ব্যবহার করা জোর দেওয়া হতে পারে তবে ব্যক্তিগতভাবে আমি এ জাতীয় সংস্থানকে একটি শক্তিশালী সরঞ্জাম হিসাবে দেখি যা (i) প্রসঙ্গে এবং (ii) এর সাথে সম্পর্কিত অর্থ ও উদ্দেশ্যকে দ্বিধায়িত করতে সহায়তা করে কলাম; অতএব, এটি এমন একটি দিক যা আগ্রহের ডেটাগুলিতে হেরফেরের ক্ষেত্রে যথাযথভাবে চিন্তা করা উচিত।
অনুরূপ পরিস্থিতিতে
আপনি ভাল হিসাবে সাহায্যের পেতে পারে পোস্টের মধ্যে এই সিরিজের এবং পোস্ট এর এই দলের যা দুই অন্যান্য ক্ষেত্রে যে পারস্পরিক একচেটিয়া উপশাখাকে সঙ্গে supertype-উপপ্রকার সমিতির অন্তর্ভুক্ত আমার নিন ধারণ করে।
আমি একটি সুপারটাইপ-সাব টাইপ ক্লাস্টার জড়িত ব্যবসায়ের পরিবেশের জন্য একটি সমাধানের প্রস্তাবও দিয়েছি যেখানে এই (নতুন) উত্তরে সাব টাইপগুলি পারস্পরিক একচেটিয়া নয় ।
শেষটীকা
ইনফরমেশন মডেলিংয়ের জন্য ইন্টিগ্রেশন সংজ্ঞা ( আইডিইএফ 1 এক্স ) একটি অত্যন্ত প্রস্তাবযোগ্য ডেটা মডেলিং কৌশল যা১৯৯৩ সালের ডিসেম্বরে ইউএস ন্যাশনাল ইনস্টিটিউট অফ স্ট্যান্ডার্ডস অ্যান্ড টেকনোলজি (এনআইএসটি)দ্বারাএকটি স্ট্যান্ডার্ড হিসাবে প্রতিষ্ঠিত হয়েছিল। এটা তোলে দৃঢ় উপর (ক) তত্ত্বীয় কাজ কিছু রচনা ভিত্তি করে একমাত্র জন্মদাতা এর রিলেশনাল মডেল , অর্থাত্, ডাঃ মতিন Codd ; (খ) সত্তা-সম্পর্ক দৃষ্টিভঙ্গি , ডঃ পিপি চেন দ্বারা বিকাশ; এবং এছাড়াও (গ) রবার্ট জি ব্রাউন দ্বারা নির্মিত লজিকাল ডেটাবেস ডিজাইন প্রযুক্তি।
2 আইডিইএফ 1 এক্স-তে, কোনও ভূমিকা নাম একটি স্বতন্ত্র লেবেল যা এফকে সম্পত্তি (বা বৈশিষ্ট্য) এর জন্য নির্ধারিত হয় যাতে এটি তার নিজ নিজ সত্তার ধরণের ক্ষেত্রের মধ্যে থাকা অর্থটি প্রকাশ করে।
3 আইডিইএফ 1 এক্স স্ট্যান্ডার্ড কী মাইগ্রেশনটিকে "পিতা-মাতা বা জেনেরিক সত্তার প্রাথমিক কীটি তার সন্তান বা বিভাগের সত্তায় একটি বিদেশী কী হিসাবে রাখার মডেলিং প্রক্রিয়া" হিসাবেসংজ্ঞায়িত করে।
Item
টেবিলটিতে একটিCategoryCode
কলাম রয়েছে । "