Mohamma Khazaee
4 سال پیش توسط Mohamma Khazaee مطرح شد
6 پاسخ

ایا دیتابیس داده هایی که تغییر کرده اند را به ما میدهد

سلام
ی برای مثال دیتابیس دارم از لیست محصولات میخوام افزایش قیمت و کاهش قیمت رو توی یک لیست به کاربر نشون بدم میشه راهنمایی که با چه روش هایی میشه اینکارو کرد

ممنون از همه دوستان


ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش آپدیت شد
1

@mohammad.edvard سلام .
تنها راه مناسب از نظر من ذخیره همون مقدار قبلی در فیلد جداگانه هست . مثلا oldprice و newprice .

راه دومی هم هست که توی یک فیلد ذخیره کنید اما پیشنهاد نمیکنم. اون هم ذخیره آرایه بصورت JSON در دیتابیس هست که بعدا برای سرچ و انجام عملیات مختلف روی داده ها با مشکل مواجه میشید.


Mohamma Khazaee
@mohammada315 4 سال پیش مطرح شد
0

درواقع الان که ی جدول رو تغییر دادم میخوام به اون مقدار قبلی هم دسترسی داشته باشم
ممنون میشم دوستان اطلاعی دارند بگن


سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش آپدیت شد
1

@mohammad.edvard سلام .
تنها راه مناسب از نظر من ذخیره همون مقدار قبلی در فیلد جداگانه هست . مثلا oldprice و newprice .

راه دومی هم هست که توی یک فیلد ذخیره کنید اما پیشنهاد نمیکنم. اون هم ذخیره آرایه بصورت JSON در دیتابیس هست که بعدا برای سرچ و انجام عملیات مختلف روی داده ها با مشکل مواجه میشید.


saman
@saman1111 4 سال پیش مطرح شد
1

سلام
نمیشه، شما باید جدول های جدا در نظر بگیرید و از طریق اونا این کارو انجام بدید.


Mohamma Khazaee
@mohammada315 4 سال پیش مطرح شد
0

@SobhanDadkhah
@saman1111

میشه توی دیتابیس دستوری داد تا ی شرط مقایسه ای گذاشت مثلا oldprice کمتربود از newprice کل اونهایی این شرط رو دارن فراخونی بشن ؟


saman
@saman1111 4 سال پیش مطرح شد
0

بله شما ساختار دیتابیس رو متناسب با سیستمی که میخوای طراحی کن.
بعدش هر کاری دلت بخواد میتونی کنی.
فقط دانش SQL میخواد که مطمئنا داری.


سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 4 سال پیش مطرح شد
1

@mohammad.edvard

میشه توی دیتابیس دستوری داد تا ی شرط مقایسه ای گذاشت مثلا oldprice کمتربود از newprice کل اونهایی این شرط رو دارن فراخونی بشن ؟

بله . عملگر ها به همین دلیل وجود دارند . به همین دلیل هم عرض کردم مثلا اگر نیاز به دسته بندی و مقایسه دارید باید ستون های جدا در نظر بگیرید . چون زمانی که آرایه بخواید ذخیره کنید باید بصورت JSON encode کنید و چون بصورت رشته ذخیره میشه شما قابلیت های مثل مقایسه و طبقه بندی رو از دست خواهید داد .

فقط برای اطلاعات بیشتر مثالی میزنم که ملموس تر هست . شما اگر بخواین فاصله بین دو تاریخ رو در MYSQL حساب کنید شرط between رو میتونید بکار ببرید منتها در صورتی میتونید این کار رو بکنید که حتما فیلد تاریخ هاتون از نوع date تعریف شده باشه . اگر تاریخ بصورت string ذخیره شده باشه MYSQL نمیتونه تشخیص بده و عملا تمامی عملگر هایی که میتونید به کار ببرید کارایی نخواهد داشت .

آرزوی موفقیت و سلامتی دارم 🌹


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام