زبان تعریف داده (DDL) چیست؟
زبان تعریف داده (DDL) برای ایجاد و تغییر ساختار اشیاء در یک پایگاه داده با استفاده از دستورات از پیش تعریف شده و یک نحو خاص استفاده میشود. این اشیاء پایگاه داده شامل جداول، توالیها، مکانها، نامهای مستعار، طرحها و شاخصها هستند.
←برای خرید کرک لایسنس تبلو Tableau با تمام ویژگی ها کلیک کنید
توضیح زبان تعریف داده
DDL یک زبان استاندارد با دستوراتی برای تعریف گروههای ذخیرهسازی (stogroups)، ساختارها و اشیاء مختلف در یک پایگاه داده است. دستورات DDL اشیاء پایگاه داده مانند جداول، شاخصها و stogroups را ایجاد، اصلاح و حذف میکنند. DDL همچنین به معنای عمومی برای اشاره به هر زبانی که دادهها را توصیف میکند، استفاده میشود.
DDL شامل دستورات زبان پرسوجوی ساختاریافته (SQL) برای ایجاد و حذف پایگاههای داده، نامهای مستعار، مکانها، شاخصها، جداول و توالیها است. همچنین شامل دستوراتی برای تغییر این اشیاء و اعمال یا حذف محدودیتهای خاص بر روی جداول، مانند موارد زیر است:
- UNIQUE
- PRIMARY
- FOREIGN KEY
- CHECK
این محدودیتها برای اعمال منحصر به فرد بودن، ارجاع یا یکپارچگی دامنه استفاده میشوند.
وقتی یک دستور DDL اجرا میشود، بلافاصله در پایگاه داده اعمال میشود.
DDL گاهی اوقات به عنوان زبان توصیف داده شناخته میشود، زیرا میتوان از دستورات آن برای توصیف، اظهار نظر و قرار دادن برچسب روی اشیاء پایگاه داده نیز استفاده کرد.
DDL در مقابل SQL در مقابل DML در مقابل DQL
از آنجایی که DDL شامل دستورات SQL برای تعریف تغییرات در طرحواره پایگاه داده است، زیرمجموعهای از SQL در نظر گرفته میشود. SQL از افعال معمولی انگلیسی برای تغییر اشیاء پایگاه داده استفاده میکند و DDL به عنوان یک زبان متفاوت در یک پایگاه داده SQL ظاهر نمیشود.
در زبان دستکاری دادهها (DML)، از دستورات برای تغییر دادهها در یک پایگاه داده استفاده میشود. دستورات DML دسترسی به دادههای پایگاه داده را کنترل میکنند. در مقابل، دستورات DDL برای ایجاد، حذف یا تغییر ساختار اشیاء در یک پایگاه داده استفاده میشوند، اما نه دادههای آن. DDL با توصیفات طرحواره پایگاه داده سروکار دارد و برای ایجاد جداول جدید، شاخصها، توالیها، گروههای استو و غیره و تعریف ویژگیهای این اشیاء، مانند نوع داده، طول فیلد و نامهای جایگزین جدول (نامهای مستعار) مفید است.
زبان پرسوجوی داده (DQL) برای دریافت دادهها در اشیاء طرحواره یک پایگاه داده و همچنین پرسوجو از آن و اعمال ترتیب بر آن استفاده میشود. DQL نیز مانند DDL زیرمجموعهای از SQL است. یکی از رایجترین دستورات در DQL، SELECT است. این دستور به کاربران اجازه میدهد دادهها را از یک جدول پایگاه داده دریافت کرده و عملیاتی را روی آن انجام دهند. هنگامی که دستور اجرا میشود، نتیجه در یک جدول موقت کامپایل شده و توسط برنامه یا اپلیکیشن front-end نمایش داده میشود.
دستورات زبان تعریف داده رایج
کاربران عمومی برنامه – یعنی کاربرانی که مجاز به کار مستقیم با یک پایگاه داده نیستند – از دستورات DDL استفاده نمیکنند. این کاربران عمومی میتوانند و فقط باید از طریق برنامه به طور غیرمستقیم به پایگاه داده دسترسی داشته باشند.
رایجترین انواع دستور در DDL عبارتند از CREATE، ALTER و DROP. هر سه نوع دارای یک سینتکس از پیش تعریف شده هستند که برای اجرای دستور و اعمال تغییرات باید دنبال شوند.
1. CREATE
Syntax CREATE TABLE [table name] ([column definitions]) [table parameters];
نقطه ویرگول در انتهای دستور برای پردازش هر دستور قبل از آن استفاده میشود.
گروه CREATE از دستورات DDL شامل موارد زیر است:
- CREATE DATABASE یک پایگاه داده منطقی را در زیر دایرکتوری ریشه مکان فعال تعریف میکند. این پایگاه داده معمولاً از یک زیردایرکتوری با همین نام تشکیل شده است که جدول فیزیکی و فایلهای شاخص را در خود جای داده است. کاربران میتوانند از stogroups برای تعیین ضمنی دایرکتوریهای ذخیرهسازی مختلف برای اشیاء پایگاه داده منفرد استفاده کنند.
- CREATE TABLE با تعریف ستونهای آن و نوع داده هر ستون و طول فیلد، یک جدول ایجاد میکند. این دستور همچنین میتواند برای ایجاد کلیدهای اصلی و خارجی برای جدول استفاده شود.
- CREATE STOGROUP یک stogroup به سبک Db2 ایجاد میکند تا یک ناحیه دایرکتوری فیزیکی برای ذخیره اشیاء پایگاه داده تعریف کند. یک stogroup با یک مسیر دایرکتوری خاص مرتبط است.
- CREATE TABLESPACE یک tablespace به سبک Db2 ایجاد میکند تا جداول را از همان پایگاه داده منطقی در چندین مسیر دایرکتوری ذخیره کند. tablespace با یک stogroup استفاده میشود.
- CREATE ALIAS یک نام مستعار برای یک جدول یا نمای موجود تعریف میکند. نام مستعار ممکن است در مکانی متفاوت از جدول یا نما توصیف شود. این دستور همچنین تعریف نام مستعار را در جداول کاتالوگ در مکان فعلی ثبت میکند.
- CREATE SYNONYM همچنین میتواند برای ایجاد یک نام جایگزین برای یک جدول یا نمای موجود در مکان فعلی استفاده شود.
- CREATE INDEX برای بازیابی سریعتر دادهها و اعمال محدودیتهای منحصر به فرد بودن بر روی ستونها، یک فهرست در یک یا چند ستون از یک جدول ایجاد میکند.
- CREATE LOCATION یک مکان جدید در سرور XDB در یک زیرشاخه مشخص شده توسط کاربر ایجاد میکند.
- CREATE SEQUENCE باید برای ایجاد یک توالی در سرور برنامه استفاده شود.
- CREATE VIEW یک جدول مجازی تعریف میکند که بازیابی دادهها و بهروزرسانیها را به زیرمجموعهای از ستونها و ردیفها از جداول تک یا چند پایه محدود میکند.
- CREATE GLOBAL TEMPORARY میتواند برای ایجاد توضیحات یک جدول موقت در سرور فعلی استفاده شود.
2. DROP
DDL همچنین شامل چندین دستور DROP برای حذف اشیاء در یک پایگاه داده است. دستورات DROP قابل لغو نیستند، بنابراین پس از حذف یک شیء، قابل بازیابی نیست.
Syntax DROP object type object name;
رایجترین دستورات DROP عبارتند از:
- DROP DATABASE دقیقاً برعکس CREATE DATABASE عمل میکند. این دستور یک پایگاه داده تعریف شده در یک مکان خاص را به همراه تمام اشیاء منطقی مرتبط با آن حذف میکند. همچنین زیرشاخه پایگاه داده را حتی اگر خالی باشد و هیچ شیء منطقی مرتبط با پایگاه داده نداشته باشد، حذف میکند.
- DROP STOGROUP با قطع ارتباط منطقی بین اشیاء داده تعریف شده با استفاده از stogroup و مسیر دایرکتوری مشخص شده در تعریف stogroup حذف شده، یک stogroup را حذف میکند. این دستور اشیاء مرتبط با stogroup را حذف نمیکند. مانند سایر دستورات DROP، دستور DROP STOGROUP باید به مقدار کم و با احتیاط استفاده شود.
- DROP TABLE یک جدول پایگاه داده و تمام شاخصها، نماها و مترادفهای مرتبط ساخته شده بر روی آن را حذف میکند.
- DROP TABLESPACE یک فضای جدول تعریف شده در مکان فعلی و تمام جداول منطقی مرتبط درون آن را حذف میکند.
- DROP ALIAS میتواند برای حذف نام جایگزین برای یک جدول یا نما در کاتالوگ سیستم یک مکان استفاده شود.
- از دستور DROP SYNONYM همچنین میتوان برای حذف نام جایگزین برای یک جدول یا نما استفاده کرد.
- DROP INDEX یک شاخص را در مکان فعلی حذف میکند، اما تنها در صورتی که این شاخص در نتیجه یک کلید منحصر به فرد، اصلی یا خارجی ایجاد نشده باشد. برای حذف/حذف چنین شاخصهایی، ابتدا باید محدودیت موجود با دستور ALTER حذف شود.
- DROP LOCATION یک مکان سرور XDB تعریف شده توسط کاربر و جداول کاتالوگ، ساختار دایرکتوری و اشیاء مرتبط با آن را حذف میکند.
- DROP VIEW یک نما و تمام نماهای دیگر تعریف شده روی آن را از کاتالوگ سیستم مکان فعلی حذف میکند.
3. ALTER
گروه سوم از دستورات DDL، دستور ALTER است. این دستورات برای ایجاد تغییرات در اشیاء پایگاه داده، مانند شاخصها، مکانها و stogroupها استفاده میشوند.
Syntax ALTER object type object name parameters;
رایجترین دستورات ALTER عبارتند از:
- ALTER DATABASE پارامترهای اطلاعاتی یک پایگاه داده را در محل فعلی سرور XDB تغییر میدهد.
- ALTER STOGROUP مشخصات یک stogroup تعریف شده در محل فعلی سرور XDB را تغییر میدهد.
- ALTER TABLE ستونها و انواع دادههای آنها را اضافه، حذف یا تغییر میدهد. همچنین میتواند با ایجاد یا حذف محدودیتهای UNIQUE، PRIMARY، FOREIGN KEY و CHECK در حالت XDB، یکپارچگی ارجاعی و دامنه را اعمال کند. در حالت Db2، این دستور همچنین میتواند برای اعمال محدودیتهای منحصر به فرد بودن استفاده شود.
- ALTER TABLESPACE مشخصات یک tablespace را در محل فعلی سرور XDB تغییر میدهد.
- ALTER VIEW از تعریف نمای موجود در سرور فعلی برای تولید مجدد یک نما استفاده میکند.
- ALTER SEQUENCE ویژگیهای توالی را در سرور فعلی تغییر میدهد.
- ALTER INDEX پیکربندی یک شاخص موجود را تغییر میدهد. سرور XDB از نظر نحوی از این دستور پشتیبانی میکند تا سازگاری با Db2 را تضمین کند.
4. Other commands
جدا از دستورات CREATE، DROP و ALTER، DDL شامل دستورات دیگری نیز میشود:
- COMMENT ON برای اضافه کردن یک توضیح تک خطی، چند خطی یا درون خطی در مورد یک شیء در جداول کاتالوگ در مکان فعلی استفاده میشود.
- LABEL ON برای اضافه کردن یا تغییر برچسبهای متنی توصیفی که جداول، نماها، نامهای مستعار یا ستونها را به جداول کاتالوگ توصیف میکنند، استفاده میشود.
- RENAME برای تغییر نام یک جدول پایگاه داده استفاده میشود.
- TRUNCATE برای حذف سریع تمام رکوردها از یک جدول، در حالی که ساختار کامل آن حفظ میشود تا بعداً بتوان از آن دوباره استفاده کرد، استفاده میشود.
مقاله های مرتبط:
1– کارشناس پایگاه داده کیست؟
2- مقیاس بندی افقی و عمودی برای پایگاه داده
3- چرا بازار پایگاه داده بزرگتر و قوی تر می شود؟
4-داشبورد سازی در نرم افزار تبلو و تجسم داده ها
