<div class="breadcrumb">
<span class="breadcrumb-link" onclick="loadLesson('intro')">หน้าแรก</span> / <span>ฐานข้อมูล</span>
</div>
<h2><span class="emoji">💾</span>ฐานข้อมูล - จัดเก็บข้อมูลอย่างมีประสิทธิภาพ</h2>
<p>ฐานข้อมูล (Database) คือที่เก็บข้อมูลที่จัดระเบียบอย่างเป็นระบบ เมื่อเว็บไซต์ของคุณมีผู้ใช้จำนวนมากหรือข้อมูลจำนวนมาก คุณจะต้องใช้ฐานข้อมูล</p>
<h3>ทำไมต้องใช้ฐานข้อมูล?</h3>
<ul>
<li><strong>จัดเก็บข้อมูลจำนวนมาก:</strong> ฐานข้อมูลสามารถเก็บข้อมูลได้มากกว่าการใช้ไฟล์ธรรมดา</li>
<li><strong>ค้นหาข้อมูลได้อย่างรวดเร็ว:</strong> ฐานข้อมูลมีการจัดดัชนี (Indexing) ที่ช่วยให้ค้นหาข้อมูลได้เร็ว</li>
<li><strong>ความปลอดภัย:</strong> ฐานข้อมูลมีระบบการเข้าถึง (Access Control) ที่ช่วยปกป้องข้อมูล</li>
<li><strong>ความสมบูรณ์ของข้อมูล:</strong> ฐานข้อมูลมีกลไกการตรวจสอบเพื่อให้ข้อมูลถูกต้อง</li>
</ul>
<h3>ประเภทของฐานข้อมูล</h3>
<table class="comparison-table">
<tr>
<th>ประเภท</th>
<th>ตัวอย่าง</th>
<th>ความเหมาะสม</th>
</tr>
<tr>
<td><strong>Relational (SQL)</strong></td>
<td>SQLite, MySQL, PostgreSQL</td>
<td>ข้อมูลที่มีความสัมพันธ์ชัดเจน เช่น ข้อมูลผู้ใช้, สินค้า</td>
</tr>
<tr>
<td><strong>NoSQL</strong></td>
<td>MongoDB, Firebase</td>
<td>ข้อมูลที่ไม่มีโครงสร้างชัดเจน เช่น JSON documents</td>
</tr>
</table>
<h3>SQLite - ฐานข้อมูลสำหรับผู้เริ่มต้น</h3>
<p>SQLite เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ที่มีขนาดเล็ก ทำงานได้ในไฟล์เดียว และไม่ต้องมีการตั้งค่าเซิร์ฟเวอร์ ทำให้เหมาะอย่างยิ่งสำหรับผู้เริ่มต้น</p>
<h4>ข้อดีของ SQLite</h4>
<ul>
<li>ง่ายต่อการติดตั้งและใช้งาน</li>
<li>ไม่ต้องตั้งค่าเซิร์ฟเวอร์ที่ซับซ้อน</li>
<li>ไฟล์เดียว - ง่ายต่อการจัดการและย้าย</li>
<li>เหมาะสำหรับการเรียนรู้และโปรเจกต์ขนาดเล็ก</li>
</ul>
<h3>การติดตั้ง SQLite</h3>
<div class="step-card">
<h4>สำหรับ Windows</h4>
<ol>
<li>ไปที่ <a href="https://sqlite.org/download.html" target="_blank">sqlite.org/download.html</a></li>
<li>ดาวน์โหลด <code>sqlite-tools-win32-x86-*.zip</code> (หรือเวอร์ชัน 64-bit)</li>
<li>แตกไฟล์และเพิ่มพาธของโฟลเดอร์ลงใน Environment Variables</li>
<li>ตรวจสอบด้วยการรันคำสั่ง: <code>sqlite3 --version</code></li>
</ol>
</div>
<div class="step-card">
<h4>สำหรับ macOS/Linux</h4>
<p>SQLite มักจะติดตั้งมาแล้วในระบบ หากไม่มี คุณสามารถติดตั้งได้ด้วยคำสั่ง:</p>
<pre><code class="language-bash">
# macOS (ใช้ Homebrew)
brew install sqlite3
# Linux (Ubuntu/Debian)
sudo apt-get install sqlite3
</code></pre>
</div>
<h3>การใช้งาน SQLite เบื้องต้น</h3>
<pre><code class="language-sql"># สร้าง/เปิดฐานข้อมูล
sqlite3 mydatabase.db
# สร้างตาราง
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
email TEXT,
age INTEGER
);
# ใส่ข้อมูล
INSERT INTO users (name, email, age) VALUES ('สมชาย', 'somchai@example.com', 25);
# ดึงข้อมูล
SELECT * FROM users;
# อัปเดตข้อมูล
UPDATE users SET age = 26 WHERE name = 'สมชาย';
# ลบข้อมูล
DELETE FROM users WHERE id = 1;
# ออกจาก SQLite
.quit</code></pre>
<h3>เครื่องมือ GUI สำหรับ SQLite</h3>
<p>การใช้ Command Line อาจจะซับซ้อนสำหรับผู้เริ่มต้น มีเครื่องมือ GUI ที่ช่วยให้จัดการฐานข้อมูล SQLite ได้ง่ายขึ้น</p>
<div class="feature-grid">
<div class="feature-card">
<h4>DB Browser for SQLite</h4>
<p>เครื่องมือ GUI ที่ได้รับความนิยมสูง สำหรับสร้าง, ออกแบบ, และแก้ไขไฟล์ฐานข้อมูล SQLite</p>
</div>
<div class="feature-card">
<h4>SQLiteStudio</h4>
<p>เครื่องมือ GUI ที่มีคุณสมบัติครบครัน รองรับหลายแพลตฟอร์ม</p>
</div>
</div>
<h3>การเชื่อมต่อเว็บกับฐานข้อมูล (แนวคิด)</h3>
<p>เพื่อให้เว็บไซต์ของคุณสามารถเก็บและดึงข้อมูลจากฐานข้อมูล คุณจะต้องใช้ Backend Language เช่น Node.js (JavaScript), Python (Flask/Django), หรือ PHP</p>
<div class="info-box">
<strong>ℹ️ ข้อมูล:</strong> Backend คือส่วนของเว็บไซต์ที่ทำงานบนเซิร์ฟเวอร์ ส่วน Frontend คือส่วนที่ทำงานบนเบราว์เซอร์ของผู้ใช้
</div>
<div class="navigation">
<button class="btn btn-primary" id="prev-btn" data-current="database">← ก่อนหน้า</button>
<button class="btn btn-primary" id="next-btn" data-current="database">ถัดไป →</button>
</div>