تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: کمک در مورد sql

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Jun 2005
    محل سكونت
    فقط خدا مي دونه
    پست ها
    68

    پيش فرض کمک در مورد sql

    سلام خدمت همه دوستان
    من یک جدول در sql دارم که دارای فیلد های کدملی و id و ... هست . فیلد کدملی بصورت string است و امکان تغییر اون رو ندارم. توضیح اینکه هر بار که یک نفر به موسسه ما مراجعه می کنه مشخصات اون به همراه کدملی و ... ثبت می کنیم .حالا اگر بخواهیم گزارش بگیریم که چند نفر یک بار مراجعه کردن و چند نفر دوبار و به ترتیب تا چند نفر پنج بار و بیشتر مراجعه داشتن چکار باید بکنیم با ذکر این نکته که ممکنه کاربر در ثبت کد ملی در بعضی موارد تعداد ده کارکتر رو رعایت نکرده ممنونم
    Last edited by vahid114; 06-01-2020 at 13:15.

  2. #2
    آخر فروم باز
    تاريخ عضويت
    Aug 2018
    پست ها
    1,022

    پيش فرض

    سلام

    این تیکه (با ذکر این نکته که ممکنه کاربر در ثبت کد ملی در بعضی موارد تعداد ده کارکتر رو رعایت نکرده ممنونم ) آیا قابل اصلاح هست؟

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    Jun 2005
    محل سكونت
    فقط خدا مي دونه
    پست ها
    68

    پيش فرض

    سلام

    این تیکه (با ذکر این نکته که ممکنه کاربر در ثبت کد ملی در بعضی موارد تعداد ده کارکتر رو رعایت نکرده ممنونم ) آیا قابل اصلاح هست؟
    بدلیل وقت گیر بودن خیر اون مورد با تابع len فکر کنم قابل صرفنظر هست حالا اساتید بهتر میدونن .مشکل اصلی همون شمارش هست
    Last edited by vahid114; 06-01-2020 at 16:46.

  4. #4
    آخر فروم باز shaahani's Avatar
    تاريخ عضويت
    Jun 2010
    پست ها
    1,771

    پيش فرض

    میتونید رکورد ها رو بر اساس نام و نام خانوادگی فیلتر کنید برای هر کاربر
    یا میتونید با یک ضرب دکارتی این جدول در خودش ، یک کوئری جدید بسازید که مجموع رکورد هایی که نام و نام خانوادگی یکسانی دارند در این خروجی نمایش داده بشه.
    (برای نحوه ساخت چنین دستور اس کیو الی به آموزش های دستور زبان SQL مراجعه نمایید)

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

  5. #5
    آخر فروم باز shaahani's Avatar
    تاريخ عضويت
    Jun 2010
    پست ها
    1,771

    پيش فرض

    همینطور اگر چندین جدول دارید که کاربران در آن اطلاعات خود را وارد کرده اند.
    یک جدول لینک میتوانید بسازید که در آن فیلد های شماره ملی، و شماره رکورد هر جدول دیگری را در خود به همراه داشته باشد.

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

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

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

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •