تعریف جدول و قیود یکپارچگی در SQL | آموزش SQL Server

تعریف جدول و قیود یکپارچگی در SQL

توسط admin | گروه SQL Server | 1405/05/22

نظرات 0

تعریف جدول و قیود یکپارچگی در SQL

عنوان اصلی: Defining Database Objects - Tables and Constraints
عنوان ترجمه: تعریف جدول و قیود یکپارچگی در SQL
صاحب/سازمان اثر: Relational Systems Corporation
زبان اصلی: انگلیسی
حق نشر منبع: Copyright © 2001
تاریخ ترجمه: 2026-08-13 / 1405/05/22
اعتبار ترجمه: ترجمه با کمک هوش مصنوعی
بازه صفحات PDF: 80 تا 88

9 - تعریف اشیای پایگاه داده

  • تعریف جدول‌ها
  • بارگذاری جدول‌ها
  • قیود یکپارچگی
  • تعریف ایندکس‌ها
  • تعریف Viewها
اسکن صفحه 80 فایل PDFتصویر کامل صفحه 80 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 80 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

تعریف جدول‌ها

جدول‌های جدید با دستور CREATE TABLE در پایگاه داده تعریف می‌شوند. در ساده‌ترین شکل، این دستور شامل نام جدول جدید و یک یا چند تعریف ستون است. جدول‌ها با دستور DROP TABLE حذف می‌شوند.

CREATE TABLE WRITERS
(
    NAME    CHAR(20),
    BDATE   DATE,
    GENDER  CHAR(6),
    COUNTRY CHAR(20),
    SALES   NUMERIC(9, 2)
);

DROP TABLE WRITERS;

جدول‌ها با CREATE TABLE افزوده می‌شوند

برای هر جدول یک دستور CREATE TABLE لازم است. در بیشتر گویش‌های SQL، نام جدول نمی‌تواند بیش از 18 نویسه باشد، باید با حرف آغاز شود و فقط می‌تواند شامل حروف، ارقام و زیرخط باشد.

ستون‌ها داخل پرانتز تعریف می‌شوند

تعریف ستون شامل نام، نوع داده و اندازه اختیاری داخل پرانتز است. تعریف ستون‌ها با ویرگول از هم جدا می‌شوند. نوع‌های داده بین سیستم‌ها متفاوت‌اند.

جدول‌ها با DROP TABLE حذف می‌شوند

DROP TABLE جدول مشخص‌شده را به‌طور دائمی از پایگاه داده حذف می‌کند. طبق متن منبع، عملیات CREATE و DROP هنگام اجرا به‌صورت خودکار Commit می‌شوند.

اسکن صفحه 81 فایل PDFتصویر کامل صفحه 81 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 81 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

تعریف جدول‌ها - ادامه

نحو عمومی CREATE TABLE و DROP TABLE:

CREATE TABLE table
(
    col type(size) [, ...]
);

-- Example
CREATE TABLE WRITERS
(
    NAME CHAR(20),
    BDATE DATE,
    SALES NUMERIC(9, 2)
);

DROP TABLE table;
-- Example
DROP TABLE WRITERS;

تمرین‌ها

  1. جدولی به نام SCIENTISTS با چهار ستون NAME، BDATE، GENDER و COUNTRY ایجاد کنید. ستون‌های متنی ظرفیت 20 نویسه داشته باشند.
  2. چند سطر به جدول جدید اضافه کنید و وجود جدول و سطرها را تأیید کنید.
  3. جدول SCIENTISTS را Drop کنید. Query اجرا کنید تا مطمئن شوید دیگر وجود ندارد.
اسکن صفحه 82 فایل PDFتصویر کامل صفحه 82 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 82 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

بارگذاری جدول‌ها

با دستور INSERT می‌توان یک دسته سطر را به جدول اضافه کرد. Clause VALUES که هر بار یک سطر را پشتیبانی می‌کند حذف می‌شود و به‌جای آن پرس‌وجویی که چند سطر برمی‌گرداند قرار می‌گیرد. پرس‌وجو داخل پرانتز نوشته می‌شود.

INSERT
INTO WRITERS (NAME, BDATE, GENDER, COUNTRY)
(
    SELECT NAME, BDATE, GENDER, COUNTRY
    FROM PERSONS
    WHERE JOB = 'W'
);
  • با INSERT می‌توان چند سطر را یک‌جا افزود.
  • به‌جای Clause VALUES یک Query نوشته می‌شود.
  • Query داخل پرانتز قرار می‌گیرد.
اسکن صفحه 83 فایل PDFتصویر کامل صفحه 83 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 83 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

بارگذاری جدول‌ها - ادامه

نحو بازبینی‌شده INSERT پارامتر Query را نیز می‌پذیرد؛ Query و VALUES با یکدیگر انحصاری‌اند و هم‌زمان استفاده نمی‌شوند.

INSERT
INTO table (col list)
VALUES (value list)

-- or
INSERT
INTO table (col list)
(SELECT ...);

تمرین‌ها

  1. جدول SCIENTISTS را دوباره با چهار ستون NAME، BDATE، GENDER و COUNTRY ایجاد کنید. ستون‌های متنی 20 نویسه ظرفیت داشته باشند.
  2. فقط دانشمندان زن را در جدول SCIENTISTS بارگذاری کنید. چند نفرند؟
  3. همه دانشمندان مرد را نیز وارد جدول SCIENTISTS کنید. حالا چند سطر وجود دارد؟
  4. همه الهی‌دانان را هم وارد SCIENTISTS کنید، زیرا مطابق شوخی متن منبع «الهیات نظام‌مند بزرگ‌ترین همه علوم است». اکنون چند سطر در جدول وجود دارد؟
  5. جدول SCIENTISTS را Drop کنید.
اسکن صفحه 84 فایل PDFتصویر کامل صفحه 84 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 84 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

قیود یکپارچگی

با مشخص‌کردن Constraintها در دستور CREATE می‌توان مقادیری را که در یک ستون ظاهر می‌شوند محدود کرد. پایگاه داده این قیدها را هنگام Insert، Update و Delete اعمال می‌کند. دو قید ساده NOT NULL و DEFAULT به‌شکل زیر نوشته می‌شوند:

CREATE TABLE WRITERS
(
    NAME    CHAR(20) NOT NULL,
    BDATE   DATE,
    GENDER  CHAR(6) DEFAULT 'Male',
    COUNTRY CHAR(20),
    SALES   NUMERIC(9, 2) DEFAULT 0
);

NOT NULL از مقدار Null جلوگیری می‌کند

چون مقادیر Null معمولاً نامطلوب در نظر گرفته می‌شوند، قید NOT NULL مانع ذخیره Null در ستون می‌شود. این قید پس از نوع داده و اندازه ستون نوشته می‌شود.

DEFAULT مقدار اولیه سطرهای جدید را تعیین می‌کند

کلیدواژه DEFAULT به‌همراه یک مقدار به پایگاه داده می‌گوید هرگاه سطری افزوده شد و کاربر برای آن ستون مقداری مشخص نکرد، مقدار پیش‌فرض را قرار دهد.

اسکن صفحه 85 فایل PDFتصویر کامل صفحه 85 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 85 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

قیود یکپارچگی - ادامه

قیدهای UNIQUE و CHECK سطح بالاتری از یکپارچگی را فراهم می‌کنند و مقادیر جدول را مجبور می‌کنند شرایط اضافی را رعایت کنند. هر دو قید می‌توانند روی یک ستون یا ترکیبی از ستون‌ها اعمال شوند.

CREATE TABLE WRITERS
(
    NAME    CHAR(20) NOT NULL,
    BDATE   DATE,
    GENDER  CHAR(6) DEFAULT 'Male',
    COUNTRY CHAR(20),
    SALES   NUMERIC(9, 2) DEFAULT 0,
    UNIQUE (NAME),
    CHECK (GENDER IN ('Male', 'Female')),
    CHECK (SALES >= 0)
);

UNIQUE از مقادیر تکراری جلوگیری می‌کند

کلیدواژه UNIQUE همراه با فهرست ستون‌ها در پرانتز مانع ذخیره ترکیب‌های تکراری در ستون‌های مشخص‌شده می‌شود. این Constraintها زیر تعریف ستون‌ها نوشته می‌شوند.

CHECK معتبر بودن مقادیر را تضمین می‌کند

کلیدواژه CHECK همراه با مقایسه‌ای داخل پرانتز مانع ذخیره سطرهایی می‌شود که شرط CHECK را برآورده نمی‌کنند. CHECK نیز زیر تعریف ستون‌ها نوشته می‌شود.

اسکن صفحه 86 فایل PDFتصویر کامل صفحه 86 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 86 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

قیود یکپارچگی - ادامه

کلید اصلی (Primary Key) ستون یا مجموعه ستون‌هایی است که برای هر سطر جدول همیشه یکتا است. کلید خارجی (Foreign Key) ستونی است که مقادیر آن به کلید اصلی جدول دیگری ارجاع می‌دهند.

CREATE TABLE WRITERS
(
    NAME    CHAR(20),
    BDATE   DATE,
    GENDER  CHAR(6) DEFAULT 'Male',
    COUNTRY CHAR(20),
    SALES   NUMERIC(9, 2) DEFAULT 0,
    CHECK (GENDER IN ('Male', 'Female')),
    CHECK (SALES >= 0),
    PRIMARY KEY (NAME),
    FOREIGN KEY (COUNTRY)
        REFERENCES COUNTRIES (COUNTRY)
);

PRIMARY KEY یکتایی سطرها را تضمین می‌کند

PRIMARY KEY به‌همراه فهرست ستون‌ها به پایگاه داده می‌گوید برای ترکیب ستون‌های مشخص‌شده از Null و مقادیر تکراری جلوگیری کند.

FOREIGN KEY به مقادیر کلید اصلی ارجاع می‌دهد

کلید خارجی با FOREIGN KEY، فهرست ستون‌ها، REFERENCES، نام جدول مرجع و کلید اصلی آن جدول تعریف می‌شود. سیستم تضمین می‌کند مقدارهای ستون کلید خارجی در جدول مرجع وجود داشته باشند.

اسکن صفحه 87 فایل PDFتصویر کامل صفحه 87 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 87 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

قیود یکپارچگی - ادامه

نحو بازبینی‌شده CREATE TABLE شامل قیدهای NOT NULL، DEFAULT، UNIQUE، CHECK، PRIMARY KEY و FOREIGN KEY است.

CREATE TABLE table
(
    col type(size) [NOT NULL] [DEFAULT value],
    ...,
    UNIQUE (col list),
    CHECK (comparison),
    PRIMARY KEY (col list),
    FOREIGN KEY (col list)
        REFERENCES table (col list)
);

تمرین‌ها

  1. جدول THEOLOGIANS را با چهار ستون NAME، BDATE، GENDER و COUNTRY ایجاد کنید. ستون‌های متنی 20 نویسه ظرفیت داشته باشند. GENDER نباید Null باشد، مقدار پیش‌فرض آن 'male' باشد و فقط 'male' یا 'female' را بپذیرد؛ NAME کلید اصلی باشد و COUNTRY کلید خارجی‌ای باشد که به COUNTRIES ارجاع می‌دهد. سپس سطرهای مناسب را از PERSONS بارگذاری کنید.
  2. یک سطر با کشور نامعتبر مانند Prussia وارد کنید. سپس سطری با Gender برابر Null وارد کنید؛ Null به‌صورت NULL و بدون کوتیشن نوشته می‌شود.
  3. جدول THEOLOGIANS را Drop کنید.
اسکن صفحه 88 فایل PDFتصویر کامل صفحه 88 منبع برای حفظ جدول‌ها، نمودارها، نمونه‌ها و چیدمان اصلی.
صفحه PDF 88 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکن‌شده

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620