ব্যবহারকারী ইনপুট এর উপর ভিত্তি করে গতিশীলভাবে নতুন টেবিল তৈরি করা ভাল ধারণা নয়। যদি ফর্মগুলির মৌলিক কাঠামো পরিবর্তন হয় তবে নতুন কলামগুলি অন্তর্ভুক্ত করতে বা পুরানো মুছে ফেলার জন্য সমস্ত গতিশীলভাবে তৈরি করা টেবিলগুলি আপডেট করতে হবে এবং এটি রক্ষণাবেক্ষণের মাথা ব্যথার কারণ হতে পারে। তারপরে কোন টেবিলটি জিজ্ঞাসা করবেন তা জানার সমস্যা আছে (যা সম্ভবত ডায়নামিক এসকিউএল তৈরি করবে যা সমস্ত নতুন সমস্যা উন্মুক্ত করে)। এবং সম্ভবত পারফরম্যান্সের সমস্যাগুলিও রয়েছে তবে আমি জানি না এটি কতটা খারাপ হবে। এছাড়াও, একটি সারণী সাধারণত একই সত্তার প্রতিটি নতুন উদাহরণের জন্য একই টেবিলের অনুলিপি না রেখে এক ধরণের সত্তা (যেমন "ওয়েব ফর্ম") উপস্থাপন করতে ব্যবহৃত হয় ।
আমি ফর্মগুলির জন্য একটি একক সারণি প্রস্তাব করব। কার ফর্ম এটি তা সনাক্ত করতে আপনার প্রতিটি ফর্মের একটি সনাক্তকারী প্রয়োজন:
ফরম
-----
আইডি (পিকে)
নাম
মালিক_আইডি (এফকে ইউজার.আইডি)
(অন্যান্য ক্ষেত্র)
form_elements
-------------
আইডি (পিকে)
ফর্ম_আইডি (এফকে টু ফর্ম.আইডি)
এলিমেন্ট_ টাইপ_আইডি (এফকে টু এলিমেন্ট_ টাইপস.আইডি)
ক্যাপশন
(অন্যান্য ক্ষেত্র)
element_types
-------------
আইডি (পিকে)
নাম
element_list_values
-------------------
আইডি (পিকে)
এলিমেন্ট_আইডি (এফ কে ফর্ম_িলিমিটি.আইডি)
নাম
মান
(অন্যান্য ক্ষেত্র ??)
আপনার ওয়েব অ্যাপ্লিকেশন ব্যবহারকারীদের এমন ফর্ম তৈরি করতে দিতে পারে যা forms
সারণীতে সংরক্ষণ করা হবে, যা তৈরি করা ব্যবহারকারীর একটি রেফারেন্সের সাথে (ধরে নিবেন যে আপনি ব্যবহারকারীদের যথাযথ সত্তা হিসাবে ট্র্যাক করছেন)। ফর্মটি form_elements
সেই রেফারেন্সের সাহায্যে forms
সারণী সজ্জিত করা হয়েছে যাতে তারা জানে যে তারা কোন ফর্মের অন্তর্ভুক্ত, এবং element_types
তাই তারা জানে যে তারা কোন ধরণের। element_types
কোনও ফর্মের থাকতে পারে এমন বিভিন্ন উপাদানের একটি স্ট্যাটিক (বেশিরভাগ) তালিকা সংরক্ষণ করবে। প্রকারগুলি হ'ল: "টেক্সট_ফিল্ড", "ড্রপ_ডাউন_লিস্ট", "রেডিও_বাটন", "চেকবক্স"। "ড্রপ_ডাউন_লিস্ট" এবং "রেডিও_বাটন" এর মতো ধরণের জন্য আপনার অতিরিক্ত টেবিলের প্রয়োজন হবে যা সম্ভবত element_list_values
এই উপাদানগুলির তালিকাগুলির জন্য সম্ভাব্য বিকল্পগুলি সংরক্ষণ করার জন্য বলা হয়।