ADO هي تقنية تقدمها مايكروسوفت للتحكم في قواعد البيانات بدءاً من الاتصال بالقاعدة وحتى تعديل وتحديث وإضافة وحذف البيانات فيها. وهي اختصار لـ"كائنات بيانات أكتيف اكس" ActiveX Data Objects(ADO).
ADO هو مكوّن Component توفره تقنية MS ActiveX يحتوي على عدة كائنات Objects تسهل الاتصال بقواعد البيانات وإجراء العمليات المختلفة عليها؛ وهذه الكائنات هي:
ADO Command
ADO Connection
ADO Error
ADO Field
ADO Parameter
ADO Property
ADO Record
ADO Recordset
ADO Stream
ADO DataTypes
أساس التعامل مع قواعد البيانات في تقنية ASP هو تقنية "كائنات بيانات أكتيف اكس" ActiveX Data Objects(ADO).
ولكل كائن Object من هذه الكائنات الطرق Methods والخصائص Properties والأحداث Events الخاصة به.
ولعل أهم ثلاث كائنات من هذه الكائنات هي:
الكائن Connection
وهو المسئول عن فتح وغلق الاتصال بقاعدة البيانات
الكائن Recordset
وهو المسئول عن فتح محتويات قاعدة البيانات (الجداول مثلاً)، وذلك نظراً إلى أنه بعد الاتصال بقاعدة البيانات، يلزم لقراءة بيانات هذه القاعدة تحميلها أولاً في سجل Recordset (الذي هو بمثابة جدول وهمي) كي يمكنك قراءتها والتعديل فيها، وهذه هي مهمة هذا الكائن الذي يتولى مهمة إنشاء هذا السجل.
الكائن Field
يحتوي هذا الكائن على المعلومات الخاصة بكل حقل Field (أي عمود) في السجل Recordset. ويوجد كائن Field لكل عمود في السجل Recordset.
مهم جداً :
ولعل الطريقة العامة لتأسيس الاتصال بقاعدة البيانات من صفحة ASP هي:
إنشاء كائن ADO Connection للاتصال بقاعدة البيانات
فتح الاتصال بقاعدة البيانات Database connection
إنشاء كائن ADO recordset
فتح السجل Recordset
استدعاء أو إضافة أو حذف أو تحديث/تغيير البيانات المطلوبة من السجل Recordset
إغلاق السجل Recordset
إغلاق الاتصال بقاعدة البيانات Connection close
*ملحوظة:
Recordset هو الجدول الوهمي الذي يتم إنشائه باستخدام الكائن Recordset كي يتم تحميل البيانات فيه أولاً من قاعدة البيانات
Record/Records هو صف(صفوف) بيانات الأعمدة (الحقول) في الجدول. كل خلية cell لكل حقل (عمود) تسمى سجل record.
الكائن Connection
قبل القيام بأي عمليات استدعاء أو تحديث أو حذف أو بحث في قاعدة البيانات، يجب أولاً تأسيس الاتصال بها وتحديد موقعها. ويستخدم هذا الكائن من أجل هذه المهمة. ونظراً إلى أن هذا الـكائن ليس من الكائنـات الجاهزة Built-in objects التي توفرهــا تقنية ASP (بالمثل مثل باقي كائنات ActiveX ADO الأخرى).
اللغة الاستعلامية الإنشائية
SQL هي اختصار لـ"اللغة الاستعلامية الإنشائية" Standard Query Language وتستخدم من أجل التحكم الاستعلامي الشامل في بيانات قواعد البيانات من خلال الإضافة والحذف والتحديث والاستدعاء منها وإليها. وهي متوافقة مع معايير معهد المعايير القومي الأمريكي (ANSI) ويمكن استخدام لغة SQL مع قواعد البيانات المختلفة مثل:
MS Access
MySQL
MS SQL Server
Oracle
DB2
Informix
Sybase
للتوضيح:
قاعدة البيانات database تحتوي على الأقل على جدول table واحد يحتوي الجدول على حقول Fields (أعمدة Column) وعلى صفوف Rows (تعرف أيضاً باسم سجلات records)، وتقوم هذه اللغة بتسهيل مهمة الاختيار من أعمدة وصفوف محددة، أو بتغيير البيانات التي بها، أو بحذف صفوف معينة أو بإدراج صفوف جديدة بقيم جديدة.
Data Manipulation Language (DML)
لغة SQL تتولى مهمة تنفيذ الاستعلامات queries ولكنها تتولى أيضاً مهمة تحديث وإدراج وإضافة السجلات records (أي الصفوف rows). وتشكل أوامر الاستعلام query والتحديث update هذه لغة DML كجزء من لغة SQL:
وهذه الأوامر هي:
|
استدعاء البيانات من جداول قاعدة البيانات |
Select |
|
تحديث البيانات في جداول قاعدة البيانات |
Update |
|
حذف البيانات من جداول قاعدة البيانات |
Delete |
|
إدراج بيانات جديدة في جدول قاعدة البيانات |
Insert Into |
Data Definition Language (DLL)
تشكل اللغة DDL جزءاً جديداً مهماً هو الآخر من اللغة SQL. وتتولى هذه اللغة، DDL، مهمة إنشاء جداول جديدة أو حذف جداول موجودة بالفعل. ومن ضمن ما توفره هذه اللغة تحديد الفهارس indexes (أي المفاتيح Keys)، وتحديد الوصلات links بين الجداول ووضع القيود بين جداول قاعدة البيانات.
وأهم أوامر لغة DDL:
|
إنشاء جدول جديد في قاعدة البيانات |
Create Table |
|
تغيير جدول في قاعدة البيانات |
Alter Table |
|
حذف جدول في قاعدة البيانات |
Drop Table |
|
إنشاء فهرست index (أي مفتاح بحث search key) |
Create Index |
|
حذف فهرست index (أي مفتاح بحث search key) |
Drop Index |
الأمر Select
يستخدم هذا الأمر من أجل استدعاء البيانات من جداول قاعدة البيانات، والبنية الهيكلية الأساسية لهذا الأمر هي:
SELECT (fieldl [, field2] ...)
FROM (table1 [, table2] ...)
WHERE (condition1 [, condition2] ...)
ORDER BY (fieldl [ASC|DESC] [, fie1d2 [ASC|DESC]] ...)
حيث:
Field هو حقل (عمود) من حقول الجدول
Table هو جدول من جداول قاعدة البيانات
Where هي أداة الشرط التي على ضوء الشرط الملحق بها يتم اختيار البيانات
Order هو نظام الترتيب الذي يحدد عرض النتائج بالترتيب التصاعدي Asc أو التنازلي Desc لحقل Field ما.