রিদওয়ান বিন শামীম
ডাটাবেসের বৈশিষ্ট্য
ডাটাবেসের বৈশিষ্ট্য ডাটাবেসকে ডাটা সোর্সরূপে প্রদর্শন করে। এর কিছু উপবৈশিষ্ট্য আছে,
Element (উপাদান) |
বর্ণনা |
“connection” | ডাটাবেসের কানেকশনের নাম |
“execute” | এসকিউএল বিবৃতির অ্যারি যা ডাটা পুনঃরসজ্জিত করার আগে সম্পাদন করতে হয় (ঐচ্ছিক) |
“keyfield” | মূল টেবিলের জন্য প্রধান ক্ষেত্র(ঐচ্ছিক) |
“maintable” | এপ্লিকেশনের জন্য মূল টেবিল(ঐচ্ছিক) |
“orderby” | নির্ধারিত এসকিউএল আরোপিত ক্লস(ঐচ্ছিক) |
“sql” | পুনঃরসজ্জিত ডাটার জন্য এসকিউএল বিবৃতি। |
ডাটাবেস থেকে ডাটা গ্রহণ
এই মডেল এসকিউএল ডাটাবেসের কাস্টমার টেবিল থেকে কাস্টমার, সিটি, দেশ ইত্যাদি তথ্য গ্রহন করে থাকে।
Example
{ "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_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" } ] }
কনফিগারেশন ফাইল অনেকগুলো ডাটাবেস কানেকশন ধারন করতে পারে।
ডাটাবেস তৈরি করা
যেহেতু অ্যাপ এম এল এপ্লিকেশন চালুর আগেই এসকিউএল বিবৃতি সম্পাদনের সুযোগ দেয় তাই কোনও ডাটাবেস তৈরির জন্যও আমরা এটিকে ব্যবহার করতে পারি,
Model
{ "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)" ] }}
দ্রুত প্রোটোটাইপিঙের জন্য উপযুক্ত।