কোড ফার্স্ট বনাম ডাটাবেস ফার্স্ট


77

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

আমি আমার ওয়ার্কফ্লোটি এটির মাথায় ঝাপটানোর এবং প্রথমে ইউআই এবং ডেটা মডেল ক্লাস তৈরি করার কথা ভাবছি যে এই কাজটি করার ফলে আমার স্পষ্ট হয়ে যাবে যে আমার ডেটাবেস স্কিমার পরিণতি কী হবে। এই একটি ভাল ধারণা? আমি উদ্বিগ্ন যে আমি একটি ইউআই শেষ করব এবং কীভাবে ডিবি গঠন করবেন তার কোনও ধারণা নেই।

যদি কেউ কৌতূহলী হন তবে আমি এসকিউএল সার্ভারটিকে ব্যাকএন্ড হিসাবে এবং এমএস অ্যাক্সেসটিকে সামনের শেষ অ্যাপ্লিকেশন হিসাবে ব্যবহার করছি। (অ্যাক্সেসও আমার পছন্দ নয় ... সুতরাং দয়া করে এটি খুব খারাপ ঘৃণা করবেন না))



6
@ গ্যাनेट: এটি সম্পূর্ণ আলাদা।
রবার্ট হার্ভে

1
এটি যদি সদৃশ হিসাবে বন্ধ হয়ে যায়, এটি এই প্রশ্নের সদৃশ হওয়া উচিত । উত্তর এবং প্রশ্ন আমি যা জিজ্ঞাসা করছি তার সাথে সামঞ্জস্যপূর্ণ।
রাবারডাক

1
@ মগ এটি একটি কাজের প্রকল্প। প্রয়োজনীয়তা পেরেক করে দেওয়ার বিষয়ে আমি যতটা পারি পিছনে ফেলেছি। এ নিয়ে কাজ শুরু করতে হবে এবং আমি এ সম্পর্কে আরও কিছু করতে পারি না।
রাবারডাক

4
এরম, নতুন কাজ? আমি জানি যে আমি করতাম। তবে 30 বছরের ফ্রিল্যান্সার হিসাবে আমি ফ্যানটিকে হিট করার আগে দূরে চলে যাওয়া সহজ মনে করি (কিছু লোক আপনি কেবল "সহায়তা করতে পারেন না" তবে আমি বুঝতে পেরেছি যে এটি সবার পক্ষে এত সহজ নয় you যদি আপনার অবশ্যই প্রয়োজন (তুলনীয় নিয়োগকর্তা নেই) এলাকা, ইত্যাদি), কিন্তু যদি এটা আপনাকে প্রভাবিত শুরু থেকো না হবে।
Mawg

উত্তর:


85

প্রথমে কী এসেছিল, প্রক্রিয়াটি বা সেই প্রক্রিয়াটি দ্বারা ব্যবহৃত ডেটা? আমি জানি এটি একটি "মুরগি বা ডিম" প্রশ্নের মতো, তবে সফ্টওয়্যারটির ক্ষেত্রে, আমি বিশ্বাস করি এটি প্রক্রিয়া।

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

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

টিএল; ডিআর: ডাটাবেস ব্যবসায়ের উপর নির্ভর করে - এটি তাদের দ্বারা সংজ্ঞায়িত করা হয়। আপনার সাথে প্রক্রিয়া চালিত প্রক্রিয়া না থাকলে আপনার ডেটার প্রয়োজন হবে না (রিপোর্ট একটি প্রক্রিয়াও রয়েছে)। প্রথমে প্রক্রিয়াটি প্রয়োগ করুন এবং আপনার কোন ডেটা প্রয়োজন তা খুঁজে পাবেন। প্রথমে ডেটাটি মডেল করুন এবং আপনি প্রথম যখন মডেলিং করেছিলেন তখন আপনি কতটা অনুমান ভুল করেছিলেন তা গণনা করতে সক্ষম হতে পারেন।

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


1
"ডাটাবেস একটি বিবরণ"। লিঙ্ক জন্য আপনাকে অনেক ধন্যবাদ। আমি আন্তরিকভাবে বিশ্বাস করি যে এই আলোচনাটি দেখার পরে আমি এই প্রকল্পটি ডেটাবেসকে একটি স্থগিত সিদ্ধান্ত হিসাবে রেখে মোকাবেলা করতে সক্ষম হব।
রাবারডাক

6
(তর্কসাপেক্ষে এই চর্চা সব: আর মাত্র একটি নাম এটা করা থেকে ) গুরুত্বপূর্ণ চর্চা তত্পর ডেভেলপমেন্ট (ক্রমবর্ধমান উন্নয়ন, সহজ জিনিস যে কাজ করতে পারে, পরীক্ষা চালিত, ব্যবহারকারী প্রথম প্রয়োজন ...) হবে।
sleske

8
আমি ফিরে এসে আপনাকে আবার ধন্যবাদ জানাতে চাই। ডেটাবেস ছাড়াই আমার পুরো মধ্যম স্তরটি কাজ করছে এবং কীভাবে ডেটা বজায় রাখা উচিত সে সম্পর্কে আমার এখন দুর্দান্ত ধারণা আছে। আমি আপনাকে যথেষ্ট ধন্যবাদ দিতে পারি না। আমি যদি আবার পারতাম তবে উপভোগ করব।
রাবারডাক

12
আপনি যদি সত্যই আপনার কোড-প্রথম পদ্ধতির মাধ্যমে সমস্ত প্রয়োজনীয়তা ক্যাপচার করেন এবং আপনি যদি আপনার চূড়ান্ত ডাটাবেসে সেই সমস্ত প্রয়োজনীয়তা সত্যই প্রকাশ করেন তবে আমি এই উত্তরের সাথে একমত হতে পারি। তবে আমি অনেকগুলি প্রকল্প দেখেছি যেখানে "কিছু কাজ" পাওয়ার তৃপ্তি এই মনোভাবের ফলে আসে যে "যদি এটি কাজ করে তবে ডাটাবেস অবশ্যই যথেষ্ট ভাল হতে পারে", এমনকি যখন এটি অনিবার্য এবং গুরুতর পারফরম্যান্স সমস্যার সাথে একটি হরিবল ডাটাবেস ডিজাইনও হয়ে থাকে পরে। এছাড়াও, অনেক লোক মনে করছেন কোডটি যদি ডেটা যাচাই করে তবে আপনার চেক বা বিদেশী কী বাধাগুলির দরকার নেই। তুমি
রস প্রেসার

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

17

একটি মূল কারণ বিশ্লেষণ পরামর্শ দেয় যে এই সমস্যাটি কোনও পদ্ধতির নয়, তবে একটি নির্দিষ্টকরণের অভাব। এটি ছাড়া আপনি প্রথমে যা লিখেন তা আসলে কিছু যায় আসে না - আপনি যেভাবেই তা ফেলে দিতে চলেছেন।

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

একবার আপনার হয়ে গেলে আপনি যা মনে করেন যা আপনি সর্বোত্তম ফলাফল দেবেন এবং যাবতীয় স্পেসিফিকেশনটি আসার জন্য অপেক্ষা করতে হবে তা তৈরি করা শুরু করা উচিত।


আমি পুরো মন দিয়ে একমত, কিন্তু এটি এই ঘটতে হবে না। যদিও আপনার সময় জন্য আপনাকে ধন্যবাদ।
রাবারডাক

9
আপনার যদি এটি সঠিকভাবে করার সময় না পান তবে আপনি এটি করার সময় কোথায় পাবেন?
ওয়াল্টার মিট্টি

সঠিকভাবে ওয়াল্টারমিটি না করার বিষয়ে কে বলেছে? গৃহীত উত্তরে ভিডিও লিঙ্কটি দেখুন। ডাটাবেসটি এমন একটি বিশদ যা সফ্টওয়্যারটির 95% এর মধ্যে কিংকগুলি কাজ করার জন্য প্রয়োজন হয় না।
রাবারডাক

1
আমি "এটি ঘটতে যাচ্ছে না" এর অর্থ গ্রহণ করেছিলাম যে আপনি সিস্টেম থেকে স্টেকহোল্ডারদের কী তথ্য প্রয়োজন তা সম্পর্কে কোনও ধারণা ছাড়াই কোডে এগিয়ে যাচ্ছেন। আমি মনে করি যে জেমস আপনাকে বিশ্লেষণের পক্ষাঘাতগ্রস্থতায় জর্জরিত না হয়ে মৌলিক সিস্টেম বিশ্লেষণ করার বিষয়ে খুব ভাল পরামর্শ দিয়েছে।
ওয়াল্টার মিট্টি

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

12

আমার অভিজ্ঞতা নিম্নরূপ:

  • বেশিরভাগ প্রকল্পে আমি কাজ করেছি, আমরা প্রথমে ডাটাবেস ডিজাইন করেছি।
  • প্রায়শই সময় স্প্রেডশিট, উত্তরাধিকার ডাটাবেস, কাগজ ইত্যাদিতে ডেটা ইতিমধ্যে বিদ্যমান থাকে That তথ্যটি আপনাকে যে সারণীগুলি ধরে রাখতে হবে সেগুলি সম্পর্কে আপনাকে ইঙ্গিত দেবে।
  • প্রায়শই একটি প্রক্রিয়া ইতিমধ্যে ব্যবহার করা হচ্ছে, তবুও ম্যানুয়ালি বা বেশ কয়েকটি, স্বতঃসংশ্লিষ্ট নয় এমন পৃথক সরঞ্জামগুলি ব্যবহার করছে, আন্তঃচালিত হয় না এবং / অথবা মান অনুসারে হয় না।
  • একবার আপনার কাছে একটি অর্ধ-পরিপক্ক ডাটাবেস মডেল হয়ে গেলে আপনি প্রোটোটাইপ ফর্মগুলি, উইন্ডো ইত্যাদির নকশা শুরু করতে পারেন, যা সেই ডাটাবেজে পড়ে এবং লিখতে পারে।
  • আপনি যেমন চালিয়ে যাচ্ছেন, প্রথমে চিন্তিত নয় এমন কিছু জিনিসগুলির জন্য কিছু পরিবর্তন প্রয়োজন হবে।

এছাড়াও মনে রাখবেন:

  • এটি আর এক-অ্যাপ <<> ওয়ান-ডেটাবেস জগত নয়। হতে পারে আপনার অ্যাপ্লিকেশনটিকে একাধিক ডাটাবেস থেকে ডেটা পড়তে বা লিখতে হবে বা আপনার সমাধানে একই ডাটাবেস ব্যবহার করে একাধিক অ্যাপের সমন্বয়ে গঠিত হবে।

উপসংহার: আমি আপনাকে প্রথমে ডাটাবেসটি ডিজাইন করার পরামর্শ দিচ্ছি।


সেই সব খুব সত্য কিছু সৃষ্টি হয়েছে, আসলে এই হবে একটি "অ প্রক্রিয়া" এবং স্প্রেডশীট প্রতিস্থাপন করা, কিন্তু আমি দেখতে এই আমার প্রশ্নের উত্তর হয় ব্যর্থ। আপনি দয়া করে পরিষ্কার করতে পারেন?
রাবারডাক

1
@ রাবারডাক আমি আমার উত্তরের শেষে একটি ব্যাখ্যা যোগ করেছি।
তুলাইনস কর্ডোভা

11

আমি ডেটাবেস ফার্স্ট বলতে যাচ্ছিলাম যেহেতু বড় প্রকল্পগুলির সাথে আমার প্রচুর অভিজ্ঞতা আছে এবং আপনার যদি অনেক বিকাশকারী সমান্তরালভাবে কাজ করে থাকেন তবে আপনার সত্যিকারের একটি দৃ data় ডেটা মডেল প্রয়োজন।

তবে তারপরে আমি এটি সম্পর্কে আরও কিছুটা বললাম এবং আমি বুঝতে পেরেছিলাম যে আমরা আরও সফল বৃহত প্রকল্পগুলিতে যা করছি তা হ'ল "প্রয়োজনীয়তা"।

ব্যবসায়ের প্রয়োজনীয়তার একটি ভালভাবে নির্দিষ্ট সেট, কার্যকরী প্রয়োজনীয়তার একটি ভাল সেটকে নিয়ে যায়। আপনার যদি কার্যকরী প্রয়োজনীয়তার একটি ভাল সেট থাকে তবে ডেটা মডেল এবং মডিউল চশমাগুলি খুব বেশি প্রচেষ্টা ছাড়াই ঠিক জায়গায় পড়ে যায়।


আমি সাধারণত এইভাবে কাজ করি। হ্যাঁ, প্রথম প্রয়োজনীয়তা । আমি কীভাবে ইচ্ছুক এখনই কারও কারও কাছ থেকে কিছু শক্ত প্রয়োজনীয়তা টেনে আনতে পারি।
রাবারডাক

আবশ্যকতা প্রথম, যদিও আপনি অপেক্ষা করা উচিত না প্রয়োজনীয়তা আছে যতক্ষণ না সম্পূর্ণ (তারা কখনও)। অ্যাপ্লিকেশনটির লক্ষ্যগুলি কী তা সম্পর্কে ধারণা পাওয়ার মতো পর্যাপ্ত পরিমাণে একবারে যান, তারপরে আপনার যখন প্রয়োজন হয় তখন আরও পান।
স্ল্যাসকে

@ স্লেসকে - একজন ভাল বিশ্লেষককে প্রয়োজনীয় প্রয়োজনীয়তার আরও "গতিশীল" (অর্থাত্ অস্পষ্ট এবং পরিবর্তনযোগ্য) অংশগুলির জন্য অনুভূতি পাওয়া উচিত এবং ব্যবহারকারীদের স্বভাবের সাথে সহজেই মোকাবিলা করার জন্য ডিজাইনে কিছুটা নমনীয়তা তৈরি করা উচিত।
জেমস অ্যান্ডারসন

1
@ জেমস অ্যান্ডারসন: আসলে, আমি চটজলদি উন্নয়নের নীতিগুলির একটি বিশাল অনুরাগী, যেখানে আপনি সাধারণত এখন যা প্রয়োজন তার জন্য ডিজাইন করেন , যদি না আপনি জানেন যে আপনি পরে নকশাটি পরিবর্তন করতে পারবেন না (খুব কম ক্ষেত্রেই ঘটবে)। তবে আমি অফ-টপিক শুরু করতে শুরু করি ...
স্ল্যাসকে

8

যেহেতু এটি এতটা তরল / অনির্দিষ্ট বলে মনে হচ্ছে, তাই আমি প্রথমে ফ্রন্টএন্ড জিইআই করতাম - যা আপনার মতামত, সমর্থন, সময় এবং স্টেকহোল্ডারদের কাছ থেকে প্রতিক্রিয়া গ্রহণ করা দরকার বলে মনে হচ্ছে তাই না? তারা আপনার উজ্জ্বল সাধারণ টেবিলগুলি এবং বিদেশী কীগুলির সীমাবদ্ধতা এবং ক্যাসকেডিং মোছার বিষয়ে চিন্তা করে না। তবে প্রচুর চকচকে রঙ সহ একটি দুর্দান্ত জিইউআই - ভাল, এটি শীর্ষস্থানীয়!

প্রাথমিক ব্যাকএন্ড "ডাটাবেস" এর জন্য অত্যন্ত সহজ কিছু ব্যবহার করুন, সম্ভবত কোনও ফাইল / টিতে কী / মানগুলি সংরক্ষণ করা হবে। আমি এমএস অ্যাক্সেসের সাথে অপরিচিত, সুতরাং "লাইটওয়েস্টেস্ট" ব্যাকএন্ডটি কী হবে তা জানেন না। (একটি স্প্রেডশিড টেবিল?) যা তাড়াতাড়ি এবং নোংরা, তা ফেলে দেওয়ার পরিকল্পনা করুন।

যদি আপনি পারেন তবে জিওআইতে একটি মজাদার চেহারা ব্যবহার করুন এবং এটি অনুভব করুন যে এটি প্রোটোটাইপ clear অন্য সমস্ত কিছু যদি ব্যর্থ হয় তবে সূচক কার্ডগুলি ব্যবহার করুন।

এখন, আপনার স্টেকহোল্ডাররা ডিবি বিশেষজ্ঞ - এটি আমার সাথে কখনও কখনও ঘটেছিল! - এই ক্ষেত্রে কিছু ডিবি ডিজাইন করুন।


3
"কোড প্রথম" বা "ডাটাবেস প্রথম" নয় তবে "নন ফাংশনাল গুই-প্রোটোটাইপ প্রথম" (ওরফে "দ্রুত প্রোটোটাইপিং") এর জন্য +1, কারণ প্রয়োজনীয়তার অনুপস্থিতিতে গুই প্রোটোটাইপ এন্ডেজারগুলির সাথে প্রয়োজনীয়তাগুলি পরিষ্কার করতে সহায়তা করে।
k3b 10

1
সত্য, তবে এটি তাদের বিশ্বাস করতেও সক্ষম করে যে অ্যাপ্লিকেশনটি যেমন করা হয়েছে তত ভাল। আগে আমাকে সেভাবে পুড়িয়ে ফেলা হয়েছে এবং এখনই দাবি করা হয় যে আমরা প্রয়োজনীয়তাগুলি সরাসরি আগে পেয়ে
যাই

@ মাগ হ্যাঁ, দুর্ভাগ্যক্রমে এটি একটি বিপদ। এটি একটি প্রোটোটাইপ কিনা তা পরিষ্কার করে দেওয়ার জন্য একটি বিকল্প (অন্তত জাভাতে) একটি অদ্ভুত "চেহারা এবং অনুভূতি" ব্যবহার করা।
user949300

আপনি কোথায় যাচ্ছেন তা যদি আপনি না জানেন তবে যে কোনও কোড আপনাকে সেখানে পৌঁছে দেবে।

-1

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

উদাহরণস্বরূপ, সম্ভবত আপনার একজন ব্যক্তি রয়েছে, তাই আপনার কাছে পার্সন আইডির পিকে রয়েছে। বাকি বৈশিষ্ট্যগুলি জানা যায় নি তাই কেবল একজন পিকে পার্সন আইডি এবং অন্য কলামের সাহায্যে ব্যক্তি টেবিল দিয়ে শুরু করুন যা ব্লব, সমস্ত ব্যক্তির ডেটা সংরক্ষণ করবে।

একবারে প্রয়োজনীয়তাগুলি শক্ত হয়ে গেলে আপনার ব্লবগুলি নিয়ে যান এবং প্রয়োজনীয় সমস্ত টেবিল এবং কলামগুলি বের করে মডেলটিকে সম্পর্কযুক্ত করুন। তারপরে এটি কেবলমাত্র একটি অ্যাক্সেস লেয়ারের মধ্যে একটি BLOB থেকে সম্পর্কের ক্ষেত্রে স্থায়ীত্ব পরিবর্তন করার বিষয়। তবে অন্য সমস্ত কিছু, ব্যবসার বিধি ইউআই ইত্যাদি এখনও কাজ করবে। দ্রষ্টব্য, এটি প্রকল্পে কিছুটা সময় যোগ করে তবে জিনিসগুলি দৃ become়তর হওয়া অবধি রিলেশনাল মডেলটি পরিবর্তন না করে প্রয়োজনীয় জিনিসগুলি যুক্ত করতে এবং ফেলে দেওয়ার জন্য সম্পূর্ণ নমনীয়তা দেয় gives

মডেলটি স্থিতিশীল হওয়ার সাথে সম্পর্কিত সম্পর্কিত কলামগুলিতে অনুসন্ধান করা দরকার এমন আপনার ডেটা সংরক্ষণ করা শুরু করার সাথে সাথে আপনি কোনও বিএলওবিকে জিজ্ঞাসা করতে পারবেন না বলে অনুসন্ধানে বিলম্ব হতে পারে।

মূলত আপনি একটি সারণী মডেল দিয়ে শুরু করেন এবং প্রকল্পের অগ্রগতির সাথে সম্পর্কিত একটিতে চলে যান।

বা, যে কোনও কাজ শুরু হওয়ার আগে প্রয়োজনীয়তা দৃ firm় করে তুলুন যাতে প্রাথমিকভাবে একটি সম্পর্কিত মডেল তৈরি করা যায়।


এইভাবে পাগলামি মিথ্যে। যতক্ষণ না আপনি ডেটা চালিয়ে যাওয়ার জন্য প্রস্তুত থাকেন ততক্ষণ ডেটা স্থির রাখবেন না। তথ্যের পরে তথ্যকে সাধারণকরণ করা দুঃস্বপ্ন।
রাবারডাক

1
অধ্যবসায় এবং স্বাভাবিককরণের মধ্যে পার্থক্য রয়েছে। যে প্রশ্নটি কেবলমাত্র আপনি উত্তর দিতে পারেন তা হ'ল আমাকে কি কেবলমাত্র অবিচল থাকতে হবে, বা অবিচল থাকতে হবে এবং স্বাভাবিক রাখতে হবে? একটি ডেটা মডেল হ'ল একটি মডেল, যদি কোনও প্রয়োজনীয়তা না থাকে তবে কিছুটা আপেক্ষিকভাবে মডেল করা শক্ত।
জন রায়নার

-2

সাধারণভাবে আমি মনে করি কোড ডেটার পরে আসে কারণ কোডটি ডেটা ম্যানিপুলেট করে চলেছে।

প্রয়োজনীয়তাগুলি পরিষ্কার না হলে আপনি প্রয়োজনীয়তার আপনার ব্যাখ্যার একটি ডেটা মডেল তৈরি করতে পারেন। সর্বোত্তম হ'ল কিছু প্রয়োজনীয়তা লিখে আপনার নিয়োগকর্তাকে প্রেরণ করা, তবে তাদের কাছে কিছু করার দরকার আছে shoot বা প্রথমে একটি গুই তৈরি করুন, এটি সর্বোত্তম কাজের জন্য নিয়োগকারীদের ধরণের উপর নির্ভর করে :)


3
এই কিছু সারগর্ভ প্রস্তাব উপর পয়েন্ট হয়েছে এবং পূর্বে 5 উত্তর ব্যাখ্যা বলে মনে হচ্ছে না
মশা

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