You are on page 1of 19

DATABADSE SHORT NOTE

SEPTEMBER 21, 2019


‫‪1|Page‬‬

‫بسم هللا الرحمن الرحیم‬


‫‪Database‬‬
‫‪Database is an organized collection of logically related data‬‬
‫د ډیټابیس اساس ‪ Table‬دي‬
‫ډیټا بیس دوه اصلي وظیفي لري‬
‫‪ Record keeping ‬د معلوماتو ساتل‬
‫‪ Retrieval ‬د معلوماتو د موندلو او بیرته راکولو وړتیا‬

‫‪ :Data‬ډیټا هغه خام مواد دی چي پروسیس پري نه وی اجرا شوی‬


‫‪ :Information‬اجرا شوی ‪ ،‬منظم شوي او ترتیب شوی ډیټا ته ویل کیږي‪.‬‬
‫‪ Examples of Information:‬‬ ‫د انفرمیشن ډیټا مثالونه‬
‫‪List of students studying DBA ‬‬
‫‪Exam grades of a particular student ‬‬
‫‪Bank statement of the past 3 months ‬‬
‫‪ Data vs Information‬‬ ‫د ډیټا او انفرمیشن تر منځ توپیرونه‬
‫‪ ‬د انفرمیشن لپاره ډیټا شرط ده‬
‫‪ ‬انفرمیشن ‪ output‬مواد دي‬
‫‪ ‬انفرمیشن ‪ product‬یا محصول مواد دي‬
‫‪ ‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫‪ ‬ډیټا لپاره انفرمیشن شرط نه دی‬
‫‪ ‬ډیټا ‪ input‬مواد دي‬
‫‪ ‬ډیټآ خام مواد دي‬
‫‪ Database‬استعمال ځایونه‬
‫‪Banking: all transactions ‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


2|Page

Airlines: reservations, schedules 


Universities: registration, grades 
Sales: customers, products, purchases 
Manufacturing: production, inventory, orders, supply chain 
Human resources: employee records, salaries, tax 
deductions
And many more… 

‫له ډیټا بیس څخه مخکی څه شی استعمالیدل؟‬


‫ مخکي ډیټا په کاغذونو کي لیکل کیدل او په هارډفایل کی‬:‫ کاغذي سیستم‬
‫ذخیره کیدل‬
:‫تاوانونه‬
‫ نشتوالي‬Security ‫ د‬
‫ پیدا کول پکي مشکیل وو‬Recode 
‫ وخت ضایع کیدل‬
‫ کیدل‬Edit ‫ په ډیر مشکیل سره پکي‬
‫ کی‬Document ‫ په دغه سیستم کي ډیټا په هادي‬:Flat file system 
...... word, Excel, ‫ذخیره کیدله لکه‬
‫ دغه ډول ډیټابیس ځیني ستونزي درلودل‬:Limitations of Flat File Systems
Separation and isolation of data 
Duplication of data 
Data dependence 
Incompatible file formats 
Database Systems
‫د ډیټآبیس سیستم هغه برخه چي ډیټابیس بلل کیږي هغه د ټیبلونو یوه مجموعه ده‬
‫ډیټا بیس سیستم له څلورو شیانو څخه جوړ شوی چی په الندي ډول دي‬

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879


3|Page

The database
The DBMS
Application Programs
Users
Database Management System (DBMS)
‫ یا جوړ کړو‬create ‫( پواسطه کوالی شو چي ډیټابیس‬DBMS) ‫د‬
‫ دی‬Management and control access ‫( وظیفه‬DBMS)
‫( یوزر ته الندي سهولتونه رامنځته کوالی شي‬DBMS)
 Define a database ‫د ډیټآبیس مشخصول‬
 Create a database ‫د ډیټابیس جوړول‬
 Maintain a database ‫ستونزي د ډیټابیس پواسطه له منځه وړل‬
 Control access to the database.
‫څوک کوالی شي چي ډیټابیس ته الس رسی ورته پیدا کړي‬
‫( اصلي هدف دادی چی ډیټابیس ته معلوماتو سټور کول او بیرته چي هر وخت‬DBMS)
.‫وغواړو بیرته الس ته راوړل په اسانۍ او موثر ډول سره‬
:Facilities provided by a DBMS
:‫ کومي اسانتیاوي رامنځنته کوي‬DBMS
Data Management .1
:DDL (Data Definition Language)
‫ رامنځته کوو یی او ډیټا ورداخلوو‬، ‫ کی موږ ډیټابیس مشخصوو‬DDL ‫په‬
DML (Data Manipulation Language)
‫ کوو‬retrieve‫ او‬insert, update, delete, ‫ کی یوزر کوالی شي چی ډیټا‬DML ‫په‬

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879


‫‪4|Page‬‬

‫په ‪ DML‬برخه کي ‪ Query language‬څخه استفاده کوو لکه ‪SQL‬‬


‫‪Controlled access: .2‬‬
‫دا د هر چا د الس رسي څخه مخنیوی کوي مثالونه یی په الندي ډول دي‬
‫‪ :security system‬ډیټابیس د هر چا له الس رسي څخه مخنیوی کوي‬
‫‪ integrity system‬باید ډیټابیس په هر حالت کي ثابت وي نه دا چي په یو ځای کي یو‬
‫ډول او بل ځاي کي بل ډول وي‬
‫‪ :concurrency control system‬په عیني وخت کي زیات یوزران یو ډیټابیس ته‬
‫داخلیدل او سیستم ټولو ته شیر کول‬
‫‪ :recovery control system‬د ډیټا له منځه تللو په وخت کی د ‪recovery‬سیستم‬
‫درلودل‬

‫‪DBMS Examples‬‬
‫‪‬‬ ‫‪Popular DBMS products are‬‬

‫‪o‬‬ ‫‪Microsoft Access‬‬

‫‪o‬‬ ‫‪Microsoft SQL Server‬‬

‫‪o‬‬ ‫‪Oracle Corporation’s MySQL‬‬

‫‪o‬‬ ‫‪Oracle Corporation’s Oracle Database‬‬

‫‪o‬‬ ‫‪IBM’s DB2‬‬

‫‪Database Application‬‬
‫ډیټابیس اپلیکیشن د یوزر او ‪ DBMS‬ترمنځ ارتباط جوړوي او وظیفه یی ‪ SQL statements‬چي موږ‬
‫لیکو هغه ‪ DBMS‬ته انتقالوي‬
‫اپلیکیشن پروګرامونه کوالی شو د سوفتویر جوړونکی لخوا تر السه کړو‬
‫مثال ‪ :‬که چیری اکسس پروګرام تر السه کوو باید له مایکروسافټ څخه یی واخلو‬
‫‪Users‬‬
‫هغه څوک چی ډیټابیس استعمالوی او کار ورڅخه اخلي‬
‫‪Roles in the Database Environment‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪5|Page‬‬

‫څلور ډوله خلک دي چي په ‪ DBMS‬کار کوی یه ورسره اړیکه نیسي‬


‫‪Data and database administrators‬‬ ‫ډیټابیس مودیران‬ ‫‪.1‬‬
‫‪Database designers‬‬ ‫ډیزاینران‬ ‫‪.2‬‬
‫‪Application developers‬‬ ‫اپلیکشن جوړونکي‬ ‫‪.3‬‬
‫‪End-users‬‬ ‫استمالونکي‪.‬‬ ‫‪.4‬‬

‫)‪Data Administrators(DA‬‬
‫ډیټابیس پالن او د جوړولو طریقه پکي موجوده ده په دی د ډیویلوپر هیڅ کار نشته او‬
‫ډیویلوپر ته ورښودل کیږی چي کوم ډول ډیتابیس جوړ کړل شي‪.‬‬
‫‪ Data Administrator:‬الندي وظیفي لری‬
‫‪ ‬پالن جوړوی‬
‫‪ ‬د مشکیالتو لپاره معیاري حل الره پیدا کوي‬
‫‪ ‬جوړونکي ته د ډیټابیس مشخصات ورپه ګوته کوي‬
‫)‪Database Administrators(DBA‬‬
‫دا مسولیت لري)‪ (DA‬کوم پالن ورکړی وو هغه مطابق فزیکیلي ډول ډیټابیس‬
‫جوړ کړی الندي وظیفې لري‬
‫‪ ‬د ډیټابیس جوړول او د هغه تطبیق‬
‫‪ ‬ډیټابیس ته به څوک داخلیدالی شی او کوم ډول کارونه ترسره کوالی شي‬
‫‪ ‬د جوړ شوي سیستم ستونزي له منځه وړل‬
‫‪ ‬سیستم باید داسي عیار او جوړ کړي چي یوزر یی په اسانۍ سره استعمالوالي‬
‫شی‬
‫‪ DBA‬تخنیکي کارونه ترسره کوي او ‪ DA‬د پوهي په واسطه پالن جوړوي‬

‫‪Database Designers‬‬
‫موږ دوه ډوله ډیزاین کوالی شو‬
‫‪Logical database designers .1‬‬
‫‪Physical database designers. .2‬‬

‫‪1 -Logical database designers‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪6|Page‬‬

‫الندي مشخصات لري‬


‫‪ ‬ډیټا او د ډیټا صفات رامنځته رامنځه کوی‬
‫‪ ‬د ډیټا تر منڅ اړیکه رامن ّځه ته کول‬
‫‪ ‬هغه شرایط چی په ډیټا لپاره وي باید په ډیټابیس کی سټور شي‬
‫‪Logical database design‬‬
‫په عملي ډول د ډیټابیس رامنځته کول دی ته لوجیکل ډیټابیس ډیزاین ویل کیږي‬
‫‪Database Designers‬‬
‫موږ کوم ډول ډیټأبیس ته طرحه جوړه کړي هغه ته د فزیکي شکل جوړولو لپاره ‪DBMS‬‬
‫ته ضرورت ده موږ نشو کوالی چي په ورډ یا اکسل کي ډیټابیس رامنځته کړو‬
‫الندی شیان پکي شامل دي‬
‫‪ ‬موږ ټیبلي رامنځته کوو او ټیبلي یو بل سره وصلو لپاره ‪ PRAMARY KEY‬لګوو‬
‫‪ ‬او د ډیټابیس لپاره الزم سکیورټي ولګول شي‬

‫‪A design process suggestion for Microsoft Access‬‬


‫‪1.‬‬ ‫‪Determine the purpose of the database.‬‬
‫‪2.‬‬ ‫‪Find and organize the information required.‬‬
‫‪3.‬‬ ‫‪Divide the information into tables.‬‬
‫‪4.‬‬ ‫‪Turn information items into columns.‬‬
‫‪5.‬‬ ‫‪Specify primary keys.‬‬
‫‪6.‬‬ ‫‪Set up the table relationships.‬‬
‫‪7.‬‬ ‫‪Refine the design.‬‬
‫‪8.‬‬ ‫‪Apply the normalization rules‬‬
‫د ډیټابیس هدف باید معلوم وي‬ ‫‪.1‬‬
‫منظم معلوماتو پیدا کول‬ ‫‪.2‬‬
‫معلومات په ټیبلونو باندی ویشل‬ ‫‪.3‬‬
‫د هرد ډول معلوماتو لپاره جال جال کالمونه جوړول‬ ‫‪.4‬‬
‫‪ primary keys‬باید په څه شي باندي ولګوو‬ ‫‪.5‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪7|Page‬‬

‫‪ .6‬د ټیبلونو تر منځ ارتباط ورکول‬


‫‪ .7‬ډیزاین باندي تجدید نظر کوول‬
‫‪ .8‬نورمال قوانین باید پري ‪ APPLY‬کړو‬
‫‪Application Developers‬‬
‫کله چی ډیټابیس جوړ شي نو باید اپلیکیشن پروګرام ورته جوړ شي تر څو په اساني سره‬
‫کار ترسره کړي دغه مسولیت ددي خلکو دی‬
‫باید ‪ Developers‬د ‪retrieving data, inserting, updating, and deleting data‬‬
‫اسانتیا رامنځته کړي‬
‫او دا پروګرامونه باید ‪ 3RD‬او یا په ‪ 4TH‬کي جوړیږي‬

‫‪End-Users‬‬
‫دا هغه یوزران دي چي د خپل ضرورت په اساس له ډیټابیس څخه ګټه اخلي او زده کوی یی‬

‫او ‪ End-Users‬بپه دوه دوله دي‬


‫‪Naïve users .1‬‬
‫‪ ‬دا له ډیټآبیس سره هیڅ اشنایی نه لري‬
‫‪ ‬دوی یواځي ځان دومره پوهه وي چی څرنګه کار تري اخسیتل کیږي‬

‫‪Sophisticated users .2‬‬


‫‪ ‬هغه یوزران دي چی د ډیټابیس په هر څه باندی پوهیږي‬
‫‪ ‬د ډیټابیس په اسانتیا باندي هم پوهیږي‬
‫‪ ‬دا ‪ USER‬په ‪ high-level query language‬باندي هم پوهیږی او ځانته پروګرام‬
‫هم جوړوالي شي‬
‫‪Database System Life Cycle‬‬
‫ډیټابیس د معلوماتي سیستم مهمه برخه ده‪.‬‬
‫کله چی موږ وغواړو ډیټابیس رامنځته کوو باید ټولي اړتیاوي په نظر کی ونیسو‬
‫د ډیټابیس په رامنځته کوولو کي الندي شیان موجود دي‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪8|Page‬‬

‫‪‬‬ ‫‪Database Planning‬‬ ‫ډیټابیس پالن کول‬


‫‪‬‬ ‫‪Requirements collection and analysis‬‬ ‫ډیټابیس اړتیاوي پوره کوول‬
‫‪‬‬ ‫‪Database Design‬‬ ‫د ډیټابیس ډیزاین کوول‬
‫‪‬‬ ‫‪Application Design‬‬ ‫د اپلیکیشن ډیزاین‬
‫‪‬‬ ‫‪Prototyping‬‬ ‫د ډیټابیس یوه نمونه ښودل‬
‫‪‬‬ ‫‪Implementation‬‬ ‫د ډیټابیس عملۍ کوول‬
‫‪‬‬ ‫‪Data Conversion and Loading‬‬ ‫د ډیټا لوډل کوول‬
‫‪‬‬ ‫‪Testing‬‬ ‫تجربه کوول‬
‫‪‬‬ ‫‪And operational maintenance.‬‬ ‫او ستونزو له منځه وړل‬
‫‪ :Database Planning‬ددی لپاره پالن جوړیږي چی موږ به ډیټابیس لپاره څه استعمالوو‬
‫او د څه شي لپاره یی جوړوو او باید څنګه یي جوړ کړو او کوم هدف باید ولري‬
‫‪ :Requirements Collection and Analysis‬هغه شرکت یا یو دوکان یا هري بلي‬
‫برخۍ ته چي ډیتابیس جوړوي یا د هغه په اړه ټول انفرمیشن ولري تر څوډیتابیس کومه‬
‫غلطي ونه لری‬
‫او دغه معلومات د ډیټابیس لپاره ضرورت دی‬
‫‪ :Database Design‬ډیټابیس دری مرحلي لری‬
‫‪ :Conceptual Database Design ‬په دي کي یواځي د یوی برخی لپاره ډیټابیس‬
‫او د هغه ډول انتخابیږۍ‬
‫‪ :Logical Database Design ‬د ډیټابیس لپاره خیالي ډیزاین جوړیږي‬
‫‪ :Physical Database Design ‬په دي کي یو فزیکي ډول ډیټابیس رامنځته کوو‬
‫د ډیټا لپاره شرط ټاکه ‪ Relationship‬پکي رامنځته کوو ‪ Security‬ورکوو‪...‬‬
‫‪ :Application Design‬ددی لپاره چی له ډیټابیس څخه په اسانی سره کار واخلو نو‬
‫یو اپلیکیشن رامنځته کوو لکه په الندي ډول‬
‫‪Insert operation ‬‬
‫‪Update operation ‬‬
‫‪Delete operation ‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


9|Page

Print operation 

User Interface Guidelines


‫معنا دار سرلیک‬ 
‫باید منظم وی‬Field 
‫کوم مخففات چي کاروو هغه باید هر ځای کي ثابت وي‬ 
‫صحیح رنګ انتخابوول‬ 
‫ډیټا باید د لیدو وړ وي‬ 
‫د غلطۍ په وخت کي باید میسج راکړي‬ 
‫د فیلډ لپاره تشریحاتي مسجونه لیکل‬ 
‫استعمال کي باید اسانه وی‬ 
‫ د یوزر لپاره یوه نمونه جوړول تر څو چي یوزر ته وښودل شي چۍ د‬:Prototyping 
‫ډیتابیس څنګه کار کوي‬
This is an optional step in database system life cycle. 
Implementation
‫کله چی موږ ډیټابیس جوړ کړو غواړو چی دا عملي کړوپه دي کي الندي شیان موجود دی‬
 Implementation of DDL statements
 Implementation of GUI
 Implementation of user views.
 Implementation of application programs
 Implementation of DML statements
 Implementation of security and integrity controls.

Testing
‫ یوزر په څومره وخت کي کوالي شی چی له سیستم سره بلد شي‬:Learnability

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879


‫‪10 | P a g e‬‬

‫‪ :Performance‬څه ډول د یوزر لپاره کار ترسره کوالي شي‬


‫‪ :Robustness‬کله چي یوزر په سیستم کي غلطۍ رامنځته کوي نو سیستم څومره کوالی‬
‫شی چي د یوزر غلطي له منځه یوسي‬
‫‪ :Recoverability‬که چیری له سیستم څخه معلومات ختم شو نو ایا سیستم کوالی شی چی‬
‫زمونږ معلومات ‪Recovery‬کړی؟‬

‫‪The Relational Model‬‬


‫نن سبا له په ډیټابیس کی له له ټولو نه زیات مهم موډل‪ The Relational Model‬دی‬
‫لومړی ځل په ‪1970‬م کال ‪ Dr Edgar Frank Codd,‬لخوا رامنځته شو دا په ‪ IBM‬کمپنۍ‬
‫کی کارکوونکی وو‬
‫په دي موډل کي دوه ډوله مفهوم شتون لري‬

‫‪ .1‬ډیټابیس د ریکارډ او د شیانو د ساتلو لپاره استعمالیږي‬


‫‪ .2‬ډیټآبیس کی ډیټآ په ټیبل کی سټور کیږي‬
‫په ډیټابیس کی ‪ thing‬ته ‪ ENTITIY‬وایي او ‪ table‬ته‪ RELATION‬وایي‬
‫‪ :Relation‬دوه بعدي ټیبل ده چي له روو او کالم څخه جوړ شوي‬
‫او الندي خصوصیات لري‬
‫په ‪ Row‬کي ‪ Entity‬موجوده وي‬ ‫‪‬‬
‫په کالم کي د ‪ Entity‬لپاره ‪ Attribute‬موجود وی‬ ‫‪‬‬
‫هر ‪ Cell‬بیل بیل ‪ value‬لري‬ ‫‪‬‬
‫په هر کالم کی باید یو ډول ډیټا موجوده وي‬ ‫‪‬‬
‫هر کالم باید واحد نوم ولری‬ ‫‪‬‬
‫د کالمونه ترتیب هیڅ مهم ندي‬ ‫‪‬‬
‫د ‪ Row‬ترتیب هم مهم ندي‬ ‫‪‬‬
‫هیڅ اجازه نشته چي دوه ‪ Row‬یو ډول ډیټا ونلري‬ ‫‪‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


11 | P a g e

Relational Database Model Terminology


‫ کی الندي اصطالحات موجود دي‬Relational Database ‫په‬

Table Row Column

File Record Field

Relation Tuple Attribute

‫ زموږ ډیټابیس کي چي معلومات سټور کوو باید د هر وخت‬:Integrity Constraints


‫لپاره ثابت وي ددي لپاره الندي دري اصول شتون لري‬
‫ رامنځته کړو چي زموږ‬integrity ‫ددی دریو اصولو هدف دادي چي موږ د خپل ډیټابیس‬
‫ډیټابیس څومره ګټور دی‬
‫ ددی مانا دادي چي په یوکالم کي هر ډول‬:The Domain Integrity Constraint .1
‫ ولري‬data type ‫ډیټا موجوده وي باید نوره ډیټآ یی هم همدغه‬
Student ID First Name Department Phone Address

100 Ahmad IS 0786778899 Khost

101 Shaheen IT 0700800900 Khost

102 Mohsin IT 0777885885 Paktika

103 Kamal IS 0765889944 Khost

104 Rahim IS 0799454545 Logar

105 Rashid IT 0789123456 Nangarhar

Domaine integrity

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879


12 | P a g e

‫باید ځانګړي ایډي باید لري‬Row ‫ زموږ ډیټا هره‬:The Entity Integrity Constraint
:‫ څخه مخنیوي وشي مثال‬duplicate ‫تر څو له‬
Student ID First Name Department Phone Address

100 Ahmad IS 0786778899 Khost

101 Shaheen IT 0700800900 Khost

102 Mohsin IT 0777885885 Paktika

103 Kamal IS 0765889944 Khost

104 Rahim IS 0799454545 Logar

105 Rashid IT 0789123456 Nangarhar

unique value
‫ اساسي قاعده هم دغه ده‬Relational database ‫د‬
‫ که په ټیبل کي ډیټآ یو بل سره ارتباط ولري‬:The Referential Integrity Constraint
‫سره ارتباط ورکوو‬primary key ‫نو په‬
‫ ته ارتباط ورکوو‬child table ‫ ته له‬Master table ‫نو د‬
Relational Model Keys
‫ مشخص کوي‬Row ‫ بلل کیږي چی یو‬key ‫ په یو ټیبل کی یو یا زیات کالمونه‬:Key
A key can be unique or non-unique.
Types of Keys
Surrogate Key
Composite Key
Candidate Key
Primary Key

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879


‫‪13 | P a g e‬‬

‫‪Foreign Key‬‬

‫‪ :Surrogate Key‬یو ‪ unique ID‬ده چي د ‪ DBMS‬لخوا ورته مشخصیږي او په ‪Auto‬‬


‫ډول د سیستم لخوا ورته اضافه کیږي او هیڅ بدلون پکي نه راځي‬

‫‪Surrogate‬‬
‫‪key‬‬

‫‪ :Composite Key‬دا هغه ‪ key‬ده چي یو یا زیاتو کالمونو څخه پکي استفاده شوي وی‬
‫‪ :Candidate and Primary Keys‬زموږ ډیټابیس کي ټولي ټیبلي ‪candidate key‬‬
‫بلل کیږي له هغوي څخه یو انتخابیږي او ‪primary key‬پري لګوو او کوم چي پاته شو‬
‫هغوي ته ‪ alternate‬ویل کیږي‬
‫‪ :Foreign Key‬دا د ‪ primary key‬معکوس دی په ‪ child Table‬باندي لګیږی او دا کي‬
‫تکرار کیداي هم شی له بهر څخه په ټیبل باندی لګیږي ځکه ورته ‪ foreign key‬ویل کیږي‬
‫‪Functional Dependency‬‬
‫د دوو ‪ Attribute‬تر منځ ارتباط ته ‪ Functional dependency‬ویل کیږی‬
‫یا هغه حالت ته ویل کیږي چی په یو ټیبل کي یو ‪ Attribute‬د نورو ‪ Attribute‬یا کالمونو‬
‫په اړه معلومات ورکوي‬
‫او یو کالم د نورو کالمونو څخه نمانیده ګی کوي‬
‫‪Object Color‬‬ ‫‪Weight‬‬ ‫‪Shape‬‬

‫‪Red‬‬ ‫‪50g‬‬ ‫‪Ball‬‬

‫‪Blue‬‬ ‫‪50g‬‬ ‫‪Cube‬‬

‫‪Yellow‬‬ ‫‪70g‬‬ ‫‪Cube‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪14 | P a g e‬‬

‫په دي کی ‪ object color‬د نورو کالمونو لپاره ‪ determinant‬او دا نور کالمونه په دی کالم پوري‬
‫‪ Depends‬دی‬
‫?‪Why Functional Dependency‬‬
‫ولي یی موږ استعمالوو‬
‫په کالمونو کي د ‪ Candidate Key‬پیدا کولو لپاره استمعالوو‬ ‫‪‬‬
‫مهم او مانا لروونکی کالم د ‪ primary key‬لپاره انتخابوو‬ ‫‪‬‬
‫د ‪ Normalization‬لپاره استعمالیږي‬ ‫‪‬‬
‫تکرار څخه مخنیوي کوي‬ ‫‪‬‬
‫‪ :Primary and Candidate Keys Revisited‬یو یا یو نه زیات کالمونه چي د ټولو کالمونو‬
‫څخه نمایندګي کوي ‪ primary key‬بلل کیږي‬
‫همدغه تعریف د ‪ candidate key‬لپاره هم دي‬
‫که چیرته په یوټیبل کي ‪ candidate key‬موجوده نه وي نو موږ دوه یا دري کالمونه سره‬
‫یوځای کوو تر څو ‪ unique‬شي او ‪ primary key‬پري ولګوو‬

‫‪Normalization‬‬
‫دهغي پروسي څخه عبارت دي کوم چي په ډاټابیس کی په یو داسی جوړښت یا ‪ Structure‬سره‬
‫‪ Organize‬یعني منظمه او ترتیب کوي تر څو د تکراري ډاټا‪ ،‬بي قاعدي ‪ ،Insertion‬بي قاعدي‬
‫‪ Update‬او بي قاعدي ‪ Deletion‬څخه مخنیوي وکړي‪.‬‬
‫لومړی راځو په بي قاعدي والي ‪ Anomalies‬باندي خبري کوو تر څو د نارمل کولو اهمیت په‬
‫روښانه ډول باندي واضح کړو‬
‫‪ :Anomalies in DBMS‬کله چی ډاټابیس منظم شوی نه وی له دري ډوله بي قاعدي والي یا‬
‫‪ Anomalies‬سره مخامخ کیږو چي له ‪ Insertion, Update and Deletion‬څخه عبارت دي‬
‫‪ :NOTE‬تر څو د پورتنیو بي قاعدیوالي یا ‪ Anomalies‬ستونزو ته حل ووایو او یادي ستونزي‬
‫له منځه یوسو تر څو زمونږ ډاټا په کامله توګه نارمل وي د ‪ Normalization‬څخه په ګټي‬
‫اخیستني کوالي شو پورته یاد شوي مشکالت حل او فصل کړو‬
‫?‪:Why Normalization‬‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪15 | P a g e‬‬

‫کله چي یو ټیبل پورتني خواص ولري ‪ Relation Model‬بلل کیږي خو بیا هم ستونزه لري نو‬
‫ددي لپاره موږ بیا هم ‪ Normalization‬عملیه سرته سوي ترڅو زموږ ډیټابیس کی ستونزه‬
‫رامنځته نشي مثالونه یی په سالیډونو کي واضح دي‬
‫‪Modification Problem 1‬‬
‫که چیرته موږ په ټیبل کی ‪ Normalization‬ونلرو نو الندي ستونزي رامنځته کیږي‬
‫‪ ‬په ټیبل کی به یوه ‪ Entity‬بي ضرورته بار بار تکراریږي‬
‫‪ ‬که موږ وغواړو دغه ‪ Entity‬اپډیټ کړو نو هر څومره ځله چي تکرار وي هغومره ځله به‬
‫آپډیټ کوو‬
‫‪ ‬که چیرته موږ وغواړو چي یوه ‪ Entity‬ډیلیټ کړو نو له هغه سره نوره ‪ Entity‬هم ختمیږي‬
‫‪Relational Design Principles‬‬
‫که چیرته موږ وغواړو چي یو داسي ټیبل رامنځته کړو چي هیڅ ستونزه ونلري الندي اصول باید‬
‫مراعت کړو تر څو یو ‪ well-form‬ولرو‬
‫‪ ‬هغه ‪ Relation‬ته موږ ‪ Well formed‬ویالي شو چي هر ‪ Determinate‬باید ‪Primary key‬‬
‫ولري‬
‫‪ ‬هغه ‪ Relation‬چي ‪ Well formed‬نه وي نو موږ کوالي شو چي په دوو او یا څو برخو یی‬
‫وویشو تر څو ‪ Well formed‬ته بدل شي‬
‫پورتني دوه اصول د ‪ Normalization‬زړه بلل کیږي‬
‫نوټ‪ Well formed :‬هغه فورم ته ویل کیږي چي په ښه طریقي سره ډیزاین شوي وي‬
‫‪Normal Forms‬‬
‫یو ټیبل په هغه حالت کي په نارمل فارم کي دی چي )‪ (BCNF‬حالت ته راورسیږي‬
‫‪First normal form ‬‬
‫‪Second normal form ‬‬
‫‪Third normal form ‬‬
‫‪Fourth normal form ‬‬
‫‪Fifth normal form ‬‬
‫‪Domain/Key normal form ‬‬
‫لومړنی دري یی ډیر مهم دي‬
‫)‪ :First normal form (1NF‬یو ټیبل ته هغه وخت )‪ (1NF‬ویل کیږي چي ‪:‬‬
‫‪ .1‬د ‪ Relation‬چي کوم اته شرطونه دي هغه یی باید پوره کړي وي چي مخکي مو ویلي دي‬
‫‪ .2‬یوه ‪ primary key‬ولري‬
‫‪ .3‬باید معلومات تکراري نه وي‬
‫)‪ :Second Normal Form (2NF‬یو ټیبل ته هغه وخت )‪(2NF‬ویل کیږي چي ‪:‬‬
‫‪ .1‬باید په )‪ (1NF‬کي وي‬
‫‪ .2‬ټول هغه ‪ nonkey attributes‬باید د ‪ Composite key‬پواسطه ‪ Determinate‬شوي وي‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


‫‪16 | P a g e‬‬

‫)‪ :Third Normal Form (3NF‬یو ټیبل ته هغه وخت )‪ (3NF‬ویل کیږي چي‪:‬‬
‫‪ .1‬هغه په ‪ 2NF‬کی وي‬
‫‪ .2‬هیڅ ‪ non key Attribute‬د بل ‪ non key Attribute‬پواسطه نه ‪ Determinate‬کیږي‬
‫)‪ :Boyce Codd Normal Form (BCNF‬کله چي ‪ Dr. Edgar Frank Codd‬ډیټابیس رامنځته‬
‫کړ نو ډیر وخت نه وو وتلي چي ده د نورمل فارم په باره معلومات ورکړ او وویل‪ :‬یو ټیبل کیدای شي‬
‫چی په دریم نارمل فارم کي هم غیري نورمال حالت امکان لري‬
‫په نتیجه کی ‪ codd‬او‪ R. Boyce‬په ګډه سره یو بل نورمال حالت رامنځته کړ ‪ (BCNF),‬یی ونومول‬
‫او هغه غیري نورمال حالت چي په دریم نورمال حالت کی هم له منځه نه وي تللي هغه پکي له منځه‬
‫ځي‬
‫یو ‪ Relation‬ته موږ هغه وخت ‪ BCNF‬ویالی شو چي هره ‪ determinant‬یی یو ‪Candidate key‬‬
‫وي‬
‫تاسو کوالي شۍ چي په یوه جمله کی ‪ Normalization‬تر پایه وپیژنۍ‬
‫‪I swear to construct my tables so that all nonkey columns are dependent on the key, ‬‬
‫! ‪the whole key, and nothing but the key, so help me Codd‬‬

‫‪The Normalization Process‬‬


‫د ‪ Normalization‬ترسره کولو لپاره دري مرحلي موجود دي که چیرته موږ دغه دري مرحلي ترسره‬
‫کړې نو موږ یو ټییل ‪ Normalize‬کړی‬
‫‪ .1‬په ‪ Relation‬یا‪ Table‬کي ‪ Candidate key‬مشخصول‬
‫‪ .2‬په یو ټیبل کي ‪ functional dependencies‬مشخصول‬
‫‪ .3‬که چیرته په یو ټیبل کي هیڅ ‪ Candidate key،Determent‬نه وي نو دغه ټیبل ‪not‬‬
‫‪ well formed‬نه دي نو دغه حالت صحیح کولو لپاره الندی مرحلي سرته رسوو‬
‫‪ )a‬موږ ټیبل دوو برخو ویشوو او په نوی ټیبل کی ‪ functional dependency‬مشخصوو‬
‫‪ )b‬او په نوی ټیبل کي په ‪ functional dependency‬باندي ‪ Primary key‬لګوو‬
‫‪ )c‬او دوهم ټیبل کي چي د ‪ determinant‬وظیفه سرته رسوي ‪ Foreign Key‬لګوو‬
‫‪ )d‬او وروسته د دواړو ټیبلونو تر منځ ‪ referential integrity‬رامنځته کوو‬
‫نوټ‪ :‬د ‪ referential integrity‬څخه مراد ‪ Relationship‬دي‬

‫‪Prepared: ABDUL RAHIM WIQADE‬‬ ‫‪Email: Wiqade99@Gmail.com‬‬ ‫‪Phone: 0764008879‬‬


17 | P a g e

Normalization ‫ ټیبل رامنځته کولو لپاره دریم حالت بار بار تکراروو تر څو‬Normalize ‫د‬
‫رامنځته شي‬
‫پورتني مرحلي په مثالونو کی تشریح کوو‬
Sample DESCRIPTION Relation and Data
PRESCRIPTION (PrescriptionNumber, Date, Drug, Dosage,
CustomerName, CustomerPhone, CustomerEmailAddress)

Step 1 of the Normalization Process


‫ مشخصوو‬candidate key ‫ په پورتني ټیبل کي موږ‬
‫ مشخصوي یا یی‬Date, Drug, and Dosage ‫ موږ ته‬PrescriptionNumber 
‫ کوي که چیرته نسخه یواځي د یو کس لپاره وي نو بیا په دی صورت کی‬Determent
‫ هم‬CustomerEmailAddress‫او‬CustomerName, CustomerPhone,
‫ بلل کیږي خو دا امکان‬Candidate key ‫ زمونږ‬PrescriptionNumber ‫مشخصوي او‬
‫نلري ځکه چي یو ډاکتر ته زیات ناروغان راځي‬
‫ دي چي ټول‬PrescriptionNumber ‫که چیرته دغه ټول فیلډونه په یو ټیبل کي موجود وی نو یواځنۍ‬
‫ کوالي شي‬Determent ‫فیلډنه‬
‫خو ستونزه دلته نه حل کیږي‬
Step 2 of the Normalization Process
‫ مشخصوو‬functional dependencies ‫ په دغه مرحله کی موږ‬
functional dependencies ‫ یو‬CustomerEmailAddress ‫ په دي ټیبل کی‬
‫کیداي شي‬
CustomerEmailAddress (CustomerName, CustomerPhone)

‫خو کله کله ځینی کسان یو شان ایمل ادرس لري نو ددي ستونزي ختمولو لپاره بلي مرحلي ته داخلیږو‬
Step 3 of the Normalization Process
‫ نشي کیدالی لکه‬Candidate key‫ معلوموو چي‬Determent ‫ په دي مرحله کی موږ هغه‬
CustomerEmailAddress
‫ په دي مرحله کی چي ستونزه له منځه یوسو ټیبل په دوو برخو ویشوو‬

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879


18 | P a g e

‫ شو او ستونزه له منځه الړه‬Normalize ‫اوس ټیبل‬


‫نور مثالونه یی په سالیډونو کي کتالي شۍ‬

Prepared: ABDUL RAHIM WIQADE Email: Wiqade99@Gmail.com Phone: 0764008879

You might also like