บทที่ 3

ความรู้เบื้องต้นโปรแกรม Microsoft Access

การออกแบบโครงสร้างข้อมูล

การออกแบบโครงสร้างข้อมูล

       การออกแบบโครงสร้างข้อมูล หมายถึง กรณีสร้างตารางใหม่ด้วย ออกแบบตาราง (Table Design)เพื่อต้องการกำหนดโครงสร้างด้วยตนเอง โดยมีขั้นตอนการออกแบบดังนี้

  • เลือกเมนู สร้าง (Create) เลือก ออกแบบตาราง (Table)
  • จะเข้าสู่มุมมองออกแบบ (Design   View) เพื่อออกแบบโครงสร้างข้อมูล โดยแบ่งออกเป็นส่วนต่าง ๆ ได้  4  ส่วน  ได้แก่

1. ชื่อเขตข้อมูล  (Field  Name)  สำหรับระบุข้อมูลแต่ละเขตข้อมูล
2. ชนิดข้อมูล  (Field Type) สำหรับระบุชนิดข้อมูลแต่ละเขตข้อมูล ซึ่งแบ่งได้ 10 ชนิด ดังตารางแสดงชนิดข้อมูล

ตารางแสดงชนิดข้อมูล (Data Type)

ชนิดข้อมูล ประเภทของข้อมูล
ข้อความสั้น
(Short Text)
ข้อมูลประเภทตัวอักษรหรือตัวเลขที่ไม่นำไปใช้ในการคำนวณกำหนดด้วยขนาด (Field Size) หน่วยเป็นจำนวนตัวอักษร
ข้อความยาว
(Long Text)
ข้อมูลประเภทรายละเอียดหรือการบันทึกบทความ สามารถเก็บได้ 64,000 Byte
ตัวเลข
(Number)
ข้อมูลเชิงตัวเลขจำนวนเต็ม 0 – 9 หรือตัวเลขทศนิยมที่มีทั้งค่าบวกและค่าลบ และยังสามารถนำไปใช้คำนวณได้
วันที่ / เวลา
(Data/Time)
ข้อมูลประเภทวันที่ที่ระบุตามรูปแบบ dd/mm/yy หรือ mm/dd/yy  หรือข้อมูลประเภทเวลาที่ระบุตามรูปแบบ h:m:ss ข้อมูลประเภทนี้นอกจากสามารถกำหนดรูปแบบข้อมูลได้แล้ว ยังสามารถนำค่าเหล่านี้ไป คำนวณหาค่าผลลัพธ์ตามรูปแบบที่ต้องการได้
สกุลเงิน
(Currency)
ข้อมูลประเภทตัวเลขหรือทศนิยมที่ต้องการสัญลักษณ์ทางการเงิน- และ,กำกับตัวเลข
ตัวเลขอัตโนมัติ
(AutoNumber)
การสร้างตัวเลขที่ใช้ในการนับแบบอัตโนมัติ เช่น 1,2,3,… หรือค่าเลขที่เกิดเลขที่เกิดจากการสุ่ม
ใช่ / ไม่ใช่
(Yes/No)
ข้อมูลเชิงตรรกะ  หรือข้อมูล 2 ลักษณะ เช่น Yes/No,True/Fault,On/Off หรือ ชาย/หญิง  ฯลฯ
วัตถุ OLE
(OLE-Object)
ข้อมูลประเภทแฟ้มรูปภาพ  หรือภาพกราฟิก  รวมทั้งข้อมูลประเภทแฟ้มเอกสารที่สร้างจากโปรแกรมอื่น ๆ
ไฮเปอร์ลิงค์
(Hyperlink)
การเชื่อมโยงข้อมูลไปยังแฟ้มอื่น ๆ ภายนอก เช่น  แฟ้มข้อมูลอื่น  เว็บไซด์ หรือ E-mail
สิ่งที่แนบมา
(Attachment)
ข้อมูลประเภทที่แนบแฟ้มข้อมูลกับรายการ (Record) เช่น  แฟ้มรูปภาพหรือภาพกราฟิก  รวมทั้งข้อมูลประเภทแฟ้มเอกสาร
3.  Description  (คำอธิบาย)   สำหรับอธิบายลักษณะ  ของข้อมูลแต่ละเขตข้อมูล  เช่น  วิธีการป้อนข้อมูล ความหมายของข้อมูลแต่ละค่าที่กำหนดไว้ล่วงหน้า

รูปที่ 3.14  แสดงตารางการออกแบบโครงสร้าง  Table

ตัวอย่าง  ให้ออกแบบโครงสร้างข้อมูลบุคลากรตามตัวอย่างรูปที่ 3.15  ดังนี้

รูปที่ 3.15  แสดงตัวอย่างโครงสร้างตาราง (table)  หลังการออกแบบ

หลังจากออกแบบจะต้องบันทึกโครงสร้างตาราง  ตามขั้นตอนดังนี้

  • เลือกเมนู  File  (แฟ้ม)  เลือก  Save (บันทึก)
  • ระบุชื่อตารางที่ Table Name  (ชื่อตาราง)  แล้วตอบ  OK (ตกลง)
  • จะปรากฏข้อความแจ้งในกรณี  ไม่ได้กำหนด Primary Key (คีย์หลัก)
    - ถ้าตอบ Yes  จะสร้างเขตข้อมูล ID เป็นชนิด   AutoNumber กำหนดเป็นคีย์หลัก
    - ถ้าตอบ No  หมายถึง  ผู้ใช้ไม่ต้องการกำหนดคีย์หลัก



    รูปที่ 3.16  แสดงการบันทึกโครงสร้าง Table หลังการออกแบบ

  • หลังจากบันทึกถ้าต้องการเปิดการออกแบบโครงสร้าง ให้กดปุ่มปิด
  • จะได้ตารางใหม่ปรากฏบนเมนูตาราง (Table) เมื่อคลิกปุ่ม Open หรือดับเบิลคลิกชื่อตารางดังกล่าว เพื่อเข้าสู่มุมมอง Datasheet ก็จะได้ตารางตามโครงสร้างข้อมูลที่ออกแบบ พร้อมที่จะบันทึกข้อมูลลงบนตาราง (table)



รูปที่ 3.17  แสดง  Table  ในมุมมอง  Datasheet

4. คุณสมบัติเขตข้อมูล  (Field  Properties) สำหรับกำหนดคุณสมบัติขอเขตข้อมูล แต่ละชนิด เพี่อกำหนดขนาด  รูปแบบ ขอบเขตการบันทึก ฯลฯ

ขนาดเขตข้อมูล (Field Size)

       ขนาดเขตข้อมูล (Field Side) หมายถึง ขนาดของข้อมูลแต่ละประเภท ดังตารางแสดงขนาดของข้อมูล

ตัวอย่างแสดงขนาดของเขตข้อมูล

ประเภท ชนิดของข้อมูล
ข้อความสั้น
(TEXT
หรือ Short Text)
มีหน่วยเป็นจำนวนตัวอักษร  เพื่อควบคุมการรับข้อมูลไม่ให้เกินขนาดที่กำหนด  ซึ่งสามารถกำหนดได้ไม่เกิน 255 ตัวอักษร
ข้อความยาว
(Long Text
หรือ MEMO)
จะเก็บข้อมูลได้สูงสุด   65,535 ตัวอักษร
ตัวเลข
(Number)

 

จะมีขนาดที่ใช้จัดเก็บดังต่อไปนี้

Format ช่วงข้อมูล
Byte ให้ค่าเลขจำนวนเต็มมีค่า 0-255
Integer ให้ค่าเลขจำนวนเต็มมีค่า
-32768 ถึง +32767
Long
Integer
ให้ค่าเลขจำนวนเต็ม
มีค่าประมาณ +2000 ล้าน
Single ตัวเลขที่มีทศนิยมแบบความละเอียดปกติ
Double ตัวเลขที่มีทศนิยมแบบ
ความละเอียดเป็น 2 เท่า

รูปแบบ (Format)

       รูปแบบ (Format) หมายถึง รูปแบบข้อมูลในการแสดงผล สามรถกำหนดได้ 2 ลักษณะ คือกำหนดจากรูปแบบเดิมที่มีอยู่แล้ว หรือกำหนดด้วยตนเอง โดยระบุเป็นสัญลักษณ์ตามประเภทข้อมูล ประกอบด้วย ตัวเลข วันที่/เวลา ตัวเลขทางการเงิน Yes/No

ตัวอย่าง แสดงการกำหนดรูปแบบข้อมูล

ประเภทข้อมูล Format ข้อมูล ผลลัพธ์
Number Standard 1000 1,000.00
Currency Currency 1000 $ 1,000.00
Data Long  Date 01/01/54 1 มกราคม  2554
Time Medium  Time 09:25:00 9:25
Yes/No True/Fault 0 Fault

การกำหนดรูปแบบข้อมูลแบบกำหนดเอง

       รูปแบบข้อมูลประเภท ตัวเลข/ตัวเลขทางการเงิน (Number/Currency)  โดยมีสัญลักษณ์ในการกำหนดดังตาราง

ตัวอย่างแสดงข้อมูลประเภท  ตัวเลข/ตัวเลขทางการเงิน  (Number/Currency)

สัญลักษณ์ ความหมาย
# ตัวเลขแต่ละหลัก  จะแสดงเมื่อมีค่าเท่านั้น
0 ตัวเลขแต่ละหลัก จะแสดงค่า 0 เมื่อไม่มีค่าในแต่ละหลัก
, สัญลักษณ์คั่นตัวเลขทุก 3 หลัก
. จุดทศนิยม
+ สัญลักษณ์ + นำหน้าค่าบวก และ - นำหน้าค่าลบ
฿,$ สัญลักษณ์ทางการเงิน
t ค่าตัวเลขแบบเลขไทย
“ข้อความ” ข้อความประกอบตัวเลข
[color] กำหนดสีตัวอักษร

ตารางตัวอย่างการกำหนดรูปแบบตัวเลขด้วยตนเอง

ค่าตัวเลข Format ผลลัพธ์รูปแบบ
1,000 #,### 1,000
1,000 #,###.00[น้ำเงิน] 1,000.00 (สีน้ำเงิน)
1,000 ฿ #,### ฿ 1,000
1,000 + #,### บาท +1,000.00
1,000 #,### “บาท” 1,000  บาท
2,500 #,##0 “บ.” 2,500 บ.

        รูปแบบข้อมูลประเภท Date (วันที่) มีสัญลักษณ์ที่เกี่ยวข้องดังตาราง

ตัวอย่างแสดงรูปแบบข้อมูลประเภท Date

สัญลักษณ์ ความหมาย
d วันด้วยตัวเลข 1 หรือ 2 หลัก มีค่าระหว่าง 1-31
dd วันด้วยตัวเลข 2 หลักเสมอ มีค่าระหว่าง 01-31
ddd วันของสัปดาห์แบบย่อ เช่น จ อ พ พฤ ศ ส  อา
Dddd วันของสัปดาห์เต็ม  เช่น จันทร์  อังคาร  พุธ พฤหัสบดี ศุกร์  เสาร์ อาทิตย์
m เดือนด้วยตัวเลข 1 หรือ 2 หลัก มีค่าระหว่าง 1 -12
mm เดือนด้วยตัวเลข 2 หลักเสมอ มีค่าระหว่าง01-12
mmm เดือนแบบย่อ เช่น ม.ค. ก.พ. มี.ค. เม.ย.พ.ค.มิ.ย. ...ธ.ค.
mmmm เดือนแบบเต็ม เช่น  มกราคม  กุมภาพันธ์  มีนาคม  ฯลฯ
yy ปีแบบ 2 หลัก เช่น 11 หรือ 54
yyyy ปีแบบ 4 หลัก เช่น 2011 หรือ 2554

 ตารางแสดงตัวอย่างการกำหนดรูปแบบวันที่ด้วยตนเอง

ค่าวันที่ ชนิด ผลลัพธ์รูปแบบ
01/01/54 dd-mm-yy 01-01-2554
01/01/54 d mmm yyy 1 ม.ค. 54
01/01/54 ddd  d mmmm  yyyy ส 1 มกราคม  2554
  •         ข้อมูลประเภท Yes/No  สำหรับข้อมูลแบบ  กล่องข้อความ (Text Box)  มีค่า 0 และ – 1 เท่านั้น

ตารางแสดงข้อมูลประเภท Yes/No

Format ค่า 0 ค่า -1
Yes/No No Yes
“M”;”F” M F
“ชาย”;”หญิง” ชาย หญิง
“ปวช”[สีน้ำเงิน];”ปวส.”[สีแดง]. ปวช.(สีน้ำเงิน) ปวส.(สีแดง).
  • ค่าใหม่ (New  Value) สำหรับคุณสมบัติของข้อมูลประเภท AutoNumber   กำหนดการเพิ่มตัวเลขอัตโนมัติมี 2 ลักษณะคือ
    • เพิ่มค่า (Increment) โดยค่าตัวเลขจะเพิ่มทีละ 1 ได้แก่ 1,2,3,...
    • สุ่ม (Random) โดยค่าตัวเลขจะเพิ่มด้วยค่าตัวเลขสุ่ม
  • ตำแหน่งทศนิยม (Decimal Places) หมายถึง  กำหนดจำนวนหลักของทศนิยมซึ่งมีผลกับข้อมูลประเภทตัวเลข ได้แก่ Number  หรือ  Currency
  • รูปแบบการป้อนข้อมูล (Input  Mask)  หมายถึง  การสร้างรูปแบบตัวคั่นข้อมูลแต่ละคำ จะใช้สำหรับข้อมูลประเภทรหัสต่าง ๆ  เช่น  รหัสพนักงาน  รหัสไปรษณีย์  รหัสโทรศัพท์  ฯลฯ  โดยมีสัญลักษณ์ใช้ ในการออกแบบดังต่อไปนี้
    • A  แทนตัวเลขหรือตัวอักษรก็ได้  และต้องใส่ค่าเสมอ
    • 9  แทนตัวเลข 0- 9 เท่านั้น  จะใส่ค่าหรือไม่ก็ได้
    • L  แทนตัวอักษร ก-ฮ หรือ A-Z  และต้องใส่ค่าเสมอ
    • 0 แทนตัวเลข 0- 9 และต้องใส่ค่าเสมอ
    • > แทนตัวอักษรเป็นตัวพิมพ์ใหญ่ทั้งหมด (กรณีภาษา Eng)
    • < แทนตัวอักษรเป็นตัวพิมพ์เล็กทั้งหมด (กรณีภาษา Eng)
    • สัญลักษณ์ตัวคั่น  เช่น – หรือ ( ) หรือ :  หรือ [ ] ฯลฯ
    ตารางแสดงตัวอย่างการกำหนด  Input Mask
    Input  Mask รูปแบบการบันทึก ตัวอย่างข้อมูล
    >A-999 _-___ ก-001
    >L[0-00] _[_-__] Z[4-05]
    99/99/99 __/__/__ 05/08/48
    99:99 __:__ 08:30
  • ป้ายคำอธิบาย (Caption) หมายถึง คำอธิบายชื่อเขตข้อมูล (Field) ใช้แทนชื่อเขตข้อมูล เพื่อให้เข้าใจข้อมูลได้เพิ่มขึ้น เพราะปกติการกำหนดชื่อเขตข้อมูลจะตั้งชื่อให้กระชับเพราะจะได้เรียกใช้ได้ง่ายและสะดวก
  • ค่าเริมต้น (Default Value)  หมายถึง การให้ค่าข้อมูลเริ่มต้นสำหรับการบันทึกรายการใหม่ (New Record) จะกำหนดเมื่อข้อมูลในเขตข้อมูลที่กำหนดมีค่าที่กำหนดเป็นจำนวนมาก จึงนำมากำหนดเป็นค่าเริ่มต้น
  • กฎการตรวจสอบ (Validation Rule) หมายถึง การสร้างกฎเพื่อตรวจสอบข้อมูลที่บันทึกว่ามีค่าตามที่กำหนดหรือต้องการหรือไม่ ถ้าไม่เป็นไปตามที่กำหนดจะแสดงข้อความเพื่อแจ้งผู้บันทึกหรือแก้ไข คำสั่งที่ใช้ร่วมในการตรวจสอบ ประกอบด้วย
    •  ตัวเชื่อม and (และ), or (หรือ) และ  not (ปฏิเสธ)
    • Between  ค่าเริ่มต้น and ค่าสิ้นสุด

ตางรางแสดงตัวอย่างการกำหนด Validation Rule

ประเภทข้อมูล (Type) Validation Rule ความหมาย
Text “เอกชน” or  “ราชการ” ต้องบันทึก  เอกชน
หรือราชการ
Text Not “ภาคกลาง” บันทึกทุกภาค
ยกเว้นภาคกลาง
Number/Currency >=1,000 มีค่าตั้งแต่ 1,000
เป็นต้นไป
Number/Currency Between 10 and 1,000 มีค่าระหว่าง
10 -1,000
Data/Time >=01/01/54 บันทึกปี 2554 
เป็นต้นไป
Data/Time Between 01/01/54
and =12/31/54
บันทึกเฉพาะ
ปี 2554 เท่านั้น
Data/Time <=18:00 บันทึกไม่เกิน
18 นาฬิกา
Data/Time >=8:30 บันทึกตั้งแต่
8.30 น. เป็นต้นไป
Data/Time Between 8:00 and 6:00 บันทึกระหว่าง
8.00-16.00น. เท่านั้น
  • ข้อความตรวจสอบ (Validation Text)  หมายถึง  ข้อความที่กำหนดขึ้นเพื่อแจ้งบันทึกหรือแก้ไขที่ระบุข้อมูลที่ไม่เป็นไม่ตามกฎการตรวจสอบ โดยจะใช้ควบคู่กับ Validation rule
  • จำเป็น  (Required) สำหรับกรณีต้องการกำหนดให้บันทึกข้อมูลเสมอ ถ้าไม่บันทึกจะมีข้อความเตือน โดยมีตัวเลือก 2 ตัวเลือก ได้แก่
    • ตอบ ไม่ใช่ (No)  หมายถึง  บันทึกหรือไม่บันทึกก็ได้
    • ตอบ ใช่ (Yes) หมายถึง จะต้องบันทึกเสมอ
  • อนุญาตให้ความยาวเป็นศูนย์ (Allow  Zero  Length)  หมายถึง  ข้อความที่มีขนาดตัวอักษรเป็นศูนย์ หรือ “” ซึ่งจะใช้กำหนดกับข้อมูลประเภท TEXT
    • ตอบ ไม่ใช่ (No)  หมายถึง ไม่อนุญาตให้บันทึก ""
    • ตอบ ใช่ (Yes) หมายถึง อนุญาตให้บันทึก ""
  • ใส่ดัชนี  (indexed) สำหรับการกำหนดดัชนีข้อมูลให้กับเขตข้อมูลที่เลือก ซึ่งจะถูกกำหนดเป็นคีย์ในการสืบค้น เพราะจะมีการจัดเรียงเขตข้อมูลที่ถูกกำหนดเป็นดัชนี โดยสามารถกำหนดได้ 3 ลักษณะ คือ
    • ตอบ ไม่ใช่ (No)  ถ้าไม่ต้องการให้เขตข้อมูลนั้นเป็น Index
    • ตอบ ใช่ (มีค่าซ้ำกัน) หรือ Yes (Duplicates OK)  ถ้าต้องการให้เขตข้อมูลนั้นเป็น Index และมีค่าซ้ำกันได้
    • ตอบ ใช่ (มีค่าไม่ซ้ำกัน) หรือ Yes (No Duplicates)  ถ้าต้องการให้เขตข้อมูลนั้นเป็น Index และมีค่าซ้ำกันไม่ได้
  • การบีบ (Unicode)  ใช้กับข้อมูลประเภท Text, Memo, Hyperlink ให้สามารถบีบอัดข้อมูลที่ใช้รหัส Unicode ทำให้ใช้พื้นที่เก็บได้มากกว่าปกติ
  • IME  Mode  และ IME Sentence   Mode   ใช้ในกรณีติดตั้งโปรแกรม  IME (Input Mode Editor) เพื่อเปลี่ยนคีย์บอร์ดให้สามารถใช้ภาษาอื่น เช่น  จีน ญี่ปุ่น  เกาหลี ฯลฯ
  • สมาร์ทแท็ก (Smart  Tage)  ทำให้การทำงานข้อมูลใน Access  ร่วมกับโปรแกรมภายนอกได้สะดวกและรวดเร็วขึ้น
  • จัดแนวข้อความ (Text  Align) ใช้ในการจัดข้อมูลให้อยู่ในตำแหน่ง ชิดซ้าย ชิดขวา หรือจัดกลาง
  • แสดงตัวใช้เลือกวันที่ (Show  Data  Picker) สำหรับข้อมูลชนิด Data/Time โดยจะแสดงปฏิทินสำหรับเลือก วัน  เดือน  ปี  ได้ด้วยความสะดวก โดยไม่ต้องบันทึกด้วยคีย์บอร์ด