۱۷ بهمن ۱۴۰۳
مفهوم اسکیما (Schema ) در پایگاه داده چیست؟
اسکیما (Schema) در پایگاههای داده به ساختار و طراحی پایگاه داده اشاره میکند. اسکیما تعیین میکند که دادهها چگونه سازماندهی، ذخیره و مدیریت میشوند. به عبارت دیگر، اسکیما یک نقشه یا چارچوب است که مشخص میکند چه جدولهایی وجود دارند، چه ستونهایی در هر جدول تعریف شدهاند، و چه روابطی بین جدولها برقرار است.
اجزای اصلی اسکیما:
- جدولها (Tables):
- جدولها ساختارهای اصلی برای ذخیرهسازی دادهها هستند.
- هر جدول از ردیفها (سطرها) و ستونها تشکیل شده است.
- مثال: یک جدول به نام
users
ممکن است ستونهایی مانندid
,name
,email
وage
داشته باشد.
- ستونها (Columns):
- ستونها مشخصکنندهی نوع دادههایی هستند که در یک جدول ذخیره میشوند.
- هر ستون یک نام و یک نوع داده (مانند
INT
,VARCHAR
,DATE
و …) دارد. - مثال: در جدول
users
، ستونname
ممکن است از نوعVARCHAR(50)
باشد.
- کلیدهای اصلی (Primary Keys):
- یک ستون یا ترکیبی از ستونها که به طور منحصر به فرد هر ردیف در یک جدول را شناسایی میکند.
- مثال: در جدول
users
، ستونid
ممکن است به عنوان کلید اصلی تعریف شود.
- کلیدهای خارجی (Foreign Keys):
- ستونهایی که برای ایجاد رابطه بین دو جدول استفاده میشوند.
- این ستونها به کلید اصلی یک جدول دیگر اشاره میکنند.
- مثال: در جدول
orders
، ستونuser_id
ممکن است به کلید اصلی جدولusers
اشاره کند.
- محدودیتها (Constraints):
- قوانینی که برای اعتبارسنجی دادهها اعمال میشوند.
- مثالها:
NOT NULL
,UNIQUE
,CHECK
,DEFAULT
.
- ایندکسها (Indexes):
- ساختارهایی که برای بهبود سرعت بازیابی دادهها استفاده میشوند.
- مثال: ایجاد ایندکس روی ستون
email
در جدولusers
برای جستوجوی سریعتر.
- روابط (Relationships):
- ارتباط بین جدولها که با استفاده از کلیدهای خارجی تعریف میشوند.
- انواع روابط: یک به یک (One-to-One)، یک به چند (One-to-Many)، چند به چند (Many-to-Many).
انواع اسکیما:
- اسکیما فیزیکی (Physical Schema):
- نحوهی ذخیرهسازی فیزیکی دادهها روی دیسک را توصیف میکند.
- شامل جزئیاتی مانند ساختار فایلها، ایندکسها و پارتیشنبندی است.
- اسکیما منطقی (Logical Schema):
- ساختار منطقی پایگاه داده را توصیف میکند.
- شامل جدولها، ستونها، روابط و محدودیتها است.
- اسکیما نمایشی (View Schema):
- نحوهی نمایش دادهها به کاربران نهایی را توصیف میکند.
- شامل ویوها (Views) و دسترسیهای کاربران است.
مثال اسکیما:
فرض کنید میخواهیم یک پایگاه داده ساده برای یک سیستم مدیریت کاربران و سفارشات ایجاد کنیم. اسکیما ممکن است به این شکل باشد:
- جدول
users
:
id
(کلید اصلی، نوعINT
)name
(نوعVARCHAR(50)
)email
(نوعVARCHAR(100)
, محدودیتUNIQUE
)age
(نوعINT
)
- جدول
orders
:
order_id
(کلید اصلی، نوعINT
)user_id
(کلید خارجی، اشاره بهusers.id
)product
(نوعVARCHAR(100)
)quantity
(نوعINT
)order_date
(نوعDATE
)
- رابطه بین جدولها:
- هر کاربر (
users
) میتواند چندین سفارش (orders
) داشته باشد (رابطه یک به چند).
مزایای اسکیما:
- سازماندهی دادهها: دادهها به صورت ساختاریافته و منظم ذخیره میشوند.
- یکپارچگی دادهها: با استفاده از محدودیتها و روابط، از صحت دادهها اطمینان حاصل میشود.
- کارایی: طراحی مناسب اسکیما باعث بهبود عملکرد پایگاه داده میشود.
- قابلیت نگهداری: تغییرات در ساختار پایگاه داده به راحتی مدیریت میشود.
تفاوت اسکیما و دیتابیس:
- دیتابیس (Database): مجموعهای از دادههای مرتبط است.
- اسکیما (Schema): ساختار و طراحی آن دادهها را تعریف میکند.
به طور خلاصه، اسکیما نقشهای است که مشخص میکند دادهها چگونه در پایگاه داده ذخیره و سازماندهی میشوند.
دستهبندیها:
پایگاه داده
دیدگاه شما