اطلاعیه

Collapse
No announcement yet.

ایجاد پایگاه داده

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ایجاد پایگاه داده

    سلام خدمت دوستان و اساتید.
    من یه چیزی شبیه sql رو توی میکرو لازم دارم...
    یه راهش اینه که با ARM کار کنم و Windows CE رو روش نصب کنم.خوب این روش هزینش بالاست.
    راه ذیگه ای هست؟؟؟

    #2
    پاسخ : ایجاد پایگاه داده

    سلام
    یه چیزی شبیه به SQL یعنی چقدر شبیه ؟
    حد اکثر چقدر Record , table
    چقدر نیاز به Manager دارید و ............

    راه اولش همون روشی هست که گفتید که نیاز مند یک سیستم عامل هست و هزینه زیادی هم به نسبه نداره ؟ ( چون اصلا نمی دونم نهایتا چی لازم دارید که یک برد با سیستم عامل گرون محسوب می شه)

    راه دومش هم این هست که خودتون بسته به نیازی که دارید یک پایگاه داده در میکرو طراحی کنید البته اگه نیاز به Manager قوی مثل SQL داشته باشید دیگه خیلی سخت و یک سری امکانات رو هم خیلی سخت می تونید بهش اضافه کنید

    مهمترین مسئله نیاز شما که چقدر از قابلیت های SQL می خواید

    موفق باشید

    دیدگاه


      #3
      پاسخ : ایجاد پایگاه داده

      ممنون بابت توجهتون...
      خوب اینکه مسلمه تو بهترین حالت شاید هیچ شباهتی با اس کیو ال نداشته باشه...
      ظاهرا شما یه کارایی کردید...
      شما بگو چه جوری و از کجا شروع کنم...یه چیزی از توش در میاد که یه کارایی بکنه دیگه...
      راستی...چه میکرویی واسه این کار مناسبه؟چه کامپایلری؟ای 2 پی رام هم که حتما لازمه دیگه؟

      دیدگاه


        #4
        پاسخ : ایجاد پایگاه داده

        نوشته اصلی توسط darkness.signals
        خوب اینکه مسلمه تو بهترین حالت شاید هیچ شباهتی با اس کیو ال نداشته باشه...
        اتفاقا تو بهترین حالت می شه تا 60% به SQL برسه بقیه 40% هم گیر یک سیستم عامل تا یک سری خواص بشه اضافه کرد که اون رو هم میشه درست کرد ولی خوب در نهایت خود شما سیستم عامل درست کردید . :nice:

        نوشته اصلی توسط darkness.signals
        ظاهرا شما یه کارایی کردید...
        نه تا حالا به همچین چیزی نیاز نداشتم ولی خوب چون با میکرو کار می کنم و به SQL مسلط هستم می دونم چی می شه در نهایت و چی کار باید کرد که به اون رسید

        نوشته اصلی توسط darkness.signals
        شما بگو چه جوری و از کجا شروع کنم...یه چیزی از توش در میاد که یه کارایی بکنه دیگه...
        تا الان هیچ چیزی نمی شه گفت چون صورت مسئله کاملا نا مشخص من اصلا نمی دونم هدف شما از این کار چی هست تا بگم اصلا راه خوبی هست یا نه چون ممکنه هیچ ربطی به هدف شما نداشته باشه .

        نوشته اصلی توسط darkness.signals
        راستی...چه میکرویی واسه این کار مناسبه؟چه کامپایلری؟ای 2 پی رام هم که حتما لازمه دیگه؟
        میکرو که هر چی دوست داشته باشی می شه ولی به حجم داده بستگی داره به طور مثال شما می گید من نهایتا به 100 Record نیاز دارم و از باقی چیزا می گزریم در اونجا شما با AT89S52 هم می تونید کار کنید
        یا شما می گید من 1000000 Record دارم و باز از باقی چیزا می گزریم در اونجا شما با سری Atmega یا Xmega یا PIC16 یا PIC18 ,...... می تونید کار کنید
        ولی یک دفعه می گید من بیش از 1000000 Record دارم و از چیزایی مثل TRIGGER , TABLE ,FUNCTION , ............. می خوام استفاده کنم اون موقع در شرایط خوب با 32Bit می تونید کار کنید که می شه ARM , PIC32 ( که گروه Embedded Systems می شن که می شه با سیستم عامل کارا رو راحت تر کرد )

        کامپایلر هم که به میکرو بستگی داره

        E2Prom هم که دیگه کاملا نامشخص چون به فرض مثال اگه شبیه به SQL در بیاد شما باید سر ماه E2Prom جدید قرار بدید چون مداوم ازش می خونید و می نویسید و سر ماه مرخص می شه ولی با Flash و SD دیگه مشکلی پیش نمیاد

        همه چیز به نیاز های شما بستگی داره چون ممکنه هیچ کدوم این چیزا اصلا لازم نباشه :icon_razz:
        اینجا باید دقیقا مشخص باشه چی نیاز دارید :question:

        دیدگاه


          #5
          پاسخ : ایجاد پایگاه داده

          در حال حاضر داده هارو میدم به کامپیوتر و اس کیو ال کار هارو ردیف میکنه و نتیجه رو از طریق سریال میده به مدار...من میخوام کامپیوتر رو حذف کنم....
          10 تا جدول دارم
          20 تایی هم stored procedure
          تو پروسیإ¾ژر هام هم...همون دستورات متداول...
          select,insert,update,delete...
          حالا چی؟

          دیدگاه


            #6
            پاسخ : ایجاد پایگاه داده

            باز حداکثر رکورد در هر جدول تایین نکردید چون مشخص نیست که چه شرط هایی دارید یا از Index , constraint استفاده شده یا نه

            نمیدونم به چه زبون و میکرویی آشنایی دارید ولی با Atmega , Xmega , PIC18 قابل اجرا هست و با ARM هم 100% قابل اجرا

            ولی در نظر بگیرید که شما Update , insert , Delete هم دارید پس نیاز مند یک صفحه کیبرد کامل و LCD هستید که بتونید تمام کارا رو انجام بدید و میکرو شما هر چی سرعت بیشتری داشته باشه کار شما بهتر در میاد چون یک Select نیاز مند Sort شدن که خود SQL این کارو می کنه یا یک insert یا update نیازمند بررسی شدن توسط Constraint ها است و خیلی چیزای دیگه
            پس به نظر من دست کم نیاز مند 40MIPS هستید حالا اگر بیشتر بشه بهتر
            حافظه خود میکرو کم میاد و حتما باید از یک RAM و FLAM خارجی استفاده کنید

            در کل شدنیه ولی هزینش دست کمی از یک Embedded Board نداره چون شما برای نمایش که نمی تونید از یک LCD کرکتری استفاده کنید حتما باید گرافیکی باشه که در حال حاظر TFT LCD از نظر قیمتی بهتر از گرافیکی و ........
            ودر این حالت در Windows CE شما می تونید SQL داشته باشد .

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

            دیدگاه


              #7
              پاسخ : ایجاد پایگاه داده

              تعداد رکورد ها زیر 10000 تا هستش.
              در ضمن نیازی به کیبورد و ال سی دی هم ندارم چون در حال حاضر پروسیژر های اس کیو ال بر حسب شرایط و داده های ارسالی از طریق پورت سریال به کامپیوتر انتخاب میشن ولی وجود یه پرینتر الزامیه!
              میشه وصلش کرد به میکرو؟

              دیدگاه


                #8
                پاسخ : ایجاد پایگاه داده

                خود شما بهتر می دونید چی نیاز دارید چی ندارید من مثال زدم برای کی برد و LCD
                پرینتر های سریال راحت هستن مخصوصا از نوع سوزنی اما اگر USB یا تحت Ethernet بخوایید یکم ماجرا تغییر می کنه
                بازم می گم کار راحتی نیست چون تمامی شرایطی که در SQL به وجود آمده هم به نحوی باید با میکرو کنترل کرد
                ممکنه بعد از طراحی کامل موقع تست ببینید که خیلی کند عمل می کنه چون SQL به نحوی می شه فرض کرد که پردازش موازی می کنه یا به مفهوم بهتر قابلیت Multi Task ولی میکرو .....
                از نظر هزینه چون کار شما نمونه هست مسلما قیمتش متغییر چون مشخص نیست که در اولین برد بتونید همه چیز در بیارید مخصوصا با قیمت های جدید و همچنین با میکرو های معمولی به سرعت ARM هم نمی رسید به نظر من یک سری Embedded برد رو هم بررسی کنید بعد تصمیم بگیرید چون حداقل Embedded Board دارای Windows و می شه SQL روش نصب کرد و دقیقا مثل PC که در حال حاضر دارید عمل می کنه قیمتشون هم بسته به امکاناتشون متفاوت
                ولی خوب اگه تمایل دارید کار خودتون باشه بسته به مهارت شما در Hardware و Software هزینه و زمانی که صرف می کنید متغییر و ممکنه آخرش هم به چیزی که انتظار دارید نرسید از نظر سرعتی این مورد رو خود شما بهتر می دونید چون من اصلا نمی دونم خود شما تا چه حد مهارت دارید ولی اگه این چیزا مهم نیست بسم الله بلاخره دوستان در انجمن هستن که بتونن کمک کنن و بلاخره کارتون به پایان می رسه .
                هر چیزی که بخوایید میشه و هرکاری که بخوایید می تونید بکنید ولی به پشتکار خودتون بستگی داره

                دیدگاه


                  #9
                  پاسخ : ایجاد پایگاه داده

                  قرار بود شما سر نخ و بدی تا من برم دنبالش...ولی هیچی نگفتی که!
                  یه شبه کدی..الگوریتمی....چیزی... :sad:

                  دیدگاه


                    #10
                    پاسخ : ایجاد پایگاه داده

                    خیلی ممنون لطف دارید

                    کد و اینجور چیزارو فکر نمی کنم وجود داشته باشه
                    سرنخ:
                    سخت افزار گردن خودتون چون من نمی دونم چی می خوایید
                    برنامش هم که 100% پایی خودتون چون خیلی طولانی ه و خوتون می دونید چی می خوایید چی نمی خوایید فقط من می تونم راه نمایی کنم

                    مثال : ایجاد Table به شرط این که استاتیک باشه (برای طراحی دینامیک خیلی چیزا رو باید بدونم و نمی دونم چجوری به شما توضیح بدم که بتونید درش بیارید )

                    Table A
                    ID int ;AUTO GENERATE
                    Name nvarchar(20)
                    Age int
                    Date Date


                    بنابراین حتما به یک حافظه جانبی احتیاج است که برای Table فوق با حداکثر 10000 رکورد فضای إخیره شده برابر با :

                    ID = 10000*32bit
                    Name = 20*8bit *10000
                    Age = 32bit*10000
                    date = 64bit*10000

                    =
                    360KByte

                    خوب تو برنامه خودتون از حافظه n تا 360KByte+n جزئ از Table A می گیرید این میشه Table ها

                    برای نظارت بر Table در میکرو باید زیربرنامه ای بزارید که در هر Update یا INsert وارد عمل بشه و چک کنه و خواصی که به Table A دادی رو اجرا کنه به طور مثال شما یک متغییر برای کنترل Table A و نوع Data Type رو توش فقط تعریف می کنید و میزارید نظارت کنه بر دیتای ورودی , یکی یکی همه Triger , Constraint و procedure رو توش تعریف می کنید و با هر بار INsert , Update یک بار زیربرنامه رو می خونید به طور مثال برای ID
                    اول باید تمام ID هایی رو که در حافظه ذخیره کردید رو چک کنید و بعد یک واحد به اخرین ID اضافه کنید که حتما باید یک RAM سرعت بالا در سخت افزار در نظر گرفته بشه و همچنین اجازه درج ID جدید داده نشه و در UPdate هم موارد مورد نظر در نظر گرفته بشه

                    به طور کلی خودتون باید الگریتم متناسب با Table هایی که دارید بچینید واگه جایی از برنامه گیر کردید کمک بخوایید
                    من نمی دونم چی باید بگم و منظور شمارو از چیز نمی دونم چون یک روال مشخص داره و تنها مشکل اساسی در اوردن خواص روی Table ها است که اونم چیز زیاد سنگینی نیست و ممکنه فقط یکم ریزه کاری داشته باشه

                    دیدگاه

                    لطفا صبر کنید...
                    X