Entity–attribute–value model
اینٹیٹی-ایٹریبیوٹ-ویلیو ماڈل (ای اے وی) ایک ڈیٹا ماڈل ہے جو اسپارس-یا ایڈہاک-پراپرٹی یا ڈیٹا ویلیوز کے اسپیس ایفیشنٹ اسٹوریج کے لیے بہتر بنایا گیا ہے، جس کا مقصد ایسے حالات کے لیے ہے جہاں رن ٹائم کے استعمال کے نمونے من مانی ہوں، صارف کے تغیر کے تابع ہوں، یا بصورت دیگر فکسڈ ڈیزائن کا استعمال کرتے ہوئے غیر متوقع ہوں۔ استعمال کے معاملے میں ایسی ایپلی کیشنز کو نشانہ بنایا جاتا ہے جو متعین پراپرٹی کی اقسام کا ایک بڑا یا بھرپور نظام پیش کرتے ہیں، جو بدلے میں اداروں کے ایک وسیع سیٹ کے لیے موزوں ہوتے ہیں، لیکن جہاں عام طور پر ان میں سے صرف ایک چھوٹا، مخصوص انتخاب کسی دیئے گئے وجود کے لیے فوری (یا برقرار) ہوتا ہے۔ لہذا، اس قسم کے ڈیٹا ماڈل کا تعلق ایک غیر معمولی میٹرکس کے ریاضیاتی تصور سے ہے۔ ای اے وی کو آبجیکٹ-ایٹریبیوٹ-ویلیو ماڈل، عمودی ڈیٹا بیس ماڈل، اور اوپن اسکیما کے نام سے بھی جانا جاتا ہے۔ اعداد و شمار کا ڈھانچہ یہ اعداد و شمار کی نمائندگی ایک غیر معمولی میٹرکس کو ذخیرہ کرنے کے خلائی موثر طریقوں سے مشابہت رکھتی ہے، جہاں صرف غیر خالی اقدار کو محفوظ کیا جاتا ہے۔ ای اے وی ڈیٹا ماڈل میں، ہر ایٹریبیوٹ ویلیو جوڑی ایک حقیقت ہے جو کسی وجود کو بیان کرتی ہے، اور ای اے وی ٹیبل میں ایک صف ایک حقیقت کو محفوظ کرتی ہے۔ ای اے وی میزیں اکثر "لمبی اور پتلی" کے طور پر بیان کی جاتی ہیں: "لمبی" سے مراد قطاروں کی تعداد، "پتلی" سے مراد چند کالم ہوتے ہیں۔ ڈیٹا کو تین کالموں کے طور پر درج کیا جاتا ہے: وجود: بیان کی جانے والی شے۔ خاصیت یا پیرامیٹر: عام طور پر خاصیت کی تعریفوں کی میز میں غیر ملکی کلید کے طور پر لاگو ہوتا ہے۔ ایٹریبیوٹ ڈیفینیشن ٹیبل میں درج ذیل کالم شامل ہو سکتے ہیں: ایک ایٹریبیوٹ آئی ڈی، ایٹریبیوٹ کا نام، تفصیل، ڈیٹا ٹائپ، اور ان پٹ کی توثیق میں مدد کرنے والے کالم، مثال کے طور پر، زیادہ سے زیادہ سٹرنگ کی لمبائی اور باقاعدہ اظہار، جائز اقدار کا مجموعہ وغیرہ۔ خاصیت کی قدر۔ مثال اس بات پر غور کریں کہ کوئی رشتہ دار ڈیٹا بیس میں عام مقصد کے طبی ریکارڈ کی نمائندگی کرنے کی کوشش کیسے کرے گا۔ واضح طور پر ہزاروں کالموں کے ساتھ ایک میز (یا میزوں کا ایک مجموعہ) بنانا ممکن نہیں ہے، کیونکہ کالموں کی اکثریت کالعدم ہوگی۔ چیزوں کو پیچیدہ بنانے کے لیے، ایک طول البلد طبی ریکارڈ میں جو وقت کے ساتھ مریض کی پیروی کرتا ہے، ایک ہی پیرامیٹر کی متعدد اقدار ہو سکتی ہیں: بچے کا قد اور وزن، مثال کے طور پر، بچے کے بڑھنے کے ساتھ بدلتا ہے۔ آخر میں، طبی نتائج کی کائنات بڑھتی رہتی ہے: مثال کے طور پر، بیماریاں ابھرتی ہیں اور لیب کے نئے ٹیسٹ وضع کیے جاتے ہیں۔ اس کے لیے کالموں کے مسلسل اضافے اور یوزر انٹرفیس پر مسلسل نظر ثانی کی ضرورت ہوگی۔ اصطلاح "خاصیت کی اتار چڑھاؤ" بعض اوقات ان مسائل یا حالات کو بیان کرنے کے لیے استعمال ہوتی ہے جو اس وقت پیدا ہوتے ہیں جب دستیاب صفات کی فہرست یا ان کی تعریفوں کو وقت کے ساتھ تیار کرنے کی ضرورت ہوتی ہے۔ درج ذیل میں 1998-05-01 کی صبح بخار کے لیے ڈاکٹر کے پاس جانے سے طبی نتائج کے لیے EAV ٹیبل کی قطاروں کا انتخاب دکھایا گیا ہے۔ اینگل بریکٹ کے اندر دکھائی جانے والی اندراجات دیگر ٹیبلز میں اندراجات کے حوالے ہیں، جو سمجھنے میں آسانی کے لیے انکوڈ شدہ غیر ملکی کلیدی اقدار کے بجائے یہاں متن کے طور پر دکھائے گئے ہیں۔ اس مثال میں، اقدار تمام لفظی اقدار ہیں، لیکن وہ پہلے سے طے شدہ قدر کی فہرستیں بھی ہو سکتی ہیں۔ مؤخر الذکر خاص طور پر مفید ہوتے ہیں جب ممکنہ اقدار کو محدود (یعنی قابل شمار) جانا جاتا ہے۔ وجود۔ طبی نتائج کے لیے، وجود مریض کا واقعہ ہے: ایک میز میں ایک غیر ملکی کلید جس میں کم از کم ایک مریض کی شناخت اور ایک یا زیادہ ٹائم اسٹیمپ (مثال کے طور پر، امتحان کی تاریخ/وقت کا آغاز اور اختتام) ہوتا ہے جو ریکارڈ کرتا ہے کہ واقعہ کب پیش آیا۔ خاصیت یا پیمانہ: خاصیت کی تعریفوں کی میز میں ایک غیر ملکی کلید (اس مثال میں، طبی نتائج کی تعریفیں)۔ کم از کم، ایٹریبیوٹ ڈیفینیشن ٹیبل میں درج ذیل کالم ہوں گے: ایک ایٹریبیوٹ آئی ڈی، ایٹریبیوٹ کا نام، تفصیل، ڈیٹا ٹائپ، پیمائش کی اکائیاں، اور ان پٹ کی توثیق میں مدد کرنے والے کالم، مثال کے طور پر، زیادہ سے زیادہ سٹرنگ کی لمبائی اور باقاعدہ اظہار، زیادہ سے زیادہ اور کم سے کم قابل اجازت اقدار، قابل اجازت اقدار کا مجموعہ وغیرہ۔ خاصیت کی قدر۔ یہ ڈیٹا کی قسم پر منحصر ہوگا، اور ہم اس بات پر تبادلہ خیال کرتے ہیں کہ اقدار کو جلد ہی کیسے محفوظ کیا جاتا ہے۔ نیچے دی گئی مثال علامات کے نتائج کی وضاحت کرتی ہے جو نمونیا کے مریض میں دیکھے جا سکتے ہیں۔ اوپر بیان کردہ ای اے وی ڈیٹا سپر مارکیٹ سیلز رسید کے مندرجات سے موازنہ ہے (جو ڈیٹا بیس میں سیلز لائن آئٹمز ٹیبل میں ظاہر ہوتا ہے)۔ رسید میں صرف اصل میں خریدی گئی اشیاء کی تفصیلات درج ہوتی ہیں، بجائے اس کے کہ دکان میں ہر ایسی چیز کو درج کیا جائے جو گاہک نے خریدی ہو لیکن نہیں کی ہو۔ کسی دیئے گئے مریض کے طبی نتائج کی طرح، فروخت کی رسید فطری طور پر کم اعداد و شمار کی ایک جامع نمائندگی ہے۔ "ہستی" سیل/ٹرانزیکشن آئی ڈی ہے-سیلز ٹرانزیکشنز ٹیبل میں ایک غیر ملکی کلید۔ اس کا استعمال ہر لائن آئٹم کو اندرونی طور پر ٹیگ کرنے کے لیے کیا جاتا ہے، حالانکہ رسید پر فروخت کے بارے میں معلومات اوپر (دکان کا مقام، فروخت کی تاریخ/وقت) اور نیچے (فروخت کی کل قیمت) ظاہر ہوتی ہے۔ "خاصیت" مصنوعات کی میز میں ایک غیر ملکی کلید ہے، جہاں سے کوئی تفصیل، یونٹ کی قیمت، چھوٹ اور پروموشنز وغیرہ دیکھتا ہے۔ (مصنوعات کلینیکل نتائج کی طرح ہی غیر مستحکم ہیں، ممکنہ طور پر اس سے بھی زیادہ: ہر ماہ نئی مصنوعات متعارف کرائی جاتی ہیں، جبکہ دیگر کو مارکیٹ سے ہٹا دیا جاتا ہے اگر صارفین کی قبولیت ناقص ہو۔ کوئی بھی قابل ڈیٹا بیس ڈیزائنر انفرادی مصنوعات جیسے ڈوریٹوس یا ڈائیٹ کوک کو میز میں کالموں کے طور پر ہارڈ کوڈ نہیں کرے گا۔) "ویلیوز" خریدی گئی مقدار اور کل لائن آئٹم کی قیمت ہیں۔ قطار ماڈلنگ، جہاں کسی چیز کے بارے میں حقائق (اس معاملے میں، سیلز ٹرانزیکشن) کو متعدد کالموں کے بجائے متعدد قطاروں کے طور پر ریکارڈ کیا جاتا ہے، ایک معیاری ڈیٹا ماڈلنگ تکنیک ہے۔ قطار ماڈلنگ اور ای اے وی کے درمیان فرق (جسے قطار ماڈلنگ کی عمومی شکل سمجھا جا سکتا ہے) یہ ہیں: ایک قطار ماڈل ٹیبل ان حقائق میں یکساں ہے جو یہ بیان کرتا ہے: ایک لائن آئٹم ٹیبل صرف فروخت شدہ مصنوعات کی وضاحت کرتا ہے۔ اس کے برعکس، ایک ای اے وی ٹیبل تقریبا کسی بھی قسم کی حقیقت پر مشتمل ہوتا ہے۔ قطار ماڈل ٹیبل میں ویلیو کالم/ایس کی ڈیٹا ٹائپ کا تعین اس کے ریکارڈ کردہ حقائق کی نوعیت سے پہلے سے کیا جاتا ہے۔ اس کے برعکس، ای اے وی ٹیبل میں، کسی خاص صف میں قدر کی تصوراتی ڈیٹا کی قسم اس صف میں موجود خاصیت پر منحصر ہوتی ہے۔ اس کے بعد پروڈکشن سسٹمز میں، ای اے وی ٹیبل میں براہ راست ڈیٹا کے اندراج کی اجازت دینا تباہی کا ایک طریقہ ہوگا، کیونکہ ڈیٹا بیس انجن خود مضبوط ان پٹ توثیق انجام دینے کے قابل نہیں ہوگا۔ ہم بعد میں دیکھیں گے کہ عام ڈھانچے کی تعمیر کیسے ممکن ہے جو ان پٹ کی توثیق کے زیادہ تر کاموں کو انجام دیتے ہیں، بغیر کسی خاصیت کی بنیاد پر لامتناہی کوڈنگ کے۔ کلینیکل ڈیٹا ریپوزیٹری میں، قطار ماڈلنگ کے بھی متعدد استعمال ہوتے ہیں۔ لیبارٹری ٹیسٹ سبسکیما کو عام طور پر اس طرح سے ماڈل کیا جاتا ہے، کیونکہ لیب ٹیسٹ کے نتائج عام طور پر عددی ہوتے ہیں، یا عددی طور پر انکوڈ کیے جا سکتے ہیں۔ وہ حالات جہاں آپ کو ای اے وی کے لیے معیاری قطار ماڈلنگ سے آگے جانے کی ضرورت ہوگی ذیل میں درج ہیں: انفرادی صفات کی ڈیٹا کی قسم مختلف ہوتی ہے (جیسا کہ طبی نتائج کے ساتھ دیکھا گیا ہے)۔ اعداد و شمار کے زمرے بے شمار ہیں، بڑھتے ہوئے یا اتار چڑھاؤ والے، لیکن ہر زمرے کے اندر مثالوں (ریکارڈ/قطاریں) کی تعداد بہت کم ہے۔ یہاں، روایتی ماڈلنگ کے ساتھ، ڈیٹا بیس کے وجود سے تعلق کے خاکے میں سینکڑوں ٹیبلز ہو سکتے ہیں: جن ٹیبلز میں ہزاروں/لاکھوں قطاریں/مثالیں ہوتی ہیں ان پر بصری طور پر اسی حد تک زور دیا جاتا ہے جس حد تک بہت کم قطاریں ہوتی ہیں۔ مؤخر الذکر ای اے وی کی نمائندگی میں تبدیلی کے امیدوار ہیں۔ یہ صورتحال آنٹولوجی ماڈلنگ ماحول میں پیدا ہوتی ہے، جہاں زمروں ("کلاسز") کو اکثر اڑتے ہوئے بنایا جانا چاہیے، اور کچھ کلاسز کو اکثر پروٹو ٹائپنگ کے بعد کے چکروں میں ختم کر دیا جاتا ہے۔ بعض ("ہائبرڈ") کلاسوں میں کچھ ایسی صفات ہوتی ہیں جو غیر متفرق ہوتی ہیں (تمام یا زیادہ تر مثالوں میں موجود ہوتی ہیں)، جبکہ دیگر صفات انتہائی متغیر اور کم ہوتی ہیں۔ مؤخر الذکر ای اے وی ماڈلنگ کے لیے موزوں ہیں۔ مثال کے طور پر، ایک اجتماعی کارپوریشن کے ذریعہ تیار کردہ مصنوعات کی وضاحت مصنوعات کے زمرے پر منحصر ہوتی ہے، مثال کے طور پر، لائٹ بلب کے برانڈ کو بیان کرنے کے لیے ضروری صفات میڈیکل امیجنگ ڈیوائس کو بیان کرنے کے لیے درکار صفات سے بالکل مختلف ہیں، لیکن دونوں میں پیکیجنگ یونٹ اور فی آئٹم لاگت جیسی مشترک خصوصیات ہیں۔ تصورات کی تفصیل وجود طبی اعداد و شمار میں، وجود عام طور پر ایک طبی واقعہ ہوتا ہے، جیسا کہ اوپر بیان کیا گیا ہے۔ زیادہ عام مقصد کی ترتیبات میں، ہستی ایک "آبجیکٹ" ٹیبل میں ایک غیر ملکی کلید ہے جو ڈیٹا بیس میں ہر "آبجیکٹ" (چیز) کے بارے میں عام معلومات ریکارڈ کرتی ہے-کم از کم، ایک ترجیحی نام اور مختصر تفصیل کے ساتھ ساتھ زمرہ/زمرہ جس سے اس کا تعلق ہے۔ اس ٹیبل میں موجود ہر ریکارڈ (آبجیکٹ) کو مشین سے تیار کردہ آبجیکٹ آئی ڈی تفویض کیا گیا ہے۔ "آبجیکٹ ٹیبل" نقطہ نظر کا آغاز ٹام سلیزاک اور لارنس لیورمور لیبارٹریز کے ساتھیوں نے کروموسوم 19 ڈیٹا بیس کے لیے کیا تھا، اور اب یہ زیادہ تر بڑے بائیو انفارمیٹکس ڈیٹا بیس میں معیاری ہے۔ آبجیکٹ ٹیبل کا استعمال ای اے وی ڈیزائن کے بیک وقت استعمال کو لازمی نہیں بناتا: روایتی ٹیبلز کو ہر آبجیکٹ کی زمرہ مخصوص تفصیلات کو ذخیرہ کرنے کے لیے استعمال کیا جا سکتا ہے۔ مرکزی آبجیکٹ ٹیبل کا سب سے بڑا فائدہ یہ ہے کہ، آبجیکٹ کے مترادفات اور مطلوبہ الفاظ کی معاون ٹیبل رکھنے سے، کوئی بھی پورے سسٹم میں گوگل جیسا معیاری سرچ میکانزم فراہم کر سکتا ہے جہاں صارف دلچسپی کے کسی بھی آبجیکٹ کے بارے میں معلومات حاصل کر سکتا ہے۔ پہلے اس زمرے کی وضاحت کریں جس سے اس کا تعلق ہے۔ (یہ بائیو سائنس کے نظاموں میں اہم ہے جہاں "ایسیٹیلکولین" جیسا کلیدی لفظ یا تو خود مالیکیول کا حوالہ دے سکتا ہے، جو کہ ایک نیورو ٹرانسمیٹر ہے، یا حیاتیاتی رسیپٹر جس سے یہ جڑا ہوا ہے۔) ای اے وی ٹیبل میں ہی، یہ صرف ایک ایٹریبیوٹ آئی ڈی ہے، جو ایک ایٹریبیوٹ ڈیفینیشن ٹیبل میں ایک غیر ملکی کلید ہے، جیسا کہ اوپر بیان کیا گیا ہے۔ تاہم، عام طور پر متعدد میٹا ڈیٹا ٹیبلز ہوتے ہیں جن میں خاصیت سے متعلق معلومات ہوتی ہیں، اور ان پر جلد ہی تبادلہ خیال کیا جاتا ہے۔ تمام اقدار کو تاروں میں جکڑنے کی قدر، جیسا کہ اوپر ای اے وی ڈیٹا کی مثال میں، ایک سادہ، لیکن غیر توسیع پذیر، ساخت کا نتیجہ ہے: اگر کوئی اقدار کے ساتھ کچھ کرنا چاہتا ہے تو مستقل ڈیٹا ٹائپ انٹر کنورژن کی ضرورت ہوتی ہے، اور ای اے وی ٹیبل کے ویلیو کالم پر ایک انڈیکس بنیادی طور پر بیکار ہے۔ نیز، بڑے بائنری ڈیٹا، جیسے تصاویر، کو بیس 64 انکوڈ شدہ شکل میں اسی ٹیبل میں چھوٹے انٹیجرز یا سٹرنگز کے طور پر ذخیرہ کرنا آسان نہیں ہے۔ لہذا، بڑے سسٹم ہر ڈیٹا ٹائپ کے لیے علیحدہ ای اے وی ٹیبلز کا استعمال کرتے ہیں (بشمول بائنری بڑی اشیاء، "بلوبس")، جس میں کسی دی گئی خاصیت کے لیے میٹا ڈیٹا ای اے وی ٹیبل کی شناخت کرتا ہے جس میں اس کا ڈیٹا محفوظ کیا جائے گا۔ یہ نقطہ نظر دراصل کافی موثر ہے کیونکہ کسی دی گئی کلاس یا فارم کے لیے خاصیت میٹا ڈیٹا کی معمولی مقدار جس کے ساتھ صارف کام کرنے کا انتخاب کرتا ہے اسے میموری میں آسانی سے کیش کیا جا سکتا ہے۔ تاہم، اگر کسی خاصیت کے ڈیٹا ٹائپ کو تبدیل کیا جاتا ہے تو اس کے لیے ڈیٹا کو ایک ٹیبل سے دوسرے ٹیبل پر منتقل کرنے کی ضرورت ہوتی ہے۔ تاریخ ای اے وی، علم کی نمائندگی کے ایک عام مقصد کے ذریعہ کے طور پر، "ایسوسی ایشن لسٹس" (خاصیت-قدر کے جوڑے) کے تصور سے شروع ہوا۔ آج کل عام طور پر استعمال ہونے والے، یہ سب سے پہلے LISP زبان میں متعارف کرائے گئے تھے۔ ایٹریبیوٹ ویلیو کے جوڑے وسیع پیمانے پر متنوع ایپلی کیشنز کے لیے استعمال ہوتے ہیں، جیسے کہ کنفیگریشن فائلیں (ایک سادہ نحو جیسے ایٹریبیوٹ = ویلیو کا استعمال کرتے ہوئے)۔ ای اے وی کے غیر ڈیٹا بیس استعمال کی ایک مثال یو آئی ایم اے (ان اسٹرکچرڈ انفارمیشن مینجمنٹ آرکیٹیکچر) میں ہے، جو اب اپاچی فاؤنڈیشن کے زیر انتظام ایک معیار ہے اور قدرتی زبان کی پروسیسنگ جیسے شعبوں میں استعمال ہوتا ہے۔ متن کا تجزیہ کرنے والا سافٹ ویئر عام طور پر کسی حصے کو نشان زد کرتا ہے ("اینوٹیٹس"): یو آئی ایم اے ٹیوٹوریل میں فراہم کردہ مثال ایک ایسا پروگرام ہے جو کسی دستاویز پر نامی-شناخت (این ای آر) انجام دیتا ہے، جس میں متن کے حصے "صدر بش" کو اینوٹیشن-ایٹریبیوٹ-ویلیو ٹرپل (پرسن، فل _ نیم، "جارج ڈبلیو بش") کے ساتھ بیان کیا جاتا ہے۔ اس طرح کی تشریحات کو ڈیٹا بیس ٹیبل میں محفوظ کیا جا سکتا ہے۔ اگرچہ ای اے وی کا اے وی جوڑوں سے براہ راست تعلق نہیں ہے، لیکن ایسا لگتا ہے کہ اسٹیڈ اور ہیمنڈ سب سے پہلے ایسے ہیں جنہوں نے من مانی طور پر پیچیدہ ڈیٹا کے مستقل اسٹوریج کے لیے ان کے استعمال کا تصور کیا ہے۔ ای اے وی کو استعمال کرنے والے پہلے طبی ریکارڈ سسٹم ریجنسٹریف الیکٹرانک میڈیکل ریکارڈ (کلیمنٹ میکڈونلڈ کی قیادت میں کوشش)، ولیم اسٹیڈ اور ایڈ ہیمنڈ کا ٹی ایم آر (دی میڈیکل ریکارڈ) سسٹم اور ایل ڈی ایس ہسپتال، سالٹ لیک سٹی، یوٹاہ میں ہومر وارنر کے گروپ کے ذریعہ تیار کردہ ایچ ای ایل پی کلینیکل ڈیٹا ریپوزیٹری (سی ڈی آر) تھے۔ (ریجن اسٹریف سسٹم نے دراصل ایک مریض-خاصیت-ٹائم اسٹیمپ-ویلیو ڈیزائن کا استعمال کیا: ٹائم اسٹیمپ کے استعمال سے کسی دیئے گئے مریض/خاصیت کے لیے اقدار کو تاریخی ترتیب میں بازیافت کرنے میں مدد ملتی ہے۔) یہ تمام نظام، جو 1970 کی دہائی میں تیار کیے گئے تھے، ای ایف کوڈ کے رشتہ دار ڈیٹا بیس ماڈل پر مبنی تجارتی نظام دستیاب ہونے سے پہلے جاری کیے گئے تھے، حالانکہ ایچ ای ایل پی کو بہت بعد میں ایک رشتہ دار فن تعمیر میں پیش کیا گیا اور 3 ایم کارپوریشن نے اسے تجارتی بنایا۔ (نوٹ کریں کہ اگرچہ کوڈ کا تاریخی مقالہ 1970 میں شائع ہوا تھا، لیکن اس کے بھاری ریاضیاتی لہجے کا غیر کمپیوٹر سائنس کی اقسام کے درمیان اس کی رسائی کو کم کرنے اور اس کے نتیجے میں آئی ٹی اور سافٹ ویئر فروش حلقوں میں ماڈل کی قبولیت میں تاخیر کا بدقسمتی اثر پڑا۔ کرسٹوفر جے کے بعد کے تعاون کی قدر۔ ڈیٹ، آئی بی ایم میں کوڈ کے ساتھی، ان خیالات کو قابل رسائی زبان میں ترجمہ کرنے میں، ان کی طاقت کو واضح کرنے والی سادہ مثالوں کے ساتھ، حد سے زیادہ اندازہ نہیں لگایا جا سکتا۔) کولمبیا-پریسبیٹیرین میڈیکل سینٹر کے ایک گروپ نے سب سے پہلے رشتہ دار ڈیٹا بیس انجن کو ای اے وی سسٹم کی بنیاد کے طور پر استعمال کیا۔ ناڈکرنی اور دیگر کا اوپن سورس ٹرائل ڈی بی کلینیکل اسٹڈی ڈیٹا مینجمنٹ سسٹم۔ ایک سے زیادہ ای اے وی ٹیبل استعمال کرنے والا پہلا شخص تھا، ہر ڈی بی ایم ایس ڈیٹا ٹائپ کے لیے ایک۔ ای اے وی/سی آر فریم ورک، جسے بنیادی طور پر لوئس ماریینکو اور پرکاش ناڈکرنی نے ڈیزائن کیا تھا، نے ای اے وی پر آبجیکٹ اورینٹیشن کے اصولوں کو اوورلیڈ کیا ؛ یہ ٹام سلیزاک کے آبجیکٹ ٹیبل اپروچ ("اینٹیٹی" سیکشن میں پہلے بیان کردہ) پر بنایا گیا تھا۔ سینس لیب، ایک عوامی طور پر قابل رسائی نیورو سائنس ڈیٹا بیس، ای اے وی/سی آر فریم ورک کے ساتھ بنایا گیا ہے۔ ڈیٹا بیس میں استعمال "ای اے وی ڈیٹا بیس" کی اصطلاح سے مراد ڈیٹا بیس ڈیزائن ہے جہاں ڈیٹا کا ایک اہم تناسب ای اے وی کے طور پر بنایا جاتا ہے۔ تاہم، یہاں تک کہ "ای اے وی پر مبنی" کے طور پر بیان کردہ ڈیٹا بیس میں بھی، نظام میں کچھ ٹیبل روایتی رشتہ دار ٹیبل ہیں۔ جیسا کہ اوپر بیان کیا گیا ہے، ای اے وی ماڈلنگ ڈیٹا کے زمروں کے لیے معنی رکھتی ہے، جیسے کہ طبی نتائج، جہاں صفات بے شمار اور کم ہیں۔ جہاں یہ شرائط برقرار نہیں ہیں، معیاری رشتہ دار ماڈلنگ (یعنی، ایک کالم فی خاصیت) بہتر ہے۔ ای اے وی کے استعمال کا مطلب عقل عامہ یا اچھے رشتہ دار ڈیزائن کے اصولوں کو ترک کرنا نہیں ہے۔ کلینیکل ریکارڈ سسٹمز میں، مریضوں کی آبادی اور بلنگ سے نمٹنے والے سبسکیما عام طور پر روایتی طور پر بنائے جاتے ہیں۔ (اگرچہ زیادہ تر وینڈر ڈیٹا بیس اسکیما ملکیتی ہیں، وسٹا، ریاستہائے متحدہ کے محکمہ ویٹرنز افیئرز (وی اے) میڈیکل سسٹم میں استعمال ہونے والا نظام، جسے ویٹرنز ہیلتھ ایڈمنسٹریشن (وی ایچ اے) کے نام سے جانا جاتا ہے، اوپن سورس ہے اور اس کا اسکیما آسانی سے معائنہ کے قابل ہے، حالانکہ یہ رشتہ دار ڈیٹا بیس کے بجائے ایم یو ایم پی ایس ڈیٹا بیس انجن استعمال کرتا ہے۔) جیسا کہ جلد ہی بحث کی گئی ہے، ایک ای اے وی ڈیٹا بیس بنیادی طور پر متعدد معاون ٹیبلز کے بغیر ناقابل تسخیر ہے جس میں معاون میٹا ڈیٹا ہوتا ہے۔ میٹا ڈیٹا ٹیبلز، جو عام طور پر ای اے وی ٹیبلز کو کم از کم تین یا اس سے زیادہ کے عنصر سے پیچھے چھوڑ دیتے ہیں، عام طور پر معیاری رشتہ دار ٹیبلز ہوتے ہیں۔ میٹا ڈیٹا ٹیبل کی ایک مثال اوپر بیان کردہ ایٹریبیوٹ ڈیفینیشن ٹیبل ہے۔ ای اے وی/سی آر: کلاسوں اور رشتوں کے ساتھ ذیلی ساخت کی نمائندگی کرنا ایک سادہ ای اے وی ڈیزائن میں، جہاں تک ڈیٹا بیس انجن کا تعلق ہے، کسی خاصیت کی اقدار سادہ یا ابتدائی ڈیٹا کی اقسام ہوتی ہیں۔ تاہم، انتہائی متنوع ڈیٹا کی نمائندگی کے لیے استعمال ہونے والے ای اے وی سسٹمز میں، یہ ممکن ہے کہ کسی دی گئی چیز (کلاس کی مثال) میں ذیلی ساخت ہو: یعنی، اس کی کچھ صفات دوسری قسم کی اشیاء کی نمائندگی کر سکتی ہیں، جس کے نتیجے میں ذیلی ساخت ہو سکتی ہے، پیچیدگی کی صوابدیدی سطح تک۔ مثال کے طور پر، ایک کار میں انجن، ٹرانسمیشن وغیرہ ہوتا ہے، اور انجن میں سلنڈر جیسے اجزاء ہوتے ہیں۔ (کسی دی گئی کلاس کے لیے قابل اجازت ذیلی ساخت کی وضاحت سسٹم کے ایٹریبیوٹ میٹا ڈیٹا کے اندر کی گئی ہے، جیسا کہ بعد میں بحث کی گئی ہے۔ اس طرح، مثال کے طور پر، خاصیت "بے ترتیب رسائی میموری" کلاس "کمپیوٹر" پر لاگو ہوسکتی ہے لیکن کلاس "انجن" پر نہیں۔) سب اسٹرکچر کی نمائندگی کرنے کے لیے، ایک خصوصی ای اے وی ٹیبل کو شامل کیا جاتا ہے جہاں ویلیو کالم میں سسٹم کے دیگر اداروں کے حوالے ہوتے ہیں (یعنی آبجیکٹ ٹیبل میں غیر ملکی کلیدی اقدار)۔ کسی دی گئی شے پر تمام معلومات حاصل کرنے کے لیے میٹا ڈیٹا کے ریکرسو ٹریورسل کی ضرورت ہوتی ہے، اس کے بعد ڈیٹا کا ریکرسو ٹریورسل ہوتا ہے جو اس وقت رک جاتا ہے جب بازیافت کی گئی ہر خاصیت سادہ (ایٹمک) ہوتی ہے۔ ریکرسو ٹریورسل ضروری ہے چاہے انفرادی کلاس کی تفصیلات روایتی یا ای اے وی کی شکل میں پیش کی جائیں۔ اس طرح کا ٹریورسل معیاری آبجیکٹ ریلیشن سسٹم میں انجام دیا جاتا ہے، مثال کے طور پر۔ عملی طور پر، زیادہ تر کلاسوں کے لیے ریکرشن کی سطحوں کی تعداد نسبتا معمولی ہوتی ہے، اس لیے ریکرشن کی وجہ سے کارکردگی کے جرمانے معمولی ہوتے ہیں، خاص طور پر آبجیکٹ آئی ڈی کی انڈیکسنگ کے ساتھ۔ ای اے وی/سی آر (کلاسوں اور تعلقات کے ساتھ ای اے وی) سے مراد ایک ایسا فریم ورک ہے جو پیچیدہ ذیلی ساخت کی حمایت کرتا ہے۔ اس کا نام کسی حد تک غلط ہے: اگرچہ یہ ای اے وی سسٹمز پر کام کا ایک حصہ تھا، عملی طور پر، اس طرح کے سسٹم میں بہت سے یا یہاں تک کہ زیادہ تر کلاسوں کی نمائندگی معیاری رشتہ دار شکل میں کی جا سکتی ہے، اس بنیاد پر کہ آیا صفات کم ہیں یا گھنے۔ ای اے وی/سی آر واقعی اس کے انتہائی تفصیلی میٹا ڈیٹا کی خصوصیت رکھتا ہے، جو کلاس بہ کلاس یوزر انٹرفیس کوڈ لکھے بغیر انفرادی کلاسوں میں براؤزنگ انٹرفیس کی خودکار نسل کی حمایت کرنے کے لیے کافی ہے۔ اس طرح کے براؤزر انٹرفیس کی بنیاد یہ ہے کہ متحرک ایس کیو ایل سوالات کا ایک بیچ تیار کرنا ممکن ہے جو آبجیکٹ کی کلاس سے آزاد ہو، پہلے اس کے میٹا ڈیٹا سے مشورہ کرکے اور ڈیٹا ٹیبل کے خلاف سوالات کا ایک سلسلہ تیار کرنے کے لیے میٹا ڈیٹا کی معلومات کا استعمال کرکے، اور ان میں سے کچھ سوالات من مانی طور پر بار بار ہو سکتے ہیں۔ یہ نقطہ نظر آبجیکٹ-ایٹ-اے-ٹائم سوالات کے لیے اچھی طرح سے کام کرتا ہے، جیسا کہ ویب پر مبنی براؤزنگ انٹرفیس میں جہاں کسی آبجیکٹ کے نام پر کلک کرنے سے آبجیکٹ کی تمام تفصیلات ایک علیحدہ صفحہ میں سامنے آتی ہیں: اس آبجیکٹ کی کلاس سے وابستہ میٹا ڈیٹا بھی آبجیکٹ کی تفصیلات پیش کرنے میں سہولت فراہم کرتا ہے، کیونکہ اس میں انفرادی صفات کے عنوانات، جس ترتیب میں انہیں پیش کیا جانا ہے اس کے ساتھ ساتھ انہیں کس طرح گروپ کیا جانا ہے۔ ای اے وی/سی آر کا ایک طریقہ یہ ہے کہ کالموں کو جے ایس او این ڈھانچے رکھنے کی اجازت دی جائے، جو اس طرح مطلوبہ کلاس ڈھانچہ فراہم کرتے ہیں۔ مثال کے طور پر، پوسٹگری ایس کیو ایل، ورژن 9.4 کے طور پر، جے ایس او این بائنری کالم (جے ایس او این بی) سپورٹ پیش کرتا ہے، جس سے جے ایس او این صفات کو پوچھ گچھ، انڈیکس اور شامل کرنے کی اجازت ملتی ہے۔ میٹا ڈیٹا پروفیسر ڈاکٹر ڈینیئل ماسس (وینڈربلٹ یونیورسٹی کے میڈیکل انفارمیٹکس ڈیپارٹمنٹ کے سابق سربراہ) کے الفاظ میں، ای اے وی کے ساتھ کام کرنے کے چیلنجز اس حقیقت سے پیدا ہوتے ہیں کہ ای اے وی ڈیٹا بیس میں، "فزیکل اسکیما" (جس طرح سے ڈیٹا ذخیرہ کیا جاتا ہے) "منطقی اسکیما" سے یکسر مختلف ہے-جس طرح سے صارفین، اور بہت سے سافٹ ویئر ایپلی کیشنز جیسے کہ شماریات پیکجز، اسے انفرادی کلاسوں کے لیے روایتی قطاریں اور کالم سمجھتے ہیں۔ (کیونکہ ایک ای اے وی ٹیبل تصوراتی طور پر سیب، سنتری، انگور اور چاپ سوی کو ملاتی ہے، اگر آپ معیاری آف دی شیلف سافٹ ویئر کا استعمال کرتے ہوئے ڈیٹا کا کوئی تجزیہ کرنا چاہتے ہیں، تو زیادہ تر معاملات میں آپ کو اس کے ذیلی سیٹوں کو کالم کی شکل میں تبدیل کرنا پڑتا ہے۔ ایسا کرنے کا عمل، جسے پیوٹنگ کہا جاتا ہے، اتنا اہم ہے کہ اس پر الگ سے بحث کی جا سکتی ہے۔) میٹا ڈیٹا ہاتھ کی صفائی انجام دینے میں مدد کرتا ہے جو صارفین کو فزیکل کے بجائے منطقی اسکیما کے لحاظ سے سسٹم کے ساتھ تعامل کرنے دیتا ہے: سافٹ ویئر مسلسل مختلف کارروائیوں جیسے ڈیٹا پریزنٹیشن، انٹرایکٹو توثیق، بلک ڈیٹا نکالنے اور ایڈہاک استفسار کے لیے میٹا ڈیٹا سے مشورہ کرتا ہے۔ میٹا ڈیٹا دراصل نظام کے رویے کو اپنی مرضی کے مطابق بنانے کے لیے استعمال کیا جا سکتا ہے۔ ای اے وی سسٹم اپنے میٹا ڈیٹا میں پیچیدگی کے لیے ڈیٹا کے فزیکل اور منطقی ڈھانچے میں سادگی کا تبادلہ کرتے ہیں، جو دوسری چیزوں کے علاوہ، وہ کردار ادا کرتا ہے جو ڈیٹا بیس کی رکاوٹیں اور حوالہ جاتی سالمیت معیاری ڈیٹا بیس ڈیزائن میں کرتی ہے۔ اس طرح کا تبادلہ عام طور پر قابل قدر ہے، کیونکہ پروڈکشن سسٹم کے عام مخلوط اسکیما میں، روایتی ریلیشنل ٹیبلز میں موجود ڈیٹا خودکار انٹرفیس جنریشن جیسی فعالیت سے بھی فائدہ اٹھا سکتا ہے۔ میٹا ڈیٹا کا ڈھانچہ اتنا پیچیدہ ہے کہ یہ ڈیٹا بیس کے اندر اپنے سبسکیما پر مشتمل ہوتا ہے: ڈیٹا ٹیبلز میں مختلف غیر ملکی چابیاں اس سبسکیما کے اندر موجود ٹیبلز کا حوالہ دیتی ہیں۔ یہ سبسکیما معیاری-رشتہ دار ہے، جس میں رکاوٹوں اور حوالہ جاتی سالمیت جیسی خصوصیات کو استعمال کیا جاتا ہے۔ میٹا ڈیٹا کے مندرجات کی درستگی، مطلوبہ نظام کے رویے کے لحاظ سے، اہم ہے اور درستگی کو یقینی بنانے کے کام کا مطلب یہ ہے کہ، ای اے وی سسٹم بناتے وقت، ڈیزائن کی کافی کوششوں کو میٹا ڈیٹا ایڈیٹنگ کے لیے یوزر انٹرفیس بنانے میں جانا چاہیے جسے ٹیم کے لوگ استعمال کر سکتے ہیں جو مسئلہ ڈومین کو جانتے ہیں (مثال کے طور پر، کلینیکل میڈیسن) لیکن ضروری نہیں کہ وہ پروگرامر ہوں۔ (تاریخی طور پر، پری ریلیشنل ٹی ایم آر سسٹم کو اس کے گھریلو ادارے کے علاوہ دیگر مقامات پر اپنانے میں ناکام ہونے کی ایک اہم وجہ یہ تھی کہ تمام میٹا ڈیٹا کو ایک واحد فائل میں غیر بدیہی ڈھانچے کے ساتھ محفوظ کیا گیا تھا۔ اس فائل کے مندرجات کو تبدیل کرکے سسٹم کے رویے کو اپنی مرضی کے مطابق بنانا، سسٹم کو ٹوٹے بغیر، اتنا نازک کام تھا کہ سسٹم کے مصنفین نے اسے کرنے کے لیے صرف خود پر بھروسہ کیا۔) جہاں آر ڈی ایف کے ذریعے ای اے وی سسٹم نافذ کیا جاتا ہے، اس طرح کے میٹا ڈیٹا کو ظاہر کرنے کے لیے آر ڈی ایف اسکیما زبان کو آسانی سے استعمال کیا جا سکتا ہے۔ اس اسکیما کی معلومات کو پھر ای اے وی ڈیٹا بیس انجن کے ذریعے بہترین کارکردگی کے لیے اپنے اندرونی ٹیبل ڈھانچے کو متحرک طور پر دوبارہ منظم کرنے کے لیے استعمال کیا جا سکتا ہے۔ میٹا ڈیٹا کے حوالے سے کچھ حتمی انتباہات: کیونکہ کاروباری منطق ڈیٹا بیس اسکیما میں واضح ہونے کے بجائے میٹا ڈیٹا میں ہوتی ہے (یعنی روایتی طور پر ڈیزائن کیے گئے سسٹمز کے مقابلے میں ایک سطح کو ہٹا دیا جاتا ہے)، یہ اس شخص کے لیے کم واضح ہوتا ہے جو سسٹم سے ناواقف ہو۔ لہذا میٹا ڈیٹا براؤزنگ اور میٹا ڈیٹا رپورٹنگ ٹولز ای اے وی سسٹم کی برقرار رکھنے کو یقینی بنانے میں اہم ہیں۔ عام منظر نامے میں جہاں میٹا ڈیٹا کو ایک رشتہ دار ذیلی اسکیم کے طور پر لاگو کیا جاتا ہے، یہ ٹولز آف دی شیلف رپورٹنگ یا استفسار کے ٹولز کا استعمال کرتے ہوئے بنائے گئے ایپلی کیشنز کے علاوہ اور کچھ نہیں ہیں جو میٹا ڈیٹا ٹیبلز پر کام کرتے ہیں۔ ناکافی طور پر جانکاری رکھنے والے صارف کے لیے میٹا ڈیٹا کو خراب کرنا (یعنی اس میں تضادات اور غلطیاں متعارف کرانا) آسان ہے۔ لہذا، میٹا ڈیٹا تک رسائی کو محدود کیا جانا چاہیے، اور ایسے حالات سے نمٹنے کے لیے جہاں متعدد افراد کو میٹا ڈیٹا تک رسائی حاصل ہو، رسائی اور تبدیلیوں کا ایک آڈٹ ٹریل رکھا جانا چاہیے۔ میٹا ڈیٹا کے لیے آر ڈی بی ایم ایس کا استعمال آر ڈی بی ایم ایس کی خصوصیات جیسے لین دین کے لیے سپورٹ کا فائدہ اٹھاتے ہوئے میٹا ڈیٹا کی تخلیق اور ترمیم کے دوران مستقل مزاجی برقرار رکھنے کے عمل کو آسان بنائے گا۔ نیز، اگر میٹا ڈیٹا اسی ڈیٹا بیس کا حصہ ہے جیسا کہ ڈیٹا خود ہے، تو یہ اس بات کو یقینی بناتا ہے کہ اس کا بیک اپ کم از کم اتنا ہی کثرت سے لیا جائے گا جتنا کہ ڈیٹا خود، تاکہ اسے ایک وقت پر بازیافت کیا جا سکے۔ ڈویلپمنٹ ٹیم کے مختلف اراکین کی سمجھ کو آسان بنانے کے لیے میٹا ڈیٹا کے اندر تشریح اور دستاویزات کا معیار (یعنی میٹا ڈیٹا ذیلی اسکیم کے وضاحتی کالموں میں بیانیہ/وضاحتی متن) بہت زیادہ ہونا چاہیے۔ میٹا ڈیٹا کے معیار کو یقینی بنانا (اور نظام کے ارتقا کے ساتھ اسے موجودہ رکھنا) کسی بھی ڈیزائن کے طویل مدتی انتظام اور دیکھ بھال میں بہت زیادہ ترجیح لیتا ہے جو ای اے وی جزو کا استعمال کرتا ہے۔ ناقص طور پر دستاویزی یا پرانی میٹا ڈیٹا سسٹم کی طویل مدتی عملداری کو خطرے میں ڈال سکتا ہے۔ میٹا ڈیٹا ایٹریبیوٹ میٹا ڈیٹا ویلڈیشن میٹا ڈیٹا میں حاصل کردہ معلومات میں ڈیٹا کی قسم، جائز اقدار کی حد یا اقدار کے ایک سیٹ میں رکنیت، باقاعدہ اظہار میچ، ڈیفالٹ ویلیو، اور آیا قیمت کو کالعدم ہونے کی اجازت ہے۔ ذیلی ساخت کے ساتھ کلاسوں کی نمائندگی کرنے والے ای اے وی سسٹمز میں، توثیق میٹا ڈیٹا یہ بھی ریکارڈ کرے گا کہ دی گئی خاصیت کس کلاس، اگر کوئی ہے، سے تعلق رکھتی ہے۔ پریزنٹیشن میٹا ڈیٹا: خصوصیت کو صارف کو کس طرح دکھایا جانا ہے (مثال کے طور پر، ٹیکسٹ باکس یا مخصوص جہتوں کی تصویر، پل ڈاؤن لسٹ یا ریڈیو بٹنوں کا ایک سیٹ)۔ جب ایک مرکب آبجیکٹ متعدد صفات پر مشتمل ہوتا ہے، جیسا کہ ای اے وی/سی آر ڈیزائن میں، اس ترتیب پر اضافی میٹا ڈیٹا ہوتا ہے جس میں صفات کو پیش کیا جانا چاہیے، اور ان صفات کو اختیاری طور پر کس طرح گروپ کیا جانا چاہیے (وضاحتی عنوانات کے تحت)۔ ان صفات کے لیے جو لیبارٹری کے پیرامیٹرز ہوتے ہیں، عام اقدار کی حدود، جو عمر، جنس، جسمانی حالت اور جانچ کے طریقہ کار کے لحاظ سے مختلف ہو سکتی ہیں، ریکارڈ کی جاتی ہیں۔ گروپنگ میٹا ڈیٹا: صفات کو عام طور پر اعلی درجے کے گروپ کے حصے کے طور پر پیش کیا جاتا ہے، مثال کے طور پر، ایک خاص مخصوص شکل۔ گروپنگ میٹا ڈیٹا میں وہ ترتیب جیسی معلومات شامل ہوتی ہیں جس میں صفات پیش کی جاتی ہیں۔ کچھ پریزنٹیشن میٹا ڈیٹا، جیسے فونٹ/رنگ اور فی صف میں دکھائے جانے والے صفات کی تعداد، مجموعی طور پر گروپ پر لاگو ہوتے ہیں۔ اعلی درجے کی توثیق میٹا ڈیٹا انحصار میٹا ڈیٹا: بہت سے صارف انٹرفیس میں، بعض فیلڈز/صفات میں مخصوص اقدار کا اندراج یا تو کچھ دوسرے فیلڈز کو غیر فعال/چھپانے یا دوسرے فیلڈز کو فعال/دکھانے کے لیے ضروری ہے۔ (مثال کے طور پر، اگر کوئی صارف بولین سوال کے جواب "نہیں" کا انتخاب کرتا ہے "کیا مریض کو ذیابیطس ہے؟ "، پھر ذیابیطس کی مدت، ذیابیطس کے لیے ادویات وغیرہ کے بارے میں بعد کے سوالات۔ اسے غیر فعال ہونا چاہیے۔) اسے ایک عام فریم ورک میں اثر انداز کرنے کے لیے کنٹرول کرنے والی صفات اور کنٹرول شدہ صفات کے درمیان انحصار کو ذخیرہ کرنا شامل ہے۔ حسابات اور پیچیدہ توثیق: اسپریڈشیٹ کی طرح، کچھ صفات کی قدر کا حساب لگایا جا سکتا ہے، اور ان شعبوں میں درج کردہ اقدار کی بنیاد پر ظاہر کیا جا سکتا ہے جو ترتیب میں پہلے پیش کی گئی ہیں۔ (مثال کے طور پر، جسم کی سطح کا رقبہ اونچائی اور چوڑائی کا ایک فعل ہے)۔ اسی طرح، ایسی "رکاوٹیں" ہو سکتی ہیں جو اعداد و شمار کے درست ہونے کے لیے درست ہونی چاہئیں: مثال کے طور پر، ایک تفریق سفید خلیے کی گنتی میں، انفرادی سفید خلیے کی اقسام کی گنتی کا مجموعہ ہمیشہ 100 کے برابر ہونا چاہیے، کیونکہ انفرادی گنتی فیصد کی نمائندگی کرتی ہے۔ کمپیوٹیڈ فارمولے اور پیچیدہ توثیق عام طور پر میٹا ڈیٹا میں تاثرات کو محفوظ کرکے متاثر ہوتے ہیں جو صارف کے داخل کردہ اقدار کے ساتھ میکرو-متبادل ہوتے ہیں اور ان کا جائزہ لیا جا سکتا ہے۔ ویب براؤزرز میں، جاوا اسکرپٹ اور وی بی ایسکرپٹ دونوں میں ایک ایول () فنکشن ہوتا ہے جسے اس مقصد کے لیے استعمال کیا جا سکتا ہے۔ توثیق، پریزنٹیشن اور گروپنگ میٹا ڈیٹا کوڈ فریم ورک کی تخلیق کو ممکن بناتا ہے جو ڈیٹا براؤزنگ کے ساتھ ساتھ انٹرایکٹو ایڈیٹنگ دونوں کے لیے خودکار یوزر انٹرفیس نسل کی حمایت کرتا ہے۔ ویب پر فراہم کیے جانے والے پروڈکشن سسٹم میں، ای اے وی ڈیٹا کی توثیق کا کام بنیادی طور پر بیک اینڈ/ڈیٹا بیس درجے (جو اس کام کے حوالے سے بے اختیار ہے) سے مڈل/ویب سرور درجے میں منتقل کیا جاتا ہے۔ اگرچہ بیک اینڈ توثیق ہمیشہ مثالی ہوتی ہے، کیونکہ ٹیبل میں براہ راست ڈیٹا کے اندراج کی کوشش سے اس کو ختم کرنا ناممکن ہے، عام فریم ورک کے ذریعے درمیانی درجے کی توثیق کافی قابل عمل ہے، حالانکہ پہلے فریم ورک کی تعمیر میں سافٹ ویئر ڈیزائن کی کافی کوشش کی جانی چاہیے۔ اوپن سورس فریم ورک کی دستیابی جس کا مطالعہ کیا جا سکتا ہے اور انفرادی ضروریات کے لیے اس میں ترمیم کی جا سکتی ہے، پہیے کی نئی ایجاد سے بچنے میں ایک طویل سفر طے کر سکتی ہے۔ استعمال کے منظرنامے (اس حصے کا پہلا حصہ سنٹرل میں دینو/ناڈکرنی حوالہ مضمون کا ایک خلاصہ ہے، جس پر قارئین کو مزید تفصیلات کے لیے ہدایت کی جاتی ہے۔) ای اے وی ماڈلنگ، متبادل اصطلاحات "عام ڈیٹا ماڈلنگ" یا "اوپن اسکیما" کے تحت، طویل عرصے سے جدید ڈیٹا ماڈلرز کے لیے ایک معیاری ٹول رہا ہے۔ کسی بھی جدید تکنیک کی طرح، یہ دو دھاری ہو سکتی ہے، اور اسے سمجھداری سے استعمال کیا جانا چاہیے۔ نیز، ای اے وی کا استعمال اسی ڈیٹا بیس اسکیما کے اندر روایتی رشتہ دار ڈیٹا بیس ماڈلنگ کے طریقوں کے استعمال کو روکتا نہیں ہے۔ ای ایم آر میں جو آر ڈی بی ایم ایس پر انحصار کرتے ہیں، جیسے کہ سرنر، جو اپنے کلینیکل ڈیٹا سبسکیما کے لیے ای اے وی نقطہ نظر استعمال کرتے ہیں، اسکیما میں میزیں کی اکثریت حقیقت میں روایتی طور پر ماڈلنگ کی جاتی ہے، جس میں صفوں کے بجائے انفرادی کالموں کے طور پر خصوصیات کی نمائندگی کی جاتی ہے۔ ای اے وی سسٹم کے میٹا ڈیٹا سبسکیما کی ماڈلنگ، درحقیقت، روایتی ماڈلنگ کے لیے بہت اچھی ہے، کیونکہ میٹا ڈیٹا کے مختلف اجزاء کے درمیان باہمی تعلقات ہیں۔ ٹرائل ڈی بی سسٹم میں، مثال کے طور پر، اسکیما میں میٹا ڈیٹا ٹیبلز کی تعداد ڈیٹا ٹیبلز سے تقریبا دس سے ایک زیادہ ہوتی ہے۔ چونکہ میٹا ڈیٹا کی درستگی اور مستقل مزاجی ای اے وی سسٹم کے درست آپریشن کے لیے اہم ہے، اس لیے سسٹم ڈیزائنر آر ڈی بی ایم ایس کی فراہم کردہ تمام خصوصیات کا مکمل فائدہ اٹھانا چاہتا ہے، جیسے کہ حوالہ جاتی سالمیت اور پروگرام کے قابل رکاوٹیں، بجائے اس کے کہ آر ڈی بی ایم ایس انجن وہیل کو دوبارہ ایجاد کیا جائے۔ نتیجتا، متعدد میٹا ڈیٹا ٹیبلز جو ای اے وی ڈیزائنوں کی حمایت کرتے ہیں عام طور پر تیسری معمول کی رشتہ دار شکل میں ہوتے ہیں۔ کمرشل الیکٹرانک ہیلتھ ریکارڈ سسٹمز (ای ایچ آر) ڈیٹا کی کلاسوں جیسے تشخیص، جراحی کے طریقہ کار اور لیبارٹری ٹیسٹ کے نتائج کے لیے قطار ماڈلنگ کا استعمال کرتے ہیں، جنہیں الگ ٹیبل میں تقسیم کیا جاتا ہے۔ ہر ٹیبل میں، "ہستی" مریض کی شناخت اور تشخیص کی تاریخ/وقت (یا سرجری یا لیب ٹیسٹ انجام دیا گیا) کا ایک مرکب ہے ؛ خاصیت ایک خاص طور پر نامزد کردہ تلاش کی میز میں ایک غیر ملکی کلید ہے جس میں ایک کنٹرول شدہ الفاظ ہوتے ہیں-مثال کے طور پر، تشخیص کے لیے آئی سی ڈی-10، جراحی کے طریقہ کار کے لیے موجودہ طریقہ کار کی اصطلاحات، قدر کے صفات کے ایک سیٹ کے ساتھ۔ (مثال کے طور پر، لیبارٹری ٹیسٹ کے نتائج کے لیے، کوئی بھی ناپی گئی قیمت کو ریکارڈ کر سکتا ہے، چاہے وہ نارمل، لو یا ہائی رینج میں ہو، ٹیسٹ کرنے کے لیے ذمہ دار شخص کی شناخت، ٹیسٹ کی تاریخ/وقت وغیرہ۔) جیسا کہ پہلے بیان کیا گیا ہے، یہ ایک مکمل ای اے وی نقطہ نظر نہیں ہے کیونکہ دی گئی ٹیبل کے لیے صفات کا ڈومین محدود ہے، جس طرح سپر مارکیٹ کی سیلز ٹیبل میں پروڈکٹ آئی ڈی کا ڈومین پروڈکٹس ٹیبل میں پروڈکٹس کے ڈومین تک محدود ہوگا۔ تاہم، ان پیرامیٹرز پر ڈیٹا حاصل کرنے کے لیے جن کی ہمیشہ معیاری الفاظ میں وضاحت نہیں کی جاتی ہے، ای ایچ آر ایک "خالص" ای اے وی میکانزم بھی فراہم کرتے ہیں، جہاں خاص طور پر نامزد پاور-صارفین نئی صفات، ان کے ڈیٹا کی قسم، زیادہ سے زیادہ اور کم سے کم قابل اجازت اقدار (یا اقدار/کوڈز کا قابل اجازت سیٹ) کی وضاحت کر سکتے ہیں، اور پھر دوسروں کو ان صفات کی بنیاد پر ڈیٹا حاصل کرنے کی اجازت دیتے ہیں۔ ایپک (ٹی ایم) ای ایچ آر میں، اس طریقہ کار کو "فلوشیٹ" کہا جاتا ہے، اور عام طور پر اندرونی مریضوں کی نرسنگ کے مشاہدے کے اعداد و شمار کو حاصل کرنے کے لیے استعمال کیا جاتا ہے۔ غیر معمولی صفات کی ماڈلنگ ای اے وی ماڈل کو استعمال کرنے کا عام معاملہ انتہائی غیر معمولی، متنوع صفات کے لیے ہے، جیسے کہ الیکٹرانک میڈیکل ریکارڈ (ای ایم آر) میں کلینیکل پیرامیٹرز، جیسا کہ اوپر بیان کیا گیا ہے۔ یہاں بھی، تاہم، یہ بتانا درست ہے کہ ای اے وی ماڈلنگ کا اصول ڈیٹا بیس کی ذیلی اسکیم پر لاگو ہوتا ہے بجائے اس کے کہ اس کے تمام مندرجات کے۔ (مریض کی آبادی، مثال کے طور پر، سب سے زیادہ قدرتی طور پر ایک کالم فی خاصیت، روایتی رشتہ دار ڈھانچے میں ماڈلنگ کی جاتی ہے۔) نتیجتا، ای اے وی بمقابلہ "رشتہ دار" ڈیزائن کے بارے میں دلائل مسئلے کی نامکمل تفہیم کی عکاسی کرتے ہیں: ایک ای اے وی ڈیزائن کو صرف ڈیٹا بیس کی اس ذیلی اسکیم کے لیے استعمال کیا جانا چاہیے جہاں غیر معمولی صفات کو ماڈل کرنے کی ضرورت ہے: یہاں بھی، انہیں تھرڈ نارمل فارم میٹا ڈیٹا ٹیبلز کے ذریعے سپورٹ کرنے کی ضرورت ہے۔ ڈیٹا بیس ڈیزائن کے نسبتا کم مسائل ہیں جہاں غیر معمولی صفات کا سامنا کرنا پڑتا ہے: یہی وجہ ہے کہ ایسے حالات جہاں ای اے وی ڈیزائن لاگو ہوتا ہے وہ نسبتا کم ہی ہوتے ہیں۔ یہاں تک کہ جہاں ان کا سامنا کرنا پڑتا ہے، ای اے وی ٹیبلز کا ایک سیٹ غیر معمولی ڈیٹا کو حل کرنے کا واحد طریقہ نہیں ہے: ایک ایکس ایم ایل پر مبنی حل (نیچے بحث کی گئی ہے) اس وقت لاگو ہوتا ہے جب فی ہستی صفات کی زیادہ سے زیادہ تعداد نسبتا معمولی ہوتی ہے، اور غیر معمولی ڈیٹا کا کل حجم بھی اسی طرح معمولی ہوتا ہے۔ اس صورتحال کی ایک مثال مختلف مصنوعات کی اقسام کے لیے متغیر صفات پر قبضہ کرنے کے مسائل ہیں۔ غیر معمولی صفات ای کامرس کے ایسے حالات میں بھی ہو سکتی ہیں جہاں کوئی تنظیم اشیا کے ایک وسیع اور انتہائی متنوع سیٹ کی خریداری یا فروخت کر رہی ہو، جس میں اشیا کے انفرادی زمروں کی تفصیلات انتہائی متغیر ہوں۔ فی کلاس بہت کم مثالوں کے ساتھ متعدد کلاسوں کی ماڈلنگ: انتہائی متحرک اسکیما ای اے وی کی ایک اور ایپلی کیشن ماڈلنگ کلاسوں اور صفات میں ہے جو، اگرچہ کم نہیں، متحرک ہیں، لیکن جہاں فی کلاس ڈیٹا قطاروں کی تعداد نسبتا معمولی ہوگی-زیادہ سے زیادہ چند سو قطاریں، لیکن عام طور پر چند درجن-اور سسٹم ڈویلپر کو بہت ہی کم ٹرن اراؤنڈ ٹائم کے اندر ویب پر مبنی اینڈ یوزر انٹرفیس فراہم کرنے کی بھی ضرورت ہوتی ہے۔ "متحرک" کا مطلب ہے کہ ابھرتے ہوئے ڈیٹا ماڈل کی نمائندگی کے لیے نئی کلاسوں اور صفات کی مسلسل وضاحت اور تبدیلی کی ضرورت ہے۔ یہ منظر نامہ تیزی سے بدلتے ہوئے سائنسی شعبوں کے ساتھ ساتھ آنٹولوجی کی ترقی میں بھی ہو سکتا ہے، خاص طور پر پروٹو ٹائپنگ اور تکراری اصلاح کے مراحل کے دوران۔ اگرچہ اعداد و شمار کے ایک نئے زمرے کی نمائندگی کرنے کے لیے نئی میزیں اور کالموں کی تخلیق خاص طور پر محنت طلب نہیں ہے، لیکن ویب پر مبنی انٹرفیس کا پروگرامنگ جو ٹائپ اور رینج پر مبنی توثیق کے ساتھ براؤزنگ یا بنیادی ترمیم کی حمایت کرتا ہے۔ ایسی صورت میں، ایک زیادہ برقرار رکھنے والا طویل مدتی حل ایک ایسا فریم ورک بنانا ہے جہاں کلاس اور خاصیت کی تعریفیں میٹا ڈیٹا میں محفوظ کی جائیں، اور سافٹ ویئر اس میٹا ڈیٹا سے متحرک طور پر ایک بنیادی یوزر انٹرفیس تیار کرے۔ ای اے وی/سی آر فریم ورک، جس کا ذکر پہلے کیا گیا ہے، اسی صورتحال سے نمٹنے کے لیے بنایا گیا تھا۔ نوٹ کریں کہ یہاں ای اے وی ڈیٹا ماڈل ضروری نہیں ہے، لیکن سسٹم ڈیزائنر اسے ساٹھ یا اس سے زیادہ ٹیبل بنانے کا قابل قبول متبادل سمجھ سکتا ہے جس میں کل دو ہزار سے زیادہ قطاریں نہ ہوں۔ یہاں، کیونکہ فی کلاس قطاروں کی تعداد بہت کم ہے، کارکردگی کے تحفظات کم اہم ہیں۔ کلاس آئی ڈی/ایٹریبیوٹ آئی ڈی کے ذریعہ معیاری انڈیکسنگ کے ساتھ، ڈی بی ایم ایس آپٹیمائزر آسانی سے میموری میں ایک چھوٹی سی کلاس کے لیے ڈیٹا کیش کر سکتے ہیں جب اس کلاس یا ایٹریبیوٹ پر مشتمل استفسار چلاتے ہیں۔ متحرک-خاصیت کے منظر نامے میں، یہ بات قابل غور ہے کہ ریسورس ڈسکرپشن فریم ورک (آر ڈی ایف) کو سیمنٹک-ویب سے متعلق آنٹولوجی کے کام کی بنیاد کے طور پر استعمال کیا جا رہا ہے۔ آر ڈی ایف، جس کا مقصد معلومات کی نمائندگی کا ایک عام طریقہ ہونا ہے، ای اے وی کی ایک شکل ہے: ایک آر ڈی ایف ٹرپل ایک آبجیکٹ، پراپرٹی اور ویلیو پر مشتمل ہوتا ہے۔ جون بینٹلے کی کتاب "رائٹنگ ایفیشینٹ پروگرامز" کے آخر میں، مصنف خبردار کرتا ہے کہ کوڈ کو زیادہ موثر بنانے سے عام طور پر اسے سمجھنا اور برقرار رکھنا بھی مشکل ہو جاتا ہے، اور اس لیے کوئی بھی کوڈ میں جلدی نہیں کرتا اور اسے تبدیل نہیں کرتا جب تک کہ کوئی پہلے یہ طے نہ کر لے کہ کارکردگی کا مسئلہ ہے، اور کوڈ پروفائلنگ جیسے اقدامات نے رکاوٹ کے صحیح مقام کی نشاندہی کی ہے۔ ایک بار ایسا کرنے کے بعد، آپ صرف مخصوص کوڈ میں ترمیم کرتے ہیں جسے تیزی سے چلانے کی ضرورت ہوتی ہے۔ اسی طرح کے تحفظات ای اے وی ماڈلنگ پر لاگو ہوتے ہیں: آپ اسے صرف اس ذیلی نظام پر لاگو کرتے ہیں جہاں روایتی رشتہ دار ماڈلنگ کو بھاری (جیسا کہ کلینیکل ڈیٹا ڈومین میں) جانا جاتا ہے، یا نظام کے ارتقاء کے دوران، دیکھ بھال کے اہم چیلنجز پیدا کرنے کے لیے دریافت کیا جاتا ہے۔ ڈیٹا بیس گرو (اور فی الحال اوریکل کارپوریشن میں کور ٹیکنالوجیز کے نائب صدر) ٹام کائٹ، مثال کے طور پر، روایتی کاروباری منظرناموں میں ای اے وی کو استعمال کرنے کی خرابیوں کی درست نشاندہی کرتے ہیں، اور یہ بات واضح کرتے ہیں کہ محض "لچک" ای اے وی کو استعمال کرنے کے لیے کافی معیار نہیں ہے۔ (تاہم، وہ یہ صاف دعوی کرتا ہے کہ ای اے وی سے تمام حالات میں گریز کیا جانا چاہیے، حالانکہ اوریکل کا ہیلتھ سائنسز ڈویژن خود ای اے وی کو اپنے تجارتی نظام کلین ٹرائل اور اوریکل کلینیکل میں کلینیکل ڈیٹا کی صفات کو ماڈل کرنے کے لیے استعمال کرتا ہے۔) ای اے وی ڈیٹا کے ساتھ کام کرنا ای اے وی کی اچیلز ہیل ای اے وی ڈیٹا کی بڑی مقدار کے ساتھ کام کرنے میں دشواری ہے۔ کالمر اور قطار کے درمیان عارضی طور پر یا مستقل طور پر ایک ہی ڈیٹا کی ای اے وی ماڈل کی نمائندگی کو تبدیل کرنا اکثر ضروری ہوتا ہے۔ اگر دستی طور پر کیا جائے تو یہ غلطی کا شکار ہونے کے ساتھ ساتھ سی پی یو پر مبنی بھی ہو سکتا ہے۔ عام فریم ورک جو خاصیت اور خاصیت گروپ کرنے والے میٹا ڈیٹا کو استعمال کرتے ہیں وہ سابقہ کو حل کرتے ہیں لیکن مؤخر الذکر کی حد کو نہیں۔ ان کا استعمال کم و بیش مخلوط اسکیما کے معاملے میں لازمی ہے جس میں روایتی رشتہ دار اور ای اے وی ڈیٹا کا مرکب ہوتا ہے، جہاں غلطی کا تناسب بہت اہم ہو سکتا ہے۔ تبادلوں کے عمل کو پیوٹنگ کہا جاتا ہے۔ پیوٹنگ صرف ای اے وی ڈیٹا کے لیے ہی نہیں بلکہ کسی بھی قسم کے قطار کے ماڈل والے ڈیٹا کے لیے بھی ضروری ہے۔ (مثال کے طور پر، ایسوسی ایشن تجزیہ کے لیے اپریوری الگورتھم کا نفاذ، جو بڑے پیمانے پر سپر مارکیٹ سیلز ڈیٹا پر کارروائی کرنے کے لیے استعمال ہوتا ہے تاکہ دیگر مصنوعات کی شناخت کی جا سکے جو کسی دی گئی مصنوعات کے خریداروں کے بھی خریدنے کا امکان ہے، پہلے مرحلے کے طور پر صف کے ماڈل والے ڈیٹا کو محور کریں۔) بہت سے ڈیٹا بیس انجنوں میں پیوٹنگ کو آسان بنانے کے لیے ملکیتی ایس کیو ایل ایکسٹینشنز ہوتی ہیں، اور مائیکروسافٹ ایکسل جیسے پیکیجز بھی اس کی حمایت کرتے ہیں۔ جن حالات میں پیوٹنگ ضروری ہے ان پر ذیل میں غور کیا گیا ہے۔ کسی انفرادی ادارے کے لیے معمولی مقدار میں ڈیٹا کو براؤز کرنا، اختیاری طور پر انٹر ایٹریبیوٹ انحصار کی بنیاد پر ڈیٹا ایڈیٹنگ۔ اس عمل کو مطلوبہ معاون میٹا ڈیٹا کی معمولی مقدار کو کیشنگ کرکے سہولت فراہم کی جاتی ہے۔ کچھ پروگرام، جیسے ٹرائل ڈی بی، نیم جامد ویب پیجز بنانے کے لیے میٹا ڈیٹا تک رسائی حاصل کرتے ہیں جن میں سرایت شدہ پروگرامنگ کوڈ کے ساتھ ساتھ میٹا ڈیٹا رکھنے والے ڈیٹا ڈھانچے بھی ہوتے ہیں۔ بلک ایکسٹرکشن ڈیٹا کی بڑی (لیکن پیش گوئی کے قابل) مقدار (مثال کے طور پر، کلینیکل اسٹڈی کا مکمل ڈیٹا) کو ریلیشنل ٹیبلز کے ایک سیٹ میں تبدیل کر دیتا ہے۔ سی پی یو پر مبنی ہونے کے باوجود، یہ کام کبھی کبھار ہوتا ہے اور اسے حقیقی وقت میں کرنے کی ضرورت نہیں ہے۔ یعنی، صارف بیچ شدہ عمل کے مکمل ہونے کا انتظار کر سکتا ہے۔ بلک ایکسٹرکشن کی اہمیت کو زیادہ نہیں سمجھا جا سکتا، خاص طور پر جب ڈیٹا کو معیاری تھرڈ پارٹی ٹولز کے ساتھ پروسیس یا تجزیہ کرنا ہو جو ای اے وی ڈھانچے سے مکمل طور پر بے خبر ہوں۔ یہاں، یہ مشورہ نہیں دیا جاتا ہے کہ پہیوں کے پورے سیٹوں کو ایک عام فریم ورک کے ذریعے دوبارہ ایجاد کرنے کی کوشش کی جائے، اور یہ بہتر ہے کہ صرف ای اے وی ڈیٹا کو ریلیشنل ٹیبلز میں بلک-ایکسٹریکٹ کیا جائے اور پھر معیاری ٹولز کا استعمال کرتے ہوئے اس کے ساتھ کام کیا جائے۔ جب انفرادی صفات کے نقطہ نظر سے پوچھا جاتا ہے، (مثال کے طور پر، "جگر کی بیماری کی موجودگی والے تمام مریضوں کو بازیافت کریں، جگر کی ناکامی کی علامات کے ساتھ اور الکحل کے غلط استعمال کی کوئی تاریخ نہیں ہے") عام طور پر انفرادی صفات کے ساتھ استفسار کے نتائج کو علیحدہ کالموں کے طور پر دکھانا چاہیے۔ زیادہ تر ای اے وی ڈیٹا بیس کے منظرناموں کے لیے ایڈہاک استفسار کی کارکردگی قابل برداشت ہونی چاہیے، لیکن ذیلی سیکنڈ کے جوابات ضروری نہیں ہیں، کیونکہ سوالات فطرت میں تحقیقی ہوتے ہیں۔ رشتہ دار تقسیم تاہم، ای اے وی ڈیٹا ماڈل کا ڈھانچہ رشتہ دار تقسیم کے لیے ایک بہترین امیدوار ہے، رشتہ دار الجبرا دیکھیں۔ ایک اچھی انڈیکسنگ حکمت عملی کے ساتھ ایک ارب قطار ای اے وی ٹیبل پر چند سو ملی سیکنڈ سے بھی کم وقت میں رسپانس ٹائم حاصل کرنا ممکن ہے۔ مائیکروسافٹ ایس کیو ایل سرور ایم وی پی پیٹر لارسن نے اسے لیپ ٹاپ پر ثابت کیا ہے اور حل کو عام طور پر دستیاب کرایا ہے۔ محور کی کارکردگی کو بہتر بنانا ایک ممکنہ اصلاح ایک علیحدہ "گودام" یا قابل استفسار اسکیما کا استعمال ہے جس کے مندرجات کو پیداوار (لین دین) اسکیما سے بیچ موڈ میں تازہ کیا جاتا ہے۔ ڈیٹا گودام دیکھیں۔ گودام میں موجود ٹیبلز کو بہت زیادہ انڈیکس کیا جاتا ہے اور ڈی نارملائزیشن کا استعمال کرتے ہوئے بہتر بنایا جاتا ہے، جو ٹیبل جوائنز کی وجہ سے کارکردگی کے جرمانے کو کم کرنے کے لیے متعدد ٹیبلز کو ایک میں جوڑتا ہے۔ گودام میں کچھ ای اے وی ڈیٹا کو "مادی ویوز" کا استعمال کرتے ہوئے معیاری ٹیبلز میں تبدیل کیا جا سکتا ہے (ڈیٹا گودام دیکھیں)، لیکن یہ عام طور پر ایک آخری حربہ ہے جسے احتیاط سے استعمال کیا جانا چاہیے، کیونکہ اس قسم کے ویوز کی تعداد غیر لکیری طور پر بڑھتی ہے۔ ان میموری ڈیٹا ڈھانچے: کوئی بھی میموری میں ہیش ٹیبلز اور دو جہتی صفوں کو ڈیٹا کو محور کرنے کے لیے خاصیت گروپنگ میٹا ڈیٹا کے ساتھ مل کر استعمال کر سکتا ہے، ایک وقت میں ایک گروپ۔ یہ ڈیٹا ڈسک پر ایک فلیٹ حد بند فائل کے طور پر لکھا جاتا ہے، جس میں پہلی صف میں ہر خاصیت کے اندرونی نام ہوتے ہیں: اس فارمیٹ کو آسانی سے ریلیشنل ٹیبل میں بلک امپورٹ کیا جا سکتا ہے۔ یہ "ان میموری" تکنیک ای اے وی ٹیبلز پر سوالات کو ہر ممکن حد تک آسان رکھ کر اور آئی/او آپریشنز کی تعداد کو کم کر کے متبادل طریقوں کو نمایاں طور پر پیچھے چھوڑ دیتی ہے۔ ہر بیان ڈیٹا کی ایک بڑی مقدار کو بازیافت کرتا ہے، اور ہیش ٹیبلز پیوٹنگ آپریشن کو انجام دینے میں مدد کرتی ہیں، جس میں دی گئی خاصیت کی مثال کے لیے ایک قدر کو مناسب صف اور کالم میں رکھنا شامل ہے۔ رینڈم ایکسیس میموری (رام) جدید ہارڈ ویئر میں کافی مقدار میں اور سستی ہے کہ بڑے ڈیٹا سیٹوں میں بھی ایک ایٹریبیوٹ گروپ کے لیے مکمل ڈیٹا سیٹ عام طور پر میموری میں مکمل طور پر فٹ ہو جائے گا، حالانکہ اگر ایسا نہیں ہوتا ہے تو ڈیٹا کے ٹکڑوں پر کام کرکے الگورتھم کو ہوشیار بنایا جا سکتا ہے۔ ظاہر ہے، اس بات سے کوئی فرق نہیں پڑتا ہے کہ آپ کون سا نقطہ نظر اختیار کرتے ہیں، ای اے وی سے استفسار کرنا اتنا تیز نہیں ہوگا جتنا کہ مخصوص قسم کے استفسار کے لیے معیاری کالم ماڈل والے رشتہ دار ڈیٹا سے استفسار کرنا، بالکل اسی طرح جیسے کہ غیر مخصوص میٹرکس میں عناصر کی رسائی اتنی تیز نہیں ہوتی جتنی کہ غیر مخصوص میٹرکس پر ہوتی ہے اگر مؤخر الذکر مکمل طور پر مرکزی میموری میں فٹ ہوجاتا ہے۔ (بکھرے ہوئے میٹرکس، جن کی نمائندگی منسلک فہرستوں جیسے ڈھانچوں کا استعمال کرتے ہوئے کی جاتی ہے، کسی دیئے گئے X-Y پوزیشن پر کسی عنصر تک رسائی کے لیے لسٹ ٹریورسل کی ضرورت ہوتی ہے، جبکہ 2-D صفوں کے طور پر پیش کردہ میٹرکس میں عناصر تک رسائی تیز CPU رجسٹر آپریشنز کا استعمال کرتے ہوئے انجام دی جا سکتی ہے۔) اگر، تاہم، آپ نے اس مسئلے کے لیے EAV نقطہ نظر کا صحیح انتخاب کیا جسے آپ حل کرنے کی کوشش کر رہے تھے، تو یہ وہ قیمت ہے جو آپ ادا کرتے ہیں۔ اس سلسلے میں، EAV ماڈلنگ ایک جگہ (اور اسکیما کی دیکھ بھال) بمقابلہ CPU-ٹائم ٹریڈ آف کی ایک مثال ہے۔ متبادل ای اے وی بمقابلہ یونیورسل ڈیٹا ماڈل اصل میں مائر، المین اور وارڈی کے ذریعہ پیش کردہ، "یونیورسل ڈیٹا ماڈل" (یو ڈی ایم) بے وقوف صارفین کے ذریعہ ایک پیچیدہ رشتہ دار اسکیما کے استفسار کو آسان بنانے کی کوشش کرتا ہے، یہ وہم پیدا کرکے کہ ہر چیز ایک ہی دیوہیکل "یونیورسل ٹیبل" میں محفوظ ہے۔ یہ انٹر ٹیبل ریلیشن شپ کا استعمال کرتے ہوئے ایسا کرتا ہے، تاکہ صارف کو اس بات کی فکر کرنے کی ضرورت نہ ہو کہ کس ٹیبل میں کیا خاصیت ہے۔ سی۔ جے۔ تاہم، ڈیٹ نے نشاندہی کی کہ ایسے حالات میں جہاں ایک ٹیبل دوسرے سے ضرب سے متعلق ہے (جیسا کہ نسب نامہ ڈیٹا بیس میں، جہاں کسی فرد کے والد اور والدہ بھی افراد ہیں، یا کچھ کاروباری ڈیٹا بیس میں جہاں تمام پتے مرکزی طور پر محفوظ کیے جاتے ہیں، اور کسی تنظیم کے پاس مختلف دفتر کے پتے اور شپنگ پتے ہو سکتے ہیں)، ڈیٹا بیس اسکیما کے اندر غیر واضح جوڑوں کی وضاحت کے لیے ناکافی میٹا ڈیٹا موجود ہے۔ جب یو ڈی ایم کو تجارتی بنایا جاتا ہے، جیسا کہ ایس اے پی بزنس آبجیکٹس میں، اس حد کو "یونیورسیس" کی تخلیق کے ذریعے کام کیا جاتا ہے، جو ٹیبل کے سیٹوں کے درمیان پہلے سے طے شدہ جوڑ کے ساتھ رشتہ دار خیالات ہیں: "کائنات" ڈویلپر مختلف عرفیت کا استعمال کرتے ہوئے متعدد بار ضرب سے متعلق ٹیبل کو شامل کرکے مبہم جوڑ کو غیر واضح کرتا ہے۔ اس طریقے کے علاوہ جس میں ڈیٹا کو واضح طور پر ماڈل کیا جاتا ہے (یو ڈی ایم صرف صارف اور ڈیٹا بیس اسکیما کے درمیان ثالثی کے لیے رشتہ دار خیالات کا استعمال کرتا ہے)، ای اے وی یونیورسل ڈیٹا ماڈلز سے اس لحاظ سے مختلف ہے کہ یہ لین دین کے نظاموں پر بھی لاگو ہوتا ہے، نہ کہ صرف استفسار پر مبنی (صرف پڑھنے کے لیے) نظام جیسا کہ یو ڈی ایم میں ہوتا ہے۔ نیز، جب کلینیکل ڈیٹا استفسار کے نظام کی بنیاد کے طور پر استعمال کیا جاتا ہے، تو ای اے وی کا نفاذ ضروری نہیں کہ صارف کو دلچسپی کے کسی مقصد کی کلاس کی وضاحت کرنے سے بچائے۔ ای اے وی پر مبنی آئی 2 بی 2 کلینیکل ڈیٹا مارٹ میں، مثال کے طور پر، جب صارف کسی اصطلاح کی تلاش کرتا ہے، تو اس کے پاس ڈیٹا کے زمرے کی وضاحت کرنے کا اختیار ہوتا ہے جس میں صارف دلچسپی رکھتا ہے۔ مثال کے طور پر، فقرہ "لیتھیم" یا تو دوائی (جو دوئبرووی عوارض کے علاج کے لیے استعمال ہوتی ہے)، یا مریض کے خون میں لیتھیم کی سطح کے لیے لیبارٹری جانچ کا حوالہ دے سکتا ہے۔ (لتیم کے خون کی سطح کی احتیاط سے نگرانی کی جانی چاہیے: بہت زیادہ دوا شدید مضر اثرات کا سبب بنتی ہے، جبکہ بہت کم غیر موثر ہے۔) ایکس ایم ایل اور جے ایس او این ایک اوپن اسکیما کا نفاذ متغیر/غیر معمولی معلومات حاصل کرنے کے لیے ٹیبل میں ایکس ایم ایل کالم کا استعمال کر سکتا ہے۔ اسی طرح کے خیالات کا اطلاق ڈیٹا بیس پر کیا جا سکتا ہے جو جے ایس او این کے قدر والے کالموں کی حمایت کرتے ہیں: غیر معمولی، درجہ بندی والے ڈیٹا کو جے ایس او این کے طور پر پیش کیا جا سکتا ہے۔ اگر ڈیٹا بیس میں جے ایس او این سپورٹ ہے، جیسے پوسٹگری ایس کیو ایل اور (جزوی طور پر) ایس کیو ایل سرور 2016 اور اس کے بعد، تو صفات سے پوچھ گچھ کی جا سکتی ہے، انڈیکس کیا جا سکتا ہے اور شامل کیا جا سکتا ہے۔ یہ سادہ ای اے وی کے نفاذ کے مقابلے میں 1000x سے زیادہ کی کارکردگی میں بہتری پیش کر سکتا ہے، لیکن ضروری نہیں کہ مجموعی ڈیٹا بیس ایپلی کیشن کو زیادہ مضبوط بنائے۔ نوٹ کریں کہ ایکس ایم ایل یا جے ایس او این ڈیٹا کو ذخیرہ کرنے کے دو طریقے ہیں: ایک طریقہ یہ ہے کہ اسے سادہ سٹرنگ کے طور پر ذخیرہ کیا جائے، جو ڈیٹا بیس سرور کے لیے غیر واضح ہو ؛ دوسرا طریقہ ڈیٹا بیس سرور کا استعمال کرنا ہے جو ڈھانچے کو "دیکھ" سکتا ہے۔ غیر واضح تاروں کو ذخیرہ کرنے میں واضح طور پر کچھ شدید خرابیاں ہیں: ان سے براہ راست پوچھ گچھ نہیں کی جا سکتی، کوئی ان کے مندرجات کی بنیاد پر انڈیکس نہیں بنا سکتا، اور مواد کی بنیاد پر جوائن انجام دینا ناممکن ہے۔ ای اے وی ماڈلز کا استعمال کرتے وقت ڈیٹا کا انتظام کرنے والی ایپلی کیشن بنانا انتہائی پیچیدہ ہو جاتا ہے، کیونکہ بنیادی ڈھانچے کی حد کو میٹا ڈیٹا ٹیبلز اور ایپلی کیشن فریم ورک کوڈ کے لحاظ سے تیار کرنا پڑتا ہے۔ ایکس ایم ایل کا استعمال سرور پر مبنی ڈیٹا کی توثیق کے مسئلے کو حل کرتا ہے (جو ای اے وی پر مبنی فریم ورک میں مڈل ٹیئر اور براؤزر پر مبنی کوڈ کے ذریعے کیا جانا چاہیے)، لیکن اس میں درج ذیل خرابیاں ہیں: یہ پروگرامر پر مبنی ہے۔ ایکس ایم ایل اسکیما کو ہاتھ سے لکھنا بدنام مشکل ہے، ایک تجویز کردہ طریقہ یہ ہے کہ انہیں ریلیشنل ٹیبلز کی وضاحت کرکے، ایکس ایم ایل-اسکیما کوڈ تیار کرکے، اور پھر ان ٹیبلز کو چھوڑ کر بنایا جائے۔ یہ بہت سے پروڈکشن آپریشنز میں دشواری کا باعث ہے جس میں متحرک اسکیما شامل ہیں، جہاں نئی صفات کو پاور صارفین کے ذریعہ بیان کرنے کی ضرورت ہوتی ہے جو کسی مخصوص ایپلی کیشن ڈومین کو سمجھتے ہیں (جیسے۔ انوینٹری مینجمنٹ یا بائیو میڈیسن) لیکن ضروری نہیں کہ وہ پروگرامر ہوں۔ اس کے برعکس، ای اے وی استعمال کرنے والے پروڈکشن سسٹمز میں، ایسے صارفین جی یو آئی ایپلی کیشن کے ذریعے نئی صفات (اور ہر ایک سے وابستہ ڈیٹا ٹائپ اور توثیق چیک) کی وضاحت کرتے ہیں۔ چونکہ توثیق سے وابستہ میٹا ڈیٹا کو ایک عام ڈیزائن میں متعدد ریلیشنل ٹیبلز میں ذخیرہ کرنے کی ضرورت ہوتی ہے، ایک جی یو آئی ایپلی کیشن جو ان ٹیبلز کو ایک ساتھ جوڑتی ہے اور مناسب میٹا ڈیٹا کی مستقل جانچ کو نافذ کرتی ہے، خاصیت کی معلومات کے اندراج کی اجازت دینے کا واحد عملی طریقہ ہے، یہاں تک کہ اعلی درجے کے ڈویلپرز کے لیے بھی-چاہے اختتامی نتیجہ علیحدہ ریلیشنل ٹیبلز کے بجائے ایکس ایم ایل یا جے ایس او این کا استعمال کرے۔ سرور پر مبنی تشخیص جس کے نتیجے میں ایکس ایم ایل/جے ایس او این حل ہوتا ہے اگر غلط ڈیٹا داخل کرنے کی کوشش کی جاتی ہے (مثال کے طور پر، رینج چیک یا باقاعدہ اظہار کے انداز کی خلاف ورزیاں) اختتامی صارف کے لیے خفیہ ہوتی ہیں: غلطی کو درست طریقے سے پہنچانے کے لیے، کم از کم، ہر خاصیت کے ساتھ ایک تفصیلی اور صارف دوست غلطی کی تشخیص کو منسلک کرنے کی ضرورت ہوگی۔ حل صارف انٹرفیس نسل کے مسئلے کو حل نہیں کرتا ہے۔ مذکورہ بالا تمام خرابیاں میٹا ڈیٹا اور ایپلیکیشن کوڈ کی ایک پرت بنا کر دور کی جا سکتی ہیں، لیکن اسے بنانے میں، فریم ورک نہ بنانے کا اصل "فائدہ" ختم ہو گیا ہے۔ حقیقت یہ ہے کہ کم اعداد و شمار کی صفات کو مضبوط طریقے سے ماڈلنگ کرنا ایک مشکل ڈیٹا بیس-ایپلی کیشن-ڈیزائن کا مسئلہ ہے اس سے کوئی فرق نہیں پڑتا کہ اسٹوریج کا کون سا نقطہ نظر استعمال کیا جاتا ہے۔ تاہم، سرکا کا کام ڈیٹا اسٹوریج پرت کے لیے ٹائپ مخصوص ریلیشنل ای اے وی ٹیبلز کے بجائے ایکس ایم ایل فیلڈ کا استعمال کرنے کی عملداری کو ثابت کرتا ہے، اور ایسے حالات میں جہاں فی ہستی صفات کی تعداد معمولی ہو (مثال کے طور پر، مختلف مصنوعات کی اقسام کے لیے متغیر پروڈکٹ صفات) ایکس ایم ایل پر مبنی حل ای اے وی ٹیبل پر مبنی حل سے زیادہ کمپیکٹ ہے۔ (ایکس ایم ایل کو بذات خود ایٹریبیوٹ ویلیو ڈیٹا کی نمائندگی کا ایک ذریعہ سمجھا جا سکتا ہے، حالانکہ یہ ریلیشنل ٹیبلز کے بجائے اسٹرکچرڈ ٹیکسٹ پر مبنی ہے۔) ٹری اسٹرکچرز اور ریلیشنل ڈیٹا بیسز ٹری اسٹرکچرڈ ڈیٹا کی نمائندگی کے لیے کئی دوسرے طریقے موجود ہیں، چاہے وہ ایکس ایم ایل ہو، جے ایس او این ہو یا دیگر فارمیٹس، جیسے کہ نیسٹڈ سیٹ ماڈل، ریلیشنل ڈیٹا بیس میں۔ دوسری طرف، ڈیٹا بیس فروشوں نے اپنے ڈیٹا ڈھانچے اور استفسار کی خصوصیات میں جے ایس او این اور ایکس ایم ایل سپورٹ کو شامل کرنا شروع کر دیا ہے، جیسے کہ آئی بی ایم ڈی بی 2 میں، جہاں ایکس ایم ایل ڈیٹا کو ٹیبل سے الگ ایکس ایم ایل کے طور پر محفوظ کیا جاتا ہے، ایس کیو ایل بیانات کے حصے کے طور پر ایکس پیتھ سوالات کا استعمال کرتے ہوئے، یا پوسٹگری ایس کیو ایل میں، جے ایس او این ڈیٹا ٹائپ کے ساتھ جسے انڈیکس اور پوچھ گچھ کی جا سکتی ہے۔ یہ پیش رفت ای اے وی ماڈل کے نقطہ نظر کو پورا کرتی ہیں، بہتر بناتی ہیں یا اس کا متبادل بناتی ہیں۔ جے ایس او این اور ایکس ایم ایل کے استعمال لازمی طور پر ای اے وی ماڈل کے استعمال جیسے نہیں ہیں، حالانکہ وہ اوورلیپ ہو سکتے ہیں۔ ایکس ایم ایل من مانی طور پر درجہ بندی والے ڈیٹا کے لیے ای اے وی سے بہتر ہے جو کسی ایک وجود کے لیے حجم میں نسبتا معمولی ہے: اس کا مقصد ڈیٹا میں ہیرا پھیری کی کارکردگی کے حوالے سے ملٹی گیگا بائٹ کی سطح تک پہنچنا نہیں ہے۔ ایکس ایم ایل کا تعلق غیر معمولی خاصیت کے مسئلے سے نہیں ہے، اور جب نمائندگی کی جانے والی معلومات کے بنیادی ڈیٹا ماڈل کو براہ راست رشتہ دار ڈھانچے میں تحلیل کیا جا سکتا ہے، تو ایکس ایم ایل بنیادی اسٹوریج میکانزم کے مقابلے میں ڈیٹا کے تبادلے کے ذرائع کے طور پر بہتر ہے۔ ای اے وی، جیسا کہ پہلے بیان کیا گیا ہے، خاص طور پر (اور صرف) غیر معمولی خاصیت کے منظر نامے پر لاگو ہوتا ہے۔ جب ایسا منظر نامہ برقرار رہتا ہے، تو ڈیٹا ٹائپ-مخصوص خاصیت-ویلیو ٹیبلز کا استعمال جسے ہستی، خاصیت، اور قدر کے لحاظ سے انڈیکس کیا جا سکتا ہے اور سادہ ایس کیو ایل بیانات کے ذریعے ہیرا پھیری کی جا سکتی ہے، ایکس ایم ایل ٹری ڈھانچے کے استعمال سے کہیں زیادہ توسیع پذیر ہوتا ہے۔ گوگل ایپ انجن، جس کا اوپر ذکر کیا گیا ہے، ایک اچھی وجہ سے مضبوطی سے ٹائپ شدہ ویلیو ٹیبلز کا استعمال کرتا ہے۔ گراف ڈیٹا بیس ای اے وی ساختہ ڈیٹا کے ساتھ درپیش مختلف مسائل کو سنبھالنے کا ایک متبادل طریقہ گراف ڈیٹا بیس کو استعمال کرنا ہے۔ یہ گراف یا ہائپر گراف کے نوڈس کے طور پر اداروں کی نمائندگی کرتے ہیں، اور اس گراف کے لنکس یا کناروں کے طور پر صفات پیش کرتے ہیں۔ ٹیبل جوائنز کے مسئلے کو گراف مخصوص استفسار کی زبانیں فراہم کرکے حل کیا جاتا ہے، جیسے اپاچی ٹنکر پاپ، یا اوپن کوگ ایٹم اسپیس پیٹرن میچر۔ ایک اور متبادل SPARQL اسٹور کا استعمال کرنا ہے۔ سرور سافٹ ویئر پوسٹگری ایس کیو ایل کے لیے غور: جے ایس او این بی کالم پوسٹگری ایس کیو ایل ورژن 9.4 میں جے ایس او این بائنری کالموں (جے ایس او این بی) کے لیے سپورٹ شامل ہے، جن سے پوچھ گچھ کی جا سکتی ہے، انڈیکس کیا جا سکتا ہے اور شامل کیا جا سکتا ہے۔ یہ روایتی ای اے وی ٹیبل ڈیزائنوں کے مقابلے میں ایک ہزار یا اس سے زیادہ عوامل کے ذریعے کارکردگی میں بہتری کی اجازت دیتا ہے۔ جے ایس او این بی پر مبنی ڈی بی اسکیما میں ہمیشہ کم ٹیبل ہوتے ہیں: کوئی بھی اینٹیٹی ٹیبل کے جے ایس او این بی قسم کے فیلڈز میں ایٹریبیوٹ ویلیو کے جوڑوں کو گھونسلہ بنا سکتا ہے۔ اس سے ڈی بی اسکیما کو سمجھنے میں آسانی ہوتی ہے اور ایس کیو ایل کے سوالات مختصر ہوتے ہیں۔ تجریدی پرت پر ڈیٹا بیس آبجیکٹ کو جوڑنے کے لیے پروگرامنگ کوڈ بہت چھوٹا نکلتا ہے۔ ایس کیو ایل سرور 2008 اور بعد میں: مائیکروسافٹ ایس کیو ایل سرور 2008 ای اے وی کا (ملکیتی) متبادل پیش کرتا ہے۔ جوہری ڈیٹا ٹائپ والے کالموں (مثال کے طور پر، عددی، ورچر یا ڈیٹ ٹائم کالم) کو صرف CREATE ٹیبل بیان کے کالم کی تعریف میں لفظ SPARSE کو شامل کرکے اسپارس کے طور پر نامزد کیا جا سکتا ہے۔ بکھرے ہوئے کالم این یو ایل ایل اقدار کے ذخیرہ کو بہتر بناتے ہیں (جو اب بالکل بھی جگہ نہیں لیتے ہیں) اور اس وقت مفید ہوتے ہیں جب کسی ٹیبل میں اکثریت کے ریکارڈ میں اس کالم کے لیے این یو ایل ایل اقدار ہوں گی۔ غیر معمولی کالموں پر اشاریہ جات کو بھی بہتر بنایا جاتا ہے: صرف وہی قطاریں جن کی اقدار انڈیکس کی جاتی ہیں۔ اس کے علاوہ، ٹیبل کی ایک مخصوص قطار میں تمام غیر معمولی کالموں کے مندرجات کو اجتماعی طور پر ایک واحد ایکس ایم ایل کالم (ایک کالم سیٹ) میں جمع کیا جا سکتا ہے، جس کے مندرجات [<کالم-نام> کالم کے مندرجات </کالم-نام>] * کی شکل کے ہوتے ہیں۔ درحقیقت، اگر کسی کالم سیٹ کو کسی ٹیبل کے لیے کریٹ ٹیبل بیان کے حصے کے طور پر بیان کیا جاتا ہے، تو بعد میں بیان کیے گئے تمام غیر معمولی کالم عام طور پر اس میں شامل کیے جاتے ہیں۔ اس کا دلچسپ نتیجہ یہ ہے کہ SQL بیان SELECT * <ٹیبل نام> سے انفرادی غیر معمولی کالموں کو واپس نہیں کرے گا، بلکہ ان سب کو ایک ہی XML کالم میں جوڑ دے گا جس کا نام کالم سیٹ کا ہے (جو اس وجہ سے ایک ورچوئل، کمپیوٹڈ کالم کے طور پر کام کرتا ہے)۔ بکھرے ہوئے کالم کاروباری ایپلی کیشنز جیسے پروڈکٹ کی معلومات کے لیے آسان ہوتے ہیں، جہاں قابل اطلاق صفات پروڈکٹ کی قسم کے لحاظ سے انتہائی متغیر ہو سکتی ہیں، لیکن جہاں فی پروڈکٹ قسم کے متغیر صفات کی کل تعداد نسبتا معمولی ہوتی ہے۔ غیر معمولی صفات کی حدود تاہم، غیر معمولی صفات کی ماڈلنگ کے اس نقطہ نظر کی کئی حدود ہیں: حریف ڈی بی ایم ایس نے، خاص طور پر، اس خیال کو اپنے انجنوں کے لیے نہ لینے کا انتخاب کیا ہے۔ حدود میں شامل ہیں: ایک ٹیبل میں غیر معمولی کالموں کی زیادہ سے زیادہ تعداد 10,000 ہے، جو کچھ نفاذ کے لیے کم ہو سکتی ہے، جیسے کہ طبی ڈیٹا کو ذخیرہ کرنے کے لیے، جہاں صفات کی ممکنہ تعداد شدت کی ایک ترتیب زیادہ ہوتی ہے۔ لہذا، یہ کسی مریض کے لیے * تمام * ممکنہ طبی صفات کی ماڈلنگ کا حل نہیں ہے۔ نئی صفات کا اضافہ-ای اے وی ماڈل کی تلاش کی بنیادی وجوہات میں سے ایک-اب بھی ڈی بی اے کی ضرورت ہوتی ہے۔ مزید برآں، اسٹریس ایٹریبیوٹ ڈیٹا کے لیے یوزر انٹرفیس بنانے کا مسئلہ حل نہیں کیا گیا ہے: صرف اسٹوریج میکانزم کو ہموار کیا گیا ہے۔ * ایپلی کیشنز کو رن ٹائم پر ٹیبل سے غیر معمولی کالموں کو متحرک طور پر شامل کرنے اور ہٹانے کے لیے لکھا جا سکتا ہے: اس کے برعکس، ایک کثیر صارف کے منظر نامے میں اس طرح کی کارروائی کرنے کی کوشش جہاں دوسرے صارفین/عمل اب بھی ٹیبل استعمال کر رہے ہیں، کو غیر معمولی کالموں کے بغیر ٹیبلز کے لیے روکا جائے گا۔ تاہم، اگرچہ یہ صلاحیت طاقت اور لچک پیش کرتی ہے، لیکن یہ غلط استعمال کو مدعو کرتی ہے، اور اسے انصاف کے ساتھ اور کبھی کبھار استعمال کیا جانا چاہیے۔ اس کے نتیجے میں کارکردگی پر نمایاں جرمانے لگ سکتے ہیں، جزوی طور پر کیونکہ اس ٹیبل کو استعمال کرنے والے کوئی بھی مرتب شدہ استفسار کے منصوبے خود بخود کالعدم ہو جاتے ہیں۔ متحرک کالم کا اضافہ یا ہٹانا ایک ایسا عمل ہے جس کا آڈٹ کیا جانا چاہیے، کیونکہ کالم کو ہٹانے سے ڈیٹا ضائع ہو سکتا ہے: کسی ایپلی کیشن کو کسی قسم کے ٹریل کو برقرار رکھے بغیر ٹیبل میں ترمیم کرنے کی اجازت دینا، بشمول عمل کا جواز، سافٹ ویئر کا اچھا عمل نہیں ہے۔ ایس کیو ایل کی رکاوٹیں (مثال کے طور پر، رینج چیک، باقاعدہ اظہار چیک) کا اطلاق غیر معمولی کالموں پر نہیں کیا جا سکتا۔ واحد چیک جو لاگو کیا جاتا ہے وہ درست ڈیٹا ٹائپ کے لیے ہوتا ہے۔ رکاوٹوں کو میٹا ڈیٹا ٹیبلز اور مڈل ٹیئر کوڈ میں نافذ کرنا ہوگا، جیسا کہ پروڈکشن ای اے وی سسٹمز میں کیا جاتا ہے۔ (یہ غور کاروباری ایپلی کیشنز پر بھی لاگو ہوتا ہے۔) اگر کسی کالم کے اسٹوریج فارمیٹ کو تبدیل کرنے کی کوشش کی جائے تو ایس کیو ایل سرور کے پاس قطار کے سائز پر حدود ہیں: تمام جوہری ڈیٹا ٹائپ کالموں کے کل مندرجات، غیر معمولی اور غیر مخصوص، ایک ایسی صف میں جس میں ڈیٹا موجود ہو 8016 بائٹس سے زیادہ نہیں ہو سکتا اگر اس ٹیبل میں ڈیٹا کے لیے ایک غیر معمولی کالم موجود ہو جس پر خود بخود کاپی کی جائے۔ ڈیٹا پر مشتمل چھوٹے کالموں میں ڈیٹا ٹائپ کے لیے اسٹوریج کے علاوہ فی کالم 4 بائٹس کا اسٹوریج اوور ہیڈ ہوتا ہے (مثال کے طور پر، ڈیٹ ٹائم کالموں کے لیے 4 بائٹس)۔ یہ کم کالم والے ڈیٹا کی مقدار کو متاثر کرتا ہے جسے آپ کسی دی گئی صف کے ساتھ جوڑ سکتے ہیں۔ ورچار ڈیٹا ٹائپ کے لیے اس سائز کی پابندی میں نرمی کی گئی ہے، جس کا مطلب ہے کہ، اگر کوئی پروڈکشن سسٹم میں قطار کے سائز کی حدود کو مارتا ہے، تو کسی کو کم کالموں کو ورچار کے طور پر نامزد کرکے اس کے ارد گرد کام کرنا ہوگا حالانکہ ان میں مختلف اندرونی ڈیٹا ٹائپ ہو سکتی ہے۔ بدقسمتی سے، یہ نقطہ نظر اب سرور سائیڈ ڈیٹا ٹائپ چیکنگ کو ختم کر دیتا ہے۔ کلاؤڈ کمپیوٹنگ کی پیش کش بہت سے کلاؤڈ کمپیوٹنگ وینڈرز ای اے وی ماڈل کی بنیاد پر ڈیٹا اسٹورز پیش کرتے ہیں، جہاں کسی دی گئی ہستی کے ساتھ صوابدیدی تعداد میں صفات منسلک کی جا سکتی ہیں۔ راجر جیننگز ان کا گہرائی سے موازنہ فراہم کرتے ہیں۔ ایمیزون کی پیشکش میں، سمپل ڈی بی، ڈیٹا کی قسم سٹرنگ تک محدود ہے، اور اگر آپ چھانٹنا جیسے آپریشن انجام دینا چاہتے ہیں تو ڈیٹا جو اندرونی طور پر غیر سٹرنگ ہے اسے سٹرنگ پر مجبور کیا جانا چاہیے (مثال کے طور پر، نمبروں کو لیڈنگ زیرو کے ساتھ پیڈ کیا جانا چاہیے)۔ مائیکروسافٹ کی پیشکش، ونڈوز ایزور ٹیبل اسٹوریج، ڈیٹا کی اقسام کا ایک محدود سیٹ پیش کرتا ہے: بائٹ []، بول، ڈیٹ ٹائم، ڈبل، گائیڈ، انٹ، لانگ اور سٹرنگ۔ گوگل ایپ انجن ڈیٹا کی اقسام کی سب سے بڑی قسم پیش کرتا ہے: عددی ڈیٹا کو انٹی، لانگ، یا فلوٹ میں تقسیم کرنے کے علاوہ، یہ کسٹم ڈیٹا کی اقسام جیسے فون نمبر، ای میل ایڈریس، جیو کوڈ اور ہائپر لنک کی بھی وضاحت کرتا ہے۔ گوگل، لیکن ایمیزون یا مائیکروسافٹ نہیں، آپ کو میٹا ڈیٹا کی وضاحت کرنے دیتا ہے جو آپ کو میٹا ڈیٹا ماڈل بنانے کی اجازت دے کر غلط صفات کو کسی خاص طبقے کے ساتھ منسلک ہونے سے روکتا ہے۔ گوگل آپ کو ایس کیو ایل کے ذیلی سیٹ کا استعمال کرتے ہوئے ڈیٹا پر کام کرنے دیتا ہے۔ مائیکروسافٹ یو آر ایل پر مبنی استفسار کی نحو پیش کرتا ہے جو ایل آئی این کیو فراہم کنندہ کے ذریعے خلاصہ کیا جاتا ہے۔ ایمیزون زیادہ محدود نحو پیش کرتا ہے۔ تشویش کی بات یہ ہے کہ جوائنز کے ذریعے مختلف اداروں کو یکجا کرنے کے لیے بلٹ ان سپورٹ فی الحال (اپریل '10) تینوں انجنوں کے ساتھ موجود نہیں ہے۔ اس طرح کے آپریشنز کو ایپلیکیشن کوڈ کے ذریعے انجام دینا ہوتا ہے۔ اگر ایپلیکیشن سرورز وینڈر کے ڈیٹا سینٹر میں ڈیٹا سرورز کے ساتھ مل کر واقع ہیں تو یہ کوئی تشویش کی بات نہیں ہوگی، لیکن اگر دونوں جغرافیائی طور پر الگ ہو جائیں تو بہت زیادہ نیٹ ورک ٹریفک پیدا ہوگا۔ ای اے وی نقطہ نظر صرف اس صورت میں جائز ہے جب ماڈلنگ کی جانے والی صفات بے شمار اور کم ہوں: اگر پکڑا جانے والا ڈیٹا اس ضرورت کو پورا نہیں کرتا ہے، تو کلاؤڈ وینڈرز کا ڈیفالٹ ای اے وی نقطہ نظر اکثر ان ایپلی کیشنز کے لیے ایک مماثلت ہوتا ہے جن کے لیے حقیقی بیک اینڈ ڈیٹا بیس کی ضرورت ہوتی ہے (محض مستقل ڈیٹا اسٹوریج کے ذرائع کے برخلاف)۔ موجودہ ڈیٹا بیس ایپلی کیشنز کی اکثریت، جو روایتی ڈیٹا ماڈلنگ کے نقطہ نظر کا استعمال کرتے ہیں، کو ای اے وی قسم کے کلاؤڈ فن تعمیر میں دوبارہ فٹ کرنے کے لیے بڑی سرجری کی ضرورت ہوگی۔ مثال کے طور پر، مائیکروسافٹ نے دریافت کیا کہ اس کا ڈیٹا بیس-ایپلیکیشن-ڈویلپر بیس بڑی حد تک اس طرح کی کوشش میں سرمایہ کاری کرنے سے گریزاں تھا۔ لہذا 2010 میں، مائیکروسافٹ نے ایک پریمیم پیشکش، ایس کیو ایل سرور ایزور کا آغاز کیا، جو ایک کلاؤڈ قابل رسائی، مکمل رشتہ دار انجن ہے جو موجودہ ڈیٹا بیس ایپلی کیشنز کو صرف معمولی تبدیلیوں کے ساتھ پورٹ کرنے کی اجازت دیتا ہے۔ 2020 کی دہائی کے اوائل تک، یہ سروس 8 ٹی بی تک کے معیاری درجے کے فزیکل ڈیٹا بیس سائز کی اجازت دیتی ہے، جس میں "ہائپر اسکیل" اور "بزنس کریٹیکل" پیشکش بھی دستیاب ہیں۔ ایٹریبیوٹ ویلیو سسٹم لنکڈ ڈیٹا ریسورس ڈسکرپشن فریم ورک (آر ڈی ایف) سیمنٹک ویب ٹرپل اسٹور آہستہ آہستہ بدلتے طول و عرض ڈیٹامک حوالہ جات ڈیٹا بیس ماڈل ڈیٹا بیس تھیوری بھی دیکھیں۔