تفاعل جميل ما شاء الله ان شاء الله في العام الجديد سوف نبداء في شرح مشاريع كبيره قواعد بيانات حقيقة
❤3👍3
سوف نشرح انشاء قاعده بيانات لمكتبه الكترونيه مبسطة
العناصر الأساسية التي تحتاجها في انشاء قاعدة بيانات المكتبة:
الكتب: العنوان، المؤلف، سنة النشر، رقم الكتاب.
المؤلفين: الاسم، تاريخ الميلاد.
المستعيرين: الاسم، تاريخ الميلاد، رقم الهاتف
العناصر الأساسية التي تحتاجها في انشاء قاعدة بيانات المكتبة:
الكتب: العنوان، المؤلف، سنة النشر، رقم الكتاب.
المؤلفين: الاسم، تاريخ الميلاد.
المستعيرين: الاسم، تاريخ الميلاد، رقم الهاتف
❤3👍2🔥2
ثانياً إنشاء الجداول
1-الكتب CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author_id INT,
year_published INT,
FOREIGN KEY (author_id) REFERENCES authors(id)
);
2-المؤلفين
CREATE TABLE authors (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
birth_date DATE
);
3-المستعيرين
CREATE TABLE borrowers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
phone_number VARCHAR(15)
);
1-الكتب CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author_id INT,
year_published INT,
FOREIGN KEY (author_id) REFERENCES authors(id)
);
2-المؤلفين
CREATE TABLE authors (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
birth_date DATE
);
3-المستعيرين
CREATE TABLE borrowers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
phone_number VARCHAR(15)
);
❤2👍2
ادخل بيانات تجريبيه
INSERT INTO authors (name, birth_date) VALUES ('نايف الجراحي ', '1999-04-10');
INSERT INTO books (title, author_id, year_published) VALUES ('الأسطورة', 1, 2000);
INSERT INTO authors (name, birth_date) VALUES ('نايف الجراحي ', '1999-04-10');
INSERT INTO books (title, author_id, year_published) VALUES ('الأسطورة', 1, 2000);
كيفية استرجاع البيانات باستخدام استعلامات بسيطة
استرجاع الكتب
SELECT * FROM books;
استرجاع المولفين
SELECT * FROM authors;
استرجاع المستعيرين
SELECT * FROM borrowers
استرجاع الكتب
SELECT * FROM books;
استرجاع المولفين
SELECT * FROM authors;
استرجاع المستعيرين
SELECT * FROM borrowers
استرجاع الكتب مع أسماء مؤلفيها عن طريق الربط JOIN
SELECT books.title, authors.name
FROM books
JOIN authors ON books.author_id = authors.id;
SELECT books.title, authors.name
FROM books
JOIN authors ON books.author_id = authors.id;
يسترجع هذا الاستعلام جميع الكتب التي نُشرت بعد عام 2011
SELECT * FROM books WHERE year_published > 2011
SELECT * FROM books WHERE year_published > 2011
الذي لديه اسئلة مشابه من هذه الجداول ممكن يضيفها في التعليق او يرسلها لي وسوف نشرحها مع بعض
كيف يمكننا استرجاع جميع الكتب من قاعدة البيانات؟
Anonymous Quiz
15%
A) SELECT ALL FROM books;
75%
B) SELECT * FROM books;
7%
C) GET ALL FROM books;
3%
D) SHOW books;
أي من الجداول التالية يحتوي على معلومات عن المؤلفين؟
Anonymous Quiz
15%
A) books
65%
B) authors
9%
C) borrowers
12%
D) publishers
في جدول "الكتب" ما هو نوع البيانات المستخدم لعمود "year_published" ؟
Anonymous Quiz
22%
A) VARCHAR
26%
B) INT
5%
C) FLOAT
48%
D) DATE
في قاعدة البيانات ما هو الغرض من استخدام المفتاح الخارجي (Foreign Key) ؟
Anonymous Quiz
10%
A) لزيادة سرعة الاستعلامات
81%
B) لربط الجداول معًا ء
4%
B) لتقليل حجم البيانات
5%
C) لتخزين البيانات بشكل مؤقت
شرح الواجب
1-قوم بعمل استعلام يعيد عدد الكتب لكل مؤلف
الحل بطريقتين
1-نعرض رقم المؤلف وعدد الكتب
SELECT author, COUNT(*) AS book_count
FROM books
GROUP BY author;
2-نعرض اسم المؤلف وعدد الكتب
SELECT a.name AS author_name, COUNT(b.id) AS book_count
FROM authors a
LEFT JOIN books b ON a.id = b.author_id
GROUP BY a.id, a.name;
1-قوم بعمل استعلام يعيد عدد الكتب لكل مؤلف
الحل بطريقتين
1-نعرض رقم المؤلف وعدد الكتب
SELECT author, COUNT(*) AS book_count
FROM books
GROUP BY author;
2-نعرض اسم المؤلف وعدد الكتب
SELECT a.name AS author_name, COUNT(b.id) AS book_count
FROM authors a
LEFT JOIN books b ON a.id = b.author_id
GROUP BY a.id, a.name;
تعلم قواعد بيانات SQL Database
استرجع أسماء المؤلفين الذين لم يكتبوا أي كتب.
2-استرجع أسماء المؤلفين الذين لم يكتبوا أي كتب.
SELECT a.name AS author_name
FROM authors a
LEFT JOIN books b ON a.id = b.author_id
WHERE b.id IS NULL;
الاستعلام بطريق اخرى لارجاع أسماء المؤلفين الذين لم يكتبوا أي كتب.
SELECT name AS author_name
FROM authors
WHERE id NOT IN (SELECT author_id FROM books);
SELECT a.name AS author_name
FROM authors a
LEFT JOIN books b ON a.id = b.author_id
WHERE b.id IS NULL;
الاستعلام بطريق اخرى لارجاع أسماء المؤلفين الذين لم يكتبوا أي كتب.
SELECT name AS author_name
FROM authors
WHERE id NOT IN (SELECT author_id FROM books);
👍3
تعلم قواعد بيانات SQL Database
استرجاع الكتب التي كتبها مؤلف معين
استرجاع الكتب التي كتبها مؤلف معين
SELECT b.title, b.year_published
FROM books b
JOIN authors a ON b.author_id = a.id
WHERE a.name = 'نايف الجراحي';
وتستطيع ان ترجع عن طريق البحث بجز من الاسم
SELECT b.title, b.year_published
FROM books b
JOIN authors a ON b.author_id = a.id
WHERE a.name like N'%نايف% '
SELECT b.title, b.year_published
FROM books b
JOIN authors a ON b.author_id = a.id
WHERE a.name = 'نايف الجراحي';
وتستطيع ان ترجع عن طريق البحث بجز من الاسم
SELECT b.title, b.year_published
FROM books b
JOIN authors a ON b.author_id = a.id
WHERE a.name like N'%نايف% '
👍1🥰1
سلام الله عليكم يا غاليين ان شاء الله قاعدين نحلل خطه للشرح وتنظيم القناه بس منتظر تفاعلكم و اقتراحات على اسلوب الشرح والوقت
👍10