The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

รูปแบบบรรทัดฐาน

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Phakit Sritanu, 2020-10-27 23:35:48

รูปแบบบรรทัดฐาน

รูปแบบบรรทัดฐาน

รูปแบบบรรทดั ฐาน ภาษาSQL และ NOSQL

รูปแบบบรรทดั ฐาน

ประกอบดว้ ยหวั ขอ้ ย่อย ดงั น้ี
1. ความหมายกระบวนการนอรม์ ลั ลล์์
2. นยิ ามรูปแบบบรรทดั ฐาน ดงั น้ี

2.1 รูปแบบบรรทดั ฐานระดบั ท่ี 1 (First Normal Form : 1NF)
2.2 รูปแบบบรรทดั ฐานระดบั ท่ี 2 (Second Normal Form : 2NF)
2.3 รูปแบบบรรทดั ฐานระดบั ท่ี 3 (Third Normal Form : 3NF)
2.4 รูปแบบบรรทดั ฐาน บอย-คอรด์ (Boyce - Codd Normal Form : BCNF)
2.5 รูปแบบบรรทดั ฐานระดบั ท่ี 4 (Fourth Normal Form : 4NF)
2.6 รูปแบบบรรทดั ฐานระดบั ท่ี 5 (Fifth Normal Form : 5NF)

3. ตวั อย่างกระบวนการปรบั บรรทดั ฐาน 1NF - 2NF

Normalization

นอรม์ ลั ลลเ์ชนั (Normalization) คือวธิ ีทใ่ี ชใ้ นการปรบั
โครงสรา้ งของตารางเพอ่ื ใหล้ ดต้ ารางทส่ี ามารถเก็บขอ้ มลู ลดโ้ ดยการลด
ความ์า้ ์อ้ นของขอ้ มลู และรกั ษาความถกู ตอ้ งใหแ้ ก่ขอ้ มูล โดยใหอ้ ยู่
ในรูปแบบทเ่ี รยี กวา่ Normal Form

นิยามรูปแบบบรรทดั ฐาน

นอรม์ ลั ลล์ส์ ามารถทาลด้ 6 ระดบั
1. First Normal Form (1NF)
2. Second Normal Form (2NF)
3. Third Normal Form (3NF)
4. Boyce-Codd Normal Form (BCNF)
5. Fourth Normal Form (4NF)
6. Fifth Normal Form (5NF)

First Normal Form (1NF)

การแปลงใหอ้ ยู่ในรูปนอรม์ ลั ฟอรม์ ท่ี 1 (First Normal Form : 1NF)
คุณสมบตั ขิ องรเี ลชนั ของแบบจาลองขอ้ มลู เชงิ สมั พนั ธ์ ก็คือ ขอ้ มลู ในแต่ละทปั เพลิ จะตอ้ งลม่์า้ กนั
และค่าในแต่ละแอตทรบิ วิ ตจ์ ะตอ้ งลมส่ ามารถถูกแบ่งแยกย่อยลงลปลดอ้ กี หรอื มคี วามเป็นอะตอมมคิ
(Atomic) รวมถงึ จะตอ้ งมคี ่าเพยี งค่าเดยี วทอ่ี ยู่ในแต่ละแอตทรบิ วิ ตห์ รอื มคี วามเป็น
์งิ เกิลแวลู (Single Value)์ง่ึ ในการทานอรม์ ลั ลลเ์ชนั ใหอ้ ยู่ในนอรม์ ลั ฟอรท์ ่ี 1 ก็อาศยั
คุณสมบตั ดิ งั ทก่ี ลา่ วลวข้ า้ งตน้

Second Normal Form (2NF)

การแปลงใหอ้ ยูใ่ นรูปนอรม์ ลั ฟอรม์ ท่ี 2 (Second Normal Form : 2NF)
ในหน่ึงรเี ลชนั จะประกอบดว้ ยแอตทรบิ วิ ตต์ ่าง ๆ ทม่ี คี วามสมั พนั ธท์ ข่ี ้นึ ต่อกนั
์ง่ึ ความสมั พนั ธด์ งั กลา่ วจะเป็นตวั กาหนดวา่ แอตทรบิ วิ ตใ์ ดเป็นตวั กาหนดขอ้ มลู หรอื
คียแ์ อตทรบิ วิ ต์ (Key Attribute) และและแอตทรบิ วิ ตใ์ ดเป็นขอ้ มลู ทถ่ี ูกกาหนด
หรอื นอนคียแ์ อตทรบิ วิ ต์ (Nonkey Attribute)

Third Normal Form : 3NF

การแปลงใหอ้ ยู่ในรูปนอรม์ ลั ฟอรม์ ท่ี 3 (Third Normal Form : 3NF)
ในหน่ึงรเี ลชนั จะประกอบคียแ์ อตทรบิ วิ ตแ์ ละนอนคยี แ์ อตทรบิ วิ ต์ คียแ์ อตทรบิ วิ ตจ์ ะตอ้ งเป็น
ตวั กาหนดความหมายหรอื การมอี ยู่ของแอตทรบิ วิ ตอ์ น่ื ๆ ทอ่ี ยู่ในรเี ลชนั เสมอ

Boyce/Codd Normal Form : BCNF

การแปลงใหอ้ ยู่ในรูปบอยซค์ อดดน์ อรม์ ลั ฟอรม์ (Boyce-Codd Normal Form
: BCNF)
ในหน่ึงรเี ลชนั อาจจะประกอบดว้ ยหลายแคนดเิ ดตคีย์ (Candidate Key)
ทกุ แอตทรบิ วิ ตใ์ นรเี ลชนั จะตอ้ งข้นึ อยู่กบั แคนดเิ ดตคยี เ์ สมอ เราสามารถกาหนดนิยามของรเี ลชนั ทอ่ี ยู่ใน
รูปของบอย์ค์ อดดน์ อรม์ ลั ฟอรม์ ก็ต่อเมอ่ื รเี ลชนั มคี ุณสมบตั ติ ามเงอ่ื นลขดงั ต่อลปน้ี
1. รเี ลชนั นนั้ เป็นนอรม์ ลั ฟอรม์ ที่ 3 อยู่แลว้
2. ทกุ แอตทรบิ วิ ตใ์ นรเี ลชนั จะตอ้ งข้นึ กบั แคนดิเดตคยี ์

Fourth Normal Form : 4NF

การแปลงใหอ้ ยู่ในรูปนอรม์ ลั ฟอรม์ ท่ี 4 (Fourth Normal Form : 4NF)
ในขณะทก่ี ารทาใหอ้ ยู่ในรูปของนอรม์ ลั ฟอรม์ ต่าง ๆ ทผ่ี ่านมา จะเก่ยี วขอ้ งกบั การข้นึ ตรงต่อกนั ของ
ขอ้ มลู ในแต่ละแอตทรบิ วิ ตห์ รอื ฟงั กช์ นั นลั ดเี พนเดน์ี แต่การทาใหอ้ ยู่ในรูปของนอรม์ ลั ฟอรม์ ท่ี 4
จะเก่ยี วขอ้ งกบั รูปแบบของการข้นึ ตรงต่อกนั ของขอ้ มลู ในระดบั ท์่ี บั ์อ้ นกวา่

Fifth Normal Form : 5NF

การแปลงใหอ้ ยู่ในรูปนอรม์ ลั ฟอรม์ ท่ี 5 (Fifth Normal Form : 5NF)
การแปลงใหอ้ ยู่ในรูปของนอรม์ ลั ฟอรม์ ท่ี 5 จะพจิ ารณาถงึ การข้นึ ต่อกนั ของขอ้ มลู ในการแยกขอ้ มลู ในรี
เลชนั ออกเป็นรเี ลชนั ย่อย และประกอบรเี ลชนั ย่อยกลบั เป็นรีเลชนั ใหญ่เช่นเดมิ ์ง่ึ เป็นการตรวจสอบวา่
เมอ่ื รวมกนั ใหม่ดว้ ยวธิ กี ารจอยนแ์ ลว้ จะลดร้ เี ลชนั กลบั มาเหมอื นเดมิ ทกุ ประการหรือลม่

ภาษา SQL

1. ความหมายของภาษาSQL
2. รูปแบบคาสงั่ ของภาษาSQL
3. ตวั อย่างการเขยี นของภาษาSQL

ความหมายของภาษาSQL

SQL ยอ่ มาจาก structured query language คือภาษาทใ่ี ชใ้ นการเขยี นโปรแกรม เพอ่ื
จดั การกบั ฐานขอ้ มลู โดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานขอ้ มลู เชงิ สมั พนั ธแ์ ละเป็นระบบเปิด
(open system) หมายถงึ เราสามารถใชค้ าสงั่ sql กบั ฐานขอ้ มลู ชนิดใดกล็ ด้ และ คาสงั่ งานเดยี วกนั
เมอ่ื สงั่ งานผ่าน ระบบฐานขอ้ มลู ทแ่ี ตกต่างกนั จะลด้ ผลลพั ธเ์ หมอื นกนั ทาใหเ้ราสามารถเลอื กใชฐ้ านขอ้ มลู ชนิดใดก็
ลดโ้ ดยลมต่ ดิ ยดึ กบั ฐานขอ้ มลู ใดฐานขอ้ มลู หน่ึง นอกจากน้ีแลว้ SQL ยงั เป็นช่อื โปรแกรมฐานขอ้ มลู ์ง่ึ โปรแกรม
SQL เป็นโปรแกรมฐานขอ้ มลู ทม่ี โี ครงสรา้ งของภาษาทเ่ี ขา้ ใจงา่ ย ลม์่ บั ์อ้ น มปี ระสทิ ธภิ าพการทางานสูง สามารถ
ทางานท์่ี บั ์อ้ นลดโ้ ดยใชค้ าสงั่ เพยี งลม่ก่คี าสงั่ โปรแกรม SQL จงึ เหมาะทจ่ี ะใชก้ บั ระบบฐานขอ้ มลู เชงิ สมั พนั ธ์
และเป็นภาษาหน่ึง

รูปแบบคาสงั่ ของภาษาSQL

1) ภาษาสาหรบั การนิยามขอ้ มลู (Data Definition Language : DDL) ประกอบดว้ ยคาสงั่ ทใ่ี ชใ้ นการ
กาหนดโครงสรา้ งขอ้ มลู วา่ มคี อลมั นอ์ ะลร แต่ละคอลมั นเ์ ก็บขอ้ มลู ประเภทใด รวมถงึ การเพม่ิ คอลมั น์ การกาหนดดชั นี การกาหนดววิ
หรอื ตารางเสมอื นของผูใ้ ช้ เป็นตน้

2) ภาษาสาหรบั การจดั การขอ้ มลู (Data Manipulation Language : DML) ประกอบดว้ ยคาสงั่ ท่ี
ใชใ้ นการเรยี กใชข้ อ้ มลู การเปลย่ี นแปลงขอ้ มลู การเพม่ิ หรอื ลบขอ้ มลู เป็นตน้

3) ภาษาควบคุม (Data Control Language : DCL) ประกอบดว้ ยคาสงั่ ทใ่ี ชใ้ นการควบคุม การเกดิ
ภาวะพรอ้ มกนั หรอื การป้องกนั การเกดิ เหตกุ ารณท์ ผ่ี ูใ้ ชห้ ลายคนเรยี กใชข้ อ้ มลู พรอ้ มกนั และคาสงั่ ทเ่ี ก่ียวขอ้ งกบั การควบคมุ ความ
ปลอดภยั ของขอ้ มลู ดว้ ยการกาหนดสทิ ธขิ องผูใ้ ชท้ แ่ี ตกต่างกนั เป็นตน้

ตวั อย่างการเขยี นของภาษาSQL

• คาสงั่ การสรา้ ง (Create) ลดแ้ ก่ การสรา้ งตารางและอนิ เดก็ ์์

CREATE TABLE
( Attribute 1 Type 1,Attribute 2 Type 2 ,)
CREATE Unique Index on X
เช่น CREATE TABLE S11

(SNO CHAR(5) Not NULL,
SNAME CHAR(10) ,
STATUS integer)
CREATE Unique Index XS11 on S11(SNO)

• คาสงั่ เปลย่ี นแปลงโครงสรา้ ง
ALTER TABLE < ช่อื ตารางทต่ี ง้ั ข้นึ >

<คาสงั่ การเปลย่ี นแปลง>(<ช่อื คอลมั น์ ประเภทขอ้ มลู >);

ตวั อย่างเช่น

ALTER TABLE SUPPLIER
ADD (LAST_SNAME Char(10));

• คาสงั่ ยกเลกิ (Drop) ต่างๆการลบโครงสรา้ งตาราง
DROP TABLE < ช่อื ตารางทต่ี ง้ั ข้นึ >

ความรูพ้ ้นื ฐานเก่ยี วกบั ฐานขอ้ มลู ลมใ่ ช่เชงิ สมั พนั ธ(์ NoSQL)

NoSQL จงึ หมายถงึ ระบบฐานขอ้ มลู ทไ่ี ม่ใช่ Relational Database
ฐานขอ้ มลู น้ีลดถ้ กู คดิ คน้ ข้นึ มาเพอ่ื แกป้ ญั หาหลกั ๆ 2 อย่างทม่ี ใี น RDBMS คือ 1)
เพม่ิ ความสามารถในการจดั เก็บ unstructured data
(หรอื ขอ้ มลู ทม่ี รี ูปแบบลม่แน่นอน) และ 2)เพม่ิ ความสามารถในการขยายระบบในรูปแบบแนวนอน
(Horizontal Scalability) เพอ่ื รองรบั ปรมิ าณขอ้ มลู ทม่ี ากข้นึ ในยุคน้ี

NoSQL จริงๆแลว้ ใชเ้รยี กเทคโนโลยฐี านขอ้ มลู ทล่ี มใ่ ช้ SQL โดยกลา่ วคอื เร่มิ แรกถูกพฒั นามาเพอ่ื ใหใ้ ชง้ านเฉพาะทางท่ี SQL ลม่

สามารถทาลด้ โดยทเ่ี หน็ ลดอ้ ยา่ งชดั เจนเลยกค็ อื โครงสรา้ งทม่ี คี วามยดื หยนุ่ ทาใหก้ ารใชง้ านมคี วามรวดเร็วกวา่ และงา่ ยต่อการขยายฐานขอ้ มลู
ลกั ษณะงานท่เี หมาะสมกบั SQL

งานท่จี าเป็ นตอ้ งเกบ็ ขอ้ มูลจานวนมาก แต่ไม่เนน้ เร่อื งโครงสรา้ ง ลกั ษณะงานแบบน้ี จะช่วยใหง้ า่ ยต่อการ ขยายฐานขอ้ มูล ทล่ี มม่ คี วาม์บั ์อ้ นมากนกั

ลมต่ อ้ งกงั วลถงึ เร่อื งโครงสรา้ ง
งานท่เี นน้ การพฒั นา เพราะ NoSQL มคี วามยดื หย่นุ สูง จงึ เหมาะสาหรบั งานทม่ี เี สกลทย่ี งั สามารถขยายเพม่ิ อกี ลด้
งานท่เี นน้ ความรวดเร็ว เน่อื งจาก NoSQL ถกู พฒั นาใหท้ างานลดอ้ ย่างรวดเร็ว กนิ ทรพั ยากรนอ้ ย จงึ เป็นตวั เลอื กทด่ี ใี นการเลอื กใชค้ ู่กบั งานท่ี
ตอ้ งการความเป็น real time
ฐานขอ้ มูล NoSQL ท่ีไดร้ บั ความนิยม
MongoDB
Apache’s CouchDB
HBase
Oracle NoSQL
Apache’s Cassandra DBRiak


Click to View FlipBook Version