গতিশীল ফর্ম বিল্ডার ফর্ম এবং ডাটাবেস ডিজাইন? [বন্ধ]


30

বলুন আপনার ব্যবহারকারীরা তাদের নিজস্ব ওয়েব-ভিত্তিক ফর্মগুলি (পাঠ্যবক্স, নির্বাচন, ইত্যাদি) তৈরি করতে পারবেন এবং তাদের ব্যবহারকারীদের পূরণের জন্য ওয়েবে এগুলি প্রকাশ করতে পারেন।

গতিশীল ফর্মগুলির সাথে টাই করার জন্য কীভাবে ডাটাবেসটি আর্কিটেক্ট করবেন সে সম্পর্কে কারও কাছে কি কোনও সংস্থান আছে বা কোনও পরামর্শ আছে?

উদাহরণস্বরূপ, আপনি কি প্রতিটি ফর্মের জন্য একটি শিশু টেবিল, বা প্রদত্ত ফর্মের বিভিন্ন সংস্করণ তৈরি করবেন?


উত্তর:


35

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

আমি ফর্মগুলির জন্য একটি একক সারণি প্রস্তাব করব। কার ফর্ম এটি তা সনাক্ত করতে আপনার প্রতিটি ফর্মের একটি সনাক্তকারী প্রয়োজন:

ফরম
-----
  আইডি (পিকে)
  নাম
  মালিক_আইডি (এফকে ইউজার.আইডি)
  (অন্যান্য ক্ষেত্র)

form_elements
-------------
  আইডি (পিকে)
  ফর্ম_আইডি (এফকে টু ফর্ম.আইডি)
  এলিমেন্ট_ টাইপ_আইডি (এফকে টু এলিমেন্ট_ টাইপস.আইডি)
  ক্যাপশন
  (অন্যান্য ক্ষেত্র)

element_types
-------------
  আইডি (পিকে)
  নাম

element_list_values
-------------------
  আইডি (পিকে)
  এলিমেন্ট_আইডি (এফ কে ফর্ম_িলিমিটি.আইডি)
  নাম
  মান
  (অন্যান্য ক্ষেত্র ??)

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


2
দুর্দান্ত সমাধান। টিওয়াই
জেফ বোর্ডেন

সুযোগ দ্বারা আপনি উপরে উল্লিখিত টেবিল স্কিমা জনসাধারণের জন্য ব্যবহারের জন্য বিদ্যমান কোন ওয়েব ফর্ম বিল্ডার জিইউআই সরঞ্জামগুলি জানেন? প্রাসঙ্গিক হলে আমরা। নেট ব্যবহার করছি। TY।
জেফ বোর্ডেন

@ জেফবার্ডেন: না, তবে আমি নিশ্চিত যে এখানে কিছু আছে।
হতাশ

সুতরাং আমি ধরে নিচ্ছি যে জমা দেওয়া ফর্মগুলি রেকর্ড করার সর্বোত্তম উপায়টি এমন একটি স্কিমা সহ হবে: form_submitted id (PK) form_id (এফ থেকে টু form.id) ব্যবহারকারী_আইডি (ব্যবহারকারীদের মধ্যে এফকে) ... ফর্ম_সোমিশন_ইলিমেন্ট আইডি (পিকে) ফর্ম_সাম্বিকেশন_আইডি (এফকে ফর্ম_সেম্বিবিশন.আইডি) ফর্ম_ইলেমেন্ট_িড (এফকে টু ফর্ম_ইলেটমেন্টস আইডি) মান ডান-ইশ দেখছেন?
জেফ বোর্ডেন

@ ফ্রেস্ট্রেটেড উইথফোর্ডস ডিজাইনার এই স্কিমাতে ফর্ম ক্ষেত্র এবং ক্ষেত্রের মানগুলি থেকে টেবিল উত্পন্ন করার জন্য কীভাবে নির্বাচন করবেন !?
হার্মিস অট্রান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.