ساخت 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;
GO3. سناریوی 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
);
GO4. اصول طراحی و 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 سه معیار ثابت برای ارزیابی نمونهها هستند.