กลับไปทำข้อสอบวิชานี้

การใช้ภาษา SQL

คู่มือเชื่อมโครงสร้างฐานข้อมูล การค้นคืน การรวมและเปลี่ยนแปลงข้อมูล ธุรกรรม ประสิทธิภาพ ความปลอดภัย และการออกแบบคำสั่งเป็นกระบวนการเดียวกัน

7 หัวข้อ · อ่านประมาณ 36 นาที

อ่านฟรีได้ 2 จาก 7 หัวข้อ29%
หัวข้อ 1

ภาษา SQL แบบจำลองเชิงสัมพันธ์ และรากฐานของข้อมูล

ความหมาย ขอบเขต และมาตรฐานของ SQL — SQL เป็นภาษาสําหรับนิยาม จัดการ ค้นคืน และควบคุมข้อมูลในระบบ ฐานข้อมูลเชิงสัมพันธ์ โดยมุ่งระบุผลลัพธ์ที่ต้องการมากกว่ากําหนดขั้นตอนระดับเครื่อง การใช้งานต้องแยกส่วนแกนของมาตรฐานออกจากส่วนขยายของระบบเป้าหมายอย่างชัดเจน ชื่อเต็ม หมายถึงหรือมีสาระสําคัญว่า Structured Query Language ลักษณะภาษา หมายถึงหรือมีสาระสําคัญว่า ภาษาเชิงประกาศ (declarative): ระบุผลที่ต้องการ ส่วน DBMS เลือกแผนการทํางาน แบบจําลองหลัก หมายถึงหรือมีสาระสําคัญว่า ฐานข้อมูลเชิงสัมพันธ์ ซึ่งจัดข้อมูลเป็นตารางและเชื่อมโยงกันด้วยคีย์ มาตรฐาน หมายถึงหรือมีสาระสําคัญว่า อยู่ในชุดมาตรฐาน ISO/IEC 9075; ฉบับ Framework ที่เผยแพร่ปัจจุบันคือ ISO/IEC 9075-1:2023 ระบบที่ใช้ SQL หมายถึงหรือมีสาระสําคัญว่า เช่น PostgreSQL, MySQL,

Microsoft SQL Server, Oracle Database และ SQLite แบบจําลองเชิงสัมพันธ์และโครงสร้างข้อมูล — แบบจําลองเชิงสัมพันธ์จัดข้อมูลเป็นความสัมพันธ์ที่ประกอบด้วยแถวและคอลัมน์ โครงสร้างทางตรรกะนี้แยกจากรูปแบบจัดเก็บจริงของระบบ การออกแบบที่ดีต้องระบุความหมายของแต่ละตาราง แต่ละคอลัมน์ และข้อกําหนดที่ทําให้ข้อมูลอยู่ในสถานะถูกต้อง Database: ความหมาย คือ กลุ่มข้อมูลและวัตถุที่จัดการร่วมกัน; ตัวอย่าง คือ ฐานข้อมูลบุคลากร Schema: ความหมาย คือ ขอบเขตชื่อหรือพิมพ์เขียวที่รวมตาราง วิว และวัตถุอื่น; ตัวอย่าง คือ hr.employees Table / Relation: ความหมาย คือ โครงสร้างข้อมูลแบบแถวและคอลัมน์; ตัวอย่าง คือ employees Row / Tuple / Record: ความหมาย คือ ข้อมูลหนึ่งรายการ; ตัวอย่าง คือ พนักงานหนึ่งคน Column / Attribute:

ความหมาย คือ คุณลักษณะของข้อมูลที่มีชนิดข้อมูลกํากับ; ตัวอย่าง คือ employee_id, salary คีย์ ความสัมพันธ์ และความสมบูรณ์เชิงอ้างอิง — คีย์ใช้ระบุเอกลักษณ์และเชื่อมข้อมูลระหว่างตาราง ส่วนข้อจํากัดความสมบูรณ์ทําหน้าที่ป้องกันสถานะที่ขัดกับกฎของข้อมูล การเลือกคีย์และพฤติกรรมเมื่อแก้ไขหรือลบแถวแม่จึงเป็นส่วนหนึ่งของแบบจําลอง มิใช่รายละเอียดทางไวยากรณ์เท่านั้น Super key หมายถึงหรือมีสาระสําคัญว่า ชุดคอลัมน์ใด ๆ ที่ระบุแถวได้ไม่ซ้ํา แต่อาจมีคอลัมน์เกินความจําเป็น Candidate key หมายถึงหรือมีสาระสําคัญว่า Super key ขั้นต่ําที่ไม่มีคอลัมน์ส่วนเกิน ตารางหนึ่งอาจมีหลาย Candidate key

Primary key หมายถึงหรือมีสาระสําคัญว่า Candidate key ที่เลือกเป็นตัวระบุหลัก ต้อง UNIQUE และ NOT NULL; หนึ่งตารางมีได้หนึ่งชุด แต่ชุดนั้นอาจมีหลายคอลัมน์ Alternate key หมายถึงหรือมีสาระสําคัญว่า Candidate key ที่ไม่ได้เลือกเป็น Primary key มักบังคับด้วย UNIQUE และ NOT NULL ชนิดข้อมูลและโดเมนของค่า — ชนิดข้อมูลกําหนด โดเมน การตรวจสอบ การเปรียบเทียบ การคํานวณ และพื้นที่จัดเก็บ การเลือกชนิดที่สอดคล้องกับความหมายช่วยป้องกันค่าที่ไม่ถูกต้องและลดการแปลงชนิดที่ทําให้ผลลัพธ์คลาดเคลื่อน จํานวนเต็ม: ชนิดที่พบบ่อย คือ SMALLINT, INTEGER, BIGINT; แนวใช้ คือ จํานวนที่ไม่มีเศษ เลือกช่วงค่าให้พอ

เลขฐานสิบแบบแม่นยํา: ชนิดที่พบบ่อย คือ DECIMAL(p,s), NUMERIC(p,s); แนวใช้ คือ จํานวนเงินหรือค่าที่ห้ามคลาดจากการแทนเลขฐานสอง เลขโดยประมาณ: ชนิดที่พบบ่อย คือ REAL, FLOAT, DOUBLE PRECISION; แนวใช้ คือ งานวิทยาศาสตร์ที่ยอมรับค่าคลาดเคลื่อนได้ ไม่ควรใช้เปรียบเทียบความเท่ากันแบบตรง ๆ อักขระ: ชนิดที่พบบ่อย คือ CHAR(n), VARCHAR(n), CHARA CTE R VARYING, TEXT; แนวใช้ คือ รหัสคงรูปหรือข้อความ; ขีดจํากัดและพฤติกรรม TEXT ต่างกันตาม DBMS วันและเวลา: ชนิดที่พบบ่อย คือ DATE, TIME, TIMESTAMP, INTERVAL; แนวใช้ คือ วัน เวลา จุดเวลา และช่วงเวลา; การรองรับเขตเวลาต้องตรวจระบบ

ค่า NULL และตรรกะสามค่า — NULL แทนการไม่มีค่าหรือค่าที่ยังไม่ทราบตามบริบท และไม่เท่ากับศูนย์ สตริงว่าง หรือค่าปริยาย การเปรียบเทียบที่เกี่ยวข้องกับ NULL ทํางานภายใต้ ตรรกะสามค่า จึงต้องใช้ตัวดําเนินการและเงื่อนไขที่รองรับโดยตรง การตรวจ NULL หมายถึงหรือมีสาระสําคัญว่า ใช้ IS NULL หรือ IS NOT NULL ไม่ใช้ = NULL หรือ <> NULL ผลการเปรียบเทียบ หมายถึงหรือมีสาระสําคัญว่า นิพจน์ทั่วไปที่เปรียบเทียบกับ NULL ให้ค่า UNKNOWN ไม่ใช่ TRUE WHERE หมายถึงหรือมีสาระสําคัญว่า เก็บเฉพาะแถวที่เงื่อนไขเป็น TRUE; FALSE และ UNKNOWN ถูกตัดออก COUNT(*) หมายถึงหรือมีสาระสําคัญว่า นับแถวทั้งหมด COUNT(column) หมายถึงหรือมีสาระสําคัญว่า นับเฉพาะแถวที่ column ไม่เป็น NULL

หัวข้อ 2

การกำหนดโครงสร้างและการค้นคืนข้อมูล

กลุ่มคําสั่งและขอบเขตหน้าที่ — การแบ่งคําสั่งเป็น DDL, DML, DCL และ TCL ช่วยอธิบายหน้าที่โดยรวม แต่รายละเอียดการจัดหมวดอาจต่างกันระหว่างตําราและคู่มือระบบ สิ่งสําคัญคือการเข้าใจผลต่อโครงสร้าง ข้อมูล สิทธิ และขอบเขตธุรกรรม DDL — Data Definition Language: หน้าที่ คือ สร้างหรือเปลี่ยนโครงสร้างวัตถุ; คําสั่งตัวอย่าง คือ CREATE, ALTER, DROP, TRUNCATE DML — Data Manipulation Language: หน้าที่ คือ เพิ่ม แก้ไข และลบข้อมูล; คําสั่งตัวอย่าง คือ INSERT, UPDATE, DELETE, MERGE

DQL — Data Query Language: หน้าที่ คือ ชื่อหมวดที่ตําราหลายเล่มใช้เรียกการค้นข้อมูล; คําสั่งตัวอย่าง คือ SELECT DCL — Data Control Language: หน้าที่ คือ กําหนดและถอนสิทธิ; คําสั่งตัวอย่าง คือ GRANT, REVOKE TCL — Transaction Control Language: หน้าที่ คือ ควบคุมขอบเขตธุรกรรม; คําสั่งตัวอย่าง คือ START TRANSACTION/BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION SELECT ไม่ได้ถูกแยกเป็น DQL ในเอกสารทุกระบบ ตัวอย่างเช่นคู่มือ MySQL จัด SELECT อยู่ในกลุ่ม Data Manipulation Statements ดังนั้นเมื่ออ้างอิงตําราเฉพาะ ให้ใช้การจัดหมวดของตํารานั้น แต่ต้องรู้หน้าที่จริงของคําสั่ง

การกําหนดโครงสร้างและข้อจํากัดของข้อมูล — DDL ใช้สร้าง เปลี่ยน และลบวัตถุฐานข้อมูล ขณะที่ constraints บังคับกฎกับค่าหรือความสัมพันธ์ การเปลี่ยน schema ต้องพิจารณาข้อมูลเดิม การล็อก ความเข้ากันได้ของโปรแกรม และพฤติกรรมธุรกรรมของระบบเป้าหมาย PRIMARY KEY หมายถึงหรือมีสาระสําคัญว่า ระบุแถวไม่ซ้ําและบังคับ NOT NULL FOREIGN KEY หมายถึงหรือมีสาระสําคัญว่า รักษา ความสมบูรณ์เชิงอ้างอิง ระหว่างตาราง UNIQUE หมายถึงหรือมีสาระสําคัญว่า ไม่ให้ค่าหรือชุดค่าซ้ํา โดยรายละเอียด NULL ขึ้นกับ DBMS

NOT NULL หมายถึงหรือมีสาระสําคัญว่า บังคับให้คอลัมน์ต้องมีค่า CHECK หมายถึงหรือมีสาระสําคัญว่า บังคับเงื่อนไข เช่น salary >= 0; หากต้องห้าม NULL ต้องใช้ NOT NULL ร่วมด้วย DEFAULT หมายถึงหรือมีสาระสําคัญว่า ให้ค่าเมื่อ INSERT ไม่ระบุคอลัมน์นั้น ไม่ได้แก้ค่าที่ส่งมาเป็น NULL โดยอัตโนมัติ CREATE TABLE employees (...) หมายถึงหรือมีสาระสําคัญว่า สร้างตารางพร้อมคอลัมน์ ชนิดข้อมูล และ Constraints ALTER TABLE employees ADD COLUMN email VARCHAR(255) หมายถึงหรือมีสาระสําคัญว่า

เปลี่ยนโครงสร้างตาราง คําสั่ง SELECT และลําดับการประมวลผลเชิงตรรกะ — คําสั่ง SELECT เขียนในลําดับที่อ่านสะดวก แต่ระบบพิจารณาส่วนประกอบตาม ลําดับเชิงตรรกะ อีกแบบหนึ่ง ความเข้าใจลําดับนี้อธิบายได้ว่า alias ใดใช้ได้ในแต่ละตําแหน่ง และเหตุใดบางเงื่อนไขต้องย้ายไป subquery หรือ CTE SELECT [DISTINCT] หมายถึงหรือมีสาระสําคัญว่า เลือกนิพจน์หรือคอลัมน์ผลลัพธ์ FROM ... JOIN ... ON หมายถึงหรือมีสาระสําคัญว่า กําหนดแหล่งข้อมูลและความสัมพันธ์ WHERE หมายถึงหรือมีสาระสําคัญว่า กรองแถวก่อนจัดกลุ่ม

GROUP BY หมายถึงหรือมีสาระสําคัญว่า รวมแถวเป็นกลุ่ม HAVING หมายถึงหรือมีสาระสําคัญว่า กรองกลุ่ม ORDER BY หมายถึงหรือมีสาระสําคัญว่า เรียงผลลัพธ์ OFFSET/FETCH หรือรูปแบบเฉพาะระบบ หมายถึงหรือมีสาระสําคัญว่า แบ่งหน้า/จํากัดจํานวนผลลัพธ์ ลําดับการประมวลผลหรือการดําเนินงานประกอบด้วย WITH → FROM / JOIN / ON → WHERE → GROUP BY และ Aggregate → HAVING → Window function s → SELECT → DISTINCT → Set operations → ORDER BY → OFFSET / FETCH / LIMIT

  1. 1ระบุแหล่งข้อมูลด้วย FROM และความสัมพันธ์ที่ต้องเชื่อม
  2. 2คัดแถวด้วย WHERE ก่อนสร้างกลุ่ม
  3. 3จัดกลุ่มด้วย GROUP BY เมื่อผลลัพธ์ต้องสรุป
  4. 4คัดกลุ่มด้วย HAVING หลังการรวมค่า
  5. 5กำหนดคอลัมน์ผลลัพธ์ด้วย SELECT
  6. 6จัดเรียงด้วย ORDER BY และจำกัดจำนวนตามรูปแบบของ DBMS
อ่านสรุปฉบับเต็มทุกหัวข้อ
สมาชิก PRO ระบบจะจำหัวข้อที่อ่านค้างไว้ให้ด้วย
PRO 99 บาท/เดือน

เนื้อหาสรุปนี้จัดทำขึ้นเพื่อการศึกษาส่วนบุคคล ห้ามคัดลอก ทำซ้ำ หรือนำไปใช้เพื่อวัตถุประสงค์ทางการค้าโดยไม่ได้รับอนุญาต

สรุปการใช้ภาษา SQL อ่านง่าย จำได้จริง | ติวสอบภาค ข | ติวสอบภาค ข