آموزش زبان SQL - مفاهیم RDBMS
RDBMS چیست؟
RDBMS به معنی سیستم مدیریت پایگاه داده رابطهای میباشد. RDBMS پایه SQL و تمامی سیستمهای مدیریت پایگاه دادهی مدرن مانند MS SQL Server، IBM DB2، Oracle، MySQL و Microsoft Access میباشد.
سیستم مدیریت پایگاه داده رابطهای (RDBMS) یک سیستم مدیریت پایگاه داده است که بر پایه مدل رابطهای که توسط E. F. Codd در سال ۱۹۷۰ معرفی شد، ساخته شده است.
جدول چیست؟
دادهها در RDBMS در شیهای پایگاه دادهای که به عنوان جدولها شناخته میشوند، ذخیره میشوند. این جدول در واقع یک مجموعه از ورودیهای دادهای مرتبط است و از تعداد زیادی ستون و ردیف تشکیل شده است.
به یاد داشته باشید که جدول از رایجترین و سادهترین شکل ذخیرهسازی داده در پایگاه دادهی رابطهای است. مثالی از جدول CUSTOMERS که شامل شناسه، نام، سن، حقوق، شهر و کشور مشتریان میباشد، به شرح زیر است:
ID | Name | Age | Salary | City | Country |
---|---|---|---|---|---|
1 | Ramesh | 32 | 2000.00 | Hyderabad | India |
2 | Mukesh | 40 | 5000.00 | New York | USA |
3 | Sumit | 45 | 4500.00 | Muscat | Oman |
4 | Kaushik | 25 | 2500.00 | Kolkata | India |
5 | Hardik | 29 | 3500.00 | Bhopal | India |
6 | Komal | 38 | 3500.00 | Saharanpur | India |
7 | Ayush | 25 | 3500.00 | Delhi | India |
8 | Javed | 29 | 3700.00 | Delhi | India |
فیلد(Field) چیست؟
هر جدول به دسته ای از موجودیت های کوچکتر به نام فیلد تقسیم می شود. فیلد ستونی در یک جدول است که برای نگهداری اطلاعات مشخص درباره هر رکورد در جدول طراحی شده است.
به عنوان مثال، جدول مشتریان ما از فیلدهای مختلفی مانند شناسه، نام، سن، حقوق، شهر و کشور تشکیل شده است.
رکورد یا ردیف چیست؟
رکورد یا ردیف داده نامیده می شود و هر ورودی فردی که در جدول وجود دارد را مشخص می کند. به عنوان مثال، در جدول مشتریان فوق، 7 رکورد وجود دارد. ردیف داده یا رکورد تکی در جدول مشتریان به شرح زیر است -
ID | Name | Age | Salary | City | Country |
---|---|---|---|---|---|
1 | Ramesh | 32 | 2000.00 | Hyderabad | India |
یک رکورد یک موجودیت افقی در جدول است.
ستون چیست؟
ستون یک موجودیت عمودی در جدول است که تمام اطلاعات مرتبط با یک فیلد خاص در جدول را شامل می شود.
برای مثال، جدول مشتریان ما شامل ستونهای مختلفی است برای نمایش ID، نام، سن، حقوق، شهر و کشور.
مقدار NULL چیست؟
مقدار NULL در یک جدول، مقداری است که به نظر میرسد خالی است و به این معنی است که یک ستون با مقدار NULL، یک ستون با هیچ مقداری است.
بسیار مهم است که بفهمید که مقدار NULL با مقدار صفر یا یک ستون شامل فضاهای خالی متفاوت است. یک ستون با مقدار NULL، ستونی است که در هنگام ایجاد یک رکورد خالی گذاشته شده است. در جدول زیر سه رکورد وجود دارد که رکورد اول مقدار NULL برای حقوق دارد و رکورد دوم مقدار صفر برای حقوق دارد.
ID | Name | Age | Salary | City | Country |
---|---|---|---|---|---|
1 | Ramesh | 32 | Hyderabad | India | |
2 | Mukesh | 40 | 00.00 | New York | USA |
3 | Sumit | 45 | 4500.00 | Muscat | Oman |
محدودیتهای SQL
محدودیتها قوانینی هستند که بر روی ستونهای دادهای یک جدول اعمال میشوند. این محدودیتها برای محدود کردن نوع دادهای که میتواند به یک جدول وارد شود استفاده میشوند. این کار باعث میشود دادههای ذخیره شده در پایگاه داده دقیق و قابل اعتماد باشند.
محدودیتها میتوانند در سطح ستون یا در سطح جدول اعمال شوند. محدودیتهای سطح ستون فقط بر روی یک ستون اعمال میشوند در حالی که محدودیتهای سطح جدول بر روی تمامی جدول اعمال میشوند.
در زیر چندین نمونه از محدودیتهای رایج در SQL آمدهاست −
شماره | محدودیتها |
---|---|
۱ | محدودیت NOT NULL
اطمینان حاصل میکند که یک ستون نمیتواند مقدار NULL داشته باشد. |
۲ | محدودیت DEFAULT
یک مقدار پیشفرض برای یک ستون ارائه میکند هنگامی که هیچ مقداری مشخص نشده است. |
۳ | کلید UNIQUE
اطمینان حاصل میکند که تمامی مقادیر یک ستون متفاوت هستند. |
۴ | کلید PRIMARY
هر ردیف / رکورد را در یک جدول پایگاه داده منحصراً شناسایی میکند. |
۵ | کلید FOREIGN
ردیف / رکورد را در هر جدول دیگری از پایگاه داده به صورت منحصراً شناسایی میکند. |
۶ | محدودیت CHECK
اطمینان حاصل میکند که تمامی مقادیر یک ستون شرایط مشخصی را برآورده میکنند. |
۷ | محدودیت INDEX
برای سریعتر کردن ایجاد و بازیابی دادهها از پایگاه داده استفاده میشود. |
یکپارچگی دادهها
دستهبندیهای مختلف صحت داده در هر سیستم مدیریت پایگاه داده رابطهای (RDBMS) وجود دارند:
-
صحت هویت موجودیت (Entity Integrity) - این بخش اطمینان میدهد که در یک جدول ردیف تکراری وجود ندارد.
-
صحت دامنه (Domain Integrity) - ورودیهای معتبر برای هر ستون مشخص میشود با محدودیت نوع، قالب یا محدوده مقادیر.
-
صحت ارجاعی (Referential Integrity) - ردیفهایی که توسط ردیفهای دیگر استفاده میشوند، نمیتوانند حذف شوند.
-
صحت تعریف شده توسط کاربر (User-Defined Integrity) - قوانین تجاری خاصی را که در بخشهای صحت هویت موجودیت، صحت دامنه و صحت ارجاعی قرار نمیگیرد، اعمال میکند.
نرمالسازی پایگاه داده
نرمالسازی پایگاه داده فرآیندی است که باعث سازماندهی بهینه دادهها در یک پایگاه داده میشود. این فرایند به دو دلیل انجام میشود:
-
حذف دادههای تکراری؛ برای مثال، ذخیره دادههای مشابه در بیش از یک جدول.
-
اطمینان از منطقی بودن وابستگیهای دادهای.
دو دلیل مذکور اهداف شایسته ای هستند زیرا باعث کاهش حجم پایگاه داده می شوند و اطمینان حاصل می کنند که داده ها به طور منطقی ذخیره شده اند. نرمال سازی شامل یک سری دستورالعمل است که به شما در ایجاد ساختار خوب پایگاه داده کمک می کند.
دستورالعمل های نرمال سازی به فرم های نرمال تقسیم می شوند؛ به فرم به عنوان فرمت یا روشی که یک ساختار پایگاه داده به صورت منطقی قرار می گیرد، فکر کنید. هدف از فرم های نرمال، سازماندهی ساختار پایگاه داده به گونه ای است که با قوانین فرم اول نرمال، سپس فرم دوم نرمال و در نهایت فرم سوم نرمال، مطابقت داشته باشد.
شما می توانید تصمیم بگیرید به فرم چهارم نرمال، فرم پنجم نرمال و غیره بروید، اما به طور کلی، فرم سوم نرمال برای یک برنامه کاربردی پایگاه داده عادی کافی است.
در درس های پیش رو بیشتر با این مفاهیم آشنا خواهید شد