شكرا استاذنا الفاضل على هذا الشرح الرائع -اردت المشاركة بهذه الجزئية وحضرتك استاذنا وقد استفضت فيها شرحا من قبل ولكن على سبيل المشاركة والتذكرة - - - في SQL Server، عند اختيار Collation لدعم اللغة العربية، يُفضَّل اختيار Collation يدعم الأحرف العربية بشكل كامل سواء في الفرز أو المقارنة. الأنسب عادة هو Arabic_CI_AS أو أحد الخيارات المشابهة حسب احتياجاتك. إليك بعض التفاصيل: أفضل الخيارات لدعم اللغة العربية: Arabic_CI_AS CI تعني Case Insensitive (غير حساس لحالة الأحرف). AS تعني Accent Sensitive (حساس للتشكيل). يدعم اللغة العربية بشكل جيد في الفرز والمقارنة، وهو الخيار الأكثر شيوعًا. Arabic_BIN يعتمد على الفرز الثنائي (Binary Collation). هذا الخيار أقل شيوعًا ولكنه سريع جدًا، لأنه يستخدم قيم Unicode مباشرة للفرز. Arabic_CS_AS CS تعني Case Sensitive (حساس لحالة الأحرف). يُستخدم إذا كنت تريد التفريق بين الأحرف الكبيرة والصغيرة في اللغة العربية. متى تختار نوع Collation؟ إذا كنت تحتاج دعمًا أساسيًا للغة العربية مع تجاهل حالة الأحرف والتشكيل، فاستخدم Arabic_CI_AI. إذا كنت بحاجة إلى دعم كامل للتشكيل وحساسية حالة الأحرف، فاستخدم Arabic_CS_AS. للبحث السريع جدًا، أو إذا كنت لا تهتم بالترتيب الدقيق، يمكن استخدام Arabic_BIN. كيفية تعيين Collation: يمكنك تحديد Collation عند إنشاء قاعدة البيانات أو الأعمدة، على سبيل المثال: sql Copy code CREATE DATABASE MyDatabase COLLATE Arabic_CI_AS; أو عند إنشاء عمود معين: sql Copy code CREATE TABLE MyTable ( ID INT PRIMARY KEY, ArabicColumn NVARCHAR(100) COLLATE Arabic_CI_AS ); ملاحظات: تأكد من استخدام نوع البيانات NVARCHAR أو NCHAR لتخزين النصوص العربية، لأن VARCHAR و CHAR لا يدعمان Unicode بشكل كامل. إذا كانت لديك قاعدة بيانات حالية وتحتاج إلى تغيير Collation، يمكنك استخدام الأمر: sql Copy code ALTER DATABASE MyDatabase COLLATE Arabic_CI_AS; اختيار Arabic_CI_AS هو الأفضل لمعظم التطبيقات الداعمة للغة العربية.ولكنه يفضل للاصدارات القديمة من السيكوال سيرفر اماالاصدارات الحديثه فيفضل استخدام Arabic_100_CI_AS Arabic_100_CI_AS: تم تقديمه مع إصدار SQL Server 2008 (الإصدار 100). يعتمد على تقنيات أحدث لفرز النصوص ومقارنتها. يقدم تحسينات في الفرز والتعامل مع النصوص المعقدة مقارنة بـ Arabic_CI_AS. يتضمن دعمًا أفضل لأحرف Unicode الجديدة التي أضيفت بعد الإصدار الأصلي.
🎉شكرا استاذنا الفاضل على هذا الشرح السلس 🎉اردت ان انوه لنقطة اساسية اعلم انك سبق وشرحتها باستفاضة لكن حتى لا تسقط من البعض وتحظث معه مشاكل اثناء البرمجة وهى ضبط لغة قاعدة البيانات بحيث تكون داعمة للعربية لانه فى حالة عدم ضبطها من البداية بتحدث مشاكل فى البرمجة وبتك ن هناك صعوبات بعد ذللك فى ضبط الاعدادات🎉سنبدا معك خطوة خطوة🎉وايضا ياربت تفكر فى قواعدSQLite فهى بسيطة ولا تحتاح لسيرفر ومناسبة جدا للمبتدئين🎉انا عن نفسى ساتابع معك بالسيكوال وفى نفس الوقت هشتغل تفس البرنامج نسخة ثانية بالاس كيو لايت🎉
ربنا يبارك فيك ويجازيك ألف خير 💐 على اسهاماتك الدائمة 💐 وسوف أفكر بعد الانتهاء من المشروع الحالي 💐في استخدام أس كيو لايت في مشروع جديد بإذن الله 💐 شكراً لك أخي الكريم 💐
معذرة استاذنا الفاضل انى شاركت ببعض الشروحات فى التعليقات لانى اعلم ان هذا البرنامج للمبتدئين ولكن من باب اثراء التفاعل وخلق افكار جديده لانه فكرة منى واخرى من غيرى قد تسهم بالوصول لفكره افضل لاننا تعلمنا منك التفكير والفهم وليس النقل والحفظ - حفظكم الله وجزاكم الله خيرا
أخي الكريم 💐 لا أستطيع أن أغرق المتعلم في تفاصيل كثيرة 💐 لإنه في هذه الحالة لن تتم عملية التعلم 💐 أنا أفتح له باب للتعلم والتفكير وكل منهم حسب قدراته واجتهاده ينطلق لتحقيق ما يريده 💐 شكراً لك أخي الكريم 💐💚
السلام عليكم استاذنا الفاضل لى ملاحظة على الجدول بدلا من جعل عمود لولى الامر اجعلة عمود كود ولى الامر ياخذ بياناته من جدول اولياء الامور لاستفيد من الربط بين الجداول كما علمتنا من قبل وهذا تصور استرشادى لقاعدة بيانات اردت ان اشارك به -- إنشاء قاعدة البيانات CREATE DATABASE KindergartenDB; GO -- استخدام قاعدة البيانات USE KindergartenDB; GO -- جدول أولياء الأمور CREATE TABLE Parents ( ParentID INT PRIMARY KEY IDENTITY(1,1), FullName NVARCHAR(100) NOT NULL, PhoneNumber NVARCHAR(15) NOT NULL, Email NVARCHAR(100), Address NVARCHAR(255) ); GO -- جدول الأطفال CREATE TABLE Children ( ChildID INT PRIMARY KEY IDENTITY(1,1), FirstName NVARCHAR(50) NOT NULL, LastName NVARCHAR(50) NOT NULL, Gender NVARCHAR(10) NOT NULL, DateOfBirth DATE NOT NULL, ParentID INT NOT NULL, ClassID INT, FOREIGN KEY (ParentID) REFERENCES Parents(ParentID), FOREIGN KEY (ClassID) REFERENCES Classes(ClassID) ); GO -- جدول الفصول CREATE TABLE Classes ( ClassID INT PRIMARY KEY IDENTITY(1,1), ClassName NVARCHAR(50) NOT NULL, TeacherID INT, Capacity INT NOT NULL, FOREIGN KEY (TeacherID) REFERENCES Teachers(TeacherID) ); GO -- جدول المعلمين CREATE TABLE Teachers ( TeacherID INT PRIMARY KEY IDENTITY(1,1), FullName NVARCHAR(100) NOT NULL, PhoneNumber NVARCHAR(15), Specialization NVARCHAR(100) ); GO -- جدول الحضور CREATE TABLE Attendance ( AttendanceID INT PRIMARY KEY IDENTITY(1,1), ChildID INT NOT NULL, Date DATE NOT NULL, Status NVARCHAR(20) NOT NULL, -- حاضر/غائب FOREIGN KEY (ChildID) REFERENCES Children(ChildID) ); GO -- جدول الرسوم الدراسية CREATE TABLE Fees ( FeeID INT PRIMARY KEY IDENTITY(1,1), ChildID INT NOT NULL, Amount DECIMAL(10,2) NOT NULL, PaymentDate DATE NOT NULL, Status NVARCHAR(20) NOT NULL, -- مدفوع/غير مدفوع FOREIGN KEY (ChildID) REFERENCES Children(ChildID) ); GO -- جدول الأنشطة CREATE TABLE Activities ( ActivityID INT PRIMARY KEY IDENTITY(1,1), ActivityName NVARCHAR(100) NOT NULL, Description NVARCHAR(255), Date DATE NOT NULL ); GO -- جدول مشاركات الأنشطة CREATE TABLE ActivityParticipation ( ParticipationID INT PRIMARY KEY IDENTITY(1,1), ChildID INT NOT NULL, ActivityID INT NOT NULL, FOREIGN KEY (ChildID) REFERENCES Children(ChildID), FOREIGN KEY (ActivityID) REFERENCES Activities(ActivityID) ); GO ------------------ الوصف 1. جدول الأطفال (Children) الوصف: يحتوي على بيانات الأطفال المسجلين. الأعمدة: ChildID (Primary Key) FirstName (NVARCHAR) LastName (NVARCHAR) Gender (NVARCHAR) - (ذكر/أنثى) DateOfBirth (DATE) ParentID (Foreign Key مرتبط بجدول أولياء الأمور) ClassID (Foreign Key مرتبط بجدول الفصول) 2. جدول أولياء الأمور (Parents) الوصف: يحتوي على بيانات أولياء الأمور. الأعمدة: ParentID (Primary Key) FullName (NVARCHAR) PhoneNumber (NVARCHAR) Email (NVARCHAR) Address (NVARCHAR) 3. جدول الفصول (Classes) الوصف: يحتوي على معلومات الفصول. الأعمدة: ClassID (Primary Key) ClassName (NVARCHAR) TeacherID (Foreign Key مرتبط بجدول المعلمين) Capacity (INT) - السعة القصوى للفصل 4. جدول المعلمين (Teachers) الوصف: يحتوي على بيانات المعلمين. الأعمدة: TeacherID (Primary Key) FullName (NVARCHAR) PhoneNumber (NVARCHAR) Specialization (NVARCHAR) 5. جدول الحضور (Attendance) الوصف: يحتفظ بسجلات الحضور اليومية للأطفال. الأعمدة: AttendanceID (Primary Key) ChildID (Foreign Key مرتبط بجدول الأطفال) Date (DATE) Status (NVARCHAR) - (حاضر/غائب) 6. جدول الرسوم الدراسية (Fees) الوصف: يحتوي على بيانات الرسوم الدراسية لكل طفل. الأعمدة: FeeID (Primary Key) ChildID (Foreign Key مرتبط بجدول الأطفال) Amount (DECIMAL) PaymentDate (DATE) Status (NVARCHAR) - (مدفوع/غير مدفوع) 7. جدول الأنشطة (Activities) الوصف: يحتوي على الأنشطة التي يشارك فيها الأطفال. الأعمدة: ActivityID (Primary Key) ActivityName (NVARCHAR) Description (NVARCHAR) Date (DATE) 8. جدول مشاركات الأنشطة (ActivityParticipation) الوصف: يربط الأطفال بالأنشطة. الأعمدة: ParticipationID (Primary Key) ChildID (Foreign Key مرتبط بجدول الأطفال) ActivityID (Foreign Key مرتبط بجدول الأنشطة) الروابط بين الجداول: الأطفال و أولياء الأمور: العلاقة: واحد إلى متعدد (ParentID في جدول الأطفال يشير إلى ParentID في جدول أولياء الأمور). الأطفال و الفصول: العلاقة: واحد إلى متعدد (ClassID في جدول الأطفال يشير إلى ClassID في جدول الفصول). الفصول و المعلمين: العلاقة: واحد إلى واحد (TeacherID في جدول الفصول يشير إلى TeacherID في جدول المعلمين). الحضور و الأطفال: العلاقة: واحد إلى متعدد (ChildID في جدول الحضور يشير إلى ChildID في جدول الأطفال). الرسوم و الأطفال: العلاقة: واحد إلى متعدد (ChildID في جدول الرسوم يشير إلى ChildID في جدول الأطفال). الأنشطة و الأطفال: العلاقة: متعدد إلى متعدد (من خلال جدول ActivityParticipation الذي يربط ChildID بـ ActivityID).
أخي الكريم 💐 ولي الأمر مرتبط بطفل واحد فقط فهو لا يتم تكرارة في الجداول المختلفة ولا يتم استخدامة في الاستعلامات 💐 لذلك لا داعي لعمل جدول خاص به💐 شكراً لك أخي الكريم 💐
بارک الله فیک و یوفقک ان شاءالله
تم الانتهاء من تطبيق الدرس الأول بنجاح ❤ بفضل الله ثم بفضل أستاذنا الفاضل ❤ جزاكم الله خيراً ❤❤❤
الله ينور عليك 💐💚 وربنا يوفقك يارب العالمين 💐💚💚
مشكور جدا
هذا أول درس لي في الفيزوال بازيك
إلى حد الآن مفهوم
😊
بإذن الله لن يكون الأخير أخي الكريم 💐
بداية سلسة سهلة متميزة ❤ جزاكم الله خيراً ❤❤❤
ربنا يبارك فيك 💐💚💚💚
بارك الله فيكم،
شكراً لك أخي الكريم 💐
بارك الله في علمك وعملك وعمرك
شكراً لك أخي الكريم 💐💚
بارك الله فيك يا استاذ نا شرح ممتاز
شكراً لك أخي الكريم 💐
صباح الخير استاذنا انا بعيد الفيدو اكثر من مرة
وحشتنا والله يا استاذنا ايوه كده تمام
ربنا يبارك فيك 💐
مشكور جداً وبارك الله فيك وجزاك الله خيراً أستاذي الفاضل ... ❤❤
شكراً لك أخي الكريم 💐💚💚
@wagdyshaaban
ممكن من فضلك أستاذ وجدي تبعتلي رابط فيديو الخاص بموضوع Collection لو تكرمت ابعتلي الرابط هنا أستاذ وجدي ؟
أخي الكريم 💐 تم وضع الرابط اسفل الفيديو السابق في الوصف 💐
@@wagdyshaaban
تمام ،، بارك الله فيك أستاذ وجدي
شكرا استاذنا الفاضل على هذا الشرح الرائع -اردت المشاركة بهذه الجزئية وحضرتك استاذنا وقد استفضت فيها شرحا من قبل ولكن على سبيل المشاركة والتذكرة - - - في SQL Server، عند اختيار Collation لدعم اللغة العربية، يُفضَّل اختيار Collation يدعم الأحرف العربية بشكل كامل سواء في الفرز أو المقارنة. الأنسب عادة هو Arabic_CI_AS أو أحد الخيارات المشابهة حسب احتياجاتك. إليك بعض التفاصيل:
أفضل الخيارات لدعم اللغة العربية:
Arabic_CI_AS
CI تعني Case Insensitive (غير حساس لحالة الأحرف).
AS تعني Accent Sensitive (حساس للتشكيل).
يدعم اللغة العربية بشكل جيد في الفرز والمقارنة، وهو الخيار الأكثر شيوعًا.
Arabic_BIN
يعتمد على الفرز الثنائي (Binary Collation).
هذا الخيار أقل شيوعًا ولكنه سريع جدًا، لأنه يستخدم قيم Unicode مباشرة للفرز.
Arabic_CS_AS
CS تعني Case Sensitive (حساس لحالة الأحرف).
يُستخدم إذا كنت تريد التفريق بين الأحرف الكبيرة والصغيرة في اللغة العربية.
متى تختار نوع Collation؟
إذا كنت تحتاج دعمًا أساسيًا للغة العربية مع تجاهل حالة الأحرف والتشكيل، فاستخدم Arabic_CI_AI.
إذا كنت بحاجة إلى دعم كامل للتشكيل وحساسية حالة الأحرف، فاستخدم Arabic_CS_AS.
للبحث السريع جدًا، أو إذا كنت لا تهتم بالترتيب الدقيق، يمكن استخدام Arabic_BIN.
كيفية تعيين Collation:
يمكنك تحديد Collation عند إنشاء قاعدة البيانات أو الأعمدة، على سبيل المثال:
sql
Copy code
CREATE DATABASE MyDatabase
COLLATE Arabic_CI_AS;
أو عند إنشاء عمود معين:
sql
Copy code
CREATE TABLE MyTable (
ID INT PRIMARY KEY,
ArabicColumn NVARCHAR(100) COLLATE Arabic_CI_AS
);
ملاحظات:
تأكد من استخدام نوع البيانات NVARCHAR أو NCHAR لتخزين النصوص العربية، لأن VARCHAR و CHAR لا يدعمان Unicode بشكل كامل.
إذا كانت لديك قاعدة بيانات حالية وتحتاج إلى تغيير Collation، يمكنك استخدام الأمر:
sql
Copy code
ALTER DATABASE MyDatabase COLLATE Arabic_CI_AS;
اختيار Arabic_CI_AS هو الأفضل لمعظم التطبيقات الداعمة للغة العربية.ولكنه يفضل للاصدارات القديمة من السيكوال سيرفر اماالاصدارات الحديثه فيفضل استخدام Arabic_100_CI_AS
Arabic_100_CI_AS:
تم تقديمه مع إصدار SQL Server 2008 (الإصدار 100).
يعتمد على تقنيات أحدث لفرز النصوص ومقارنتها.
يقدم تحسينات في الفرز والتعامل مع النصوص المعقدة مقارنة بـ Arabic_CI_AS.
يتضمن دعمًا أفضل لأحرف Unicode الجديدة التي أضيفت بعد الإصدار الأصلي.
استاذنا ممكن اقتراح ( ذكر - انثى ) ممكن نخليها تشك بوكس ؟
🎉شكرا استاذنا الفاضل على هذا الشرح السلس 🎉اردت ان انوه لنقطة اساسية اعلم انك سبق وشرحتها باستفاضة لكن حتى لا تسقط من البعض وتحظث معه مشاكل اثناء البرمجة وهى ضبط لغة قاعدة البيانات بحيث تكون داعمة للعربية لانه فى حالة عدم ضبطها من البداية بتحدث مشاكل فى البرمجة وبتك ن هناك صعوبات بعد ذللك فى ضبط الاعدادات🎉سنبدا معك خطوة خطوة🎉وايضا ياربت تفكر فى قواعدSQLite فهى بسيطة ولا تحتاح لسيرفر ومناسبة جدا للمبتدئين🎉انا عن نفسى ساتابع معك بالسيكوال وفى نفس الوقت هشتغل تفس البرنامج نسخة ثانية بالاس كيو لايت🎉
ربنا يبارك فيك ويجازيك ألف خير 💐 على اسهاماتك الدائمة 💐 وسوف أفكر بعد الانتهاء من المشروع الحالي 💐في استخدام أس كيو لايت في مشروع جديد بإذن الله 💐 شكراً لك أخي الكريم 💐
ممكن حضرتك نضيف الصورة؟
معذرة استاذنا الفاضل انى شاركت ببعض الشروحات فى التعليقات لانى اعلم ان هذا البرنامج للمبتدئين ولكن من باب اثراء التفاعل وخلق افكار جديده لانه فكرة منى واخرى من غيرى قد تسهم بالوصول لفكره افضل لاننا تعلمنا منك التفكير والفهم وليس النقل والحفظ - حفظكم الله وجزاكم الله خيرا
أخي الكريم 💐 لا أستطيع أن أغرق المتعلم في تفاصيل كثيرة 💐 لإنه في هذه الحالة لن تتم عملية التعلم 💐 أنا أفتح له باب للتعلم والتفكير وكل منهم حسب قدراته واجتهاده ينطلق لتحقيق ما يريده 💐 شكراً لك أخي الكريم 💐💚
يا ريت يا استاذنا لو تسرح قاعده بيانات اكسس انا اسف على هذا التعليق وشكرا
أخي الكريم 💐 تم شرح قاعدة بيانات اكسس من قبل 💐 يمكنك مشاهدتها من خلال القناة 💐
اقصد صورة للطفل علشان وقت البحث عن طفل تظهر كل بياناته
صباح الخير 💐 سوف أضيف صورة الطفل 💐 بإذن الله 💐
السلام عليكم استاذنا الفاضل لى ملاحظة على الجدول بدلا من جعل عمود لولى الامر اجعلة عمود كود ولى الامر ياخذ بياناته من جدول اولياء الامور لاستفيد من الربط بين الجداول كما علمتنا من قبل وهذا تصور استرشادى لقاعدة بيانات اردت ان اشارك به
-- إنشاء قاعدة البيانات
CREATE DATABASE KindergartenDB;
GO
-- استخدام قاعدة البيانات
USE KindergartenDB;
GO
-- جدول أولياء الأمور
CREATE TABLE Parents (
ParentID INT PRIMARY KEY IDENTITY(1,1),
FullName NVARCHAR(100) NOT NULL,
PhoneNumber NVARCHAR(15) NOT NULL,
Email NVARCHAR(100),
Address NVARCHAR(255)
);
GO
-- جدول الأطفال
CREATE TABLE Children (
ChildID INT PRIMARY KEY IDENTITY(1,1),
FirstName NVARCHAR(50) NOT NULL,
LastName NVARCHAR(50) NOT NULL,
Gender NVARCHAR(10) NOT NULL,
DateOfBirth DATE NOT NULL,
ParentID INT NOT NULL,
ClassID INT,
FOREIGN KEY (ParentID) REFERENCES Parents(ParentID),
FOREIGN KEY (ClassID) REFERENCES Classes(ClassID)
);
GO
-- جدول الفصول
CREATE TABLE Classes (
ClassID INT PRIMARY KEY IDENTITY(1,1),
ClassName NVARCHAR(50) NOT NULL,
TeacherID INT,
Capacity INT NOT NULL,
FOREIGN KEY (TeacherID) REFERENCES Teachers(TeacherID)
);
GO
-- جدول المعلمين
CREATE TABLE Teachers (
TeacherID INT PRIMARY KEY IDENTITY(1,1),
FullName NVARCHAR(100) NOT NULL,
PhoneNumber NVARCHAR(15),
Specialization NVARCHAR(100)
);
GO
-- جدول الحضور
CREATE TABLE Attendance (
AttendanceID INT PRIMARY KEY IDENTITY(1,1),
ChildID INT NOT NULL,
Date DATE NOT NULL,
Status NVARCHAR(20) NOT NULL, -- حاضر/غائب
FOREIGN KEY (ChildID) REFERENCES Children(ChildID)
);
GO
-- جدول الرسوم الدراسية
CREATE TABLE Fees (
FeeID INT PRIMARY KEY IDENTITY(1,1),
ChildID INT NOT NULL,
Amount DECIMAL(10,2) NOT NULL,
PaymentDate DATE NOT NULL,
Status NVARCHAR(20) NOT NULL, -- مدفوع/غير مدفوع
FOREIGN KEY (ChildID) REFERENCES Children(ChildID)
);
GO
-- جدول الأنشطة
CREATE TABLE Activities (
ActivityID INT PRIMARY KEY IDENTITY(1,1),
ActivityName NVARCHAR(100) NOT NULL,
Description NVARCHAR(255),
Date DATE NOT NULL
);
GO
-- جدول مشاركات الأنشطة
CREATE TABLE ActivityParticipation (
ParticipationID INT PRIMARY KEY IDENTITY(1,1),
ChildID INT NOT NULL,
ActivityID INT NOT NULL,
FOREIGN KEY (ChildID) REFERENCES Children(ChildID),
FOREIGN KEY (ActivityID) REFERENCES Activities(ActivityID)
);
GO
------------------
الوصف
1. جدول الأطفال (Children)
الوصف: يحتوي على بيانات الأطفال المسجلين.
الأعمدة:
ChildID (Primary Key)
FirstName (NVARCHAR)
LastName (NVARCHAR)
Gender (NVARCHAR) - (ذكر/أنثى)
DateOfBirth (DATE)
ParentID (Foreign Key مرتبط بجدول أولياء الأمور)
ClassID (Foreign Key مرتبط بجدول الفصول)
2. جدول أولياء الأمور (Parents)
الوصف: يحتوي على بيانات أولياء الأمور.
الأعمدة:
ParentID (Primary Key)
FullName (NVARCHAR)
PhoneNumber (NVARCHAR)
Email (NVARCHAR)
Address (NVARCHAR)
3. جدول الفصول (Classes)
الوصف: يحتوي على معلومات الفصول.
الأعمدة:
ClassID (Primary Key)
ClassName (NVARCHAR)
TeacherID (Foreign Key مرتبط بجدول المعلمين)
Capacity (INT) - السعة القصوى للفصل
4. جدول المعلمين (Teachers)
الوصف: يحتوي على بيانات المعلمين.
الأعمدة:
TeacherID (Primary Key)
FullName (NVARCHAR)
PhoneNumber (NVARCHAR)
Specialization (NVARCHAR)
5. جدول الحضور (Attendance)
الوصف: يحتفظ بسجلات الحضور اليومية للأطفال.
الأعمدة:
AttendanceID (Primary Key)
ChildID (Foreign Key مرتبط بجدول الأطفال)
Date (DATE)
Status (NVARCHAR) - (حاضر/غائب)
6. جدول الرسوم الدراسية (Fees)
الوصف: يحتوي على بيانات الرسوم الدراسية لكل طفل.
الأعمدة:
FeeID (Primary Key)
ChildID (Foreign Key مرتبط بجدول الأطفال)
Amount (DECIMAL)
PaymentDate (DATE)
Status (NVARCHAR) - (مدفوع/غير مدفوع)
7. جدول الأنشطة (Activities)
الوصف: يحتوي على الأنشطة التي يشارك فيها الأطفال.
الأعمدة:
ActivityID (Primary Key)
ActivityName (NVARCHAR)
Description (NVARCHAR)
Date (DATE)
8. جدول مشاركات الأنشطة (ActivityParticipation)
الوصف: يربط الأطفال بالأنشطة.
الأعمدة:
ParticipationID (Primary Key)
ChildID (Foreign Key مرتبط بجدول الأطفال)
ActivityID (Foreign Key مرتبط بجدول الأنشطة)
الروابط بين الجداول:
الأطفال و أولياء الأمور:
العلاقة: واحد إلى متعدد (ParentID في جدول الأطفال يشير إلى ParentID في جدول أولياء الأمور).
الأطفال و الفصول:
العلاقة: واحد إلى متعدد (ClassID في جدول الأطفال يشير إلى ClassID في جدول الفصول).
الفصول و المعلمين:
العلاقة: واحد إلى واحد (TeacherID في جدول الفصول يشير إلى TeacherID في جدول المعلمين).
الحضور و الأطفال:
العلاقة: واحد إلى متعدد (ChildID في جدول الحضور يشير إلى ChildID في جدول الأطفال).
الرسوم و الأطفال:
العلاقة: واحد إلى متعدد (ChildID في جدول الرسوم يشير إلى ChildID في جدول الأطفال).
الأنشطة و الأطفال:
العلاقة: متعدد إلى متعدد (من خلال جدول ActivityParticipation الذي يربط ChildID بـ ActivityID).
أخي الكريم 💐 ولي الأمر مرتبط بطفل واحد فقط فهو لا يتم تكرارة في الجداول المختلفة ولا يتم استخدامة في الاستعلامات 💐 لذلك لا داعي لعمل جدول خاص به💐 شكراً لك أخي الكريم 💐