دليل عملي سهل: كيف تبدأ مع SQL

قواعد بيانات

مقدمة إلى SQL: جملة التحديد

SQL ، التي تعني لغة الاستعلام الهيكلية ، هي لغة برمجة تستخدم لإدارة ومعالجة البيانات المخزنة في قواعد البيانات العلائقية. يتم استخدام SQL في مجموعة متنوعة من التطبيقات ، بدءًا من تطوير الويب الأساسي إلى تحليلات البيانات المتقدمة. سنبدأ بأساسيات SQL ونقدم عبارة SELECT ، التي تُستخدم لاسترداد البيانات من جدول واحد أو أكثر ، ثم سنتعرف على معالجة البيانات في جدول.

ابحث عن المعلومة:

يتم استخدام عبارة SELECT لاسترداد البيانات من جدول واحد. لنبدأ بمثال بسيط ، إذا كان لدينا جدول يسمى "العملاء" به أعمدة مثل "المعرف" و "الاسم" و "البريد الإلكتروني" ، فيمكننا استرداد جميع البيانات من الجدول باستخدام عبارة SQL التالية:

SELECT * FROM Customers;

سيؤدي هذا إلى استرداد جميع الأعمدة والصفوف من جدول العملاء. تُستخدم العلامة النجمية (*) كحرف بدل لاسترداد جميع الأعمدة.

تصفية البيانات:

في معظم الحالات ، لا نحتاج إلى استرداد جميع البيانات من جدول. قد نحتاج فقط إلى البيانات التي تتطابق مع شروط محددة. يمكننا استخدام جملة WHERE لتصفية البيانات بناءً على شروط محددة. على سبيل المثال ، لاسترداد العملاء الذين اسمهم "جون" ، يمكننا استخدام عبارة SQL التالية:

SELECT * FROM Customers WHERE Name = 'John';

سيؤدي هذا إلى استرداد جميع الأعمدة والصفوف من جدول العملاء حيث يكون الاسم مساويًا لكلمة "جون".

أنواع الوظائف:

يوفر SQL نوعين من الوظائف : الدوال المجمعة والوظائف العددية.

تُستخدم الدالات التجميعية ، مثل COUNT و SUM و AVG ، لإجراء عمليات حسابية على مجموعات البيانات. على سبيل المثال ، لحساب إجمالي عدد العملاء المحددين في جدول العملاء ، يمكننا استخدام عبارة SQL التالية:

SELECT COUNT(*) FROM Customers;

سيؤدي هذا إلى إرجاع العدد الإجمالي للصفوف في جدول العملاء.

تُستخدم الدالات القياسية ، مثل UPPER و LOWER و SUBSTRING ، لمعالجة البيانات داخل عمود واحد. على سبيل المثال ، لاسترداد عناوين البريد الإلكتروني لجميع العملاء بأحرف كبيرة ، يمكننا استخدام عبارة SQL التالية:

SELECT UPPER(Email) FROM Customers;

سيؤدي هذا إلى إرجاع جميع عناوين البريد الإلكتروني بأحرف كبيرة.

مخطط قاعدة البيانات وجداول البيانات والمخطط

إنشاء وتعديل الجداول في SQL

إنشاء جداول جديدة:

لإنشاء جدول جديد في SQL ، نستخدم عبارة CREATE TABLE متبوعة باسم الجدول الجديد وقائمة الأعمدة وأنواع بياناتها وأي قيود. على سبيل المثال ، لإنشاء جدول جديد يسمى "الموظفون" بأعمدة لـ "المعرف" و "الاسم" و "المرتب" ، يمكننا استخدام عبارة SQL التالية:

CREATE TABLE Employees (  ID INT PRIMARY KEY,  Name VARCHAR(50),  Salary DECIMAL(10,2));

في هذا المثال ، نحدد قيد المفتاح الأساسي في عمود المعرف للتأكد من أن كل صف له معرف فريد.

تعديل هيكل الجدول:

نستخدم عبارة ALTER TABLE متبوعة باسم الجدول والتعديل الذي نريد إجراؤه. على سبيل المثال ، لإضافة عمود جديد يسمى "القسم" إلى جدول "الموظفين" ، يمكننا استخدام عبارة SQL التالية:

ALTER TABLE Employees ADD Department VARCHAR(50);

إضافة صفوف جديدة إلى جدول:

نستخدم عبارة INSERT متبوعة باسم الجدول والقيم التي نريد إضافتها. على سبيل المثال ، لإضافة موظف جديد إلى جدول "الموظفون" ، يمكننا استخدام عبارة SQL التالية:

INSERT INTO Employees (ID, Name, Salary, Department)VALUES (1, 'John Smith', 50000.00, 'Marketing');

حذف الصفوف من الجدول:

استخدم عبارة DELETE متبوعة باسم الجدول وأي شروط حددناها للصفوف التي نريد حذفها. على سبيل المثال ، لإزالة جميع الموظفين براتب أقل من 40000 ، يمكننا استخدام عبارة SQL التالية:

DELETE FROM Employees WHERE Salary < 40000.00;

الالتزام والتراجع عن التغييرات:

لضمان تناسق البيانات ، يمكننا استخدام عبارات COMMIT و ROLLBACK في SQL. يتم استخدام COMMIT لحفظ التغييرات في قاعدة البيانات ، بينما يتم استخدام ROLLBACK للتراجع عن التغييرات التي تم إجراؤها منذ آخر COMMIT. على سبيل المثال ، لإضافة موظف جديد وتنفيذ التغيير ، يمكننا استخدام عبارات SQL التالية:

INSERT INTO Employees (ID, Name, Salary, Department)VALUES (2, 'Jane Doe', 60000.00, 'Sales');COMMIT;
عصابة المحاذاة منظمة تنظيم

تعديل الصفوف والأعمدة في الجداول:

لتعديل البيانات داخل الجدول ، نستخدم عبارة UPDATE متبوعة باسم الجدول والتغييرات التي نريد إجراؤها. على سبيل المثال ، لتحديث راتب الموظف برقم 101 إلى 55000 ، يمكننا استخدام عبارة SQL التالية:

UPDATE Employees SET Salary = 55000 WHERE ID = 101;

في هذا المثال ، نقوم بتحديث عمود المرتب في جدول الموظفين إلى 55000 للصف حيث يكون عمود المعرف مساويًا لـ 101.

دمج الصفوف في الجدول:

لدمج البيانات من جدولين في جدول واحد ، نستخدم عبارة MERGE. يقارن هذا البيان البيانات الموجودة في جدولين بناءً على عمود محدد أو مجموعة من الأعمدة والتحديثات أو يُدرج الصفوف في الجدول الهدف بناءً على نتائج المقارنة. على سبيل المثال ، ضع في اعتبارك جدولين يسمى "الموظفون" و "الموظفون الجدد". لدمج البيانات من جدول "NewEmployees" في جدول "Employees" استنادًا إلى المعرفات المطابقة ، يمكننا استخدام عبارة SQL التالية:

MERGE INTO Employees USING NewEmployees ON (Employees.ID = NewEmployees.ID)
WHEN MATCHED THEN UPDATE SET Employees.Name = NewEmployees.Name,
           Employees.Salary = NewEmployees.Salary WHEN NOT MATCHED THEN INSERT (ID, Name, Salary)
           VALUES (NewEmployees.ID, NewEmployees.Name, NewEmployees.Salary);

استخدمنا عبارة MERGE لتحديث عمودي الاسم والراتب لصفوف مطابقة في جدول الموظفين وإدراج صفوف جديدة من جدول NewEmployees حيث لا يوجد تطابق.

إسقاط أو اقتطاع طاولة:

لإزالة جدول من قاعدة بيانات ، نستخدم عبارة DROP متبوعة باسم الجدول. يؤدي هذا البيان إلى حذف الجدول وكافة بياناته بشكل دائم. على سبيل المثال ، لإسقاط جدول "NewEmployees" ، يمكننا استخدام عبارة SQL التالية:

DROP TABLE NewEmployees;

بدلاً من ذلك ، يمكننا استخدام عبارة TRUNCATE لإزالة جميع البيانات من الجدول دون حذف الجدول نفسه. على سبيل المثال ، لإزالة جميع البيانات من جدول "الموظفون" ، يمكننا استخدام عبارة SQL التالية:

TRUNCATE TABLE Employees;
الأيدي وقطع اللغز والتواصل

ما هي جمل الانضمام في SQL؟

في بعض الأحيان ، قد نحتاج إلى استرداد البيانات من جداول متعددة. يمكننا استخدام جملة JOIN لدمج البيانات من جدولين أو أكثر. على سبيل المثال ، إذا كان لدينا جدول ثانٍ يسمى "الطلبات" مع أعمدة مثل "المعرف" و "معرف العميل" و "تاريخ الطلب" ، فيمكننا استرداد جميع الطلبات التي قدمها كل عميل باستخدام عبارة SQL التالية:

SELECT Customers.Name, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.ID = Orders.CustomerID;

سيؤدي هذا إلى إرجاع اسم العميل وتاريخ طلبهم من جداول العملاء والطلبات ، على التوالي. يتم استخدام عبارة INNER JOIN لدمج الجدولين بناءً على عمود CustomerID (معرف العميل).

ما هي أنواع الانضمام الأربعة؟

تُستخدم الصلات في SQL لدمج البيانات من جدولين أو أكثر استنادًا إلى عمود أو مجموعة أعمدة ذات صلة. هناك عدة أنواع من الصلات في SQL ، ولكل منها حالة استخدام خاصة بها. في هذه المقالة ، سنغطي الأنواع الأربعة الرئيسية للوصلات في SQL: INNER JOIN و LEFT JOIN و RIGHT JOIN و FULL OUTER JOIN.

صلة داخلية

يُرجع INNER JOIN ، المعروف أيضًا باسم JOIN ببساطة ، الصفوف التي تحتوي على قيم متطابقة في كلا الجدولين فقط. بناء جملة INNER JOIN كما يلي:

SELECT column_name(s)FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;

على سبيل المثال ، ضع في اعتبارك جدولين: "العملاء" و "الطلبات". يحتوي جدول العملاء على أعمدة لكل من "المعرف" و "الاسم" و "البريد الإلكتروني" ، بينما يحتوي جدول الطلبات على أعمدة لـ "معرف الطلب" و "معرف العميل" و "تاريخ الطلب". لاسترداد قائمة بجميع الطلبات التي قدمها كل عميل ، يمكننا استخدام جملة SQL التالية:

SELECT Customers.Name, Orders.OrderDate FROM Customers INNER JOIN Orders ON Customers.ID = Orders.CustomerID;

سيؤدي هذا إلى إرجاع اسم العميل وتاريخ طلبهم من جداول العملاء والطلبات ، على التوالي.

الانضمام إلى اليسار

تُرجع LEFT JOIN جميع الصفوف من الجدول الأيسر والصفوف المتطابقة من الجدول الأيمن. إذا لم تكن هناك صفوف متطابقة في الجدول الأيمن ، فستحتوي النتيجة على قيم NULL لأعمدة الجدول اليمنى. بناء جملة LEFT JOIN كما يلي:

SELECT column_name(s)FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;

على سبيل المثال ، ضع في اعتبارك جدولين: "العملاء" و "الطلبات". لاسترداد قائمة بجميع العملاء وطلباتهم ، حتى لو لم يقدموا أي طلبات ، يمكننا استخدام جملة SQL التالية:

SELECT Customers.Name, Orders.OrderDate FROM Customers LEFT JOIN Orders ON Customers.ID = Orders.CustomerID;

سيؤدي هذا إلى إرجاع جميع العملاء وأوامرهم ، بقيم NULL في عمود OrderDate للعملاء الذين لم يقدموا أي طلبات.

الحق في الانضمام

تُرجع RIGHT JOIN جميع الصفوف من الجدول الأيمن والصفوف المتطابقة من الجدول الأيسر. إذا لم تكن هناك صفوف متطابقة في الجدول الأيسر ، فستحتوي النتيجة على قيم NULL لأعمدة الجدول اليسرى. بناء جملة RIGHT JOIN كما يلي:

SELECT column_name(s)FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;

على سبيل المثال ، ضع في اعتبارك متجرًا به طاولتان: "العملاء" و "الطلبات". لاسترداد قائمة بجميع الطلبات وعملائها ، حتى إذا كانت بيانات العميل مفقودة ، يمكننا استخدام عبارة SQL التالية:

SELECT Customers.Name, Orders.OrderDate FROM Customers RIGHT JOIN Orders ON Customers.ID = Orders.CustomerID;

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

الانضمام الخارجي الكامل

تُرجع FULL OUTER JOIN جميع الصفوف من كلا الجدولين ، بما في ذلك الصفوف غير المتطابقة. إذا لم تكن هناك صفوف متطابقة في أي من الجدولين ، فستحتوي النتيجة على قيم NULL للبيانات المفقودة. بناء جملة FULL OUTER JOIN كما يلي:

SELECT column_name(s)FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

للحصول على مثال مبسط ، ضع في اعتبارك جدولين: "العملاء" و "الطلبات". لاسترداد قائمة بجميع العملاء وطلباتهم ، بما في ذلك أولئك الذين ليس لديهم بيانات مطابقة ، يمكننا استخدام عبارة SQL التالية:

SELECT Customers.Name, Orders.OrderDate FROM Customers FULL OUTER JOIN OrdersON Customers.ID = Orders.CustomerID;

سيؤدي هذا إلى إرجاع جميع العملاء وأوامرهم ، مع قيم NULL في عمود OrderDate للعملاء الذين لم يقدموا أي طلبات ، وقيم NULL في عمود الاسم للأوامر التي تكون فيها بيانات العميل مفقودة.

قاعدة بيانات ، مخطط ، كتل

ما هي إدارة قاعدة البيانات بواحد (مثال تطبيقي)؟

تشير إدارة قواعد البيانات إلى عملية تنظيم قاعدة البيانات وتخزينها وحمايتها وصيانتها. قاعدة البيانات هي مجموعة منظمة من البيانات التي يمكن الوصول إليها وإدارتها وتحديثها بسهولة. الهدف الرئيسي من إدارة قاعدة البيانات هو التأكد من أن البيانات دقيقة ومتسقة ومتاحة عند الحاجة.

أحد الأمثلة على إدارة قواعد البيانات هو إدارة نظام إدارة علاقات العملاء (CRM). نظام CRM هو قاعدة بيانات تخزن معلومات العملاء ، مع عناصر مثل الأسماء والعناوين وأرقام الهواتف وسجل الشراء. يتم استخدام نظام CRM من قبل فرق المبيعات والتسويق وخدمة العملاء لإدارة التفاعلات مع العملاء وتحسين تجربة العملاء.

لإدارة نظام CRM بشكل فعال ، يتم استخدام نظام إدارة قواعد البيانات (DBMS). نظام إدارة قواعد البيانات هو برنامج يسمح لشبكة من المستخدمين بالوصول إلى البيانات الموجودة في قاعدة بيانات وإنشائها وقراءتها وتحديثها وحذفها. كما يوفر أدوات لإدارة قاعدة البيانات ، مثل النسخ الاحتياطي والاسترداد والأمان وتحسين الأداء.

ما هي إدارة قواعد البيانات الأكثر شيوعاً؟

هناك العديد من الأنواع المختلفة لأنظمة إدارة قواعد البيانات (DBMS) المتوفرة في السوق اليوم ، ولكل منها نقاط قوتها وضعفها. فيما يلي بعض الأمثلة على نظم إدارة قواعد البيانات الشائعة:

  1. Oracle Database: Oracle Database عبارة عن نظام DBMS قوي ومستخدم على نطاق واسع مصمم للتطبيقات على مستوى المؤسسة. وهي معروفة بأدائها العالي وقابليتها للتوسع وميزات الأمان.

  2. MySQL: MySQL هو نظام DBMS مفتوح المصدر يستخدم على نطاق واسع لتطبيقات الويب والشركات الصغيرة إلى المتوسطة الحجم. تشتهر بسهولة الاستخدام والموثوقية والتوافق مع العديد من لغات البرمجة.

  3. Microsoft SQL Server: Microsoft SQL Server هو نظام DBMS شائع يستخدم على نطاق واسع للتطبيقات المستندة إلى Windows. وهي معروفة بقابلية التوسع والأداء والتكامل مع منتجات Microsoft الأخرى.

  4. PostgreSQL: PostgreSQL هو نظام DBMS مفتوح المصدر معروف بميزاته المتقدمة ، مثل دعم JSON والبيانات المكانية والبحث عن النص الكامل. يستخدم على نطاق واسع في التطبيقات على مستوى المؤسسة.

  5. MongoDB: MongoDB هو NoSQL DBMS مصمم لتخزين وإدارة البيانات غير المهيكلة ، مثل مستندات JSON. وهي معروفة بقابليتها للتوسع والمرونة وسهولة الاستخدام.

  6. IBM DB2: يعد IBM DB2 نظام DBMS يستخدم على نطاق واسع في بيئات أجهزة الكمبيوتر المركزية. وهي معروفة بأدائها العالي وموثوقيتها ودعمها لهياكل البيانات المعقدة.

  7. SQLite: SQLite عبارة عن نظام DBMS خفيف الوزن يعتمد على الملفات ويستخدم على نطاق واسع في تطبيقات الأجهزة المحمولة والمشاريع الصغيرة. تشتهر ببساطتها وسهولة استخدامها وتوافقها عبر الأنظمة الأساسية.

رجل ، فتى ، أنيق ، ديسيبل

ما هي المهارات اللازمة لتصبح مسؤول قاعدة بيانات؟

لتصبح مسؤول قاعدة بيانات ناجحًا (DBA) ، ستحتاج إلى مجموعة من المهارات الفنية وغير الفنية. فيما يلي بعض المهارات الأساسية المطلوبة لتصبح DBA:

  1. المعرفة التقنية: يعد الفهم الجيد لأنظمة قواعد البيانات والتقنيات ذات الصلة أمرًا ضروريًا لمدير قواعد البيانات. يتضمن ذلك المعرفة بتصميم قاعدة البيانات العلائقية وبرمجة وأمن قاعدة البيانات وضبط الأداء.

  2. مهارات حل المشكلات: يجب أن يكون مسؤولو قواعد البيانات قادرين على استكشاف المشكلات المعقدة وحلها المتعلقة بأداء قاعدة البيانات والأمان وتكامل البيانات. هذا يتطلب مهارات تحليلية وحل المشكلات .

  3. مهارات الاتصال: يحتاج مسؤولو قواعد البيانات إلى التواصل بشكل فعال مع الأعضاء الآخرين في فريق تكنولوجيا المعلومات ، وكذلك مع مستخدمي الأعمال والإدارة. هذا يتطلب مهارات اتصال شفهية وكتابية جيدة.

  4. الانتباه إلى التفاصيل: يحتاج مسؤولو قواعد البيانات إلى أن يكونوا دقيقين وموجهين نحو التفاصيل في عملهم ، لأن الأخطاء الصغيرة في تكوين قاعدة البيانات أو صيانتها يمكن أن يكون لها عواقب وخيمة.

  5. مهارات إدارة المشروع: غالبًا ما يعمل مسؤولو قواعد البيانات على مشاريع متعددة في وقت واحد ، لذا فإن مهارات إدارة المشاريع الجيدة ضرورية. يتضمن ذلك القدرة على تحديد أولويات المهام وإدارة المواعيد النهائية والعمل بفعالية في فريق.

  6. القدرة على التكيف: يجب أن يكون مسؤولو قواعد البيانات قابلين للتكيف وقادرين على مواكبة أحدث التقنيات والاتجاهات في الصناعة. وهذا يتطلب استعدادًا للتعلم والبقاء على اطلاع دائم بالتطورات الجديدة في هذا المجال.

خاتمة

عبارات SQL هي أساس إدارة قواعد البيانات وهي ضرورية لاستعادة البيانات وتعديلها ومعالجتها بطريقة منظمة وفعالة. كما رأينا ، يوفر SQL بناء جملة غنيًا ومجموعة قوية من الأوامر للعمل مع قواعد البيانات ، بما في ذلك SELECT و INSERT و UPDATE و DELETE و JOIN وغيرها الكثير.

تعد أنظمة إدارة قواعد البيانات (DBMS) أدوات أساسية لتنظيم البيانات وتخزينها بطريقة منظمة وفعالة. يتم استخدامها في مجموعة واسعة من الصناعات والتطبيقات ، من المشاريع الصغيرة إلى الأنظمة على مستوى المؤسسة.

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

https://ahmedradwan.dev

تواصل معنا إذا كنت ترغب في الانضمام إلي وكتابة مقالات مع المهووسين 🙂


© 2024 · الطالب الذي يذاكر كثيرا المستوى التقنية

فئات

وسائل التواصل الاجتماعي

ابق على اتصال على وسائل التواصل الاجتماعي