کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

معرفی پایگاه داده SQLit

معرفی پایگاه داده SQLit
شرح مختصر پروژه

محور آموزش در این مقاله ذخیره سازی داده ها با استفاده از پایگاه داده SQLite می باشد. مبحث پایگاه داده بسیار بزرگ و پیچیده می باشد و ما در این مقاله تنها قصد معرفی جزئی پایگاه داده SQLite را داریم.

توضیحات پروژه

دوره آموزش اندروید

دوره آموزش برنامه نویسی اندروید

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

 

اهداف پروژه :

در این مقاله ما  قصد داریم مطالب زیر را برای شما شرح دهیم:

معرفی پایگاه داده SQLit

در اندروید 4 روش جهت ذخیره سازی داده ها وجود دارد:

Shared preferences

SQLite Databases

Content Provider

Files

محور آموزش در این مقاله ذخیره سازی داده ها با استفاده از پایگاه داده SQLite می باشد. مبحث پایگاه داده بسیار بزرگ و پیچیده می باشد و ما در این مقاله تنها قصد معرفی جزئی پایگاه داده SQLite را داریم.

 

SQLite چیست ؟

SQLite یک برنامه مدیریت بانک اطلاعاتی مبتنی بر زبان استاندارد SQL می باشد و در سال 2000 میلادی توسط دکتر ریچارد هیپ ایجاد گشت. بر خلاف مدل های مرسوم بانک اطلاعاتی که به صورت Client/Server هستند و نیاز به نصب  و پیکر بندی های خاص خود را دارند، SQLite تنها یک برنامه مدیریت بانک اطلاعاتی مستقل می باشد که نیازی به هیچ گونه نصب و پیکر بندی ای ندارد و مهمترین هدف از عرضه  آن به کار گرفتن به صورت ضمیمه شده در سیستم های مختلف می باشد. یک مثال خیلی کارا در این رابطه می تواند برنامه های موبایل و سیستم عامل های موبایل باشد که با توجه به ماهیت آنها ضرورت به کار گیری چنین برنامه های مدیریت بانک  اطلاعاتی رو دو چندان می نماید. iphone ، Symbian، موزیلا فایرفاکس،Skype ، PHP ، Adobe Air ، Mac OS X ، Solaries از جمله استفاده کنندگان به نام این پایگاه داده می باشند.

SQLite به صورت رایگان عرضه می گردد و مجوز  همراه آن امکان استفاده از آنرا در هر سطحی می دهد که بسیار ارزشمند است. بعبارتي SQLite یک پایگاه داده کوچک است « حجمی در حدود 500KB » که به زبان C در قالب یک  کتابخانه نوشته شده است و از پایگاه داده های RDBMS به حساب می آید. این  پایگاه داده بدون لیسانس، آزاد و open source منتشر می گردد.

 

برای مدیریت دیتابیس SQLite برنامه های بسیاری وجود دارد که در ادامه برخی از آنها را معرفی نموده ایم:

SQLiteAdmin

SQLite Expert Professional

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

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

 

مقادیر محتوا و مکان نما

مقادیر محتوا « Content values » به منظور وارد نمودن سطر جدید به داخل جداول استفاده می گردند. هر آبجکت ContentValues یک سطر از جدول را بصورت اسم ستون به مقدار بیان می نماید. بدین معنی که اسم یک ستون از جدول را دریافت کرده و مقدار مورد نظر ما را به آن ستون اضافه می نماید.

یک آبجکت از Cursor نتیجه یک پرس و جو « Query » در دیتابیس است. صرف نظر از استخراج و بازگرداندن یک کپی از مقدار مورد جستجو، مکان نما ها  اشاره گرهایی هستند به نتیجه بدست آمده. مکان نماها موقعیت یا مکان « سطر » نتیجه یا نتایج موجود را نشان می دهند.

در کلاس Cursor تعداد زیادی توابع بمنظور حرکت در جدول و نتایج وجود دارد که تعدادی از آنها در زیر معرفی شده اند:

moveToFirst: مکان نما را به اولین سطر از نتیجه پرس و جو می برد.

moveToNext: مکان نما را به سطر بعد می برد.

moveToPrevious: مکان نما را به سطر قبل می برد.

getCount: تعداد سطرهای نتایج را نمایش می دهد.

getColumnIndexOrThrow: مقدار « مقادیر » موجود در ستون را برمی گرداند. اگر ستونی با آن نام وجود نداشت exception رخ خواهد داد.

getColumnName: ایندکس نام ستون درخواست شده را برمی گرداند.

getColumnNames: یک آرایه از نوع رشته که شامل نام تمام ستون ها می باشد را برمی گرداند.

moveToPosition: مکان نما را به مکان درخواست شده می برد.

getPosition: محل فعلی مکان نما را برمی گرداند.

اندروید از مکانیزمی استفاده می نماید که مطمئن گردد پرس و جوها  بصورت غیرهمزمان انجام می شوند. کلاس CursorLoader و مدریت Loader که در اندروید ۳٫۰ معرفی شده است، به کتابخانه پشتیبانی کننده از دستگاه های قدیمی نیز اضافه شده اند تا خیال برنامه نویسان را از جهت هماهنگی با نسخ قبلی اندروید راحت نماید.

 

در هنگام کار با دیتابیس با مفاهیم زیر برخورد خواهید کرد که من بصورت کلی در مورد آنها توضیح می دهم:

دیتابیس

دیتابیس یا همان پایگاه داده نرم افزاری است که می تواند برای ذخیره و بازیابی داده ها به صورت بهینه و با کارایی بالا استفاده گردد. SQLite تنها دیتابیسی است که در اندروید پشتیبانی می شود.

دیتابیس رابطه ای « Relational Database »

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

جدول  « Table »

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

زبان تعریف داده ها «  DDL - Data Definition Language»

از این دستورات برای تعریف ساختار جداول و ایندکس ها و ... استفاده می گردد. به عنوان مثال از دستور create table برای ایجاد یک جدول و معرفی فیلدهای آن استفاده می گردد.

زبان دستکاری داده «  DML - Data Manipulation Language»

از این دستورات برای بازیابی، درج، حذف و بروزرسانی داده های جداول استفاده می گردد. به عنوان مثال از دستور insert برای درج یک سطر جدید در یک جدول استفاده می گردد.

زبان اسکریپت نویسی SQL

برای استفاده از پایگاه داده می بایست با زبان اسکریپت نویسی SQL آشنایت داشته باشید. در ادامه با برخی از دستورات پر کاربر آن آشنا می شوید:

ساخت دیتابیس:

برای ساختن یک دیتابیس می بایست از دستور زیر استفاده نماییم.

CREATE DATABASE `نام دیتابیس`;

CREATE DATABASE `myDB`;

ساخت جدول:

برای ساختن یک جدول می بایست از دستور زیر استفاده نماییم.

CREATE TABLE `نام جدول` (فیلد ها);

CREATE TABLE `MyGuests` (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50)
);

در قسمت تعریف فیلدها از دستورات دیگری نظیر  PRIMARY KEY و AUTO_INCREMENT و ... مورد استفاده قرار می گیرد که از توضیح آنها صرف نظر می نماییم.

بعد از تعیین نام فیلد مورد نظر، حتما می بایست نوع داده ای آنرا تعیین نماییم.

حذف دیتابیس

برای حذف یک دیتابیس ایجاد شده می بایست از دستور زیر استفاده نماییم.

DROP DATABASE database_name;

DROP DATABASE myDB;

 

حذف جدول:

برای حذف یک جدول ایجاد شده می بایست از دستور زیر استفاده نماییم.

DROP TABLE table_name;a

DROP TABLE MyGuests;

انتخاب رکورد ها:

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

SELECT column_name,column_name FROM table_name;

SELECT firstname, lastname FROM MyGuests;

SELECT * FROM MyGuests;

برای انتخاب نمودن اطلاعات تمامی ستون ها به جای نام ستون می توانیم از علامت * استفاده نماییم.

 

ثبت رکورد:

برای ثبت کردن یک رکود جدید در جدول می بایست از دستور زیر استفاده نماییم.

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

INSERT INTO MyGuests (id, firstname, lastname) VALUES (1,'Mohammad','Yazdian');

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

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

بروز رسانی رکورد:

برای بروز رسانی داده های ثبت شده یک رکورد می بایست از دستور زیر استفاده نماییم.

UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;

UPDATE MyGuests SET firstname = 'Afshin', lastname = 'Refua' WHERE id = 1;

حذف رکورد:

برای حذف کردن یک رکورد از جدول می بایست از دستور زیر استفاده نماییم.

DELETE FROM table_name WHERE some_column=some_value;

DELETE FROM MyGuests WHERE id = 1;

 

در بالا برخی از دستورات مهم زبان اسکریپت نویسی SQL را توضیح دادیم. برای یادگیری بهتر این زبان و سایر دستورات آن می توانید از سایت زیر استفاده نمایید.

www.w3schools.com/sql/default.asp

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

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

شاد و پیروز باشید.

1394/07/27 8298 649
رمز عبور : tahlildadeh.com یا www.tahlildade.com
نظرات شما

نظرات خود را ثبت کنید...