لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 11/13/23 in مقالات البرمجة
-
نسلط الضوء في مقال اليوم على مستقبل البرمجة أحد أكثر المجالات تغيرًا وتجددًا، فالتقنيات والتخصصات البرمجية المختلفة تتطور بوتيرة هائلة وسريعة جدًا ما يحتم على أي مبرمج أو مطور أن يواكب هذه التغييرات ويكون على دراية بأهم الاتجاهات التي يتوقع أن تشهدها البرمجة في السنوات القادمة وتأثيرها على سوق العمل والوظائف المستقبلية. الذكاء الاصطناعي ومستقبل البرمجة لعل أول تساؤل يخطر ببال أي مبرمج بشأن مستقبل البرمجة هل ستحل الروبوتات والذكاء الاصطناعي محل المبرمجين في المستقبل، والجواب هو أن الذكاء الاصطناعي سوف يساعد المبرمجين بدلًا من استبدالهم كما أن تقنيات الذكاء الاصطناعي ستتطور بشكل أكبر ويساعد البشر على القيام بمهامهم المختلفة والحصول على النتائج التي يريدونها حول أي موضوع بشكل أفضل وأسرع. وكما تعرف فقد بدأ الذكاء الصناعي بالفعل في الآونة الأخيرة يؤثر بشكل مباشر على مختلف جوانب حياتنا، ويتوقع أن يزداد تأثيره في المستقبل أكثر وأكثر نتيجة لتطوير البنية التحتية التي يعتمد عليها وتطوير معيار اتصال الواي فاي wifi7 فائقة السرعة والتي تصل لغاية 36 جيجا بت في الثانية بعرض نطاق ترددي يصل إلى 320 ميجاهرتز وانتشار شبكات اتصالات الجوال من الجيل الخامس 5G والبدء بشبكات الجيل السادس 6g التي ستكون أسرع 1000 مرة من شبكة 5G. سيحسن هذا التطور في البنية التحتية من سرعة نقل البيانات ويقلل زمن وصولها ويعطي المبرمجين المتخصصين في الذكاء الاصطناعي وتعلم الآلة القدرة على تحليل ومعالجة هذه البيانات بكفاءة عالية، كما سيزيد من قدرتهم على تطوير حلول إنترنت الأشياء IoT عالية الكفاءة وتطوير تطبيقات متقدمة لم تكن متاحة مع الشبكات السابقة، وسيزيد الطلب أيضًا على برمجة أجهزة ذكية قادرة على اتخاذ القرارات مثل السيارات ذاتية القيادة وروبوتات المحادثة والمساعدين الافتراضيين والروبوتات الصناعية التي ستعمل جنبًا إلى جنب معنا نحن البشر أو ربما تؤدي مهامنا وتستغني عن وجودنا بالكامل لكن في مهن وتخصصات محدودة. كما سيلعب الذكاء الصناعي وتعلم الآلة دورًا أساسيًا في مستقبل البرمجة وكتابة الكود وسيزداد التوجه إلى الإصدار الثاني من البرمجيات Software 2.0 وهي البرمجيات التي تستخدم خوارزميات تعلم الآلة ML والشبكات العصبية لتؤدي عملها دون تدخل بشري ولا بد أنك سمعت أو استخدمت بوت المحادثة الذكي ChatGPT من Open AI وأداة OpenAI Codex الأكثر تخصصًا والتي تساعدك على إنتاج الأكواد البرمجية وتدعم العديد من لغات البرمجة فهما مثالان على برمجيات تعتمد على الذكاء الاصطناعي والتي من شأنها مساعدة المطورين والمبرمجين في تحسين عملهم وزيادة إنتاجيتهم ليركزوا على الأمور الأكثر أهمية في عملية التطوير. فإذا كنت مهتمًا بهذا المجال من الضروري أن تحرص على تعلم لغات البرمجة الخاصة بالذكاء الاصطناعي وتعلم الآلة ولعل أهمها لغة البرمجة بايثون Python التي توفر الكثير من أطر العمل والمكتبات القوية في مجال الذكاء الاصطناعي مثل مكتبة SciKit-Learn و TensorFlow و PyTorch و Keras. ولمطالعة المزيد من المعلومات حول خارطة طريق تعلم الذكاء الاصطناعي ومعرفة أدواته وتقنياته المختلفة أنصح بقراءة مقال تعلم الذكاء الاصطناعي ومقال تعلم الآلة Machine Learning. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن مستقبل إنترنت الأشياء إنترنت الأشياء IoT هو التقنية التي تجعل الأجهزة من حولنا ذكية وتتفاعل مع بعضها البعض وترسل البيانات عبر شبكة الإنترنت وتحللها وهو بلا شك أحد الجوانب التي ستؤثر على مستقبل البرمجة بشكل كبير، ومن المتوقع أن يزداد تأثيره في السنوات القادمة ليطبق بشكل أكبر في أتمتة منازلنا والتحكم بمختلف الأجهزة التي نستخدمها في حياتنا اليومية كأجهزة الإنذار وأنظمة التدفئة وأنظمة الإضاءة الذكية وأنظمة التحكم بالأبواب والستائر ويمكننا من التحكم بها من خلال التطبيقات المثبتة على هواتفنا الذكية، ولن يقتصر تطبيق إنترنت الأشياء على منازلنا فحسب بل سيستخدم بصورة أكبر في مختلف المجالات الصناعية كصناعة السيارات ومجال الرعاية الصحية وغيرها. ربما ستزيد هذه التقنيات من اعتمادية الناس العادية على الأجهزة لكنها ستفرض على معشر المبرمجين بذل جهد أكبر في تعلم تقنيات تطوير تطبيقات الأجهزة المضمنة وتطبيقات الأجهزة قابلة للارتداء والاطلاع على أحدث التغييرات التي ستطرأ على تطوير تطبيقات الجوال وتطبيقات الويب، إلى جانب اكتساب مهارات كافية في علوم البيانات لجعل هذه التطبيقات قادرة على التعامل مع كمية ضخمة من البيانات Big data فأجهزة إنترنت الأشياء ستولد لنا كميات هائلة من البيانات وهذه البيانات الضخمة تحتاج إلى تحليلها ومعالجتها واتخاذ قرارات صائبة منها. كما يحتاج المبرمجون المهتمون بهذا المجال إلى التركيز بشكل أكبر على أمان التطبيقات والمواقع التي يطورونها، ويتعلموا بشكل جيد طريقة التعامل مع بروتوكولات الاتصال وأجهزة الاستشعار والمنصات السحابية المناسبة حسب نوع التطبيق المطلوب، ويتقنوا اللغات والبروتوكولات الخاصة بإنترنت الأشياء مثل MQTT و CoAP و Zigbee. مستقبل البرمجة وعلم البيانات علم البيانات Data Science هو مجال حديث يجمع بين الإحصاء والرياضيات وعلوم الحاسوب ويهتم بدراسة البيانات ويعتمد عليها في اتخاذ القرارات من خلال الاستعانة بخوارزميات الذكاء الاصطناعي وتعلم الآلة، ويتوقع أن يزداد الطلب عليه بشكل أكبر في المستقبل نتيجة التضخم الهائل في حجم البيانات الذي نشهده، كما يتوقع أن يكون علم البيانات أحد أكثر المجالات المطلوبة في المستقبل لأن كافة المؤسسات والمنظمات وقطاعات العمل بدأت في الاعتماد عليه لاتخاذ قراراتها المختلفة مثل كشف عمليات الاحتيال والتوصية بالمنتجات المناسبة للعملاء وستحتاج للاعتماد عليه بشكل أكبر مستقبلًا. فإذا كنت مهتمًا بمجال علم البيانات أنصحك بأن تبدأ من الآن بتعلم التقنيات ولغات البرمجة الشهيرة في هذا المجال مثل لغة بايثون python ولغة R ونظم إدارة قواعد البيانات وبرامج التحليلات الإحصائية والتمثيل الرسومي للبيانات مثل Tableau و Power BI ومنصات البيانات الضخمة وتفهم أطر البيانات الضخمة مثل Spark و Hadoop لضمان مهنة لها دور واعد في مستقبل البرمجة. لمطالعة مزيد من المعلومات حول علم البيانات وتخصصاته وكيفية تعلمه أنصح بمطالعة مقال علم البيانات Data science: الدليل الشامل ومقال الدليل الشامل إلى تحليل البيانات Data Analysis. مستقبل تقنية البلوكتشين Blockchain أحدثت تقنية البلوكتشين Blockchain ثورة في طريقة التعامل الرقمي مع البيانات وهي تقنية تعتمد على تخزين المعاملات في قاعدة بيانات عملاقة مشفرة وآمنة لا مركزية وغير قابلة للتعديل تسمى دفتر الأستاذ الموزع distributed ledger وقد اكتسبت هذه التقنية شهرتها من العملات المشفرة المبنية عليها. ففي هذه التقنية تتم المعاملات على قاعدة البيانات بترتيب تسلسلي وتكون المعاملات لامركزية أي أنها تعمل على حواسيب موزعة في جميع أنحاء العالم وتتم مباشرة بين المستخدمين دون تدخل طرف ثالث وتكون مؤمنة بشكل كبير، على سبيل المثال عندما يبيع شخصان السلع لبعضهما البعض باستخدام عملة بيتكوين Bitcoin فلن يحتاجوا إلى المرور عبر وسيط مثل بيبال لإتمام هذه المعاملة. تتطور تقنية بلوكتشين بشكل متسارع ويتوقع أن تشهد المزيد من الاستخدامات في المستقبل في عدة مجالات فإلى جانب تحويل العملات المشفرة عبر الأجهزة سيعتمد عليها في إنشاء عقود ذكية مخصصة قادرة على التعامل مع المعاملات المعقدة والتحقق من المعاملات متعددة الخطوات وتسريع معالجة البيانات ونقلها بأمان، وبدأت تعتمد في العديد من القطاعات والمجالات مثل عمليات التصويت للانتخابات وحفظ المعاملات المالية وسندات الملكية. يتوقع أن تؤثر هذه التقنية على مستقبل البرمجة وتزيد الطلب على مطوري البلوكتشين بمختلف تخصصاتهم سواء المطورين الأساسيين blockchain core أو مطوري تطبيقات blockchain أو مطوري التطبيقات اللامركزية DApps ومطوري العقود الذكية باستخدام لغات مخصصة مثل solidity، فإذا كنت ترغب في تعلم مجال رائد في مستقبل البرمجة يمكنك البدء بتعلم تقنيات تطوير البلوكتشين والتعرف على منصاتها وبروتوكولاتها المختلفة. الحوسبة الكمومية Quantum Computing ستحل الحوسبة الكمومية التي تستخدم البتات الكمومية quantum bits أو ما يعرف بالكيوبتات qubits محل بالحوسبة الكلاسيكية التي تستخدم البتات bits أو نظام الأرقام الثنائية binary digits لتمثيل البيانات وتنفيذ العمليات، وستلعب دورًا فعالًا في مستقبل البرمجة من خلال زيادة سرعة معالجة كميات هائلة من البيانات وتسهيل حل المشكلات المعقدة التي استعصى على البشرية حلها. لا تزال الحوسبة الكمومية في بدايتها ويقتصر استخدام الحواسيب الكمومية اليوم على المجالات البحثية ولازالت تواجه حتى اليوم بعض التحديات التقنية والعملية التي يعمل الخبراء على حلها، وحين تستقر سيبدأ استخدامها في تطبيقات فعلية مختلفة ويتوقع أن تطور العديد من تخصصات البرمجة وأبرزها الأمن السيبراني وتحليل البيانات وتطور مجال الرعاية الطبية وتساعد في اكتشاف الأدوية وتحسن من الاقتصاد. تستخدم الحوسبة الكمومية أسلوبًا مختلفًا في البرمجة وتحتاج لتطوير خوارزميات جديدة لذا يحتاج المبرمجون المهتمون بهذا المجال إلى تعلم لغات برمجة وأطر عمل جديدة مصممة للعمل على الحواسيب الكمومية مثل Q# و Cirq و Qiskit، كما يمكنهم استخدام لغات برمجة تقليدية مثل بايثون لكن مع الاستعانة بمكتبات خاصة مصممة للعمل مع الأنظمة الكمومية مثل QuTip وسيحتاجون كذلك لفهم أساسيات الجبر الخطي وميكانيك الكم للتعامل مع هذه التقنية الرائدة. مستقبل البرمجة دون كود No-Code ستبقى البرمجة التقليدية التي تعتمد على كتابة الشيفرات البرمجية أو ما يعرف بالتطوير عالي الكود High-code development موجودة في مستقبل البرمجة بالتأكيد، لكن يتوقع أن يزداد الاعتماد كذلك على منصات التطوير بدون كود No-code development أو التطوير منخفض الكود Low-code development الذي يسمح لأي شخص غير مختص بالتقنية بتطوير البرامج والتطبيقات والمنتجات الخاصة به وأتمتة أعماله بنفسها. تتميز البرمجة منخفضة الكود بشكل أساسي بتوفير واجهات رسومية سهلة الاستخدام تعتمد السحب والإفلات ولا تحتاج لكتابة الشيفرات والتعليمات باستخدام إحدى لغات البرمجة المعقدة، ويمكن أن تعتمد أيضًا على أنظمة تصميم ومكونات مسبقة الصنع يمكن لأي شخص استخدامها مباشرة وإنشاء تطبيقاته بسرعة وسهولة. قد تتساءل هل هذا يعني أن الاعتماد على المبرمجين والمطورين المتخصصين سوف ينخفض في المستقبل؟ والجواب هو بالنفي فالحلول بدون كود مهما كانت مرنة وسهلة الاستخدام فلن تتمكن من الاستغناء عن دور المبرمجين بالكامل وستصلح للأنظمة البرمجية البسيطة نسبيًا وستبقى كتابة الأكواد مطلوبة لتطوير الأنظمة البرمجية الاحترافية والتحكم بهذه المنصات نفسها فهذه المنصات تعمل وراء الكواليس بواسطة الشيفرات البرمجية وستظل بحاجة لمبرمجين يطورونها ويقومون بصيانتها، كما يمكن أن تكون هذه المنصات بذات الوقت أداة مساعدة يمكن للمبرمجين دمجها مع أساليب البرمجة التقليدية لتحسن إنتاجيتهم وتسريع وتيرة عملهم. مستقبل تطبيقات الويب التقدمية PWA يتوقع أن تسيطر تطبيقات الويب التقدمية PWAs وهي اختصار لعبارة Progressive Web Applications على مستقبل برمجة تطبيقات الويب ويزداد الاعتماد عليها من قبل الشركات والمؤسسات المختلفة، فهذه التطبيقات وفرت أسلوبًا جديدًا لتطوير تطبيقات الأجهزة المحمولة ومكنت المبرمجين من تطوير تطبيقات ويب تتصرف مثل التطبيقات الأصيلة native applications وتعمل بكفاءة على كافة أنواع أنظمة التشغيل وتتوافق مع كافة الأجهزة وأحجام الشاشات سواء الحواسب المكتبية أو الأجهزة المحمولة ويتم الوصول لها من خلال مستعرض الويب وهي لا تتطلب من المستخدم تثبيت أي شيء لاستخدامها كما يمكنها العمل دون الحاجة للاتصال بالإنترنت. تستخدم تطبيقات الويب التقدمية تقنيات تطوير الويب الأساسية HTML و CSS وجافاسكريبت إلى جانب أدوات وأطر العمل المخصصة مثل Angular و React و Vue.js، فإذا مهتمًا بمجال برمجة وتطوير التطبيقات أنصحك بالبدء بتعلم تطوير PWAs واكتساب المهارات اللازمة في هذا المجال لضمان مهنة مطلوبة في سوق العمل في السنوات القادمة. لمطالعة مزيد من التفاصيل حول تطبيقات الويب التقدمية والتعرف على أهم مميزاتها يمكنك مطالعة مقال مدخل إلى تطبيقات الويب التقدمية PWA أهمية البرمجة في المستقبل لاشك أن مستقبل البرمجة واعد ومشرق في عصرنا الرقمي متسارع الخطى فالطلب على المطورين والمبرمجين يزداد بشكل كبير في الشركات التقنية المتخصصة، كما أن البرمجة قد تصبح مطلبًا أساسيًا للتوظيف في العديد من مجالات العمل الأخرى مثل الاقتصاد والصناعة ومؤسسات الرعاية الصحية إلى جانب زيادة الاعتماد عليها في مجالات الحياة اليومية. فالبرمجة لغة المستقبل وعلى الجميع تعلمها ولكن لنتذكر دومًا أن عالم البرمجة في تغير مستمر ومن الضروري لأي مهتم بالبرمجة أن يواكب التطورات الحاصلة فيها ويركز على تعلم الاتجاهات الحديثة التي يتوقع أن يزداد الطلب عليها إذا أراد أن يضمن البقاء في الصدارة في سوق العمل المستقبلي. إذا كنت مهتمًا بتعلم البرمجة واحترافها يمكنك البدء بأحد التخصصات البرمجية التي شرحناها سابقًا والتي يتوقع أن تشهد ازدهارًا وطلبًا مرتقعًا في مستقبل البرمجة، وتذكر أن مهنة البرمجة بلا شك بجميع مجالاتها وتخصصاتها الأخرى ستبقى واحدة من أكثر المهن التي تنبئ بمستقبل واعد، فإذا كنت مهتمًا بتعلم البرمجة وتقنياتها لا تتردد وابدأ من اليوم بتحديد المجال الذي يوافق ميولك وضع خطة لتعلمه مع الاهتمام إلى جانب ذلك بتنمية مهاراتك الناعمة مثل مهارات التواصل الفعال وحل المشكلات والقدرة على التعلم وتطوير الذات لأن هذه المهارات ستصبح أكثر أهمية في المستقبل وستمكنك من إثبات وجودك والتميز في سوق العمل. وإذا كنت مهتمًا بمعرفة مزيد من التفاصيل حول مستقبل البرمجة أنصحك بمشاهدة هذا الفيديو: الخلاصة حاولنا في مقال اليوم أن نستشرف مستقبل البرمجة ونعرفك على أهم التخصصات البرمجية التي يتوقع أن تشهد وجودًا قويًا في السنوات القليلة القادمة ومن أبرزها الذكاء الاصطناعي، والتعلم الآلي، والتعلم العميق، وإنترنت الأشياء، وعلم البيانات، وتقنيات البلوكتشين، والبرمجة بدون كود أو منخفضة الكود، وناقشنا أهمية تخصص البرمجة والمستقبل الواعد لدراسة هندسة البرمجيات وزيادة الطلب على المبرمجين والمطورين في سوق العمل المستقبلي. اقرأ أيضًا تعرف على أعلى تخصصات البرمجة أجرًا البرمجة والخوارزميات والذكاء الاصطناعي تطوير تطبيق وصفة لاقتراح الوجبات باستخدام ChatGPT و DALL-E في PHP برمجة الذكاء الاصطناعي1 نقطة
-
تَعرفنا في المقال السابق على مفهوم قواعد البيانات وما هي أنواعها. سوف نبدأ في هذا المقال أُولى خطواتنا في شرح لغة الاستعلام البنائية SQL، حيث سنتكلم عن لغة SQL ونعطي لمحة عن دورها وعلاقتها بقاعدة البيانات، ومن ثم سوف نبدأ بشرح أساسيات وجمل بناء قاعدة البيانات والجداول الخاصة بها باستخدام لغة SQL. لغة SQL وماذا تقدم SQL هي اختصارٌ لـ Structured Query language وترجمتها هي “لغة الاستعلام البنائية” وتنطق بطريقتيْن؛ إما حرفًا حرفًا S Q L، أو تنطق كلمة واحدة “سيكيوال”. لغة SQL هي لغة ذات غرض متخصص هدفها إعطاء القدرة على إدارة البيانات الموجودة في قواعد البيانات العلاقية والتعامل معها، وتخضع هذه اللغة لمعايير دولية متفق عليها، ويقوم المعهد الوطني الأمريكي للمعايير (ANSI) بإدارة وإصدار المعايير الخاصة ب SQL. لا يعني ما سبق أن كل برمجيات إدارة قواعد البيانات التي ذكرناها في المقال السابق والتي لم نذكرها، لا يعني بأن SQL لديها موحدة، ولا يعني أنك تستطيع تماما أن تُنفذ نفس جملة SQL في جميع تلك البرمجيات بنجاح. فمن المهم أن نذكر هنا أن الشركات المسؤولة عن تلك البرمجيات الخاصة بإدارة قواعد البيانات، اعتمدت نسخًا مطورة من SQL المعيارية لتصبح خاصة بها وبأنظمتها مع اعتماد حد أدنى في التوافقية مع SQL المعيارية. تستطيع باستخدام لغة SQL أن تقوم بالتالي: الاستعلام عن البيانات وجلبها من قاعدة البيانات. إضافة، تعديل السجلات في قاعدة البيانات وحذفها منها. الحفاظ على سلامة ودقة البيانات في قاعدة البيانات. تحديد الصلاحيات والأذونات الخاصة بمستخدمي قاعدة البيانات. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن أنواع أوامر SQL تنقسم جمل وأوامر SQL إلى ثلاث مجموعات، وذلك حسب الدور الذي يقوم به الأمر: لغة التعامل مع البيانات Data Manipulation Language: تحتوي هذه المجموعة على جمل غرضها إعطاء القدرة على التعامل مع البيانات دون التأثير على هيكليتها وشكلها العام، بحيث تستطيع الاستعلام عن البيانات، إضافة سجلّات، حذفها أو تعديلها. لغة تعريف البيانات Data Definition Language: تُقدم الأوامر التي تندرج تحت هذه المجموعة القدرة على تعريف البيانات وشكلها وطريقة ربطها ببعضها عبر استخدام أوامر لإنشاء الجداول وإنشاء قاعدة البيانات. لغة التحكم بالبيانات Data Control Language: تساعد هذه المجموعة من الأوامر في تحديد الصلاحيات التي يمكن منحها أو سلبها من المستخدمين الموجودين في قاعدة البيانات. يسرد الجدول التالي أهم الأوامر التي تُمَكّن المبرمج من إنشاء قاعدة البيانات الخاصة به وتنفيذ الجمل الخاصة بإدارتها وإدارة بياناتها. جملة إنشاء قاعدة البيانات في الواقع لا يوجد معيار لأمر إنشاء قاعدة البيانات في معيار SQL المقدم من معهد ANSI ولكن برمجيات قواعد البيانات العلاقية تقدم نسخة من هذا الأمر، وتختلف الصيغة من نظام إلى آخر. الصيغة العامة لأمر إنشاء قاعدة البيانات هي كالتالي: CREATE DATABASE database_name; ملاحظات هامة يُنشئ الأمر السابق قاعدة بيانات فارغة بالاسم المُمَرَّر (أي database_name في الجملة أعلاه). تتطلب أغلب نظم إدارة قواعد البيانات وجود صلاحيات المسؤول للمستخدم الذي ينشئ قاعدة البيانات. بمجرد إنشاء قاعدة البيانات، يستطيع المستخدم أو من له صلاحية، البدء بإضافة عناصر إلى قاعدة البيانات من جداول Tables، مشاهد Views، دوال وحزم، وإضافة سجلات وبيانات إلى الجداول المُنشأة. أثناء تنفيذ أمر إنشاء قاعدة البيانات وبعده، تُنشَأ ملفات خاصة بقاعدة البيانات الجديدة حسب النظام المستخدم، وتُدار هذه الملفات وتُسمَّى إما تلقائيًّا أو من قبل المستخدم. لأن أمر إنشاء قاعدة البيانات غير معياري، فإن خيارات هذا الأمر متعددة وكثيرة وتأتي حسب نوع النظام المستخدم، وحسب نوع نظام إدارة قواعد البيانات. يظهر أمر الإنشاء بأحرف كبيرة Upper case. ليس هذا ضروريّاً في أغلب برامج إدارة قواعد البيانات، إلا أنها عادة في التوثيقات Documentations لتمييز الكلمات المفتاحية التي تعدّ جزءًا من SQL. جملة إنشاء جدول يُعد إنشاء الجدول في قاعدة البيانات أول الخطوات في طريق بناء قاعدة البيانات وملئها بالسجلات، وهذا الأمر يقوم به مسؤول قواعد البيانات أو المبرمج على حد سواء. ستحتاج قبل أن تتمكّن من البدء في تنفيذ أوامر على القاعدة إلى تحديد قاعدة البيانات التي تريد العمل عليها، أي تلك التي ستُنشِئ الجداول فيها. تختلف طريقة تحديد قاعدة البيانات حسب طريقة الاتصال ببرنامج إدارة قواعد البيانات: في سطر أوامر MySQL يُنفَّذ الأمر بالطريقة التالية: USE database_name; في سطر أوامر PostgreSQL: \connect DBNAME الصيغة العامة لجملة إنشاء الجدول في SQL: CREATE TABLE table_name ( column1 datatype [constraint], column2 datatype [constraint], column3 datatype [constraint], .... ); شرح الصيغة: CREATE TABLE table_name ( CREATE تعني إنشاء العنصر (الجدول هنا) وهي بداية الأمر. TABLE لتحديد أن هذه الجملة لإنشاء جدول. table_name وهو الاسم الذي نريد إطلاقه على الجدول الجديد الذي نريد بناءه. القوس المفتوح باتجاه اليسار يعني البدء بكتابة هيكل الجدول والذي يتضمن الأعمدة ونوعها والقيود التي من الممكن أن نضيفها وبعض الإعدادات الأخرى. column1 datatype [constraint], column1: هو الاسم الذي سوف نعطيه للعمود الأول. Datatype:يعني نوع العمود (نصي, رقم, تاريخ. الخ). [Constraint]:تعني – اختيارياً - تستطيع تحديد قيود على مستوى هذا العمود (سنتكلم لاحقا بالتفصيل عن القيود). الفاصلة تعني وجود عمود آخر سوف نعرّفه بعد هذا العمود. عند كتابة العمود الأخير لا نضيف فاصلة، ومن ثم نضيف القوس المعاكس للقوس الذي فُتح عند بداية كتابة الأعمدة، ونختم الأمر بقاصلة منقوطة. ملاحظات هامة تبدأ أسماء الجداول والأعمدة عموما بحرف وليس برقم (بعض نظم إدارة قواعد البيانات تسمح بذلك)، ومن الممكن أن تُتبع بعد ذلك بالأرقام. يُفضَّل ألا يتجاوز طول اسم الجدول أو العمود30 محرفا Characters، حيث إن بعض النظم تمنع أن تتجاوز ذلك مثل نظام إدارة قواعد البيانات أوراكل. يجب ألا تُستخدَم كلمات محجوزة في تسمية الجدول أو العمود. جملة تعديل الجدول بعد أن تكلمنا عن جملة إنشاء الجدول، يجب علينا توضيح جملة تعديل الجدول بعد إنشائه، حيث إن إجراء عمليات التغيير على الجدول يُعد أمراً مهما للمبرمج ومسؤول قواعد البيانات إذ يُنفَّذ باستمرار أثناء وفي بداية بناء النظم البرمجية والبرامج نظرا لتغير المتطلبات وعدم اكتمالها. تُستخدَم جملة تعديل الجدول Alter Table عموما في الحالات التالية: إضافة عمود للجدول. حذف عمود من الجدول. تغيير نوع عمود في الجدول. إضافة قيد على العمود. حذف قيد عن العمود. نسرُد في ما يلي الصيغ العامة لجملة تعديل الجدول. إضافة عمود ALTER TABLE table_name ADD column_name datatype; حذف عمود ALTER TABLE table_name DROP COLUMN column_name; تعديل عمود ALTER TABLE table_name MODIFY | ALTER COLUMN column_name datatype; إنشاء جداول وتعديلها لإنشاء جدول باسم Persons يحتوي على 5 أعمدة تمثل معلومات أشخاص مثل رقم الشخص واسمه وعنوانه، نُنَفذ الجملة التالية (اختبرناها على MySQL 5.7 و Oracle XE 11.2): CREATE TABLE Persons ( PersonID int, Last_Name varchar(255), First_Name varchar(255), Address varchar(255), City varchar(255) ); يتكوّن الجدول السابق: من العمود PersonID الذي هو من النوع int، أي أن قيم هذا العموم يجب أن تكون أرقامًا؛ الأعمدة City، Last_Name، First_Name وAddressالتي هي من النوع varchar، أي سلسلة محارف، بطول 255 محرفا. بعد تنفيذ جملة إنشاء الجدول السابقة، ينتج لدينا جدول فارغ بالشكل التالي: +--------------+------------------+------------------+-------------+--------+ | PersonID | Last_Name | First_Name | Address | City | +--------------+------------------+------------------+-------------+--------+ نستطيع أن نملأ الجدول بالبيانات باستخدام جملة الإضافة والتي سوف نتكلم عنها في مقال قادم. لإنشاء نفس الجدول السابق بحيث يتضمن وجود قيود على مستوى الأعمدة، ننفذ الجملة التالية: CREATE TABLE Persons ( PersonID int PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255) NOT NULL, City varchar(255) ); أضفنا في الجملة السابقة، قيودا على مستوى أعمدة الجدول، بحيث يُعرَّف العمود PersonID بأنه المفتاح الرئيسي للجدول، والأعمدة Last_Name و Address بأنها لا تستقبل القيم الفارغة. في حال أردنا أن نضيف عمودًا جديدًا للجدول باسم Age (العمر) ومن نوع البيانات رقم نستخدم جملة التعديل التالية: ALTER TABLE Persons ADD Age int; تمكن ترجمة الأمر على النحو التالي: “عدّل الجدول Persons بإضافة عمود اسمه Age ونوعه int“. في حال أردنا أن نحذف عمود City من الجدول نستخدم الجملة التالية: ALTER TABLE Persons DROP COLUMN City; أي: “عدّل الجدول Persons بحذف العمود City“. إذا أردنا تعديل نوع عمود Age إلى نص بدلا من رقم نستخدم الجملة التالية: ALTER TABLE Persons MODIFY Age varchar(10); ذكرنا خلال هذا المقال مصطلحي القيود ونوع البيانات في العمود. ولكن ما هي القيود؟ وماذا نستفيد منها في قواعد البيانات؟ وما هي أنواع البيانات التي من الممكن التعامل معها؟ يقدّم المقال القادم شرحا تفصيليا عن القيود وأنواعها، وكذلك سيشرح المقال الأنواع التي من الممكن أن نتعامل معها. اقرأ أيضًا دليلك الشامل إلى أنواع البيانات1 نقطة