PDA

View Full Version : ارتباط و جداول در اکسس



مرضیه جلالی
چهارشنبه 17 اسفند 1401, 10:02 صبح
سلام وقت بخیر

من میخواستم اطلاعات حدود 35 تا سیستم رو توی اکسس ثبت کنم. اینکه نوع تجهیز ( مثل کیس - مانیتور - موس - ... ) برای چه کارمندی هست و اون کارمند سیستمش دارای چه IP و اکانت های ورود به ویندوزش چه اسمی داره و دارای چه پسوردهایی هست رو ذخیره کنم.
کلا فقط میخوام یک فرم برای ثبت اطلاعات تجهیز داشته باشه و یه فرم برای ثبت پروفایل برای کارمند و یه گزارش یا فرم برای اینکه با وارد کردن اسم اطلاعات مربوط به اون شخص رو بیاره.

چه جداول برای این دیتابیس ایجاد کنم با چه آیتم ها و ارتباط هایی ، مناسب تره ؟
متشکرم

مرضیه جلالی
چهارشنبه 17 اسفند 1401, 10:32 صبح
این جداولی هست که خودم ایجاد کردم ، لازمه جدول دیگه ای هم ایجاد بشه؟

دیتابیس تجهیزات (https://s27.picofile.com/file/8460825218/HardwareDatabase_accdb.html)

مرضیه جلالی
چهارشنبه 17 اسفند 1401, 12:41 عصر
به این شکل دارم پیش میرم درسته ؟

دیتابیس تجهیزات 1 (https://s26.picofile.com/file/8460829834/HardwareDatabase1_accdb.html)

مرضیه جلالی
پنج شنبه 18 اسفند 1401, 07:39 صبح
لطفا کسی میتونه راهنمایی کنه ؟

mazoolagh
شنبه 20 اسفند 1401, 07:31 صبح
سلام و روز خوش
روشی که در پیش گرفتین درسته، نگران نباشین.

کلا طراحی جدول ها و روابط سنگ بنای کار هست و اگر با دقت و بر اساس اصول انجام بشه کدنویسی و نگهداری برنامه خیلی راحته.

اول باید خود جداول (بدون جزئیات فیلدها) مشخص بشه که شما تا حدی انجام دادین (جدول تجهیزات، پرسنل، ...)
مهمترین عوامل در تعیین فیلدها برمیگرده به:
1- این که چه گزارشهایی و براساس چه پارامترهایی نیاز هست.
2- تغییرات قطعی و احتمالی در یک بازه زمانی منطقی چه چیزهایی هست.

در این مورد خب شما دست کم به جداول زیر نیاز دارین:
1- پرسنل
2- سیستم ها
3- بخش های (احتمالی) سیستم ها

قبل از طراحی هر جدول باید مشخص بشه که رابطه سیستم ها با پرسنل چجوری هست:
- هر سیستم میتونه بین چند نفر مشترک باشه ولی هر نفر نمیتونه بیشتر از یک سیستم داشته باشه
- هر سیستم فقط برای یک نفر هست و هر نفر هم میتونه چند سیستم داشته باشه
- هر سیستم فقط برای یک نفر
- هر نفر میتونه چند سیستم باشه و هر سیستم هم میتونه بین چند نفر مشترک باشه

mazoolagh
شنبه 20 اسفند 1401, 07:38 صبح
حالا از پایینترین بخش (قطعات یا بخشهای) سیستم شروع میکنیم.
اینجا میزان تفکیک به وضعیت کاری برمیگرده، ولی بهتره همه جوانب سنجیده بشه.
قطعاتی هست که میتونه بین چند سیستم مشترک باشه (مثل مونیتور و کیبردهایی که به kvm switch وصل باشن)
یا یک سیستم میتونه از یک قطعه بیشتر از یکی داشته باشه (2 مونیتور، 4 کارت شبکه، و بهترین مثال هارددیسک)

تا زمانی که رابطه سلسله مراتبی (hierarchical) بین سیستم و اجزا برقرار باشه مشکلی ندارین.

mazoolagh
شنبه 20 اسفند 1401, 07:43 صبح
در مورد سیستم:
مفهوم سیستم میتونه یک کامپیوتر یا یک دستگاه مستقل باشه.
فرضا یک lan printer یا wifi printer رو بهتره یک سیستم مستقل در نظر گرفت و گرنه بعنوان قطعه در انتساب parent به اون دچار مشکل میشین.

mazoolagh
شنبه 20 اسفند 1401, 07:48 صبح
در مورد پرسنل:
شاید بهتر باشه اول یک جدول اداره ها یا دپارتمان ها و یک جدول سِمَت کاری (عنوان شغلی) بسازین و بعد برای هر شخص دپارتمان و سمت کاریش رو هم مشخص کنین.
معمولا اشخاص متغییر هستن ولی سمت ها ثابت میمونن.
انتساب سیستم به سمت کاری (از طریق رابطه به پرسنل هم دسترسی هست) آینده نگری محسوب میشه.

mazoolagh
شنبه 20 اسفند 1401, 07:52 صبح
میتونین براساس 3 حالت اول وضعیت ارتباط بین سیستم ها و پرسنل (پست 5) بین این دو جدول رابطه ها رو در خود ان جداول فیکس کنین؛
یا براساس حالت چهارم یک جدول جداگانه برای تعیین ارتباط بسازین.
این روش شاید کمی پیچیده تر بنظر بیاد ولی خوبیش اینه که همه حالت ها رو پوشش میده و در آینده نیاز به تغییر در جداول ندارین.

mazoolagh
شنبه 20 اسفند 1401, 08:02 صبح
تعیین جزئیات فیلدها بستگی به شرایط کار داره:
فرضا یک سیستم میتونه چند ip address داشته باشه (با یک کارت شبکه)؛
پس شاید بهتر باشه بجای ip تنها، مشخصات نتورک رو نگهداری کنین (ip, gateway, dns).

این که تا چه اندازه جزئیات باید مشخص بشه بستگی به این داره که چه گزارشهایی بر اساس چه پارامترهایی نیاز هست.
فرضا اگر بر اساس مشخصات شبکه جستجو ندارین یا بعنوان یک فیلد مشتقل در گزارش نیازی به اون نیست میشه همه این مشخصات رو در یک فیلد memo ریخت.

یا این که میتونین شماره اموال، تاریخ سرویس دوره ای و ... رو هم در نظر بگیرین.

مرضیه جلالی
یک شنبه 21 اسفند 1401, 12:41 عصر
خیلی ممنونم از زمانی که برای ارائه توضیحات مفیدتون اختصاص دادید.