کد شما باید روی MySQL قابل اجرا باشد.
پایگاه دادهای با Schema زیر در اختیار شما قرار گرفته است:
CREATE TABLE Person(
id VARCHAR(50) PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE Coach(
id VARCHAR(50) PRIMARY KEY,
team VARCHAR(50) ,
FOREIGN KEY (id) REFERENCES Person(id)
);
CREATE TABLE Player(
id VARCHAR(50) PRIMARY KEY,
team VARCHAR(50) ,
age INT ,
FOREIGN KEY (id) REFERENCES Person(id)
);
CREATE TABLE Refree(
id VARCHAR(50) PRIMARY KEY,
fifa_grade VARCHAR(50) ,
FOREIGN KEY (id) REFERENCES Person(id)
);
CREATE TABLE Team(
name varchar(30) PRIMARY KEY
);
توجه کنید:
- هر شخص میتواند داور،بازیکن و مربی باشد.
- هر مربی میتواند بازیکن باشد یا بالعکس اما هیچ داوری مربی یا بازیکن نیست.
مطلوبات
کوئریهای sql خواستهشده از شما موارد زیر است: (توجه کنید که هر کوئری نمرهای جداگانه دارد و اگر کوئری یک قسمت را نتوانستید بزنید، کوئریهایی که حل کردید را بفرستید و قسمت آن کوئری را خالی بگذارید.)
- در جدول
Person
افرادی وجود دارند که در هیچکدام از جداولRefree
,Player
,Coach
وجود ندارند، اینگونه افراد را به جدولPlayer
اضافه کنید و تیم همه آنها راChelsea
و سن همه آنها را24
در نظر بگیرید. id
وname
تمام مربیانی که بازیکن نیز هستند اما تیمی که مربیگری میکنند با تیمی که درآن بازی میکنند متفاوت است.- در تعریف بالا، ستون
Team
از جدولPlayer
به جدولTeam
کلید خارجی ندارد، از شما میخواهیم کوئری بزنید که این کلید خارجی را ایجاد کند به گونه ای که پس از حذف تیمی از جدولTeam
تمام بازیکنانی که در آن تیم بازی میکردند نیز از جدول Player
حذف شوند. (راهنمایی: میتوانید ازALTER TABLE
استفاده کنید)
روش پیادهسازی
در یک فایل با نام code.sql
کد خود را قرار دهید و آن را فشرده (zip
) کنید و در سایت بارگذاری نمایید.
کد شما باید به صورت زیر باشد(نام فایل zip مهم نیست).
-- Section1
your first query here
-- Section2
your second query here
-- Section3
your third query here
ارسال پاسخ برای این سؤال