زنگ

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

با پایگاه های داده SQL کار می کنید؟ سپس این برنامه قطعاً برای شما مفید خواهد بود - با کمک آن می توانید پایگاه های داده را در هر برنامه مشاهده ، ویرایش و ذخیره کنید.

ویژگی ها

SQLite Editor نیازی به حقوق پیش فرض superuser ندارد. اما بدون آنها ، به شما این امکان را می دهد که پایگاه های داده اصلاح شده فقط برنامه هایی را که روی MicroSD نصب شده اند ویرایش و ذخیره کنید.

با حقوق ریشه ، به نوبه خود ، می توانید پایگاه های داده هر برنامه - از جمله آنهایی که در حافظه داخلی قرار دارند را به روز کنید.

این برنامه کاملاً با عملکرد تعامل دارد مدیر فایل"RutExplorer". با کمک آن ، می توانید پایگاه داده های موجود در برنامه را با مشاهده آنها در کاتالوگ به راحتی باز کنید.

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

دکور

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

یک فونت ساده و نمادهای شبه حجمی برخی از ویژگی های رابط کاربری دیگر هستند.

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

این برنامه مناسببه یک دستیار قابل اعتماد برای علاقه مندان و کاربران پیشرفته تبدیل می شود که مایل به تغییر برنامه ها در دستگاه تلفن همراه خود هستند.

SQLite یک پایگاه داده رابطه ای جمع و جور است. کد منبع کتابخانه در حوزه عمومی منتشر شده است. در سال 2005 ، این پروژه جوایز منبع باز Google-O'Reilly را دریافت کرد.

کلمه "embedded" بدین معناست که SQLite از الگوی کلاینت-سرور استفاده نمی کند ، یعنی موتور SQLite یک فرایند جداگانه کار نیست که برنامه با آن تعامل دارد ، بلکه کتابخانه ای را فراهم می کند که برنامه به آن متصل شده و موتور تبدیل می شود قسمتی ازبرنامه ها. بنابراین ، فراخوانی تابع (API) کتابخانه SQLite به عنوان پروتکل مبادله استفاده می شود. این روش هزینه سربار ، زمان پاسخگویی را کاهش می دهد و برنامه را ساده می کند. SQLite کل پایگاه داده (شامل تعاریف ، جداول ، فهرست ها و داده ها) را در یک فایل استاندارد واحد در رایانه ای که برنامه روی آن اجرا می شود ذخیره می کند. سهولت اجرا به دلیل این واقعیت است که قبل از شروع عملیات نوشتن ، کل پرونده ذخیره پایگاه داده قفل شده است. توابع ACID نیز از طریق ایجاد یک فایل log به دست می آیند.

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

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

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

SQLite از تایپ کردن داده های پویا پشتیبانی می کند. انواع زمینه های ممکن: INTEGER ، REAL ، TEXT ، BLOB.

استفاده از SQLite

خود کتابخانه SQLite به زبان C نوشته شده است. تعداد زیادی پیوند به زبان های برنامه نویسی دیگر از جمله Delphi ، C ++ ، Java ، C #، Visual Basic .NET ، Perl ، PureBasic ، Tcl (ابزارهای Tcl با SQLite موجود است) ، Haskell ، Scheme ، Smalltalk و پارسر ، و بسیاری دیگر. لیست کامل وجوه موجوددر صفحه پروژه ارسال شده است.

سادگی و سهولت جاسازی SQLite باعث شده است که از کتابخانه در مرورگرها استفاده شود ، پخش کننده های موسیقیو بسیاری از برنامه های دیگر

به طور خاص ، SQLite از موارد زیر استفاده می کند:

  • - محیطی برای راه اندازی برنامه ها (تا حدی) ؛
  • خودکار ؛
  • چارچوب ؛
  • چارچوب Yii ؛ (در انبار)؛
  • چارچوب XUL طراحی شده توسط Gecko 1.9+ ، 1.9+ ، و به طور بالقوه همه برنامه های کاربردی بر اساس این چارچوب ، از جمله:
  • برخی از مدل های GPS ناوبری Garmin.
  • Android API ؛
  • مینتست

بسیاری از برنامه ها از SQLite به عنوان یک قالب ذخیره سازی داده (به ویژه در سیستم عامل Mac و iOS ، Android) پشتیبانی می کنند ، از جمله:

  • 1C: Enterprise 7.7 (با استفاده از یک جزء خارجی) ؛
  • 1C: Enterprise 8.3 (برای ذخیره ورودی های گزارش) ؛
  • Adobe Photoshop Lightroom
  • Eserv؛
  • F-Spot ؛
  • (شروع از نسخه 3.0) ؛
  • Daminion ؛

SQLite Expert Personal یک ابزار مناسب برای ایجاد و مدیریت چندین پایگاه داده SQLite3 با رابط کاربری ساده و قابلیت ویرایش جداول و همچنین اجرای نمایش داده ها و اسکریپت ها است. این برنامه هم هنگام ایجاد پایگاه های داده جدید و هم هنگام ایجاد و ویرایش مجموعه مفید است پرس و جوهای SQL... پنجره اصلی همه پایگاه های داده متصل را نمایش می دهد و در آنجا می توانید اسکریپت های خود را با استفاده از Query Builder اجرا کنید. به راحتی می توانید همه فیلدها ، کلیدهای خارجی ، فهرست ها ، محدودیت ها و محرک ها را تغییر دهید.

در اولین شروع ، برنامه پایگاه داده پیش فرض Alias ​​را انتخاب می کند ، سپس می توانید آن را به دلخواه تغییر دهید یا پایگاه داده موجود را در منوی "File" باز کنید. پس از آن ، می توانید همه جداول را با انتخاب آنها در پنجره درخت ساختار در سمت چپ مشاهده و ویرایش کنید. علاوه بر این ، SQLite Expert به کاربر این امکان را می دهد که همه جداول را فهرست بندی کند یا داده ها را در قالب های دیگر وارد / صادر کند.

تفاوتهای اصلی با نسخه این است که این نسخه برای هر گونه استفاده کاملاً رایگان است ، اما عملکرد کمی محدود است (نسخه Pro فرصتهای بیشتری برای کار با توابع SQLite دارد).

ویژگی ها و عملکردهای کلیدی

  • این برنامه برای استفاده خصوصی و تجاری کاملاً رایگان است.
  • رابط کاربر پسند ساده ؛
  • ویرایشگر بصری برای SQL Query Builder.
  • توانایی انتقال داده ها به فرمت های مختلف ؛
  • ابزارهای مناسب برای ویرایش داده ها ؛
  • پشتیبانی از یونیکد ؛
  • پشتیبانی از افزونه های SQLite

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



- SQLite ابزاری است که برای کار با پایگاه های داده از هر نوع طراحی شده است.
- کاملاً مستقل است ، به این معنی که برای کار صحیح نیازی به ابزار یا کتابخانه اضافی ندارد.
- Transactional ، که به شما امکان می دهد در صورت خرابی سیستم ، برنامه یا قطع برق ، خاموش کردن کامپیوتر ، حداکثر از دست دادن داده ها جلوگیری کنید.
- بدون نیاز به ایجاد و پیکربندی سرور کار می کند ، بنابراین نیازی به راه اندازی هیچ چیزی ندارید.
- نیازی نیست پیش نصب، بدون هیچ نصبی
- مدیران نیازی به ایجاد پایگاه داده جدید ندارند.
- SQL بسیار گسترده است و یکی از انعطاف پذیرترین ابزارها برای کار با پایگاه های داده است.
- این ابزار کاملاً منبع باز است که برای همه در دسترس است.

معایب برنامه

- هیچ زبان روسی وجود ندارد.

- پردازنده با فرکانس کلاک 800 مگاهرتز یا بالاتر.
- رم 128 مگابایت یا بیشتر
- 1 مگابایت فضای هارد دیسک رایگان.
- معماری 32 یا 64 بیتی (x86 یا x64).
- سیستم عامل ویندوز XP ، ویندوز ویستا ، ویندوز 7 ، ویندوز 8

DBMS: جداول مقایسه

نام برنامه در روسی توزیع ها نصاب محبوبیت اندازه فهرست مطالب
★ ★ ★ ★ ★ 286.7 مگابایت 100
★ ★ ★ ★ ★ 0.5 مگابایت 97

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

یک مقدمه کوچک.

این مقاله برای برنامه نویسان مبتدی نیست.
این یک آموزش SQL نیست.
او از استفاده از SQLite حمایت نمی کند.
او از استفاده از SQLite دفاع نمی کند.
این مقاله در قالب س questionsالاتی از یک مبتدی تازه کار در SQLite نوشته شده است و به آنها پاسخ داده شده است (از آنجا که اطلاعات زیادی وجود دارد و بنابراین ساختار آن حتی کمی ساده تر است).

SQLite چیست؟
SQLite یک پایگاه داده متقابل پلتفرم است که به اندازه کافی پشتیبانی می کند مجموعه کامل SQL فرمان می دهد و در کد منبع (به زبان C) موجود است.

کدهای منبع SQLite در مالکیت عمومی است ، یعنی هیچ محدودیتی برای استفاده وجود ندارد.

وب سایت (با مستندات عالی به زبان انگلیسی): http://sqlite.org

نسخه فعلی: 3.7.13

SQLite را می توان توسط خودم کامپایل کرد ، اما من آن را قبلاً به عنوان DLL ویندوز بارگیری کرده ام.

برای مونتاژ خود ، آنها معمولاً به اصطلاح بارگیری می کنند. ادغام ،
آن ها منابع SQLite بصورت یک فایل واحد در C + sqlite3.h.

برای کاهش اندازه کد SQlite ، حذف ویژگی های غیر ضروری ، از انواع DEFINE ها استفاده می شود.

SQLite چقدر محبوب است؟
به طور خلاصه: او همه جا هست. حداقل روی هر گوشی هوشمند.
چقدر قابل اعتماد است؟
بسیار. هنگامی که نسخه ای منتشر می شود ، یک سری آزمایش های خودکار جدی را پشت سر می گذارد (2 میلیون پوند آزمایش انجام می شود) ، پوشش کد توسط تست ها 100 است (از آگوست 2009).
توسعه دهندگان چه ابزارهای دیگری ارائه می دهند؟
یک ابزار کنسول برای کار با پایگاه های داده موجود است (sqlite3.exe ، "پوسته خط فرمان برای دسترسی و اصلاح پایگاه های داده SQLite").
آیا این همه؟
بله ، از توسعه دهندگان اصلی - همه چیز. با این حال ، سایر افراد انواع مدیران و غیره را می نویسند.
به شخصه ، من هرگز ایده آل را پیدا نکردم و از کنسول استفاده کردم.
"مجموعه کاملاً کامل SQL" به چه معناست؟
همانطور که می دانید ، در توسعه آن ، SQL به سرعت شتاب زد طرفهای مختلف. تولیدکنندگان اصلیشروع به جمع آوری انواع افزونه ها کرد. و اگرچه همه نوع استانداردها پذیرفته می شوند (SQL 92) ، در زندگی واقعی همه پایگاه های داده بزرگ از استانداردها به طور کامل پشتیبانی نمی کنند + دارای ویژگی های خاص خود هستند. بنابراین ، SQLite سعی می کند با اصل "مجموعه حداقل اما کامل" زندگی کند. این ابزار پیچیده را پشتیبانی نمی کند ، اما تقریباً SQL 92 سازگار است.
و برخی از ویژگی های خود را معرفی می کند ، که بسیار راحت هستند ، اما استاندارد نیستند.
دقیقاً چه چیزی ممکن است در مورد پشتیبانی SQL گیج کننده باشد؟
شما نمی توانید یک ستون را در یک جدول رها یا تغییر دهید (ALTER TABLE DROP Colon… ، ALTER TABLE ALTER STON…).
محرک هایی وجود دارد ، اما به اندازه RDBMS های بزرگ قدرتمند نیستند.
پشتیبانی کلید خارجی وجود دارد ، اما به طور پیش فرض غیرفعال است.
هیچ پشتیبانی داخلی از UNICODE وجود ندارد (اما به طور کلی دستیابی به آن سخت نیست).
هیچ روش ذخیره شده ای وجود ندارد.
و خوب یا غیر معمول چیست؟
الف) هر رکورد شامل یک ستون rowid مجازی است که شماره 64 بیتی دارد (برای جدول منحصر به فرد است).
می توانید ستون خود را INTEGER PRIMARY KEY اعلام کنید و سپس این ستون خطی می شود (با نام خاص خود ، نام rowid هنوز کار می کند).
هنگام درج یک رکورد ، می توانید rowid را مشخص کنید ، یا می توانید آن را خالی بگذارید (و سپس سیستم یک مورد منحصر به فرد را وارد می کند).
جزئیات: www.sqlite.org/autoinc.html
ب) به راحتی می توانید یک پایگاه داده را در حافظه سازماندهی کنید (این بسیار راحت است و بعداً جزئیات بیشتری را به شما می گوید) ؛
ج) آسان برای انتقال: به طور پیش فرض ، پایگاه داده یک فایل (در قالب بین پلت فرم) است.
د) نوع ستون نوع مقدار ذخیره شده در این قسمت از رکورد را تعیین نمی کند ، یعنی هر مقداری را می توان در هر ستون وارد کرد.
ه) بسیاری از توابع داخلی (که می توانند در SQL استفاده شوند): www.sqlite.org/lang_corefunc.html ؛
من متوجه نمی شوم - اشکال در نوع چیست؟ اصلا چرا به نوع ستون نیاز داریم؟
نوع ستون نحوه مقایسه مقادیر را تعیین می کند (هنگام مقایسه ، به عنوان مثال ، در یک شاخص ، باید آنها را به همان نوع تبدیل کنید).
اما لازم نیست مقادیری از این نوع را در یک ستون وارد کنید. چیزی شبیه به تایپ ضعیف.

فرض کنید ما یک ستون را به عنوان "INTEGER" اعلام کردیم.
SQlite به شما امکان می دهد مقادیر هر نوع را در این ستون (999 ، "abc" ، "123" ، 678.525) وارد کنید.
اگر مقدار وارد شده یک عدد صحیح نباشد ، SQlite سعی می کند آن را به یک عدد صحیح ارسال کند.
آن ها رشته "123" به یک عدد صحیح 123 تبدیل می شود و بقیه مقادیر "همانطور که هست" نوشته می شود.

بنابراین اصلا لازم نیست نوع ستون را مشخص کنید؟
این اغلب انجام می شود: ایجاد جدول foo (a، b، c، d).
معماری چطور؟ سرور ندارید؟
سرور وجود ندارد ، برنامه خود یک سرور است. دسترسی به پایگاه داده از طریق "اتصالات" به پایگاه داده (چیزی مانند دسته فایل سیستم عامل) رخ می دهد ، که ما آنها را با فراخوانی مربوطه باز می کنیم. توابع DLL... هنگام باز شدن ، نام فایل پایگاه داده نشان داده می شود. اگر چنین چیزی وجود نداشته باشد ، به طور خودکار ایجاد می شود.
مجاز است چندین اتصال به پایگاه داده یکسان (از طریق نام فایل) در برنامه های مشابه یا متفاوت باز شود.
این سیستم از مکانیسم هایی برای مسدود کردن دسترسی به فایل در سطح سیستم عامل استفاده می کند تا همه اینها کار کند
(این مکانیسم ها معمولاً برای آنها خوب کار نمی کنند درایوهای شبکه، بنابراین توصیه نمی شود از SQlite با یک فایل در شبکه استفاده کنید).
در ابتدا ، SQlite بر اساس اصل "بسیاری می خوانند ، یکی می نویسد" کار می کرد.
یعنی فقط یک اتصال در یک زمان معین به پایگاه داده می نویسد. اگر اتصالات دیگر نیز سعی کنند بنویسند ، خطای SQLITE_BUSY را نشان می دهند.
با این حال ، می توانید یک تایم اوت برای عملیات وارد کنید. سپس اتصال ، با شلوغی پایگاه داده مواجه می شود و N ثانیه منتظر می ماند تا با خطای SQLITE_BUSY خراب شود.
و چگونه بودن؟
یا یک اتصال و همه درخواست ها از طریق آن ، یا از زمان وقفه احتمالی ادامه دهید و مجدداً اجرای SQL را امتحان کنید.
یک احتمال دیگر نیز وجود دارد: چندی پیش ظاهر شد نوع جدیدگزارش SQlite: Log Ahead Log، WAL را بنویسید.
اگر این حالت ورود به سیستم خاص را برای پایگاه داده فعال کنید ، چندین اتصال می توانند به طور همزمان پایگاه داده را تغییر دهند.
اما در این حالت ، پایگاه داده قبلاً چندین فایل را اشغال کرده است.
خوب ، آیا اکنون مشخص است که چرا SQLite وحشتناک است ، زیرا CACHE GLOBAL ندارد؟
در واقع ، همه RDBMS های مدرن بدون حافظه پنهان مشترک جهانی که بتواند انواع مختلفی از پرس و جوها را با پارامترهای ذخیره شده ذخیره کند ، غیرقابل تصور است. این توسط سروری اشغال شده است که در اینجا نیست. با این حال ، در یک برنامه ، SQlite می تواند حافظه پنهان را بین چندین اتصال به اشتراک بگذارد (اینجا بخوانید: www.sqlite.org/sharedcache.html) و مقداری حافظه ذخیره کند.
چرا همه از کند بودن SQLite شکایت دارند؟
دو دلیل. اولین مورد تنظیمات پیش فرض است. آنها برای قابلیت اطمینان کار می کنند ، نه عملکرد.
مورد دوم درک نادرست از مکانیسم تعهد معامله است. به طور پیش فرض ، پس از هر فرمان ، SQlite معامله را انجام می دهد (یعنی منتظر بمانید تا پایگاه داده در حالت ثابت باشد تا برق را خاموش کنید). بسته به حالت پارانویا ، SQLite 50 تا 300 میلی ثانیه برای این کار هزینه می کند (منتظر بمانید تا داده ها روی دیسک به پایان برسند).
باید چکار کنم؟ من باید 100K رکورد را وارد کنم و سریع!
نمایه ها را حذف کنید ، حالت همگام سازی OFF (یا NORMAL) را روشن کنید ، در قسمت های N هزار وارد کنید (N - برداشتن ، شروع به کار 5000 طول بکشد). قبل از وارد کردن بخش ، BEGIN TRANSACTION را انجام دهید ، پس از - COMMIT.
اما من یک اشتباه پیدا کردم! چگونه گزارش دهیم؟
به هیچ وجه.

واقعیت این است که محبوبیت SQLite وحشتناک است - در همه جا وجود دارد. شوخی نیست.
و توسعه دهندگان با انبوهی از پیام های خطا روبرو بودند که یا ناشی از سوء تفاهم بوده یا درخواست ویژگی پنهان بوده است. آنها در واقع دریافت مستقیم گزارشها را با خطا بسته اند.
بنابراین باید در لیست پستی مشترک شوید و مشکل را در آنجا شرح دهید و به بهترین ها امیدوار باشید.

شخصاً ، من موقعیتی داشتم که آن را به عنوان نقص SQLIte تفسیر می کردم. من این را در لیست پستی توضیح داده ام. در نسخه بعدی ، رفتار SQLite ثابت شد.

یک ابزار مفید برای بازی با SQLite.

ادامه دارد.

برچسب ها: افزودن برچسب

زنگ

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