ساختار جداول

آبان ۲۰, ۱۳۹۴

ساختار جداول، به توسعه‌دهندگان اجازه می‌دهد که جداول مورد نظر خود را از طریق رابط کاربری بر روی پایگاه‌های داده‌ مختلف ایجاد و ویرایش نمایند.

برای شروع، ابتدا باید سرویس پایگاه‌داده مورد نظر خود را مشابه تصویر ذیل از لیست سرویس‌ها انتخاب نمائید. به صورت پیش‌فرض یک سرویس به نام Local SQL Database وجود دارد، اما اگر می‌خواهید با پایگاه‌های داده دیگری ارتباط برقرار کنید باید از منو سرویس‌ها، یک سرویس پایگاه‌داده جدید ایجاد نمائید.

 schema

بعد از انتخاب سرویس پایگاه داده موردنظر خود، لیست جداول آن پایگاه‌داده فعال خواهد شد. اگر جدولی از قبل وجود داشته باشد، می‌توانید با انتخاب آن، به ویرایش فیلدهای آن بپردازید. اما اگر جدولی وجود ندارد به دو روش زیر می‌توانید جداول موردنظر خود را ایجاد نمائید.

۱ رابط کاربری

برای ایجاد یک جدول از طریق رابط کاربری، بر روی دکمه “ایجاد” کلیک نمائید. در این مرحله یک رابط کاربری مشابه تصویر زیر نمایش داده می‌شود.

tableهمانطور که در تصویر فوق مشاهده می‌فرمائید، علاوه بر نام و عنوان جدول، می‌توانید با کلیک بر روی دکمه “افزودن فیلد”، فیلدهای مورد نظر خود را از طریق رابط کاربری مشابه تصویر ذیل، ایجاد نمائید.

fields

۲ JSON

روش دیگر برای ایجاد ساختار جداول، استفاده از داده‌های JSON است. برای استفاده از این روش بر روی دکمه “بارگذاری Json” کلیک نمائید. به عنوان مثال، در ادامه نحوه ایجاد ۴ جدول مختلف که در نمونه برنامه Address Book مورد استفاده قرار می‌گیرند را می‌توانید مشاهده نمائید.

جدول contact:

{
  "resource": [
    {
        "description": "The main table for tracking contacts.",
        "name": "contact",
        "field": [
            {
              "name": "id",
              "label": "Contact Id",
              "type": "id"
            },
            {
              "name": "first_name",
              "type": "string",
              "size": 40,
              "allow_null": false,
              "is_index": true,
              "validation": {
                "not_empty": {
                  "on_fail": "First name value must not be empty."
                }
              }
            },
            {
              "name": "last_name",
              "type": "string",
              "size": 40,
              "allow_null": false,
              "is_index": true,
              "validation": {
                "not_empty": {
                  "on_fail": "Last name value must not be empty."
                }
              }
            },
            {
              "name": "image_url",
              "label": "image_url",
              "type": "text",
              "validation": {
                "url": {
                  "on_fail": "Not a valid URL value."
                }
              },
              "allow_null": true
            },
            {
              "name": "twitter",
              "label": "Twitter Handle",
              "type": "string",
              "size": 18,
              "allow_null": true
            },
            {
              "name": "skype",
              "label": "Skype Account",
              "type": "string",
              "size": 255,
              "allow_null": true
            },
            {
              "name": "notes",
              "label": "notes",
              "type": "text",
              "allow_null": true
            }
        ]
    }
  ]
}

جدول contact_info:

{
  "resource": [
    {
        "description": "The contact details sub-table, owned by contact table row.",
        "name": "contact_info",
        "field": [
            {
              "name": "id",
              "label": "Info Id",
              "type": "id"
            },
            {
              "name": "ordinal",
              "type": "integer",
              "allow_null": true
            },
            {
              "name": "contact_id",
              "type": "reference",
              "allow_null": false,
              "ref_table": "contact",
              "ref_fields": "id",
              "ref_on_delete": "CASCADE"
            },
            {
              "name": "info_type",
              "type": "string",
              "size": 32,
              "allow_null": false,
              "validation": {
                "not_empty": {
                  "on_fail": "Information type can not be empty."
                },
                "picklist": {
                  "on_fail": "Not a valid information type."
                }
              },
              "picklist": [
                "work",
                "home",
                "mobile",
                "other"
              ]
            },
            {
              "name": "phone",
              "label": "Phone Number",
              "type": "string",
              "size": 32
            },
            {
              "name": "email",
              "label": "Email Address",
              "type": "string",
              "size": 255,
              "validation": {
                "email": {
                  "on_fail": "Not a valid email address."
                }
              }
            },
            {
              "name": "address",
              "label": "Street Address",
              "type": "string"
            },
            {
              "name": "city",
              "label": "city",
              "type": "string",
              "size": 64
            },
            {
              "name": "state",
              "label": "state",
              "type": "string",
              "size": 64
            },
            {
              "name": "zip",
              "label": "zip",
              "type": "string",
              "size": 16
            },
            {
              "name": "country",
              "label": "country",
              "type": "string",
              "size": 64
            }
        ]
    }
  ]
}

جدول contact_group:

{
  "resource": [
    {
        "description": "The main table for tracking groups of contact.",
        "name": "contact_group",
        "field": [
            {
              "name": "id",
              "type": "id"
            },
            {
              "name": "name",
              "type": "string",
              "size": 128,
              "allow_null": false,
              "validation": {
                "not_empty": {
                  "on_fail": "Group name value must not be empty."
                }
              }
            }
        ]
    }
  ]
}

جدول contact_group_relationship:

{
  "resource": [
    {
        "description": "The join table for tracking contacts in groups.",
        "name": "contact_group_relationship",
        "field": [
            {
              "name": "id",
              "type": "id"
            },
            {
              "name": "contact_id",
              "type": "reference",
              "allow_null": false,
              "ref_table": "contact",
              "ref_fields": "id",
              "ref_on_delete": "CASCADE"
            },
            {
              "name": "contact_group_id",
              "type": "reference",
              "allow_null": false,
              "ref_table": "contact_group",
              "ref_fields": "id",
              "ref_on_delete": "CASCADE"
            }
        ]
    }
  ]
}

تگ‌ها ;

نظر دهید:

لطفا در نظر داشته باشید که بر اظهارنظرها نظارت می شود. بنابراین، در نظرات خود از کلمات اسپم و ... استفاده نکنید، در غیر این صورت نظر شما حذف خواهد شد.