فصل 3 از 24 درس 1 از 1

ساخت Database، Schema و Table

ساخت Database، Schema و Table

بخشی از آموزش جامع SQL Server

محتوای درس ساخت Database، Schema و Table

T-SQL | CREATE، ALTER و DROP

DDL ساختار Database را ایجاد و تغییر می‌دهد. Database محدوده Objectهاست، Schema Namespace منطقی ایجاد می‌کند و Table ساختار فیزیکی/منطقی ذخیره Rowها را تعریف می‌کند.

متن این فصل با رویکرد مرجع فنی و قابل استفاده در پروژه واقعی تنظیم شده است؛ مثال‌ها در امتداد مدل StoreDb نوشته شده‌اند و اصطلاحات اصلی SQL Server و T-SQL به‌صورت یکدست به‌کار می‌روند.

1. مفاهیم و قراردادهای اصلی

DDL ساختار Database را ایجاد و تغییر می‌دهد. Database محدوده Objectهاست، Schema Namespace منطقی ایجاد می‌کند و Table ساختار فیزیکی/منطقی ذخیره Rowها را تعریف می‌کند.

در طراحی پایگاه داده، Syntax تنها بخشی از مسئله است. نوع داده، Constraint، الگوی دسترسی، Transaction و هزینه اجرای Query باید هم‌زمان با نیاز Domain در نظر گرفته شوند.

مفهومکارکرد
CREATE DATABASEایجاد Database
USEتغییر Context
CREATE SCHEMAساخت Namespace
CREATE TABLEتعریف Table
ALTERتغییر Object
DROPحذف Object

2. ساختار و Syntax پایه

Script ساخت باید Context را صریح تعیین کند و در صورت تکرارپذیری نیاز، وجود Object را پیش از ایجاد بررسی کند. نام Schema بهتر است در همه ارجاع‌ها صریح نوشته شود.

IF DB_ID(N'StoreDb') IS NULL
BEGIN
    CREATE DATABASE StoreDb;
END;
GO

USE StoreDb;
GO

CREATE SCHEMA catalog;
GO

3. سناریوی StoreDb

Table اولیه Products با شناسه، نام، قیمت، موجودی و زمان ایجاد ساخته می‌شود. Constraintهای کامل در فصل اختصاصی خود اضافه می‌شوند.

نمونه‌های این فصل بر مدل فروشگاهی StoreDb بنا شده‌اند تا ارتباط مفاهیم میان فصل‌ها حفظ شود و Queryها در یک Context یکپارچه قابل بررسی باشند.

CREATE TABLE catalog.Products
(
    Id int IDENTITY(1,1) NOT NULL,
    Name nvarchar(200) NOT NULL,
    Price decimal(18,2) NOT NULL,
    Stock int NOT NULL,
    CreatedAt datetime2(3) NOT NULL
);
GO

4. اصول طراحی و Performance

طراحی پایدار باید هم صحت داده و هم هزینه اجرای عملیات را پوشش دهد. انتخاب ساده‌تر زمانی ترجیح دارد که Contract داده را روشن‌تر و رفتار Optimizer را قابل پیش‌بینی‌تر نگه دارد.

  • Schema برای سازماندهی Domainهای بزرگ قابل استفاده است.
  • نام Objectها واضح و بدون Prefix زائد باشند.
  • DDL در Source Control نسخه‌بندی شود.
  • DROP در Script عملیاتی با محافظت و Backup همراه باشد.

5. خطاهای رایج و نکات ایمنی

دستورهای SQL می‌توانند مستقیماً داده و ساختار را تغییر دهند؛ بنابراین بازبینی Context، تعداد Rowهای هدف و اثر Transaction قبل از اجرای تغییرات اهمیت عملی دارد.

  • اجرای Script روی Database اشتباه.
  • فرض اینکه Column با نام Id خودکار Primary Key است.
  • استفاده از Keyword رزروشده برای نام Table.
  • DROP بدون بررسی وابستگی و Recovery Plan.

6. چک‌لیست نهایی فصل

  • Database و Context صحیح مشخص شده‌اند.
  • Schema به‌صورت صریح استفاده می‌شود.
  • Tableهای اصلی قابل ایجاد هستند.
  • تفاوت CREATE، ALTER و DROP روشن است.

7. جمع‌بندی

خروجی این فصل باید به تصمیمی قابل اتکا در طراحی یا Query منجر شود؛ صحت داده، قابلیت نگهداری و رفتار Performance سه معیار ثابت برای ارزیابی نمونه‌ها هستند.