در یک پایگاهداده SQL دو جدول به نامهای departments و employees بسازید بهطوریکه جدول employees ستون department_id را بهعنوان FOREIGN KEY به ستون id جدول departments ارجاع دهد و هنگام حذف یک رکورد در departments رفتار ON DELETE CASCADE تنظیم شود.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:56 0.0
برای حل این تمرین از دستورات استاندارد SQL مانند CREATE TABLE استفاده کنید: ابتدا جدول والد (departments) را با ستون id بهعنوان PRIMARY KEY ایجاد کنید، سپس جدول فرزند (employees) را با ستون department_id و تعریف FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE CASCADE بسازید. اگر نیاز شد میتوانید از ALTER TABLE برای افزودن کلید خارجی بعد از ساخت جدولها استفاده کنید. نکات عملی: ابتدا جدول والد را ایجاد و سپس دادههای تستی را وارد کنید تا ارجاعدهی درست کار کند؛ در MySQL، PostgreSQL و SQLite سینتکس مشابه است اما ممکن است تنظیمات مربوط به بررسی کلیدهای خارجی فرق کند، پس در صورت خطا ترتیب ایجاد جداول و نوع دادهها را بررسی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی کلید خارجی با گزینه ON DELETE CASCADE، جداول را به صورت والد (departments) اول و فرزند (employees) دوم ایجاد کنید. در MySQL به InnoDB نیاز دارید و مطمئن شوید ستونهای id و department_id از یک نوع داده باشند تا ارجاع معتبر باشد. برای تست، دادههای نمونه وارد کنید و سپس رکوردهای مربوط به یک department را حذف کنید تا cascade عملیات حذف شوند. اگر از ALTER TABLE استفاده میکنید، اطمینان داشته باشید که دادههای موجود با مقدار ارجاعی مطابقت دارند و همچنین گزینه foreign_key_checks در حالت مناسب باشد.
گزارش