چگونگی طراحی database و درخواست منبع آموزشی برای یادگیری

سلام
من میخوام یه اسکریپت ساده بنویسم شایدم یه برنامه تحت وب django و سر طراحی db به مشکل خوردم
اول از همه اینکه تجربه خیلی کمی هم با sql و هم با non sql (mongo db) دارم و نمیدونم بهتره از کدوم استفاده کنم
مورد بعدی هم اینکه با sql ایده های زیادی به ذهنم میرسه که همشون جواب میده اما نمیدونم کدوم بهتره، سریعتره و البته پیچیدگی کم تری داره
به نظرتون خودم در موردش مطالعه کنم یا هر وقت به چنین مشکلی خوردم توی stack over flow یا همین جا از یکی بپرسم؟
چه منبعی پیشنهاد میشه برای این کار؟ (کتاب، سابت، ویدیو های آموزشی از youtube یا udemy)

همه موارد

1 Like

این پاسخ به این بخش بود؟ :arrow_down:

چه منبعی پیشنهاد میشه برای این کار؟ (کتاب، سابت، ویدیو های آموزشی از youtube یا udemy)

منظورم این نبود که سراغ چه روش یادگیری ای برم
منظورم این بود که بهم خود همون کتاب یا سایت یا ویدیو آموزشی ای که میشناسید رو معرفی کنید

درود به بنده قبلا این کتاب هارو پیشنهاد دادن ولی من متاسفانه هنوز موفق به خواندنشون نشدم
41%20pm 50%20pm

4 Likes

کلا سراغ no-sql نرید مگر اینکه دلیل محکمه پسند براش داشته باشید :smiley:

درمورد sql هم پیشنهاد اینه که از postgresql استفاده کنید ولی mysql هم خوبه. فکر میکنم با توجه به اینکه میخواید با django کار کنید، mysql بهتر باشه (فکر کنم داکیومنت django بیشتر روی mysql تمرکز داره)

درمورد معماری دیتابیس، پیشنهاد میکنم یه نرم‌افزار اوپن سورس مثل mybb که خیلی هم پیچیده نباشه رو نصب کنید روی سیستمتون و دیتابیسش رو نگاه کنید. دید بهتری نسبت به نحوه‌ی ساخت جدولها و ارتباطهاشون به دست میارید.

1 Like

پاسخ خوبی نبود پوزش میخوام،
اگر ویدیو بهتر بهت جواب میده و به یودمی دسترسی داری از اینک زیر شروع کن و هر سوالی داشتی حتما بپرس،

https://www.udemy.com/the-complete-sql-bootcamp

2 Likes

سلام
خیلی ممنون
من هم یکمی دو پهلو نوشتم و عذر خواهی میکنم
من این آموزش رو شروع کردم
ولی یه کاری هست که باید سریع تر انجامش بدم و ممنون میشم اگه کمکم کنید بتونم دیتابیسش رو طراحی کنم
قراره یه سایت باشه (فعلا فقط برای استفاده شخصی خودم به صورت local) که کلمات انگلیسی ای که بلد نیستم توش ذخیره بشه
قضیه هم اینه که من در حین خوندن کتاب های زبان اصلی و یا فیلم ها و سریال ها کلماتی که بلد نیستم رو یه جایی مینویسم، بعدا توی این سایت وارد میکنم و باید مشخص باشه مربوط به کتاب هست یا فیلم یا سریال و اگر مثلا سریاله باید اسم سریال و فصل و قسمتش مشخص باشه یا اگر کتابه باید اسم کتاب و صفحه کتاب مشخص باشه
بعدش با bs4 از یه دیکشنری آنلاین استفاده میکنم برای این که ترجمه انگلیسی به انگلیسی یا همون definition اون کلمه رو پیدا و همراه کلمه ذخیره کنم
خودم دو تا ایده دارم:

ایده اول:

یه Table با field های کلمه، تعریف کلمه، کلمه از کجا میاد (سریال، فیلم، کتاب)، اسم جایی که کلمه ازش میاد(اسم فیلم، سریال، کتاب)، فصل، قسمت، صفحه
که مثلا اگه کلمه از کتاب میاد فقط بخش صفحه پر میشه و فصل و قسمت خالی میمونه


ایده دوم:

سه تا Table میسازم، یکی برای فیلم یکی برای سریال و یکی هم برای کتاب
توی هر سه تا field های مربوط به خود کلمه و تعریف کلمه و اسم منبع مشترکه ولی مثلا Table مربوط به سریال field های فصل و قسمت رو اضافه داره در صورتی که Table کتاب این هارو نداره و field صفحه داره


فقط این که query هایی که زده میشه به این صورت هست که باید تمام کلمات یک سریال مشخص نمایش داده بشه
یا تمام کلمات یک قسمت خاص از سریال
کدوم یکی از این دو ایده مناسب هست؟
ایده بهتری به ذهنتون میرسه؟

اگه من میخواستم انجامش بدم، یک جدول دیتابیس میساختم. هرچی کمتر شلوغش کنیم بهتره.
برای نمایش دیتا هم خیلی راحت از datatable استفاده میکردم. اینطوری دیگه نیاز به کوئری زدن برای سرچ و دسته بندی و مرتب سازی نیست. یه DELECT * FROM mytable، همه ی دیتا رو میگیره و باهاش صفحه رو رندر میکنه.

البته این برای استفاده ی شخصی خوبه. چون تو استفاده ی شخصی، حجم کل دیتا هیچوقت به ۱گیگ نمیرسه و کوئری زدن همه ی دیتا و رندر گرفتن یکباره ی همش فشاری به سیستم نمیاره (چون فقط یک کاربر داره و مثلا ثانیه ای ۱۰۰۰تا ریکوئست زده نمیشه) و ترافیکی هم مصرف نمیشه (که لود صفحه کند بشه به خاطر سرعت اینترنت)

1 Like

درود
دوست من اگر مباحث تجزیه و تحلیل سیستم ها و بحث نیازسنجی رو کاربردی کار نکردید و مطالعه نکردید به شدت توصیه می کنم اول این دو مورد رو کامل یاد بگیرید و مباحثش رو کاربردی درک کنید مهمترین فاز پیاده سازی یه پروژه نرم افزاری در هر پلت فرمی نیاز سنجی و تجزیه و تحلیل هست که یکی از ابزارهاش uml این مسیر به شما کمک می کنه یک دید بسیار دقیق به بخش های مختلف پروژه داشته باشید اگر نیازسنجی درستی از اون سیستم داشته باشید تحلیل جامع و درستی هم خواهید داشت بنابراین می تونید در بحث طراحی بانک های اطلاعاتی خیلی هوشمندانه عمل کنید طبیعتا هر چقدر پروژه شما بزرگتر باشه و یا در پلت فرم های مختلفی و چندسکویی این اصول بسیار تعیین کننده خواهد بود در انتخاب نوع بانک اطلاعاتی ، زبان ، فریم ورک و ابزارها و …

1 Like

خیلی ممنون
منبع آموزشی خاصی هم مد نظرتون هست؟ (ترجیحا زبان اصلی)

1 Like

خواهش می کنم

اگر زبانتون در حدی هست که بتونید واقعا مباحثش رو با خوندن درک کنید که منابع آموزشی زیادی داره مخصوصا کتاب برای تجزیه و تحلیل سیستم ها و uml تحت نرم افزار رشنال رز
می تونید برای درک مناسب از این کتاب بهرمند بشید
image

می تونید نرم افزار های مختلف رو مهندسی معکوس کنید و تحت مفاهیم تحلیلی و uml پیاده سازی کنید این کار خیلی کمک می کنه درک خوبی به نیازسنجی و پیاده سازی پروژه ها داشته باشید

1 Like