الصفحة الرئيسية/ التقنية / قواعد البيانات : 9 أنواع منها شرح تفصيلي

قواعد البيانات : 9 أنواع منها شرح تفصيلي


for Large تمت الكتابة بواسطة : محمد

for Large for Mobile

قواعد البيانات بالإنجليزية Database هي عبارة عن مجموعة منظمة من البيانات والمعلومات والتي عادة ما يتم تخزينها إلكترونيا.

يتم التحكم في قواعد البيانات بواسطة نظام إدارة قواعد البيانات DBMS .

كما يشار إلى البيانات ونظام إدارة قواعد البيانات تزامنًا مع التطبيقات المرتبطة بها على أنها نظام متكامل.

يتم تصميم البيانات ضمن أكثر الأنواع شيوعا على هيئة صفوف وأعمدة في سلسلة من الجداول.

وبالتالي تحقق استعلام فعال عن البيانات كما يسهل معها إدارة البيانات وتعديلها وتحديثها ويتم التأثير عليها بواسطة لغة الاستعلام المنظمة SQL.
 

 

أنواع قواعد البيانات

  1. قاعدة بيانات الكائنات.
  2. قواعد البيانات العلائقية.
  3. قاعدة بيانات الرسم البياني.
  4. قاعدة البيانات السحابية.
  5. البيانات الموزعة.
  6. قواعد بيانات NoSQL.
  7. نموذج قاعدة البيانات الهرمية.
  8. البيانات المركزية.
  9. قواعد البيانات الشخصية.

 

قاعدة بيانات الكائنات

يشار إليها بالإنجليزية Object Database وهي نظام لإدارة قواعد البيانات يتم من خلاله تمثيل المعلومات على شكل كائنات.

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

تختلف قواعد بيانات الكائنات عن العلائقية كونها تدعم التوجيه نحو الجداول.

 

قواعد البيانات العلائقية

وهي نظام تم تصميمه منذ السبعينيات يمكن استخدام قاعدة البيانات العلائقية في لغات الاستعلام الهيكلية مثل SQL.

كما تساعد أيضًا في أداء عمليات مثل إنشاء البيانات وقراءتها وحذفها أو العمل على تحديثها باستمرار.

غالبا ما يعتمد هذا النوع على تخزين البيانات في جداول منفصلة يمكن ضمها معا بواسطة حقول مفتاحية.

تعتبر الأكثر شهرة في عالم التقنية وخاصة في ظل تبنيها دعم أنظمة الويب من الأمثلة عليها MySQL و خوادم أوراكل.


قاعدة بيانات الرسم البياني

تقوم بالتركيز على بيانات الرسم البياني مثل العلاقة بين عناصر البيانات ويمكن احتواء كل عنصر على أنها عقدة.

ويجمع بينها مجموعة من العمليات تسمى الإتصالات والارتباطات وهي عناصر من الدرجة الأولى يتم تخزينها مباشرة.

خضعت قواعد بيانات الرسم البياني إلى العديد من التحسينات مثل التقاط الإتصالات بين العناصر والبحث فيها.

وهناك عدد قليل من أنظمة الأعمال التي يمكنها البقاء على هذا النوع من قواعد البيانات.

حيث يتم تشغيلها إلى جانب قواعد البيانات التقليدية الأخرى.

 

قاعدة البيانات السحابية

وهي نظام بيانات يتيح القيام بتخزين البيانات عبر السحابات المعروفة مثل بيئة العمل الافتراضية.

غالبا ما تكون البيئة مختلطة أو سحابة عامة أو حتى خاصة.

وبالتالي فقد تم إنشاء وتطوير قواعد البيانات السحابية لدعم هذا النوع من التقنيات.

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

 

البيانات الموزعة

وهي نوع من أنواع قواعد البيانات يتم فيها تخزين البيانات على مواقع فعلية مختلفة.


على سبيل المثال استخدام اجهزة كمبيوتر متعددة تتواجد في نفس الموقع المحلي (مراكز البيانات).

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

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

 

قواعد بيانات NoSQL

وهي إحدى قواعد البيانات التي تحتوي على تسلسل هرمي مشابه لنظام مجلدات الملفات.

يمكن الإشارة إلى أن البيانات بداخلها أشبه بأن تكون متناثرة أو غير منظمة.

وهو ما يتيح بدوره معالجة كمبيات كبيرة من البيانات بسرعة تقبل التوسعة في المستقبل.

يطلق عليها قواعد البيانات NoSQL .

 

نموذج قاعدة البيانات الهرمية

وهي عبارة عن نموذج يتم فيه تنظيم البيانات في بنية تشبه الشجرة.

حيث يتم تخزين البيانات كسجلات متصلة ببعضها البعض من خلال روابط.

على سبيل المثال تحتوي السجلات على مجموعة من الحقول ولدى كل حقل قيمة واحدة فقط من خلالها يتم تحديد السجل.

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

ويجب اجتياز مراحل الشجرة بأكملها من أجل الوصول إلى البيانات.

تم إطلاق هذا النموذج في الستينيات من قبل شركة IBM .

 

البيانات المركزية

قواعد البيانات المركزية تعمل جميعها في مكان واحد وعادة ما يتم استخدامها من قبل المؤسسات الكبيرة.

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

وبالتالي يعمل الكمبيوتر المركزي على تشغيل قواعد البيانات المركزية والحفاظ عليها.

 

قواعد البيانات الشخصية

تقوم قواعد البيانات الشخصية في تخزين وإدارة البيانات لفرد واحد أو مجموعة صغير من المستخدمين.

وبالتالي يمكن أن تكون النشاطات أصغر حجما من تلك التي تقوم بها قواعد البيانات الكبيرة.

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

 

متطلبات تشغيل قواعد البيانات mysql

تخضع خوادم الويب لواحدة أو أكثر من الخطوات التي تتيح لنا الوصول إلى mysql مهما كان نظام التشغيل بطبيعته.

وقد تختلف بعض الخطوات في تفعيلها على الخادم.

أما في حال العمل على أنظمة Linux فإن ذلك يتطلب منا بعض المهارات في تنصيب بيئة عمل الخادم.

  • تنصيب خادم Apache على نظام التشغيل أو أي خادم يتوافق مع بيئة mysql.
  • إتقان لغة PHP ومهاراتها الأساسية.
  • الإلمام بعض الجوانب بلغة SQL.

   

الدخول الى phpMyAdmin

بات من المستحسن العمل على لوحة phpMyAdmin بدلاً من الاتصال بقواعد البيانات mysql عبر شاشة الكونسول.

حيث أن في ذلك واجهة تصميم جيدة يمكن من خلالها إضافة وإلغاء بعض الجداول العلائقية.

بالتالي سنعمل على الدخول إلى المضيف المحلي الخاص بنا بدلاً من الدخول لملفات مشاريع appserver.

وبالتالي عند كتابة العنوان http://localhost أو عنوان 127.0.0.1 تظهر لنا واجهة قواعد البيانات كما في الشكل التالي: 

قواعد البيانات mysql

 نقوم باختيار Database Manager ويأخذك المتصفح إلى صفحة تسجيل الدخول.

وهي بطبيعة الحال مكونة من اسم المستخدم الافتراضي root وكلمة المرور في حال قمت بتعيينها أثناء تنصيب خادم Appserv.

ومع ذلك لا بد من التأكد من حفظ اسم المستخدم وكلمة المرور إن وجدت لأننا سنتطرق لها عند الاتصال بقواعد البيانات عبر لغة PHP.  

 

إضافة قواعد البيانات mysql

نذهب إلى خانة SQL وهي المحرر الذي يتم من خلاله الاستعلام والإضافة والحذف والتعديل في قواعد البيانات.

بالتالي سنعمل إلى إضافة قاعدة بيانات باسم con_tut كما في الصورة التالية:

محرر sql

نقوم بنسخ الكود التالي في محرر SQL لكي نتمكن من إضافة قاعدة بيانات جديدة:

CREATE DATABASE con_tut;

  عند النقر على الأمر Go أسفل يمين الشاشة سيتم إضافة قاعدة بيانات بالاسم con_tut.

ولكن يجب إضافة جدول وبه بعض البيانات بداخلها لكي نتمكن من جلبها على شاشة المتصفح.

على سبيل المثال سوف نعمل على إضافة جدول مكون من ثلاثة حقول وهي id و username و email.

بالتالي نقوم بتظليل قاعدة البيانات على يسار الشاشة ثم نعمل على فتح واجهة SQL.

ومع ذلك يمكن إضافة الجداول إما عن طريق واجهة Structure أو عن طريق إضافة بعض الأوامر في لغة SQL .

بالتالي نستخدم سطور الشيفرة التالية بدلاً من ذلك.

CREATE TABLE data_db(
                        id  integer PRIMARY KEY AUTO_INCREMENT,
                        username  VARCHAR (250),
                        email   VARCHAR (250)
                    );

نلاحظ أن حقل id يجب أن يتضمن رقمية تلقائية للعناصر في الجدول.

بالتالي يجب أن يحتوي على خاصية PRIMARY KEY.

ولا شك بأن الجداول في قواعد البيانات mysql يجب أن تحتوي على أرقام تسلسلية فريدة في الذاكرة لكي يتم الوصول لعناصرها.    

 

إضافة العناصر للجداول

يمكن إضافة عناصر الجدول إما عن طريق واجهة Structure يدويًا أو عبر سطور الشيفرة ويمكن إضافة بيانات متعددة وعشوائية.

بالتالي نقوم  بملئ حقول بيانات مستخدمين وهمية في الشيفرة التالية:

INSERT INTO data_db (username, email)
values ('Salma','salma@mail.com') , ('Ahmad' , 'ahmad@mail.com'), ('Mutawe' , 'mutawe@mail.com'), ('Mohammed' , ''mohamed@mail.com') , 
       ('Hanan','hanan@mail.com') , ('Lama' , 'lama@mail.com'), ('Salem' , 'salem@mail.com'), ('Medhat' , 'medhat@mail.com')

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

على الرغم من أن بعض إصدارات اللغة تتطلب منا التغيير في قواعد Syntax أثناء إضافة العناصر.

وذلك بسبب بعض الفوارق لكن يمكن البحث عبر الويب عن الحلول الممكنة.

بعد أن انتهينا من عملية إضافة البيانات سيتبيّن لنا أن هناك قاعدة بيانات يمكن الوصول إليها بأكثر من طريقة وأكثر من لغة برمجة.

وفي هذه الدورة نقوم باستخدام لغة PHP باعتبارها أكثر اللغات استخدامًا في مواقع الويب.

يتم الوصول إلى حسابات قواعد البيانات mysql إما عن طريق حساب الخادم الخاص بقواعد البيانات أو حسابات أخرى.

وفي حالتنا هذه نقوم باستخدام حساب root مع كلمة المرور إن وجدت.  

 

إنشاء الاتصال عبر لغة PHP

نعمل على إضافة صفحة خاصة بعملية الاتصال بقواعد البيانات باسم connection.php وهي التي تمكننا من الوصول إلى جدول data db.

بالتالي نقوم بإنشاء صفحة اتصال بلغة PHP وتضمينها بصفحة index.php والمساعدة في إنشاء صفحات PHP.

<?php

//connection.php

$dbname= "con_tut";

$connect = mysqli_connect("localhost" ,"root" ,"" , $dbname);

if(!$connect){
die ("connect error".mysqli_error());
}
else{
echo " <div style='text-align: center; font-size: 30px; background: #FFFFF0;'> You have successfully connected to $dbname </div>";

}

echo "<br/>";

?>

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

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

يمكن التحقق من نجاح الاتصال بقواعد البيانات عن طريق زيارة صفحة connection.php بالمتصفح.

لكي نتمكن من زيارتها يتعين علينا وضع العنوان http://localhost/tutorial/connection.php في شريط المتصفح.

بالتالي لا بد من على الأقل من ظهور احدى الرسالتين الواردة في الكود السابق.  

نجاح الإتصال في قواعد البيانات

 

 إن تعذر الوصول لصفحة الخادم  نتأكد من اسم المشروع الذي أنشأنا به صفحاتنا .

وفي حالتنا هنا فقد تم العمل بمشروع tutorial الذي قمنا باستخدامه في دورة PHP.

يجب تضمين ملفات صفحة connection.php داخل صفحة index.php والتي تستطيع نسخها من الشيفرة التالية.

<?php

//index.php

include "connection.php";


$sql = "SELECT * FROM `data_db`";
$run = mysqli_query($connect , $sql);


?>
<table border="1">
<tr>
<td width="100px" align="center">Username</td>
<td width="300px" align="center">Email</td>

</tr>
</table>
<?php

while($data = mysqli_fetch_assoc($run)) {
?>
<table border="1">
<tr>
<td width="100px"><?php echo $data['username']; ?></td>
<td width ="300px"><?php echo $data['email']; ?></td>


</tr>
</table>


<style>
td   {
background-color: #fffff0;
}

table{
margin:1px auto;
}
</style>

<?php
}

?>


نعتبر أن جملة الاستعلام SELECT هي مفتاح عمل الشيفرة السابقة وهي إحدى مهام لغة SQL التي تمكن المستخدم من الوصول إلى بيانات الخادم.

بالتالي قد يتساءل البعض عن مهام قواعد البيانات mysql ولماذا يجب على المشاريع الكبيرة امتلاكها؟.

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

بالتالي يتم جلبها عند الحاجة بواسطة خوارزميات مخزنة مسبقًا.

وبالتالي لنا أن نتخيل بعض المواقع الإلكترونية التي تمكننا من امتلاك حساباتنا الخاصة دون التأثير على بقية المستخدمين.

 

التفاعل مع البيانات

توفر تقنيات الويب إمكانية التفاعل مع بيانات الصفحة عبر لغاتٍ متعددة.

على سبيل المثال لو قمنا بعرض البيانات القادمة من قواعد البيانات mysql ووضعها في وسم HTML خاص فإن ذلك ممكنًا.

مع ذلك نستطيع القيام بهذا الإجراء عبر لغة جافا سكريبت باستخدام خصائص DOM.

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

على سبيل المثال نعتبر التعليقات على المنشورات واضافة أي حدث على الشاشة واحدًا من خصائصها.

الآن يمكننا إجراء عدد من التحديثات على الشيفرة الخاصة بنا في صفحة index.php.

 حيث يمكننا النقر على حقول الجدول.

سوف يؤدي ذلك إلى التغيير بقيمة وسوم HTML والتي سنعمل على اضافتها والوصول إليها عبر معرفات id.

بالتالي ستحتوي هذه الوسوم على عنوان id من قواعد البيانات mysql ومن الجدول الذي قمنا بإنشائه.

بالإضافة أننا سنتمكن من طباعة حقول username او email.  

 

دمج اللغات

تلعب لغة جافا سكريبت دور هام في السيطرة على صفحات الويب.

وقد بدى ذلك واضحًا أثناء تفاعلها مع قواعد البيانات mysql وقيمها الخاصة.

فهي بدورها توفر للمبرمجين وسائل أكثر حرفية في جلب البيانات وإجراء طلبات ناجحة نحو الخادم.

<?php

//index.php


include "connection.php";


$sql = "SELECT * FROM `data_db`";
$run = mysqli_query($connect , $sql);




while($data = mysqli_fetch_assoc($run)) {

$values ='
<table  border="1">
        <tr id = '.$data['id'].'>
            <td onclick="doSelect(''.$data['id'].'' , ''.$data['username'].'' ,  ''.$data['email'].'');" width="100px"> '.$data['username'].' </td>
            <td onclick="doSelect(''.$data['id'].'' , ''.$data['username'].'' ,  ''.$data['email'].'');" width ="300px">'.$data['email'].'</td>


        </tr>
    </table>
   

';

echo $values;


}

?>

<br><br><br><br>

<table border="2">
    <tr>
        <td  width="100px" align="center">ID</td>
        <td  width="100px" align="center">Username</td>
        <td  width="300px" align="center">Email</td>
    </tr>
    <tr>
        <td id="dataId" class="td" width="100px" align="center"></td>
        <td id="dataUsername" class="td" width="100px" align="center"></td>
        <td id="dataEmail" class="td" width="300px" align="center"></td>
    </tr>

</table>

<script>

    function doSelect(id , username , email)
    {
        document.getElementById("dataId").innerHTML =" " +
            "<td> " + id + " </td> ";
        document.getElementById("dataUsername").innerHTML ="" +
            "<td> "+username+" </td> ";
        document.getElementById("dataEmail").innerHTML ="" +
            "<td> "+email+" </td> " +
            "";
    }
</script>


<style>

    .td{
        background-color: #ff442e;
        color: ivory;
        padding: 4px;
        font-size: 20px;
        width: 80px;
    }

    td   {
        background-color: #fffff0;
        cursor: pointer;
    }

    table{
        margin:1px auto;
    }
</style>

 بالتالي فإن الشيفرة السابقة ليست سوى دمج منطقي ويقبل العمل في لغات تطوير الويب.

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

 وذلك عن طريق الأمر onclick ونجحنا بتمرير متغيرات PHP من حلقة While التكرارية مصحوبًا معها حقول من قواعد البيانات mysql.

بالتالي يتم التعامل مع متغيرات PHP على أنها قيم صحيحة في لغة جافا سكريبت.

وتفيد الدالة doSelect عملية إنشاء حدث عند النقر على إحدى عناصر الجدول.

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

على سبيل المثال يعمل الكود التبديل بين المتغيرات عند النقر على أي حقل في الجدول.

ولو نظرنا إلى مخرجات أحداث جافا سكريبت نجد أنها قيم id من جدول data db و قيم username و email.

بذلك نتجت عملية جلب البيانات من خلال الاتصال بقاعدة البيانات con_tut. ليصبح ناتج الشاشة كالتالي:

قواعد البيانات mysql

إن ما يعيب عملية دمج اللغات هو صعوبة تمرير المتغيرات بين أكثر من لغة ببعض الأحيان.

وقد تظهر بعض الأخطاء عند تحديث الخادم أو إصدارات PHP على نحو خاص.

لكن هذه الطريقة هي بدورها الأكثر عملية في بناء صفحات الويب التفاعلية.  

 

قواعد البيانات وصفحات طلب الخادم Request

لا يقف الأمر عند جلب البيانات فحسب حيث وفرت لغات الويب عمليات طلب الخادم عند وقوع الأحداث بمتصفح الويب.

بالتالي نعتبر أن عملية طلب الخادم بواسطة أحداث جافا سكريبت هي الأكثر عملية على الرغم من إمكانية الطلب عبر submit في PHP.

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

<br>

<div style="text-align: center;">
    <input id="username" placeholder="Enter Your Name"/>
    <input id="email" placeholder="Enter Your Email"/>
    <button onclick="insertData();">Save Data</button>
</div>

تتحقق عملية الاتصال بلغة جافا سكريبت عند تعريف متغير يقوم بإرجاع دالة XMLHttpRequest.

حيث تعمل على إرسال البيانات إلى صفحة الخادم .

نقوم الآن  بإضافة صفحة server.php من أجل تحقيق الاتصال بقواعد البيانات mysql.

لن ننسى دالة insertData التي قمنا بطلبها عند إضافة الوسوم.

لذا سوف نعمل على تعريفها في المكان المخصص بـ كود جافا سكريبت.

function insertData()
   {
     var username= document.getElementById("username").value;
     var email = document.getElementById("email").value;


     if((username && email != null) && (email && username  != null))
     {
         var xhr = new XMLHttpRequest();

         xhr.onreadystatechange = function(){
             if(xhr.readyState == 4 && xhr.status == 200){
                 
             }
         }
         xhr.open("POST" , "server.php?username=" + username + "& email ="+ email , true);
         xhr.send();
     }
     else
     {
         alert("You Should Insert Data Before!!");
     }

   }

 

عند فتح أمر اتصال بالخادم قمنا بإرفاق قيم string التي قام المستخدم بتعبئتها في الحقول وذهبنا بها إلى صفحة server.php.

 

صفحة الخادم server.php

صفحة الخادم تفيد باستقبال البيانات القادمة من قناة xhr. وهي قيم ومتغيرات تم جلبها من وسوم إدخال HTML أثناء تفاعل المستخدم معها.

بالتالي فإننا نسعى الآن للوصول إلى قواعد البيانات mysql ومن ثم ادخال القيم إلى حقول جدول data db.

نقوم بنسخ الشيفرة التالي بصفحة server.php لتصبح كالتالي :

<?php

//server.php

include "connection.php";

 $username =  $_REQUEST['username'];
 $email = $_REQUEST['email'];


$sql = "INSERT INTO `data_db` (`username` , `email`)
                                                 VALUES ('$username'  ,'$email'  );";
mysqli_query($connect, $sql);


 

أما الآن وعند زيارة المتصفح وإدخال البيانات مع النقر على Save Data نجد أن البيانات المرفقة تم إدخالها بنجاح.

إذ يمكن التحقق من ذلك عبر تحديث المتصفح ورؤية القيم الجديدة في الجدول.

لكن ماذا لو أردنا إظهار القيمة فورًا قبل إرسالها إلى قواعد البيانات ؟.

يمكن ذلك من خلال تضمين القيم بوسوم الجدول في الدالة insertData.

سنعمل على إضافة معرف id لوسم الجدول الرئيسي ومن ثم نقم بإضافة القيمة mainData.

ويمكن إضافة أي معرف شريطة أن لا يتعارض مع أي معرف آخر بالصفحة.

ثم سنعمل على الوصول لهذا المعرف من خلال دالة insertData وإضافة عنصر جديد عند النقر على Save Data.

 

 

   

مزايا إضافيّة مع SQL

يحقق الوصول إلى قواعد البيانات mysql بشكل صحيح العثور على بيانات دقيقة خاصة عند حصر بعض الاحتمالات.

مع ذلك تفيد قنوات الاتصال في الكثير من المهام المتعلقة بمواقع الويب.

أهمها الحصول على صفحات ويب ديناميكية وتطوير نواة الموقع مع الوقت.

 

الخلاصة

  • نعتبر قواعد البيانات mysql واحدة من أنظمة المعلومات التي تتيح لك استخدام لغة SQL.
  • في حال ظهور الأخطاء قم بتتبع الأخطاء عبر مترجم المتصفح.
  • قم بتحليل الشيفرة السابقة جيدًا لتتمكن من إدراك علوم الويب جيدًا.

 


المراجع
  1.  mySql language^wikipedia.
  2.  How to create a database^ using mysql.
  3. Create^tables in mysql.
  4.  Using javascript^DOM.
  5. ^ What Is a Database?.
  6. ^ Object database.
  7. ^ Types of Databases.
  8. ^ tutorial points.
  9. ^ Distributed database.
  10. ^ What Are the Different Types of Databases?.
  11. ^ Hierarchical database model.

وقت النشر : 2023-02-04 18:57:17 ·

1    التصنيفات






2    مقالات من التقنية

يعتمد هذا الموقع على عرض الإعلانات في تحقيق الدخل ، نشكر تفهمكم الدائم ونتمنى لكم قضاء وقت رائع ... وشكراً :D .