🥀اذا فهمت الاختصارات وعرفت كيف تستخدمها تستطيع ان تعمل اغلب الاستعلامات لانها مثل الاساس 🌔
👍3
ممكن تقترحون مشروع بسيط نحلله مع بعض ونطبق عليه خطوه بخطوه
👍2
شاركو رابط القناه بحيث يستفيد الكثير في المشاريع التي سوف نصممها
https://t.me/sql_asp_project
https://t.me/sql_asp_project
Telegram
تعلم قواعد بيانات SQL Database
تعلم وعلم غيرك في قواعد بيانات SQL Database
تحليل وتصميم قواعد بيانات
وبرمجه مواقع اخبارية
تحليل وتصميم قواعد بيانات
وبرمجه مواقع اخبارية
ما نوع المشاريع العملية التي تفضلها؟
Anonymous Poll
12%
إدارة مكتبة
26%
إدارة موظفين
36%
نظام تجارة إلكترونية
29%
مشروع تحليل بيانات
17%
اخرى
هذه المجموعه سوف تكون لمناقشة القواعد وطرح الأسئلة
👍4
حسب التصويت الحالي للاستفتاء الذي في القناه سوف نشرح اداره موظفين
نبدى في التحليل إدارة بيانات الموظفين
1- جمع المتطلبات:
معلومات شخصية: الاسم، تاريخ الميلاد، الرقم الوطني.
معلومات وظيفية: الوظيفة، القسم، تاريخ التوظيف، الراتب.
معلومات الاتصال: البريد الإلكتروني، رقم الهاتف.
2. تصميم قاعدة البيانات
موظف Employees
قسم Departments
وظيفة JobTitles
مشروع Projects
1- جمع المتطلبات:
معلومات شخصية: الاسم، تاريخ الميلاد، الرقم الوطني.
معلومات وظيفية: الوظيفة، القسم، تاريخ التوظيف، الراتب.
معلومات الاتصال: البريد الإلكتروني، رقم الهاتف.
2. تصميم قاعدة البيانات
موظف Employees
قسم Departments
وظيفة JobTitles
مشروع Projects
3- تحديد الخصائص (المميزات) لكل كيان الاشياء التي نحتاجه في الجداول
EmployeeID (مفتاح أساسي)
Name (اسم الموظف)
BirthDate (تاريخ الميلاد)
NationalID (رقم الهوية الوطنية)
JobTitle (المسمى الوظيفي)
DepartmentID (معرف القسم)
HireDate (تاريخ التوظيف)
Salary (الراتب)
Email (البريد الإلكتروني)
Phone (رقم الهاتف)
DepartmentID (مفتاح أساسي)
DepartmentName (اسم القسم)
JobTitle (مفتاح أساسي)
Description (وصف الوظيفة)
ProjectID (مفتاح أساسي)
ProjectName (اسم المشروع)
StartDate (تاريخ البدء)
EndDate (تاريخ الانتهاء)
موظف Employees :
EmployeeID (مفتاح أساسي)
Name (اسم الموظف)
BirthDate (تاريخ الميلاد)
NationalID (رقم الهوية الوطنية)
JobTitle (المسمى الوظيفي)
DepartmentID (معرف القسم)
HireDate (تاريخ التوظيف)
Salary (الراتب)
Email (البريد الإلكتروني)
Phone (رقم الهاتف)
قسم Departments :
DepartmentID (مفتاح أساسي)
DepartmentName (اسم القسم)
وظيفة JobTitles
JobTitle (مفتاح أساسي)
Description (وصف الوظيفة)
مشروع Projects :
ProjectID (مفتاح أساسي)
ProjectName (اسم المشروع)
StartDate (تاريخ البدء)
EndDate (تاريخ الانتهاء)
.3 تحديد العلاقات
كل موظف ينتمي إلى قسم واحد (علاقة بين موظف وقسم).
كل وظيفة يمكن أن تكون مرتبطة بعدة موظفين.
يمكن أن يعمل الموظفون في مشاريع متعددة (علاقة بين موظف ومشروع).
كل موظف ينتمي إلى قسم واحد (علاقة بين موظف وقسم).
كل وظيفة يمكن أن تكون مرتبطة بعدة موظفين.
يمكن أن يعمل الموظفون في مشاريع متعددة (علاقة بين موظف ومشروع).
4-انشاء الجداول
CREATE TABLE Departments (
DepartmentID INT PRIMARY KEY IDENTITY(1,1),
DepartmentName NVARCHAR(100) NOT NULL
);
CREATE TABLE JobTitles (
JobTitle NVARCHAR(50) PRIMARY KEY,
Description NVARCHAR(MAX)
);
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(100) NOT NULL,
BirthDate DATE,
NationalID NVARCHAR(50) NOT NULL,
JobTitle NVARCHAR(50),
DepartmentID INT,
HireDate DATE,
Salary DECIMAL(10, 2),
Email NVARCHAR(100),
Phone NVARCHAR(15),
FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID),
FOREIGN KEY (JobTitle) REFERENCES JobTitles(JobTitle)
);
CREATE TABLE Projects (
ProjectID INT PRIMARY KEY IDENTITY(1,1),
ProjectName NVARCHAR(100) NOT NULL,
StartDate DATE,
EndDate DATE
);
CREATE TABLE EmployeeProjects (
EmployeeID INT,
ProjectID INT,
PRIMARY KEY (EmployeeID, ProjectID),
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID),
FOREIGN KEY (ProjectID) REFERENCES Projects(ProjectID)
);
CREATE TABLE Departments (
DepartmentID INT PRIMARY KEY IDENTITY(1,1),
DepartmentName NVARCHAR(100) NOT NULL
);
CREATE TABLE JobTitles (
JobTitle NVARCHAR(50) PRIMARY KEY,
Description NVARCHAR(MAX)
);
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(100) NOT NULL,
BirthDate DATE,
NationalID NVARCHAR(50) NOT NULL,
JobTitle NVARCHAR(50),
DepartmentID INT,
HireDate DATE,
Salary DECIMAL(10, 2),
Email NVARCHAR(100),
Phone NVARCHAR(15),
FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID),
FOREIGN KEY (JobTitle) REFERENCES JobTitles(JobTitle)
);
CREATE TABLE Projects (
ProjectID INT PRIMARY KEY IDENTITY(1,1),
ProjectName NVARCHAR(100) NOT NULL,
StartDate DATE,
EndDate DATE
);
CREATE TABLE EmployeeProjects (
EmployeeID INT,
ProjectID INT,
PRIMARY KEY (EmployeeID, ProjectID),
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID),
FOREIGN KEY (ProjectID) REFERENCES Projects(ProjectID)
);
قوم بادخال بيانات افتراضيه للجداول السابقة
1. إدخال بيانات الأقسام
INSERT INTO Departments (DepartmentName) VALUES ('الموارد البشرية');
INSERT INTO Departments (DepartmentName) VALUES ('تكنولوجيا المعلومات');
INSERT INTO Departments (DepartmentName) VALUES ('التسويق');
INSERT INTO Departments (DepartmentName) VALUES ('المبيعات');
1. إدخال بيانات الأقسام
INSERT INTO Departments (DepartmentName) VALUES ('الموارد البشرية');
INSERT INTO Departments (DepartmentName) VALUES ('تكنولوجيا المعلومات');
INSERT INTO Departments (DepartmentName) VALUES ('التسويق');
INSERT INTO Departments (DepartmentName) VALUES ('المبيعات');
👍1
إدخال بيانات الوظائف
INSERT INTO JobTitles (JobTitle, Description) VALUES ('مدير مشروع', 'الإشراف على المشاريع وتنظيم الفرق');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('مطور برمجيات', 'تطوير وتصميم البرمجيات');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('أخصائي تسويق', 'تسويق المنتجات والخدمات');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('مندوب مبيعات', 'بيع المنتجات والتواصل مع العملاء');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('مدير مشروع', 'الإشراف على المشاريع وتنظيم الفرق');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('مطور برمجيات', 'تطوير وتصميم البرمجيات');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('أخصائي تسويق', 'تسويق المنتجات والخدمات');
INSERT INTO JobTitles (JobTitle, Description) VALUES ('مندوب مبيعات', 'بيع المنتجات والتواصل مع العملاء');
إدخال بيانات الموظفين
INSERT INTO Employees (Name, BirthDate, NationalID, JobTitle, DepartmentID, HireDate, Salary, Email, Phone)
VALUES
('علي أحمد', '1990-03-20', '987654321', 'مطور برمجيات', 2, '2021-01-15', 4000.00, 'ali@example.com', '0123456789'),
('فاطمة سعيد', '1985-06-10', '123456789', 'مدير مشروع', 1, '2019-05-01', 6000.00, 'fatima@example.com', '0123456788'),
('محمد جابر', '1992-02-15', '234567890', 'أخصائي تسويق', 3, '2020-03-10', 3500.00, 'mohammed@example.com', '0123456787'),
('سارة علي', '1988-11-25', '345678901', 'مندوب مبيعات', 4, '2022-07-20', 3000.00, 'sara@example.com', '0123456786');
INSERT INTO Employees (Name, BirthDate, NationalID, JobTitle, DepartmentID, HireDate, Salary, Email, Phone)
VALUES
('علي أحمد', '1990-03-20', '987654321', 'مطور برمجيات', 2, '2021-01-15', 4000.00, 'ali@example.com', '0123456789'),
('فاطمة سعيد', '1985-06-10', '123456789', 'مدير مشروع', 1, '2019-05-01', 6000.00, 'fatima@example.com', '0123456788'),
('محمد جابر', '1992-02-15', '234567890', 'أخصائي تسويق', 3, '2020-03-10', 3500.00, 'mohammed@example.com', '0123456787'),
('سارة علي', '1988-11-25', '345678901', 'مندوب مبيعات', 4, '2022-07-20', 3000.00, 'sara@example.com', '0123456786');
إدخال بيانات ارتباطات الموظفين بالمشاريع
INSERT INTO EmployeeProjects (EmployeeID, ProjectID)
VALUES
(3, 2), -- محمد جابر يعمل في مشروع تسويق منتج جديد
(4, 2); -- سارة علي تعمل في مشروع تسويق منتج جديد
(1, 1), -- علي أحمد يعمل في مشروع تطوير نظا
(2, 1), -- فاطمة سعيد تعمل في مشروع تطوير نظام
INSERT INTO EmployeeProjects (EmployeeID, ProjectID)
VALUES
(3, 2), -- محمد جابر يعمل في مشروع تسويق منتج جديد
(4, 2); -- سارة علي تعمل في مشروع تسويق منتج جديد
(1, 1), -- علي أحمد يعمل في مشروع تطوير نظا
(2, 1), -- فاطمة سعيد تعمل في مشروع تطوير نظام
👍1👎1
https://t.me/+nTwwOpGpPWI1ZDRk
لطرح أسئلة والمناقشة على التعليقات او على المجموعة هذه
لطرح أسئلة والمناقشة على التعليقات او على المجموعة هذه
Telegram
مناقشه قناه تعلم قواعد البيانات
مقترحات ومناقشات للقناه الخاص بتعلم قواعد البيانات
أسئلة على قاعده البيانات التي سوف نشتغل عليها
1. استعلام للحصول على جميع الموظفين
SELECT * FROM Employees;
1. استعلام للحصول على جميع الموظفين
SELECT * FROM Employees;
2. استعلام للحصول على الموظفين في قسم معين
SELECT * FROM Employees WHERE DepartmentID = 1;
SELECT * FROM Employees WHERE DepartmentID = 1;
👍1