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:31:08

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

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

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

ประกอบดว้ ยหวั ขอ้ ย่อย ดงั น้ี
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