DataBase قواعد بيانات – Telegram
DataBase قواعد بيانات
2.42K subscribers
201 photos
9 videos
42 files
82 links
قواعد بيانات تمارين و امثله ..
Download Telegram
نبدء اختبار جديد مع الذكاء الاصطناعي
لقد قمت بمراجعة الجداول التي أرسلتها، وهنا بعض الملاحظات:

1. الأمان: استخدام نوع البيانات image لـ passwordHash و passwordSalt ليس مثاليًا. يُفضل استخدام نوع بيانات varbinary لتخزين الهاش والملح لأنه أكثر ملاءمة للبيانات الثنائية.

2. التحقق من الصحة: حقل email في جدول PMAuth محدود بـ 20 حرفًا فقط، وهذا قد لا يكون كافيًا لعناوين البريد الإلكتروني الطويلة. قد تحتاج إلى زيادة هذا الحد.

3. التنظيم: استخدام نوع البيانات text للوصف قد يكون مفرطًا وغير مُحسّن. يُفضل استخدام nvarchar(MAX) أو varchar(MAX) إذا كنت تحتاج إلى تخزين نصوص طويلة.

4. التعريفات: يُفضل تحديد العلاقات بين الجداول بشكل واضح، مثل العلاقة بين AMAccount و AMAccountGroup. تأكد من أن العلاقات تعكس الهيكل التنظيمي للبيانات بشكل صحيح.

5. الأداء: لجداول مثل `AMBalance`، قد تحتاج إلى فهرسة على الحقول التي ستستخدم بشكل متكرر في الاستعلامات لتحسين الأداء.

6. التدقيق: قد ترغب في إضافة حقول لتسجيل الأحداث مثل lastUpdatedAt لتتبع التغييرات في السجلات.

يمكنك إضافة المزيد من الكود، وسأقوم بمراجعته أيضًا.
شكرًا لمشاركة بقية الكود. إليك بعض الملاحظات الإضافية:

1. التناسق: تأكد من أن جميع الجداول تستخدم نفس نوع البيانات للحقول المتشابهة، مثل denoscription. إذا قررت استخدام nvarchar(MAX) بدلاً من `text`، فعليك تحديث جميع الجداول لتعكس هذا التغيير.

2. الفهرسة: لجدول AMTransfer`، قد تحتاج إلى فهرسة حقل `createAt إذا كنت تخطط لإجراء استعلامات تاريخية أو ترتيب السجلات بناءً على تاريخ الإنشاء.

3. العلاقات: تأكد من أن العلاقات بين الجداول تعكس بدقة العمليات التجارية والمنطقية لنظامك. على سبيل المثال، العلاقة بين AMTransfer و AMPayment يجب أن تعكس العملية التجارية للتحويلات المالية.

4. التحقق من الصحة: قد ترغب في إضافة قيود على الحقول مثل amount لضمان أن القيم المدخلة تتوافق مع القواعد المالية لتطبيقك.

5. التوثيق: من المهم توثيق الجداول والعلاقات بينها بشكل جيد، بما في ذلك القيود والقواعد المستخدمة. هذا سيساعد في الحفاظ على قابلية الصيانة والتوسع في المستقبل.

إذا كان لديك أي استفسارات أخرى أو تحتاج إلى مزيد من المساعدة، فلا تتردد في طرحها.
هذه كانت اجابته بعد ارسال كود قاعدة البيانات
اختبار

ما هي الجداول الناقصة لكي يكون تطبيقي متكامل ومميز ؟
لجعل تطبيق الدفع الإلكتروني متكاملًا ومميزًا، قد تحتاج إلى النظر في إضافة الجداول التالية:

1. جدول المعاملات (Transactions): لتسجيل كل عملية دفع أو تحويل تتم من خلال التطبيق.

2. جدول الإشعارات (Notifications): لإرسال تنبيهات للمستخدمين بشأن العمليات المهمة أو التغييرات في حالة الحساب.

3. جدول السجلات الأمنية (SecurityLogs): لتتبع محاولات الدخول الناجحة وغير الناجحة وأي تغييرات أمنية أخرى.

4. جدول الإعدادات (Settings): لتخزين إعدادات المستخدم وتفضيلات التطبيق.

5. جدول الرسائل (Messages): إذا كنت تخطط لتضمين ميزة الدردشة أو التواصل بين المستخدمين.

6. جدول الدعم الفني (SupportTickets): لإدارة طلبات الدعم والاستفسارات من المستخدمين.

7. جدول التقارير (Reports): لتوليد تقارير مالية وإحصائيات استخدام التطبيق.

8. جدول الأدوار والصلاحيات (Roles & Permissions): لتحديد مستويات الوصول والصلاحيات للمستخدمين داخل التطبيق.

9. جدول العروض الترويجية (Promotions): لإدارة الخصومات والعروض الترويجية للمستخدمين.

10. جدول التحقق من الهوية (IdentityVerification): لتخزين نتائج عمليات التحقق من هوية المستخدمين.

هذه بعض الأمثلة على الجداول التي قد تكون مفيدة لتطبيقك. من المهم أيضًا التفكير في كيفية تفاعل هذه الجداول مع بعضها البعض وكيفية تأثيرها على تجربة المستخدم النهائية. إذا كان لديك أي استفسارات أخرى أو تحتاج إلى مزيد من المساعدة، فلا تتردد في طرحها.
👍1
هل يمكنك كتابة اكواد انشاء الجداول التي نصحتني بها ؟
DataBase قواعد بيانات
Photo
-- جدول المعاملات
CREATE TABLE Transactions (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
accountId INT NOT NULL,
amount MONEY NOT NULL,
transactionType NVARCHAR(50) NOT NULL,
createAt DATETIME NOT NULL DEFAULT(GETDATE()),
[denoscription] NVARCHAR(MAX) NOT NULL DEFAULT('{}')
);

-- جدول الإشعارات
CREATE TABLE Notifications (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
noscript NVARCHAR(100) NOT NULL,
message NVARCHAR(MAX) NOT NULL,
isRead BIT NOT NULL DEFAULT(0),
createAt DATETIME NOT NULL DEFAULT(GETDATE())
);

-- جدول السجلات الأمنية
CREATE TABLE SecurityLogs (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
action NVARCHAR(100) NOT NULL,
result NVARCHAR(100) NOT NULL,
ipAddress NVARCHAR(20),
createAt DATETIME NOT NULL DEFAULT(GETDATE())
);

-- جدول الإعدادات
CREATE TABLE Settings (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
settingKey NVARCHAR(100) NOT NULL,
settingValue NVARCHAR(MAX) NOT NULL,
updateAt DATETIME NOT NULL DEFAULT(GETDATE())
);

-- جدول الرسائل
CREATE TABLE Messages (
id INT PRIMARY KEY IDENTITY(1,1),
senderId INT NOT NULL,
receiverId INT NOT NULL,
messageText NVARCHAR(MAX) NOT NULL,
isRead BIT NOT NULL DEFAULT(0),
sendAt DATETIME NOT NULL DEFAULT(GETDATE())
);

-- جدول الدعم الفني
CREATE TABLE SupportTickets (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
subject NVARCHAR(100) NOT NULL,
message NVARCHAR(MAX) NOT NULL,
status NVARCHAR(50) NOT NULL,
createAt DATETIME NOT NULL DEFAULT(GETDATE()),
updateAt DATETIME
);

-- جدول التقارير
CREATE TABLE Reports (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
reportType NVARCHAR(100) NOT NULL,
reportData NVARCHAR(MAX) NOT NULL,
createAt DATETIME NOT NULL DEFAULT(GETDATE())
);

-- جدول الأدوار والصلاحيات
CREATE TABLE Roles (
id INT PRIMARY KEY IDENTITY(1,1),
roleName NVARCHAR(100) NOT NULL
);

CREATE TABLE Permissions (
id INT PRIMARY KEY IDENTITY(1,1),
permissionName NVARCHAR(100) NOT NULL
);

CREATE TABLE RolePermissions (
roleId INT NOT NULL,
permissionId INT NOT NULL,
PRIMARY KEY (roleId, permissionId),
FOREIGN KEY (roleId) REFERENCES Roles(id),
FOREIGN KEY (permissionId) REFERENCES Permissions(id)
);

-- جدول العروض الترويجية
CREATE TABLE Promotions (
id INT PRIMARY KEY IDENTITY(1,1),
promotionCode NVARCHAR(50) NOT NULL,
denoscription NVARCHAR(MAX) NOT NULL,
discount DECIMAL(5,2) NOT NULL,
startAt DATETIME NOT NULL,
endAt DATETIME NOT NULL,
[status] TINYINT NOT NULL DEFAULT(1)
);

-- جدول التحقق من الهوية
CREATE TABLE IdentityVerification (
id INT PRIMARY KEY IDENTITY(1,1),
userId INT NOT NULL,
verificationType NVARCHAR(100) NOT NULL,
verificationStatus NVARCHAR(50) NOT NULL,
createAt DATETIME NOT NULL DEFAULT(GETDATE()),
verifiedAt DATETIME
);
5👍3
هل نستمر في متابعة الطلبات ؟؟؟
👍6
هل يمكنك كتابة الاجراءات التي يحتاجها كل جدول نصحتني به ؟
قام بكتابة اكثر من 50 اجراء مخزن ...

لا استطيع مشاركتها معكم فهي تصف كلياً قاعدة بيانات تطبيقي...

موفقين
Screenshot_20240409-053545_Chrome.jpg
438.1 KB
المنهج الجامعي مفيد جدا جدآ جدآ لكنه لا يكفي ف لكي تتقن بناء مثل هذه البرمجيات ... عليك ان تتعلم 10 اضعاف المنهج الجامعي.
4👍1
لدي قاعدة بيانات استخدمت فيها مبدئ
SQL DB
NoSQL
من خلال اضافة حقل يحتوي عدة بيانات وقيم من نوع Json

قمت بتجربة استخدام الذكاء الاصطناعي لتسريع عملية كتابة كود الاجراءات المخزنة لجلب البيانات مع فلتره مفصلة بحسب كل اعمده الجدول مع محتوى القيم من نوع json
2
النتيجة
2
انواع العمليات في لغة SQL.pptx
71.1 KB
لا نهتم بالحفظ

فهم بحتي لا يشوبه اي نسبة من الحفظ
قواعد بيانات عملي.pdf
3.3 MB
كتاب باللغة العربية لشرح اساسيات الجانب العملي في قواعد البيانات

هذا المنهج المستخدم في الجامعة للسنوات الماضية

وذلك لضعف مستوى الطلبة في اللغة الانجليزية

حيث كان سابقاً ( قبل ٤ سنوات ) بالانجليزي لكلا الجانبين النظري والعملي
👍1