0Pricing
Electron Desktop App Development · درس

قواعد البيانات المضمّنة باستخدام SQLite

خزّن بيانات منظمة قابلة للاستعلام في تطبيق Electron باستخدام قاعدة بيانات SQLite مضمّنة، متجاوزًا تخزين المفتاح والقيمة والملفات الخام.

قواعد البيانات المضمّنة باستخدام SQLite درس مجاني في Electron Desktop App Development على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Electron Desktop App Development، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Electron Desktop App Development 3 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

When Files Are Not Enough

Key-value storage and flat files work for small data. For relational, queryable data, an embedded database like SQLite is the right tool.

Why SQLite for Desktop

SQLite is serverless and stores everything in a single file. It ships inside your app, no installation needed by the user.

Choosing a Driver

Popular Node drivers include better-sqlite3 (synchronous, fast) and sqlite3 (async). Run database code in the main process.

const Database = require('better-sqlite3');
const db = new Database('app.db');

Creating a Table

Define your schema once with CREATE TABLE IF NOT EXISTS so it is safe to run on every launch.

db.exec('CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)');

Inserting Rows

Use prepared statements with placeholders to insert data safely.

const insert = db.prepare('INSERT INTO notes (body) VALUES (?)');
insert.run('Buy groceries');

Querying Data

Read rows back with all() for many or get() for one.

function buildQuery(table) {
  return 'SELECT * FROM ' + table;
}
console.log(buildQuery('notes'));

Parameterize Everything

Never concatenate user input into SQL. Placeholders prevent SQL injection and quoting bugs.

function isSafe(query) {
  return query.includes('?');
}
console.log(isSafe('SELECT * FROM notes WHERE id = ?'));

Exposing Data to the Renderer

The renderer should never touch the DB directly. Expose query functions through a preload bridge over IPC.

ipcMain.handle('notes:list', () => {
  return db.prepare('SELECT * FROM notes').all();
});

Migrations

As your schema evolves, track a user_version and apply migrations step by step on startup.

Where to Store the File

Place the database in the user-data directory via app.getPath('userData') so it survives updates and is writable.

const path = require('path');
function dbPath(userData) {
  return path.join(userData, 'app.db');
}
console.log(dbPath('/home/user/.config/myapp'));

Transactions for Safety

Wrap multiple writes in a transaction so they all succeed or all roll back, keeping data consistent.

Quick Check

Test your SQLite knowledge.

Recap

You learned to add structured persistence with SQLite: choosing a driver, creating tables, using prepared statements, exposing data over IPC, storing the file in userData, and using transactions and migrations.

الأسئلة الشائعة

هل درس «قواعد البيانات المضمّنة باستخدام SQLite» مجاني؟

نعم — نص درس «قواعد البيانات المضمّنة باستخدام SQLite» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Electron Desktop App Development، انتقل إلى CoddyKit PRO. تتضمن دورة Electron Desktop App Development 3 دروس في المجموع.

ماذا ستتعلم في «قواعد البيانات المضمّنة باستخدام SQLite»؟

خزّن بيانات منظمة قابلة للاستعلام في تطبيق Electron باستخدام قاعدة بيانات SQLite مضمّنة، متجاوزًا تخزين المفتاح والقيمة والملفات الخام. تتمرن على Electron Desktop App Development مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Electron Desktop App Development؟

لا تُشترط خبرة سابقة. Electron Desktop App Development على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «قواعد البيانات المضمّنة باستخدام SQLite»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Electron Desktop App Development هذا؟

نعم. كل درس في Electron Desktop App Development يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التخزين المحلي وIndexedDB
  2. الوصول إلى نظام الملفات
  3. قواعد البيانات المضمّنة باستخدام SQLite
← العودة إلى Electron Desktop App Development