تفاوت بین Schema و Instance در پایگاه داده چیست

خلاصه
1404/04/26

تفاوت اصلی بین Schema و Instance در پایگاه داده در زیر توضیح داده شده است: **Schema (اسکیما):** * **تعریف و ساختار:** اسکیما، ساختار و طراحی کلی یک پایگاه داده را تعریف می‌

تفاوت بین Schema و Instance در پایگاه داده چیست

تفاوت اصلی بین Schema و Instance در پایگاه داده در زیر توضیح داده شده است:

**Schema (اسکیما):**

* **تعریف و ساختار:** اسکیما، ساختار و طراحی کلی یک پایگاه داده را تعریف می‌کند. به عبارت دیگر، اسکیما "نقشه" یا "طرح" پایگاه داده است.
* **شامل چه چیزهایی است؟** اسکیما شامل موارد زیر است:
* نام جداول (Tables)
* ستون‌های (Columns) هر جدول و نوع داده (Data Type) هر ستون (مانند عدد، متن، تاریخ و غیره)
* کلیدهای اصلی (Primary Keys) و خارجی (Foreign Keys) که روابط بین جداول را تعریف می‌کنند.
* محدودیت‌ها (Constraints) و قوانینی که برای حفظ صحت داده‌ها اعمال می‌شوند.
* ایندکس‌ها (Indexes) که برای افزایش سرعت جستجو در پایگاه داده استفاده می‌شوند.
* ویوها (Views)، روال‌های ذخیره شده (Stored Procedures)، توابع (Functions) و تریگرها (Triggers).
* **ماندگاری:** اسکیما معمولاً برای مدت طولانی ثابت می‌ماند و به ندرت تغییر می‌کند، مگر اینکه نیاز به تغییر ساختار پایگاه داده وجود داشته باشد.
* **مثال:** فرض کنید یک پایگاه داده برای نگهداری اطلاعات دانشجویان داریم. اسکیما این پایگاه داده ممکن است شامل جدول `Students` با ستون‌هایی مانند `StudentID` (کلید اصلی)، `FirstName`، `LastName`، `Major` و غیره باشد. همچنین ممکن است جدول `Courses` با ستون‌هایی مانند `CourseID` (کلید اصلی)، `CourseName` و `Credits` وجود داشته باشد.

**Instance (نمونه):**

* **داده‌های واقعی:** Instance به مجموعه داده‌های واقعی گفته می‌شود که در یک لحظه خاص در پایگاه داده ذخیره شده‌اند. به عبارت دیگر، Instance یک "عکس" از داده‌های موجود در پایگاه داده در یک زمان مشخص است.
* **محتوا:** Instance شامل ردیف‌های (Rows) جداول با مقادیر واقعی برای هر ستون است.
* **تغییرپذیری:** Instance دائماً در حال تغییر است، زیرا داده‌ها اضافه، حذف و به‌روزرسانی می‌شوند.
* **مثال:** با استفاده از مثال پایگاه داده دانشجویان، یک Instance می‌تواند شامل موارد زیر باشد:
* ردیف‌هایی در جدول `Students` با اطلاعات دانشجویان واقعی مانند:
* `StudentID: 123, FirstName: Ali, LastName: Ahmadi, Major: Computer Science`
* `StudentID: 456, FirstName: Sara, LastName: Mohammadi, Major: Electrical Engineering`
* ردیف‌هایی در جدول `Courses` با اطلاعات دروس واقعی مانند:
* `CourseID: CS101, CourseName: Introduction to Programming, Credits: 3`
* `CourseID: EE201, CourseName: Circuit Analysis, Credits: 4`

**به طور خلاصه:**

* **اسکیما (Schema):** ساختار و تعریف پایگاه داده (مثل نقشه یک شهر)
* **اینستنس (Instance):** داده‌های واقعی ذخیره شده در پایگاه داده در یک لحظه خاص (مثل ساکنان و ساختمان‌های یک شهر در یک زمان مشخص)

تصور کنید یک کلاس دارید. اسکیما، ساختار کلاس را مشخص می‌کند (مثلاً تعداد صندلی‌ها، تخته سیاه، میز معلم). Instance، دانش‌آموزان و اشیایی هستند که در حال حاضر در