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

Dynamic Host Configuration Protocol (DHCP)

Dynamic Host Configuration Protocol (DHCP หรือ DHCPv6) เป็นโพรโทคอลที่ ใช้ในเครือข่ายคอมพิวเตอร์ที่ทำงานแบบแม่ข่าย-ลูกข่าย โดยเครื่องคอมพิวเตอร์ลูกข่ายจะทำการร้องขอข้อมูลที่จำเป็น ในการเข้าร่วมเครือข่ายจากแม่ข่าย ซึ่งข้อมูลเหล่านี้รวมถึงหมายเลขไอพีที่ใช้ภายในเครือข่าย ซึ่งคอมพิวเตอร์แม่ข่ายเป็นฝ่ายกำหนดให้กับลูกข่าย
DHCP ได้รับการยอมรับเป็นมาตรฐานในเดือนตุลาคม ค.ศ. 1993 โดยมาแทนมาตรฐานเก่า BOOTP รุ่นล่าสุดของ DHCP คือ DHCPv6 ซึ่งใช้กับโพรโทคอล IPv6 ได้รับการอนุมัติเมื่อกรกฎาคม ค.ศ.​2003

วันจันทร์ที่ 10 มกราคม พ.ศ. 2554

วิชา ฐานข้อมูลเบื้องต้น การบ้านบทที่ 6 ประจำวันที่ 5 ม.ค 2554

แบบฝึกหัด
1.  Functional Dependency  คืออะไร  แบ่งเป็นกี่ประเภท
         -           1.  Functional Dependency  ที่เกิดขึ้นจากความสัมพันธ์ระหว่าง  Determinant และ  Dependency  อย่างละ 1 คำ  เช่น  ความสัมพันธ์ระหว่างหมายเลขบัตรประชาชนและชื่อเจ้าของบัตร
                     2.  Functional Dependency  ที่เกิดขึ้นจากความสัมพันธ์ระหว่าง Determinant 1 คำกับ Dependency  หลายค่า  เช่น  ความสัมพันธ์ระหว่างหมายเลขบัตรประชาชน  และข้อมูลที่ปรากฏอยู่บนบัตรประชาชน
                     3.  Functional Dependency  ที่มีความสัมพันธ์ 2 ทาง  ซึ่งเป็น  Functional Dependency  ที่ทั้ง  Determinant  และ  Dependency  ต่างสามารทำหน้าที่ของอีกฝ่ายหนึ่งได้  เช่น  ความสัมพันธ์ระหว่างชื่อของผู้จักดารโครงการกับชื่อโครงการ
                    4.  Functional  Dependency  ที่ต้องใช้  Determinant  มากกว่า 1 ค่า  เพื่ออ้างถึง  Dependency  เช่น  ความสัมพันธ์ระหว่างจำนวนสินค้าที่ผลิตได้ของสินค้าแต่ละชนิดภายใต้สายการผลิตต่าง ๆ

2.  จงอธิบายความหมายของ  Repeating Group พร้อมยกตัวอย่าง
           - epeating Group หมายถึง รีเลชั่น ของตารางเกิดมีกลุ่มข้อมูลซ้ำกันหรือกล่าวอีกนัยหนึ่งคือแต่ละช่องเซลของรีเลชั่นจะถูกจัดเก็บข้อมูลมากกว่า 1 ค่า ส่งผลให้รีเลชั่น นี้ มีโครงสร้างที่ไม่สอดคล้องตามคุณสมบัติของ 1NF

 3.  จงอธิบายความหมายของ  Transitive Dependency  พร้อมยกตัวอย่าง
            -  Transitive Dependency หมายถึง รีเลชั่น ของตารางเกิดมี Attribute บางตัวที่ไม่ได้เป็นคีย์หลัก มีคุณสมบัติในการกำหนดค่าของอื่นที่ไม่ใช่คีย์หลักในตารางรีเลชั่นหรือกล่าวอีกนัยหนึ่งคือ มี 2 Attribute ที่ไม่ใช่คีย์หลัก ที่สามารถระบุค่าระหว่างกันได้
 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
สุรศักดิ์ ดีงาม
ApplicationDesigner
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) อยู่ในรีเลชั่นหรือในแต่ละช่องหรือเซล ของรีเลชั่นมีการเก็บข้อมูลหลายค่าคือ Attribute “E_ID”นี้มีความสัมพันธ์กับ Attribute “P_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
สุรศักดิ์ ดีงาม
ApplicationDesigner
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 แต่จะเห็นว่าค่าของ Attribute “Job_Calss” , “Chg_Hour”และ “ Hour ” ยังปรากฏข้อมูลที่มีซ้ำกันอยู่เป็นคู่ ๆ หรือกล่าวอีกนัยหนึ่งทั้ง 2 Attribute สามารถรับบุค่าระหว่างกันได้ ดังนั้นRelation นี้จึงขาดคุณสมบัติของ 3NF และยังก่อให้เกิดปัญหาความผิดพลาดทางด้าน Anomaly

จากปัญหา Anomaly ที่เกิดขึ้นจาก Transitive Dependency เหล่านี้จึงต้องทำการแยก Attribute ที่ทำให้เกิด Transitive Dependency ของ Relation นี้ ออกมาเป็น Relation ใหม่ ซึ่งจากตารางได้แก่ Attribute “Job_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