Top Banner
หน่วยที1 ความร้พื ้นฐาน เกี่ยวกับฐานข้อมล และหลักการออกแบบฐานข้อมล หัวข้อเรื่องและงาน ความรู้พืนฐานเกยวกบข้อมูล ฐานข้อมูล ระบบฐานข้อมูลใน Access 2007 สวนประกอบ ของฐานข้อมูล Access 2007 และหลักการออกแบบฐานข้อมูลที่ดี สาระสําคัญ ข้อมูล หมายถึง ข้อเท็จจริงที่เกยวข้องกบสิงตาง ทัวไป ฐานข้อมูล หมายถึง แหลงเกบ รวบรวมข้อมูลกลุมหนึ ่งที่เกยวข้องกบหัวข้อหรือจุดประสงค์อยางใดอยางหนึ ่ง มีโครงการและการ จัดการอยางเป็นระบบ ระบบฐานข้อมูล หมายถึง สวนประกอบตาง ที่เกยวข้องกบการใช้งาน ฐานข้อมูล สวนประ กอบของฐานข้อมูล Access 2007 ได้แก ตาราง ฟอร์ม รายงาน แบบสอบถาม แมโคร และโมดูล มีหลักการออกแบบฐานข้อมูลที่ดี มีกระบวนการ คือ กาหนดวัตถุประสงค์ของ ฐานข้อมูล ค้นหาและจัดระเบียบข้อมูลที่ต้องการ แบงข้อมูลลงในตารางตาง เปลี่ยนรายการของ ข้อมูลให้เป็นคอลัมน์ตาง ระบุคีย์แตละตาราง กาหนดความสัมพันธ์ของตารา การปรับการ ออกแบบให้ดียิงขึ ้น และการใช้กฎ Normalization จดประสงค์การสอน จดประสงค์ทั่วไป 1. เพื่อให้มีความรู้ความเข้าใจเกยวกบความหมาย ของข้อมูล ฐานข้อมูล และระบบ ฐานข้อมูล 2. เพื่อให้มีความรู้ความเข้าใจเกยวกบ ั ระบบฐานข้อมูลและสวนประกอบ ของ ฐานข้อมูลใน Access 2007 3. เพื่อให้มีความรู้ความเข้าใจ และมีทักษะในการหลักการออกแบบฐานข้อมูลที่ดี จดประสงค์เชิงพฤติกรรม 1. สามารถอธิบายความหมายของข้อมูล ฐานข้อมูล และระบบฐานข้อมูลได้ 2. สามารถอธิบายและจําแนกระบบฐานข้อมูลและสวนประกอบ ของฐานข้อมูลใน Access 2007 ได้ 3. สามารถออกแบบฐานข้อมูลที่ดีได้
37
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: บท1

หนวยท 1 ความรพนฐาน เกยวกบฐานขอมล และหลกการออกแบบฐานขอมล

หวขอเรองและงาน ความรพนฐานเกยวกบขอมล ฐานขอมล ระบบฐานขอมลใน Access 2007 สวนประกอบ

ของฐานขอมล Access 2007 และหลกการออกแบบฐานขอมลทด

สาระสาคญ ขอมล หมายถง ขอเทจจรงทเกยวของกบสงตาง ๆ ทวไป ฐานขอมล หมายถง แหลงเกบ

รวบรวมขอมลกลมหนงทเกยวของกบหวขอหรอจดประสงคอยางใดอยางหนง มโครงการและการ จดการอยางเปนระบบ ระบบฐานขอมล หมายถง สวนประกอบตาง ๆ ทเกยวของกบการใชงาน ฐานขอมล สวนประ กอบของฐานขอมล Access 2007 ไดแก ตาราง ฟอรม รายงาน แบบสอบถาม แมโคร และโมดล มหลกการออกแบบฐานขอมลทด มกระบวนการ คอ กาหนดวตถประสงคของฐานขอมล คนหาและจดระเบยบขอมลทตองการ แบงขอมลลงในตารางตาง ๆ เปลยนรายการของขอมลใหเปนคอลมนตาง ๆ ระบคยแตละตาราง กาหนดความสมพนธของตารา ง การปรบการออกแบบใหดยงข น และการใชกฎ Normalization

จดประสงคการสอน จดประสงคทวไป

1. เพอใหมความรความเขาใจเกยวกบความหมาย ของขอมล ฐานขอมล และระบบฐานขอมล

2. เพอใหมความรความเขาใจเกยวกบ ระบบฐานขอมลและสวนประกอบ ของฐานขอมลใน Access 2007

3. เพอใหมความรความเขาใจ และมทกษะในการหลกการออกแบบฐานขอมลทด จดประสงคเชงพฤตกรรม

1. สามารถอธบายความหมายของขอมล ฐานขอมล และระบบฐานขอมลได 2. สามารถอธบายและจาแนกระบบฐานขอมลและสวนประกอบ ของฐานขอมลใน

Access 2007 ได 3. สามารถออกแบบฐานขอมลทดได

Page 2: บท1

1-2

เนอหา

1. ขอมลและฐานขอมล

ขอมล (Data) หมายถง ขอเทจจรงทเกยวของกบสงตาง ๆ ทวไป เชน ราคาสนคา คะแนน ของนกเรยนแตละคน ซงปกตถอวาเปน ขอมลดบ (Raw Data) ทยงไมไดผานก ารประมวลผล

ขอมลทผานการประมวลผลแลวเรยกวา สารสนเทศ (Information) เชน เมอนาคะแนนของนกเรยนทงหมดมาประมวลผลกจะไดคะแนนสงสด คะแนนตาสดของนกเรยนทงหมด

ขอมลทนามาจดเกบในฐานขอมลอาจอยในรปของตวเลข ตวอกษร ขอความ รปภาพ เสยง หรอภาพและเสยง ฐานขอมล (Database) หมายถง แหลงเกบรวบรวมขอมลกลมหนงทเกยวของกบหวขอ หรอจดประสงคอยางใดอยางหนง มโครงการและการจดการอยางเปนระบบ ขอมลทบนทกเกบไว สามารถปรบปรงแกไข สบคน และนามาใชในการจดการสารสนเทศไดอยาง รวดเรวและมประสทธภาพ

ฐานขอมลในทนหมายถงฐานขอมลทใชระบบคอมพวเตอร สวนอปกรณทเกบขอมลกคอ จานแมเหลกหร อฮารดดสกนนเอง ตวอยางฐานขอมลทใชกนทวไป ไดแก ฐานขอมลบคลากร ฐานขอมลนกศกษา ฐานขอมลสนคา ฯลฯ

ปกตฐานขอมลจะถกจดเกบไวทสวนกลางของหนวยงานหรอองคกร เพอใหผใชงาน สามารถเรยกใชขอมลรวมกนได โดยอาจใชขอมลไดบางสวนหรอทงหมดขนอยกบการกาหนด สทธในการใชงาน

ฐานขอมลอาจเกบขอมลไวในแฟมเดยวกนหรอแยกเกบหลาย ๆ แฟมทมความสมพนธกนโดยแตละแฟมเรยกวา ตาราง (Table) ซงมลกษณะโครงสราง ดงรป

รปท 1-1 สวนประกอบของ ฐานขอมลในโปรแกรม Microsoft Access 2007

ฟลด (Field)

ชอตาราง(Table)

ตารางทงหมด ระเบยน (Record)

Page 3: บท1

1-3

โครงสรางของตารางประกอบดวย 1. ชอตารางหรอชอฐานขอมล (Database Name) 2. เขตขอมลในแนวตง (Column) หรอฟลด (Field) หลายฟลด 3. รายการขอมลหรอระเบยน (Record) หลายรายการในแนวนอน (Row)

ตวอยาง ตารางฐานขอมลชอ ขอมลนกศกษา มฟลดตาง ๆ ทไมซาก น เชน รหสนกศกษ (StudentID) ชอ นามสกล ทอย เมอง จงหวด ฯลฯ ซงขอมลของนกศกษาแตละคนจดเกบใน ระเบยนทไมซากนตามฟลดตาง ๆ

ศพทสาคญเกยวกบระบบฐานขอมล และการออกแบบระบบฐานขอมล คอ 1. เอนทต (Entity) เปนคาทอางองถงบคคล สถานท และสงของตาง ๆ เชน สนคา

หรอวชา ใบสงซอหรอบตรลงทะเบยน และลกคาหรอนกศกษา เปนตน ถาเราสนใจในก ารสรางระบบฐานขอมลการสงซอสนคา เอนทตของระบบนจะประกอบดวย เอนทตลกคา ใบสงซอ สนคา กบสนคา ดงรป

2. แอตทรบวต (Attribute) เปนขอมลทแสดงลกษณะของเอนทต เชน แอตทบวตของเอนทตลกคา หรอนกศกษา จะมชอ ทอย และรห สไปรษณย สวนแอตทรบวตของเอนทต ใบสงซอสนคา จะมรหสใบสงซอ วนทสงซอ ชอสนคา จานวนสนคาทสง และราคาสนคา เปน ตน ซงเราสามารถแสดงเอนทต รวมทงแอตทบวตได

3. ความสมพนธ (Relationships) หมายถง ความสมพนธระหวางเ อนทตตาง ๆ ในระบบ เชน ในระบบการสงซอสนคา จะประกอบดวยเอนทตใบสงซอสนคา และเอนทตลกคา ซงมความสมพนธจากลกคาไปยงใบสงซอสนคาเปนแบบหนงตอกลม (One – to - Many) เปนตน

ลกคา

รหสลกคา ชอลกคา ทอยลกคา

รหสไปรษณย หมายเลขโทรศพท

ใบสงซอ

รหสใบสงซอ วนทสงซอ วนทสงสนคา รหสลกคา รหสสนคา จานวนทสง

ชอเอนทต

แอตทรบวต ทงหมด

รปท 1-2 สวนประกอบของ เอนทต แอตทรบวต และความสมพนธในระบบฐานขอมล

Page 4: บท1

1-4

ในระบบฐานขอมลเชงสมพนธนน เราจะตองกาหนดชนดของคยตาง ๆ เพอเปน แอตทรบวตพเศษททาหนาทบางอยาง เชน เปนตวแทนของตาราง ฯลฯ ซงมชนดคย ดงน

1. Primary Key (คยหลก) จะเปนฟลดทมคาไมซ ากนเลยในแตละเรคอรดในตารา นน เราสามารถใชฟลดทเปน Primary Key น เปนตวแทนของตารางนนไดทนท

2. Candidate Key (คยคแขง ) เปนฟลดหนงหรอหลายฟลดทพอเอามารวมกนแลวมคณสมบตเปน Primary Key (ไมซา ) และไมไดถกใชเปนคยหลก เชน รหสจงหวดเปนคยหลก สวนชอจงหวดกไมซาเชนกน แตไมไดเปนคยหลกจงเปนคยคแขงแทน

3. Composite Key บางตารางหาฟลดไมซาไมไดเลย จงตองใชหลาย ๆ ฟลดมารวมกนเปน Primary Key ฟลดทใชรวมกนนเราเรยกวา Composite Key

4. Foreign Key เปนฟลดใดๆ ในตารางหนง (ฝง Many) ทมความสมพนธกบฟลดทเปน Primary Key ในอกตารางหนง (ฝง One) โดยทตารางทงสองมความสมพนธแบบ One – to – Many ตอกน

ฐานขอมลมหลายแบบแตทนยมใชกนมากทสดในปจจบน คอ ฐานข อมลแบบสมพนธ (Relational Database) ซงมโครงสรางเปนตารางหลายตารางทมความสมพนธกนโดยใชฟลดทเหมอนกน เชน รหสนกศกษา (StudentID)

รปท 1-3 สวนประกอบของ ฐานขอมลในโปรแกรม Microsoft Access 2007

ลกษณะของฐานขอมลแบบสมพนธ

1. คาของขอ มลตองเปนคาทไมสามารถแบงแยกออกไปไดอก เชน ชอ 2. คาในแนวตง (Column)หรอฟลดตองเปนแบบเดยวกน เชน ถาเปนฟลดสาหรบ

เกบชอกตองเปนชอจรงทงหมด ไมมชอเลนมาเกบดวย 3. ลาดบของฟลดไมจาเปนตองเรยงกน เชน อาจใชฟลดนามสกลกอนฟลดช อกได 4. ชอฟลดในตารางเดยวกนจะตองไมซากน

Page 5: บท1

1-5

5. ตองกาหนดฟลดใดฟลดหนงเปนดชน (Index)หรอเรยกวา กญแจหลก (Primary Key)

6. ขอมลในแตละแถวหรอระเบยนตองไมซากนกบแถวอน 7. ไมจาเปนตองเรยงลาดบของขอมลแตละแถวหรอระเบยน

ตารางท 1-1 การเปรยบเทยบศพททวไปกบศพท เทคนคในระบบฐานขอมล ศพททวไป ศพทเทคนคในระบบ

แฟมขอมล ศพทเทคนคในฐานขอมลเชง

สมพนธ

ตาราง (Table) แฟมขอมล (File) รเลชน (Relation) แถว (Row) ระเบยน (Record) ทเพล (Tuple) คอลมน (Column) เขตขอมล (Field) แอตทรบวต (Attibute) จานวนแถว จานวนระเบยน คารดนาลลต (Cardinality) จานวนคอลมน จานวนเขตขอมล ดกร (Degree) ค า เ อ ก ล ก ษ ณ (Unique Identifier)

คยหลก คยหลก (Primary Key)

ขอบเขตของคาของขอมล ขอบเขตของคาของขอมล โดเมน (Domain)

2. ระบบฐานขอมล (Database System)

ระบบฐานขอมล (Database System) หมายถง สวนประกอบตาง ๆ ทเกยวของกบการใช งานฐานขอมล อาจแบงเปนฮารดแวร (Hardware) ซอฟตแวร (Software) และบคลากร (Personnel) เหมอนระบบคอมพวเตอร ดงน

ฮารดแวร (Hardware) หมายถง เครองคอมพวเตอรและอปกรณประกอบ เชน ฮารดดสก ท ใชเกบฐานขอมล อปกรณนาเขาขอมลแบบตางๆและโปรแกรมใชงาน

ซอฟตแวร (Software) หมายถง โปรแกรมใชงานและระบบการจดการฐานขอมล บคลากร (Personnel) หมายถง บคลากรทเกยวของกบระบบหรอผใชงานฐานขอมล เพอใหเขาใจไดงายขนอาจดผงลกษณะการใชงานระบบฐานขอมล ดงน

Page 6: บท1

1-6

รปท 1-4 ผงลกษณะการใชงานระบบฐานขอมล

ผใชงานฐานขอมล หรอผทเกยวของกบฐานขอมลแบงไดเปน 1. ผใช (User) หมายถง ผทตองการใชฐานขอมลทวไป การใชงานอาจทาไดโดย

ผานโปรแกรมใชงานหรอผานระบบการจดการฐานขอมลถามความรเกยวกบระบบเพยงพอ 2. ผเขยนโปรแกรมใชงาน (Application Programmer) หมายถง ผทสรางฐานขอมล

และพฒนาโปรแกรมใชงานสาหรบใหผใชสามารถใชงานฐานขอมลไดงา ย และใหผบรหารฐานขอมลสามารถจดการฐานขอมลไดสะดวกขน

3. ผบรหารฐานขอมล (Database Administrator) หมายถง ผทออกแบบฐานขอมล ดแลรกษาและจดการฐานขอมลใหปลอดภย ทนสมย และถกตองอยเสมอ

โปรแกรมใชงานฐานขอมล อาจทาขนโดยใชภาษาคอมพวเตอร ภาษาใดภาษาหนง เชน วชวลเบสก (Visual Basic) หรอใชภาษาสาหรบฐานขอมล คอ SQL (Structured Query Language) หรอใชระบบการจดการฐานขอมล (DBMS: Database Management System) โดยตรงกได

ผใช

(User) ผเข ยนโปรแกรมใชงาน

(Application Programmer)

โปรแกรมใชงาน (Application Program)

โปรแกรมใชงาน

(Application Program)

ระบบการจดการฐานขอมล

(Database Management System)

ฐานขอมล

(Database)

ผบรหารฐานขอมล (Database Administrator)

Page 7: บท1

1-7

การใชงานระบบฐานขอมล อาจเปนแบบใชงานคนเดยว (Single User) หรอระบบใชงานหลายคน (Multi - User) ทเชอมตอกนเปนเครอขาย (Network) ภายในหนวยงานทเรยกวา อนทราเนต (Intranet) หรอใชงานผานระบบอนเทอรเนตทกาลงเปนทนยมกนในปจจบน

ระบบการจดการฐานขอมล หมายถง ชดโปรแกรมทใชในการจดการฐานขอมล เชน การสรางฐานขอมล การบนทกขอมล การปรบปรงแกไขขอมล การสบคนขอมล การวเคราะหขอมล การจดทารายงาน และอน ๆ ตวอยางของโปรแกรมทใชจดการฐานขอมล ไดแก Microsoft Access, Microsoft SQL Server, MySQL, Oracle เปนตน

3. ประโยชนของระบบฐานขอมล

การจดเกบขอมลไวในฐานขอมลทเดยวกนดวยระบบการจดการฐานขอมล มประโยชน ดงน

1. สามารถใชขอมลรวมกนได ผ ใชแตละคนสามารถทจะใชขอมลในระบบ ฐานขอมลไดและโปรแกรมใชงานหลายโปรแกรมอาจใชฐานขอมลรวมกนได

2. สามารถกาหนดมาตรฐานของขอมลได ผบรหารฐานขอมลอาจกาหนดมาตรฐานตางๆ ในการจดเกบขอมลใหเปนลกษณะเดยวกน เชน โครงสรางขอมล ประเภทของขอมล เปน ตน

3. ลดความซาซอนของขอมลได ผใชทกคนทตองการจดเกบขอมลจะใชโดยผา ระบบการจดการฐานขอมล ทาใหขอมลไมซากนและไมเปล องเนอทในการเกบขอมล

4. ลดความขดแยงของขอมลได ขอมลชดเดยวกนทปรากฏอยหลายแหงใน ฐานขอมลจะตองตรงกน ถามการแกไขขอมลน ระบบการจดการฐานขอมลจะตองแกไขใหถกตอง ตามกนหมดโดยอตโนมต

5. ปองกนและรกษาความปลอดภยของขอมลได โดยกาหนดสทธ ของผใชแตละคนตามระดบการใชงาน เชน ผใชทวไปอาจใชขอมลบางสวน ผใชทมหนาทบนทกและแกไขขอมลก มสทธใชขอมลไดอกระดบหนง เปนตน

6. ดแลรกษาฐานขอมลไดงาย เชน การทาสาเนาฐานขอมล การบรณะฐานขอมลให กลบสสภาพปกต

4. ระบบฐานขอมล ใน Access 2007

ฐานขอมลเปนเครองมอสาหรบการเกบรวบรวมและจดระเบยบขอมล ฐานขอมลสามารถเกบขอมลเกยวกบบคคล ผลตภณฑ ใบสงซอ หรอสงอนใดกได ฐานขอมลจานวนมากเรมมาจากรายการในโปรแกรมประมวลผลคาหรอโปรแกรมกระดาษคานวณ เมอรายการมขนาดใหญขน ความซาซอนและความไมสอดคลองกนของขอมลจะเรมปรากฏขน การดขอมลในฟอรมรายการ

Page 8: บท1

1-8

เรมไมเขาใจ และมขอจากดในการคนหาหรอดงเซตยอยของขอมลมาตรวจทาน เมอปญหาดงกลาวเกดขนแลว จงเปนการดทจะโอนถายขอมลไปยงฐานขอมลทสรางขนดวยระบบ การจดการฐานขอมล (DBMS) เชน MS Access 2007

ฐานขอมลในระบบคอมพวเตอรเปนคอนเทนเนอรของวตถ โดยฐานขอมลหนงชดสามารถมตารางไดมากกวาหนงตาราง ตวอยางเชน ระบบตดตามสนคาคงคลงหนงระบบจะใชขอมลจากตารางสามตารางไมใชจากฐานขอมลสามชด แตฐานขอม ลหนงชดนนสามารถมตารางไดสามตาราง เวนแตวาฐานขอมลนนจะถกออกแบบพเศษใหใชขอมลหรอโคดจากแหลงขอมลอนได ฐานขอมล Access จะเกบตารางไวในแฟมขอมลเดยว พรอมกบวตถอนดวย เชน ฟอรม รายงาน แมโคร และโมดล โดยฐานขอมลทสรางในรปแบบ Access 2007 จะมนามสกลเปน .accdb และฐานขอมลทสรางในรปแบบของ Access รนกอนหนาจะมนามสกลแฟมเปน .mdb คณสามารถใช Access 2007 สรางแฟมขอมลในรปแบบแฟมของรนกอนหนาได (ตวอยางเชน Access 2000 และ Access 2002-2003)

ความจาเปนในการใช Access 2007 คอ 1. เพมขอมลใหมลงในฐานขอมล เชน รายการใหมในสนคาคงคลง 2. แกไขขอมลทมอยในฐานขอมล เชน การเปลยนตาแหนงทตงปจจบนของรายการ 3. ลบขอมล ถารายการถกขายออกหรอละทงแลว 4. จดระเบยบและดขอมลดวยวธตางๆ 5. ใชขอมลรวมกนกบผอนผานท างรายงาน ขอความอเมล อนทราเนต หรอ

อนเทอรเนต

5. สวนประกอบของฐานขอมล Access 2007

สวนประกอบของฐานขอมล Access 2007 มดงตอไป น

5.1 ตาราง (Table) ตารางฐานขอมลจะมลกษณะคลายกบกระดาษคานวณ นนคอขอมลจะถกเกบไวใน

แถวและคอลมน ดงนน จงเปนเรองคอนขางงายในการนาเขาขอมลจากกระดาษคานวณไปยงตาราง ฐานขอมล โดยขอแตกตางทสาคญระหวางการเกบขอมลในกระดาษคานวณและการเกบใน ฐานขอมลจะอยทวธการจดระเบยบขอมล

Page 9: บท1

1-9

รปท 1-5 ตารางฐานขอมลในโปรแกรม Microsoft Access 2007

เมอตองการความยดหยนสาหรบฐานขอมลใหมากทสด ขอมลตองมการจดระเบยบลง

ในตารางเพอไมใหเกดความซาซอน ตวอยางเชน ถาคณจะเกบขอมลเกยวกบ นกศกษาหรอพนกงาน ควรปอนขอมลของนกศกษาหรอพนกงานแตละคนเขาไปในตารางทใชเกบขอมล นกศกษาหรอพนกงานเพยงครงเดยว ขอมลเกยวกบผลตภณฑจะเกบในตารางของ วชาหรอผลตภณฑ และขอมลเกยวกบทอยของสาขาจะเกบในตารางอน กระบวนการนเรยกวา การทา Normalization

แตละแถวในตารางจะถกอางองเปนหนงระเบยน ระเบยนคอททใชเกบขอมลแตละ สวน แตละระเบยนจะประกอบดวย เขตขอมลอยางนอยหนงเขตขอมล เขตขอมลจะสอดคลองกบคอลมนในตาราง ตวอยางเชน ถามตารางหนงทชอ “ขอมลนกศกษา” ซงแตละระเบยน (แถว) จะมขอมล เกยวกบ นกศกษาหนงคน และแตละเขตขอมล (คอลมน) จะมชนดขอมลทตางกน เชน ชอ นามสกล ทอย และอน ๆ เขตขอมลนนตองไดรบการออกแบบใหมชนดขอมลทแนนอน ไมวาจะ เปนขอความ วนทหรอเวลา ตวเลข หรอชนดขอมลอน ๆ

อกวธหนงทจะอธบายใหเหนภาพของระเบยนและเขตขอมลกคอใหนกถงชดบตรขอมลรนเกาของหองสมด โดยบตรขอมลแตละใ บทอยในตบตรรายการจะเทยบเทากบระเบยนใน ฐานขอมล สวนขอมลแตละสวนบนบตรแตละใบ (ชอผแตง ชอเรอง และอน ๆ) จะเทยบเทากบเขต ขอมลในฐานขอมล

Page 10: บท1

1-10

ฟอรม (Form) 5.2 ในบางครงฟอรมจะถกอางองเปน “หนาจอสาหรบปอนขอมล” ซงเปนสวนตดตอทใช

ทางานกบขอมล และฟอรมมกมปมคาสงทใชดาเนนการคาสงไดหลากหลาย สามารถสรางฐานขอมลโดยไมตองใชฟอรมดวยการแกไขขอมลอยางงาย ๆ ในแผนขอมลตาราง อยางไรกตาม ผใชฐานขอมลสวนใหญตองการทจะใชฟอรมเพอด ปอนขอมล และแกไขขอมลในตารางมากกว า

รปท 1-6 ฟอรมของฐานขอมลในโปรแกรม Microsoft Access 2007

ฟอรมจะใหรปแบบทงายตอการใชสาหรบทางานกบขอมล และสามารถเพม

องคประกอบการใชงาน เชน ปมคาสง ลงในฟอรมไดดวย คณอาจเขยนโปรแกรมใหกบปมตาง ๆ เพอใชกาหนดวาจะใหขอมลใดบางป รากฏบนฟอรม เปดฟอรมหรอรายงานอน ๆ หรอดาเนนงานอนหลากหลายประเภท ตวอยางเชน อาจมฟอรมชอ “ขอมลนกศกษา” ทใชทางานกบขอมลนกศกษา ฟอรมนกศกษา อาจมปมทใชเปดฟอรมบตรลงทะเบยนทสามารถปอนรายการลงทะเบยนใหมสาหรบ นกศกษาคนนนได

นอกจากน ฟอรมยงอนญาตใหเราสามารถควบคมวธทผใชรายอนจะโตตอบกบขอมลในฐานขอมลดวย ตวอยางเชน สามารถสรางฟอรมทแสดงเฉพาะบางเขตขอมลและอนญาตใหมการดาเนนการไดเพยงบางอยางเทานน สงนจะชวยปองกนขอมลและทาใหแนใจไดวาขอมลจะถกปอน อยางถกตอง

5.3 รายงาน (Report) รายงานเปนสงท ตองใชเพอสรปและนาเสนอขอมลในตาราง บอยครงทรายงานจะ

ตอบคาถามตามทระบไว เชน “เรารบเงนจากนกศกษาแตละ คนเปนจานวนเทาไรใน รน น” หรอ

Page 11: บท1

1-11

“นกศกษาของเราอยทไหนบาง” แตละรายงานสามารถกาหนดรปแบบใหนาเส นอขอมลในรปแบบทอานงายทสดได

รปท 1-7 รายงานของฐานขอมลในโปรแกรม Microsoft Access 2007

รายงานสามารถถกเรยกใชเวลาใดกได และจะแสดงขอมลปจจบนในฐานขอมลเสมอ

โดยทวไปรายงานจะถกจดรปแบบใหสามารถพมพออกมาได แตกยงสามารถดรายงานบนหนา จอ สงออกไปยงโปรแกรมอน หรอสงเปนขอความอเมลไดเชนกน

5.4 แบบสอบถาม (Query) แบบสอบถามเปนสวนสาคญในฐานขอมลและสามารถดาเนนการฟงกชนทตางกนได

จานวนมาก ฟงกชนทวไปสวนใหญของแบบสอบถาม คอ การดงขอมลทระบจากตารางตาง ๆ ออกมา โดยขอมลทคณตองการดอาจจะกระจายอยในหลาย ๆ ตารางกได และแบบสอบถามจะทาใหสามารถดขอมลทตองการไดในรปของแผนขอมลเดยว นอกจากน ถา เราไมตองการดระเบยนทงหมดพรอมกน แบบสอบถามจะใหเพมเงอนไขเพอ “กรอง” ขอมลเอาเฉพาะระเบยนทตองการออกมา บอยครงทแบบสอ บถามทาหนาทเปนแหลงระเบยนสาหรบฟอรมและรายงานตาง ๆ

Page 12: บท1

1-12

รปท 1-8 แบบสอบถามของฐานขอมลในโปรแกรม Microsoft Access 2007

แบบสอบถามบางชด “สามารถปรบปรงได” นนหมายความวา สามารถแกไขขอมล

ในตารางตนแบบผานแผนขอมลแบบสอบถามได ถาทางานในแบบสอบถามทสามารถปรบปรงได โปรดจาไววาการเปลยนแปลงจะมผลกบตารางตาง ๆ ดวย ไมใชเฉพาะในแผนขอมลแบบสอบถาม เทานน

แบบสอบถามมรปแบบพนฐานสองรปแบบ ไดแก แบบสอบถามแบบใชเลอกขอมล และแบบสอบถามแอคชน แบบสอบถามแบบใชเลอกขอมล จะเรยกใชขอมลและทาใหขอมลพรอมใชงานไดอยางงายดาย สามารถดผลลพธของแบบสอบถามบนหนาจอ พมพแบบสอบถาม หรอคดลอกไปยงคลปบอรด หรอยงสามารถใชผลลพธของแบบสอบถามเปนแหลงระเบยนสาหรบฟอรมหรอรายงานได สวน แบบสอบถามแอคชน จะดาเนนงานกบขอมล โดยแบบสอบถามแอคชนสามารถใชสรางตารางใหม เพมขอมลลงในตารางทมอย ปรบปรงขอมล หรอลบขอมลได

5.5 แมโคร (Macros) แมโครใน Access 2007 นนจะเหมอนกบภาษาทใชในการเขยนโปรแกรมอยางงายท

สามารถใชเพอเพมหนาทการใชงานใหกบฐานขอมล ตวอยางเชน สามารถแนบแมโครลงในปม คาสงบนฟอรม เพอใหแมโครนนทางานเมอใดกตามทมการกดปม แมโครจะมแอคชนทใชดาเนนงานหลายอยาง เชน การเปดรายงาน การเรยกใชแบบสอบถาม หรอการปดฐานขอมล โดยการดาเนนการกบฐานขอมลสวนใหญททาดวยตนเองนนสามารถทาไดอตโนมตโดยใชแมโคร ดงนนแมโครจงเปนเคร องมอทชวยประหยดเวลาทอยางมาก

Page 13: บท1

1-13

รปท 1-9 ปมเครองมอแมโครในโปรแกรม Microsoft Access 2007

โมดล (Modules) 5.6 โมดล (คลายแมโคร) เปนวตถทสามารถใชเพอเพมหนาทการใชงานใหกบฐานขอมล

ได ขณะทสรางแมโครใน Access 2007 ดวยการเลอกจากรายการแอคชนของแมโคร แตจะสามารถเขยนโมดลไดในภาษาการเขยนโปรแกรม Visual Basic for Applications (VBA) (Visual Basic สาหรบ Applications (VBA): รนภาษาแมโครของ Microsoft Visual Basic ทนามาใชเพอตงโปรแกรมใหกบโปรแกรมประยกตของ Microsoft Windows และรวมอยในโปรแกรมตาง ๆ ของไมโครซอฟท) โมดลเปนคอลเลกชนของการประกาศ คาสง และกระบวนงานทถกเกบไวดวยกน เปนหนวยเดยว โมดลสามารถเปนไดทงคลาสโมดลหรอโมดลมาตรฐาน คลาสโมดลจะถกแนบไวในฟอรมหรอรายงาน และมกจะประกอบดวยกระบวนงานทเฉพาะเจาะจงไปยงฟอรมหรอรายงานทคลาสโมดลแนบอย สวนโมดลมาตรฐานจะประกอบดวยกระบวนงานทวไปทไมสมพนธกบวตถ อนใด โมดลมาตรฐานจะถกแสดงอยภายใต โมดล ในบานหนาตางนาทาง ขณะทคลาสโมดลจะไมถกแสดงไว

6. สเปคของฐานขอมลใน Access 2007 1 ดงตารางตอไป น รายการเฉพาะในฐานขอมล Access 2007 มสเปคของฐานขอมล

1 Http://office.microsoft.com/th-th/access

Page 14: บท1

1-14

ตารางท 1-2 สเปคทวไป แอตทรบวต คาสงสด

ขนาดแฟมฐานขอมล Access (.accdb) 2 กกะไบต ลบดวยชองวางทจาเปนสาหรบวตถ ของระบบ

จานวนวตถในฐานขอมล 32,768 จานวนโมดล (รวมทงฟอรมและรายงานทตงคาคณสมบต HasModule เปน True)

1,000

จานวนอกขระของชอวตถ 64 จานวนอกขระของรหสผาน 20 จานวนอกขระของชอผใชหรอชอกลม 20 จานวนผใชงานพรอมกน 255 ตารางท 1-3 สเปคตาราง

แอตทรบวต คาสงสด

จานวนอกขระของชอตาราง 64 จานวนอกขระของชอเขตขอมล 64 จานวนเขตขอมลในหนงตาราง 255 จานวนตารางทเปด 2048 จานวนจรงอาจนอยกวาน เนองจากตาราง

อาจถกเปดอยภายในดวย Access ขนาดตาราง 2 กกะไบต ลบดวยชองวางทจาเปนสาหรบวตถ

ของระบบ จานวนอกขระในเขตขอมล Text หนงเขตขอมล 255 จานวนอกขระในเขตขอมล Memo หนงเขตขอมล

65,535 เมอปอนขอมลผานสวนตดตอผใช 2 กกะไบตเมอปอนขอมลผานทางการเขยน โปรแกรม

ขนาดของเขตขอมล OLE Object 1 กกะไบต จานวนดชนของตารางหนงตาราง 32 จานวนเขตขอมลของดชนหนงดชน 10 จานวนอกขระของขอความตรวจสอบหนงขอความ

255

จานวนอกขระของกฎการตรวจสอบหนงกฎ 2,048

Page 15: บท1

1-15

ตารางท 1-3(ตอ) สเปคตาราง แอตทรบวต คาสงสด

จานวนอกขระของคาอธบายตารางหรอเขตขอมลหนงคาอธบาย

255

จานวนอกขระของระเบยนหนงระเบยน (ยกเวนเขตขอมล Memo และ OLE Object) เมอคณสมบ ต การบบ Unicode ของเขตขอมลถกตง คาเปน ใช

4,000

จานวนอกขระของการต งคาคณสมบต เขตขอมล

255 

ตารางท 1-4 สเปคแบบสอบถาม

แอตทรบวต คาสงสด

จานวนของความสมพนธทบงคบใช 32 ตอตาราง ลบดวยจานวนของดชนทอยในตารางนนสาหรบเขตขอมลหรอ การรวมของเขตขอมลทไมเกยวของในความสมพนธ *

จานวนของตารางในแบบสอบถาม 32* จานวนของการรวมในแบบสอบถาม 16* จานวนเขตขอมลในชดระเบยน 255 ขนาดของชดระเบยน 1 กกะไบต ขอจากดของการเรยงลาดบ อกขระ 255 ตวในเขตขอมลอยางนอยหนงเขต

ขอมล จานวนของระดบแบบสอบถามทซอนกน 50* จานวนอกขระของเซลลในตารางออกแบบแบบสอบถาม

1,024

จานวนอกขระของพารามเตอรในแบบสอบถามพารามเตอร

255

จานวนของตวดาเนนการ AND ในคาสง WHERE หรอ HAVING

99*

จานวนอกขระของคาสง SQL ประมาณ 64,000* *คาสงสดอาจตากวานถ าแบบสอบถามมเขตขอมลการคนหาทมหลายคา

Page 16: บท1

1-16

ตารางท 1-5 สเปคฟอรมและรายงาน แอตทรบวต คาสงสด

จานวนอกขระของปายชอหนงปาย 2,048 จานวนอกขระของกลองขอความหนงกลอง 65,535 ความกวางของฟอรมหรอรายงาน 22 นว (55.87 เซนตเมตร) ความสงของสวน 22 นว (55.87 เซนตเมตร) ความสงของสวนทงหมดรวมสวนหวของสวน (ในมมมองออกแบบ )

200 นว (508 เซนตเมตร)

จานวนระดบของฟอรมหรอรายงานทซอนกน 7 จานวนเขตขอมลหรอนพจนทคณสามารถ เรยงลาดบหรอจดกลมในรายงาน

10

จานวนสวนหวและสวนทายของรายงานหนงฉบบ

สวนหว /สวนทายรายงาน 1 สวน สวนหว /สวนทายหนา 1 สวน สวนหว /สวนทายกลม 10 สวน

จานวนหนาทถกพมพในรายงานหนงฉบบ 65,536 จ านวนตวควบคมและสวนทคณสามารถ เพมเตมตลอดการใชงานของฟอรมหรอรายงาน

754

จานวนอกขระในคาสง SQL ทใชในคณสมบ ต Recordsource หรอ Rowsource ของฟอรม รายงาน หรอตวควบคม (ทง .accdb และ .adp)

32,750

ตารางท 1-6 สเปคแมโคร

แอตทรบวต คาสงสด

จานวนแอคชนของแมโคร 999 จานวนอกขระของเงอนไข 255 จานวนอกขระของขอคดเหน 255 จานวนอกขระในอารกวเมนตของแอคชน 255

Page 17: บท1

1-17

7. สเปคของโครงการใน Access 2007

รายการเฉพาะในโครงการฐานขอมล Access 2007 มสเปคของโครงการ2 ดงน ตารางท 1-7 สเปคทวไป

แอตทรบวต คาสงสด

จานวนวตถของโครงการ Access (.adp) 32,768 จานวนโมดล (รวมท งฟอรมและรายงานทต งคาคณสมบต HasModule เปน True)

1,000

จานวนอกขระของชอวตถ 64 จานวนคอลมนของตารางหนงตาราง 250 (Microsoft SQL Server 6.5)

1024 (Microsoft SQL Server 7.0 2000 และ 2005)

ตารางท 1-8 สเปคฟอรมและรายงาน แอตทรบวต คาสงสด

จานวนอกขระของปายชอหนงปาย 2,048 จานวนอกขระของกลองขอความหนงกลอง 65,535 ความกวางของฟอรมหรอรายงาน 22 นว (55.87 เซนตเมตร) ความสงของสวน 22 นว (55.87 เซนตเมตร) ความสงของสวนทงหมดรวมสวนหวของสวน (ในมมมองออกแบบ )

200 นว (508 เซนตเมตร)

จานวนระดบของฟอรมหรอรายงานทซอนกน 7 จานวนเขตขอมลหรอนพจนทคณสามารถเรยงลาดบ หรอจดกลมในรายงาน

10

จานวนสวนหวและสวนทายของรายงานหนงฉบบ สวนห ว /สวนท า ย ร า ย ง าน 1 สวน ส วนห ว /ส วนท า ย ห น า 1 ส ว น สวนหว /สวนทายกลม 10 สวน

จานวนหนาทถกพมพในรายงานหนงฉบบ 65,536 จานวนตวควบคมและสวนทคณสามารถเพมเตม ตลอดการใชงานฟอรมหรอรายงาน

754

จานวนอกขระในคาสง SQL ทใชในคณสมบต Recordsource หรอ Rowsource ของฟอรม รายงาน หรอตวควบคม (ทง .accdb และ .adp)

32,750

2 Http://office.microsoft.com/th-th/access

Page 18: บท1

1-18

ตารางท 1-9 สเปคแมโคร

แอตทรบวต คาสงสด

จานวนของแอคชนในแมโคร 999 จานวนอกขระของเงอนไข 255 จานวนอกขระของขอคดเหน 255 จานวนอกขระในอารกวเมนตของแอคชน 255

8. หลกการออกแบบฐานขอมลทด

ในกระบวนการออกแบบฐานขอมลทด นน มหลกการบางอยางเปนแนวทางในการดาเนนการ ดงน

1. ขอมลซา หรอทเรยกวาขอมลซาซอน ไมใชสงทด เนองจากเปลองพนทและอาจทาใหมขอผดพลาดเกดขนรวมถงเกดความไมสอดคลองกน

2. ความถกตองและความสมบรณของขอมลเปนสงสาคญ ถาฐานขอมลมขอมลทไมถกตอง รายงานตางๆ ทดงขอมลจากฐานขอมลจะมขอมลทไมถกตองตามไปดวย สงผลใหการตดสนใจตาง ๆ ทไดกระทาโดยยดตามรายงานเหลานนจะไมถกตองดวยเชนกน

ดงนน หลกการออกแบบฐานขอมลทด คอ 1. แบงขอมลของคณลงในตารางตาง ๆ ตามหวเรองเพอลดการซาซอนกนของขอมล 2. ใสขอมลทจาเปนลงใน Access เพอรวมขอมลในตารางตางๆ เขาดวยกนตาม

ตองการ 3. ชวยสนบสนนและรบประกนความถกตองและความสมบรณของขอมล 4. ตอบสนองตอความตองการในการประมวลผลขอมลและการรายงาน

9. กระบวนการออกแบบ

กระบวนการออกแบบประกอบดวยขนตอนตอไปน 1. กาหนดวตถประสงคของฐานขอมล 2. คนหาและจดระเบยบขอมลทตองการ รวบรวมขอมลทกชนดทตองการบนทกลง

ในฐานขอมล เชน ชอผลตภณฑและหมายเลขใบสงซอ 3. แบงขอมลลงในตารางตาง ๆ แบงรายการขอมลออกเปนกลมหรอหวเรองหลก ๆ

เชน ผลตภณฑ หรอใบสงซอ จากนนแตละหวเรองจะถกนามาทาเปนตาร าง

Page 19: บท1

1-19

4. เปลยนรายการของขอมลใหเปนคอลมนตาง ๆ ตดสนใจวาตองการเกบขอมลอะไร ในตารางแตละตาราง รายการแตละรายการจะกลายเปนเขตขอมล และแสดงเปนคอลมนในตาราง ตวอยางเชน ตารางพนกงานอาจมเขตขอมลเชน นามสกล และวนทจางงาน

5. ระบคยหลก เลอกคยหลกของตารางแตละตาราง คยหลก คอคอลมนทใชเพอระบแตละแถวแบบไมซากน ตวอยางเชน หมายเลขผลตภณฑ หรอ ID ใบสงซอ

6. กาหนดความสมพนธของตารา ง ดทตารางแตละตารางแลวพจารณาวาขอมลใน ตารางหนงสมพนธกบขอมลในตารางอน ๆ อยางไร ใหเพมเขตขอมลล งในตารางหรอสรางตารางใหมเพอระบความสมพนธตาง ๆ ใหชดเจนตามตองการ

7. การปรบการออกแบบใหดยงข น วเคราะหการออกแบบ เพอหาขอผดพลาด สรางตารางแลวเพมระเบยนขอมลตวอยางสองสามระเบยน ใหดวาจะไดรบผลลพธทตองการจากตารางนน หรอไม แลวปรบเปลยนการออกแบบตามตองการ

8. การใชกฎ Normalization ใชกฎ Normalization ขอมลเพอดวาตารางมโครงสรางทถกตองหรอไม ปรบเปลยนการออกแบบได เมอจาเปน

9.1 การกาหนดวตถประสงคขอ งฐานขอมล

เปนการดทจะเขยนวตถประสงคของฐานขอมลลงบนกระดาษ ไดแก การคาดหวงวาจะใชฐานขอมลอยางไร และใครจะเปนผใช ตวอยางเชน ฐานขอมลขนาดเลก สาหรบธรกจระดบครอบครว อาจเขยนทานองวา “ฐานขอมลลกคามไวเกบรายการขอมลลกคา เพอวตถประสงคในการออกจดหมายและรายงาน” ถาฐานขอมลซบซอนขนหรอมผใชหลายคน ดงท เกดขนอยบอย ๆ ในองคกร วตถประสงคอาจยาวเปนยอหนาหรอหลายยอหนา และควรจะบอกวาใครจะใชฐานขอมล เมอใดหรออยางไร แนวคดกคอวา เขยนพนธกจทเรยบเรยงไวดแลวนน จะสามารถใช อางถงไดตลอดกระบวนการออกแบบ การมบนทกดงกลาวจะชวยใหจดจอกบจ ดมงหมายเมอกระทาการตดสนใจในกรณตาง ๆ

9.2 การคนหาและการจดระเบยบขอมลทตองการ

เมอตองการคนหาและจดระเบยบขอมลทตองการ ใหเรมตนกบขอมลทมอยเปน อนดบแรก เชน บนทกใบสงซอในบญช หรอเกบขอมลลกคาในแบบฟอรมกระดาษไวในแฟมเอกสาร ใหรวบรวมเอกสารเหลาน แลวทารายการชนดของขอมล (ตวอยางเชน แตละชองทกรอก ลงในฟอรม) ถาไมมฟอรมใด ๆ อย ใหลองจนตนาการแทนวากาลงออกแบบฟอรมสาหรบการ บนทกขอมลลกคา ตองคดวาจะใสขอมลอะไรลงในฟอรมน จะสรางกลองสาหรบกรอกขอมล อะไรบาง ใหระบและจดบนทกรายการเหลานแตละรายการไว ตวอยางเชน สมมตวาคณเกบรายชอ ลกคาไวในบตรดชน ใหสารวจบตรดชนเหลานวาในบตรอาจจะมรายละเอยดเกยวกบชอลกคา ทอย

Page 20: บท1

1-20

เมอง รฐ รหสไปรษณย และหมายเลขโทรศพท โดยสามารถใชรายการเหลานแตละราย การในการสรางคอลมนในตารางได

ในระหวางทกาลงเตรยมรายการนอย ไมตองเปนกงวลวาจะตองทาใหไดสมบรณ แบบในครงแรก ใหแจกแจงแตละรายการเทาทนกได ถาจะมบคคลอนใชฐานขอมลนดวย ใหลองถามความคดเหนจากบคคลเหลานนด ซงสามารถปรบรายการใหสมบรณยงขนไดในภายหลง

ในขนตอไป ใหพจารณาชนดของรายงานหรอการสงจดหมายทตองการสรางขนโดย ใชฐานขอมล ตวอยางเชน ตองการรายงานการขายของผลตภณฑ เพอแสดงยอดขายตามภมภาค หรอรายงานสรปสนคาคงคลงทแสดงระดบสนคาคงคลง นอกจากน ถาตองการสรางจดหมายแบบฟอรมสาหรบสงถงลกคาเพอประกาศกจกรรมการขายหรอนาเสนอขอเสนอพเศษตาง ๆ ใหออกแบบรายงานนไวในใจ แลวจนตนาการวารายงานจะมรปลกษณอยางไร จะใสขอมลอะไรบางลงในรายงาน ใหจดแตละรายการไว แลวทาเชนเดยวกนนสาหรบจดหมายแบบฟอรมและสาหร บรายงานอน ๆ ทจะสรางขน

รปท 1-10 การวางแผนคนหาและจดระเบยบขอมล

เมอคดถงรายงานและการสงจดหมายทตองการสราง จะเปนการชวยให การระบ

รายการตาง ๆ ทตองการใหมในฐานขอมลได เชน ถาเปดโอกาสใหลกคาสามารถขอรบหรอขอยกเลกการรบขอมลลาสดทางอเมลเปนประจา และตองการพมพรายชอลกคาทตองการสมครรบขอมล เมอตองการบนทกขอมลดงกลาวไว ใหเพมคอลมน “สงอเมล ” ลงในตารางลกคา และใหสามารถตงคาเขตขอมลเปน ใช หรอ ไมใช ใหกบลกคาแตละรายได

ขอกาหนดในการสงขอความอเมลถงลกคาเปนอกรายการหน งทตองบนทกไว เมอทราบวาลกคาตองการรบขอความอเมล จาเปนทจะตองทราบทอยอเมลสาหรบการสงขอความอเมล เหลาน ดงนนจงตองบนทกทอยอเมลของลกคาแตละรายไวดวย

Page 21: บท1

1-21

เปนเรองสมเหตสมผลทจะสรางแบบตวอยางของรายงานหรอรายการผลลพธ แลวพจารณาวารายการใดทตองการสรางเปนรายงาน ตวอยางเชน เมอตองการตรวจสอบฟอรมจดหมาย อาจทาใหนกอะไรไดหลายอยาง ตวอยางเชน ถาตองการใสคาทกทายทเหมาะสม ตองสรางรายการคาทกทายดวยสตรงทเรมคาขนตนจดหมายวา “คณ” หรอ “Mr.” “Mrs.” หรอ “Ms.” และอาจเรมตนจดหมายแบบทวไปดวย “เรยน คณศกดสทธ ” แทนทจะเปน “เรยน คณศกดสทธ วชรารตน ” หรอ “Dear Mr. Saksit” แทนทจะเปน “Dear Mr. Saksit Watchararat” ดงนจงรวาควรเกบชอกบนามสกล ไวแยกกน

ประเดนสาคญทตองจาคอ ควรแตกขอมลใหเปนสวนเลกทสดทมประโยชน ในกรณของชอ เพอทาใหนามสกลพรอมใชงานได ควรแบงชอออกเปนสองสวน คอชอกบนามสกล ตวอยางเชน เมอตองการเรยงลาดบตามนามสกล การแบงเชนนจะทาใหนามสกลของลกคาถกเกบ แยกตางหาก โดยทวไป ถาตองการเรยงลาดบ คนหา คานวณ หรอรายงานโดยยดตามขอมลรายการหนงแลว ควรเกบขอมลรายการนนในเขตขอมลของตวเอง

ลองนกถงคาถามทตองการใหฐานขอมลตอบ ตวอยางเชน มรายการขายของผลตภณฑเดนทปดรายการขายไดเมอเดอนทแลวกรายการ ลกคาดทสดอาศยอยทไหน ใครเปนผ จาหนายผลตภณฑทขายดทสด การคดคาถามเหลานลวงหนาจะชวยใหไมตองเพมรายการใน ระเบยน

9.3 การแบงขอมลลงในตารางตาง ๆ

เ มอตองการแบงขอมลลงในตาราง ใหเลอกขอมลเฉพาะตวหรอเรองสาคญ ตวอยางเชน หลงจากคนหาและจดระเบยบขอมลสาหรบฐานขอ มลการขายสนคาแลว รายการเบองตนอาจเปนดงน

รปท 1-11 การแบงขอมลเฉพาะตวหรอเรองสาคญลงในตาราง

Page 22: บท1

1-22

ขอมลเฉพาะตวทสาคญซงแสดงในทนไดแก ผลตภณฑ ผจาหนาย ลกคา และใบสงซอ ดงนน จงสมควรเรมตนดวยตาราง 4 ตาราง คอ ตารางหนงสาหรบขอเทจจรงเกยวกบผ ลตภณฑ ตารางหนงสาหรบขอเทจจรงเกยวกบผจาหนาย ตารางหนงสาหรบขอเทจจรงเกยวกบลกคา และ ตารางหนงสาหรบใบสงซอ ถงแมวาทงหมดนจะไมใชรายการทครบถวน แตกเปนจดเรมตนทด สามารถปรบปรงรายการนตอจนกวาจะมการออกแบบททางานไดด

เมอไดตรวจทานรายการสงตาง ๆ ขนตนเปนครงแรก เราอาจอยากใสรายการทงหมดลงในตารางเดยวแทนทจะเปนสตารางดงทแสดงภาพประกอบไวกอนหนา จะไดเรยนรวาทาไมการทาเชนนนจงไมใชความคดทด ลองพจารณาตารางทแสดงตอไปน

รปท 1-12 ตวอยางการ ใสรายการทงหมดลงในตาราง เดยว

ในกรณน แตละแถวมขอมลเกยวกบผลตภณฑและผจาหนายผลตภณฑนน เนองจาก

เราสามารถมผลตภณฑหลายอยางจากผจาหนายรายเดยวกน ชอและทอยผจาหนายจงปรากฏซาหลา ครง ทาใหเปลองเนอทดสก การบนทกขอมลผจาหนายเพยงครงเดยวในตาร างผจาหนาย ซงแยกตางหากแลวเชอมโยงมายงตารางผลตภณฑ จงเปนวธแกปญหาทดกวา

ปญหาทสองของการออกแบบนเกดขน เมอตองการปรบเปลยนขอมลเกยวกบผ จาหนาย ตวอยางเชน สมมตวาตองการเปลยนทอยของผจาหนาย เนองจากทอยปรากฏในหลาย แหง เราอาจเปลยนทอยในรายการหนงแลวลมเปลยนอกรายการโดยไมไดตงใจ การบนทกทอยของผ จาหนายไวในทเดยวจะแกปญหาน

เมอออกแบบฐานขอมล ใหพยายามบนทกขอเทจจรงแตละอยางเพยงครงเดยวเสมอ ถาพบวาตวเองเกบขอมลเดยวกนซามากกวาหน งแหง เชน ทอยของผจาหนายรายหนง ใหเกบขอมล ในตารางทแยกตางหาก

สดทาย สมมตวามเพยงผลตภณฑเดยวท Coho Winery จาหนาย และตองการลบผลตภณฑนนแตตองการเกบขอมลชอผจาหนายและทอยไว เราจะลบระเบยนผลตภณฑโดยไมสญเสยขอมลผจาหนายไดอยางไร คาตอบคอทาไมได เพราะวาระเบยนแตละระเบยนมขอเทจจรง เกยวกบผลตภณฑและเกยวกบผจาหนายดวย เราไมสามารถลบอยางหนงโดยไมลบอกอยางได ถาตองการเกบขอเทจจรงเหลานแยกจากกน ตองแบงตารางออกเปนสองตาราง คอ ตารางหนงสาหรบ

Page 23: บท1

1-23

ขอมลผลตภณฑ และอกตารางสาหรบขอมลผจาหนาย การลบระเบยนของผลตภณฑควรลบแคขอเทจจรงเกยวกบผลตภณฑเทานน ไมใชขอเทจจรงเกยวกบผจาหนาย

เมอไดเลอกเรองทจะแทนดวยตารางแลว คอลมนในตารางนนควรเกบเฉพาะ ขอเทจจรงเกยวกบเรองนนเ ทานน ตวอยางเชน ตารางผลตภณฑควรเกบเฉพาะขอเทจจรงเกยวกบ ผลตภณฑ เนองจากทอยของผจาหนายเปนขอเทจจรงเกยวกบผจาหนาย ไมใชขอเทจจรงเกยวกบ ผลตภณฑ ดงนนตองอยในตารางผจาหนาย

9.4 การเปลยนรายการขอมลใหเปนคอลมน

เมอตองการกาหนดคอลมนในตาราง ใหพจารณาวาตองการขอมลใดบางในการตดตามเกยวกบหวเรองทบนทกในตาราง ตวอยางเชน สาหรบตารางลกคานน คอลมนตาง ๆ ไดแก ชอ ทอย รหสไปรษณย สงอเมล คาขนตนจดหมาย และทอยอเมล จะเปนรายการคอลมนเรมตนทด แตละระเบยนในตารางจะมคอลมนชดเดยวกน ดงนนคณจะสามารถเกบขอมลชอ ทอย รหสไปรษณย สงอเมล คาขนตนจดหมาย และทอยอเมลสาหรบแตละระเบยนได ตวอยางเชน ในคอลมนทอยจะมขอมลทอยของลกคา แตละระเบยนจะประกอบดวยขอมลเกยวกบล กคาหนงราย และเขตขอมลทอยจะประกอบดวยทอยของลกคารายนน

เมอไดกาหนดชดของคอลมนเรมตนสาหรบตารางแตละตารางไดแลว สามารถปรบปรงรายการคอลมนไดอก ตวอยางเชน เปนเรองทดทจะเกบชอลกคาแยกเปนสองคอลมน คอ ชอและนามสกล เพอใหสามารถเรยงลาดบ คนหา หรอทาดชนของคอลมนเหลานนได ในทานองเดยวกน จรงๆ แลวทอยประกอบดวยคอมโพเนนตทแยกได 5 สวน คอ บานเลขท-ถนน เมอง รฐ รหสไปรษณย และประเทศ/ภมภาค และเปนเรองสมควรทจะเกบคอลมนแยกกน ตวอยางเชน ถาตองการดาเนนการคนหา กรอง หรอเรยงลาดบตามจงหวด จาเปนตองใชขอมลจงหวดซงเกบในอกคอลมนตางหาก

นอกจากน ยงควรพจารณาวาฐานขอมลจะบรรจเฉพาะขอมลทมาจากแหลง ภายในประเทศเพยงอยางเดยว หรอเกบขอมลทมาจากแหลงตางประเทศดวย เชน ถาวางแผนทจะเกบท อยในตางประเทศ ควรจะมคอลมนภมภาคแทนคอลมนรฐ เนองจากคอลมนดงกลาวสามารถบนทกไดทงขอมลรฐภายในประเทศ และภมภาคของประเทศ/ภมภาคอน ๆ อกทงรหสไปรษณยยงเหมาะสมกวารหสประจารฐ ถาคดจะเกบขอมลทอยตางประเทศดวย

รายการตอไปนจะแสดง เคลดลบสองสามประการในการกาหนดคอลมน 1. ไมควรรวมขอมลจากการคานวณ ไมควรเกบผลลพธของการคานวณไวใน

ตาราง แตสามารถให Access 2007 ทาการคานวณไดเมอตองการดผลลพธ ตวอยางเชน สมมตวามรายงานผลตภณฑทสงซอซงแสดงผลรวมยอยของจานวนทสงซอสาหรบผ ลตภณฑแตละประเภทในฐานขอมล อยางไรกตาม จะไมมคอลมนผลรวมยอยจานวนทสงซออยในตาราง แตตาราง

Page 24: บท1

1-24

ผลตภณฑจะมคอลมนจานวนทสงซอซงเกบขอมลจานวนหนวยของแตละผลตภณฑในใบสงซอไว Access 2007 จะใชขอมลดงกลาวในการคานวณผลรวมยอย เมอคณพมพรายงานในแตละครง และผลรวมยอยเองไมควรจะถกเกบอยในตาราง

2. เกบขอมลในสวนตรรกะทเลกทสด ถาอยากมเขตขอมลหนงเขตสาหรบชอเตม หรอชอผลตภณฑควบคไปกบรายละเอยดผลตภณฑ ใสขอมลมากกวาหนงชนดลงในลงในเขต ขอมลหนงเขต จะทาใหยากตอก ารดงขอมลแตละชนดออกมาในภายหลง ใหลองแตกยอยขอมลลงเปนหนวยเชงตรรกะ เชน สรางเขตขอมลเฉพาะสาหรบชอและอกเขตหนงสาหรบนามสกล หรอสาหรบชอผลตภณฑ ประเภท และคาอธบาย

รปท 1-13 การแตกยอยขอมลลงเปนหนวยเชงตรรกะ

เมอคณปรบปรงคอลมนขอมลในแตละตารางเรยบร อยแลว คณกพรอมทจะเลอกคย

หลกของตารางแตละตาราง

9.5 การระบคยหลก

ในแตละตารางควรจะมคอลมนหรอชดของคอลมนทระบแตละแถวทเกบอยใน ตารางโดยไมซากน ซงมกจะเปนหมายเลขการระบทไมซากน เชน หมายเลข ID พนกงาน หรอหมายเลขผลตภณฑ ในเชงศพทเกยวกบฐานขอมลนน ขอมลนจะมชอเรยกวา คยหลก ของตาราง ซง Access 2007 จะใชเขตขอมลคยหลกในการเชอมโยงขอมลจากตารางหลายตารางอยางรวดเรว แลวนาขอมลเหลานมารวมกนให

ถามตวระบทไมซากนสาหรบตารางนนแลว เชน หมายเลขผลตภณฑซงระบผลตภณฑในแคตตาลอกโดยไมซากน เราสามารถใชตวระบนนเปนคยหลกของตารางได แตม

Page 25: บท1

1-25

เงอนไขวาคาในคอลมนนตองไมเหมอนกนในทกระเบยนเสมอ เราไมสามารถมคาซากนในคยหล ได ตวอยางเชน ไมใชชอคนเปนคยหลกเนองจากชออาจซากนได เปนเรองงายทจะมคนสองคนซงชอเหมอนกนในตารางเดยวกน

คยหลกตองมคาเสมอ ถาคาของคอลมนนนไมมหรอไมทราบคา (คาทหายไป ) จะไมสามารถใชเปนสวนหนงของคยหลกได

ควรเลอกคยหลกทคาจะไมเปลยน ในฐานขอมลทใชมากกวาหนงตาราง คยหลกของตารางสามารถใชเปนการอางองในตารางอนได ถาคยหลกเปลยนแปลง การเปลยนแปลงนนจะมผลกบทกแหงทอางองคยนน การใชคยหลกทไมเปลยนแปลงจะลดโอกาสทคยหลกอาจไมเปลยนให ตรงกนกบตารางอนทอางถงคยหลกนน

บอยครงทจะมการใชหมายเลขท ไมซากนเปนคยหลก ตวอยางเชน อาจกาหนดหมายเลขใบสงซอทไมซากนใหกบการสงซอแตละครง วตถประสงคเดยวของหมายเลขใบสงซอน คอ เพอระบใบสงซอแตละใบ เมอมการกาหนดแลว หมายเลขนจะไมมการเปลยนแปลง

ถาไมมคอลมนหรอชดคอลมนในใ จทอาจเปนคยหลกทดแลวละก ใหลองพจารณาใชคอลมนทมชนดขอมลเปน AutoNumber เมอคณใชชนดขอมล AutoNumber โปรแกรม Access 2007 จะกาหนดคาใหคณโดยอตโนมต ตวระบเชนนไมมความหมาย ไมไดมขอมลขอเทจจรงทใช อธบายแถวทระบ ตวระบทไมมความหมายนเหมาะจะใชเปนคยหลกเพราะไมมการเปลยนแปลงคา คยหลกทมขอเทจจรงเกยวกบแถว ตวอยางเชน หมายเลขโทรศพท หรอชอลกคา มโอกาสทจะเปลยน เพราะตวขอเทจจรงเองนนอาจเปลยนแปลงได

รปท 1-14 การกาหนดคยหลก

จากรป มอยบอยครงทคอลมนทต งคาเปนชนดขอมล AutoNumber มกจะสามารถใช

เปนคยหลกทดได เนองจากไมมหมายเลขผลตภณฑทตรงกนสองรายการ ในบางกรณ อาจตองการใชเขตขอมลอยางนอยสองเขตขอมลรวมกนเปนคยหลก

ของตาราง ตวอยางเชน ตารางรายละเอยดใบสงซอทเกบรายการใบสงซ อควรใชสองคอลมนเปนคยหลก ไดแก ID ใบสงซอและหมายเลขผลตภณฑ เมอมการใชคยหลกมากกวาหนงคอลมน จะเรยกวา คยผสม

Page 26: บท1

1-26

สาหรบฐานขอมลยอดขายผลตภณฑ สามารถสรางคอลมน AutoNumber สาหรบแตละตารางเพอใชเปนคยหลกได ไดแก หมายเลขผลตภณฑสาหรบตารางผลตภณฑ ID ใบสงซอ สาหรบตารางใบสงซอ ID ประจาตวลกคาสาหรบตารางลกคา และ ID ผจาหนายสาหรบตารางผ จาหนาย

รปท 1-15 สรางคอลมน AutoNumber สาหรบแตละตารางเพอใชเปนคยหลกได

9.6 การสรางความสมพนธของตาราง

ตอนนเราไดแบงขอมลออกเปนตารางตาง ๆ แลว และตองการวธทจะนาขอมลมารวมกนอกครงไดอยางเหมาะสม ตวอยางเชน ฟอรมตอไปนมขอมลจากหลายตาราง คอ

1. ตารางลกคา 2. ตารางพนกงาน 3. ตารางใบสงซอ 4. ตาราง ผลตภณฑ 5. ตารางรายละเอยดใบสงซอ

Page 27: บท1

1-27

รปท 1-16 รายละเอยดใบสงซอ สนคา

Access 2007 เปนระบบจดการฐานขอมลเชงสมพนธ ในฐานขอมลเชงสมพนธ แบง

ขอมลออกเปนตารางตามหวเรองแยกจากกน จากนนใชความสมพนธของตารางนาขอมลมารวมกน ตามตองการ

1. การสรางความสมพนธแบบหนง-ตอ-กลม ใหพจารณาตวอยางน ในฐานขอมลการสงซอสนคามตารางผจาหนายและ

ตารางผลตภณฑ เนองจากผจาหนายหนงรายในตารางผจาหนายสามารถผลตสนคาจานวนเทาใดก ได ดงนนผจาหนายจงมผลตภณฑหลายรายการในตารางผลตภณฑ ความสมพนธระหวางตารางผ จาหนายและตารางผลตภณฑจงเปนความสมพนธแบบหนง -ตอ -กลม

รปท 1-17 ความสมพนธแบบหนง-ตอ -กลม

Page 28: บท1

1-28

เมอตองการแสดงความสมพนธแบบหนง-ตอ -กลมในการออกแบบฐานขอมล

ใหใชคยหลกทดาน “หนง” ของความสมพนธ แลวเพมคยหลกนนเขาไปเปนอกคอลมนหรอหลาย คอลมนในตารางของดาน “กลม ” ของความสมพนธ ตวอยางเชน ในกรณน เราเพมคอลมน ID ผ จาหนายจากตารา งผจาหนายลงในตารางผลตภณฑ จากนน Access 2007 จงสามารถใช ID ผ จาหนายในตารางผลตภณฑระบตาแหนงของผจาหนายทถกตองของผลตภณฑแตละอยาง

คอลมน ID ผจาหนายในตารางผลตภณฑเรยกวา Foreign Key ซงเปนคยหลกของอกตารางหนง คอลมน ID ผจาหนายในตารางผลตภณฑเปน Foreign Key เนองจากคอลมนนเปนคยหลกในตารางผจาหนายดวย

รปท 1-18 ความสมพนธกนระหวางคยหลกกบ Foreign Key

เมอรวมตารางทสมพนธกนดวยการจบคระหวางคยหลกกบ Foreign Key ถาไม

แนใจวาตารางใดควรใชคอลมนรวมกน การระบความสมพนธแบบหนง-ตอ -กลมจะทาใหแนใจวา ตารางสองตารางทเกยวของกนนนตองใชคอลมนรวมกนจรง

2. การสรางความสมพนธแบบกลม -ตอ-กลม ใหพจารณาความสมพนธระหวางตารางผลตภณฑและตารางใบสงซอ ใบสงซอหนงใบอาจมผลตภณฑสนคาไดมากกวาหนงรายการ ในทางตรงกน

ขาม ผลตภณฑสนคารายการหนงอาจปรากฏในใบสงซอไดหลายใบ ดงนนแตละระเบยนในตาราง ใบสงซอจงอาจมหลายระเบยนในตารางผลตภณฑ และในแตละระเบยนของตารางผลตภณฑกอาจ มหลายระเบยนในตารางใบสงซอ ความสมพนธเชนนเรยกวาความสมพนธแบบ กลม -ตอ -กลม

Page 29: บท1

1-29

เนองจากผลตภณฑหนงอาจอยในใบสงซอหลายใบ และใบสงซอหนงกอาจมผลตภณฑสนคาหลาย รายการ ใหสงเกตวาเมอตองการตรวจหาความสมพนธแบบกลม -ตอ -กลมในตาราง สงสาคญคอตองพจารณาความสมพนธของทงสองดาน

หวเรองของสองตาราง ไดแก ใบสงซอและผลตภณฑ มความสมพนธแบบกลม -ตอ -กลม ซงเปนปญหา เมอตองการทจะเขาใจปญหาดงกลาว ใหลองนกภาพวาจะเกดอะไรขน ถาจะพยายามสรางความสมพนธระหวางสองตารางดวยการเพมเขตขอมลหมายเลขผลตภณฑลงใน ตารางใบสงซอ เมอตองการมผลตภณฑมากกวาหนงรายการตอใบสงซอหนงใบ เราตองใชระเบยนในตารางใบสงซอมากกวาหนงระเบยนตอใบสงซอหนงใบ ตองทาซาแถวขอมลการสงซอแตละแถ ทสมพนธกบใบสงซอใบเดยว ผลทไดคอการออกแบบทขาดประสทธภาพซงจะนาไปสขอมลทไม ถกตอง ซงจะพบปญหาเดมถาเอาเขตขอมล ID ใบสงซอไปใสในตารางผลตภณฑ เมอตารางผลตภณฑมระเบยนสาหรบผลตภณฑแตละอยางมากกวาหนงระเบยน จะแกปญหานอยางไร

คาตอบคอการสรางตารางทสามขน ซงมกจะเรยกวาตารางเชอมตอ (Junction table) ซงจะแตกความสมพนธแบบกลม -ตอ -กลมลงเปนความสมพนธแบบหนง -ตอ -กลมจานวนสองความสมพนธ ใหคณแทรกคยหลกจากแตละตารางลงในตารางทสาม ผลทไดคอตารางทสามจะบนทกแตละรายการหรออนสแตนซของความสมพนธไว

รปท 1-19 ตารางเชอมตอ (Junction table) คอตารางรายละเอยดใบสงซ อ

ระเบยนในตารางรายละเอยดใบสงซอแตละระเบยนจะแทนรายการหนง

บรรทดของใบสงซอ คยหลกของตารางรายละเอยดใบสงซอประกอบดวยเขตขอมลสองเขต คอ Foreign Key จากตารางใบสงซอและตารางผลตภณฑ การใชเขตขอมล ID ใบสงซออยางเดยว ไมเพยงพอทจะเป นคยหลกของตารางน เนองจากใบสงซอหนงใบสามารถมรายการไดหลาย

Page 30: บท1

1-30

บรรทด ID ใบสงซอจะซากนทกบรรทดของใบสงซอ ดงนนเขตขอมลนจงมคาซากน การใชเขตขอมล หมายเลขผลตภณฑอยางเดยวกไมเพยงพอเชนกน เนองจากผลตภณฑสนคาหนงรายการอาจปรากฏในใบสงซอหลายตอหลายใบ แตถาใชพรอมกนทงสองเขตขอมลกจะใหคาทไมซากนสาหร แตละระเบยน

ในฐานขอมลยอดขายผลตภณฑนน ตารางใบสงซอและตารางผลตภณฑจะไม สมพนธกนและกนโดยตรง แตจะสมพนธกนโดยออมผานตารางรายละเอยดใบสงซอ ความสมพนธแบบกลม -ตอ -กลมระหวางใบสงซอและผลตภณฑจะแสดงอยในฐานขอมลโดยใช ความสมพนธแบบหนง-ตอ -กลม จานวนสองความสมพนธคอ

ตารางใบสงซอและตารางรายละเอยดใบสงซอมความสมพนธแบบหนง -ตอ -กลม ใบสงซอแตละใบสามารถมรายการบรรทดไดมากกวาห นงรายการ แตรายการบรรทดแตละ รายการจะเชอมตอกบใบสงซอเพยงหนงใบเทานน

ตารางผลตภณฑและตารางรายละเอยดใบสงซอมความสมพนธแบบหนง -ตอ -กลม ผลตภณฑแตละรายการสามารถมบรรทดรายการหลายบรรทดทสมพนธอยดวยกน แตบรรทดของรายการแตละบร รทดจะอางองถงผลตภณฑเพยงหนงรายการเทานน

จากตารางรายละเอยดใบสงซอ คณสามารถกาหนดใหมผลตภณฑทงหมดใน ใบสงซอเฉพาะใบ นอกจากนคณยงสามารถกาหนดใหใบส งซอทกใบมผลตภณฑใดผลตภณ ฑหนงโดยเฉพาะได

หลงจากรวมตารางรายละเอยดใบสงซอแล ว รายการของตารางและเขตขอมลอาจมลกษณะดงตอไปน

รปท 1-20 รายการของตารางและเขตขอมล เมอมตารางรายละเอยดใบสงซอ

Page 31: บท1

1-31

3. การสรางความสมพนธแบบหนง-ตอ-หนง ความสมพนธอกชนดหนงคอความสมพนธแบบหนง-ตอ -หนง เชน สมมตวา

จาเปนตองบนทกขอมลเกยวกบผลตภณฑอาหารเ สรมพเศษชนดหนงทจะใชนอยครงมาก หรอจะนาไปใชกบผลตภณฑเพยงไมกรายการเทานน เนองจากไมจาเปนตองใชขอมลดงกลาวบอยครง และเนองจากการเกบบนทกขอมลในตารางผลตภณฑอาจสงผลใหเกดพนทวางในผลตภณฑอน ๆ ทไมเกยวของกบผลตภณ ฑน ใหใสผลตภณฑดงกลาวลงในตารางอนแยกตางหาก และเชนเดยวกน กบตารางผลตภณฑ ใหใชหมายเลขผลตภณฑเปนคยหลก ความสมพนธระหวางตารางเสรมนและ ตารางผลตภณฑจะเปนความสมพนธแบบหนง-ตอ -หนง สาหรบแตละระเบยนในตารางผลตภณฑนน จะมระเบยนทตรงกนอยหนงระเบยนในตารางเสรม เมอระบความสมพนธดงกลาว ตารางทงสองตารางจะตองมเขตขอมลทใชรวมกน

เ มอตรวจพบความจาเปนทตองใชความสมพนธแบบหนง-ตอ -หนงในฐานขอมล ใหพจารณาวาสามารถนาขอมลจากตารางทงสองมาใสในตารางเดยวไดหรอ ไม ถาไมตองการทาเชนนนดวยเหตผลบางอยาง อาจเนองจากจะทาใหเกดพนทวางจานวนมาก รายการตอไปนแสดงวธทจะใชความสมพนธในการออกแบบ คอ

ถาตารางทงสองตารางนมหวเรองเดยวกน อาจตงคาความสมพนธดวยการใช คยหลกเดยวกนในทงสองตาราง

ถาตารางสองตารางมหวเรองทตางกนและมคยหลกทตางกน ใหเลอกตารางหนงตาราง (ตารางใดกได ) และแทรกคยหลกของตารางนนลงในอกตารางหนงเปน Foreign Key

การกาหนดความสมพนธระหวางตารางตางๆ จะชวยให เกด แนใจวา เรามตารางและคอลมนทถกตองแลว เมอมความสมพนธแบบหนง-ตอ -หนงหรอแบบหนง-ตอ -กลมอย ตาราง ตาง ๆ ทเกยวของจะตองมคอลมนรวมกนอยางนอยหนงคอลมน เมอมความสมพนธแบบกลม -ตอ -กลมอย จะตองมตารางทสามสาหรบแสดงความสมพนธดงกลาว

9.7 การปรบการออกแบบใหดยงขน

เมอมตาราง เขตขอมล และความสมพนธตามทตองการแลว ควรสรางตารางและใสขอมลตวอยางแลวลองทางานกบขอมล เชน สรางแบบสอบถาม เพมระเบยนใหม และอน ๆ การทาเชนนจะชวยใหเหนปญหาทอาจเกดไดชดเจน ตวอยางเชน อาจตองการเพมคอลมนทลมแทรกในระหวางขนตอนออกแบบ หรออาจมตารางทควรจะแยกเปนสองตารางเพอไมใหซากน

ใหดวาสามารถใชฐานขอมลดงคาตอบทตองการไดหรอไม ใหสรางฟอรมและรายงานอยางคราว ๆ ขน แลวดวาฟอรมและรายงานเหลานแสดงขอมลทคณคาดไวหรอไม ดวามขอมลทซากนโดยไม จาเปนหรอไม เมอพบวาม ใหแกไขการออกแบบเพอกาจดขอมลเหลาน ขณะทลองใชฐานขอมลในขนเรมตน อาจพบสงทตองปรบปรง สงทควรตรวจสอบไมกอยางม ดงน

Page 32: บท1

1-32

1. ลมคอลมนใดหรอไม ถาลม ขอมลนนเปนของตารางทมอยแลวหรอไม ถาเปนขอมลเกย วกบสงอน อาจตองสรางตารางอกตาราง ใหสรางคอลมนสาหรบขอมลทกอยางทคณตองการตดตาม ถาขอมลนนไมสามารถคานวณไดจากคอลมนอน กเปนไปไดอยางยงทตองสราง เปนคอลมนใหม

2. มคอลมนทไมจาเปนเนองจากสามารถคานวณจากเขตขอมลทมอยแลวหร อไม ถารายการขอมลนนสามารถคานวณไดจากคอลมนทมอย ตวอยางเชน ราคาทลดซงคานวณจากราคาขายปลก การทาแบบนนมกจะดกวาและเลยงการสรางคอลมนใหม

3. ใสขอมลเดยวกนซากนหลาย ๆ ครงลงในตารางหรอไม ถาเปนเชนน อาจจาเปนตองแบงตารางออกเปนสอ งตารางทมความสมพนธแบบหนง-ตอ -กลม

4. มตารางซงมเขตขอมลจานวนมาก มจานวนระเบยนทจากด และมเขตขอมลวางจานวนมากในแตละระเบยนหรอไม ถาม ลองนกถงการออกแบบตารางใหมเพอใหมเขตขอมลนอยลงและมระเบยนมากขน

5. รายการขอมลแตละรายการแตกออกเป นสวนเลกทสดซงมประโยชนหรอไม ถาตองการทารายงาน เรยงลาดบ คนหา หรอคานวณขอมลรายการหนง ใหใสขอมลนนในคอลมน ของตวเอง

6. แตละคอลมนมขอมลเกยวกบหวเรองของตารางหรอไม ถาคอลมนไมมขอมลเกยวกบหวเรองของตาราง แสดงวาหวเรองด งกลาวอยในตารางอน

7. ความสมพนธทงหมดระหวางตารางถกแสดงใหเหนผานเขตขอมลทใชรวมกน หรอตารางทสามหรอไม ความสมพนธแบบหนง-ตอ -หนงและแบบหนง-ตอ -กลมจะตองมคอลมนรวมกน ความสมพนธแบบหนง-ตอ -กลมตองการตารางทสาม

การปรบปรงตาราง สมมตวาผลตภณฑแตละชนดในฐานขอมลการขายผลตภณฑอยในประเภททวไป

เชน เครองดม เครองเทศ หรออาหารทะเล ตารางผลตภณฑควรจะมเขตขอมลทแสดงประเภทของผลตภณฑแตละชนดดวย

สมมตวาหลงจากทตรวจสอบและปรบปรงการออกแบบฐานขอมลแลว ตดสนใจเกบคา อธบายประเภทผลตภณฑพรอมกบชอ ถา จะเพมเขตขอมล 'คาอธบายประเภท' ลงในตารางผลตภณฑ คณตองอธบายซาแตละประเภทสาหรบแตละผลตภณฑทอยในประเภทเดยวกน ซงไมใชวธแกปญหาทดนก

ทางแกปญหาทดกวาคอให “ประเภท” เปนหวเรองใหมในฐานขอม ลทจะตดตามโดยมตารางและคยหลกเปนของตวเอง จากนน จะสามารถเพมคยหลกจากตารางประเภทใหเปน Foreign Key ในตารางผลตภณฑได

Page 33: บท1

1-33

ตารางประเภทและตารางผลตภณฑมความสมพนธแบบหนง-ตอ -กลม นนคอ ประเภทหนงอาจมผลตภณฑมากกวาหนงอยาง แตผลตภณฑหน งจะอยในประเภทเดยวเทานน

เมอไดตรวจทานโครงสรางตาราง ใหมองหากลมทซากน ตวอยางเชน พจารณาตารางซงมคอลมนตอไปน

หมายเลขผลตภณฑ ชอ หมายเลขผลตภณฑ1 ชอ1 หมายเลขผลตภณฑ2 ชอ2 หมายเลขผลตภณฑ3 ชอ3 ในทน ผลตภณฑแตละร ายการเปนกลมของคอลมนทเกดขนซากนซงแตละคอลมน

แตกตางจากคอลมนอนโดยมการเพมตวเลขลงทสวนทายของชอคอลมน เมอเหนวามการใสตวเลข ลงในคอลมนดวยวธน ควรจะคดแกไขการออกแบบของคณเสยใหม

การออกแบบดงกลาวมขอผดพลาดหลายแหง ประการแ รก จะตองระบจานวนผลตภณฑทมไดมากสด ทนททมผลตภณฑเกนจานวนทจากดไว ตองเพมกลมของคอลมนใหมลง ในโครงสรางตาราง ซงเปนงานหลกของผดแลระบบ

อกปญหาหนงคอผจาหนายสนคาทมจานวนผลตภณฑนอยกวาจานวนสงสดจะทา ใหเปลองพนท เนองจากคอลมนเพมเตมจะเปนคอลมนวาง ขอผดพลาดรายแรงทสดของการออกแบบนคอจะทางานหลายอยางไดยาก เชน การเรยงลาดบหรอการทาดชนของตารางตามหมายเลขผลตภณฑหรอชอผลตภณฑ

เมอใดกตามทเหนกลมซา ใหตรวจทานการออกแบบอยางละเอยดโดยเนนทการแบง ตารางออกเปนสองตาราง ในตวอยางขางตน จะเปนการดกวาถาใชสองตาราง ตารางหนงสาหรบผ จาหนายและอกตารางสาหรบผลตภณฑ แลวเชอมโยงกนดวย ID ผจาหนาย

9.8 การใชกฎ Normalization

เราสามารถใชกฎ Normalization ขอมล (บางครงเรยกแควา กฎ Normalization) ในขนตอไปของการออกแบบ การใชกฎเหลานเพอดวาตารางมโครงสรางทถกตองหรอไม กระบวนการใชกฎเหลานกบการออกแบบฐานขอมลเรยกวาการ Normalizing ฐานขอมล หรอ Normalization

Page 34: บท1

1-34

Normalization จะมประโยชนมากทสดหลงจากทไดแสดงรายการขอมลทงหมดและออกแบบเบองตนแลว ความคดคอชวยตรวจสอบใหแนใจวาไดแบงรายการขอมลออกเปนตารางท เหมาะสม สงท Normalization ทาไมไดกคอการตรวจสอบวามขอมลทถกตองทงหมดแลวตงแตเรม

การใชกฎ Normalization ไปตามลาดบในแตละขนเพอตรวจสอบใหแนใจวาการ ออกแบบตรงกบสงทรจกกนวาเปน “รปแบบปกต” โดยรปแบบปกตทยอมรบกนอยางกวางขวางม อย 5 แบบ นนคอรปแบบปกตทหนงจนถงรปแบบปกตทหา ในทนจะกลาวถง รปแบบปกตในสามรปแบบแรก เนองจากเปนสงทตองมสาหรบการออกแบบฐานขอมลสวนมาก

1. รปแบบปกตทหนง รปแบบปกตแบบทหนงระบวาทกตาแหนงทแถวและคอลมนตดกนในตาราง

ตองเกบคาเพยงคาเดยว ไมใชรายการของคา ตวอยางเชน เราไมสามารถมเขตขอมลชอ 'ราคา' ไวเกบราคามากกวาราคาเดยวได ถาลองนกวาตาแหนงทตดกนของแถวและคอลมนคอเซลล แตละเซลลตองเกบคาเพยงคาเดยวเทานน

2. รปแบบปกตทสอง รปแบบปกตทสองบงคบวาคอลมนแตละคอลมนทไมใชคยตองขนกบคยหลก

ทงหมด ไมใชเพยงบางสวนของคยหลก กฎนใชเมอมคยหลกซงประกอบดวยคอลมนมากกวาหนง คอลมน ตวอยางเชน สมมตวามตา รางซงมคอลมนตอไปน โดยท ID ใบสงซอและหมายเลข ผลตภณฑรวมกนเปนคยหลก

ID ใบสงซอ (คยหลก) หมายเลขผลตภณฑ (คยหลก) ชอผลตภณฑ การออกแบบนละเมดรปแบบปกตทสอง เนองจากชอผลตภณฑขนอยกบ

หมายเลขผลตภณฑ แตไมขนกบ ID ใบสงซอ ดงนนจงไมขนกบคยหลกทงหมด ตองเอาชอผลตภณฑออกจากตารางเพราะเปนของตารางอน (ผลตภณฑ)

3. รปแบบปกตทสาม รปแบบปกตทสามบงคบวาไมเพยงแตคอลมนทไมใชคยตองขนกบคยหลก

ทงหมดเทานน แตคอลมนทไมใชคยตองเปนอสระจ ากกนดวย อธบายไดอกอยางวา แตละคอลมนทไมใชคยตองขนกบคยหลกทงหมดและ

ตองขนกบคยหลกอยางเดยวเทานน ตวอยางเชน สมมตวาคณมตารางซงมคอลมนตอไปน คอ หมายเลขผลตภณฑ (คยหลก) ชอ ราคาขายปลก สวนลด

Page 35: บท1

1-35

สมมตวาสวนลดขนก บราคาขายปลก ตารางนละเมดรปแบบปกตทสามเนองจากคอลมนทไมใชคยคอสวนลดขนกบราคาขายปลกซงไมใชคอลมนคย ความเปนอสระของคอลมนหมายความวา เราควรสามารถเปลยนแปลงคอลมนทไมใชคยไดโดยไมมผลตอคอลมนอน ถาคณเปลยนคาในเขตขอมลราค าขายปลกแลว สวนลดกจะเปลยนตามดวย ดงนนจงละเมดกฎ ในกรณนควรยายสวนลดไปอยอกตารางหนงซงมราคาขายปลกเปนคยอย

กจกรรม 1. ใหนกศกษายกตวอยางขอมลและฐานขอมลตาง ๆ 2. ใหนกศกษาอานและทาความเขาใจกบเนอหาขอมลและฐานขอมล การกาหนด

หวขอในแตละตาราง และสวนประกอบของฐานขอมลในโปรแกรม Access 2007 3. ครผสอนยกตวอยางการจดทาขอมลในตาราง และการออกแบบฐานขอมล 4. แบงกลม นกศกษาฝกปฏบตการออกแบบฐานขอมล และรวมกนอภปรายผล /ปญหา

แบบประเมนผล คาสง ใหเลอกคาตอบทถกทสดเพยงขอเดยว

1. ในฐานขอมล เรยกขอมลแตละรายการวาอยางไร ก. Tuple ข. Record ค. Attribute ง. Cardinality

2. ในฐานขอมลเชงสมพนธ สงใดทมความหมายเทยบไดกบแฟมขอมล ก. Tuple ข. Record ค. Attribute ง. Domain

3. ในฐานขอมลเชงสมพนธจะเรยกคาทอยในแตละเขตขอมลวาอะไร ก. Tuple ข. Cardinality ค. Degree ง. Attribute

Page 36: บท1

1-36

4. คาของแอตทรบวตทมความเปนเอกลกษณ ไมซาซอนกนในแตละทเพล สามาร นาไปใชเปนคยชนดใดได

ก. คยคแขง ข. คยหลก ค. คยนอก ง. ถกทงขอ ก . และ ข.

5. ขอบเขตของคาของขอมลในแอตทรบวตหนง ๆ เรยกวาอะไร ก. โดเมน ข. คารดนาลลต ค. ดกร ง. บรรทดฐาน

6. คยชนดใดทเลอกมาเพอสรางความสมพนธระหวางเอนทต ก. คยสารอง ข. คยหลก ค. คยคแขง ง. คยนอก

7. คาวาง หมายถง คาใด ก. คาทเปนทวาง (Blank) ข. คาทเปนศนย ค. คาทอยนอกกรอบของโดเมน ง. ถกทงขอ ก. และ ข.

8. ขอใดไมใชขอดของฐานขอมลเชงสมพนธ ก. ผใชมองเหนภาพการจดเกบขอมลไดงาย ข. สามารถใชภาษาทงายตอการเรยกดขอมล ค. สามารถเชอมโยงขอมลระหวางรเลชนโดยใช Pointer ง. สามารถใชเครองหมายคานวณ และเปรยบเทยบทางคณตศาสตรได

9. ขอใดไมใชลกษณะของฐานขอมลเชงสมพนธ ก. ขอมลจดเกบในรปของตาราง ข. การเรยกใชขอมลตองเขยนเปนโปรแกรม ค. เชอมโยงขอมลระหวางรเลชนไดโดยงาย ง. จดการกบขอมลไดงาย

Page 37: บท1

1-37

10. คยชนดใดทใชประโยชนในการเชอมโยงขอมลระหวางรเลชน ก. คยคแขง ข. คยนอก ค. คยผสม ง. คยสารอง