مرجع تطبيق ML - قواعد البيانات


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

تحدد خاصية "قاعدة البيانات" قاعدة بيانات على أنها مصدر البيانات. لها الخصائص الفرعية التالية:

Element Description
"connection" The name of a database connection
"execute" Array of SQL statements to be executed before data retrieval (optional)
"keyfield" The key field for the main table (optional)
"maintable" The main table for this application (optional)
"orderby" A fixed SQL orderby clause for the application (optional)
"sql" The SQL statement for retrieving data

بيانات من قاعدة بيانات

يجلب هذا النموذج السجلات التي تحتوي على العميل والمدينة والبلد من جدول العملاء في قاعدة بيانات SQL:

مثال

{
"database": {
    "connection": "mysql",
    "sql"       : "SELECT CustomerName, City, Country FROM Customers",
    "orderby"   : "CustomerName"
}
}

قيود التصفية

للسماح للمستخدمين بتصفية البيانات ، يمكنك إضافة معلومات التصفية إلى النموذج:

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

قيود الفرز

للسماح للمستخدمين بفرز البيانات ، يمكنك إضافة معلومات الفرز إلى النموذج:

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

قيود التحديث

للسماح للمستخدمين بتحديث البيانات ، يمكنك تضمين معلومات التحديث في النموذج: 

مثال

"updateItems" : [
    {"item" : "CustomerName"},
    {"item" : "Address"},
    {"item" : "PostalCode"},
    {"item" : "City"},
    {"item" : "Country"}]

بشكل افتراضي ، سيسمح لك AppML بتصفية البيانات أو فرزها أو تحديثها ، إلا أنها محددة في النموذج.


اتصالات قاعدة البيانات

تم تعريف اتصالات قاعدة البيانات في appml_config.php :

appml_config.php

<?php echo("Access Forbidden");exit();?>
{
"dateformat" : "yyyy-mm-dd",
"databases": [
    {
    "connection" : "mysql",
    "host"       : "127.0.0.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "googleDB",
    "host"       : "192.168.1.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "amazonDB",
    "host"       : "mydbinstance.amazon.com:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "azureDB",
    "host"       : "azure.cloudapp.net",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    }
]
}

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


إنشاء قواعد البيانات

نظرًا لأن AppML يسمح لك بتنفيذ جمل SQL قبل بدء التطبيق ، يمكنك استخدام هذا لإنشاء قاعدة بيانات إذا لزم الأمر:

نموذج

{
"database" : {
"connection" : "myCDs",
"execute" : [
"DROP TABLE IF EXISTS CD_Catalog",
"CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"
]
}}

مثالي للنماذج الأولية السريعة!