หน่วยท่ี 2 ฐานข้อมูลเชิงสัมพนั ธ์สาระสาคัญ ฐานขอ้ มูลเชิงสมั พนั ธ์ เป็ นฐานขอ้ มูลที่ไดร้ ับความนิยมมากในปัจจุบนั เพราะมีรูปแบบที่ใชง้ านง่ายเช่น การจดั เก็บขอ้ มูล การเรียกใชข้ อ้ มูล การเช่ือมโยงขอ้ มูล การนาระบบฐานขอ้ มูลเชิงสมั พนั ธ์มาใชง้ านเพ่ือใหม้ ีประสิทธิภาพ ตอ้ งมีการออกแบบฐานขอ้ มูล สามารถทาการวเิ คราะห์หาเอนทิต้ีและแอททริบิวต์ เพ่อื นาไปใชใ้ นการสร้างระบบฐานขอ้ มูลต่อไป ซ่ึงระบบฐานขอ้ มูลที่นิยมใชก้ นั มากคือโปรแกรมไมโครซอฟตแ์ อคเซสสาระการเรียนรู้ 1. ฐานขอ้ มูลเชิงสัมพนั ธ์ 2. คาศพั ทพ์ ้นื ฐานของระบบฐานขอ้ มูลเชิงสัมพนั ธ์ 3. ขอ้ ดีของระบบฐานขอ้ มูลเชิงสมั พนั ธ์ 4. ชนิดของคียใ์ นฐานขอ้ มูล 5. การออกแบบระบบฐานขอ้ มูล 6. การนอร์มลั ไลเซชนั 7. โปรแกรมไมโครซอฟตแ์ อคเซส กก 8. การสร้างฐานขอ้ มูลจุดประสงค์การเรียนรู้ 1. บอกลกั ษณะการทางานของฐานขอ้ มูลเชิงสมั พนั ธ์ได้ 2. บอกความหมายของคาศพั ทพ์ ้นื ฐานของฐานขอ้ มูลเชิงสัมพนั ธ์ได้ 3. บอกขอ้ ดีของระบบฐานขอ้ มูลเชิงสมั พนั ธ์ได้ 4. อธิบายเกี่ยวกบั คียแ์ บบต่าง ๆ ได้ 5. บอกข้นั ตอนการออกแบบระบบฐานขอ้ มูลได้ 6. ออกแบบระบบฐานขอ้ มูลได้ 7. บอกลกั ษณะและส่วนประกอบของโปรแกรมไมโครซอฟตแ์ อคเซสไดก้ ก 8. สามารถสร้างฐานขอ้ มูลในโปรแกรมไมโครซอฟตแ์ อคเซสได้2.1 ฐานข้อมูลเชิงสัมพนั ธ์ ฐานขอ้ มูลเชิงสัมพนั ธ์ (Relational Database) เป็นรูปแบบฐานขอ้ มูลที่นิยมใชก้ นั มากในปัจจุบนั คิดข้ึนโดยโดยด๊อกเตอร์ อี.เอฟ.คอดด์ (Dr. E.F codd) ใชว้ ธิ ีเก็บขอ้ มูลในลกั ษณะเป็นตารางยอ่ ย ๆ ท่ีสมั พนั ธ์กนัเป็นรูปแบบที่นิยมใชก้ นั อยา่ งกวา้ งขวางเพราะมีประสิทธิภาพสูงและแกป้ ัญหาตา่ ง ๆ ในการจดั เก็บขอ้ มูลได้ เช่นปัญหาขอ้ มูลซ้าซอ้ น ขอ้ มูลไมต่ รงกนั หรือการยดึ ติดกบั โปรแกรมที่สร้าง โดยมีการพฒั นาซอฟตแ์ วร์เพื่อรองรับการจดั เก็บขอ้ มูลดงั กล่าว เรียกวา่ ระบบจดั การฐานขอ้ มูลเชิงสัมพนั ธ์หรือ RDBMS (Relation DataBaseManagement System)
142.2 คาศัพท์พืน้ ฐานของระบบฐานข้อมูลเชิงสัมพนั ธ์ 2.2.1 รีเลชัน (Relation) เป็ นโครงสร้างของฐานขอ้ มูลเชิงสมั พนั ธ์ซ่ึงจะมีการเก็บขอ้ มูลในรูปแบบตาราง 2 มิติ ประกอบดว้ ย รายการขอ้ มูลหรือเรคอร์ดเรียกวา่ ทูเพิลและเขตขอ้ มูลหรือคอลมั น์ เรียกวา่ แอททริบิวต์กกกกกกกก2.2.2 ทูเพลิ (Tuple) หมายถึง แถวแต่ละแถวในรีเลชนั หรือเรียกวา่ เรคอร์ด 2.2.3 ดกี รี (Degree) หมายถึง จานวนแอททริบิวตท์ ้งั หมดที่อยใู่ นรีเลชนั หรือจานวน เขตขอ้ มูล เช่นจากภาพท่ี 2.1 รีเลชนั พนกั งาน จะมีดีกรีท้งั หมด 4 ดีกรี เป็นตน้ ก 2.2.4 คาร์ดนิ ัลลติ ี้ (Cardinality) หมายถึง จานวนทูเพิลท้งั หมดท่ีบรรจุอยใู่ นรีเลชนั หรือจานวนเรคอร์ด 2.2.5 โดเมน (Domain) เป็นกลุ่มหรือขอบเขตของคา่ ขอ้ มูลที่เป็นไปไดใ้ นแต่ละแอททริบิวต์ ซ่ึงเป็ นขอ้ มูลชนิดเดียวกนั เช่น ขอบเขตของคา่ ของขอ้ มูลท่ีแทนเพศ ไดแ้ ก่ ชาย หญิง เป็นตน้ ดีกรี ชาย/หญิง โดเมน รีเลชันนักศึกษาทูเพลิ รหสั นกั ศึกษา ช่ือ สกลุ เพศ 50320001 เรียบ คามูล ชาย 50320002 ธวชั ชยั ยนิ ดี ชาย คาร์ดินลั ลิต้ี 50320003 วรัญญา วงเลิง หญิง ภาพที่ 2.1 แสดงส่วนตา่ ง ๆ ของขอ้ มูลเชิงสัมพนั ธ์เพ่ือใหเ้ ขา้ ใจไดง้ ่ายจึงขอเปรียบเทียบคาศพั ทท์ ว่ั ไปและคาศพั ทท์ ี่ใชก้ ารประมวลผลระบบแฟ้มขอ้ มูลดงั ตารางท่ี 2.1ตารางท่ี 2.1 คาศัพท์ทวั่ ไปและคาศัพท์ทใี่ ช้ในการประมวลผลระบบแฟ้มข้อมูลฐานข้อมูลเชิงสัมพนั ธ์ ทว่ั ไป ระบบแฟ้มข้อมูล(Relational Database) (General) (File System)รีเลชน่ั (Relation) ตาราง (Table) แฟ้มขอ้ มูล (File)ทูเพลิ (Tuple) แถว (Row) ระเบียน (Record)แอททริบิวต์ (Attribute) สดมภ์ (Column) เขตขอ้ มูล (Field)คาร์ดินลั ลิต้ี (Cardinality) จานวนแถว จานวนระเบียนในหน่ึงแฟ้มขอ้ มูลดีกรี (Degree) จานวนสดมภ์ จานวนเขตขอ้ มูลในหน่ึงระเบียนคียห์ ลกั (Primary Key) คา่ กาหนดไม่ซ้า คียห์ ลกั (Primary Key)โดเมน (Domain) ขอบขา่ ยขอ้ มูล คา่ ที่เป็นไปไดข้ องขอ้ มูลในแตล่ ะเขตขอ้ มูล
152.3 ข้อดีของระบบฐานข้อมูลเชิงสัมพนั ธ์กกกกกกกกระบบฐานขอ้ มูลเชิงสัมพนั ธ์ เป็นฐานขอ้ มูลท่ีมีรูปแบบง่ายสาหรับผใู้ ชง้ านทว่ั ไป โดยผใู้ ชไ้ ม่จาเป็นตอ้ งมีความรู้ในการวเิ คราะห์และออกแบบระบบ ก็สามารถใชง้ านได้ ขอ้ ดีของฐานขอ้ มูลเชิงสมั พนั ธ์สรุปได้ดงั น้ีกกกกกกกก2.3.1 การจัดการกบั ข้อมูลทาได้โดยง่ายกกกกกกกกกกกกผใู้ ชง้ านสามารถจดั การกบั ขอ้ มูลไดโ้ ดยง่าย ไม่วา่ จะเป็นการเพ่ิม ลบ แกไ้ ขขอ้ มูลภายในฐานขอ้ มูล โดยมีดีบีเอม็ เอสเป็นตวั จดั การขอ้ มูลภายใน ซ่ึงผใู้ ชไ้ มจ่ าเป็นตอ้ งทราบวา่ รายละเอียดของการจดั เก็บขอ้ มูลที่อยภู่ ายในเป็นอยา่ งไรกกกกกกกก2.3.2 ภาษาทง่ี ่ายในการเรียกดูข้อมูลกกกกกกกกกกกกภาษาที่ใชใ้ นการเรียกดูขอ้ มูลมีลกั ษณะคลา้ ยภาษาองั กฤษ ไม่จาเป็นตอ้ งเขียนเป็นลาดบั ข้นั ตอนของคาสัง่ จึงง่ายต่อการเรียกดูขอ้ มูลกกกกกกกก2.3.3 การเรียกใช้หรือเช่ือมโยงข้อมูลสามารถทาได้โดยง่ายกกกกกกกกกกกกการเรียกใชห้ รือเช่ือมโยงขอ้ มูลไดง้ ่าย โดยอาศยั โอเปอร์เรเตอร์ทางคณิตศาสตร์ ไม่จาเป็นตอ้ งใช้ตวั ช้ี (Pointer) ในการอา้ งถึงกกกกกกกก2.3.4 รองรับการเข้าถึงข้อมูลแบบผู้ใช้หลายคนกกกกกกกกกกกก ฐานขอ้ มูลถูกออกแบบมาเป็นอยา่ งดีมีความสมบูรณ์ครบถว้ น ขอ้ มูลถูกจดั เกบ็ ในแหล่งเดียวกนัการเขา้ ถึงหรือใชข้ อ้ มูลทาไดส้ ะดวกโดยไมข่ ้ึนกบั โปรแกรมใดโปรแกรมหน่ึง มีการควบคุมความบูรณภาพของขอ้ มูลทาใหข้ อ้ มูลมีความถูกตอ้ ง ผใู้ ชส้ ามารถดึงขอ้ มูลมาใชไ้ ดท้ นั ทีโดยไมต่ อ้ งแกไ้ ขโครงสร้างเดิม2.4 ชนิดของคีย์ในฐานข้อมูล คีย์ (Key) หมายถึง แอททริบิวตจ์ านวน 1 แอททริบิวตห์ รือมากกวา่ 1 แอททริบิวต์ทาหนา้ ที่แทนเอนทิต้ีหรือตารางเม่ือตอ้ งการอา้ งถึงตารางดงั กล่าว คียท์ ่ีใชใ้ นระบบฐานขอ้ มูลมีดงั น้ีกก 2.4.1 คยี ์หลกั (Primary Key)กกกกกกกกกกกกคียห์ ลกั เป็นคียท์ ี่กาหนดจากแอททริบิวตท์ ่ีจะตอ้ งไมม่ ีขอ้ มูลซ้ากนั ในรีเลชนั น้นั เช่น แอททริบิวตร์ หสั นกั ศึกษาในเอนทิต้ีนกั ศึกษา หรือแอททริบิวตร์ หสั พนกั งานในเอนทิต้ีพนกั งาน นาไปใชจ้ ดั เรียงและแยกแยะขอ้ มูลแต่ละระเบียนออกจากกนั แอททริบิวตท์ ี่กาหนดใหเ้ ป็ นคียห์ ลกั ตอ้ งมีค่าเสมอจะเป็นค่าวา่ ง (Null) ไมไ่ ด้ คุณสมบตั ิของคียห์ ลกั มีดงั น้ีกกกกกกกกกกกก(1) ขอ้ มูลของแอททริบิวตม์ ีความเป็ นหน่ึงเดียว กล่าวคือ ทุกแถวของตารางจะตอ้ งไมม่ ีขอ้ มูลของแอททริบิวตท์ ่ีเป็นคียห์ ลกั ซ้ากนั เลยกกกกกกกกกกกก(2) ตอ้ งประกอบดว้ ยจานวนแอททริบิวตท์ ี่นอ้ ยที่สุด ที่จะสามารถใชเ้ จาะจงหรืออา้ งอิงถึงแถวใดแถวหน่ึงในรีเลชนั ได้ ตวั อยา่ ง ขอ้ มูลนกั ศึกษา
16นักศึกษา ช่ือ สกุล รหสั สาขาวชิ า รหสั นกั ศึกษา เรียบ คามูล 01 50320001 ธวชั ชยั ยนิ ดี 02 50320002 วรัญญา วงเลิง 03 50320003 คียห์ ลกั ภาพท่ี 2.2 แสดงตวั อยา่ งคียห์ ลกักกกกกกกก2.4.2 คีย์คู่แข่ง (Candidate Key)กกกกกกกกกกกกหมายถึง คียท์ ่ีมีคุณสมบตั ิใกลเ้ คียงกบั คียห์ ลกั ถา้ ในตารางหน่ึงมีแอททริบิวตห์ ลายแอททริบิวตท์ ี่มีคุณสมบตั ิครบถว้ นจนนามาใชค้ ียห์ ลกั แทนกนั ได้ จะเรียกแอททริบิวตเ์ หล่าน้นั วา่ คียค์ ูแ่ ข่ง เช่น ในรีเลชนันกั ศึกษานักศึกษา รหสั นกั ศึกษา ชื่อ สกุล รหสั สาขาวชิ า 50320001 เรียบ คามูล 01 50320002 ธวชั ชยั คามูล 02 50320003 วรัญญา วงเลิง 03 คียห์ ลกั คียค์ ูแ่ ข่ง ภาพที่ 2.3 แสดงตวั อยา่ งคียห์ ลกั และคียค์ ูแ่ ข่ง จากภาพที่ 2.3 คียค์ ู่แขง่ ไดแ้ ก่เอนทิต้ีนกั ศึกษา หากรับประกนั ไดว้ า่ จะไม่มีชื่อนกั ศึกษาซ้ากนั เลยก็สามารถใชแ้ อททริบิวตร์ หสั นกั ศึกษาหรือช่ือเป็นคียห์ ลกั ได้ ทาให้ ท้งั สองแอททริบิวตเ์ ป็นคียค์ ู่แขง่ กนั ถา้ผอู้ อกแบบระบบฐานขอ้ มูลใชร้ หสั นกั ศึกษาเป็นคียห์ ลกั ทาใหแ้ อททริบิวตช์ ่ือกลายเป็นคียค์ ู่แข่งหรือคียส์ ารอง ซ่ึงเป็นคียท์ ่ีไม่ถูกเลือกเป็นคียห์ ลกั 2.4.3 คีย์นอก (Foreign Key)กกกกกกกกกกกก หมายถึง แอททริบิวตข์ องเอนทิต้ีหน่ึงท่ีมีคุณสมบตั ิเป็นคียห์ ลกั และไปปรากฏในเอนทิต้ีหน่ึงคียน์ อกจดั เป็นคียท์ ่ีมีความสาคญั มากในฐานขอ้ มูลเชิงสมั พนั ธ์ เพราะเป็นคียท์ ่ีใชใ้ นการเช่ือมความสัมพนั ธ์ระหวา่ งเอนทิต้ี เช่น เอนทิต้ีนกั ศึกษากบั เอนทิต้ีสาขาวขิ า และเอนทิต้ีสาขาวชิ าจะมีแอททริบิวตร์ หสั สาขาวชิ าเป็นคียห์ ลกัดงั ภาพที่ 2.4
17นักศึกษา ช่ือ สกุล รหสั สาขาวชิ า รหสั นกั ศึกษา เรียบ คามูล 01 50320001 ธวชั ชยั ยนิ ดี 02 50320002 วรัญญา วงเลิง 03 50320003คียห์ ลกั สาขาวชิ า คียน์ อก รหสั สาขาวชิ า ช่ือสาขาวชิ า 01 คอมพิวเตอร์ธุรกิจ 02 การบญั ชี 03 การตลาดกกกกกกกก ภาพท่ี 2.4 แสดงตวั อยา่ งของคียห์ ลกั และคียน์ อกจากภาพท่ี 2.4 เอนทิต้ีนกั ศึกษามีรหสั นกั ศึกษาเป็นคียห์ ลกั โดยขอ้ มูลรหสั นกั ศึกษาจะตอ้ งมีคา่ ขอ้ มูลไม่ซ้ากนั และมีคียน์ อกของเอนทิต้ี คือ รหสั สาขาวชิ าซ่ึงเช่ือมโยงความสมั พนั ธ์ไปยงั แอททริบิวตร์ หสั สาขาวชิ าของเอนทิต้ีสาขาวชิ า ขอ้ มูลทุกตวั ของแอททริบิวตร์ หสัสาขาวชิ าในเอนทิต้ีนกั ศึกษา จะตอ้ งมีอยใู่ นแอททริบิวตร์ หสั สาขาวชิ าของเอนทิต้ีสาขาวชิ า ส่วนเอนทิต้ีสาขาวชิ ามีคียห์ ลกั คือรหสั สาขาวชิ ากกกกกกกก2.4.4 คีย์รวมหรือคยี ์ผสม (Composite Key)กกกกกกกกกกกกหมายถึง คียท์ ่ีประกอบดว้ ยกลุ่มของแอททริบิวตท์ ี่รวมกนั เป็นคียห์ ลกั(มีค่าไม่ซ้ากนั และไมม่ ีค่าวา่ ง ) เช่น การนาแอททริบิวตร์ หสั นกั ศึกษามารวมกบั แอททริบิวต์รหสั วชิ า ทาใหเ้ กิดเป็นแอททริบิวตท์ ่ีมีค่าไมซ่ ้าซอ้ นกนั เรียกคียท์ ่ีเกิดจากการรวมรหสั นกั ศึกษาและรหสั วชิ าวา่ คียร์ วมหรือคียผ์ สม ภาพที่ 2.5 ผลการเรียน รหัสนักศึกษา รหัสวชิ า ผลการเรียน 50320001 2201-1004 3.5 50320002 2201-2405 3 50320003 2201-2414 4คยี ์ผสม = รหสั นักศึกษา+รหัสวชิ า ภาพที่ 2.5 แสดงตวั อย่างคยี ์ผสม
18เพ่ือความเขา้ ใจเกี่ยวกบั ชนิดและความสัมพนั ธ์ของคีย์ จึงขอแสดงความสัมพนั ธ์ดงั ภาพท่ี 2.6 ตารางนักศึกษารหสั นกั ศึกษา ชื่อ สกลุ รหสั สาขาวชิ า50320001 เรียบ คามูล 0150320002 ธวชั ชยั ยนิ ดี 0250320003 วรัญญา วงเลิง 03 คียค์ ู่แข่ง 1 N คียน์ อก ตารางสาขาวชิ าคียห์ ลกั รหสั สาขาวชิ า ช่ือสาขาวชิ า 01 คอมพิวเตอร์ธุรกิจ 02 การบญั ชี 03 การตลาด ภาพที่ 2.6 แสดงความสมั พนั ธ์ชนิดของคีย์ จากภาพท่ี 2.6 แสดงใหเ้ ห็นวา่ เอนทิต้ีนกั ศึกษามีแอททริบิวตท์ ่ีมีคุณสมบตั ิเป็นคียห์ ลกั 2 แอททริบิวต์ ไดแ้ ก่ แอททริบิวตร์ หสั นกั ศึกษาและแอททริบิวตช์ ่ือ แต่จากตวั อยา่ งขา้ งตน้ เลือกแอททริบิวตร์ หสั นกั ศึกษาเป็นคียห์ ลกั ดงั น้นั แอททริบิวตช์ ่ือจึงกลายเป็นคียค์ ูแ่ ข่งโดยขอ้ มูลของรหสั นกั ศึกษาจะตอ้ งไม่ซ้ากนั และมีคียน์ อกของเอนทิต้ี คือ รหสั สาขาวชิ า ซ่ึงเช่ือมโยงความสมั พนั ธ์ไปยงั แอททริบิวตร์ หสั สาขาวชิ าของเอนทิต้ีสาขาวชิ า ขอ้ มูลทุกตวั ของแอททริบิวตส์ าขาวชิ าในเอนทิต้ีนกั ศึกษาจะตอ้ งอยใู่ นแอททริบิวตร์ หสัสาขาวชิ าของเอนทิต้ีสาขาวชิ า ส่วนเอนทิต้ีสาขาวชิ ามีคียห์ ลกั คือ รหสั สาขาวชิ า2.5 การออกแบบระบบฐานข้อมูลกกกกกกกกการออกแบบระบบฐานขอ้ มูลเป็ นข้นั ตอนหน่ึงของการออกแบบระบบซ่ึงประกอบดว้ ยรีเลชนั ต่าง ๆของระบบพร้อมแอททริบิวตข์ องแต่ละรีเลชนั ตลอดจนการกาหนดความสัมพนั ธ์และคียต์ ่าง ๆ ของรีเลชนั ไดอ้ ยา่ งถูกตอ้ งเหมาะสม การออกแบบระบบฐานขอ้ มูลที่ดีจะทาให้ การจดั เก็บขอ้ มูลเป็นระเบียบและเขียนโปรแกรมได้ง่ายซ่ึงมีข้นั ตอนการออกแบบระบบฐานขอ้ มูลดงั น้ีกกกกกกกก2.5.1 เกบ็ รวบรวมรายละเอยี ดท้งั หมดกกกกกกกกกกกกเป็นการเกบ็ รวบรวมขอ้ มูลและรายละเอียดตา่ ง ๆ ของงาน รวมท้งั ความตอ้ งการของผใู้ ช้ ขอ้ มูลอาจไดจ้ ากการสารวจความตอ้ งการของผใู้ ชโ้ ดยวธิ ีการสมั ภาษณ์ เอกสาร แบบฟอร์มต่าง ๆ เพอ่ื นามาสร้างองคป์ ระกอบของตารางกกกกกก
19กก2.5.2 กาหนดโครงสร้างของตารางกกกกกกกกกกกกขอ้ มูลที่ไดจ้ ากการรวบรวมรายละเอียดท้งั หมดจะนามากาหนดรีเลชนั และแอททริบิวต์ จากน้นั นารีเลชนั และแอททริบิวตม์ ากาหนดโครงสร้างตาราง โดยแปลงแอททริบิวตเ์ ป็นเขตขอ้ มูล พร้อมท้งั กาหนดชนิดและขนาดขอ้ มูลในแตล่ ะเขตขอ้ มูล รวมท้งั เงื่อนไขหรือกฎเกณฑท์ ี่ใชใ้ นการกาหนดลกั ษณะขอ้ มูลกกกกกกกก2.5.3 กาหนดคยี ์กกกกกกกกกกกกพจิ ารณาวา่ แอททริบิวตใ์ ดมีคุณสมบตั ิเหมาะท่ีจะนามาเป็นคียห์ ลกั โดยเลือกแอททริบิวตท์ ี่มีคา่ ไม่ซ้ากนั ถา้ ไมม่ ีแอททริบิวตใ์ ดเลยตอ้ งกาหนดเขตขอ้ มูลใหม่เพื่อใชเ้ ป็ นคียห์ ลกั โดยเฉพาะกกกกกกกก2.5.4 การปรับรีเลชันให้อยู่ในรูปแบบบรรทดั ฐาน (Normalization)กกกกกกกกกก การปรับรีเลชนั ใหอ้ ยใู่ นรูปแบบบรรทดั ฐานเป็นกระบวนการนาโครงร่าง ของ รีเลชนั มาแยกเป็นรีเลชนั ตา่ ง ๆ ให้อยใู่ นรูปแบบบรรทดั ฐาน (Normal Form : NF) ซ่ึงง่ายตอ่ การนาไปใชง้ านและมีปัญหานอ้ ยที่สุด ไม่วา่ จะเป็นปัญหาการซ้าซอ้ นของขอ้ มูล หรือปัญหา ความผดิ ปกติที่อาจเกิดข้ึนจากการเพิม่ ลบ หรือแกไ้ ขขอ้ มูลกกกกกกกก2.5.5 การกาหนดความสัมพนั ธ์ระหว่างรีเลชันกกกกกกกกกกกกนาตารางท้งั หมดท่ีไดห้ ลงั จากทาใหอ้ ยใู่ นรูปแบบบรรทดั ฐานมาสร้างความสมั พนั ธ์โดยใชค้ ียท์ ่ีกาหนด หรือคียท์ ี่เกิดข้ึนใหม่จากการทานอร์มลั ไลเซชนั เป็นตวั เช่ือม ซ่ึงอาจเป็นหน่ึงต่อหน่ึง หน่ึงตอ่ กลุ่ม หรือกลุ่มตอ่ กลุ่ม ข้ึนอยกู่ บั ลกั ษณะของขอ้ มูล ท้งั น้ีการกาหนดความสมั พนั ธ์ของขอ้ มูลมีความสาคญั มาก ฉะน้นัผอู้ อกแบบจะตอ้ งวเิ คราะห์ใหไ้ ดว้ า่ ขอ้ มูลในตารางตา่ ง ๆ มีความสมั พนั ธ์กนั ในลกั ษณะใด2.6 การนอร์มลั ไลเซชันกกกกกกกกกระบวนการนอร์มลั ไลเซชนั เป็นหลกั การวิเคราะห์รีเลชนั ใหอ้ ยใู่ นรูปแบบปกติ ซ่ึงมีอยู่ 5 ระดบั ไดแ้ ก่ นอร์มลั ไลเซชนั ระดบั ที่ 1 (First Normal Form : 1NF) เป็นการกาจดั กลุ่มขอ้ มูลท่ีซ้ากนั (RepeatingGroup) นอร์มลั ไลเซชนั ระดบั ที่ 2 (Second Normal Form : 2NF) เป็นการกาจดั แอททริบิวตท์ ี่ข้ึนกบั บางส่วนของคีย์ (ถา้ คียน์ ้นั ประกอบดว้ ยแอททริบิวตม์ ากกวา่ หน่ึงตวั ข้ึนไป) นอร์มลั ไลเซชนั ระดบั ที่ 3 (Third Normal Form : 3NF) เป็นการกาจดั แอททริบิวตท์ ี่ข้ึนกบั แอททริบิวตอ์ ่ืนที่ไม่ใช่คีย์ นอร์มลั ไลเซชนั ระดบั ท่ี 4 (Fourth Normal Form : 4NF) เป็นการกาจดั แอททริบิวตท์ ี่มีการข้ึนต่อกนัแบบเชิงสมั พนั ธ์ (Multivalued Dependency) นอร์มลั ไลเซชนั ระดบั ท่ี 5 (Fifth Normal Form : 5NF) เป็นการกาจดั แอททริบิวต์ ที่มีการข้ึนต่อกนัแบบเชิงร่วม (Join Dependency)กกกกกกก ในทางทฤษฎีการทานอร์มลั ไลเซชนั จะทาไดส้ ูงสุด 5 ระดบั แตใ่ นทางปฏิบตั ิพบวา่ การทาถึงระดบั ท่ี 3ก็สามารถแกป้ ัญหาความผดิ ปกติและความซ้าซอ้ นของขอ้ มูลได้ ดงั น้นั จึงขอกล่าวถึงเพยี งนอร์มลั ไลเซชนัระดบั ที่ 1 ถึงระดบั ท่ี 3 ดงั ตวั อยา่ ง
20กกกกกก ตัวอย่าง ขอ้ มูลก่อนทานอร์มลั ไลเซชนั ของการลงทะเบียนเรียน ประกอบดว้ ย รีเลชนั การลงทะเบียนซ่ึงแต่ละคร้ังในการลงทะเบียน นกั ศึกษาสามารถลงทะเบียนไดม้ ากกวา่ 1 วชิ า ดงั ภาพที่ 2.7รีเลชันการลงทะเบยี น รหัส ชื่อ รหัสวชิ า ช่ือวชิ า หน่วย รหสั อาจารย์ ช่ืออาจารย์นักศึกษา นักศึกษา กติ ผู้สอน50330001 ณฐั ชา 2000-1101 ภาษาไทยเพือ่ อาชีพ 1 2 1005 สุปราณี 2201-2410 หลกั การเขียนโปรแกรม 2 1002 ภานุวชั ร์ 2201-2405 การใชโ้ ปรแกรมฐานขอ้ มลู 2 1001 กลุ นที50330002 ปารเมธ 2000-1102 ภาษาไทยเพือ่ อาชีพ 2 2 1004 ชมพู่ 2201-2410 หลกั การเขียนโปรแกรม 2 1002 ภานุวชั ร์ 2201-2405 การใชโ้ ปรแกรมฐานขอ้ มลู 2 1001 กลุ นที50330003 อภิสิทธ์ิ 2000-1102 ภาษาไทยเพื่ออาชีพ 2 2 1004 ชมพู่ 2201-2410 หลกั การเขียนโปรแกรม 2 1002 ภานุวชั ร์ ภาพที่ 2.7 แสดงตวั อยา่ งรีเลชนั ท่ีไมอ่ ยใู่ นรูปแบบบรรทดั ฐานกกก (1) นอร์มัลไลเซชัน ระดบั ท่ี 1 (Fisrt Normal Form : 1NF)กกกกกกกกกก นอร์มลั ไลเซชนั ในระดบั ที่ 1 เป็นข้นั ตอนแรกของกระบวนการนอร์มลั ไลเซชนั โดยรีเลชนั ที่มีคุณสมบตั ิอยใู่ นรูปแบบของ 1NF รีเลชนั ใด ๆ จะอยใู่ นรูปแบบบรรทดั ฐานระดบั ที่1 เมื่อค่าของแต่ละแอททริบิวตใ์ นแตล่ ะทูเพิลมีเพยี งคา่ เดียว ดงั น้นั จากตวั อยา่ งในภาพที่ 2.7 จะตอ้ งทาการปรับรีเลชนั ใหอ้ ยใู่ นรูปแบบบรรทดั ฐานระดบั ท่ี 1ซ่ึงสามารถทาโดยการแยกขอ้ มูลของรหสั นกั ศึกษาและชื่อนกั ศึกษาออกเป็ นแต่ละแถว ดงั ภาพที่ 2.8รีเลชันการลงทะเบยี น รหสั ชื่อ รหัสวชิ า ช่ือวชิ า หน่วยกติ รหัส ช่ืออาจารย์นกั ศึกษา นกั ศึกษา อาจารย์ 2 ผู้สอน สุปราณี50330001 ณฐั ชา 2000-1101 ภาษาไทยเพ่ืออาชีพ 1 2 1005 ภานุวชั ร์50330001 ณฐั ชา 2201-2410 หลกั การเขียนโปรแกรม 2 1002 กลุ นที50330001 ณฐั ชา 2201-2405 การใชโ้ ปรแกรมฐานขอ้ มลู 2 1001 ชมพู่50330002 ปารเมธ 2000-1102 ภาษาไทยเพือ่ อาชีพ 2 2 1004 ภานุวชั ร์50330002 ปารเมธ 2201-2410 หลกั การเขียนโปรแกรม 2 1002 กลุ นที50330002 ปารเมธ 2201-2405 การใชโ้ ปรแกรมฐานขอ้ มลู 2 1001 ชมพู่50330003 อภิสิทธ์ิ 2000-1102 ภาษาไทยเพอ่ื อาชีพ 2 2 1004 ภานุวชั ร์50330003 อภิสิทธ์ิ 2201-2410 หลกั การเขียนโปรแกรม 1002
21ภาพที่ 2.8 แสดงตวั อยา่ งรีเลชนั นกั ศึกษาและรีเลชนั รายวิชาท่ีผา่ นการนอร์มลั ไลเซชนั ระดบั ที่1(1NF)กกกกกกกกจากตวั อยา่ งภาพที่ 2.8 รีเลชนั การลงทะเบียนจะอยใู่ นรูปแบบบรรทดั ฐานระดบั ท่ี 1 ซ่ึงจะเห็นวา่ เราไม่สามารถใชร้ หสั นกั ศึกษาเป็นคียห์ ลกั ได้ จึงตอ้ งใชร้ หสั นกั ศึกษาและรหสั วชิ าเป็นคียร์ ่วมกนั เกิดเป็นคียผ์ สมกกกกกกก (2) นอร์มลั ไลเซชัน ระดับที่ 2 (Second Normal Form : 2NF)กกกกกกก รีเลชนั ท่ีอยนู่ อร์มลั ไลเซชนั ในระดบั ท่ี 2 จะตอ้ งอยใู่ นรูปแบบของ 1NF มาก่อน และทุกแอททริบิวตท์ ่ีไม่ใช่คีย์ (Non key) ตอ้ งข้ึนกบั คียห์ ลกั อยา่ งแทจ้ ริงไม่ใช่ข้ึนกบั เพยี งบางส่วนของคียห์ ลกั (ถา้ คียน์ ้นัประกอบแอททริบิวตม์ ากกวา่ 1 แอททริบิวต)์กกกกกกก การทาใหร้ ีเลชนั อยใู่ นรูป 2NF จะตอ้ งแยกรีเลชนั ท้งั หมดที่ข้ึนกบั บางส่วนของคียห์ ลกั ออกมาสร้างเป็นรีเลชนั ใหม่ และกาหนดใหส้ ่วนของคียห์ ลกั ท่ีแอททริบิวตน์ ้นั ข้ึนดว้ ยเป็ นคียใ์ นรีเลชนั ใหม่กกกกกกก จากตวั อยา่ ง จะตอ้ งแยกรีเลชนั การลงทะเบียน ออกเป็น 2 รีเลชนั คือกกกกก กก รีเลชนั นกั ศึกษา ประกอบดว้ ย แอททริบิวต์ รหสั นกั ศึกษา, ชื่อนกั ศึกษากกกกกกกก รีเลชนั รายวชิ า ประกอบดว้ ย แอททริบิวต์ รหสั วชิ า, ชื่อวชิ า, หน่วยกิตและคงเหลือรีเลชนั เดิม คือรีเลชนั การลงทะเบียน ประกอบดว้ ยแอททริบิวตร์ หสั นกั ศึกษา,รหสั วชิ า, รหสั อาจารยผ์ สู้ อน และชื่ออาจารย์ ดงั น้ีรีเลชันนักศึกษา รีเลชั่นรายวชิ า รหัสนักศึกษา ช่ือนักศึกษา รหัสวชิ า ช่ือวชิ า หน่วยกติ 50330001 ณฐั ชา 2000-1101 ภาษาไทยเพือ่ อาชีพ 1 2 50330002 ปารเมธ 2000-1102 ภาษาไทยเพ่ืออาชีพ 2 2 50330003 อภิสิทธ์ิ 2201-2410 หลกั การเขียนโปรแกรม 2 2201-2405 การใชโ้ ปรแกรมฐานขอ้ มลู 2รีเลชันการลงทะเบยี นรหัสนกั ศึกษา รหัสวชิ า รหสั อาจารย์ผ้สู อน ชื่ออาจารย์50330001 2000-1101 1005 สุปราณี50330001 2201-2410 1002 ภานุวชั ร์50330001 2201-2405 1001 กลุ นที50330002 2000-1102 1004 ชมพู่50330002 2201-2410 1002 ภานุวชั ร์50330002 2201-2405 1001 กลุ นที50330003 2000-1102 1004 ชมพู่50330003 2201-2410 1002 ภานุวชั ร์ ภาพท่ี 2.9 แสดงรีเลชนั ต่าง ๆ ที่ผา่ นการนอร์มลั ไลเซชนั ระดบั ที่ 2 (2NF)
22กกกกกกกก (3) นอร์มลั ไลเซชัน ระดบั ท่ี 3 (Third Normal Form : 3NF)กกกกกกกก รีเลชนั ที่อยนู่ อร์มลั ไลเซชนั ในระดบั ท่ี 3 จะตอ้ งอยใู่ นรูปแบบของ 2NFมาก่อน และทุกแอททริบิวตท์ ่ีไม่ใช่คีย์ (Non-key) จะตอ้ งข้ึนกบั คียห์ ลกั เท่าน้นั และตอ้ งไมม่ ี การข้ึนต่อกนัระหวา่ งแอททริบิวตท์ ่ีไมใ่ ช่คีย์ (Transitive Dependency)กกกกกกกกก หลงั จากทานอร์มลั ไลเซชนั ในระดบั ท่ี 2 แลว้ พบวา่ แอททริบิวตช์ ื่ออาจารยใ์ นภาพที่ 2.9 ไมไ่ ดข้ ้ึนกบัคียห์ ลกั ซ่ึงประกอบไปดว้ ย รหสั นกั ศึกษา และรหสั วชิ าแตช่ ื่ออาจารยไ์ ปข้ึนกบั รหสั อาจารยผ์ สู้ อน ซ่ึงไมใ่ ช่คีย์หลกั ของรีเลชนั การลงทะเบียน ดงั น้นั จึงตอ้ งกาจดั คียท์ ่ีไม่ใช่คียค์ ูแ่ ขง่ ออกไปสู่รีเลชนั ใหมไ่ ด้ ดงั ภาพท่ี 2.10รีเลชันอาจารย์รหัสอาจารย์ผ้สู อน ชื่ออาจารย์1001 กลุ นที1002 ภานุวชั ร์1004 ชมพู่1005 สุปราณีรีเลชันการลงทะเบียนรหัสนักศึกษา รหสั วชิ า รหัสอาจารย์ผ้สู อน50330001 2000-1101 100550330001 2201-2410 100250330001 2201-2405 100150330002 2000-1102 100450330002 2201-2410 100250330002 2201-2405 100150330003 2000-1102 100450330003 2201-2410 1002 ภาพท่ี 2.10 แสดงรีเลชนั ต่าง ๆ ที่ผา่ นการนอร์มลั ไลเซชนั ระดบั ท่ี 3 (3NF)
23 แบบฝึ กหดั หน่วยท่ี 2 ฐานข้อมูลเชิงสัมพนั ธ์ตอนท่ี 1 ใหน้ กั เรียนตอบคาถามตอ่ ไปน้ีใหถ้ ูกตอ้ ง 1. ขอ้ มูลเชิงสัมพนั ธ์มีลกั ษณะการเกบ็ ขอ้ มูลอยา่ งไร 2. จงบอกคาศพั ทใ์ นฐานขอ้ มูลมีอะไรบา้ ง อธิบาย 3. จงบอกขอ้ ดีของระบบฐานขอ้ มูลเชิงสัมพนั ธ์ 4. ชนิดของคียฐ์ านขอ้ มูลมีอะไรบา้ ง อธิบาย แบบทดสอบหน่วยที่ 2 ฐานข้อมูลเชิงสัมพันธ์และโปรแกรมไมโครซอฟต์แอคเซสคาชี้แจง ใหน้ กั เรียนทาเครื่องหมาย ขอ้ ที่ถูกท่ีสุด ลงในกระดาษคาตอบ1. ผคู้ ิดคน้ ฐานขอ้ มูลเชิงสมั พนั ธ์คือใคร 4. ขอบเขตค่าของขอ้ มูลในแอททริบิวตห์ น่ึง ๆก. Charles Babbage เรียกวา่ อะไรข. Pascal ก. โดเมนค. Robin William ข. คาร์ดินลั ลิต้ีง. E.F.Codd ค. ดีกรี2. ขอ้ ใดหมายถึงรีเลชนั ในฐานขอ้ มูลเชิงสัมพนั ธ์ ง. ทูเพลิก. ตารางท่ีสามารถบรรจุขอ้ มูลซ้ากนั ไดใ้ นแต่ 5. ศพั ทใ์ นฐานขอ้ มูลเชิงสมั พนั ธ์ขอ้ ใด มีละแถว ความหมายตรงกบั แฟ้มขอ้ มูลข. ตาราง 2 มิติ ท่ีในแตล่ ะแถวและสดมภ์ ก. ทูเพิลบรรจุเพยี งคา่ เดียว ข. รีเลชนัค. ตาราง 2 มิติที่ในแตล่ ะแถว และสดมภ์ ค. แอททริบิวต์สามารถบรรจุขอ้ มูลไดห้ ลายอยา่ ง ง. ดีกรีง. ตาราง 3 มิติท่ีในแต่ละแถว แต่ละสดมภ์ 6. ขอ้ ใดใหค้ วามหมายของดีกรีไดถ้ ูกตอ้ งและแตล่ ะความลึกจะบรรจุขอ้ มูลไดเ้ พียงคา่ เดียว ก. จานวนแถวในแต่ละรีเลชนั3. ในฐานขอ้ มูลเชิงสมั พนั ธ์เรียกขอ้ มูลแต่ละ ข. จานวนสดมภใ์ นแต่ละรีเลชนัรายการวา่ อยา่ งไร ค. จานวนเอนทิต้ีในระบบก. ทูเพลิ ง. จานวนสดมภท์ ่ีระบุใชเ้ ป็ นคียน์ อกข. รีเลชนั 7. ขอ้ ใด ไมใ่ ช่ ขอ้ ดีของฐานขอ้ มูลเชิงสมั พนั ธ์ค. แอททริบิวต์ ก. รองรับการเขา้ ถึงขอ้ มูลแบบผใู้ ชห้ ลายคนง. โดเมน ข. การเรียกใชห้ รือเชื่อมโยงขอ้ มูลจาเป็นตอ้ ง ใชต้ วั ช้ี (Pointer)
ค. ใชภ้ าษาท่ีง่ายในการเรียกดูขอ้ มูล 15 ง. สามารถใชเ้ ครื่องหมายคานวณ และเปรียบเทียบทางคณิตศาสตร์ได้ ง. การปรับรีเลชนั ใหอ้ ยใู่ นรูปแบบบรรทดั ฐาน8. ขอ้ ใดใหค้ วามหมายของคียห์ ลกั ไดถ้ ูกตอ้ ง 12. ขอ้ ใดต่อไปน้ีอยใู่ นข้นั ตอนการกาหนดท่ีสุด โครงสร้างของตารางก. คา่ ที่กาหนดในเขตขอ้ มูลน้นั สามารถซ้ากนั ได้ ข. ทุกตารางท่ีมีการเชื่อมโยงจะตอ้ งมีคียห์ ลกั ก. กาหนดรีเลชนั และแอททริบิวต์ ค. ทุกเขตขอ้ มูลของตาราง สามารถ ข. การทารีเลชนั ใหอ้ ยใู่ นรูปแบบบรรทดั ฐานกาหนดใหเ้ ป็ นคียห์ ลกั ได้ ค. การกาหนดความสัมพนั ธ์ระหวา่ งรีเลชนั ง. เขตขอ้ มูลท่ีกาหนดสามารถป้อนขอ้ มูล ง. การกาหนดคียห์ ลกัหรือไมป่ ้อนก็ได้ 13. ขอ้ ใดเป็นข้นั ตอนการนาโครงร่างของรีเลชนั9. ขอ้ ใดหมายถึงคียท์ ่ีมีคุณสมบตั ิเป็นคียห์ ลกั มาแยกเป็นรีเลชนั ตา่ ง ๆ เพ่ือลดปัญหาแต่ไม่ถูกเลือกใหเ้ ป็นคียห์ ลกั การซ้าซอ้ นของขอ้ มูล ก. คียห์ ลกั ก. การกาหนดโครงสร้างของตาราง ข. คียค์ ูแ่ ข่ง ข. การปรับรีเลชนั ให้อยใู่ นรูปแบบบรรทดั ฐาน ค. คียน์ อก ค. การกาหนดคีย์ ง. คียผ์ สม ง. การกาหนดความสัมพนั ธ์ระหวา่ งรีเลชนั10. คียช์ นิดใดท่ีใชป้ ระโยชนใ์ นการเช่ือมโยง 14. ขอ้ ใดเป็นการนอร์มลั ไลเซชนั ระดบั ที่ 1ขอ้ มูลระหวา่ งรีเลชนั ก. การกาจดั กลุ่มขอ้ มูลท่ีซ้ากนั ก. คียค์ ูแ่ ขง่ ข. การกาจดั แอททริบิวตท์ ่ีข้ึนกบั บางส่วนของคีย์ ข. คียน์ อก ค. การกาจดั แอททริบิวตท์ ี่ข้ึนกบั แอททริ ค. คียผ์ สม บิวตอ์ ่ืนท่ีไม่ใช่คีย์ ง. คียส์ ารอง ง. การกาจดั แอททริบิวตท์ ี่มีการข้ึนต่อกนั11. ในการออกแบบฐานขอ้ มูลน้นั ข้นั ตอนใด แบบเชิงสัมพนั ธ์ควรทาเป็ นอนั ดบั แรก 15. “กาจดั แอททริบิวตท์ ่ีมีการข้ึนต่อกนั เชิงกลุ่ม” ก. กาหนดคียห์ ลกั เป็นการนอร์มลั ไลเซชนั ระดบั ใด ข. กาหนดโครงสร้างของตาราง ก. ระดบั ท่ี 1 ค. เก็บรวบรวมรายละเอียดท้งั หมด ข. ระดบั ที่ 2 ค. ระดบั ที่ 3 ง. ระดบั ท่ี 4
Search
Read the Text Version
- 1 - 12
Pages: