لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 09/04/24 في كل الموقع
-
السلام عليكم ورحمة الله وبركاته في حالة لدي عديد من أجهزة حاسوب اريد عند وضع ملف او اي شي علي قرص c او اي قرص يمكن لاشخاص اخرين اخد ملف من هدا القرص كيف يمكن عمل دلك هل احتاج الي سيرفر ممكن توضيح اخواني كرام3 نقاط
-
السلام عليكم انا اعمل على مشروع وقمت بتقسيمه الى client و server بحيت يكون جزء مخصص للباك اند وجزء مخصص للفرونت اند ، الان ماهي الخطوات التي يجب عليا القيام بها للربط بين المشروعين؟ متلا الان قمت ببناء واجهة تسجيل الدخول واريد ربطها مع قاعدة البيانات الموجودة في مجلد server client.zip server.zip1 نقطة
-
1 نقطة
-
لا شكر على واجب . لا فرق بين الإثنين يمكنكي إستخدام أي منهما . ولكن عند إستخدام ال localstorage سيتوجب عليكي في كل طلب يتم إرساله أن تقومي بتضمين ال token يدويا بنفسك بخلاف ال cookies التي يتم إرسالها تلقائيا . أيضا ال cookies أكثر أمانا من حيث هجمات XSS (Cross-Site Scripting) حيث يمكن الوصول إلى ال localstorage من خلال javascript بينما ال cookies إذا تم تحديدها ك HttpOnly فلن يمكن الوصول لها من خلال javascript. في ال cookies يمكن تحديد صلاحية إنتهاءها وسيتم حذفها بمجرد إنهاء الصلاحية بينما ال locastorage لن يتم مسحها إلا إذا تم إستخدام javascript ولا توجد لها مدة صلاحية. عموما cookies أفضل من localstorage وأيضا هذا يعتمد على الخادم إذا كان يتوقع إستقبال ال token من خلال ال cookies فيجب إستخدام ال cookies في الواجهة الأمامية1 نقطة
-
جميل جدا شكرا على هذه المعلومات القيمة، لدي سؤال هل يوجد فرق كتير بين موضوع تخزين token في cookies و localstorge ? او يتم استعمال واحده من هذه الطرق في المشروع؟1 نقطة
-
وعليكم السلام ورحمة الله وبركاته . إن ما قمتي به جيد حتي الآن . إن عملية الربط بين الواجهة الخلفية والواجهة الأمامية تتم من خلال ال APIS . حيث أن ال API (واجهة برمجة التطبيقات) هي اختصار لـ "Application Programming Interface" وهي مجموعة من القواعد والبروتوكولات التي تسمح لتطبيقات مختلفة بالتواصل مع بعضها البعض. توفر الـ API وسيلة للبرامج للتفاعل مع الأنظمة أو الخدمات و البرمجيات الأخرى دون الحاجة لفهم التفاصيل الداخلية الخاصة بها فقط يتم توفير البيانات اللازمة التي يستقبلها ال API والبيانات التي يتم إرجاعها . ويمكنك قراءة المقال التالي لفهم أفضل عن ال API : وبما أنكي أنهيتي مشروع ال server فهكذا تم إنهاء ال APIS الخاص بمشروعك والآن يأتي دور الواجهة الأمامية والتي يجب أن ترسل الطلبات وتستقبل البيانات من تلك ال APIS . و يمكنكي إستخدام fetch و axios لإرسال الطلبات وإستقبال الردود من الواجهة الأمامية إلى الواجهة الخلفية . ولذلك لربط التسجيل وتسجيل الدخول يجب إرسال الطلبات إلى ال API الخاص بتسجيل المستخدم وتسجيل الدخول و إستقبال الرد من الخادم وهنا في هذه الحالة سيكون ال token الذي جيب حفظة في المتصفح سواء في ال cookies او في ال localStorage وإرساله بعد ذلك في كل طلب يتم إلى الواجهة الخلفية . وستجدين في دورة تطوير التطبيقات باستخدام JavaScript في مسار تطبيق دردشة يشبه WhatsApp في تطبيق الويب قم تم شرح كيفية الربط بينهم يمكنك مراجعة الدرس لشرح أفضل . أو يمكنكي قراءة الدرس التالي عن كيفية التسجيل وتسجيل الدخول بإستخدام React و node :1 نقطة
-
1 نقطة
-
1 نقطة
-
اتابع هذه الدوره منذ 4 اشهر وتعلمت الكثير ولكن اجد مشكله كبيره في اني اشعر انه لا فائده من هذه المواضيع فمثلا عندما يشرح المدرب حزمه معينه او مشغل معين وتطبيقات مرتبطه بطريقه عشوائيه , لماذا يتم شرح كل شيء بشكل منفصل ومن ثم جمعها في تطبيق واحد لماذا لا يكون العكس؟ كمثال: في وحده node.js يتم شرح قواعد البيانات حسنا فهمت كيفيه اضافه وحذف وتعديل المستخدمين ولكن متى استخدم هذه الميزه هل استعملها بالبدايه ام بنهايه المشروع؟ مقصدي هو انني اريد البدء في مشروع وعندما احتاج لقواعد البيانات اتعلمها وليس العكس1 نقطة
-
لكن الطريقه التي تجعلني افهم بشكل جيد هي اني اعرف ما الفائده من هذه الاداه وكيف ممكن ان تفيدني في المشروع وعند تعلم قاعده البيانات المفترض ان يكون هناك درس كامل فيه مثال كامل عن كيفيه استعمال قواعد البيانات في المشروع فمثلا: يقول المدرب ان عند بناء متجر الكتروني وتصميم الصفحه ستحتاج الى قاعده بيانات تخزن فيها كل معلومات المستخدمين وبدونها لن تستطيع حفظ معلومات من المستخدمين ولن يعمل التطبيق1 نقطة
-
عند تعلم كل مكون بشكل منفصل، يمكنك التركيز على فهم كل جزء بمفرده دون تشتيت الانتباه بأمور أخرى، و هذا يساعدك على بناء معرفة قوية بالأساسيات التي ستحتاج إليها لاحقا عند العمل على مشاريع أكبر وأكثر تعقيدا، كما أن التعلم المنفصل يساعدك على استكشاف كل تقنية أو أداة بشكل أعمق، وفهم مزاياها وعيوبها ومتى تكون مناسبة للاستخدام، فإذا بدأت مباشرة بمشروع كبير، فقد لا تمتلك الوقت أو الفرصة لفهم تفاصيل كل أداة بشكل كاف، و هذا ما نحاول تجنبه في الدورات فالبدأ بالمشروع بشكل مباشر لن يغطي كل المفاهيم البرمجية و بالتالي عند معرفتك للأساسيات ستستطيع مع مرور الوقت تطبيقها كلها على حسب المشروع. و لا يخفى عليك أن التعلم بهذه الطريقة يمنع الشعور بالإرباك الذي قد ينشأ عند محاولة التعامل مع عدة تقنيات أو أدوات جديدة في آن واحد ضمن مشروع واحد، فعندما تتعلم كل مكون على حدة، تكون جاهزا بشكل أفضل لدمجها معا في وقت لاحق، و يمكنك تجربة ذلك بحيث تبدأ بالجزء الخاص ببناء المشروع و ستجد أن الأمر صعب و المفاهيم غامضة لأنه لن يكون لديك أي فكرة عليها.1 نقطة
-
ستساعدك الأكاديمية بفريق محترف من أجل توجيهك للحصول على عمل في هذا المجال، فبعد اتمامك لأي من الدورات الموجودة في الأكاديمية وبعد اجتيازك الامتحان بنجاح ثم تطبيق إرشادات المختصين لتحسين سيرتك الذاتية وملفاتك الشخصية على مواقع العمل الحر، سيساعدك هذا الأمر في إيجاد عمل بشكل أسرع، كما يمكنك أن تبحث عن عمل من خلال مواقع العمل الحر كذلك مثل مستقل وخمسات. يمكنك أن تطلع أكثر على هذا المقال لتأخذ فكرة بشكل أفضل:1 نقطة
-
من الأفضل توفير صورة للخطأ الذي يظهر وما هي البيئة التي تستخدمها؟ هل هي Xampp؟ فعامًة تستطيع تصفح phpmyadmin من خلال بروتكول HTTP الغير مشفر بدون مشكلة في وضع التطوير: http://localhost/phpmyadmin/ من الأفضل لو استخدمت بيئة Laragon فلن تواجه بها مثل تلك المشاكل.1 نقطة
-
اولا يجب عليك تحميل sqlite3 اولا و هذا عن طريق هذا الرابط و الضغط على sqlite-tools-win-x64-3460100.zip و بعد التنزيل يجب فك الضغط. ثم ابحث عن Advanced system settings فى بحث الويندوز. و اضغط على Environment Variables button ثم ابحث عن Path فى ال System variables و اضغط New و اضف المسار للملف الذى فككت الضغط له ثم اضغط ok و بعد ذلك افتح ال terminal و حول المسار الى الفولدر الذى يحتوى على الملف. ثم نفذ هذا الامر: sqlite3 database.db .dump > database.sql قم بإنشاء قاعدة بيانات جديدة في MySQL لاستيراد البيانات إليها. يمكنك استخدام أداة مثل mysql من سطر الأوامر أو أي أداة إدارة قاعدة بيانات مثل phpMyAdmin أو MySQL Workbench. و مثلا سننشئ قاعدة بيانات اسمها my_database: CREATE DATABASE my_database; الآن يمكنك استيراد ملف SQL إلى قاعدة بيانات MySQL. mysql -u username -p my_database < database.sql استبدل username باسم المستخدم الخاص بـ MySQL، وmy_database باسم قاعدة البيانات التي أنشأتها و بعد ذلك يمكنك استعمال اى استبيان للتأكد من وجود البيانات و هناك طريقة اخرى بدون الحاجة الى sqlite وهى استخدام مكتبات sqlalchemy و pandas و عن طريق هذا الكود: import pandas as pd from sqlalchemy import create_engine # تحميل ملف CSV df = pd.read_csv("data.csv") # إنشاء اتصال بقاعدة البيانات MySQL engine = create_engine('mysql+pymysql://username:password@localhost/my_database') # تحويل البيانات إلى SQL df.to_sql("table_name", con=engine, if_exists="replace", index=False) تأكد من استبدال username وpassword وlocalhost وmy_database بالقيم الخاصة بإعدادات MySQL الخاصة بك.1 نقطة
-
الخطأ الذي تواجهه ناتج عن محاولة الوصول إلى phpMyAdmin باستخدام بروتوكول HTTP على منفذ 443، وهو المنفذ المخصص لاتصالات HTTPS المشفرة، يعني يجب استخدام HTTPS بدلا من HTTP عندما تحاول الوصول إلى المنفذ 443. لإصلاح هذا الخطأ، قم بتغيير العنوان في المتصفح ليكون: https://localhost/phpmyadmin بالتوفيق إن شاء الله.1 نقطة
-
الخطأ الذي تواجهه يشير إلى أنك تحاول الوصول إلى خادم Apache عبر بروتوكول HTTP العادي على منفذ مخصص لـ HTTPS ، حيث أن المنفذ 443 هو المنفذ الافتراضي للاتصال الآمن باستخدام بروتوكول HTTPS، لذا يجب عليك استخدام "https://" بدلاً من "http://" في عنوان الـ URL. حاول استخدام الرابط التالي: https://localhost:443/phpmyadmin1 نقطة
-
هذا الخطأ ناتج عن محاولة الاتصال بخادم يستخدم بروتوكول SSL أي HTTPS عبر بروتوكول غير مشفر كهذا (HTTP) لهذا يجب عليك استخدام البروتوكول الآمن عند الوصول إلى phpMyAdmin. حاول إدخال العنوان التالي في متصفحك والمحاولة مرة أخرى: https://localhost:443/phpmyadmin1 نقطة
-
منذ بداية ظهور الشبكة العنكبوتية تغيرت حياتنا تغيرًا جذريًا سواء كنا مستهلكين أو مُنتجين اضطررنا لنقل جزء من حياتنا أو أعمالنا إلى هذه الشبكة وسرعان ما أصبحت الشبكة جزءًا رئيسيًا من حياتنا اليومية ومن أنشطتنا التجارية أيضًا، اقتصر الأمر في البداية على الحواسيب ولم تحدث القفزة الكبيرة التي عززت اندماج الإنترنت في عصرنا الحالي إلا عندما تطورت صناعة أجهزة الهواتف المحمولة وانتشرت بأيدي جميع المستهلكين فمنذ أن أعلن ستيف جوبز عن تحفته في عام 2007 وهو جهاز الآيفون ثم انتقلت صناعة الهواتف المحمولة من مجرد جهاز مخصص للاتصالات والتواصل إلى حاسوب شخصي مصغّر قادر على أداء العديد من المهام والوظائف ولكن الأهم من ذلك عرض الإعلانات! عندما أثبت ستيف جوبز بأنه يمكننا تطوير جهاز حاسوب بحجم كف اليد لم تتغير صناعة الأجهزة الذكية فحسب بل نشأ سوق جديد وهو سوق الأجهزة القابلة للارتداء ليظهر لدينا العديد من الأجهزة الذكية مثل النظارات والساعات والألبسة وأجهزة مراقبة الصحة والكثير من الأجهزة الأخرى كما تطورت الأجهزة الموجودة في الأسواق مثل الشاشات الذكية وأدوات المنزل الذكي. احتوت جميع الأجهزة الذكية على نظام تشغيل يخزن البيانات ويعالجها ويتتبع بيانات المستخدمين ويعرض بعضها إعلانات تناسب اهتماماتهم. ومع وجود هذا الكم الكبير من الأجهزة الذكية والمواقع والشبكات الاجتماعية أدى ذلك إلى توليد بيانات كبيرة جدًا لأنه في الحقيقة كل حركة حرفيًا يمكن أن تُسجل وتحفظ في قاعدة البيانات فمثلًا سواء كنت جالسًا أما تلفازك الذكي وتقلب القنوات أو ذاهبًا للركض وبيدك ساعة ذكية تراقب حركتك أو حتى عالقًا في سيارتك في وسط زحمة المرور خانقة ومشغلًا ميزة التتبع الجغرافي GPS، فإنك في كل نشاط تقريبًا تولّد بيانات يمكن استثمارها والاستفادة منها. هذه الوفرة من البيانات غيرت طبيعة المنافسة لطالما استفاد عمالقة التكنولوجيا من تأثير الشبكة فمثلًا كلما زاد عدد مستخدمي شبكة فيسبوك، زادت جاذبية الاشتراك بهذه شبكة. الأمر الذي يساعد على جمع المزيد من البيانات، وبالتالي سيكون لدى الشركة مجال أكبر لتحسين منتجاتها، والذي بدورها تجذب المزيد من المستخدمين وتضاف المزيد من البيانات وهكذا دواليك. على سبيل المثال، تجمع شركة تسلا البيانات من سياراتها الذاتية مثل معلومات حول السرعة وسجل الشحن والصيانة ومعلومات متنوعة عن أداء النظام الكهربائي للسيارة والكثير من المعلومات الأخرى الدقيقة بالإضافة إلى جمع البيانات الخاصة بنظام القيادة الآلي ولكن مشاركة هذه البيانات اختياري وليس اجباري كما صرحت الشركة، ومن خلال هذه البيانات استطاعت الشركة تطوير ميزات تنافسية مثل تحسين نظام القيادة الذاتية وإمكانية توفير أكثر من 30% من كلفة التأمين على السيارة (في حال مشاركة معلومات القيادة) وفهم أفضل لأنماط القيادة التي يتبعها المستهلكين لذلك من السهل فهم كيف استطاعت شركة تسلا أن تصل بقيمتها السوقية إلى نصف قيمة شركة جنرال موتورز وذلك في عام 2013 بالرغم من أن تسلا لم تبع سوى 25 ألف سيارة خلال 10 سنوات بالمقابل باعت شركة جنرال موتورز 450 مليون سيارة على مدى 105 سنة من تاريخ الشركة، بالطبع لا يعود الأمر كله للبيانات ولكن لعبت البيانات جزءًا كبيرًا في تقييم الشركة وهذا يدل على قوة البيانات الضخمة وكيف يمكن أن تساعد الشركات على رفع قيمتها وحفر خنادق حولها لتجنب وصول الشركات المنافسة إليها وإلى عملائها. ولكن أين تتجمع كل هذه البيانات؟ وهل تخزن جميعها وتستثمر؟ في الحقيقة تعد عملية تجميع البيانات وتنقيتها وفرزها واستخلاص المناسب منها من أصعب العمليات يمكنك تخيل الأمر على أن البيانات هي نفايات وموجودة في مكب نفايات عملاق، كيف يمكننا الاستفادة منها؟ في البداية نحتاج إلى تصميم مكب النفايات ليناسب النفايات الموجودة فيه وهذه هي عملية تصميم قواعد البيانات وبعد أن وضعنا النفايات في المكب سنحتاج إلى آلات لفرز هذه النفايات؟ وهنا يأتي دور عمليات تنقية البيانات وتنقيحها وحذف المكرر منها …إلخ، كلما اعتنينا بطريقة تصميم قواعد البيانات وطرق تنظيفها استفدنا أكثر من هذه البيانات وبالتأكيد كلما حسنا من أي خطوة في هذه السلسة مثل طريقة جمع البيانات من الأساس سهلت الخطوات التي تليها. سنستعرض في هذا المقال أهمية البيانات في عصرنا الحالي كمجال دراسي واستثمار لأصحاب الشركات على المدى الطويل وسنتعرف على خطوات تصميم قاعدة بيانات وما هي الوظائف المرتبطة بقواعد البيانات؛ وسنتبع التدرج الآتي في عرض عناصره: البيانات كمحرك رئيسي للتطوير ما هو تصميم قواعد البيانات؟ التخصصات المرتبطة بقواعد البيانات من أين أبدأ بتعلم تصميم قواعد البيانات؟ التخصص في قطاعات البيانات التوظيف وفرص العمل في تخصصات البيانات اقتصاد البيانات Data Economy البيانات كمحرك رئيسي للتطوير كلما زادت كمية البيانات التي تجمعها الشركات عن مستخدميها زادت قوة هذه الشركات وتحسنت طريقة فهمها لهم لأنه في الواقع أظهرت لنا البيانات السلوك الحقيقي للمستهلكين مثلًا في مجال التجارة الإلكترونية وبأن قرارات الشراء الخاصة بهم يمكن جدًا ألا تكون ناجمة عن تخطيط ودراسة وإنما تأثيرات خارجية لا علاقة لها بالمنتج أو الجودة أو السعر بطريقة مباشرة (لمزيد من المعلومات حول القرارات اللاعقلانية للمستهلكين ننصح بقراءة مقال مدخل إلى سلوك المستهلك). لا يتوقف الأمر عند ذلك فحسب بل إن خوارزميات الذكاء الاصطناعي Artificial Intelligence وتعلم الآلة Machine Learning تستخلص وتحلل وتستنج معلومات أكبر من حجم البيانات أحيانًا، ويمكن أن تتنبأ الخوارزميات بالوقت الذي يكون فيه العميل جاهزًا للشراء، أو عندما يحتاج محرك السيارة الذكية إلى الصيانة أو عندما يكون الشخص معرضًا لخطر الإصابة بمرض ما عندما تشير ساعته الذكية إلى اضطراب في دقات القلب، ولكن لنعود قليلًا للوراء لنرى الصورة الكبيرة للأمر ونفهم كيف حدث ذلك، وهنا لا بدّ لنا من طرح بعض الأسئلة: كيف صُممت قواعد البيانات لتتحمل هذه الكميات الكبيرة من البيانات؟ ما هي الطرق المستخدمة في التصميم؟ هل تصميم قاعدة بيانات لشركة سيارات مثلًا يختلف عن تصميم قاعدة بيانات لمحل تجاري؟ هل يجب تعهيد عملية تصميم قواعد البيانات للمختصين؟ ما هي الاستثمارات المرتبطة بقاعدة البيانات؟ كيف تؤثر قواعد البيانات بقرارات الشركات؟ من هم الموظفون الذين يمكن أن نوظفهم لتحقيق أكبر استثمار لقواعد البيانات الخاصة بنا؟ هل ستحقق قواعد البيانات العائد على الاستثمار الذي وضعناه بها؟ شكلت هذه الأسئلة وغيرها عقبة في وجه الشركات الناشئة ووضعتها في موقف صعب لأن تصميم قاعدة بيانات تعمّر في هذا الزمن المتسارع يتطلب جهدًا كبيرًا ودراسة مفصلة ولكن لحسن الحظ أن الدليل بين أيدينا ويمكن تطبيقه. هيا بنا لنتعرف على خطوات تصميم وبناء قاعدة بيانات بالتفصيل. ما هو تصميم قواعد البيانات؟ في أي نظام تراه أعيننا (سواء موقع أو متجر إلكتروني أو أي نظام إلكتروني) يوجد مرحلة أولية تشترك بها جميع الأنظمة وهي تصميم قواعد البيانات في هذه المرحلة نخطط لما ستكون عليه الجداول والأعمدة التي تحتويها وأنواع البيانات فيها والعلاقات بين الجداول والقيود المحددة لها وهكذا، ولذلك تحتل مرحلة تصميم قاعدة بيانات أهمية كبيرة في أي نظام ولا بدّ من إجراء تصميم متين ومناسب لكي نستطيع تطويره في المستقبل. تعد قواعد البيانات Database جزءًا من منظومة معلوماتية أكبر تدعى نظام المعلومات Information System والتي هي مجموعة متكاملة من المكونات لجمع البيانات وتخزينها ومعالجتها ولتوفير المعلومات والمعرفة والمنتجات الرقمية. تعتمد الشركات على أنظمة المعلومات لتنفيذ عملياتها وإدارتها، والتفاعل مع عملائها ومورديها، والمنافسة في الأسواق، وتتكون أنظمة المعلومات من الأجهزة والبرمجيات والبيانات والأشخاص والعمليات. تتكامل أنظمة المعلومات مع قواعد البيانات لتشكل لدينا نظامًا معلوماتيًا متكامل الوظائف، تتشابه دورة حياة تطوير الأنظمة Systems Development Life Cycle (ويشار إليه اختصارًا SDLC) مع دورة تطوير قواعد البيانات Database Life Cycle (ويشار إليها اختصارا DBLC)، وهي عملية مستمرة لإنشاء وتصميم قواعد البيانات ونمذجتها وتحسينها وتطويرها وصيانتها. في الحقيقة هنالك العديد من الأطر المقترحة لدورة تطوير قواعد البيانات لن نناقش الفروقات بينها وإنما سنشرحُ أعم إطار مقترح والذي تكون خطواته على الشكل التالي: تحليل متطلبات البيانات Data Requirements Analysis تصميم قاعدة البيانات Database Design 3.نمذجة قاعدة بيانات Database Modeling تنفيذ قاعدة البيانات Database Implementation اختبار قاعدة البيانات Database Testing التشغيل وإدارة قاعدة البيانات Database Operation صيانة قاعدة البيانات Database Maintenance 1. تحليل متطلبات البيانات Data Requirements Analysis تبدأ عملية تطوير قاعدة البيانات بتحليل عام لوظائف النظام الذي ستُبنى من أجله ومستخدمي هذا النظام، وطبيعة البيانات المطلوب تخزينها ومعالجتها، والتقارير المطلوب تسليمها في النظام أو المستندات الرسمية بين الأقسام الموجودة؛ لذلك من الضروري جمع الحقائق من خلال المقابلات والاستبيانات والملاحظات وفحص الوثائق المختلفة المعتمدة في الشركة أو أي نظام نحن بصدد تصميم قواعد بيانات له مثل النماذج والتقارير والمستندات الأخرى ذات الصلة، ويمكننا عندها تكوين نظرة أولية لما ستكون عليه قاعدة البيانات بصورة عامة. يجب تحديد الأهداف أو المشاكل التي نتوقع من النظام أو قاعدة البيانات حلها، ومن المرجح أن ينتج عن كل مشكلة قائمة مرتبطة بها من المشاكل. تتمثل مهمة المصمم في التأكد من أن أهداف نظام وقاعدة البيانات الخاصة به تتوافق مع تلك التي يتصورها صاحب الشركة والمستخدم (المستخدمون) النهائي، بالإضافة إلى ذلك يجب على المصمم الإجابة على الأسئلة التالية: هل سيشمل تصميم قاعدة البيانات الشركة بأكملها أو قسمًا واحدًا فقط؟ هل سيخدم النظام وظيفة واحدة لكل قسم أم كل الوظائف؟ هل ستتوسع قاعدة البيانات (أو النظام) ليضيف كل أقسام الشركة؟ هل سيتفاعل النظام مع أنظمة أخرى حالية أو مستقبلية في الشركة؟ هل سيشارك النظام البيانات مع أنظمة أو مستخدمين آخرين؟ ما هو المدة الزمنية المقدرة للتسليم؟ ما هي الميزانية المتاحة؟ تساعد الإجابة على هذه الأسئلة في معرفة النطاق والحدود الخاصة بالمشروع إذ يحدد نطاق النظام مدى حجم التصميم المطلوب لكي يعرف المصمم حجم البيانات التقديري. تساعد معرفة النطاق في تحديد هياكل البيانات المطلوبة ونوع الكيانات وعددها والحجم المادي لقاعدة البيانات وما إلى ذلك. يخضع النظام المقترح أيضًا لحدود تُعرف بالحدود الخارجية للنظام، مثل الوقت المتاح للتصميم والميزانية المتاحة. تؤثر النقاط السابقة في كيفية تصميم النظام وقاعدة البيانات المطلوبة وتتمثل مهمة المصمم في تحديد الخيارات الأفضل للنظام ضمن هذه القيود. 2. تصميم قاعدة البيانات Database Design هنالك عدة طرق لتصميم قواعد البيانات كل طريقة لها محاسنها ومساوئها يجب على المحلل النظام ومسؤول قواعد البيانات التحدث والعمل مع المستخدمين لتحديد ما هو مهم للمستخدمين ونتيجة لذلك تحديد البيانات التي يجب تخزينها في قاعدة البيانات. ما يفعله المحلل عادة هو إنشاء بعض النماذج الأولية من التقارير والواجهات الخاصة بالمستخدمين والنماذج لمساعدة المستخدمين على تصور الشكل الذي سيبدو عليه النظام وكيف سيعمل النظام، ومن أبرز طرق تصميم قواعد البيانات نذكر: تصميم قواعد البيانات من الأعلى إلى الأسفل Top-down Design تصميم قواعد البيانات من الأسفل إلى الأعلى Bottom-up design تصميم قواعد البيانات من أعلى إلى أسفل Top-down Design ويسمى أيضًا بنموذج التصميم التنازلي وتبدأ هذه الطريقة في التصميم من الأعم إلى الأخص. أي تبدأ بفكرة عامة عما هو مطلوب للنظام ثم تسأل المستخدمين النهائيين عن البيانات التي يحتاجون إلى تخزينها. سيعمل المحلل بعد ذلك مع المستخدمين لتحديد البيانات التي يجب الاحتفاظ بها في قاعدة البيانات، ويتطلب استخدام هذا الأسلوب أن يكون لدى المحلل فهمًا مفصلًا للنظام؛ لأنه في بعض الحالات يمكن أن يؤدي التصميم من أعلى إلى أسفل إلى نتائج غير مرضية لأن المحلل والمستخدمين النهائيين يمكن أن يفوتوا معلومات مهمةً وضرورية للنظام. تصميم قواعد البيانات من الأسفل إلى الأعلى Bottom-up Design ويسمى أيضًا بنموذج التصميم التصاعدي ويبدأ هذا النهج بالتفاصيل الدقيقة والمحددة للمشروع ويحاول أن يعمم الفكرة. يفحص محلل النظام في البداية جميع واجهات المستخدمين المطلوبة تنفيذها في النظام، بالإضافة إلى التقارير والمعلومات المطلوب عرضها وتخزينها ومعالجتها. سيعمل المحلل بطريقة عكسية من خلال التركيز على التفاصيل الدقيقة والانتقال تباعًا للتفاصيل الأكبر منها. لفهم الاختلافات بين هذين الأسلوبين لنأخذ بعض الأمثلة عنهما. فمثلًا في أنظمة التحليل الإحصائي يعكف المحللين على أخذ عينة بيانات صغيرة من المجتمع ومن ثم تعميم الفكرة على إجمالي عدد السكان المتبقي. كما يستخدم الأطباء أيضًا النهج التصاعدي إذ يفحصون أعراضًا معينة للمرض ثم يحددون المرض العام الذي تسببه هذه الأعراض، وبالمقابل من الأمثلة التي تتطلب نهجًا تنازليًا هي مهام إدارة المشاريع والمهام الهندسية عمومًا إذ يجب في البداية تحديد المتطلبات العامة قبل فهم التفاصيل الدقيقة فيجب على الشركات الهندسية المصنعة للسيارات اتباع نهج التنازلي لتحقيق المواصفات المطلوبة للسيارة. فمثلًا إذا كان المطلوب أن تبلغ تكلفة السيارة أقل من 17000 دولار أمريكي، وأن تقطع 29 ميلًا للغالون الواحد من البنزين، وتتسع لسبعة أشخاص، فهذه المتطلبات العامة يجب الاعتماد عليها أولًا لتلبية التصميم المتوافق معها والانتقال إلى التفاصيل الدقيقة لتصميم السيارة. يُنظر عادة للنهجان على أنهما متكاملان إذ كلاهما يوصف التفاعلات التي تحدث في النظام ولكن واحدة ستكون من المنظور الأعلى والأخرى من الأسفل وللمزيد من المعلومات حول كيفية تصميم قواعد البيانات ننصح بقراءة مقال أمثلة عملية عن كيفية تصميم قواعد البيانات. 3. نمذجة قاعدة بيانات Database Modeling هي عملية إنشاء نموذج بيانات للبيانات المراد تخزينها في قاعدة بيانات وتعد النماذج تمثيلًا مبسطًا لكائنات البيانات، والارتباطات والقواعد المختلفة الموجودة بينها، تعد نماذج البيانات تمثيلًا بسيطًا لوصف تراكيب البيانات المعقدة في الحياة العملية على شكل رسومات وأشكال دون التركيز على الجانب التقني وهي وسيلة لتوضيح الأفكار بين المصمم والمبرمج والمدير وجميع أعضاء الفريق. تساعد نماذج البيانات في تحديد الجداول العلائقية والمفاتيح الأولية والخارجية المطلوبة، كما توفر صورة واضحة للبيانات الأساسية ويمكن لمطوري قواعد البيانات استخدامها لإنشاء قاعدة بيانات فعلية، بالإضافة إلى ذلك تفيد نمذجة البيانات في تحديد البيانات المفقودة والمكررة مما يساعدنا على تقليل عمليات توحيد البيانات Normalization، ويساعد أيضًا على تطوير قاعدة البيانات وصيانتها وإصلاحها وسد الثغرات الموجودة فيها؛ لذلك يعد العمل على النماذج استثمارًا طويل الأمد بالنسبة للجهد والمال، ومن أشهر النماذج المستخدمة في تصميم قواعد البيانات والأنظمة نذكر: لغة النمذجة الموحدة Unified Modeling Language نموذج الكيان والعلاقة Entity-relationship Model لغة النمذجة الموحدة Unified Modeling Language ويشار لها اختصارًا UML، وهي لغة نمذجة رسومية تقدم صيغة لوصف العناصر الرئيسية للنظم البرمجية. تستخدم هذه اللغة لعمل رسوم تخطيطية لوصف برامج الحاسوب والأنظمة عمومًا وذلك من خلال توصيف العناصر المكونة لها أو خط سير العمليات الذي ينفذه البرنامج. تساعد هذه اللغة على إنشاء النماذج وتصميم نموذج متكامل لأي مشروع برمجي. يوجد نوعان رئيسيان من مخططات UML وهما: المخططات الهيكلية Structural Diagrams، والذي يحتوي بدوره على المخططات التالية: مخطط الأصناف Class Diagram. مخطط الحزمة Package Diagram. مخطط الكائنات Object Diagram. مخطط المكونات Component Diagram. مخطط الهيكل المركب Composite Structure Diagram. مخطط النشر Deployment Diagram. المخططات السلوكية Behavioral Diagrams، والذي يحتوي بدوره على المخططات التالية: مخطط النشاط Activity Diagram. مخطط التسلسل Sequence Diagram. مخطط حالات الاستخدام Use Case Diagram. مخطط الحالة State Diagram. مخطط الاتصال Communication Diagram. المخطط التفاعلي العام Interaction Overview Diagram. المخطط الزمني Timing Diagram. تهدف هذه المخططات المتنوعة على تمثيل أنواع عديدة من السيناريوهات والأنظمة وطرق التفاعل بين الكائنات. يمكن أن تكون بعض المخططات أقرب لمنهجية معينة من المخططات الأخرى مثل مخطط الكائنات أقرب للبرمجة كائنية التوجه إلا أنه عمومًا تهدف لغة النمذجة الموحدة إلى توصيف النظام بدون التطرق إلى طريقة تنفيذ البرمجيات. في المثال السابق لدينا نظام صراف آلي يحتوي على 7 أصناف Classes وهي: البنك Bank الزبون Customer جهاز الصراف الآلي ATM الحساب المجرد Account حساب التوفير (الإدخار) Saving Account حساب جاري Current Account إجراءات الصراف الآلي ATM Transactions نلاحظ أن هنالك علاقات تربط بين جميع الأصناف لكل تحدد كل علاقة طريقة تفاعل الأصناف مع بعضها بعضًا ويشير كل رمز إلى مصطلح أو مفهوم في البرمجة كائنية التوجه مما يساعد المطور على فهم النظام وتحويله إلى شيفرة برمجية مناسبة، وللمزيد من المعلومات عن هذا المخطط والرموز الموجودة به ننصحك بقراءة مقال مخططات الفئات (Class Diagram) في لغة النمذجة الموحدة UML. نموذج الكيان والعلاقة Entity-relationship Model وهو نموذج مجرد لوصف الأشياء المترابطة في مجال معين من المعرفة. يكثر استخدام هذا النموذج عند تمثيل قواعد البيانات وفي هندسة البرمجيات عند تمثيل متطلبات النظام الأولي، بالإضافة إلى ذلك يحتوي هذا النموذج على تفاصيل أقرب للمفاهيم المعلوماتية بالموازنة مع لغة التوصيف الموحدة، وعمومًا يتألف النموذج الكيان والعلاقة من المفاهيم الرئيسية التالية: الكيان Entity: وهي الجدول -أو الجداول- التي نحتاجها في قاعدة البيانات الخاصة بنا ويمكن أن تشير إلى جدول الطلاب، أو الدورات التعليمية، أو الكتب، أو الموظفين. السمات Attributes: وهي الحقائق أو الأوصاف الخاصة بالكيانات، وغالبًا ما تكون أسماء وتصبح أعمدة في الجدول. فمثلًا بالنسبة لكيان الطلاب يمكن أن تكون السمات هي الاسم الأول والاسم الأخير والبريد الإلكتروني والعنوان وأرقام الهواتف …إلخ. 3.العلاقات Relationship: وهي الارتباطات بين الكيانات وتوصف الأفعال العلاقات بين الكيانات. وهنالك خمسة أنواع من العلاقات وهي: علاقة واحد إلى واحد One to one Relationship أو 1:1 علاقة واحد إلى متعدد One to many Relationship أو 1:M علاقة متعدد إلى متعدد Many to many Relationship أو M:M علاقة أحادية Unary Relationship علاقة ثلاثية n-ary عند نمذجة نظام من خلال نموذج الكيان والعلاقة يكون لدينا ثلاثة مستويات من التجريد وهي: نموذج البيانات المفاهيمي Conceptual Data Model. نموذج البيانات المنطقي Logical Data Model. نموذج البيانات المادي Physical Data Model. في البداية يعمل المحللون والمصممون على بناء نموذج مفاهيمي للبيانات لقاعدة البيانات المطلوبة ومن ثم يحولون النموذج المفاهيمي إلى منطقي ومن ثم إلى مادي وسنستعرض الفروقات بين هذه النماذج لفهم المراحل النمذجة التي تمر بها قاعدة البيانات، وللاسزادة والاطلاع على نموذج الكيان والعلاقة ننصحك بالاطلاع على مقال نموذج الكيان والعلاقة ER لتمثيل البيانات وتخزينها في قاعدة البيانات الذي يتناول بالتفصيل ويوضح كيفية بناءه. سنشرح سريعًا النماذج الثلاثة الخاصة بنموذج الكيان والعلاقة. 1. نموذج البيانات المفاهيمي Conceptual Data Model تبدأ عملية النمذجة من خلال بناء نموذج بيانات مفاهيمي بعرض منظم لمفاهيم قواعد البيانات وعلاقاتها، ويهدف هذا النموذج إلى إنشاء الكيانات وخصائصها وعلاقاتها بصورة عامة لذلك لا نجد في هذا المستوى من النمذجة أي تفاصيل متاحة حول بنية قاعدة البيانات الفعلية. عادة ما يبني هذا النموذج أصحاب الشركات التجارية، ومن خصائص نموذج البيانات المفاهيمي نذكر: يشرح معلومات أساسية ورؤية عامة لقاعدة البيانات أو المشروع. صُمم هذا النوع للأشخاص غير التقنيين من رواد الأعمال وأصحاب الشركات. طوّر هذا النموذج بطريقة مستقلة عن مواصفات الدقيقة لقاعدة البيانات. لن يشرح هذا النموذج أبدًا التفاصيل التقنية الدقيقة مثل سعة تخزين البيانات أو نوعية قواعد البيانات أو لغات البرمجة أو أنظمة إدارة قواعد البيانات Database Management Systems، وينصبُ تركيزه على تمثيل البيانات كما يراها المستخدم في العالم الحقيقي بدون الدخول للتفاصيل الدقيقة، ويمكن تنفيذها النموذج لاحقًا على أي نظام وقاعدة بيانات نريدها، ويكون النموذج الناتج مشابه للشكل التالي: 2. نموذج البيانات المنطقي Logical Data Model يستخدم نموذج البيانات المنطقية لتحديد هيكل عناصر البيانات وتعيين العلاقات فيما بينها، ويضيف نموذج البيانات المنطقي مزيدًا من المعلومات إلى عناصر نموذج البيانات المفاهيمية. يوفر هذا النموذج الأساس الأولي لتشكيل قاعدة البيانات للنموذج المادي. ومع ذلك، تظل بنية النمذجة عامة نسبيًا، ولن يتحدد في هذا المستوى من النمذجة المفاتيح الأساسية أو الثانوية بين الجداول، ومن خصائص نموذج البيانات المنطقية نذكر: يصف احتياجات البيانات لمشروع واحد ولكن يمكن أن يتكامل مع نماذج البيانات المنطقية الأخرى بناءً على نطاق المشروع. يصمم هذا النموذج ويطور بطريقة مستقلة عن نظام إدارة قواعد البيانات DBMS. يحتوي التصميم على سمات الكينونات الموجودة كأسماء بدون ذكر السعة أو النوع. تطبق عمليات التوحيد على النموذج لضبط عمليات تكرار البيانات. يحرص هذا النموذج على تجنب تكرار البيانات من خلال إجراء عملية التوحيد للوصول إلى النموذج الثالث 3NF على الأقل مع العلم أنه يوجد خمسة مراحل لعملية التوحيد، ويكون النموذج الناتج مشابه للشكل التالي: 3. نموذج البيانات المادي Physical Data Model نبني في هذه المرحلة الشكل النهائي للنموذج المقترح ويتطلب تصميم قاعدة البيانات المادية معرفة جميع التفاصيل الدقيقة ابتداءً من نظام إدارة قواعد البيانات DBMS وطريقة تنظيم السجلات وتنظيم الملفات واستخدام الفهارس …إلخ، يهدف هذا النموذج لتوفير تصميم قاعدة بيانات فعلي الذي يضمن أداءً مناسبًا، ومن خصائص نموذج البيانات المادية نذكر: يصف نموذج البيانات المادية الحاجة إلى البيانات لمشروع أو تطبيق واحد بالرغم من أنه يتكامل مع نماذج البيانات المادية الأخرى بناءً على نطاق المشروع. يحتوي نموذج البيانات على العلاقات بين الكيانات والتي ستصبح جداول. طوّر هذا النموذج لنسخة محددة من نظام إدارة قواعد البيانات أو طبقًا لتكنولوجيا محددة ما في المشروع. يجب أن تحتوي الأعمدة على أنواع بيانات دقيقة والقيم الافتراضية لبعض البيانات بحسب المطلوب. يحدد هذا النموذج المفاتيح الأساسية والثانوية والخارجية، والفهارس وملفات تعريف الوصول والتراخيص وما إلى ذلك. الهدف الرئيسي لتصميم نموذج المادي هو التأكد من أن كائنات البيانات التي يقدمها المصمم يمكن تمثيلها بدقة في نظام قاعدة البيانات المطلوب. ولمزيد من المعلومات حول طريقة نمذجة البيانات ننصح بقراءة مقال نمذجة البيانات وأنواعها في عملية تصميم قواعد البيانات. 4. تنفيذ قاعدة البيانات Database Implementation بعد اعتمادنا على التصميم المادي النهائي لقاعدة البيانات وتوضيح جميع أنواع البيانات المطلوبة في هذه المرحلة ننتقل إلى الخطوة التالية وهي تثبيت أنظمة إدارة قواعد البيانات المطلوبة على الخوادم ، وإنشاء قاعدة البيانات ونقل البيانات إليها، ويمكن أن تكون البيانات الأولية إما بيانات جديدة أو بيانات مستوردة من قاعدة بيانات قديمة، وعمومًا تتضمن هذه المرحلة النشاطات التالية: تثبيت نظام إدارة قواعد البيانات DBMS: مثل نظام MySQL أو MongoDB (تحدثنا في مقال مفصل عن الفرق بين MySQL و MongoDB ننصح بالاطلاع عليه) يمكن تثبيت النظام على خادم محلي أو استخدام خدمة قاعدة بيانات سحابية مثل Microsoft Azure SQL Database Service أو Amazon Relational Database Service (Amazon RDS) أو Google Cloud SQL، يتيح هذا الجيل الجديد من الخدمات السحابية إنشاء قواعد بيانات يمكن إدارتها واختبارها وترقيتها بسهولة حسب الحاجة. ضبط الإعدادات: ضبط متغيرات الإعداد وفقًا للأجهزة والبرامج وظروف الاستخدام. إنشاء قاعدة البيانات والجداول: يمكن إنشاء قاعدة بيانات باستخدام لغة قاعدة البيانات القياسية، مثل لغة الاستعلام المهيكلة SQL الموجودة في نظام إدارة قواعد البيانات MySQL. بالإضافة إلى ذلك قدمت العديد من أنظمة إدارة قواعد البيانات DBMS ميزة الرسم التخطيطي لإنشاء قاعدة البيانات دون الحاجة إلى كتابة تعليمات يدوية، مثل أنظمة Microsoft SQL Server و Microsoft Access و Oracle وغيرها. أو يمكن استخدام حلول خارجية مثل الأداة Erwin وهي (Entity Relationship for Windows) و Embarcadero ER/Studio و SQL Power Architect وغيرها. تحميل البيانات إلى قاعدة البيانات الجديدة: يمكن أن نحتاج في بعض الأحيان إلى ترحيل البيانات أو نقلها من قواعد البيانات القديمة إلى الجديدة، وتتطلب هذه الخطوة دراسة وتخطيط دقيقين لتجنب خسارة البيانات. عندما تكون جميع البيانات من نفس النوعية مثل قاعدة البيانات العلائقية فيمكن أن تكون عملية نقل البيانات سريعة وفي حال كانت الأنواع مختلفة عندها سنحتاج إلى عملية تحويل البيانات قبل إدخالها إلى قاعدة البيانات الجديدة. تطبيق السياسات الأمنية على قاعدة البيانات: تجهيز وإعداد المستخدمين لبدء العمل وشرح المفاهيم الأمنية والخطوات اللازمة لتطبيقها (مثل الحرص على تسجيل الخروج من نظام قاعدة البيانات عند الانتهاء من العمل) بالإضافة إلى منح المستخدمين المختلفين الذين حددتهم حق الوصول المناسبة بناء على متطلباتهم. تنفيذ نظام النسخ الاحتياطي: يفضل أن يكون النسخة الاحتياطية في مخدم آخر وتجنب وضعها على نفس المخدم لأنه في حال حدوث إختراق فعندها سنخسر جميع البيانات. تهيئ هذه المرحلة قاعدة البيانات لعملية الاختبار النهائي قبل النشر. 5. اختبار قاعدة البيانات Database Testing اختبار قاعدة البيانات هو نوع من اختبار البرامج الذي يتحقق من المخطط والجداول والقوادح Triggers وسلامة البيانات واتساقها وجميع الأمور المتعلقة بها علمًا بأن القوادح هي إجراءات تُنفَّذ في الخلفية آليًا بعد كل عملية إضافة أو تعديل أو حذف على جدول ما، ويمكن أن يتضمن الاختبار إنشاء استعلامات معقدة لقياس كيفية استجابة قاعدة البيانات وقدرتها على معالجة الاستعلامات والتحقق من صحة استجابتها. يعد اختبار قاعدة البيانات مهمًا لأنه يضمن صحة قيم البيانات والمعلومات المخزنة فيها، ويساعد على تجنب فقدان البيانات وعدم الوصول غير المصرح به إلى المعلومات. يجب أن يكون لدى المختبرين معرفة جيدة بلغة الاستعلام SQL، ويمكن أن تتضمن أنشطة الاختبار ما يلي: اختبار صحة مخطط قاعدة البيانات. صحة تخزين البيانات في جداول قاعدة البيانات. أنواع الأعمدة وسعتها. المفاتيح الأساسية والثانوية والفهارس. صحة طريقة تنفيذ الإجراءات المرتبطة بالقوادح. التحقق من تكرار البيانات. كما يمكن إجراء اختبار الحمل Load Testing واختبار الإجهاد Stress Testing واختبار الأمان Security Testing واختبار سهولة الاستخدام Usability Testing واختبار التوافق Compatibility Testing وما إلى ذلك، إذ يساعد اختباري الحمل والإجهاد (يُعرف اختبار إجهاد البيانات أيضًا باسم اختبار التعذيب Torturous Testing أو اختبار التعب Fatigue Testing) على معرفة أداء قاعدة البيانات فمثلًا عندما يكون هنالك ضغطًا كبيرًا على قاعدة البيانات عندها يجب أن تتحمل قاعدة البيانات الكثير من الطلبات ويحب علينا أن نعرف فيما إذا كان هنالك نقطة ما ستنهار قاعدة البيانات عندها، إذ يساعد تحديد نقطة انهيار نظام قاعدة البيانات على معرفة محدودية النظام وإمكانياته وبالتالي جدولة التحديث اللازم له في المستقبل. كما يجب تكثيف الجهود لتجنب الإفراط في استخدام الموارد الموجودة في قاعدة البيانات. 6. التشغيل وإدارة قاعدة البيانات Database Operation تحدث مرحلة التشغيل عند اكتمال الاختبار والاستعداد النهائي لنشر قاعدة البيانات للاستخدام اليومي. يبدأ مستخدمو النظام في تشغيل النظام وتحميل البيانات وقراءة التقارير وما إلى ذلك، ومن الطبيعي جدًا أن تظهر المشاكل في هذه المرحلة، إذ يحتاج المسؤولون في هذه المرحلة إلى الإسراع في صيانة قاعدة البيانات، يذكر أن هناك العديد من الاستراتيجيات لنشر قاعدة البيانات وغالبًا ما يستخدم نهج النشر المحدود والذي يخفض عدد المستخدمين نسبيًا ولتكون عملية إصلاح الأخطاء سهلة نسبيًا، وبالرغم من كثرة عمليات الاختبار إلى أن المستخدمين غالبًا ما يجدون أخطاء لا تخطر على البال أثناء التطوير كما أن بعض الشركات أيضًا تنشر تطبيقًا تجريبيًا لكي يتجهز المستخدم لمواجهة الأخطاء بدون التأثير على علاقته بالعلامة التجارية هذا الأمر يساعد على حفاظ الشركة على سمعتها ومكانتها في الأسواق، وفي حال استقرار النظام وقاعدة البيانات ينشر التطبيق إلى بقية المستخدمين. ويمكن أن تتضمن هذه المرحلة ما يلي: مراقبة عملية تطبيق السياسات الأمنية على قاعدة البيانات والاطلاع على فهم الموظفين لحجم الخطورة الخاصة بالبيانات. مراقبة تنفيذ عمليات النسخ الاحتياطي والتحقق من صحة عملية النسخ الاحتياطي دوريًا. إحصائيات الوصول إلى قاعدة البيانات لتحسين الكفاءة وسهولة استخدام عمليات تدقيق النظام ومراقبة أداء النظام. تلخيص استخدام النظام الشهري أو ربع السنوي أو السنوي لأغراض إعداد الفواتير الداخلية أو الميزانية. في حال ظهور خطأ ما في قاعدة البيانات ننتقل عندها إلى عملية الصيانة. 7. صيانة قاعدة البيانات Database Maintenance تعد صيانة قاعدة البيانات جزءًا أساسيًا من عمليات تطوير قاعدة البيانات ولها أثر كبير على ديمومة النظام ككل لأن الصيانة الأولية لقاعدة البيانات تقينا من شر إعادة بناء القاعدة من جديد، تتضمن أنشطة الصيانة العديد من المهام المتنوعة، بالإضافة إلى ذلك عند تشغيل قاعدة البيانات وبدء الاعتماد عليها يراقب المسؤول عنها الأداء والسرعة والمشاكل التي يمكن أن تظهر في البداية لمعرفة فيما إذا حققت المعايير المطلوبة الجودة والسلامة. يجري مسؤولو قاعدة البيانات عمليات صيانة روتينية وتتضمن بعض أنشطة الصيانة الدورية المطلوبة ما يلي: الصيانة الوقائية (مثل عمليات النسخ الاحتياطي وتغيير كلمات المرور دوريًا). الصيانة التصحيحية (مثل تصحيح الأخطاء المكتشفة عند التشغيل وصيانة أنواع البيانات والفهارس). الصيانة التكيفية (مثل العمل على تحسين الأداء وإضافة الكيانات والسمات وما إلى ذلك). تخصيص أذونات الوصول وصيانتها للمستخدمين الجدد والقدامى (مثل إضافة صلاحيات مخصصة ودقيقة للمستخدمين وإزالة الصلاحيات العامة). عمليات تدقيق أمنية دورية بناءً على الإحصائيات التي ينشئها النظام. يمكن تكون هناك حاجة إلى تعديلات أخرى لقواعد البيانات مع تغير احتياجات الشركة والمستخدمين، وبالتالي ستستمر دورة الحياة بالمراقبة وإعادة التصميم والتحسين. والآن يمكن أن إلى هنا نكون فهمنا بالفعل معظم أساسيات تطوير وتصميم قواعد البيانات التي سنحتاج إليها، ولكن ماذا عن أسواق العمل وما الذي يمكن أن يضيفه طلاب التخصصات المرتبطة بقواعد البيانات إلى الشركات القديمة أو الناشئة؟ في الحقيقة هنالك الكثير من التخصصات المرتبطة بقواعد البيانات وكل تخصص يضيف قيمة مختلفة إلى الشركة، وعندما يدرس الطلاب عادة تخصص علوم الحاسوب أو التخصصات التقنية في الجامعة عمومًا لا يتخصص الطالب في مجال معين وإنما تكون التخصصات اختيارية سواء مع أو بعد دراسة علوم الحاسوب، يختار الطالب تخصصًا واحدًا أو اثنين على الأكثر، ثم يدرسونه دراسة معمقة، لذلك سننتقل تاليًا إلى شرح التخصصات المرتبطة بقواعد البيانات التي يمكن لمهندس الحاسوب أو دارس تخصص علم الحاسوب أو أي مجال قريب إليها أن يعمل ويتخصص فيها. كما ستوضح الفقرات التالية أهمية هذه التخصصات لأصحاب شركات المستقبل. التخصصات المرتبطة بقواعد البيانات لا تكاد توجد شركة في وقتنا الحالي إلا ولديها موظف على الأقل من التخصصات المرتبطة بقواعد البيانات ولا نقصد بذلك الشركات التقنية فقط وإنما جميع الشركات التجارية وهذه فرصة للطلاب لكي يتعلموا الوظائف المتاحة لهم من خلال تأسيس أنفسهم بها لإكمال دراستهم لهذه المجالات سواء كان مع دراستهم الجامعية أو حتى بعد التخرج. يتزايد اهتمام أصحاب الشركات بتوظيف الأشخاص الذين يساعدون الشركة في بناء وتصميم قاعدة بيانات قوية لأنهم يرون تزايد أهمية تقنيات الذكاء الصنعي وتعلم الآلة في تطوير الشركات وهذه التقنيات تعتمد بالدرجة الأولى على قواعد البيانات وطريقة جمع بيانات العملاء والمستخدمين. تتنوع تخصصات قواعد البيانات ابتدءًا من مدير قواعد البيانات مرورًا بمحلل أمن المعلومات وانتهاء بمهندس البيانات الضخمة وكل تخصص من هذه التخصصات لديه واجباته ومهامه المتنوعة يمكن أن يتخصص الدراس لتصميم قواعد البيانات في إحدى هذه التخصصات ويعمل بها بعد التخرج، ومن أهم تخصصات قواعد البيانات الوظيفية نذكر: مدير قواعد البيانات Database Administrator مُنمذج البيانات Data Modeler مطورو ومهندسو البرمجيات Software Developer and Engineer محلل أمن المعلومات Information Security Analyst محلل البيانات Data Analyst عالم البيانات Data Scientist مهندس البيانات الضخمة Big Data Engineer 1. مدير قواعد البيانات Database Administrator يركز مدير قواعد البيانات على إدارة وصيانة كل قواعد بيانات الخاصة بالشركة. يحتاج المرشحون لدور إدارة قاعدة البيانات إلى أسس تقنية قوية لفهم بنية وتكوين قاعدة البيانات وطريقة صيانتها، ويبحث غالبية أصحاب العمل عن أفراد لديهم معرفة وخبرة في لغات وتطبيقات قواعد البيانات العلائقية الرئيسية مثل Microsoft SQL Server وأوراكل Oracle و IBM DB2، ومن المهام مسؤول قاعدة البيانات نذكر: إدارة ومراقبة وصيانة قواعد بيانات الشركة. إجراء التغييرات والتحديثات والتعديلات المطلوبة للبيانات ولهيكل قاعدة البيانات أيضًا. ضمان أمان قاعدة البيانات وتكاملها واستقرارها وتوفرها عند الطلب. الحفاظ على البنية التحتية للنسخ الاحتياطي والاستعادة لقاعدة البيانات. يتشابه عمل مدير قواعد البيانات مع مطور قواعد البيانات Database Developer وغالبًا ما يؤدي المهمتين شخص واحد وتكون مهام مطور قواعد البيانات على الشكل التالي: تصميم قواعد بيانات مستقرة وموثوقة وفعالة. تحسين وصيانة الأنظمة القديمة. تعديل قواعد البيانات حسب الطلبات وإجراء الاختبارات. حل مشكلات استخدام قاعدة البيانات والأعطال. الاتصال بالمطورين لتحسين التطبيقات وإنشاء أفضل الممارسات. جمع متطلبات المستخدم وتحديد الميزات الجديدة. تطوير كتيبات فنية وتدريبية. توفير دعم إدارة البيانات للمستخدمين. التأكد من أن جميع برامج قواعد البيانات تلبي متطلبات الشركة والأداء. البحث واقتراح منتجات وخدمات وبروتوكولات قواعد البيانات الجديدة. تتشابه وظيفة مديرو قواعد البيانات مع مطوروها إلا أن المدير يشرف عادةً على قواعد البيانات والمستخدمين أيضًا للتأكد من أن المنظومة آمنة ومنظمة وتعمل بكفاءة وسلاسة. ويطور مديرو قواعد البيانات الأنظمة وإجراءات السلامة وإجراءات الإدارة الجيدة للبيانات، ويحللون الأجهزة والبرمجيات لضمان أمن البيانات، والتأكد من أن سياسات الأمان تتوافق مع اللوائح القانونية للشركة أو الحكومات الموجودة بها هذه الشركة. بالإضافة إلى ذلك يدرب مديرو قواعد البيانات زملائهم الموظفين على كيفية استخدام قواعد البيانات والالتزام بإرشادات الأمان وتحديث الأنظمة حسب الحاجة. 2. منمذج البيانات Data Modeler مُنمذج البيانات هو الشخص المسؤول عن تصميم قواعد البيانات وتجهيزها لنشرها للاستخدام وتحديثها وإصلاحها ومراجعتها. عادةً ما يُحلل منمذجو البيانات هياكل أو أنظمة البيانات الموجودة مسبقًا والتعامل مع مشكلات تكرار البيانات وحركة البيانات داخل النظام بصورة عامة، ويسعون لتسهيل عملية استرداد البيانات ضمن نماذج بيانات خاصة بهم، ويتعاونون مع بقية الفريق لإنشاء نماذج وقواعد بيانات لتبقى فترات طويلة ونماذج البيانات المفاهيمية والمنطقية والمادية لجميع أقسام الشركة وذلك لسهولة التحديثات والتطوير في المستقبل. ويعمل منمذج البيانات مع مهندسي ومحللي البيانات لتنفيذ حلول نمذجة البيانات من أجل تبسيط ودعم إدارة معلومات الشركة، ولضمان نجاحك كمنمذج للبيانات يجب أن يكون لديك معرفة عميقة بطريقة تخزين البيانات في قواعد البيانات، فضلًا عن مهارات التواصل لجمع المعلومات من الموظفين، وعمومًا من مسؤوليات منمذج البيانات نذكر: تحليل وترجمة احتياجات العمل إلى نماذج قواعد بيانات لبناء حلول طويلة الأمد. تقييم أنظمة البيانات الموجودة. العمل مع فريق التطوير لإنشاء نماذج بيانات وطريقة تدفق البيانات. تطوير أفضل الممارسات لترميز البيانات لضمان الاتساق داخل النظام. مراجعة تعديلات الأنظمة الموجودة للتوافق المتبادل بين قواعد بيانات الشركة. تنفيذ استراتيجيات البيانات وتطوير نماذج البيانات المادية. تحديث النماذج المحلية والبيانات الوصفية وتحسينها. تقييم أنظمة البيانات المنفذة للفروق والتناقضات والكفاءة. استكشاف الأخطاء وإصلاحها وتحسين أنظمة البيانات. 3. مهندسو ومطورو البرمجيات Software Developer and Engineer وهم الأشخاص المتخصصون في تطوير البرمجيات وتطبيقات الأعمال وأنظمة التحكم في الشبكة وأنظمة التشغيل للشركات والمؤسسات. يلتقي مهندسو البرمجيات المحترفون مع العملاء لتحديد احتياجاتهم من البرامج والأنظمة ويعملون على بناء النماذج التصميمية المناسبة للمشروع حسب الطلب سواء مخططات باستخدام لغة النمذجة الموحدة UML أو أي طريقة أخرى، كما يصمم مهندسو البرمجيات مخططات لنظام البرمجي وقاعدة البيانات وينتقلون من التصميم الأولي أو المفاهيمي إلى المنطقي ومن ثم المادي في إطار عملهم على إنتاج البرمجيات، كما يعمل مهندسو البرمجيات على صيانة برمجيات وأنظمة الشركات وإجراء إصلاحات أو تحديثات أو تغييرات أخرى حسب الحاجة، ويساعدوا موظفي الشركة على تعلم كيفية استخدام هذه الأنظمة أو يطرحوا دليل نظري لتعلمها. يتكامل عمل مهندسي البرمجيات مع مطوري البرمجيات فالأول يخطط لما ستكون عليه البرمجية والثاني ينفذها بالطريقة المناسبة ويتعاونان خلال هذه الرحلة لضمان سيرها وفقًا للمطلوب ومن مسؤوليات مهندسي مطوري البرمجيات نذكر: تعاون مع الفريق لتصميم الخوارزميات والمخططات الانسيابية. إنتاج شيفرة برمجية نظيفة وفعالة بناءً على المتطلبات. دمج مكونات مختلف برمجيات الشركة مع واجهات برمجة التطبيقات الخارجية. العمل على تصميم برمجيات تتكامل مع قواعد البيانات القديمة. تصميم وتطوير برمجيات قابلة لجمع بيانات المستخدمين وتخزينها بطريقة منظمة في قواعد البيانات. تطوير خطط التحقق من البرمجيات وإجراءات ضمان الجودة. استكشاف أخطاء البرامج الحالية وتصحيحها. جمع وتقييم ملاحظات المستخدم وتنفيذ تحسينات بناء عليها. 4. محلل أمن المعلومات Information Security Analyst وهو الشخص المسؤول عن حماية المعلومات من المتسللين والمخترقين والهجمات الإلكترونية عمومًا وتكون الحماية من خلال تحليل قواعد بيانات الشركة ومعرفة هيكلتها وصلاحيات المستخدمين وإذا كان هنالك أي خطأ أو مشكلة ما. يلعب المحلل الأمني دورًا حيويًا في الحفاظ على أمان المعلومات الحساسة للشركة الموجودة في قواعد البيانات، ويجب أن يمتلك محللو أمن المعلومات بعض المهارات الأساسية التي ستساعدهم على تنفيذ أعمالهم مثل تنفيذ أنشطة القرصنة الأخلاقية لكشف نقاط الضعف وتحديد التهديدات المحتملة حتى تتمكن الشركة من حماية نفسها من المخترقين. كما يجب على المحلل اختبار الاختراق وذلك باختبار الشبكات وأجهزة الحواسيب وتطبيقات الويب والأنظمة الأخرى لاكتشاف نقاط الضعف القابلة للاستغلال. كما يجب على المحلل الأمني منع التطفل من خلال مراقبة حركة مرور الشبكة لاكتشاف التهديدات المحتملة ثم الاستجابة لهذه التهديدات على الفور الأمر الذي يساعد على إدارة الآثار السلبية للهجوم أو الاختراق وتقليل التأثير وتغيير ضوابط الأمان للوقاية في المستقبل. كما يجري المحلل في بعض الأحيان عمليات التحاليل الجنائية الحاسوبية لاكتشاف المخترق من خلال تتبع آثار المخترق وجمع البيانات وتحليلها ليبلغ عنها في نهاية المطاف. ويجرب المحلل أيضًا عمليات الهندسة العكسية على البرمجيات؛ لذلك من الطبيعي أن تتطلب وظيفة محلل أمن المعلومات خبرة عالية، وعمومًا من أهم مسؤوليات محلل أمن المعلومات نذكر: مراقبة الوصول الأمني للموارد. إجراء تقييمات الأمان من خلال اختبار الثغرات الأمنية وتحليل المخاطر. إجراء عمليات التدقيق الأمني الداخلي والخارجي. تحليل الخروقات الأمنية لتحديد السبب الجذري للثغرات. التحديث المستمر لخطط الشركة للاستجابة للحوادث والتعافي من الكوارث. التحقق من أمان موردي برمجيات الجهات الخارجية والتعاون معهم لتلبية متطلبات الأمان. 5. محلل بيانات Data Analyst تعتمد هذه الوظيفة على جمع البيانات لتحديد الاتجاهات التي تساعد قادة الأعمال على اتخاذ قرارات استراتيجية. يركز الانضباط على إجراء التحليلات الإحصائية للمساعدة في الإجابة على الأسئلة وحل المشكلات. يستخدم محلل البيانات لغات الاستعلام مثل SQL لعمل استعلامات لقواعد البيانات العلائقية. كما ينظف محلل البيانات البيانات ويضعها في تنسيق قابل للاستخدام، أو التخلص من المعلومات غير ذات الصلة أو غير القابلة للاستخدام أو اكتشاف كيفية التعامل مع البيانات المفقودة. يعمل محلل البيانات عادةً كجزء من فريق متعدد التخصصات لتحديد أهداف المؤسسة ثم إدارة عملية التنقيب عن البيانات وتنظيفها وتحليلها، وتشمل مسؤوليات محلل البيانات الرئيسية ما يلي: الاستعلام عن البيانات باستخدام SQL أو Excel. تحليل البيانات والتنبؤ باستخدام الأساليب الإحصائية وتقديم التقارير. إنشاء لوحات معلومات باستخدام برنامج ذكاء الأعمال. إجراء أنواع مختلفة من التحليلات بما في ذلك التحليلات الوصفية أو التشخيصية أو التنبؤية أو الوصفية. تطوير وتنفيذ قواعد البيانات وأنظمة جمع البيانات. الحصول على البيانات من المصادر الأولية والثانوية والحفاظ على أنظمة البيانات. تحديد وتحليل وتفسير الاتجاهات أو الأنماط في مجموعات البيانات المعقدة. العمل مع الإدارة لتحديد أولويات الأعمال واحتياجات المعلومات. تحديد وتعريف فرص تحسين العمليات الجديدة. يسعى محلل البيانات إلى فهم الأسئلة التي تحتاج الشركة الإجابة عليها ويحدد فيما إذا كانت البيانات تستطيع الإجابة على هذه الأسئلة. يجب أن يفهم المشكلات الفنية المرتبطة بجمع البيانات وتحليل البيانات وإعداد التقارير وأن يكون قادرًا على التعرف على اتجاهات السوق وأنماط البيانات. يعمل محلل البيانات في الغالب مع البيانات المنظمة Structured Data للشركة مثل البيانات المتوفرة في قواعد البيانات، وينشئ التقارير ولوحات معلومات وتصورات أخرى حول البيانات المرتبطة بالعملاء والعمليات التجارية ويقدم هذه الرؤى للإدارة العليا وقادة الأعمال لدعم صانعي القرار. ومن بعض الأمثلة على البيانات التي يعمل هي احصائيات المخزون وتكاليف النقل والإمداد وأبحاث السوق وهوامش الربح والتكاليف وأرقام المبيعات وما إلى ذلك يمكن استخدام هذه البيانات لمساعدة الشركة في تقدير حصتها في السوق وطبيعة الزبائن والمبيعات وتحسين تكاليف النقل وما شابه. 6. عالم البيانات Data Scientist من أكثر الاختصاصات المرغوبة في وقتنا الحالي ويُعرف عالم البيانات بأنَّه الشخص الذي يستخدم الحواسيب ومعداتها وأنظمة البرمجة والخوارزميات بهدف تحليل البيانات الأولية وتحويلها إلى مجموعة بيانات سهلة القراءة والفهم كما يساهم في حل المشاكل وتفسير الظواهر الفعلية من خلال الاستعانة بنظريات من علوم أخرى مثل الرياضيات ونظم المعلومات والإحصاء وعلوم الحاسوب. يعود تاريخ نشأة هذا التخصص إلى ما يزيد على ثلاثين عامًا تقريبًا، وأكثر ما يميز عالم البيانات هو قدرته الاكتشاف أثناء سباحته في البيانات. ويجب أن يكون قادرًا على توفير هيكل لكميات كبيرة من البيانات غير النموذجية وجعل التحليل ممكنًا. كما يجب أن يستطيع تحديد مصادر البيانات الثريّة ويضموها إلى مصادر البيانات الأخرى التي يحتمل أن تكون غير مكتملة. يختلط على البعض مهام محلل البيانات مع عالم البيانات وبالرغم من أهدافهما المشتركة إلا أنه عادةً ما يكون عالم البيانات أكثر انخراطًا في تصميم عمليات نمذجة البيانات، وإنشاء الخوارزميات والنماذج التنبؤية لذلك يمكن أن يمضي علماء البيانات وقتًا أطول في تصميم الأدوات وأنظمة التشغيل الآلية وأطر البيانات. بالإضافة إلى ذلك يكون عالم البيانات أكثر تركيزًا على تطوير أدوات وطرق جديدة لاستخراج المعلومات التي تتطلبها الشركة لحل المشكلات المعقدة. يتطلب كلا المسارين درجة البكالوريوس -على الأقل- في مجالات متعلقة بالرياضيات مثل الرياضيات أو علوم الحاسوب أو الإحصاء. يمكن أن يقضي محلل البيانات الكثير من الوقت في التحليل الروتيني، وتقديم التقارير بانتظام. بينما عالم البيانات بتصميم طريقة تخزين البيانات ومعالجتها وتحليلها. ببساطة يستنتج المحلل المعلومات المنطقية من البيانات الموجودة بينما يعمل عالم البيانات على طرق جديدة لالتقاط وتحليل البيانات وتسليم هذه الطرق للمحللين. يستخدم علماء البيانات عادةً لغات البرمجة مثل بايثون Python ولغة R، بينما يستخدم محلل البيانات لغة SQL أو برنامج Excel للاستعلام عن البيانات أو تنظيفها أو فهمها. كما تختلف التقنيات والأدوات التي يستخدمونها لنمذجة البيانات، ومن المهم ملاحظة أنه يمكن أن يستخدم بعض المحللين المحترفين لغات البرمجة أو يدخلون إلى مجال عالم البيانات أو مجال مهندس البيانات الضخمة. يُنشئ علماء البيانات المحترفون نماذج التعلم الإحصائي لتقنيات البحث الخاصة بهم، والبحث عن أحدث اتجاهات التكنولوجيا والبيانات في السوق، وتعلم وسائل جديدة لتحليل البيانات لسهولة المراجعة والتواصل والتعاون مع الأقسام الأخرى داخل شركاتهم لمساعدتهم في إيجاد الحلول، مراجعة البيانات الأخرى أو تعليمهم كيفية قراءة البيانات. لذلك اعتبرت مجلة هارفارد بزنس ريفيو أن وظيفة عالم البيانات هي الوظيفة الأكثر إثارة وجاذبية في القرن الحادي والعشرين. أصبح قسم البيانات جزءًا أساسيات للعديد من الشركات كما يتضمن هذا القسم الأنشطة الأساسية مثل بناء قواعد البيانات المستدامة وإدارتها واستثمارها …إلخ، لأن القيمة التي تقدمها البيانات تصلح لأن تكون استثمارًا طويل الأمد هذا الأمر أدى ذلك إلى زيادة الطلب على علماء البيانات المهرة في مختلف الصناعات والمهن، وعمومًا من مهام عالم البيانات نذكر: تحديد مصادر البيانات ذات الصلة باحتياجات العمل. جمع البيانات المهيكلة وغير المهيكلة والبحث عن البيانات المفقودة وتعزيز عملية جمع البيانات. تنظيم البيانات في تنسيقات سهلة للاستخدام. بناء النماذج التنبؤية وخوارزميات التعلم الآلي. معالجة البيانات وتنقيتها والتحقق منها لإيجاد الأخطاء والمشاكل وحذفها باستخدام لغات البرمجة (مثل Python أو R). تحليل البيانات عن الاتجاهات والأنماط وإيجاد إجابات لأسئلة محددة. إنشاء البنية التحتية للبيانات. تطوير وتنفيذ وصيانة قواعد البيانات. تقييم جودة البيانات وإزالة البيانات أو تنظيفها. توليد المعلومات والأفكار من مجموعات البيانات وتحديد الاتجاهات والأنماط. إعداد التقارير للفرق التنفيذية وفرق المشروع. إنشاء تصورات للبيانات. التحليل الإحصائي باستخدام خوارزميات التعلم الآلي مثل معالجة اللغة الطبيعية أو الانحدار اللوجستي أو kNN أو Random Forest أو تعزيز التدرج. يواجه المدراء تحديًا حقيقيًا في معرفة كيفية تحديد تلك موهبة عالم البيانات، وكيفية جذبها إلى الشركة وجعلها منتجة. وبالرغم من أننا ذكرنا المهام الرئيسية لعالم البيانات إلا أنه يوجد ضبابية في معرفة كيفية أداء عالم البيانات وكيف يمكنه إضافة أكبر قدر من القيمة بالموازنة مع الأدوار الوظيفية الأخرى القديمة مثل المبيعات، بالإضافة إلى ذلك لا يوجد الكثير من الجامعات التي تقدم هذه الاختصاص الدقيق الأمر الذي يجعل عملية العثور على الشخص المناسب أكثر صعوبة؛ في الحقيقة يمكن تفسير هذه الصعوبات في أنها السبب المنطقي لارتفاع راتب عالم البيانات! 7. مهندس البيانات الضخمة Big Data Engineer يعد وظيفة محلل أو مهندس البيانات الضخمة من أرقى الوظائف التي تتعلق بقواعد البيانات ولفهم كيف يمكن أن تصبح مهندس بيانات ضخمة، دعنا نفهم في البداية معنى "البيانات الضخمة" Big Data. في أوائل العقد الأول من القرن الحادي والعشرين كان توليد البيانات محدودًا ولكن مع ظهور العديد من منصات الشبكات الاجتماعية والشركات العملاقة مثل فيسبوك وأمازون زادت ازديادًا كبيرًا فوفقًا لموقع Statista من المتوقع أن يصل الحجم الإجمالي للبيانات العالمية إلى 97 زيتابايت (أي 1021 بايت) في عام 2022 وسيصل في عام 2025 إلى 181 زيتابايت. وهذا بالفعل قدر كبير من البيانات. تتطلب البيانات الضخمة نهجًا هندسيًا مختلفًا عن البيانات العادية (مثل البيانات المهيكلة في قواعد البيانات) لأنها عبارة عن أطنان من المعلومات المختلطة وغير المهيكلة التي تتراكم باستمرار وبسرعة عالية، ولهذا السبب لا تستطيع طرق نقل البيانات التقليدية إدارة تدفق البيانات الضخمة بكفاءة. تعزز البيانات الضخمة تطوير أدوات جديدة لنقل وتخزين وتحليل كميات هائلة من البيانات غير المهيكلة. تعمل الشركات البارزة في العديد من القطاعات بما في ذلك المبيعات والتسويق والبحث والرعاية الصحية على جمع البيانات الضخمة بنشاط. كما يواجهون نقصًا في الخبرة اللازمة لإدارتها. لذلك شهدنا نموًا كبيرًا في الفترة الماضية لوظائف هندسة البيانات الضخمة وهي في الحقيقة تتطلب مهارات ضخمة أيضًا! يعكف مهندس البيانات الضخمة على استخراج البيانات من مصادر مختلفة وتحويلها وتحميلها على مستودع مركزي يُعرف أيضًا باسم مستودع البيانات Data Warehouse، تُخزن البيانات في هذه المستودعات لتكون جاهزة للاستخدام من فريق البيانات سواء محللين أو علماء …إلخ. غالبًا ما تكون وظيفة مهندس البيانات الضخمة خلف الكواليس وهم فعليًا الأشخاص الذين يبنون الطرق والجسور، لأنهم يجهزون البنية التحتية للبيانات الضخمة. ومن بعض مسؤولياتهم نذكر: تصميم بنية منصة البيانات الضخمة. الحفاظ على خط أنابيب البيانات. تخصيص وإدارة أدوات التكامل وقواعد البيانات والمستودعات والأنظمة التحليلية. إدارة وتنظيم البيانات. إعداد أدوات الوصول إلى البيانات لعلماء البيانات. الاجتماع مع المديرين لتحديد احتياجات البيانات الضخمة للشركة. تحميل مجموعات البيانات المتباينة وإجراء خدمات المعالجة المسبقة باستخدام Hive أو Pig. إنهاء نطاق النظام وتقديم حلول البيانات الضخمة. إدارة الاتصالات بين النظام الداخلي وبائعي البيانات (مثل بائعي الاستبيانات أو المقابلات …إلخ). التعاون مع فرق البحث والتطوير الخاصة بالبرمجيات. بناء منصات سحابية لتطوير تطبيقات الشركة. تدريب الموظفين على إدارة موارد البيانات. يجب أن يكون مهندس البيانات الضخمة ماهرًا جدًا في العديد من المجالات ومن أبرز هذه المجالات نذكر: البرمجة Programming: تعد مهارة البرمجة بديهية في قطاعات التكنولوجيا لأن البرمجة هي الطريقة المثلى لفهم كيفية التعامل مع البيانات فجميع الأجهزة والأنظمة التي حولنا ما هي إلا برمجيات وخوارزميات مختلفة صنعت لتعمل بطريقة معيّنة. يحتاج مهندس البيانات الضخمة إلى خبرة عملية في أي لغة برمجة مشهورة مثل لغة جافا Java أو C++ أو بايثون Python. التعامل مع قواعد البيانات ولغات SQL: بعد البرمجة تأتي المعرفة العميقة بمفاهيم قواعد البيانات وأنظمة إدارة قواعد البيانات DBMS ولغة SQL. تعد مهارة التعامل مع قواعد البيانات أساسية ساعد هذا في فهم كيفية إدارة البيانات والحفاظ عليها في قاعدة بيانات. تحتاج إلى معرفة كيفية كتابة استعلامات SQL لأي نظام إدارة قواعد بيانات علائقية مثل MySQL و Oracle Database و Microsoft SQL Server. التعامل مع مستودعات البيانات وعمليات تكامل البيانات ETL: تتمثل إحدى المسؤوليات الأساسية لمهندس البيانات الضخمة في تنفيذ عمليات ETL وهي عمليات استخراج وتحويل وتحميل Extract-Transform-Load البيانات إلى مستودع البيانات. لهذا، ستحتاج إلى معرفة كيفية إنشاء مستودع بيانات وكذلك استخدامه. ستستخرجُ البيانات من مصادر مختلفة، وتحول إلى معلومات ذات مغزى، وتحمل إلى مخازن بيانات أخرى. بعض الأدوات المستخدمة لهذا الغرض هي Talend و IBM Datastage و Pentaho و Informatica. التعامل مع أنظمة التشغيل Operating Systems: المهارة الرابعة التي تحتاجها هي معرفة أنظمة التشغيل. أدوات التشغيل هي الأساس لتشغيل أدوات البيانات الضخمة. ومن ثم فإن الفهم القوي لأنظمة Unix و Linux و Windows و Solaris أمر إلزامي. التعامل مع أدوات وأطر المخصصة للبيانات الضخمة: يجب أن يكون لديك خبرة في التحليلات المستندة إلى Hadoop والتي تعد واحدةً من أكثر أدوات هندسة البيانات الضخمة استخدامًا، لذلك من المفهوم أنك بحاجة إلى خبرة في التقنيات القائمة على Apache Hadoop مثل HDFS و MapReduce و Apache Pig و Hive و Apache HBase. التعامل مع أطر العمل أطر معالجة في الزمن الفعلي Real-time: يجب أن يكتسب مهندس البيانات الضخمة طريقة العمل مع أطر المعالجة في الوقت الفعلي مثل Apache Spark والتي تتعامل مع كميات هائلة من البيانات في الزمن الحقيقي إذ يمكنها معالجة البيانات التي تأتي من البث المباشر من عدة مصادر مثل Twitter و Instagram و Facebook وما إلى ذلك. التنقيب عن البيانات والنمذجة Data Mining and Modeling: إن مهارة التنقيب عن البيانات ومناقشة البيانات وتقنيات نمذجتها هي أساسية في مجال هندسة البيانات الضخمة. تتضمن عمليات التنقيب عن البيانات والجدل في البيانات خطوات للمعالجة المسبقة وتنظيف البيانات باستخدام طرق مختلفة والعثور على الاتجاهات والأنماط غير المرئية في البيانات وجعلها جاهزة للتحليل. والآن بعد أن تعرفنا على أهم الاختصاصات المتعلقة بقواعد البيانات لنستكشف كيف يمكننا الدخول في هذا العالم الشيّق. من أين أبدأ بتعلم تصميم قواعد البيانات؟ غالبًا ما تتضمن التخصصات الجامعية مثل علوم الحاسب وهندسة البرمجيات أو ما يشابهها من التخصصات على مواد تتعلق بقواعد البيانات يتعلم الطالب من خلالها أساسيات تصميم قواعد البيانات، وفي حال ليس لديك اطلاع على هذه أساسيات سنستعرض في هذه الفقرة المواضيع اللازمة لكل مرحلة تعليمية كما سننصحُ ببعض المقالات أو الكتب أو المساقات الدراسية. المفاهيم الأساسية في قواعد البيانات في البداية لا بد من التعرف على أساسيات تصميم قواعد البيانات والتي سيكون المواضيع على الشكل التالي: مفاهيم أساسية في قواعد البيانات: أنظمة الملفات التقليدية وعيوبها. تعريف قاعدة البيانات خصائصها ومميزاتها. الفرق بين البيانات Data والمعلومات Information والمعرفة Knowledge. أنواع قواعد البيانات. أدوات قواعد البيانات لغات قواعد البيانات. أنواع أنظمة إدارة قواعد البيانات Database Management Systems. مفاهيم نظام قواعد البيانات والهندسة المعمارية دورة حياة نظام المعلومات Systems Development Life Cycle. تطوير دورة حياة نظام قاعدة البيانات Database Life Cycle. - مفهوم نمذجة تصميم قاعدة البيانات. النمذجة باستخدام لغة النمذجة الموحدة Unified Modeling Language. النمذجة باستخدام الكيان والعلاقة Entity-Relationship. النموذج الكيان والعلاقة المحسّن Enhanced Entity-Relationship. المفاهيم المتقدمة في نموذج الكيان والعلاقة المحسّن (التعميم والتخصيص والتصنيف والميراث). مفاهيم أساسية لتحسين التصميم: الاعتماديات الوظيفية Functional Dependency. قواعد الاستدلال Inference Rules. عمليات التوحيد Normalization (النموذج الأول 1NF والثاني 2NF ..إلخ). مفهوم الجبر العلائقي Relational Algebra نشأته وأهميته. عمليات الجبر العلائقي. بعض المصادر المناسبة العربية: كتاب تصميم قواعد البيانات. كتاب ملاحظات للعاملين بلغة SQL 1.0.0 كتاب الدليل العملي إلى قواعد بيانات PostgreSQL. توثيق لغة SQL. المفاهيم المتقدمة في قواعد البيانات بعد أن تعرفنا على المفاهيم الأساسية سننتقل لاستعراض المواضيع المتقدمة المتعلقة بتصميم قواعد البيانات: إدارة الإجراءات أو المعامَلَات Transaction Management والتحكم في التزامن Concurrency Control ماهية الإجراء وتعريفه وخصائصه وحالاته. إدارة الإجراءات من خلال لغة SQL وسجل الإجراءات وطرق استردادها. مفاهيم التحكم في التزامن (التحديثات المفقودة Lost Updates - البيانات غير المثبتة Uncommitted Data - عمليات الاسترجاع غير المتسقة Inconsistent Retrievals). المجدول The Scheduler. التحكم في التزامن بطرق القفل Concurrency Control with Locking Methods التحكم في التزامن مع خلال Time Stamping. التحكم في التزامن بأساليب متفائلة. مستويات ANSI لعزل الإجراءات. إدارة عملية استعادة قاعدة البيانات. ضبط أداء قاعدة البيانات وتحسين الاستعلام مفاهيم ضبط أداء قاعدة البيانات هيكلية أنظمة إدارة قواعد البيانات أوضاع تحسين استعلام قاعدة البيانات إحصائيات قاعدة البيانات معالجة الاستعلام (طريقة تحليل استعلام SQL وتنفيذه وجلبه). مشاكل الاستعلام (اختناقات معالجة الاستعلام - الفهارس وتحسين الاستعلام). خيارات المحسن (استخدام التلميحات للتأثير على اختيارات المحسن). ضبط أداء SQL (انتقائية المؤشر - التعبيرات الشرطية). صياغة الاستعلام ضبط أداء DBMS أنظمة إدارة قواعد البيانات الموزعة Distributed Database Management Systems: تطور نظم إدارة قواعد البيانات الموزعة. خصائص أنظمة إدارة قواعد البيانات الموزعة ومكونات ومزاياها وعيوبها. المعالجة الموزعة وقواعد البيانات الموزعة. مستويات البيانات وتوزيع العمليات. الأداء وشفافية قاعدة البيانات الموزعة (شفافية التوزيع - شفافية المعاملات - شفافية الفشل). الطلبات الموزعة والإجراءات الموزعة (التحكم في التزامن الموزع - بروتوكول الالتزام ثنائي الطور). تصميم قاعدة البيانات الموزعة. مفاهيم أساسية عند تصميم قاعدة البيانات الموزعة (تجزئة البيانات Data Allocation - تكرار البيانات Data Replication - تخصيص البيانات Data Fragmentation). إدارة وأمن قواعد البيانات Database Administration and Security: مفاهيم متقدمة في أمن قواعد البيانات (نُهج الأمن Security Policies - ترقيع ثغرات أمنية). عناصر أمن قواعد البيانات ودورها (الأشخاص People - محطات العمل والمخدمات Workstation and servers - أنظمة التشغيل Operating system - التطبيقات Applications - الشبكة Network - البيانات Data). الفرق بين الحماية الأمنية في الأنظمة المجانية والمدفوعة. أدوات إدارة قواعد البيانات. الفرق بين إدارة قواعد العادية والسحابية. أهمية قاموس البيانات Data Dictionary في نهج الإدارة. تطوير إستراتيجية إدارة البيانات. أحد المصادر الجيدة التي تفيدك باللغة الإنكليزية كتاب Database Systems: Design, Implementation, & Management الطبعة الثالثة عشر لصاحبيه Steven Morris و Carlos Coronel. التخصص في قطاعات البيانات سنستعرض في هذا القسم المفاهيم الأساسية المشتركة في التخصصات المرتبطة بالبيانات وهي على الشكل التالي: ذكاء الأعمال ومستودعات البيانات Business Intelligence and Data Warehouses: الحاجة إلى تحليل البيانات. مفاهيم أساسية في ذكاء الأعمال (هندستها ومزاياها وتطورها ومستقبلها). مفاهيم أساسية بيانات دعم القرار (البيانات التشغيلية - بيانات دعم القرار). الفرق بين قواعد البيانات Database ومستودعات البيانات Data Warehouse وبحيرة البيانات Data Lake ومتاجر البيانات Data Mart. متطلبات قاعدة بيانات دعم القرار. مخطط النجمة Star Schemas (حقائق Facts - الأبعاد Dimensions - السمات Attributes). معالجة وتحليل البيانات عبر الإنترنت Online Analytical Processing. تقنيات تحليل البيانات متعددة الأبعاد. الفرق بين (تحليل البيانات Data Analytics - التنقيب في البيانات Data Mining - التحليلات التنبؤية Predictive Analytics). البيانات المرئية Data Visualization (أهمتيها - علم تصور البيانات The Science of Data Visualization). البيانات الضخمة و NoSQL: مفاهيم أساسية حول البيانات الضخمة (الحجم Volume - السرعة Velocity - التنوع Variety). قواعد البيانات المخصصة للبيانات الكبيرة (مثل NoSQL). قواعد البيانات السحابية Cloud Database: مفاهيم أساسية في اتصال قواعد البيانات وتقنيات الويب. اتصال قاعدة البيانات (ODBC و DAO و RDO). خدمات الحوسبة السحابية (خصائصها وأنواعها والفروقات بينها). أنواع قواعد البيانات السحابية. كيفية الانتقال إلى السحابة. الفرق بين قواعد البيانات القابلة للإدارة Self-Managed وقواعد البيانات المُدارة آليًا Managed Databases. كيف تتغير مهام مدير قواعد البيانات في السحابة. أمان البيانات والتطبيقات في السحابة. نقل قواعد البيانات الخاصة بك إلى السحابة (التخطيط Planning - نقل البيانات Data Movement - التحسين Optimization). بعض المصادر باللغة العربية: كتاب مدخل إلى الذكاء الصنعي وتعلم الآلة. كتاب الحوسبة السحابية أساسيات ومبادئ وتطبيقات للدكتور خالد بن ناصر آل حيان. التوظيف وفرص العمل في تخصصات البيانات يعد برنامج البكالوريوس أو المرحلة الجامعية الأولى الوسيلة التقليدية والشائعة للدخول في مجال البيانات ويمكن أن يختار بعض الطلاب إكمال دراستهم الجامعية والحصول على درجة الماجستير في المعلوماتية وعلوم البيانات في سعيهم للدخول في هذا المجال إلى أن هذا الطريق ليس الوحيد لدخول مجال البيانات، ولكن ظهرت في الآونة الأخيرة دورات تدريبية مركزة وتسمى أيضًا معسكرات تدريبية BootCamps وهي عبارة عن منهج دراسي مكثف قصير الأمد يركز على المهارات المركزة والمستندة إلى السوق بدلًا من أخذ مقدمات في مختلف التخصصات كما يحدث في برامج البكالوريوس، وبالرغم من أن المعسكرات التدريبية في بدايتها كانت تحتاج للتواجد الفيزيائي للطلاب مع الاساتذة إلى أن المشهد اليوم اختلف وأصبحت بالإمكان إجراء المعسكرات عبر الإنترنت عن بعد. في دراسة أجراها موقع إنديد Indeed جاء فيها أن 72% من أرباب العمل الذين شملهم الاستطلاع يعتقدون بأن خريجي معسكرات التدريب المستجدين مستعدين تمامًا ليكونوا ذوي أداء عالٍ مثل المرشحين الحاصلين على درجات علمية في علوم الحاسوب، كما يعتقد 12% من مدراء التوظيف بأن خريجي المعسكرات التدريبية أكثر استعدادًا من أقرانهم المدربين في الجامعات. علاوة على ذلك، يعتقد العديد من أصحاب العمل أن حضور المعسكر التدريبي يمنح المتعلمين ميزة تنافسية. ففي استطلاع أجراه موقع هكر رانك HackerRank عام 2020 على مدراء التوظيف جاء فيه أنه ما يقرب من ثلاثة أرباع مديري التوظيف الذين شملهم الاستطلاع قالوا بأن معسكرات التدريب يمكن أن تُعلم الطلاب تقنيات ولغات جديدة بسرعة، واستشهد 61% من المدراء الذين شملهم الاستطلاع بالخبرة العملية لطلاب المعسكرات التدريبية، وقال 52% بأن خريجي المعسكرات التدريبية متحمسون لتحمل مسؤوليات جديدة. يمكن للطلاب الراغبين في الدخول إلى مجال البيانات ولا يريدون هدر وقتهم في الجامعات أن يبدأوا بتعلم علوم الحاسب والتي يأخذ فيها الطالب نظرة شاملة، عملت أكاديمية حسوب على توفير دورة متكاملة عن أساسيات علوم الحاسوب هي دورة علوم الحاسوب وهي دورة شاملة مدتها أكثر من 53 ساعة تشرح هذه الدورة مختلف المفاهيم بدءًا من أبسط الأساسيات أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة وتشرح الدورة أيضًا: الخوارزميات وهياكل البيانات: والتي ستساعدنا على فهم الطريقة الصحيحة لتنظيم البيانات. البرمجة: التي ستساعدنا على كيفية التلاعب بالبيانات ومحتواها من خلال كتابة الشيفرات البرمجية بلغة بايثون Python لتعديل محتويات البيانات. تصميم وبناء قواعد البيانات: والتي تفيدنا في التأسيس إلى مجال البيانات مع شرح تفصيلي للغة SQL للتعامل معها ونظرة على قواعد بيانات NoSQL. تطوير الويب: والتي على فهم المفاهيم الأساسية التي تبنى فيها صفحات الويب. إدارة الخوادم: والتي ستساعدنا في فهم ماهية المعلومات التي يمكن أن نجمها بالإضافة إلى ذلك مفاهيم متقدمة مثل البرمجة الكائنية ومفاهيمها المختلفة الأساسية والمتقدمة عبر لغة بايثون كما ستتعلم أيضًا أنماط التصميم Design Patterns، كما أنها في تحديث وتوسعة مستمرة، ومن أبرز ميزاتها أن هناك من يتابع سَيْرَك ويجيبُ على أسئلتك على امتداد الدورة وليس فقط مجرد فيديوهات تسلسلة ولذلك فهي دورة يُبنى عليها. أضف إلى ذلك أنه يمكنك العمل كعامل مستقل على حسب الاختصاص الذي تجيده من اختصاصات البيانات؛ فلو كنت مدير أو مطور قواعد بيانات فيمكنك استعراض الفرص المتاحة عبر مواقع العمل الحر مثل مستقل، ففي العمل الحر لن يسألك أحد بتاتًا عن شهادتك الجامعية وكل ما سيسألونك عنه هو خبراتك ونماذج لأعمالك السابقة نفذتها لا أكثر. أما عن فرص العمل المتوفرة في الشركات فهي تختلف باختلاف البلدان والشركات التي تريد العمل فيها، ولكنها تنضوي جميعًا تحت قسم التخصصات الذي تحدثنا فيه بصورة موسعة عن تخصصات قواعد البيانات انظر مثلًا إلى موقع بعيد، ستجدُ فيه طلبات توظيف من شركات مختلفة حول العالم العربي، وستجد أن معظم الوظائف لا تشترط أي نوع من أنواع الشهادات، بل تشترط معرض أعمال وخبرة سابقة فقط. وتكون رواتب المتخصصين في البيانات متعلقة بعدة عوامل منها التخصص والخبرة والأعمال المنجزة ويدخل في الحساب أيضًا اختلاف الشركات والأماكن والدول، لكن يمكننا القول بصورة عامة أن رواتبهم أعلى من المهندسين الآخرين، ويمكنك البحث عن المواقع التي تَعرِض لك متوسط الرواتب التي يتلقاها الموظفون حسب المهنة في بلدك ثم البحث فيها عن التخصصات السابقة لرؤية مُعدّل الرواتب في بلدك. اقتصاد البيانات Data Economy لا يخفَ على أحد الكميات الكبيرة التي تولدها الأجهزة الذكية وشبكات التواصل الاجتماعي وجميع أنشطة مستخدمي الإنترنت ولم تشكل هذه البيانات الضخمة أداة مساعدة لعمل الشركة فقط وإنما أصبحت أصلًا Asset من أصول الشركة مثلها مثل أجهزة الحواسيب والمكاتب …إلخ، إذ فرضت هذه الأصول -غير الملموسة- نفسها كحقيقة لا مفر منها في تقييم الشركات، فمثلًا إذا اطلعنا على القيمة السوقية لشركة فيسبوك (غيرت الشركة اسمها لتصبح ميتا Meta) في عام 2021 سنجد بأنها وصلت إلى تريليون دولار، بينما بلغت قيمة أصولها الملموسة مثل المباني والعقارات والأجهزة والحواسيب …إلخ، نحو 150.7 مليار دولار، نلاحظ أن الفرق بين القيمتين يصل إلى 849.3 مليار دولار أمريكي، إلا أنه لا يمكننا قياس قيمة البيانات الحقيقية نظرًا لأن الشركة لها العديد من المنتجات الرقمية غير الملموسة مثل نظام الإعلان المؤتمت ونظام المتاجر الإلكترونية وغيرها، ولكن هذا الأمر يضعنا بطريقة غير مباشرة أمام سؤال مهم وجوهري وهو كيف نحدد قيمة البيانات؟ هل يمكننا اعتبار كمية البيانات كمصدر لقيمتها؟ أم أن تنوع البيانات له أهمية أكبر؟ ولكن ماذا عن جودة البيانات هل لها أهمية تُذكر؟ إذا أردنا الحصول على أجوبة دقيقة لا بدّ لنا من فهم دقيق لماهيّة اقتصاد البيانات Data Economy: والذي هو القيمة المالية والاقتصادية التي ينتجها تخزين كميات ضخمة من البيانات التجارية والحكومية وتحليلها واسترجاعها بسرعة كبيرة من خلال برمجيات معقدة وأدوات أخرى. سيساعدنا هذا التعريف في الانطلاق في فهم هذا الاقتصاد الجديد، وبالتأكيد لا يمكننا شرح كيفية تقييم سعر البيانات من خلال فقرة بسيطة لأن الأمر يحتاج إلى مقالات بل كتب! ازدادت النقاشات بين أوساط الاقتصاديين حول كيفية حساب قيمة البيانات والمعلومات كأصول غير ملموسة في الميزانيات، لا توجد حتى اليوم طريقة معتمدة عالميًا توفر حلًا واضحًا لتقدير قيمة البيانات والمعلومات وكل الحلول المطروحة هي اجتهاد من المستثمرين أو الباحثين، وبالرغم من أن بعض الأصول غير الملموسة الأخرى مثل براءات الاختراع وحقوق النشر وقوائم العملاء والعلامات التجارية وحقوق البث وغيرها، قابلة للإدراج في الميزانيات ولها طريقة في حساب قيمتها. في الحقيقة لا يقتصر جهلنا على قيمة البيانات فقط وإنما حتى القوانين الناظمة لها من جمع البيانات أو تنظيمها أو تداولها كل هذه الأمور ماتزال غير واضحة في بعض البلدان ويعود سبب البطء في سن القوانين هو لتجنب إعاقة الابتكار والذي بدوره يبطئ من دوران عجلة الاقتصاد. ولكن مما لا شك فيه أن الدول والشركات ستستفيد من من هذه الأصول وستُشكل بيانات المواطنين في يوم من الأيام إيرادات مستقلة تعزز من خزينة الدولة. يذكر أن قيمة سوق البيانات الضخمة قدرت بحسب موقع Research And Markets بنحو 70 مليار دولار أمريكي لعام 2020 كما توقع يصل قيمة السوق في عام 2027 إلى 243.4 مليار دولار أمريكي أي بمعدل نمو سنوي مركب قدره 10.2٪. الخاتمة تعرفنا في المقال على أهمية البيانات في عصرنا الحالي ومن هذه الأهمية جاءت أهمية قواعد البيانات التي تحتوي البيانات وتنظمها وكيف انبثق فروع جديدة من فروع علوم الحاسب وهو علوم البيانات وتصميم قواعد البيانات وإدارة قواعد البيانات …إلخ، كما اطلعنا في هذا المقال على خطوات تصميم قاعدة بيانات واستعرضنا بعدها التخصصات المرتبطة بالبيانات لننتهي بفهم كيف ستُنشئ البيانات الضخمة أسواقًا جديدة وختامًا بالرغم من أن منطقتنا العربية لا يوجد بها الكثير من الاستثمارات في البيانات إلا أن هذا الحال سيتغير في المستقبل القريب ولذلك استثمر الفرصة وكن من السباقين إلى هذا المجال. المصادر كتاب Database Systems: Design, Implementation, & Management الطبعة الثالثة عشر لصاحبيه Steven Morris و Carlos Coronel. مقال Data Modeling: Conceptual vs Logical vs Physical Data Model. مقال Data Modelling: Conceptual, Logical, Physical Data Model Types لصاحبه David Taylor. تقرير The Digitization of the World From Edge to Core. تقرير Volume of data/information created, captured, copied, and consumed worldwide from 2010 to 2025. مقال Top 10 High Paying Jobs That Demand SQL - GeeksforGeeks لمحرري الموقع. مقال Types of Database Jobs: Choose One of Them and Start Being Awesome لصاحبه Jakub Romanowski. مقال Database (Data) Testing Tutorial with Sample Test Cases لصاحبه Thomas Hamilton. مقال Database Testing Complete Guide (Why, What, and How to Test Data) لمحرري الموقع. اقرأ أيضًا دليلك الشامل إلى قواعد البيانات DataBase أمثلة عملية عن كيفية تصميم قواعد البيانات نمذجة البيانات وأنواعها في عملية تصميم قواعد البيانات النسخة العربية الكاملة من كتاب تصميم قواعد البيانات أنواع قواعد البيانات1 نقطة