PDA

View Full Version : چه راهي براي ويرايش ركورد براي يك كاربر و مانع از ويرايش ساير كاربران در معماري 3 لايه داريد؟



saeedkheiri
چهارشنبه 22 اردیبهشت 1389, 08:25 صبح
سلام
در معماري چند لايه، ما هر زمان كه نياز به دريافت يك يا مجموعه‌اي از ركوردها رو داريم كافيه كه يه كانكشن به ديتابيس ايجاد كنيم و ركوردها رو استخراج كنيم و بعد كانكشن رو ببنديم.(بصورت منفصل كار كنيم).
حالا اگر در يك سيستم تحت شبكه بخواهيم در حالتي كه يك كاربر داره ركوردي رو ويرايش ميكنه، مانع از اين بشيم كه كاربران ديگه اين ركورد رو ويرايش كنند چه راهكاري بايد تدارك ببينيم؟
آيا استفاده از trnasaction باز هم بصورت منفصل عملي خواهد بود؟
و اگر امكانش باشه، مدت عمر يه transaction تا چه زماني خواهد بود؟

MR.Abed
چهارشنبه 22 اردیبهشت 1389, 10:33 صبح
با سلام

دوست عزیز اگر بانک اطلاعاتی شما SqlServer یا Oracle یا Db2 باشد مدیریت عملیاتی که گفتی خود Management Database آن را برعهده داره.

اَرژنگ
چهارشنبه 22 اردیبهشت 1389, 13:28 عصر
سلام
در معماري چند لايه، ما هر زمان كه نياز به دريافت يك يا مجموعه‌اي از ركوردها رو داريم كافيه كه يه كانكشن به ديتابيس ايجاد كنيم و ركوردها رو استخراج كنيم و بعد كانكشن رو ببنديم.(بصورت منفصل كار كنيم).
حالا اگر در يك سيستم تحت شبكه بخواهيم در حالتي كه يك كاربر داره ركوردي رو ويرايش ميكنه، مانع از اين بشيم كه كاربران ديگه اين ركورد رو ويرايش كنند چه راهكاري بايد تدارك ببينيم؟
آيا استفاده از trnasaction باز هم بصورت منفصل عملي خواهد بود؟
و اگر امكانش باشه، مدت عمر يه transaction تا چه زماني خواهد بود؟
در معماری ۳ لایه، لایه وسطی برایه چیه؟

علیرضا مداح
چهارشنبه 22 اردیبهشت 1389, 17:24 عصر
سلام،
شما قصد پیاده سازی مفهوم همزمانی(Concurrency) را دارید،
ابتدا بر روی این مفهوم و سپس دو مفهوم Pessimistic Concurrency(موردی که به نظر می رسد شما قصد پیاده سازی آن را دارید) و Optimistic Concurrency مطالعه کنید،
به عنوان منبع پیشنهادی برای شروع: http://davidhayden.com/blog/dave/archive/2005/10/05/2503.aspx
در این تالار نیز توضیحات جالبی توسط دوستان موجود است، لطفا" جستجو کنید،/