แบบทดสอบก่อนเรียน

ทำแบบทดสอบก่อนเรียน 

เพื่อวัดความรู้พื้นฐาน

แบบทดสอบหลังเรียน

ทำแบบทดสอบหลังเรียน 

เพื่อวัดความรู้ที่ได้รับหลังเรียน

ทำความเข้าใจ Database คืออะไร?

Database (ฐานข้อมูล) คือ กลุ่มข้อมูลขนาดใหญ่ที่ถูกเก็บรวบรวมไว้ที่ใดที่หนึ่ง โดยเป็นข้อมูลที่มีความสัมพันธ์กัน ซึ่งถูกจัดเก็บอย่างเป็นระบบ โดยมีซอฟต์แวร์เข้ามาควบคุมกระบวนการใช้งาน การทำงาน หรือการประมวลผล ทำให้ผู้ใช้สามารถใช้ข้อมูลได้อย่างมีประสิทธิภาพ

ซอฟต์แวร์ที่ควบคุม Database จะเรียกว่า DBMS (Database Management System) หรือ ระบบจัดการฐานข้อมูล มีหน้าที่ช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมีประสิทธิภาพ ทั้งการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือค้นหาข้อมูล ซึ่งช่วยลดการเก็บข้อมูลที่ซ้ำซ้อนและรักษาความถูกต้องของข้อมูลภายใน Database

พื้นฐานการออกแบบ Database ให้มีประสิทธิภาพ

ข้อมูลในยุคดิจิทัลกลายเป็นสินทรัพย์สำคัญของธุรกิจในการบริหารจัดการและการใช้งาน เพื่อให้การทำงานขององค์กรมีประสิทธิภาพและศักยภาพสูงขึ้น แนวคิดการออกแบบ Database ให้ยืดหยุ่นและตอบโจทย์กับความต้องการขององค์กรที่เปลี่ยนแปลงไปตามสถานการณ์อย่างรวดเร็วจึงมีความสำคัญ โดยเฉพาะในยุค New Normal ที่มีความอ่อนไหวสูง ซึ่งหลักการออกแบบ Database ให้มีประสิทธิภาพง่าย ๆ มีดังนี้

แนวคิด Database นี้เป็นเพียงพื้นฐานคร่าว ๆ ที่ทุกองค์กรสามารยกระดับการทำงานของโครงสร้างพื้นฐานด้าน IT หรือ IT Infrastructure ซึ่งจะช่วยให้ Database สามารถตอบโจทย์โซลูชันที่แตกต่างกันออกไปได้อย่างมีประสิทธิภาพ ทั้งความยืดหยุ่น การทำงานเชิงรุก หรือการประมวลผลข้อมูลต่าง ๆ การเริ่มต้นลงทุนด้าน Database หรือ IT Infrastructure จึงเป็นก้าวแรกที่สำคัญขององค์กรธุรกิจ

วิวัฒนาการของ Database เป็นอย่างไร?

 โมเดลฐานข้อมูลเชิงสัมพันธ์

โมเดลข้อมูลเชิงสัมพันธ์ (Entity Relationship Model) หรือ E-R Model ถูกนเสนอโดย Chen (1976) และได้รับการพัฒนาจะสมบูรณ์ในปี 1979 เพื่อใช้ในการอธิบายฐานข้อมูลในรูปแบบแผนภาพ เรียกว่า E-R diagram นั้นคือมนุษย์พยายาม เขียนสร้างที่เป็นจินตภาพ (ในที่นี้คือมุมมองที่เขามองฐานข้อมูล) ให้เป็นกายภาพ ในรูปแผนภาพ แผนภาพ ER ดังกล่าวใช้พื้นฐานของโมเดลข้อมูลเชิงตรรกะ (Logical Data Model) ของ Fleming ที่เสนอไว้ในปี 1989 เป็นวิธีการแสดงความต้องการสารสนเทศในระบบธุรกิจให้เป็นแผนภาพ ในขั้นตอนการวิเคราะห์และออกแบบระบบฐานข้อมูล เน้นตัวข้อมูลที่มีอยู่จริงโดยไม่คำนึงถึงรายละเอียดในการ ติดตั้ง,ความต้องการพิเศษอื่นในแง่การใช้งาน และความเร็วในการสืบค้นข้อมูล หรืออาจกล่าวอีกนัยหนึ่ง ว่าโมเดลข้อมูลเชิงตรรกะเป็นการสร้างโครงร่างวิวของ ผู้ใช้ (Skeletal User View) จะแสดงข้อมูลในขอบเขตที่ผู้ออกแบบสนใจโดยมีสิ่งที่ต้องกำหนดเป็นพื้นฐาน ได้แก่ เอนทิตี้, รีเลชั่นชิป, แอททริบิวต์ ในแง่ของ ER-Diagram ประกอบด้วย

เอนทิตี้ (Entity) คือ สิ่งที่มีอยู่จริง จับต้องได้ หรือเป็นจินตภาพที่แสดงความเป็นหนึ่งเดียว เมื่อกล่าวถึงแล้วทุกคนเข้าใจตรงกัน เช่น สินค้า, วัตถุดิบ, แผนกต่าง ๆ, การสั่งซื้อ

รีเลชั่นชิป (Relationship) คือความสัมพันธ์ซึ่งเป็นลักษณะการเกี่ยวพันกันระหว่างเอนทิตี้หนึ่งกับตัว มันเองหรือ เอนทิตี้อื่น อาจเป็นความสัมพันธ์ที่มากกว่า 2 เอนทิตี้ก็ได้ เช่น แผนกจัดซื้อทำการสั่งซื้อสินค้าหรือวัตถุดิบ

แอททริบิวต์ (Attribute) คือกลุ่มของค่าความจริงใด ๆ ที่เป็นรายละเอียดของเอนทิตี้ซึ่งแสดงลักษณะ และ คุณสมบัติของเอนทิตี้ ท าให้เข้าใจเอนทิตี้ได้ลึกซึ้งยิ่งขึ้น และเป็นสิ่งที่ไม่สามารถแตกย่อยลงไปได้อีกโดยไม่เสียความหมายไป เช่น รหัสสินค้า, สถานที่เก็บ, ชื่อสินค้า, ราคานอกจากนั้นยังมีการระบุด้วยว่าแอททริบิวต์ใดเป็นคีย์ก าหนดกฎข้อบังคับต่าง ๆ ของเอนทิตี้และรีเลชั่นชิป

การเปลี่ยนจากความสัมพันธ์เป็นตาราง

การเปลี่ยนจากความสัมพันธ์เป็นตาราง มีแนวทางในการทำดังนี้

1) ความสัมพันธ์เป็นแบบกลุ่มต่อกลุ่ม (M : N)

ให้นำความสัมพันธ์นั้นมาสร้างเป็นตารางใหม่ โดยน าไพรมารี่คีย์ของเอนทิตี้ที่มีความสัมพันธ์กับความสัมพันธ์นั้นมากำหนด เป็นพรอพเพอตี้ของตารางใหม่ พร้อมทั้งกำหนดให้ทำหน้าที่เป็นไพรมารี่คีย์หากความสัมพันธ์นั้นมีพรอพเพอตี้ของความสัมพันธ์ด้วย ก็นำพรอพเพอตี้นั้นมาเป็น แอททริบิวต์ของตารางใหม่ด้วย

2) ความสัมพันธ์เป็นแบบหนึ่งต่อกลุ่ม (1 : N)

ให้นำค่าไพรมารี่คีย์ของเอนทิตี้ที่มีความสัมพันธ์ทางด้าน หนึ่ง มาเป็นแอททริบิวต์ หนึ่ง ของเอนทิตี้ทางด้านกลุ่ม โดยไม่ต้องมีการสร้างตารางของความสัมพันธ์ขึ้นมาใหม่

3) ความสัมพันธ์เป็นแบบหนึ่งต่อหนึ่ง (1 : 1)

ให้นำค่าไพรมารี่คีย์ของเอนทิตี้ที่มีความสัมพันธ์กัน มาเป็นแอททริบิวต์หนึ่งของอีกเอนทิตี้ที่มีความสัมพันธ์กัน โดยจะนำจากเอนทิตี้ด้านใดก็ได้โดยไม่ต้องมีการสร้างตารางของ ความสัมพันธ์ขึ้นมาใหม่

ความหมายของคีย์ (Keys) ชนิดต่าง ๆ ใน Database

Keys หมายถึง ฟิลด์ (Field) แอตทริบิวต์ (Attribute) หรือ คอลัมน์ (Column) จำนวน 1 คอลัมน์ หรือ อาจเป็น หลาย ๆ คอลัมน์ มาประกอบกันก็ได้ มีค่า ไม่ซ้ำกัน ในแต่ละแถว มีคุณสมบัติที่เป็นเอกลักษณ์ (Unique) สามารถใช้คอลัมนั้นในการระบุถึงคอลัมน์อื่น ๆ ในแถว (Row) เรคอร์ด (Record) หรือ ทูเพิล (Tuple) นั้นได้

Super Key หมายถึง คอลัมน์ หรือ กลุ่มของคอลัมน์ ที่สามารถใช้จำแนกความแตกต่างของแต่ละแถวได้ หากมีคอลัมน์หรือกลุ่มของคอลัมน์ใด ที่ไม่มีโอกาสมีค่าซ้ำกันเลยในแต่ละแถว (Unique) ก็จัดได้ว่าคอลัมน์นั้น หรือ กลุ่มของคอลัมน์นั้น เป็น Super Key

เมื่อเราพิจารณาคำจำกัดความแล้ว เราอาจพิจารณาได้ว่ามี Super Key ใน Table Employees ทั้งหมดดังนี้

Composite Key หมายถึง Key ที่ประกอบกัน หรือ มีมากกว่า 1 Key เช่น

แต่ EmpID ไม่ใช่ Composite Key เนื่องจากเป็นเพียงแค่ Key เดียว

Candidate Key หมายถึง Super Key ที่มีคอลัมน์เดียว หรือ Super Key ที่มีหลายคอลัมน์ แต่ ไม่มีบางส่วนของ Key เป็น Unique Subset

Unique Subset คือ มีค่าไม่ซ้ำกันในแต่ละแถว

จาก Table Employees เราจะได้ Candidate Key ทั้งหมดเป็นดังนี้

EmpID + FirstName ถือเป็น Composite Key คือเป็น Key ประกอบ

และหนึ่งใน Key ประกอบมีความเป็น Unique Subset เกิดขึ้น นั่นคือ EmpID เป็น Unique ทำให้ไม่เป็น Candidate Key

Primary Key หมายถึง Key ที่ถูกเลือกมาจาก Candidate Key โดยมีหลักเกณฑ์ดังนี้

Alternate Key หมายถึง Key ที่ไม่ได้ถูกเลือกให้เป็น Primary Key นั่นก็คือ FirstName + LastName + DepID + Position

Foreign Key หมายถึง Key ที่อ้างไปยัง Primary Key ของ Table หนึ่ง

เช่น ใน Table Employees DepID ถือเป็น Foreign Key เพราะ DepID ได้อ้างไปยัง Primary Key ของอีก Table หนึ่ง

โปรแกรมสำหรับการจัดการฐานข้อมูล SQLite

สำหรับ SQLite (เอสคิวแอลไลท์) บน Android (แอนดรอยด์) นั้น มีเรื่องเล็กน้อยที่ Developer (ดีเวลลอปเปอร์) ควรจะรู้ คือว่า Databases file (ดาต้าเบส ไฟล์) ที่สร้างขึ้นมานั้น จะต้องมี Table android_metadata (เทเบิล แอนดรอยด์_เมตะดาต้า) อยู่ด้วย ถึงจะใช้งานได้ SQLite เป็น Database (ดาต้าเบส) ขนาดเล็ก ที่ทำงานบนระบบต่างๆ ของสมาร์ทโฟน ซึ่ง Android นี้ก็ใช้ SQLite เป็น Database ของแต่ละ Application (แอพพลิเคชั่น) เช่นกัน  โดย Application หนึ่ง ก็จะมีฐานข้อมูลของแต่ละ Application ซึ่งไม่ได้ใช้งานร่วมกัน

    SQLite เป็นโปรแกรมฐานข้อมูลที่มีขนาดเล็กมาก (ไม่ถึง 1MB)  เก็บฐานข้อมูลเป็นไฟล์โดยไม่จำเป็นต้องมีเซิร์ฟเวอร์ ทำให้ถูกใช้ในหลายๆ โปรแกรมหรือถูกติดตั้งลงไปในอุปกรณ์พกพาหลายชนิดๆ เช่น iPhone (ไอโฟน), Android เพื่อใช้ในการเก็บข้อมูล

โปรแกรมสำหรับการจัดการฐานข้อมูล MySQL

MySQL คือ ระบบจัดการฐานข้อมูล หรือ Database Management System (DBMS) แบบข้อมูลเชิงสัมพันธ์ หรือ Relational Database Management System (RDBMS) ซึ่งเป็นระบบฐานข้อมูลที่จัดเก็บรวบรวมข้อมูลในรูปแบบตาราง โดยมีการแบ่งข้อมูลออกเป็นแถว (Row) และในแต่ละแถวแบ่งออกเป็นคอลัมน์ (Column) เพื่อเชื่อมโยงระหว่างข้อมูลในตารางกับข้อมูลในคอลัมน์ที่กำหนด แทนการเก็บข้อมูลที่แยกออกจากกัน โดยไม่มีความเชื่อมโยงกัน ซึ่งประกอบด้วยข้อมูล (Attribute) ที่มีความสัมพันธ์เชื่อมโยงกัน (Relation) โดยใช้ RDBMS Tools สำหรับการควบคุมและจัดเก็บฐานข้อมูลที่จำเป็น ทำให้นำไปประยุกต์ใช้งานได้ง่าย ช่วยเพิ่มประสิทธิภาพในการทำงานให้มีความยืดหยุ่นและรวดเร็วได้มากยิ่งขึ้น รวมถึงเชื่อมโยงข้อมูล ที่จัดแบ่งกลุ่มข้อมูลแต่ละประเภทได้ตามต้องการ จึงทำให้ MySQL เป็นโปรแกรมระบบจัดฐานข้อมูลที่ได้รับความนิยมสูง

MySQL เป็น Open Source ที่ถูกพัฒนาขึ้นจาก MySQL AB ในประเทศสวีเดน โดยชาวสวีเดน 2 คน คือ David Axmark และ Allan Larsson ร่วมกับชาวฟินแลนด์ Michael Monty Widenius ซึ่งต่อมาในปี ค.ศ. 2008 ถูกซื้อกิจการโดย Sun Microsystems และภายหลัง Oracle Corporation ได้เข้าซื้อกิจการในปี ค.ศ. 2010 

MySQL มีหน้าที่จัดเก็บข้อมูลอย่างเป็นระบบ รองรับคำสั่งภาษา Structured Query Language หรือ SQL เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ เป็นภาษามาตรฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (Open System) ที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน และนิยมใช้งานร่วมกับภาษาโปรแกรม PHP รวมถึงภาษาอื่น ๆ ที่สามารถทำงานร่วมกันกับฐานข้อมูล MySQL ได้หลากหลาย เช่น C, C++, Python, Java เป็นต้น อีกทั้ง MySQL ยังได้รับการออกแบบและปรับให้มีความเหมาะสมสำหรับการพัฒนา Website และ Web Application ทำให้สามารถรองรับการทำงานได้ทุกแพลตฟอร์ม รวมถึงการอนุญาตให้ผู้ใช้งานหลายคนสามารถใช้งานพร้อมกันได้ (Multi-user) นอกจากนั้นยังสามารถจัดการและสร้างฐานข้อมูลจำนวนมากรวมถึงประมวลผลหลาย ๆ งานได้พร้อมกัน (Multi-threaded) อย่างสมบูรณ์ จึงทำให้ MySQL เป็นตัวเลือกยอดนิยมสำหรับธุรกิจการพาณิชย์อิเล็กทรอนิกส์ หรือ Electronic Commerce (E-Commerce) และเหมาะสำหรับการนำไปใช้งานสร้างเว็บไซต์ทั่วไป เพราะมีความแม่นยำ ครบครัน ช่วยให้เข้าถึงข้อมูลได้อย่างรวดเร็ว อีกทั้งยังมีความน่าเชื่อถือสูง และยังมีโปรแกรมเสริมช่วยจัดฐานข้อมูลที่ใช้งานง่าย เช่น Mysql Admin, phpMyAdmin เป็นต้น

MySQL ใช้ทำงานอะไรบ้าง ?

MySQL มีให้เลือกใช้งาน 2 รุ่น ได้แก่ MySQL Community Edition ที่เป็นเวอร์ชันฟรี ซึ่งเป็น Open Source และ MySQL Enterprise Edition ที่มีคุณสมบัติมากกว่าและการสนับสนุนด้านเทคนิคที่ครอบคลุม รวมถึงยังได้รับอนุญาตให้ใช้ในเชิงพาณิชย์ โดย MySQL เป็นตัวเลือกยอดนิยมสำหรับเว็บไซต์ขนาดใหญ่และ Web Application เนื่องจากสามารถรองรับการรับส่งข้อมูลในระดับสูง รวมถึงยังมีคุณสมบัติที่ช่วยเพิ่มประสิทธิภาพการทำงาน เช่น กระบวนการจัดเก็บข้อมูล (Store Procedure), กระบวนการทำงานแบบอัตโนมัติ (Database Trigger), มุมมองฐานข้อมูล (Database View) และภาพรวมระบบฐานข้อมูล (Database Schema) เป็นต้น

โดย MySQL ถูกนำไปใช้ในองค์กรหรือกลุ่มธุรกิจชั้นนำต่าง ๆ มากมาย เพราะสามารถปรับใช้ให้เข้ากับความต้องการของแต่ละองค์กรได้อย่างมีประสิทธิภาพ เช่น 

▪ การจัดเก็บข้อมูลสำหรับ Website

▪ การจัดเก็บข้อมูลสำหรับ Mobile Application

▪ การจัดเก็บข้อมูลสำหรับ Application สำหรับองค์กร

▪ การจัดเก็บข้อมูลทางการแพทย์

▪ การจัดเก็บข้อมูลทางการเงิน

▪ การจัดเก็บและสร้างฐานข้อมูลของลูกค้า

ภาษา SQL คืออะไร

Structured Query Language (SQL) เป็นภาษาโปรแกรมสำหรับจัดเก็บและประมวลผลข้อมูลในฐานข้อมูลแบบเชิงสัมพันธ์ ฐานข้อมูลแบบเชิงสัมพันธ์เก็บข้อมูลในรูปแบบตารางที่มีแถวและคอลัมน์ที่เป็นตัวแทนของหมวดข้อมูลที่แตกต่างกันและความสัมพันธ์ต่างๆ ระหว่างค่าข้อมูล สามารถใช้คำสั่ง SQL ในการจัดเก็บ ปรับปรุง ลบ ค้นหา และดึงข้อมูลจากฐานข้อมูล นอกจากนี้ยังสามารถใช้ SQL ในการรักษาและเพิ่มประสิทธิภาพการทำงานของฐานข้อมูล

ทำไม SQL จึงเป็นสิ่งสำคัญ

Structured Query Language (SQL) เป็นภาษาแบบสอบถามที่นิยมใช้บ่อยในทุกประเภทของแอปพลิเคชัน นักวิเคราะห์ข้อมูลและนักพัฒนาเรียนรู้และใช้ SQL เพราะมันบูรณาการได้ดีกับการเขียนโปรแกรมภาษาที่แตกต่างกัน ตัวอย่างเช่น พวกเขาสามารถฝังแบบสอบถาม SQL กับการเขียนโปรแกรมภาษา Java เพื่อสร้างประสิทธิภาพสูงโปรแกรมประมวลผลข้อมูลที่มีระบบฐานข้อมูล SQL ที่สำคัญเช่น Oracle หรือ MS SQL Server SQL ยังค่อนข้างง่ายที่จะเรียนรู้ในขณะที่มันใช้คำหลักภาษาอังกฤษทั่วไปในงบ

ประวัติของ SQL

SQL ถูกคิดค้นขึ้นในช่วงคริสต์ทศวรรษ 1970 โดยอาศัยรูปแบบข้อมูลเชิงสัมพันธ์ มันเป็นที่รู้จักกันในครั้งแรกเป็นภาษาแบบสอบถามภาษาอังกฤษที่มีโครงสร้าง (SEQUEL) ระยะต่อมาถูกย่อเป็น SQL Oracle เดิมชื่อซอฟต์แวร์เชิงสัมพันธ์กลายเป็นผู้ขายรายแรกที่เสนอระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์ของ SQL

ส่วนประกอบของระบบ SQL มีอะไรบ้าง

ระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์ใช้ภาษาแบบสอบถามที่มีโครงสร้าง (SQL) ในการจัดเก็บและจัดการข้อมูล ระบบจัดเก็บตารางฐานข้อมูลหลายเชื่อมต่อกันและกัน MS SQL Server MySQL หรือ MS Access เป็นตัวอย่างของระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์ ต่อไปนี้เป็นส่วนประกอบของระบบดังกล่าว 

ตาราง SQL

ตาราง SQL เป็นองค์ประกอบพื้นฐานของฐานข้อมูลแบบเชิงสัมพันธ์ ตารางฐานข้อมูล SQL ประกอบด้วยแถวและคอลัมน์ วิศวกรฐานข้อมูลสร้างความสัมพันธ์ระหว่างตารางฐานข้อมูลหลายตารางเพื่อเพิ่มประสิทธิภาพพื้นที่เก็บข้อมูล

ตัวอย่างเช่นว ิศวกรฐานข้อมูลสร้างตาราง SQL สำหรับผลิตภัณฑ์ในร้านค้า 

รหัสผลิตภัณฑ์ ชื่อผลิตภัณฑ์ รหัสสี

0001 ที่นอน     สี 1

0002 หมอน     สี 2

จากนั้นวิศวกรฐานข้อมูลเชื่อมโยงตารางผลิตภัณฑ์ไปยังตารางสีที่มี รหัสสี

รหัสสี ชื่อสี

 สี 1 สีน้ำเงิน

สี 2 สีแดง

คำสั่ง SQL

คำสั่ง SQL หรือแบบสอบถาม SQL เป็นคำสั่งที่ถูกต้องที่ระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์เข้าใจ นักพัฒนาซอฟต์แวร์สร้างคำสั่ง SQL โดยใช้องค์ประกอบภาษา SQL ที่แตกต่างกัน องค์ประกอบภาษา SQL เป็นส่วนประกอบ เช่น ตัวระบุ ตัวแปร และเงื่อนไขการค้นหาที่สร้างคำสั่ง SQL ที่ถูกต้อง

ยกตัวอย่างเช่นคำสั่ง SQL ต่อไปนี้ใช้คำสั่ง SQL INSERT เพื่อเก็บ ที่นอนยี่ห้อ A ราคา 499 USD ลงในตารางชื่อ Mattress_table ที่มีชื่อคอลัมน์ brand_name และ Cost ใส่เข้าไปใน Mattress_table (brand_name และ cost)

ค่า ('A', '499');

ขั้นตอนการจัดเก็บ

วิธีการจัดเก็บเป็นคอลเลกชันของ SQL หนึ่งคำสั่งหรือมากกว่าที่เก็บไว้ในฐานข้อมูลแบบเชิงสัมพันธ์ นักพัฒนาซอฟต์แวร์ใช้วิธีการจัดเก็บเพื่อปรับปรุงประสิทธิผลและประสิทธิภาพ ตัวอย่างเช่น สามารถสร้างขั้นตอนการจัดเก็บสำหรับการปรับปรุงตารางการขายแทนการเขียนคำสั่ง SQL เดียวกันในการแอปพลิเคชันที่ต่างกัน 

SQL ทำงานอย่างไร

การใช้ภาษาแบบสอบถามที่มีโครงสร้าง (SQL) มีเครื่องเซิร์ฟเวอร์ที่ประมวลผลคำสั่งฐานข้อมูลและส่งผลกลับ กระบวนการ SQL จะต้องผ่านส่วนประกอบซอฟต์แวร์หลายส่วนมีดังต่อไปนี้ 

ตัวแยกวิเคราะห์

ตัวแยกวิเคราะห์เริ่มต้นด้วยการสร้างโทเค็นหรือเปลี่ยนบางคำในคำสั่ง SQL ที่มีสัญลักษณ์พิเศษ จากนั้นจะตรวจสอบคำสั่งต่อไปนี้

ความถูกต้อง

ตัวแยกวิเคราะห์ตรวจสอบว่าคำสั่ง SQL สอดคล้องกับความหมายหรือกฎ SQL ที่ให้ความถูกต้องของคำสั่งแบบสอบถาม ยกตัวอย่างเช่น ตัวแยกวิเคราะห์ตรวจสอบว่าคำสั่ง SQL ลงท้ายด้วยอัฒภาคหรือไม่ ถ้าอัฒภาคหายไป ตัวแยกวิเคราะห์ส่งกลับข้อผิดพลาด

การให้สิทธิ์

ตัวแยกวิเคราะห์ยังตรวจสอบว่าผู้ใช้ที่เรียกใช้แบบสอบถามได้รับการอนุมัติที่กำหนดสำหรับจัดการกับข้อมูลนั้นๆ หรือไม่ ตัวอย่างเช่น เฉพาะผู้ใช้ระดับผู้ดูแลระบบเท่านั้นที่อาจมีสิทธิลบข้อมูล 

Engine เชิงสัมพันธ์

Engine เชิงสัมพันธ์หรือหน่วยประมวลผลแบบสอบถามสร้างแผนสำหรับการเรียก เขียน หรือปรับปรุงข้อมูลที่สอดคล้องกันในลักษณะที่มีประสิทธิภาพมากที่สุด ยกตัวอย่างเช่น การตรวจสอบสำหรับคำสั่งที่คล้ายกัน ใช้วิธีการจัดการข้อมูลก่อนหน้านี้อีกหรือสร้างใหม่ เขียนแผนในการแสดงระดับกลางของคำสั่ง SQL ที่เรียกว่ารหัสไบต์ ฐานข้อมูลแบบเชิงสัมพันธ์ใช้รหัสไบต์ดำเนินการค้นหาฐานข้อมูลและปรับเปลี่ยนได้อย่างมีประสิทธิภาพ 

Engine จัดเก็บข้อมูล

Engine จัดเก็บข้อมูลหรือเครื่องมือฐานข้อมูลเป็นส่วนประกอบซอฟต์แวร์ที่ประมวลผลรหัสไบต์และเรียกใช้คำสั่ง SQL ตามสั่ง อ่านและเก็บข้อมูลในไฟล์ฐานข้อมูลในดิสก์เก็บข้อมูลทางกายภาพ เมื่อเสร็จสิ้น Engine จัดเก็บข้อมูลส่งผลที่ได้กลับไปยังแอปพลิเคชันที่ร้องขอ

คำสั่ง SQL มีอะไรบ้าง

แบบสอบถามภาษามีโครงสร้าง (SQL) มีคำสั่งเป็นคำหลักเฉพาะหรือคำสั่ง SQL ที่นักพัฒนาใช้ในการจัดการกับข้อมูลที่เก็บไว้ในฐานข้อมูลแบบเชิงสัมพันธ์ สามารถจัดหมวดหมู่คำสั่ง SQL ดังต่อไปนี้

ภาษานิยามข้อมูล (DDL) หมายถึงคำสั่ง SQL ที่ออกแบบโครงสร้างฐานข้อมูล วิศวกรฐานข้อมูลใช้ DDL เพื่อสร้างและแก้ไขวัตถุฐานข้อมูลตามความต้องการของธุรกิจ ตัวอย่างเช่น วิศวกรฐานข้อมูลใช้คำสั่ง CREATE เพื่อสร้างวัตถุฐานข้อมูลเช่นตาราง มุมมอง และดัชนี

ภาษาแบบสอบถามข้อมูล (DQL) ประกอบด้วยคำสั่งสำหรับการดึงข้อมูลที่เก็บไว้ในฐานข้อมูลแบบเชิงสัมพันธ์ การใช้งานซอฟต์แวร์ใช้คำสั่ง SELECT เพื่อกรองและส่งกลับผลลัพธ์เฉพาะจากตาราง SQL 

คำสั่งภาษาการจัดการข้อมูล (DML) เขียนข้อมูลใหม่หรือปรับเปลี่ยนระเบียนที่มีอยู่ในฐานข้อมูลแบบเชิงสัมพันธ์ ตัวอย่างเช่น แอปพลิเคชันใช้คำสั่ง INSERT เพื่อเก็บบันทึกใหม่ในฐานข้อมูล

ผู้ดูแลฐานข้อมูลใช้ภาษาควบคุมข้อมูล (DCL) เพื่อจัดการหรืออนุญาตการเข้าถึงฐานข้อมูลสำหรับผู้ใช้รายอื่น ตัวอย่างเช่นพวกเขาสามารถใช้คำสั่ง GRANT เพื่ออนุญาตให้บางแอปพลิเคชันจัดการกับหนึ่งตารางหรือมากกว่าได้ 

Engine เชิงสัมพันธ์ใช้ภาษาควบคุมการทำธุรกรรม (TCL) เพื่อใเปลี่ยนแปลงฐานข้อมูลโดยอัตโนมัติ ตัวอย่างเช่น ฐานข้อมูลใช้คำสั่ง ROLLBACK เพื่อยกเลิกการทำธุรกรรมที่ผิดพลาด 

มาตรฐาน SQL อะไร

มาตรฐาน SQL เป็นชุดของแนวทางที่กำหนดอย่างเป็นทางการของภาษาแบบสอบถามที่มีโครงสร้าง (SQL) สถาบันมาตรฐานแห่งชาติอเมริกัน (ANSI) และองค์การระหว่างประเทศว่าด้วยการมาตรฐาน (ISO) ได้นำมาตรฐาน SQL มาใช้ในปีค.ศ. 1986 ผู้จำหน่ายซอฟต์แวร์ใช้มาตรฐาน ANSI SQL เพื่อสร้างซอฟต์แวร์ฐานข้อมูล SQL สำหรับนักพัฒนา

SQL Injection คืออะไร

SQL Injection เป็นการโจมตีทางไซเบอร์ที่เกี่ยวข้องกับการหลอกลวงฐานข้อมูลด้วยแบบสอบถาม SQL แฮกเกอร์ใช้ SQL Injection เพื่อดึง แก้ไข หรือทำให้ข้อมูลเสียหายในฐานข้อมูล SQL ตัวอย่างเช่น พวกเขาอาจจะกรอกคำสั่ง SQL แทนชื่อของบุคคลในฟอร์มส่งเพื่อดำเนินการโจมตี SQL Injection

MySQL คืออะไร?

MySQL เป็นระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์โอเพนซอร์สที่นำเสนอโดย Oracle นักพัฒนาสามารถดาวน์โหลดและใช้ MySQL โดยไม่ต้องจ่ายค่าธรรมเนียมการออกใบอนุญาต พวกเขาสามารถติดตั้ง MySQL บนระบบปฏิบัติการที่แตกต่างกันหรือเซิร์ฟเวอร์คลาวด์ MySQL เป็นระบบฐานข้อมูลที่นิยมสำหรับแอปพลิเคชันเว็บ 

SQL เทียบกับ MySQL

Structured Query Language (SQL) เป็นภาษามาตรฐานสำหรับการสร้างและการจัดการฐานข้อมูล MySQL เป็นโปรแกรมฐานข้อมูลแบบเชิงสัมพันธ์ที่ใช้คำสั่ง SQL ในขณะที่คำสั่ง SQL จะถูกกำหนดโดยมาตรฐานสากลซอฟต์แวร์ MySQL ผ่านการอัพเกรดและการปรับปรุงอย่างต่อเนื่อง

NoSQL คืออะไร

NoSQL หมายถึงฐานข้อมูลที่ไม่ใช่แบบเชิงสัมพันธ์ที่ไม่ได้ใช้ตารางการจัดเก็บข้อมูล นักพัฒนาเก็บข้อมูลในรูปแบบที่แตกต่างกันของฐานข้อมูล NoSQL รวมทั้งกราฟ เอกสาร และค่าคีย์ ฐานข้อมูล NoSQL เป็นที่นิยมสำหรับการใช้งานที่ทันสมัยเพราะพวกเขาจะปรับขนาดได้ในแนวนอน การปรับขนาดแนวนอนหมายถึงการเพิ่มพลังการประมวลผลโดยการเพิ่มคอมพิวเตอร์ที่เรียกใช้ซอฟต์แวร์ NoSQL มากขึ้น

SQL เทียบกับ NoSQL

ภาษาแบบสอบถามที่มีโครงสร้าง (SQL) ให้ภาษาการจัดการข้อมูลโดยรวม แต่การดำเนินการ NoSQL จะขึ้นอยู่กับเทคโนโลยีที่แตกต่างกัน นักพัฒนาใช้ SQL สำหรับการใช้งานการทำธุรกรรมและการวิเคราะห์ในขณะที่ NoSQL เหมาะสำหรับการตอบสนองแอปพลิเคชันที่ใช้งานหนัก 

เซิร์ฟเวอร์ SQL คืออะไร

SQL Server เป็นชื่ออย่างเป็นทางการของระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์ของไมโครซอฟต์ที่จัดการกับข้อมูลที่มี SQL MS SQL Server มีหลายรุ่นและแต่ละรุ่นถูกออกแบบมาสำหรับเวิร์กโหลดและความต้องการเฉพาะ

การสร้าง Database

การสร้างพื้นที่ในการจัดเก็บข้อมูลอย่างเป็นระบบ ช่วยลดการเก็บข้อมูลที่ซ้ำซ้อน รวมถึงรักษาความถูกต้องของข้อมูล และที่สำคัญป้องกันและรักษาความปลอดภัยให้กับข้อมูลเหล่านี้ ได้อย่างมีประสิทธิภาพ 

ขั้นตอนการสร้าง Database (การสร้างฐานข้อมูล) >> https://shorturl.at/vyzFK  

การสร้างตารางข้อมูลใน Database

การสร้างพื้นที่ในการจัดเก็บข้อมูลอย่างเป็นระบบ ช่วยลดการเก็บข้อมูลที่ซ้ำซ้อน รวมถึงรักษาความถูกต้องของข้อมูล และที่สำคัญป้องกันและรักษาความปลอดภัยให้กับข้อมูลเหล่านี้ ได้อย่างมีประสิทธิภาพ 

ขั้นตอนการสร้าง Database (การสร้างฐานข้อมูล) และ

ขั้นตอนการเพิ่มข้อมูลใน Database (การเพิ่มข้อมูลในฐานข้อมูล) และ

ขั้นตอนการลบข้อมูลใน Database (การลบข้อมูลในฐานข้อมูล) 

รวมไปถึงบทเรียน phpMyAdmin part Database ทั้งหมด >> https://shorturl.at/qNZ57 

ความหมายของคีย์ (Keys) ชนิดต่าง ๆ ใน Database

Keys หมายถึง ฟิลด์ (Field) แอตทริบิวต์ (Attribute) หรือ คอลัมน์ (Column) จำนวน 1 คอลัมน์ หรือ อาจเป็น หลาย ๆ คอลัมน์ มาประกอบกันก็ได้ มีค่า ไม่ซ้ำกัน ในแต่ละแถว มีคุณสมบัติที่เป็นเอกลักษณ์ (Unique) สามารถใช้คอลัมนั้นในการระบุถึงคอลัมน์อื่น ๆ ในแถว (Row) เรคอร์ด (Record) หรือ ทูเพิล (Tuple) นั้นได้

Super Key หมายถึง คอลัมน์ หรือ กลุ่มของคอลัมน์ ที่สามารถใช้จำแนกความแตกต่างของแต่ละแถวได้ หากมีคอลัมน์หรือกลุ่มของคอลัมน์ใด ที่ไม่มีโอกาสมีค่าซ้ำกันเลยในแต่ละแถว (Unique) ก็จัดได้ว่าคอลัมน์นั้น หรือ กลุ่มของคอลัมน์นั้น เป็น Super Key

เมื่อเราพิจารณาคำจำกัดความแล้ว เราอาจพิจารณาได้ว่ามี Super Key ใน Table Employees ทั้งหมดดังนี้

Composite Key หมายถึง Key ที่ประกอบกัน หรือ มีมากกว่า 1 Key เช่น

แต่ EmpID ไม่ใช่ Composite Key เนื่องจากเป็นเพียงแค่ Key เดียว

Candidate Key หมายถึง Super Key ที่มีคอลัมน์เดียว หรือ Super Key ที่มีหลายคอลัมน์ แต่ ไม่มีบางส่วนของ Key เป็น Unique Subset

Unique Subset คือ มีค่าไม่ซ้ำกันในแต่ละแถว

จาก Table Employees เราจะได้ Candidate Key ทั้งหมดเป็นดังนี้

EmpID + FirstName ถือเป็น Composite Key คือเป็น Key ประกอบ

และหนึ่งใน Key ประกอบมีความเป็น Unique Subset เกิดขึ้น นั่นคือ EmpID เป็น Unique ทำให้ไม่เป็น Candidate Key

Primary Key หมายถึง Key ที่ถูกเลือกมาจาก Candidate Key โดยมีหลักเกณฑ์ดังนี้

Alternate Key หมายถึง Key ที่ไม่ได้ถูกเลือกให้เป็น Primary Key นั่นก็คือ FirstName + LastName + DepID + Position

Foreign Key หมายถึง Key ที่อ้างไปยัง Primary Key ของ Table หนึ่ง

เช่น ใน Table Employees DepID ถือเป็น Foreign Key เพราะ DepID ได้อ้างไปยัง Primary Key ของอีก Table หนึ่ง

บทเรียน phpMyAdmin part Database ทั้งหมด >> https://shorturl.at/qNZ57 

การเชื่อมต่อฐานข้อมูลมีหลายวิธี ขึ้นอยู่กับการใช้งานฐานข้อมูลนั้น ๆ  

โดยสามารถดูคู่มือการเชื่อมต่อข้อมูลได้จากลิงก์นี้ >> https://flpnuol.weebly.com/uploads/2/4/5/9/24599736/phpmyadmin.pdf 

บทเรียน phpMyAdmin part Database ทั้งหมด >> https://shorturl.at/qNZ57 

**ขอขอบคุณเจ้าของข้อมูลทุก ๆ แหล่งที่มา รวมไปถึงเจ้าของสื่อการเรียนรู้ทุกชิ้นเป็นอย่างสูง**