More Related Content
Similar to Dbchapter4-1 (20)
Dbchapter4-1
- 1. เอกสารประกอบการเรียนรายวิชา ง30206
ใบความรู้ที่ 4 .1
เรื่อง การสร้างโครงสร้างฐานข้อมูล
1. การสร้างฐานข้อมูล
การสร้างโครงสร้างฐานข้อมูลเป็นงานแรกของการสร้างฐานข้อมูลใดๆ ซึ่งจะมีกิจกรรมการ
เก็บรวบรวมข้อมูล การตรวจสอบข้อมูล และการจัดเตรียมข้อมูล สำหรับกรณีศึกษาการพัฒนาระบบ
ขั้นตอนการเก็บรวบรวมข้อมูล คือ การเก็บข้อมูลของหนังสือทีมีอยู่ทั้งหมด ข้อมูลที่เก็บก็จะเป็นข้อมูล
ที่ต้องการใช้ คือ ชื่อหนังสือ ชื่อผู้แต่ง จำนวนเล่ม สำหรับข้อมูลเกี่ยวกับสมาชิกที่ต้องจัดทำแบบฟอร์ม
ข้อมูลที่ต้องการใช้ในการรับสมัคร เมื่อได้ข้อมูลมาก็ต้องมีการตรวจสอบความถูกต้องและความ
ครบถ้วนของข้อมูลกิจกรรมการจัดเตรียมข้อมูลสำหรับระบบจัดการข้อมูลใดๆ ในคอมพิวเตอร์จะ
ประกอบด้วยงานดังต่อไปนี้
- การกำหนดโครงสร้างตาราง
- การกำหนดกุญแจหลัก (Primary Key) ให้กับตาราง
- การกำหนดความสัมพันธ์ (Relationship) ระหว่างตาราง
1.1 การกำหนดโครงสร้างตาราง
แต่ละตารางมีข้อมูลเกี่ยวกับเนื้อเรื่องเดียวกัน และแต่ละเขตข้อมูล ในตารางมีข้อมูลส่วน
บุคคลที่เป็นจริง เกี่ยวกับเนื้อเรื่องของตารางนั้น เช่น ตารางข้อมูลสมาชิกห้องสมุด ประกอบด้วย เขต
ข้อมูลรหัสสมาชิกเขตข้อมูลชื่อ เขตข้อมูลเลขที่ประจำตัว เขตข้อมูลชั้นเรียน
ในการกำหนดโครงสร้างตาราง เราจะต้องกำหนดชื่อที่เราจะใช้แทนแต่ละเขตข้อมูล ชนิด
ของข้อมูล ขนาดที่ใช้ในการจัดเก็บไว้ในส่วนที่เป็นพจนานุกรมข้อมูลของระบบการจัดการฐานข้อมูล
ซึ่งในบางระบบเราสามารถกรอกคำอธิบายสั้นๆ ให้กับแต่ละเขตข้อมูลเพื่อประโยชน์ในการแก้ไข
ระบบในภายหลังได้
ระบบการจัดการฐานข้อมูลใน Microsoft Access 2007 มีชนิดของข้อมูลให้เราเลือกใช้
ได้ ดังนี้
ชนิดข้อมูล ขนาด ใช้สำหรับ
Text สูงสุด 255
การสร้างฐานข้อมูล และสร้างตาราง (Table) ด้วยโปรแกรม Microsoft Access -1-
ตัวอักษร
ตัวอักษร ตัวเลข หรือเครื่องหมายต่างๆ ที่ไม่ได้ใช้ในการคำนวณ
อย่างเช่น หมายเลขโทรศัพท์ หมายเลขประจำชิ้นส่วน หรือรหัสไปรษณีย์
Memo สูงสุด 65,635
ตัวอักษร
ข้อความและตัวเลขที่มีขนาดยาวมาก อย่างเช่น หมายเหตุหรือคำอธิบาย
Number 1 – 8 ไบท์ ข้อมูลทางตัวเลขที่ใช้สำหรับการคำนวณเชิงคณิตศาสตร์ ทั้งจำนวนเต็ม
หรือทศนิยม ยกเว้นการคำนวณที่เกี่ยวข้องกับเงิน (ใช้ชนิด Currency )
ให้ตั้งค่าคุณสมบัติ FieldSize เมื่อต้องการกำหนดชนิด Number ให้
แน่นอนลงไป
Date/Time 8 ไบท์ วันที่และเวลาซึ่งมีรูปแบบการแสดงผลหลายแบบ และสามารถกำหนด
แบบของการแสดงผลเองได้
- 2. เอกสารประกอบการเรียนรายวิชา ง30206
ชนิดข้อมูล ขนาด ใช้สำหรับ
Currency 8 ไบท์ เก็บข้อมูลที่เป็นจำนวนเงิน เพื่อป้องกันเรื่องการปัดเศษทศนิยม ระดับ
ความแม่นยำคือ 15 หลักทางซ้ายของจุดทศนิยมและ 4 หลักทางขวามือ
AutoNumber 4 Byte กำหนดตัวเลขที่เรียงลำดับต่อเนื่องกันโดยอัตโนมัติ โดยโปรแกรม
Yes/No 1 บิท เป็นข้อมูลแบบบูลีน ที่มีเพียงค่าใดค่าหนึ่งใน 2 ค่า สามารถกำหนด
รูปแบบในการแสดงผลเป็น Yes/No, True/False หรือ On/Off ก็ได้
OLE Object 1 GB เป็นชนิดข้อมูลที่ใช้เก็บออบเจ็กต์ เช่น รูปภาพ แผนภูมิ เสียง เป็นต้น
Hyperlink สูงสุด 2,048
การสร้างฐานข้อมูล และสร้างตาราง (Table) ด้วยโปรแกรม Microsoft Access -2-
ตัวอักษร
เป็นชนิดข้อมูลที่เก็บที่อยู่หรือจุดเชื่อมโยงของไฟล์ในระบบอินเทอร์เน็ต
หรืออินทราเน็ต
Lookup
Wizard 4 ไบท์ เป็นชนิดข้อมูลที่ดึงข้อมูลจากฟิลด์อื่นในตาราง
Attachment
เป็นชนิดข้อมูลที่เพิ่มเข้ามาใหม่ ซึ่งเก็บเอกสารและแฟ้มไบนารีทุกชนิดใน
ฐานข้อมูล เช่น เอกสาร Word, Excel หรือไฟล์ประเภทอื่นที่สนับสนุน
การนำเข้าสู่เรคอร์ดในฐานข้อมูลเหมือนกับการแนบไฟล์ไปกับอีเมล ซึ่ง
จะดีกว่า OLE Object คือข้อมูลจะถูกบีบอัดอย่างเหมาะสม ไม่ทำให้
ฐานข้อมูลใหญ่เกินไป
1.2 การกำหนดกุญแจหลัก (Primary Key) ให้กับตาราง
ในการสร้างตารางแต่ละตารางควรจะมีเขตข้อมูลหนึ่งเขตข้อมูลหรือชุดเขตข้อมูลที่ใช้ระบุว่า
แต่ละระเบียนที่เก็บอยู่ในตารางไม่ซ้ำซ้อนกันรวมอยู่ด้วย ข้อมูลดังกล่าวนี้เรียกว่า เขตกุญแจหลัก
(Primary Key) ของตาราง เมื่อเราได้ระบุเขตข้อมูลหลักให้กับตารางแล้วเพื่อประกันความไม่ซ้ำซ้อน
ระบบการจัดการฐานข้อมูลจะป้องกันไม่ให้มีการป้อนค่าซ้ำ หรือค่าว่าง (Null) ลงในเขตข้อมูลหลัก
นอกจากเขตกุญแจหลักภายในตารางหนึ่ง ๆ อาจจะมีเขตกุญแจนอก (Foreign Key) ซึ่งเป็น
เขตกุญแจที่เปรียบเสมือนตัวเชื่อมข้อมูลในความสัมพันธ์หนึ่งกับอีกความสัมพันธ์หนึ่ง โดยกุญแจ
นอกนั้นอาจจะกลายเป็นเขตกุญแจหลักในอีกความสัมพันธ์หนึ่งก็ได้
การกำหนดเขตกุญแจหลักให้กับตารางของระบบยืม-คืนหนังสือในห้องสมุด ซึ่งมี 4 ตาราง
ดังต่อไปนี้
ตารางข้อมูลหนังสือ จะกำหนดให้เขตข้อมูลรหัสหนังสือเป็นเขตกุญแจหลัก
ตารางข้อมูลสมาชิก จะกำหนดให้เขตข้อมูลรหัสสมาชิกเป็นเขตกุญแจหลัก
ตารางข้อมูลการยืม จะกำหนดให้เขตข้อมูลลำดับที่การยืมเป็นเขตกุญแจหลักคู่กัน
ตารางข้อมูลรายละเอียดการยืม จะกำหนดให้เขตข้อมูลลำดับที่การยืมและรหัสหนังสือ
เป็นเขตกุญแจหลักร่วมกัน
1.3 การกำหนดความสัมพันธ์ระหว่างตาราง
หลังจากทีเรามีตารางที่จัดเก็บข้อมูลต่างกันสำหรับแต่ละหัวเรื่องในฐานข้อมูลแล้ว เราจำเป็น
ที่จะต้องหาทางทำให้ตารางข้อมูลเหล่านั้นมีความสัมพันธ์เพื่อที่จะนำรายละเอียดของข้อมูลกลับมา
พร้อมกันอีกครั้งหนึ่ง ขั้นแรกในขั้นตอนนี้คือ การกำหนดความสัมพันธ์ระหว่างตาราง หลังจากที่ได้
ทำแล้ว เราก็สามารถสร้างแบบสอบถาม แบบฟอร์ม และรายงานที่จะแสดงรายละเอียดข้อมูลจาก
- 3. เอกสารประกอบการเรียนรายวิชา ง30206
หลายๆ ตารางได้ทันที โดยในการสร้างความสัมพันธ์ของตาราง 2 ตารางนั้น ตารางทั้งสองจะต้องมี
เขตข้อมูลที่มีความสัมพันธ์กัน ในตารางข้อมูลสมาชิกห้องสมุดและตารางการยืมหนังสือของสมาชิกมี
ความสัมพันธ์กันโดยผ่านเขตข้อมูลรหัสสมาชิก นั่นหมายความว่าในตารางข้อมูลสมาชิกห้องสมุดและ
ตารางการยืมหนังสือของสมาชิกจะต้องมีเขตข้อมูลรหัสสมาชิกทั้งสองตาราง
ตัวอย่างการออกแบบตารางข้อมูลสมาชิกห้องสมุดและตารางการยืมหนังสือของสมาชิกเป็น
ยืม-คืน
M
การยืม (TbBorrow)
มี
1
M
BookName Regno
MemberID
M 1
รายละเอียดการยืม ยืม-คืน
หนังสือ (TbBook)
(TbDetail)
1
Picture
Position
การสร้างฐานข้อมูล และสร้างตาราง (Table) ด้วยโปรแกรม Microsoft Access -3-
ดังนี้
MemberID
สมาชิก (TbMember)
ผังแสดงผลการวิเคราะห์ความสัมพันธ์ของเอนทิตี้ต่าง ๆ ของระบบการยืม-คืนหนังสือ
BkAuthor
BookID Copyno
MTitle
MFname
MLname
MGend
MLevel MRoom
NumBr
DateBrw
Status DateSent
NumBr
BookID
DateReturn
- 4. เอกสารประกอบการเรียนรายวิชา ง30206
โครงสร้างของตารางข้อมูลตารางหนังสือ (TbBook)
ชื่อเขตข้อมูล
(Field Name)
ชนิดข้อมูล
(Data
Type)
ขนาดของ
เขตข้อมูล
(Field
Size)
คำอธิบายโดยละเอียด
(Description)
ตัวอย่างข้อมูล คีย์
การสร้างฐานข้อมูล และสร้างตาราง (Table) ด้วยโปรแกรม Microsoft Access -4-
รหัสหนังสือ
BookID
Text 7 เขตข้อมูลที่เก็บข้อมูลรหัสหนังสือที่มี
การยืมโดยสมาชิก กำหนดให้เป็นเขต
ข้อมูลหลักของตาราง
B100001 PK
ชื่อหนังสือ
BookName
Text 60 เขตข้อมูลที่เก็บชื่อหนังสือ การออกแบบและ
การจัดการ
ฐานข้อมูล
ชื่อผู้แต่ง
BkAuthor
Text 60 เขตข้อมูลชื่อผู้แต่ง โอภาส เอี่ยมสิริวงศ์
เลขทะเบียน
หนังสือ
Regno
Text 5 เขตข้อมูลที่เก็บเลขทะเบียนหนังสือที่
มีให้บริการในห้องสมุด
C101
สำเนาที่
Copyno
Text 2 เขตข้อมูลที่เก็บเสาเนาที่ของหนังสือ
ที่ให้บริการในห้องสมุด
1
โครงสร้างตารางข้อมูลสมาชิก (TbMember)
ชื่อเขตข้อมูล
(Field Name)
ชนิดข้อมูล
(Data
Type)
ขนาดของ
เขตข้อมูล
(Field
Size)
คำอธิบายโดยละเอียด
(Description)
ตัวอย่าง
ข้อมูล
คีย์
รหัสสมาชิก
MemberID
Text 7 รหัสสมาชิกเป็นเขตข้อมูลหลักของตาราง ดังนั้นรหัส
สมาชิกของสมาชิกแต่ละคนจะต้องเป็นค่าที่แตกต่าง
กัน โดยกำหนดให้นักเรียนมีรหัสสมาชิกที่ขึ้นต้นด้วย
S และตามด้วยตัวเลข 6 หลักและสมาชิกที่เป็น
อาจารย์จะขึ้นต้นด้วย T และตามด้วยตัวเลข 6 หลัก
S000001 PK
คำนำหน้าชื่อ
MTitle
Text 8 ค่าที่เก็บในเขตข้อมูลนี้จะเป็นคำนำหน้าชื่อ คือ
"เด็กชาย";"เด็กหญิง";"นาย";"นาง";"นางสาว"
นางสาว
ชื่อ
MFname
Text 30 เขตข้อมูลเก็บชื่อสมาชิก แก้ว
กาญจน์
นามสกุล
MLname
Text 15 เขตข้อมูลเก็บนามสกุลสมาชิก จงขยัน
เพศ
MGender
Text 4 ค่าที่เก็บในเขตข้อมูลเพศนี้จะเป็นค่า “หญิง”
;“ผู้ชาย”
หญิง
ระดับชั้น
MLevel
Text 4 เขตข้อมูลระดับชั้น จะเก็บค่า "ม.1";"ม.2";"ม.3";"ม.
4";"ม.5";"ม.6"
ม.5
- 5. เอกสารประกอบการเรียนรายวิชา ง30206
การสร้างฐานข้อมูล และสร้างตาราง (Table) ด้วยโปรแกรม Microsoft Access -5-
ชื่อเขตข้อมูล
(Field Name)
ชนิดข้อมูล
(Data
Type)
ขนาดของ
เขตข้อมูล
(Field
Size)
คำอธิบายโดยละเอียด
(Description)
ตัวอย่าง
ข้อมูล
คีย์
ห้อง
MRoom
Text 2 เขตข้อมูลห้อง จะเก็บค่า "1";"2";"3";"4";"5";"6";
"7";"8";"9";"10";"11";"12";"13";"14"
1
ตำแหน่ง
Position
Text 8 เขตข้อมูลตำแหน่ง จะเก็บค่า "ครู";"นักเรียน";"อื่นๆ" นักเรียน
รูปภาพ
Picture
OLE
Object
เขตข้อมูลรูปภาพ จะเก็บค่ารูปภาพสมาชิก
โครงสร้างของตารางข้อมูลการยืม (TbBorrow)
ชื่อเขตข้อมูล
ชนิดข้อมูล
(Field Name)
(Data Type)
ขนาดของ
เขตข้อมูล
(Field
Size)
คำอธิบายโดยละเอียด
(Description)
ตัวอย่าง
ข้อมูล
คีย์
ลำดับที่การยืม
NumBr
AutoNumber Long
Integer
เขตข้อมูลที่เก็บลำดับที่การยืมจะ
เพิ่มขึ้นอัตโนมัติโดยไม่ซ้ำกัน
1 PK
รหัสสมาชิก
MemberID
Text 7 เขตข้อมูลที่เก็บรหัสของสมาชิกที่ยืม
หนังสือในห้องสมุด ทำหน้าที่เป็นเขต
ข้อมูลหลักร่วมกับเขตข้อมูลรหัส
หนังสือ
S000001 FK
วันที่ยืม
DateBrw
Date/Time เขตข้อมูลที่เก็บข้อมูลวันที่สมาชิกทำ
การยืมหนังสือ
6/19/2011
กำหนดส่งคืน
DateSent
Date/Time เขตข้อมูลที่เก็บข้อมูลวันที่กำหนด
ส่งคืนหนังสือเล่มที่สมาชิกยืม
6/26/2011
สถานะการยืม
Status
Yes/No เขตข้อมูลที่เก็บข้อมูลว่ามีการยืม
หนังสือไปหรือไม่
โครงสร้างของตารางข้อมูลรายละเอียนการยืม (TbDetail)
ชื่อเขตข้อมูล
ชนิดข้อมูล
(Field Name)
(Data Type)
ขนาดของ
เขตข้อมูล
(Field Size)
คำอธิบายโดยละเอียด
(Description)
ตัวอย่าง
ข้อมูล
คีย์
ลำดับที่การยืม
NumBr
Number Long
Integer
เขตข้อมูลที่เก็บลำดับที่การยืมที่เชื่อมโยง
กับตารางข้อมูลการยืม
1 PK,FK
รหัสหนังสือ
BookID
Text 7 เขตข้อมูลที่เก็บข้อมูลรหัสหนังสือที่มีการ
ยืมโดยสมาชิก ทำหน้าที่เป็นเขตข้อมูล
หลักร่วมกับเขตข้อมูลลำดับที่การยืม
B100001 PK,FK
วันที่ส่งคืน
DateReturn
Date/Time เขตข้อมูลที่เก็บวันที่ส่งคืนโดยเมื่อมีการ
ส่งคืนจึงเก็บค่า