วันอังคารที่ 25 มกราคม พ.ศ. 2554

วิชา การจัดระบบเครือข่ายและการสื่อสารข้อมูลธุรกิจด้วยคอมพิวเตอร์ ( 3503201 ) ตอนเรียน B1

การบ้าน วันพุธที่ 19 มกราคม พ.ศ. 2554


DHCP (Dynamic Host Configuration Protocol)
คือ โปรโตคอลที่ใช้ในการกำหนด IP Address อัตโนมัติแก่เครื่องลูกข่ายบนระบบ ที่ติดตั้ง TCP/IP สำหรับ DHCP server มีหน้าที่แจก IP ในเครือข่ายไม่ให้ซ้ำ เป็นการลดความซ้ำซ้อน เมื่อเครื่องลูกเริ่ม boot ก็จะขอ IP address, Subnet mark, หมายเลข DNS และ Default gateway         
ขั้นตอนการเชื่อมต่อของเครื่องลูกกับ DHCP server    
1. เครื่องลูกค้นหาเครื่อง DHCP server ในเครือข่าย โดยส่ง DHCP discover เพื่อร้องขอ IP address
            2. DHCP server จะค้นหา IP  ที่ว่างอยู่ในฐานข้อมูล  แล้วส่ง DHCP  offer  กลับไปให้เครื่องลูก
   
        3. เมื่อเครื่องลูกได้รับ IP  ก็จะส่งสัญญาณตอบกลับ DHCP  Request ให้เครื่องแม่ทราบ
            4. DHCP server ส่งสัญญาณ DHCP Ack กลับไปให้เครื่องลูก เพื่อ

วันอาทิตย์ที่ 9 มกราคม พ.ศ. 2554

การบ้านประจำวันที่ 5 มกราคม พ.ศ. 2554

แบบฝึกหัด

1. Functional Dependency คืออะไร แบ่งเป็นกี่ประเภท
ตอบ คือการพิจารณาโครงสร้างของแต่ละ Relation ว่ามีโครงสร้างอยู่ใน Normal Form ระดับใด จะพิจารณาจาก Functional Dependency ซึ่งเป็นความสัมพันธ์ระหว่าง Attribute ต่าง ๆ ภายใน Relation กับ Attribute หรือกลุ่ม Attribute ที่ทำหน้าที่เป็น Key ของ Relation นั้นซึ่งความสัมพันธ์นี้ จะถูกนิยามด้านรูปแบบทางคณิตศาสตร์ที่เรียกว่า “Functional Dependency”
Functional Dependency สมารถแบ่งออกเป็น 4 ประเภท ดังนี้
1.      Functional Dependency ที่เกิดจากความสัมพันธ์ระหว่าง Determinant และ Dependency อย่างละ 1 คำ เช่น ความสัมพันธ์ระหว่างหมายเลขบัตรประชาชนและชื่อเจ้าของบัตร
2.      Functional Dependency ที่เกิดจากความสัมพันธ์ระหว่าง Determinant 1 ค่ากับ Dependency หลายค่า เช่น ความสัมพันธ์ระหว่างหมายเลขบัตรประชาชนและข้อมูลที่ปรากฏอยู่บนบัตรประชาชน
3.      Functional Dependency ที่มีความสัมพันธ์ 2 ทาง ซึ่งเป็น Functional Dependencyที่ทั้ง Determinant และ Dependency ต่างสามารถทำหน้าที่ของอีกฝ่ายหนึ่งได้ เช่น ความสัมพันธ์   ระหว่างชื่อผู้จัดการโครงการ (Attribute “MANAGER”)กับชื่อโครงการ(Attribute“PROJECT_NO”)ซึ่งถ้าทราบชื่อของโครงการจะสามารถทราบได้ถึงชื่อของโครงการที่ผู้จัดการนั้นเป็นเจ้าของได้ และเมื่อทราบชื่อโครงการก็จะสามารถทราบถึงชื่อของผู้จัดการโครงการนั้นเช่นเดียวกัน
4.      Functional Dependency ที่ต้องใช้ Determinant มากกว่า 1 ค่า เพื่ออ้างถึง Dependency เช่น ความสัมพันธ์ระหว่างจำนวนสินค้าที่ผลิตได้ของสินค้าแต่ละชนิดภายใต้สายการผลิตต่าง ๆ
2. จงอธิบายความหมายของ Repeating Group พร้อมยกตัวอย่าง
ตอบ Repeating Group หมายถึง รีเลชั่น ของตารางเกิดมีกลุ่มข้อมูลซ้ำกันหรือกล่าวอีกนัยหนึ่งคือแต่ละช่องเซลของรีเลชั่นจะถูกจัดเก็บข้อมูลมากกว่า 1 ค่า ส่งผลให้รีเลชั่น นี้ มีโครงสร้างที่ไม่สอดคล้องตามคุณสมบัติของ 1NF
ยกตัวอย่างเช่น ตาราง Oder สังเกตว่าลูกค้า(Attribute“CUST_NO”) 1 คนสามารถมีรายการสั่งซื้อ (Attribute “ORDER_CONTENT”) ได้มากกว่า 1 รายการ ดังนั้นจึงกล่าวได้ว่า (Attribute“CUST_NO”) นี้ มีความสัมพันธ์กับ(Attribute“ORDER_CONTENT”) ในแบบ Repeating Group ส่งผลให้รีเลชั่น นี้ มีโครงสร้างที่ไม่สอดคล้องตามคุณสมบัติของ 1NF
3. จงอธิบายความหมายของ Transitive Dependency พร้อมยกตัวอย่าง
ตอบ Transitive Dependency หมายถึง รีเลชั่น ของตารางเกิดมี Attribute บางตัวที่ไม่ได้เป็นคีย์หลัก มีคุณสมบัติในการกำหนดค่าของอื่นที่ไม่ใช่คีย์หลักในตารางรีเลชั่นหรือกล่าวอีกนัยหนึ่งคือ มี 2 Attribute ที่ไม่ใช่คีย์หลัก ที่สามารถระบุค่าระหว่างกันได้
ยกตัวอย่างเช่น ในตาราง Oder สินค้าของลูกค้าจาก รีเลชั่น “Cust” มีค่าของ AttributeCITY” และ AttributeZONE_SALE” ปรากฏข้อมูลซ้ำกันเป็นคู่ ๆ หรือกล่าวอีกนัยหนึ่งคือ ทั้ง 2 Attribute สมารถระบุค่าระหว่างกันได้ กล่าวคือ เมื่อระบุค่าให้กับ AttributeZONE_SALE” จะสามารถทราบถึงเมืองใน AttributeCITY” ได้ ดังนั้นจึงทำให้ รีเลชั่นนี้ขาดคุณสมบัติของ 3NF และยังก่อให้เกิดปัญหาความผิดพลาดทางด้าน Anomaly

4.จงตรวจสอบตารางต่อไปว่าอยู่ในรูปของ 1NF 2NF และ 3NF แล้วหรือยัง ถ้ายัง Normalization ให้อยู่ในรูปดังกล่าว
P_ID
P_Name
E_ID
E_ Name
Job_Calss
Chg_Hour
Hour
11
EAU  Web Site
103
สมชาย ไม้ดี
SA
500
23.8
101
แท่น งามยิ่ง
Database  Designer
450
19.4
105
ชาย ดีศรี
Database  Designer
450
35.7
106
แม็ก ยอดยิ่ง
Programmer
400
12.6
102
อมร ดีศรี
SA
500
23.8
22
BU Reglstration
114
สุรศักดิ์ ดีงาม
Application Designer
300
24.6
118
กมล ไม้งาม
General Support
200
45.3
104
นาย ยิ่งยอด
SA
500
32.4
106
แม็ก ยอดยิ่ง
Programmer
400
20
112
ธิดา ไม้งาม
Database  Designer
450
44.0
105
ชาย ดีศรี
Database  Designer
450
44.0



ตอบ จากตารางจะสังเกตว่าไม่มีคุณสมบัติครบเป็น 1NF เพราะเป็นรีเลชั่นที่มีคีย์หลักของรีเลชั่น คือ มี (Attribute “P_ID”) เป็นคีย์หลัก แล้วแต่มีกลุ่มข้อมูลซ้ำซ้อน (Repeating Group) อยู่ในรีเลชั่นหรือในแต่ละช่องหรือเซล ของรีเลชั่นมีการเก็บข้อมูลหลายค่าคือ AttributeE_ID”นี้มีความสัมพันธ์กับ AttributeP_Name” ในแบบ Repeating Group ส่งผลให้ Relation นี้ มีโครงสร้างที่ไม่สอดคล้องตามคุณสมบัติของ 1NF ดังนั้นจึงต้องทำรายการ Normalization โดยการแปลงคุณสมบัติ Attribute ที่อยู่ในรูป Repeating Group ให้มีคุณสมบัติ  Atomicity พร้อมกับกำหนดให้ Attribute ดังกล่าวเป็น Relation Key ของ Relation ดังนั้นจึงถูกแปลงให้อยู่ในรูปดังนี้
P_ID
P_Name
E_ID
E_ Name
Job_Calss
Chg_Hour
Hour
11
EAU  Web Site
103
สมชาย ไม้ดี
SA
500
23.8
11
EAU  Web Site
101
แท่น งามยิ่ง
Database  Designer
450
19.4
11
EAU  Web Site
105
ชาย ดีศรี
Database  Designer
450
35.7
11
EAU  Web Site
106
แม็ก ยอดยิ่ง
Programmer
400
12.6
11
EAU  Web Site
102
อมร ดีศรี
SA
500
23.8
22
BU Reglstration
114
สุรศักดิ์ ดีงาม
Application Designer
300
24.6
22
BU Reglstration
118
กมล ไม้งาม
General Support
200
45.
22
BU Reglstration
104
นาย ยิ่งยอด
SA
500
32.4
22
BU Reglstration
106
แม็ก ยอดยิ่ง
Programmer
400
20
22
BU Reglstration
112
ธิดา ไม้งาม
Database  Designer
450
44.0
22
BU Reglstration
105
ชาย ดีศรี
Database  Designer
450
44.0



- ไม่มีคุณสมบัติเป็นไปตาม 2NF เพราะจะเห็นได้ว่า Relation ของตาราง จะมี Attribute (E_ID ,P_ID) เป็น Attribute ที่ทำให้ข้อมูลในแต่ละ Tuple มีค่าไม่ซ้ำกัน ดังนั้น  Attribute ทั้ง 2 จึงทำหน้าที่เป็น Relation Key และพิจารณาค่าของ Attribute  E_ID”, E_ Name” ,Job_Calss”, Chg_Hour”, Hour ” จะสังเกตเห็นว่า Tuple ที่ประกอบขึ้นจาก Attribute เหล่านี้ จะมีข้อมูลซ้ำกันเป็นชุด ๆ และมีเพียง  Attribute  P_Name” เท่านั้นที่มีค่าแปรเปลี่ยนตามค่าของ Relation Key ดังนั้นจึงสามารถเขียนด้วย Functional Dependency เพิ่มเติมได้ดังนี้
- d1: E_ID, P_ID               P_Name
- d2: E_ID                E_ Name ,Job_Calss ,Chg_Hour, Hour
ใน d2 จะสังเกตเห็นว่า Attribute E_ Name” ,Job_Calss”, Chg_Hour”และ “ Hour ”, เป็น Nonprime Attribute ของ Relation ที่ไม่ได้ขึ้นอยู่กับเฉพาะ Relation Key แต่กลับขึ้นอยู่กับค่าของ Attribute E_ID” ด้วย แสดงว่า d2 นี้ไม่เป็นไปตามคุณสมบัติข้อ 2
ดังนั้น Relation นี้ จึงไม่มีคุณสมบัติเป็นไปตามคุณสมบัติของ 2NF จึงต้องแยก Relation นี้ ออกเป็น 2 Relation ตาม d1และ d2 ดังนี้
E P_Name
E_ID
P_ID
P_Name
103
11
EAU  Web Site
101
11
EAU  Web Site
105
11
EAU  Web Site
106
11
EAU  Web Site
102
11
EAU  Web Site
114
22
BU Reglstration
118
22
BU Reglstration
104
22
BU Reglstration
106
22
BU Reglstration
112
22
BU Reglstration
105
22
BU Reglstration




E
E_ID
E_ Name
Job_Calss
Chg_Hour
Hour
103
สมชาย ไม้ดี
SA
500
23.8
101
แท่น งามยิ่ง
Database  Designer
450
19.4
105
ชาย ดีศรี
Database  Designer
450
35.7
106
แม็ก ยอดยิ่ง
Programmer
400
12.6
102
อมร ดีศรี
SA
500
23.8
114
สุรศักดิ์ ดีงาม
Application Designer
300
24.6
118
กมล ไม้งาม
General Support
200
45.
104
นาย ยิ่งยอด
SA
500
32.4
106
แม็ก ยอดยิ่ง
Programmer
400
20
112
ธิดา ไม้งาม
Database  Designer
450
44.0
105
ชาย ดีศรี
Database  Designer
450
44.0



-  จาก Relation นี้ ถึงแม้จะมีโครงสร้างเป็นไปตามคุณสมบัติ 2NF แต่จะเห็นว่าค่าของ AttributeJob_Calss” ,Chg_Hour”และ “ Hour ” ยังปรากฏข้อมูลที่มีซ้ำกันอยู่เป็นคู่ ๆ หรือกล่าวอีกนัยหนึ่งทั้ง 2 Attribute สามารถรับบุค่าระหว่างกันได้ ดังนั้น Relation นี้จึงขาดคุณสมบัติของ 3NF และยังก่อให้เกิดปัญหาความผิดพลาดทางด้าน Anomaly
จากปัญหา Anomaly ที่เกิดขึ้นจาก Transitive Dependency เหล่านี้จึงต้องทำการแยก Attribute ที่ทำให้เกิด Transitive Dependency ของ Relation นี้ ออกมาเป็น Relation ใหม่ ซึ่งจากตารางได้แก่ AttributeJob_Calss” ,Chg_Hour”และ “ Hour ” ดังนี้
E2
E_ID
E_ Name
Job_Calss
103
สมชาย ไม้ดี
SA
101
แท่น งามยิ่ง
Database  Designer
105
ชาย ดีศรี
Database  Designer
106
แม็ก ยอดยิ่ง
Programmer
102
อมร ดีศรี
SA
114
สุรศักดิ์ ดีงาม
Application Designer
118
กมล ไม้งาม
General Support
104
นาย ยิ่งยอด
SA
106
แม็ก ยอดยิ่ง
Programmer
112
ธิดา ไม้งาม
Database  Designer
105
ชาย ดีศรี
Database  Designer




Job Chg Hour
Job_Calss
Chg_Hour
Hour
SA
500
23.8
Database  Designer
450
19.4
Database  Designer
450
35.7
Programmer
400
12.6
SA
500
23.8
Application Designer
300
24.6
General Support
200
45.
SA
500
32.4
Programmer
400
20
Database  Designer
450
44.0
Database  Designer
450
44.0


5.จงวิเคราะห์และจัดทำ Normalization ระบบการลงทะเบียนของนักศึกษา ให้มีความซ้ำซ้อนน้อยที่สุด
รหัส นศ.
ภาคเรียนที่
รหัสวิชา
ชื่อวิชา
ประเภทวิชา
ชื่อประเภท
หน่วยกิต
เกรด
4501
1/45
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
F
1/45
A03
ภาษาไทย
01
พื้นฐาน
3
C
2/45
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
D
2/45
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
D+
4052
1/45
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
B
1/45
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
C
2/45
A02
ระบบฐานข้อมูล
03
ชีพเลือก
3
B
2/45
A05
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
4503
1/45
A06
การสื่อสารข้อมูล
01
พื้นฐาน
3
A
1/45
A04
ภาษาอังกฤษ1
03
ชีพเลือก
3
C
2/45
A05
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
4506
1/45
A03
ภาษาไทย
01
พื้นฐาน
3
B+
1/45
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
C




จัดทำ Normalization 
5.1 First Normal Form (1NF)  ได้ดังนี้
ระบบการลงทะเบียนของนักศึกษา
รหัส นศ.
ภาคเรียนที่
รหัสวิชา
ชื่อวิชา
ประเภทวิชา
ชื่อประเภท
หน่วยกิต
เกรด
4501
1/45
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
F
4501
1/45
A03
ภาษาไทย
01
พื้นฐาน
3
C
4501
2/45
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
D
4501
2/45
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
D+
4052
1/45
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
B
4052
1/45
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
C
4052
2/45
A02
ระบบฐานข้อมูล
03
ชีพเลือก
3
B
4052
2/45
A05
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
4503
1/45
A06
การสื่อสารข้อมูล
01
พื้นฐาน
3
A
4503
1/45
A04
ภาษาอังกฤษ1
03
ชีพเลือก
3
C
4503
2/45
A05
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
4506
1/45
A03
ภาษาไทย
01
พื้นฐาน
3
B+
4503
1/45
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
C





5.2 Second Normal Form (2NF)  ได้ดังนี้
รหัสวิชาระบบการลงทะเบียน
รหัส นศ.
รหัสวิชา
ภาคเรียนที่
4501
A01
1/45
4501
A03
1/45
4501
A01
2/45
4501
A04
2/45
4052
A01
1/45
4052
A04
1/45
4052
A02
2/45
4052
A05
2/45
4503
A06
1/45
4503
A04
1/45
4503
A05
2/45
4506
A03
1/45
4503
A04
1/45






รหัสวิชา
รหัสวิชา
ชื่อวิชา
ประเภทวิชา
ชื่อประเภท
หน่วยกิต
เกรด
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
F
A03
ภาษาไทย
01
พื้นฐาน
3
C
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
D
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
D+
A01
คณิตศาสตร์คอม
02
ชีพบังคับ
3
B
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
C
A02
ระบบฐานข้อมูล
03
ชีพเลือก
3
B
A05
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
A06
การสื่อสารข้อมูล
01
พื้นฐาน
3
A
A04
ภาษาอังกฤษ1
03
ชีพเลือก
3
C
A05
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
A03
ภาษาไทย
01
พื้นฐาน
3
B+
A04
ภาษาอังกฤษ1
01
พื้นฐาน
3
C





5.3 Second Normal Form (2NF)  ได้ดังนี้
รหัสวิชา 2
รหัสวิชา
ชื่อวิชา
ประเภทวิชา
A01
คณิตศาสตร์คอม
02
A03
ภาษาไทย
01
A01
คณิตศาสตร์คอม
02
A04
ภาษาอังกฤษ1
01
A01
คณิตศาสตร์คอม
02
A04
ภาษาอังกฤษ1
01
A02
ระบบฐานข้อมูล
03
A05
โปรแกรมสำเร็จรูป1
02
A06
การสื่อสารข้อมูล
01
A04
ภาษาอังกฤษ1
03
A05
โปรแกรมสำเร็จรูป1
02
A03
ภาษาไทย
01
A04
ภาษาอังกฤษ1
01



ชื่อประเภทวิชา
ชื่อวิชา
ประเภทวิชา
ชื่อประเภท
หน่วยกิต
เกรด
คณิตศาสตร์คอม
02
ชีพบังคับ
3
F
ภาษาไทย
01
พื้นฐาน
3
C
คณิตศาสตร์คอม
02
ชีพบังคับ
3
D
ภาษาอังกฤษ1
01
พื้นฐาน
3
D+
คณิตศาสตร์คอม
02
ชีพบังคับ
3
B
ภาษาอังกฤษ1
01
พื้นฐาน
3
C
ระบบฐานข้อมูล
03
ชีพเลือก
3
B
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
การสื่อสารข้อมูล
01
พื้นฐาน
3
A
ภาษาอังกฤษ1
03
ชีพเลือก
3
C
โปรแกรมสำเร็จรูป1
02
ชีพบังคับ
3
D
ภาษาไทย
01
พื้นฐาน
3
B+
ภาษาอังกฤษ1
01
พื้นฐาน
3
C