 اسلام علیکم جیسے جانتے ہیں today we are in the lecture number 24 of the database management system course میں آپ کا ٹیچر ہوں ڈیر مصود اور اس کورزہ کورد جیسا کہ آپ جانتے ہیں وہاں cs 403 in the previous structure we were discussing the physical database design اور اس کے اندر ہم نے خاص طور پر دیکھا کہ de-normalization کیا ہوتی ہے although جس وقت ہم normalization پڑھا تھے i emphasized کی normalization اس کے حالتہ جانتے ہیں it is a very important and critical step in the database developmental process لیکن جہاں ہم نے کہا دیکھا کہ جہاں پر ہمیں پتا چلے کہ جہاں پر ڈیر ہمیں گین ہوتی ہے تو وہاں پر ہم نے کسی ڈیر مصود ہم نے اس کو normalization کو avoid کر کے t-normalize کیا لیا اس کے علاوہ physical database design میں کوئر اسوء تھا partitioning کا partitioning سے یہ مراد ہے کہ ہم ایک سیم تیبل کو اس کو different hiswes میں divide کردیں مختلف hiswes میں سمجھاً جو barley دسترہلی ہاں حدیث wereشننگ کی دوسری ٹائپ ہے اس سے ہم آج کیرگچاہر start کریں گے لیکن اس لائے جولتے ہیں جو جیسے نام سر واہر ایک اپنے ہیں اپنے طریبت کیا یہ کیا ہے۔ جب کہ Jesse ہورزالٹر پارٹشننگ کیا یہ آپ دیکھتے ہو کہ وہ روائز کرتے تھے جب کہ یہاں پر آپ کے پاس ہو رہی ہے۔ اپنے طریبت کیا یہ کیا ہے۔ اپنے طریبت کیا کہہاں ہورکاہی۔ حف� کیا ہواہ Palestinians داد both you and you Cyrus آن whether look یہ when we started discussing the partitions I told you that the general rule for the partition a bombal articulated for the general reason for partition at ahearted is کے Small things are more efficient to친 process as compare to the last it lead to a basic on her way to the next stage whether we should go for the PowerPA Hyung or the vertical partes وہاں پر آپ دیکھ رہے ہیں کہ آپ سیم ٹیبل کے دفنٹ حصوں کو مختلف جگہ پلس کر سکتے ہیں یا مختلف اپلکیشنز میں مختلف حصوں کی ضرورت پڑتی ہے اس سیم ٹیبل کی تو دیل جو گو فاردی ہوریزینٹر پارٹشننگ کہ کچھ ٹیبل کو وہاں پلس کردے، کچھ کو وہاں پلس کردے پارٹشنگ میں یہ ہوریزینٹر پارٹشنگ ہے میں جو بہت بہت ورٹیکل پارٹشنگ، اگین پھر وہ بات ہے کہ اگر آپ دیکھتے کے عxton کچھ جو آپ کے عٹریو روز وہ خاصプریکیشنز میں ایکسیس ہو رہے thành کسی مراکھ صلی Cyberpunk پس ڈیпچكنز میں ا 플�یکتیار��도 ہوتے ہیں اور بایکی آٹport سی بہت سی پیکیشنز میں ایکسیس ہوتے ہیں کچھ تھوڑی سے ایسی اپلکیشنز بھی ہیں that access them together. Together سے مراد یہ سارے کے سارے ضروری نہیں ہے. Together سے مراد یہ ہے کہ اگر آپ میں دو پارٹیشنز مضالی ہے یہ بارہ اس میں ہے اور آٹھ اس میں فرس کریں بیس کی بجائے تو کچھ اپلکیشنز ایسی ہے کہ جو ایک دو اس میں سے چار پانچ اس میں سے یہ پانچ اس میں سے دو تین اس میں سے یعنی دونوں پارٹیشنز سے کچھ اٹریبوٹز کو ایکسیس کرتی ہیں. جب آپ کی مکسیم اپلکیشنز ایسی ہو کہ جو کہ اگر آپ ٹیبل کو سپریٹ کردے ورٹیکلی تو مکسیم اپلکیشنز آپ کی ایک کسی پارٹیشنز پہ جائیں اس پر یا اس پر اگر آپ نے تین کیا ہے تو چار جتنے بھی کیا ہے تو مکسیم پارٹیشنز جو اپلکیشنز ہیں they restrict on the single partition لیکن کچھ ایسی ہیں جوکہ ملٹریپل پارٹیشنز کے پر بھی جاتی ہیں اس کس میں you can think we can partition them ورٹیکلی اب جہاں پر آپ کے سامنے ایک ٹیبل دکھائے گے اس میںگر آپ دیکھیں تو اس میں کافی سار اٹیبوٹ ہیں ہمار پر سٹورنٹیبل ہے اس میں کچھ تو آپ کے پاس پرانی فبیلر اٹیبوٹس ہیں like سٹورٹ ایڈی ہے سٹورنیم ہے سٹورنٹ ایڈرس ہے سٹورنٹ کا فون ہے cgpa پھر پر پرگام نیم کس پرگام میں وہ انرولد ہے پھر سکول اور سکول سے برات یہاں پر یہاں پر یہاں پر نام آگیا than metric marks اس میں ہوگے پھر metric subjects آیا وہ let's say science تھا یا کہ arts میں جو بھی وہ یہاں پر آسکتا ہے اس کے بعد پھر جو اس کا intermediate area fcf تھا اس کے بارے میں ڈیٹا یہاں پر تین اٹیبوٹ ہیں college name ڈیٹر کے marks اور ڈیٹر کے subjects یہ تین اٹیبوٹس آپ کے یہاں پر ہوگے اس کے بعد آپ کے پاس جو اس کی graduation کی ڈیٹا ہے وہ یہاں موجود ہے like degree college name ڈیٹر کے marks اور better کے subjects تو یہ جو تین اٹیبوٹس آپ کے وہ اس کے بچر کے بارے میں تو یہ تو otherwise آپ کا ایک table define ہو گیا creation define ہو گیا اور اس کے در جو آپ کے primary کے obviously وہ student ڈیٹ ہے if you know the student ڈیٹ تو آپ ان تمام attributes کو ڈیٹرمین کر سکتے ہیں that was fine that is a normalized table وہ آپ کا چکے single primary کی ہے اور اس میں کوئی transitive dependence سے نہیں ہے that is why it's a third normal form میں آپ کا relation ہے now the thing is کہ اس سے relatively large table real sense میں تو large نہیں ہے because your practical table اس میں 20, 25, 30, 40 تاک attribute بھی ہو سکتے ہیں لیکن ہم ابھی تک examples دیکھتے رہے ہیں ان کے reference سے ہم let's consider کہ اس سے large table اب اس میں آپ پہنی بات تو یہ ہوگے کہ large table ہو گیا تو وہ اس range میں آگیا کے جب ہم کہتے ہیں کہ it's better to have smaller table than the large table اب سیکن چیز آپ نے یہ دیکھی کہ nature of applications application سے مرادہ ہے کہ جسی لوگ جتنے بھی program جتنے بھی user کی requirements that access data from this table آپ ان کی nature کو دیکھیں اس کی nature کے لحاظ سے دیکھیں کہ ہمارے پاس کچھ applications ایسی ہیں کہ جو اس میں سے صرف وہ data access کرتی ہیں کہ جو students کا sort of personal data مثال کے طور پر اس کا نام ہو گیا ڈرس ہو گیا phone number ہو گیا cgpa program name ان کو ہم کہتے ہیں کہ they are concerned with this particular student regarding this institution اس کی اپنی ذات سے یہ personal suitہ ہم کہتے ہیں اور باقی جو اس کا previous record تھا اس کی yes come previous academic record کہتے ہیں اگر اس کا matrix ہوا پھر اس کا enter کہو گیا bachelor کہو گیا تو یہ اس کو use کر سکتے ہیں اب ہماری applications کی nature ہے کہ فرص کرے کول ہمارے پاس تیز different application program تھے کہ جو اس طبل میں سے data access کرتے ہیں when we analyze those requirements we find out کہ ان میں سے فرص کرے 13 application program تھے وہ ایسے تھے کہ جو صرف student کا personal data access کرتے ہیں اسی طرح ہمارے پاس فرص کرے 15 assay program تھے 15 assay application program تھے ایسی applications تھی کہ جو اس کا صرف academic data یعنی کہ student کا id دیا اور پھر اس کا school کا مطلب کن سے کیا اس نے اس کا marks کتنے تھے اب وغیرہ وغیرہ یہ data just access کرتے ہیں تو maximum applications جو ہیں وہ تو صرف اس کے ایک part کو کر رہی ہیں لیکن دو ہمارے پاس اسی applications تھی کہ that are accessing data from both these parts that we have somehow logically established within this table اب ہمارے پاس اگر دیکھیں کہ maximum part کیلئے چکے ہمارے پاس وہ الگلگ ہو سکتا ہے table اور دیکھیں اس کے علاوہ اور کوئی reason نہیں ہے اس طرح کو partition کرنے میں break کرنے میں otherwise technically speaking this is a perfectly united single table اس کو اور کوئی reason نہیں کرنے کی یہ تو بنتا ہے ایک table ہے دیکھیں یہاں پہ ہم نے دیکھا کہ اگر ہم اس کو split کر لیں تو ہمارے جتنی applications ہے maximum of them will be handing with a smaller table جہرا کہ پہلے اگر اس میں ہم کہتے ہیں تو آپ اگر جب آپ کو دو میں split کریں گے تو maximum of your applications are handling with the table having let's say 6 or 7 attributes تو وہ اٹمیٹیکری جو تیبل کا size reduce ہوتا ہے تو اس کو read کرنے میں اس کو write کرنے میں اس کو join کرنے میں all those operations they get efficient and what about those applications جو کہ دونوں کا کتھا کرتی ہیں they become relatively less efficient کیوں اس لیے کہ جب آپ ان کے لیے when you run an application تو ان کے لیے previously they were finding their require data in the same table the single table آپ جب آپ نے اس کو partition کر دیے vertically اس میں کیا ہوگا کہ اب آپ ان application کو data لینے کے لیے 2 partitions کو یا 2 table کو join کرنا پڑے گا the thing is کہ out of 30 only 2 are being disturbed 28 are being getting efficient لیکن یہاں پر ایک اور لیکن بھی ہے اگر ان دو میں سے ایک جو ہے وہ بو اس ایکسیس کر رہا ہے پھر تو ظاہرہ مجبوری ہے لیکن جنرلی رول آپ کو بتا رہا ہوں کہ اس طرح کی سیٹوشن میں آپ کیا کریں گا کہ آپ آپ جانتے ہیں کہ آپ کہیں گے ہم اس کو vertically partition کر لیتے ہیں دیکھیں ہم نے this table کو کیسے partition کیا ہے the one table we created as simply the student اور اس میں وہی جو ہم نے logical اس کی division کی تھی کہ ہم نے اس میں name, address, font, cgpa اور program name یہ ہم نے ایک اس میں دار لیے اور دوسرا ہم نے partition کیا ہے وہ کہا ہے student academic اس بھی اس کے previous academic record اس کا اور وہاں پہ student id school, metric marks اور جتنے بھاکی subjects اس کے matrix سے interest سے اور batchر سے all those attributes we placed in the second table اس طرح سیم اس کو vertically partition کر دیا very important point about vertical partitioning definitely place the primary کی in both the partitions اس طرح سے آپ تھوڑی سی inefficiency بھی اس میں آگی کہ the primary key is being stored repeatedly دو دو فہاں store رہی ہے پہلے ایک ایک فاوری تھی but this is a must this is required کیوں اس لیے کہ اس کے بغیر without storing the primary key in both the partitions you cannot establish the link between these two tables آپ کو یہ کیسے پہلاتا لے گا کہ جس طرح کا نام یہ ہے اس کا address یہ ہے اس کے metric marks اس کے how would you establish the link between these two tables only through the primary key اور یہ دونوں میں کام کرے گی اس primary key کیوں کہ اس طرح کی ایک جو partitions اس میں اس کی requirement یہ ہوتی ہے کہ they must be lawless lawless سے مراد یہ ہے کہ جس وقت ہمیں original table واپس تاہیے whenever you want to get the original table original means both ways attributes بھی سارے کی سارے ملنے چاہیے جنی جو attribute names وہ بھی سارے ملنے چاہیے اور data بھی وہی کا وہی ملنا چاہیے جس کے original table میں ہوتا اور اس کے لیے ضروری ہے کہ you place the primary key in both the relations اس لیے یہ زیادر کیے گا whenever you go for the vertical partitioning always place the primary key in both the partitions that was it about the vertical partitions I hope آپ کو سمجھا گیا ہوگا اور زیادر ہے کہ جسے پہلے different situations ہوتا کہ we also can combine different options یہاں پر بھی you can merge different options ہمار پر دو options ہے vertical partitioning اور horizontal partitioning yes we can have a combination of both ایسا table بھی ہو سکتا ہے this couple vertical partitioning بھی کریں اور horizontal بھی کریں کیا ایک چیز دیکھا ہے کہ normally جو آپ کی horizontal partitioning ہوتی ہے that is based on the select statement اور وہ اس کی کسی attribute کی value کی بیس پہ ہوتی ہے whereas the vertical partitioning you specify the names of the attribute that are being placed that has to be placed in different partitions تو in the vertical partitioning you specifically give the attribute names whereas in case of horizontal partitioning you apply a condition on the value of some attribute اور اس کی basis پہ that they are partitioned that was it about the partitioning again an option you have to analyze the situation whether you should go for it اور نہیں otherwise جو آپ کے پاس stable ہے they are just fine they are normalize stables replication this is another form of denormalization کیونکہ اگر آپ دیکھیں کہ normalization کیا کہتی ہے normalization جو ہے آپ کی redundancy کو آپ کی redundancy کو ہمیشہ کنٹرول کرتی ہے minimize کرتی ہے اور one of the anomalies that we always discuss regarding the unnormalization was the redundancy کیا دیتا ہے is stored that is duplicated unnecessarily not required جو ریپکیشن ہے وہ یہ ہے کہ you are deliberately duplicating the data تو that is called the replication اور یہ ظاہر ہے کہ جو ہمارا normalization ہے اس کے ایک basic principle کے against ہے but in many situations it is very advantageous that is duplicated انکریزیز the access speed and failure damage وہی باتا جیسے ہم a disk contention کی بات کی تھی اگر کوئی ڈیٹا آپ کا ایسا ہے کہ جو بہت سی application میں آپ کو چاہیے یعنی اگر آپ ایک attribute کی بات اگر آپ ایک table کی ہی بات کریں تو کچھ ایسا اس کا part ہے کہ جو مطلف application دے رہی ہیں لیکن کچھ ایسا ہے کہ almost تمام application access کر رہی ہیں تو اس کے لیے sort of all applications are going for that اس جو آپ کا that are دو بار بار application میں استعمال ہو رہا ہے اس کو آپ duplicate کر لیں اس سے یعنی کہ جو پہلے تمام application اگر ایک جگہ پہ access کر رہے ہیں اس دٹا کے لیے now they are going at the multiple places جیہاں آپ even you can place them on the different disks تو اس سے بھی آپ کا جو جو disk contention وہ بھی deduce ہو جائے گی پھر یہ ہے کہ failure damage کو بھی deduce کرتا ہے کہ اگر let's say اگر آپ کو ایک ایک آپ نے multiple copies ڈکیز درکیز ہمیے ان میں سے اگر ایک ڈیمیب ہو جاتی ہے تو وہ اس ڈیمیج کا جو نقصان ہے وہ اس کو deduce کرتی ہے کیونکہ ہمارے پاس کچھ اس کی ایک دوسری copy موجود ہے تو this is the concept of replication گین depends on the requirement آپ پورے پورا ڈیبل کو بھی replicate کر سکتے ہیں اور چاہیں تو اس کے کسی ایک حصے کو اسے رادہ کچھ attributes کو یا کچھ اس کے horizontal part یا اس کے vertical part بھی تو لیکن گے کہ جو ڈیبل ڈیبل ڈیبل ہے ڈیبل اس لیاس ہے کہ اپنی اس کی importance کی لیاس سے بھی آپ اس کو لوس کرنا ڈیبل کرسکتے اس کا unavailability آپ کی جو routine ڈیبل ران ہو رہا ہے اس میں ایک خاص ڈیبل کسی بھی وقت کی لی ہمیں unavailable نہیں ہوں بھی ڈیبل ہی بس ڈیبل ہی always available تو یہ تو اس کی ڈیبل ہوگئے اوی بیرہ ویرہ جو ہے وہ کہ بہت سی پیکیشٹر کو ایکسیس کر رہی ہیں اس کی ریکارنٹ بہت زیادہ ہے تو ان دو بیسسیس کے اوپر آپ دیسائٹ کریں گے کہ پورے کو پورے ٹیبل کو رپلکٹ کرنا چاہیے یا اس کی سی حصے کو جنرلی ایڈاپٹٹٹ ویر اپڑیشن ایس نوٹ ویری فریکوینٹ اس لیے کہ آپ ایک بازن میں رکھیگا کہ میں پہلے آپ سے کہا تھا کہ don't perform, don't go for the efficiency on the cost of consistency یا کرکنس جب آپ کو دیتا فریکوینٹلی اپڑیٹ ہو رہا ہے تو رپلکٹیڈ دیتا کا پرولم یہ ہے کہ you have to make that updation on all the replicas کیونکہ اگر ایک پتکلر کوپی میں ایک پتکلر رپلکہ میں اگر اپنا آپ کے پاس جو ہے وہ a different آپ نے اپڑیٹ کر دی ہے اور دوسر میں نہیں کی it introduces inconsistency کہ same چیز کے بارے میں ایک کوپی کچھ اور کہا رہی ہے دیتا کی اور دوسری کوپی کچھ اور کہا رہی ہے تو اس لیے ایک general rule تو یہ ہے کہ when ever there is relatively less chances of updation updation is not very frequent تو وہاں پہ آپ سوچا کہ اسے generally suitable environment for the application اپڑیشن بہت فریکوینٹ نہیں ہے ایکسیل اس کی بہت زدہ ہو رہی ہے تو اگر آپ رپلکٹ کر دیں گے it would be very very efficient ایک افیشنشی کو بوٹ انکریز کر دے گا کیوں کہ آپ کی جو دیتا ہے وہ بجائے اب تمام اپپیکشنش ایک جگہ سے لینے کے they are being diverted to different places تو اس طرح سے آپ کا افیشنشی بڑھ جائے گی لیکن updation کے بارے میں آپ نے بہت ہوتا رہنا ہے now as we are discussing an example here آپ کو یاد ہوگا کہ ہم نے کچھ در پہلے جب ہم نے بات کی تھی denomeration کی and there we discussed a situation where we saw a many to many relationship between a project and employee اور ہم نے یہ کہتا کہ ہم یہ کرتے ہیں کہ جو ورک ہے یعنی ایک بٹیکولر امپلائی اس پرویٹ پر کام کر رہا ہے یہ اس کی دیٹھایڈ ہے یہ اس کی سیلری ہے اس کو ہم نے کوپی کر دیا تھا یا ملا دیا تھا ہم نے پرویٹ کے ساتھ تو جو ہمارا پرویٹ ریٹے بل تھا it contains not only the data about the project but also about the employees that are working on that project now first کریں کہ ہماری اپلکیشنز کی نیچر ایسی ہے کہ ہماری وہو اپلکیشنز جو کے پرویٹ کے دٹ ایس کرتی ہیں لیکن ساتھ تھی وہ جو اپلکی کی جو سیلری ہے اس کے بارے میں ایکسیس کرتی ہیں تو دوز اپلکیشنز بکام افیشنڈ کیوں کہ آپ جو آپ کا پرویٹ کا نام ہے اور جو اس پے اپلکیشنز کام کر رہے ہیں ان کی سیلری اسی تیبل کے اوپر ہے لیکن فرص کریں گا ہمارے پاس کچھ اپلکیشنز ایسی ہیں جو ویڈی فریکانڈلی ایکسیس دی اپلکیشنز کی نیم اور سیلری ہی اپلکیشنز جو پریٹ کی نیم اور دیٹ ہیٹ کی ساتھ ساتھ ہے اب ان تمام اپلکیشنز کی لیے کیا ہوگا کہ جو اپلکیشنز کیا ہونے کیا ہے اپلکیشنز اور پرویٹ کیا ہے تو یہاں پر آپ اپلکیشنز کیا ہے کہ اگر ہم یہ کرنا ہے کہ ہم اس کو رپلیکٹ کردے ہیں کیا متاب ہے اس کا کہ جو ہم نے افیشنڈ یا جو ہم نے ورک والا جو تیبل تھا جس کو ہم نے مرش کر دیا تھا پرویٹ کے ساتھ ساتھ ہی ہم اس کو مرش کردیں امپلوے کے ساتھ بھی اس سے کیا ہوگا اس میں ہوگا یہ کہ اب آپ کیا کریں گے کہ اب آپ جو امپلوے کا ٹیبل ہے it becomes امپلوے ڈی امپلوے نیم اور ساتھ ہی پھر آجائے گا اس پھر project ڈی اور اس میں آجائے گا date hired اور salary اب جب یہ دو اٹریوٹ ہیں total salary salary or date hired these two attributes ڈی امپلوے نیم اور ساتھ ہی بات اور ساتھ اگر آپ دیکھیں کہ جو امپلوے ڈی ہے اس کو آپ لے آ رہے ہیں project ڈی میں اور project ڈی میں اس کو امپلوے نیم اور امپلوے نیم تو replikation تو آپ کی ہو رہی ہے that is for sure آپ کی ردنسی بھی ہو رہی ہے کہ آپ کا even aیک ہی project ڈی میں آپ ملٹپل امپلوے کام کر رہے ہیں تو you are repeating the project ڈی اینی storage کی ویسٹری اپنی بات ہے but if you can afford that ایک بات کہ آپ اگر اِس ردنسی کو afford کر سکتے ہیں ایک اور دوسری باتی ہے اور آپ کے afford کرنا But what it means is that آپ کے afford کرنا باتی ہے کہ if the organization has no much objection on that اُس کے اس میں آپ 你ھیں گے ٹھیک ہے ملہب بھی چل جائے گا دوسری بات ہے کہ اگر Everyone is not that frequent آپ بیٹا انٹر کرتے ہیں لیکن بیٹا آپ انٹر کرتے رہے ہیں لیکن اس کو چینج کرنا یہ اس کا مدللہ یہ ہے کہ مثل کہ سیلری آپ نے ایک دفعہ فکس کر دی کہ ایک امپلوائی ہے اس کی فلام پروڈیٹ پر یہ سیلری ہے آپ نے امپلوائے کے اندر میں سٹور کر دی اور پروڈیٹ پر میں سٹور کر دی اسی اٹریوٹ میں اب اس طرح کے اپشان نہ ہو کہ آپ بار بار چینج کرتے ہو کہ ابھی سیلری پہلے میں نے غلطی سے وہاں پر لکتی تھی یہ اب یہ کر دی ہے اور یہ غلطی بار بار نہ ہو رہی ہو تو اس کس میں اس کا مدللہ یہ کہ آپ دیشن اتنی فریکرنٹ نہیں ہے تو پھر یہ ہے کہ یہ اگر دو سیٹوشنز آپ کی ہیں تو آپ کے پاس یہ اچھی اپشانز ہے کہ آپ جو یہ جو دیتا ہے زیادہ فریکرنٹلی چاہیے اس کو آپ دونوں میں ریپٹیکٹ کر دیں، ادوانٹیج، ادوانٹیج یہ ہے کہ لیکن پر مجھے جو اپلوائے اپلوائے جانتے ہیں جو پھر شخص محتواری دیتا ہے سبت سکتی؟ یہ بہت بہت بہت بہت بات ہے اسٹیئے کہ آپ ابطال کر دیتے ہیں آپ ایک حوالی میں آ جانتے ہیں یہ ایک حوالی میں کیا دیتا ہے یہ تو ہے کہ آپ ایک پارٹ آکر کیا بھاتٹے کر رہے ہیں بس اپنی صحبی اتنا کر سکتا ہے کہ آپ کے پاس پر اچھا پر بچڑ کیا حوالی ہے وہ بہت بہت بہت بہت بسen تحوالی میں استعمال ہو رہی ہے تو اس طرح بھی آپ بھی کر سکتے ہیں کہ آپ پروڈیٹ پولا ٹیبل کو ہی دو دفعہ سٹور کر لیں اور دفرنٹ اپریکیشنز میں اس کی دفرنٹ کوپیز کو استوال کریں دفرنٹ اپریکیشنز کو استوال کریں بٹ کیپنے معاہد کہ جب بھی آپ کو چینج کریں کوئی نیا پروڈیٹ ایٹ کرنے جا رہے ہیں کسی پروڈیٹ میں کوئی چینج کرنے جا رہے ہیں تو آپ کو اپنے اپنے اپنے اپریکیشنز کے لئے کیونکہ اتھر بھائیز آپ کو دیتا بھائیز جا وہ ان کسیسٹنٹ ہو جائے گا آپ کو اپکوے اپریکیشنز سمجھا گئی ہوگی آئی آگے چلتے ہیں کلسٹرینگ کا بھی کلسٹرینگ کلسٹرینگ یعنی چیز پر اپنے اپریکیشنز جو دفرنٹ کوپیز اپریکیشنز کے دفعہ سٹور کیا نقلی کلسٹرز کلسٹرز کلسٹرز کلسٹرز یعنی کلسٹرز کلسٹار ہے موجود بیشتے ہیں جب ایک بیشتر کے بیشترے ہیں یہ پہلے کسی بیشتی ہیں آپ نے پاکرے بیشتے ہیں ناملی اگر آپ کو اس کی پارٹشٹنگ نہیں کرتے یا اس کو آپ پاکرے بیشتے ہیں ناملی ناملی نہیں کر رہے اس کی حالی سے ہوا ہے بیشتے ہیں جو اکسی بیشتے ہیں جاندہ ہوا ہے کہ ایک فائل میں ایک بیشتے ہیں ایک پریسپل کے طور پر لیکن کلسٹرنگ جو ہے وہ ایک ایسی option آپ کے پاس ہے کہ that increases efficiency by storing the records from multiple tables in the adjacent places next to each other. اس کا адوانٹیج آپ کو کیا? адوانٹیج آپ کو یہ ہے کہ جب آپ نے ایکسیس کرنا ہے ان ریٹر ایکسیس کو تو بجائے اس کے کہ you go physically on different locations on the desk ایکسیس کو ایکسیس کریں وہ فیزیکری ایک ہی فائل میں stored ہے اور ایک دوسی بزے کی بات اس میں یہ کہ آپ کے relative records ہیں وہ سا ست پڑے میں اس کا مدھر بھی ہوا کہ یہ آپ کے کلسٹرنگ کا concept ہے that is related to the physical placement of the records of the files اس کا کلسٹرنگ جو یہ ورشت مدھر جو ہر snatch جو اس سے ہمشکہ سٹسکتی ہے جو ان سے اس کلسٹرنگ میں آپ ڈیشیوشنگ ساتری میں یہ چاہتے ہیں جہاں بہت فریکوانٹلی نہیں کر رہے انیدرنتانہ جو سٹسکتی ہے جہاں ایسی چاہتی نہیں ہوتا ان میں کلسٹرنگ جو وہ بہت سٹتبل ہے ڈیفائن کلسٹر ڈیفائن کی ایکسیس کی جو کلسٹر میںانت the table میںue the clusters to國at by creating and associating the key with it اس کا بیسک ایڈی یہی ہے کہ سب سے پہلے آپ ایک کلسٹر کو دفائن کریں گے کہ یہ ایک کلسٹر ہے اور یہ اس کا نام ہے اور ساتھ ہی آپ ایک اٹریبوٹ دفائن کریں گے کہ جو کے ایک یونائٹنگ یا بانڈنگ فورس ہوگا BETWEEN THE RECORD OF DIFFERENT TABLES جو کہ اس کلسٹر کا حصہ بننے جا رہے ہیں اب آپ کریں گے کیا کہ آپ کلسٹر کریٹ کیا اس کے بعد آپ نے جب اور اس میں کیی مانشن کرتے ہیں جب آپ فائل کریٹ کریں گے فائل کریٹ کرتے ہوئے you also mention کہ that this file is a part of یا is related to that کلسٹر اور through this کی اس اٹریبوٹ کا نام بھی دے دیں اور جرنلی یہ پرائمڈی کی ہوتی ہے تو آپ اس طرح سے آپ نے اس کو پرائمڈی کیا بتا دیے کہ یہ اس کلسٹر کا حصہ ایسی طرح آپ نے دوسرا اپنے ٹیبل جو اس کے جو اس سے ڈیٹ ہے اس کو بھی آپ کو اسی کلسٹر کا حصہ بنا دی ہے اس کا کوئی ڈیوانٹیج یہ ہوگا کہ جب آپ اس میں ڈیٹا ڈیٹ کریں گے تو all the records that are related to each other وہ پھر اگسی کا ساستہ ڈیٹ ہوں گے for example we take the example of employee and department we consider that one employee works in one department and in one department there are many employees this case میں because most of the application access them together the department and apply we decide to put them in the same cluster to store them in the same cluster so what we do we define a cluster then we create the department table and we declare that this is the primary key of this department table and on the basis of this primary key this is the part of this particular cluster this is one step then what we do we create the employee table and the employee table due to one to many relationship it contains the department id as foreign key and obviously we will make the part of this cluster the employee table on the basis of this foreign key تو وہ آگیا اپنی primary key بیس پہ department ڈیٹ آگیا اپنی foreign key بیس پہ employee اس کا پردوانڈیش جی ہوگا کہ when you start entering the data into the file دیکھیں آپ کلسٹر پردوانڈر نہیں کریں گے آپ پردوانڈر کریں گے ڈیبلس کے اندر ڈیبلس کے اندر وہ اٹمیٹیکلی یوں پلس ہوگا کہ ایک department آپ کا آگیا اس کے بعد اس سے جتنے ریٹڈ جو employees ہوں گے اس کا record کے باستور ہو جائے گا پھر ایک اور department اس کے ساتھ اس کے employees کے record ادوانڈیش جی ہے کہ whenever you run the application اور آپ کو چاہی ہے کہ جی اس department کونسیں employees ہیں تو department کے دیتای جو ہی ایکسیس کریں گے تو فیزیکری ساتھ ہی اسی جگہ اسی بلک میں ساتھ ہی آپ کے پاس employees کے record پردے ہوں گے تو اس سے یہاں کہ آپ آپ دو ناٹی تھی to go on to different physical locations to access these two tables rather all your record ڈیٹای اس place at the same place اور mind it اس میں جو آپ کے table کی individual identity ہے اس پہ اس پہ دن فرمی پڑے گا you can still access the department independently you can still access the employee independently اب اسے اب یہ ما سمحیدی جگہ کہ وہ ہمیشہا کتح ایکسیس ہوں گے نہیں لیکن situation کہ اگر most of the application access them together then place them physically together اس سے ڈیٹای ایکسیس کرنے ہیں they become more efficient ہاں ہو سکتا ہے کہ جو آپ کی just department کر رہی ہیں وہ department کے ساتھ آگے جسرے department کر کوڑ نہیں پڑا ہوا بلکہ کسی اور چیز کر کوڑ پڑا ہوا تو وہ ہو ستا تھوڑی inefficient ہو جائے but again because maximum of the application are access them together تو most of the application become efficient تو ظاہر ہے کہ جب آپ ایک abnormal تھوڑی سی ایک routine سے ہٹ کی چیز adopt کر رہے ہیں تو اس کے کوئی drawbacks تو ہوں گے again you have to compare the benefit and the cost اگر benefit out way کرتا ہے cost کو go for it Dear students so far we have discussed 3 or 4 different issues regarding the physical database design اس میں we studied what is data volume and usage analysis then we discussed what do you mean by how do we design the fields اوہ سکتا ہوں گی data type دینا یا coding کرا کرنا وہ اس کے issues تھے اس کے لعا we discussed the denomalization ایک good option بہت ہی نے اندھیں کیونکہ توو ہے اس کے کلسٹ رہے ہیں than we discussed the partitioning اندھنو او شادہ او ریپیکشن او آرہی او آرہی او آرہی او آرہی او آرہی او آرہی اندھنو کلسٹ رہے ہیں انو تک بہنی سمشوہ او دہاری ہوں بہاہ کے حالی ہے تو نمیرا او سمشوہ او دہاری او او دہاری ہم بہنی تھی دواندی خلال انوانین ڈائ والا او بہت او بہت کنی مخاط مالی او نوane ان کو ہم for the time being ڈیسکس نہیں کرتے ایک لیٹر سٹریج پہ جب ہم کہ سٹورج کا سٹرکچر کے بارے میں خاص طور پر پڑھیں گے ہمارے ایک اور مارے ایک سیکشن اور ٹوپک ہے اس میں ہم ان چیزوں کو ٹیچ کریں گے اور آپ کو سکھ بھی میں ریمائنٹ کروا دوں گا کہ یہ چیزیں جو ہیں They relate to the physical data for design ان اشوز میں ہے مثال کے طور پہ File structures کہ ہمارے پاس بہلی file structures ہوتے ہیں اور ان کے دربیان ہمیں چوز کرنا پڑتا ہے Again for efficiency اگر آپ اپنی file structures اڑاپ کرتے ہیں They give you different performance different situations میں تو وہ آپ کیسے سٹرٹ کریں گے وہ ہوتے کیا کہیں اسی طرح ڈیسکس کیا ہوتے ہیں ان کا ڈوانڈیج کیا ہے اور آپ کو کیسے ڈیسکس سٹرٹ کرنا چاہیے کیسے ڈیسکس بناتے ہیں اس کے لیوہا ڈیٹ ڈیٹ بھی ایک basically a disk management کی اپروچ ہے اور اس کے بھی دیفرن ڈیسکس لیوہز ہیں لیکن again this topic is more ready to the story structure جب ہم وہ پڑھیں گے تو اس وقت ہمیں چوز کو دیسکس کریں گے تو اپنا جو فیزیکر ڈیٹ بھی designing a topic ہے ہو ہم یہاں پے کنپلوٹ کرتے ہیں آئی دیکھا گے کیا ہے اوہر next topic is Structured Cury Language اور SQL جیسا کہ ہم جس وقت دیسکس کر رہے تھے relation data model کو وہ ہم نے کہا تھا کہ جو آپ کا relation data model ہے اس کے تین پارٹس ہیں Structures Integratory Controls اور Manipulation Language اور ہمکہ the Manipulation Languages ہم دیتے ہیں the relation algebra اور ہم دیسکس بریفلی the relation calculers اور وہاں میں کہتا ہوں کہ these are the theoretical languages پرکٹیکلی the language that we use for the manipulation of the relational DBMS or relational databases that is the SQL but SQL is based on the relational algebra and relational calculers تو اس کی جو اچھی انہ سٹارنے گا that can help you here اور آپ دیکھیں گے SQL جہاں وہ اس لیان سے important ہے کہ یہی وہ tool ہے یہی وہ language ہے کہ جو آپ دیتا کو process کرنے کے لیے استعمال کرتے ہیں تو ابھی تک آپ نے جتی چیزیں پڑھی ہیں یعنی right from the database definition اور اس کے بعد پھر جو آپ کے پاس conceptual database design تھا جو آپ کے پاس and relational data model ہے transforming ہے normalization ہے یہ تمام concepts if you are clear about them تو پھر اس وقت آپ SQL کا proper استعمال کر سکیں گے لیکن still آپ کو SQL کو اچھیا سمجھنے کے لیے جیسے سب سے اپنے بات ہے وہ پریکٹیس کچھ میں آپ کو یہاں پہنچ کرواؤنگا اس کے output و گیرا اسے آپ کو بتاؤنگا اور کچھ یہ ہے کہ آپ کو خود اپنے دور سے بھی different books کو دیکھیں اور different jobs پر دیکھیں جہاں پر آپ کو SQL کی curies ملتی ہیں کرنے کے لیے ان کو کیجئے کیونکہ جتنی آپ اس کی پیدا پریکٹیس کریں گے اتنا ہی آپ کو یہ چیتنا آئے گی اور دوسری بات ہے کہ اس میں جو آپ SQL کے ذریعے جو curies آپ سولف کرتے ہیں curies کی نیچر پر بہت فرق ہے باس curies جہاں وہ سیمپل ہوتی ہیں جنکہ آپ نسبتان آسانی سے کر لیتے ہیں but some curies are very complex تو آپ کو ہر تناہ کی جو curies آپ کی پریکٹیس کرنے چاہیے تاکہ آپ کوئی چیز کلیر ہوں اور آپ کو اس کی چیزہ سمجھا سکتا کہ جب اس کی چیزہ سمجھ ہوگی then you can work in a better way with a dbms چاہ کسی بھی ریٹر بے سیسٹم کے اندر آئے پڑھتے ہیں SQL کے بارے میں SQL کو SQL بھی کہا جاتا ہے بریفلی otherwise عیسی تو ذہرہ کہ it stands for Structured Cury Language لیکن نوملی ذہر آپ پورا تو نہیں کہتے ہیں Structured Cury Language جس آپ SQL کہتے ہیں لیکن اس کو SQL بھی کہا جاتا ہے تو آن دا سی ہم یہ دونوں ٹرم سمال کریں گے it means the same thing a de facto standard for the relational dbms یہ accept ہو چکا ہوا ہے اور یہ جو بھی آپ کا پروڈکٹ جو بھی آپ کا dbms that claims to be a relational dbms یہ دیفلیٹ ہے کہ it would be supporting the SQL اور اس میں یہ ہے کہ SQL کا standard بھی define ہو ہوا ہے تو جو dbms standard ہے the dbms that have been accepted as standard they must be supporting the standard SQL the standard of the SQL has been accepted by bodies like NC and ISO یہ آپ بوڑیز کا پرنام جانتے ہیں first commercial dbms that support SQL in 1979 was Oracle جیسے یہاں لکھا ہوا کہ Oracle نے the first time you launch in 1979 میں اس کا first version اس میں SQL کی سپورت مدود تھی اسی طرح SQL کی ایک اور form جیسے ہم کہتے ہیں query by example qbe جو کیو بی ہے یہ سبہ ہے جو سپورت ہے it is mostly supported on the pc based dbms سالتا رپہ اگر آپ میکرسوف ایکسس کو دیکھیں تو وہ کیو بی سپورت کرتا ہے ایسے فوکس پروکے ورشن جو وہ بھی سپورت کرتے ہیں so pc based آپ کی جو نا وہ dbms وہ یہ سپورت کرتے ہیں اس کا idea کی ہے idea ہے کہ جو SQL ہے اس میں تو you have to write the proper queries جو اس کی proper statements آپ کو دیکھنی پڑھیں گی آپ دیکھتے ہیں اس کے بعد کو لکھتے ہیں knowing your requirement آپ اس کے امتر بھی کوری فوم کرتے ہیں اور پھر وہ آپ execution کرتے ہیں this is one way of working with the SQL the qbe ہے اس میں idea ہے کہ you get a sort of screen input form کیتا سوگا and you place your query in the form of your requirement in that form تو جب آپ ایکسمپل اپنی وہاں پلیس کرتے ہیں اس جب کا form ہے جو آپ کو screen میں رہا رہا رہا رہا رہا رہا تو اس پر اپنا ایکسمپل ڈیٹا پلیس کرتے ہیں اس ایکسمپل ڈیٹا کے بیس پر the tool itself will create your SQL query اور وہ اس کی مدل سے آپ کو جو رکھای دیٹا ہے اس کو pick کر لے گا dbms سے that is called qbe query by example تھوڑی سی history SQL کی relational data model introduced by code in 1970 یہ ہم سب جانتے ہیں بلہ پر بھی چکے ہیں کہ code researcher تھا جو کہ used to work in IBM research lab تو وہاں بھی کام کرتا ہے اس نے سب سے پہلے پیپر اس نے پریزنٹ کیا تھا very famous paper اس میں یہاں آپ کا relational data model ہے اس کی تھیری پیش کی تھی ساتھ ہی وہاں پہ جو IBM کی research lab وہاں پہ ایک relational dbms کو بنانے کی جو project وہ start ہو گیا اس وقت اس سے کہہتے تھے system are اس پر انہوں نے کام شروع کیا اس کو جیسے انہوں نے ایک trial basis پر لانچ کیا تو اس کو کافی زیادہ acceptors پیلو کو انہوں نے اس کو استمال کیا پسان کیا لیکن جو first dbms کو لانچ ہوا کمرشل جوکہ مارکٹ میں اویلے بل ہوا لوگوں کے لیے that was oracle اور وہ 1979 میں تھی اور ہم یہ پہلے بات ابھی کر چکے ہیں کہ اس ورشن میں oracle supported the sequel as well اس کے لہاں جو اور dbms اس وقت start ہوئے اور آج بھی یہ مارکٹ میں کافی ملہ prevailing dbms ہیں وہاں ہے db2 or ingress and c and iso defined first standard of sequel in 1986 known as sequel 86 that was further extended to sequel 89 اس کے جو سیکول اس کے different standard جو ہے وہ present ہوئے یہ accept ہوئے in bodies کے تھو پہلہ جو start 86 میں ہوتا but properly it was it is known as sequel 89 تو جو اس کی extension تھی جوکہ 89 میں ہوئی وہ as the first standard of sequel accept کے جاتا ہے تو پہلے standard جو اس کا تھا that was accepted that was presented in 1989 اور اس کو ہم کہتے ہیں sequel 89 اس پر further extension اس میں دو ہوئی ہیں جو دو اور version آئے ہیں وہ ہے sequel 92 and sequel 99 تو اس طرح سے مارا پاس sequel کے بسیکلی تین standard جو ہے وہ اب تک accepted جو آج ہوئے almost all of the current dbms support sequel 92 and many support sequel 99 partially or completely complete support sequel 99 کی وہ بہت کم ملتی ہے شاہد ملکلی نہیں ملتی لیکن جو sequel 92 ہے وہ it is supported as a whole by different dbms جتے بھی آج کلکہ major dbms ہیں اور 99 کو کچھ features جو ہیں وہ different features different your dbms support کرتے ہیں as to today supported in all sort of machines اب آپ پہلے دبیم اس ایسے ان چاہے وہ main frame آتے ہیں یا چاہے وہ pieces کے اوپر آتے ہیں different level کے جبکہ pieces ہیں ہر طرح کے computer کے اوپر آپ کے پاس the dbms is available اور ہر dbms جو کہ relational ہے وہ support کرتا ہے sequel کو اس میں ظاہر ہے کہ what is the advantage of standard SQL standard defining advantages کہیں پہلی باتا ہے کہ reduced training cost اس میں یہ کہ آپ کو پتا ہے کہ یہ ہمارے پاس standard SQL ہے اور it will be acceptable it will be running on all the relational dbms all products تو آپ فرص کریں آپ کو یہ خطر نہیں ہوگا کہ میں آپ یہ کر سکتے ہیں آپ ایک اپنے امپلائے کو آپ کسی طرح دلوائیں اور وہ امپلائے وہ فردر آپ کے یہ نہیں جو امپلائے آپ کو یہ نہیں ہوگا کہ اگر مختلف standard ہے تو کسی اس کو سکھائیں تو وہ آپ ایک امپلائے کو تریننگ کریں پورٹرمیٹکلی سب پیفہ در اپلائے ہو سکتی ہے اپلکیشن پورٹی بلیٹی اگر آپ نے ایک جگہ اپلکیشن دوالب کی ہے اس اسکل کی سٹیٹمینس سمال کی ہے if you move that اپلکیشن to another place اور وہ بھی اگر standard آپ کے پاس rational dbms ہے تو وہ پکی باتا کہ وہاں میں چیلے گی اس میں یہ پروم نہیں ہوگا کہ یہاں پر اپلکیشن چل رہی ہے لیکن وہاں میں چل رہی ہے کیونکہ آپ نے پلٹفونٹ چیلے گا لیے اس سے آپ کے اس سے فرق نہیں پڑھے گا this is another benefit of the standardization اپلکیشن انگیویٹی آپ کی اپلکیشن جہاں وہ زیادہ لمبیر سے تک جہاں چلتے رہی ہے اس لیے کہ جب آپ نے ایک standard ڈفائن کر لیے تو آپ کے next standard ہوں گے وہ previous سے compatible ہوں گے یہاں ایسا نہیں ہوگا کہ اگر آپ فرس کے نئے اس میں standard ڈفائن کرتے ہیں تو پچھلی آپ کی جہاں وہ ineffective ہو جائے گا نہیں وہ standard ڈفائن کو follow کرنے سے ہے کہ آپ کے اپلکیشن ہے وہ زیادہ لمبیر سے تک جہاں وہ useful رہ سکتی آپ کے لیے reduce dependence on a single vendor ظاہر ہے کہ اگر آپ نے standard ڈفائن کر لیے and now if they are different vendors all of them claim کہ we provide the standard SQL تو اس کا فائد آپ کو یہ ہوگا کہ اپنی SQL میں کوئی پرگام یا کوئی ستیٹمٹ لکھی ہوئی ہیں تو آپ یہ دپینڈ نہیں کریں گا کہ میں صرف فرس کریں گے کہ اگر آپ نے Oracle لیے ہوئے تو صرف آپ Oracle کو اسمار کر سکتے ہیں وہی SQL کی ستیٹمٹ you can move to another DBMS کیونکہ وہ standard ڈفائن کو follow کرنے دونوں تو وہ آپ کی application وہاں پر بھی چل جائے گے تو یہ آپ جو نا اس طرح آپ کی dependence ہے single vendor کے اوپر وہ ختم ہو جاتی ہے cross system communication آپ کے پاس ایک DBMS ایک سیٹم آپ رہن کریں اگر آپ نے اس کو کس دوسر سیٹم پر ٹرانسور کرنے جو کوئی اور DBMS رہن کر رہا ہے تو اس میں آپ کو جنا convenience ہو گے کہ یہاں پر آپ کی SQL جو چل رہی ہے وہی آپ کی اگر if it is standard تو وہی آپ کی دوسر جگہ بھی چل جائے گی تو اس طرح سے آپ کو benefit ہوگا if you follow the standard SQL is used for any type of interaction with the database through DBMS جنی آپ جب database میں آپ پس data ہے آپ کسی طرح کی اس پر access کرنے ہیں اس دیتا بیس کے اوپر جو آپ کا database میں موجودا اس پر کسی طرح کی آپ نے access کرنے ہیں تو DBMS کے through کیونکہ دیکھیں جو database is being guarded is being maintained by the DBMS آپ نے جب بھی data سے کوئی communication کرنے کو access کرنے ہیں تو آپ SQL کی statement دیں گے that those statement would be taken by the DBMS most کی اپنیل جو اس کی checking and parsing ورہ کر کے اور ultimately ان کو implement کرے گا impose کرے گا آپ کی data پے database کے در اور وہاں سب کو fetch کر کے result جو بھی آپ نے activity کیا وہ اس کے اوپر کر دے گا اس سے آپ کیا کرتے ہیں right from creating database database کرتے ہیں tables کرتے ہیں views کرتے ہیں users کرتے ہیں database tables کے بارے میں آپ جانتے ہیں views کے بارے میں بھی آپ جانتے ہیں the thing that we call the external views آپ خلال سے وہی سمجھ لیں وہ آپ کرتے کر سکتے ہیں even users کو create کرتے ہیں using the SQL statements پہلے آپ کی your database اس کے اندر data کو insert کرنا update کرنا delete کرنا تمام operations ان کے لی بھی آپ SQL کو اسمہ کرتے ہیں implementation of SQL always include the flavor of the particular dbms like in names of the types you have defined the SQL but minor modifications وہ ہر جگہ آپ کو expect کرنے چاہے کہ وہ verry کر سکتے ہیں ایک dbms دوسر dbms کے اوپر مثال طور پہ اگر ہم کہیں کہ variable character ہے یا character ہے تو character type کا data وہ support کر رہے ہوں گے اور اس کے علاوہ آپ کو کچھ اور type بھی support کر سکتے ہیں یا کچھ ناموں کی changing جو ہے وہ اس میں ہوسکتی ہے اس حتک آپ کو expect کرنا چاہے ہیں کہ یہ آپ کو handle کرنا پڑے گا اس کے علاوہ اس میں ایک اور جو feature ہے جیسے ہم کہتے ہیں proprietary SQL یعنی آپ کے پاس external SQL تو موجود ہے اور SQL کیا ساتھ ایک چیز ہے کہ وہ آپ کو data access کرنے کی تو وہ کو feature Provide کرتی ہے جنرلی جو SQL ہے وہ آپ کو data کو process کرنے کی مثال رہا ہے جو اس پر calculation کرنے کیلئے اس پر controls شامل نہیں اس کے علاوہ اس کے علاوہ اس میں صرف آپ کے پاس data کو access کرنے کی retrieve کرنے کی commands تو ہیں لیکن اس کو process کرنے کیا کوئی اپنے control apply کرنا ہے ایف statement ہے 4 statement ہے وہ جنرلی تو جو dbms ہے انہوں نے اپروٹ کیا کہ تقریبا ہر مجر dbms نے یہ کیا کہ they have adopted these standard SQL انہوں نے کہا کہ یہ ہمارے پاس جو standard SQL we support that apart from that to introduce it introduce in it the computational facilities وہ انہوں نے یہ کیا کیا کہ انہوں نے اپنی ایک SQL وہ defining کرنے کیا تو وہ جو ان کے اپنی SQL ہے وہ جو standard SQL اپنی مختلف ہے اس میں کچھ add کرتی ہے لیکن to be called a standard dbms وہ standard SQL as such سپورٹ کرتے ہیں دبارہ دیکھیں کہ تمام جو major dbms وہ SQL کا ایک super set وہ defining کرتے ہیں جس میں کہ وہ اپنے جو product کی reference addition facilities وہ provide کرتے ہیں لیکن standard SQL وہ still they are supporting مثال کے دور پے اگر آپ دیکھیں کہ oracle ہے oracle کہ we introduce plsql plsql جو وہ کرتے ہیں کہ asql plus اس کا اس میں جو computational facilities وہ اس میں add کرتی ہیں اس طریقے سے if you see the SQL server وہ کرتے ہیں کہ وہ آپ کو دیتا ہے asql وہ کرتے ہیں ہماری t asql ہے کیونکہ اس میں asql basic شامل ہے اور plus اس میں the further computation کی statement وہ add کرتی ہیں تو یہ جو changes are یہ جو یہ جو آپ کا ایک asql کا program ہے اگر آپ نے لکھوہ standard asql میں وہ تو ذہرہ statement آپ کی telling yes such لیکن اگر آپ نے ان کو میں کوئی وہ flavor شامل کر دی ہے اسی پٹی کو dbms کا جو اس کی proprietary commands تیم سار کے طرف سے t asql ہے یا plsql ہے تو پھر وہ ذہر ہے کہ اس کے بارے میں you cannot be sure کیونکہ وہاں پر وہ winter specific چیزیں جو اس میں شامل ہو گئی ہیں تو اس کی پھر آپ کو transformation کرنی پڑے گی جو اٹمٹیکلی بس کو transformation کر دیتے ہیں یہ وہاں بات جب میں آپ سے کہی ہے کہ proprietary asql like t asql and sql server and plsql in oracle دیے شوڈینٹس اب ہم asql کو پرنے جا رہے تو ذہرہ اس سے پہلے ہمیں یہ بھی دیکھنا ہوگا کہ ہم asql ذہرہ تک پرنے ہیں اور پرٹیکلی how will we practice it how will we implement it اس کیلے ذہرہ کہ we will have to adopt a certain tool کہ کس پتیکلر dbms کو میں جو ٹول ہم اسمال کرنے جا رہے ہیں وہاں ہے ms sql server اس کو basically msp is microsoft microsoft کا asql server اور منیسٹر کہا جو کہ ہم asql کو sql بھی کہتے ہیں اس لیے ہم گائیں گے ms sql server یا ms sql server اس کو adopt کرنے کی ایک ریزن یہی ہے کہ a reasonably good dbms ہے اور پھر یہاں کہ because most of us we are working on the pieces that have windows on them تو چکہ ہمارا underline operating system most of the time windows ہوتا ہے اس لیے میں نے because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because because اور پھر یہ ہے کہ یہ بanni برزا ہمارے پاس پر بارے پاس پسیز پر برزا ہی ہمارے پاس باتتا ہوں گے یہ سیکڑسرور میں ہونے کی دیکھٹاک پردیشن بھی اس وقت ارصل کریں اور پر اڑھے ہمیں پرکٹس کریں گے اور اس کے بعد کے لیے کہ ہمارے پہنچ کو اپنے باری پاکتے ہیں کہ اگر انگرانوں کو بییوان ہے آپ اپنے سے سمجھے بیمس اٹنے دیوانٹوٹ رہا ہوں کہ یہ ایک کمارڈی آسجھوہاں بھی رنک جائے گے تو یہ تو ، اگر ہمارا توول کے بارے میں بات ہو گئی اور اس کے لعانی کے حالے کہ ہمارے پس سیکولڈ سرور ہے اس کے دفرنت کمپرونٹی پرنات ہے ان میں سے دو ہمارے کنسرن کیا ہے اس فکر خاصتر پر استعمال کریں گے وہ ہے ایک انٹرپریز اڈیشن اور ایک ہے کوری انلیزر یہ دو آپ ان کو آپ دیکھ لیں انکی خاص طرح پرٹس کیجے اور خاص طرح پر جو اس کی اونلائن ہیلپ ہے جو بوکس اس کی ویلے بل ہے اونلائن وہ بھی بہت اچھی ویلے بل ہے تو آپ کو جو کہہیں پی اگر ہیلپ کی ضرورت ہو اگزامپل کی ضرورت ہو تو آپ اس اونلائن ہیلپ کو بھی سوال کر سکتے ہیں تو یہ تو ہے ہمارے ٹول کے بارے میں لیکن ہم جو پرٹس کریں گے اپنی اسکل کی for that we will be using the curie analyzer یہ وہی باتے جو ہم کر چکے Dear students یہ آپ دیکھیا کہ جو بھی ایک پروڈکٹ ہے ایک ٹول ہے ایک dbms ہے اس کی اپنی ٹرمانولوجی ہوتی ہے اور وہ ٹرمانولوجی سے جو relative ٹرمانولوجی ہے وہ دوسرے ٹرمانولوجی میں ٹول میں بھی اویلبل تو ہو سکتی ہے لیکن وہ exactly same نہیں ہو سکتی اس لیے جو ہم یہاں پہ سیکوٹ سرر میں ٹرمانولوجی ہے اس کا میں منشن کر دوں تا کہ جب اس کو frecuently استعمال کریں گے آندا تو آپ کے ذہن میں ہو کہ اس سے ہماری کیا امراد ہے اور ایک بات یہ دیکھے گا کہ یہ جو چیزیں ہیں یہ ٹرمانولوجی ہے یہ ایس سچ ہو سکتا ہے کہ کسی دوسرے dbms پر اپلیکیبل نہ ہو مثال کے دور پر یہ تمام چیزیں ہیں وہ ہو سکتا ہے کہ اور اکل میں ایسچ اپلیکیبل نہ ہو وہاں پر کو دفرن ٹرمانولوجی دفرن سٹیل جو استعمال ہو رہاں اس لیے آپ تھوڑا سا اس کو صرف ملے ہو جائے گے when we install the sequel server on a machine let's have a computer to install کرتے ہیں that is called an instance of sequel server ایک بات تو یہ ہو گے اور اس کا کوئی نام ہو گا اس ایک instance کو کوئی نام ہو گا پھر یہ ہے کہ ایک instance جو ہے آپ کے sequel server کا اس کے اندر different objects ہوتے ہیں مثال کے طور پر data basis ایک اس کا object ہے ایک instance کا ایک دفعہ install کرنے کا اسی طرح security اس کا ایک instance ہے dts data transformation services وہ ایک اور اس کی object ہے پھر جو آپ کا data base object ہے جو آپ کے instance کا ایک data basis object ہے that can contain multiple databases جانی ایک database ہے جب میں کروں کہ data basis object can contain multiple databases تو وہ جو contain databases ہے اس سے مراد ہے کہ جو ہر ایک database ہے وہ ایک system ہے ہم تمام سیسٹم کی بات کرتے ہیں جو ہم database development process میں ہیں تو ایک جو ہم سیسٹر پر design کرتے ہیں develop کرتے ہیں تو جو آپ کا sequel server کا ایک instance ہے it can handle multiple databases زیادہ طور پر ہم کہتے ہیں ہمارا exam system ہے ہمارا پاس library system ہے ہمارے پاس اسی طرح فرص کریں کسی اور جگہ کا فرص کریں production system ہے sale system ہے وہ تمام کے تمام all of them can be handled with the same instance of sequel server تو آپ ایک database کے اندر وہ اس کے اپنے objects ہوں گے بساگی طور پر اس پر tables ہوں گے views ہوں گے users ہوں گے roles ہوں گے these are the objects of one database جو کہ multiple ہو سکتے ہیں ایک sequel server instance کے اندر جب آپ اسٹول کریں گے sequel server کو اس کے بعد ہم یہ کریں گے کہ ہم SQL کو استوال کرتے ہوئے ہم ایک پہلے کریں گے database جب آپ نے database سے ایک create کر لیا اس میں یہ ہے کہ اس کے اندر ایک database کے ذات different اس کے objects ہے جیسے میں ابھی آپ سے کہا تھا کہ اس کے اس کے ذات tables بھی ہوتے ہیں اس کے اندر views بھی ہوتے ہیں اس کے اندر roles ہوتے ہیں users ہوتے ہیں these are the objects that are within one database آپ کا اس کے اندر ہررکی کیا ہوئی کہ ایک sequel server کے different objects ہے اور ان میں سے ایک object ہے وہ databases ہے اور databases object کے اندر multiple databases ہو سکتے ہیں اور آپ ان میں سے جتنے چاہتے ہیں آپ database create کریں اور ہر database جو ہے وہ آپ کے ایک real word سسٹم کو REPRENT کر رہا کہ جس کے بارے میں updates کریں گے تو جب وہ database create کریں گے تو یہ تمام objects جو اس کے database کے اندر automatically اس میں create ہو جائیں گے اب آپ جاکے جو بھی آپ نے object create کرنا ہے مثال کے طور پر اگر میں table create کرنا ہے تو آپ اس میں table والا object ہے اس میں tables add کرتے رہیں گے جب آپ نے کوئی view create کرنا ہے تو views والا object پہلے آپ views create کرتے رہیں گے تو اس طرح سے آپ یعنی ایک sequel server کسٹنٹس کے اندر multiple databases create کر کے اور ان کے اندر آپ different databases میں جس میں آپ نے کام کرنا ہے اس میں جاکے جائیں گے اور اس کے اندر آپ کام کرتے ہیں Dear students آج کے لیکچر میں we concluded our discussion on the physical database design آج ہم نے discuss کیا ہے vertical partition کہ جس میں نے کہا کہ ہم table کو attribute wise different partitions میں table میں divide کر دیتے ہیں but the important thing is that we place the primary key in each partition جب بھی ہمیں ضرورت پڑھے تو ہم original table کو واپس لے سکیں اپنی صحیح حالت میں اس کے لعبا we also discussed the clustering and clustering means that we place different files different tables in physically adjusted locations reason efficiency کیوں کہ جو records آپ کے جنرلی ایک اٹھے access ہوتے ہیں ساست ایک اٹھے access ہوتے ہیں وہ ساست پڑھیں گے بجائے اس کے کہ مختلف locations کیا پر یہاں ہم نے تھوڑے ٹائم کے لیے اپنے جو physical database کی دیسکشنہ اس کو روکا ہے اور اس کو بعد میں تبارہ کچھ تاپسکٹا جا کریں گے اب ہم انٹرو چکے ہیں اسکل کے اندر سٹرکٹڈ کیوری لنگویج کے اندر یہ اس لی بھی انٹرسٹنگا کہ اس میں آپ کو چیزیں پریکٹیکلی کرنے کو ملتی ہیں پرکارمنگ کرنے کو ملتی ہے تو وہ آپ جو سٹورٹ ہاں اسکل کے بارے میں ہم جو سٹورٹ اسپال کرنا جا رہے ہیں وہ سیکل سرور اور سیکل سرور کی تھوڑی ترمیزولوجی کہ اس کا ایک انسانس اس کے دفرنت آبیٹس ان آبیٹ میں سے ایک database بھی آبیٹ ہے اور اس کے اندر جاکے ہم اپنا database کریں گے اور اس کو پھر استعمال کریں گے باقی کے باتیں وہ ہمارے اینا کے لیکچر میں ہوں گی اب میں آپ سے جہاں چاہوں گا اللہ عافیس