"Consider the LIBRARY relational database schema:
-
Write the LIBRARY relational database schema as a table (relation), rows, columns, set the primary key for each table, foreign key. (1 point)
-
Write the code of SQL language. Show that (5 points): A- Create all the tables of the library. B- Show how to insert/update/delete.
-
Choose the appropriate action (reject, cascade, set to NULL, set to default) for each referential integrity constraint, both for the deletion of a referenced tuple and for the update of a primary key attribute value in a referenced tuple. Justify your choices. (4 points)"**
الإجابة:
الجزء الأول:
كتابة مخطط قاعدة بيانات LIBRARY:
ننشئ جدولين على الأقل: جدول الكتب وجدول المستخدمين (أو أعضاء المكتبة).
جدول الكتب (Books Table):
الأعمدة:
BookID
(المفتاح الأساسي)،
Title
،
Author
,
YearPublished
.
-
جدول الأعضاء (Members Table):
-
الأعمدة:
MemberID
(المفتاح الأساسي)، Name
، MembershipDate
.
-
يمكن أيضًا إنشاء جداول إضافية مثل جدول الاقتراض (Borrowing Table) الذي يربط بين الأعضاء والكتب:
-
الأعمدة:
BorrowingID
(المفتاح الأساسي)، BookID
(مفتاح خارجي من جدول الكتب)، MemberID
(مفتاح خارجي من جدول الأعضاء)، BorrowDate
، ReturnDate
.
الجزء الثاني:
-
كتابة كود SQL: A. لإنشاء الجداول:
BookID INT PRIMARY KEY,
Title VARCHAR(255),
Author VARCHAR(255),
YearPublished INT
);
CREATE TABLE Members (
MemberID INT PRIMARY KEY,
Name VARCHAR(255),
MembershipDate DATE
);
CREATE TABLE Borrowing (
BorrowingID INT PRIMARY KEY,
BookID INT,
MemberID INT,
BorrowDate DATE,
ReturnDate DATE,
FOREIGN KEY (BookID) REFERENCES Books(BookID),
FOREIGN KEY (MemberID) REFERENCES Members(MemberID)
);
B. لإدخال البيانات، تحديثها، وحذفها:
INSERT INTO Books (BookID, Title, Author, YearPublished)
VALUES (1, 'Database Systems', 'Elmasri', 2016);
INSERT INTO Members (MemberID, Name, MembershipDate)
VALUES (1, 'John Doe', '2020-01-01');
تحديث بيانات:
SET Title = 'Advanced Database Systems'
WHERE BookID = 1;
حذف بيانات:
DELETE FROM Members
WHERE MemberID = 1;
الجزء الثالث:
-
اختيار الإجراءات المناسبة للقيود المرجعية:
التبرير:
-
استخدام
CASCADE
هو الأكثر ملاءمة في كثير من الأحيان لأنه يضمن أن الجداول المرجعية تتبع العمليات التي تتم على الجداول الأساسية، مما يحافظ على الاتساق في قاعدة البيانات.
هل تعلم؟ نحن في منصة اسأل المنهاج نجيب على اسئلة الطلاب من جميع الدول العربية، كل ما عليك فعله هو طرح سؤالك من خلال الزر في الأعلى ويمكنك العودة الينا مرة اخرى من خلال البحث في جوجل عن "اسأل المنهاج"، لا تقم بنقل المحتوى دون ذكر المصدر جميع الحقوق محفوظة لمنصة اسال المنهاج