วันเสาร์ที่ 11 ธันวาคม พ.ศ. 2553

วิชาฐานข้อมูลเบื้องต้น (4122201) ตอนเรียน A1


การบ้านบทที่ ประจำวันที่ ธ.ค. 2553

จงวาดรูป ER Diagram ของระบบการฉายภาพยนตร์พร้อมทั้งระบุความสัมพันธ์ให้ถูกต้องโดยข้อมูลประกอบด้วย
-แฟ้มภาพยนตร์ ข้อมูลที่เก็บ รหัสภาพยนตร์ชื่อภาพยนตร์วันเปิดตัวผู้กำกับ
-แฟ้มผู้แสดง ข้อมูลที่เก็บ รหัสนักแสดงชื่อนักแสดงประวัติการแสดง
-แฟ้มโรงภาพยนตร์ ข้อมูลที่เก็บ รหัสโรงภาพยนตร์ชื่อโรงภาพยนตร์,ที่อยู่,เบอร์โทรศัพท์
จงวาดรูป ER Diagram ของระบบร้านเช่าวีดีโอแห่งหนึ่งประกอบด้วย-แฟ้มสมาชิก (member) ข้อมูลที่เก็บ รหัสลูกค้าชื่อที่อยู่เบอร์โทร
-แฟ้มชื่อเรื่อง (title) ข้อมูลที่เก็บ รหัสเรื่องชื่อเรื่องผู้กำกับนักแสดง
-แฟ้มประเภท (category) ข้อมูลที่เก็บ รหัสประเภทรายละเอียด
พร้อมทั้งกำหนดความสัมพันธ์และคาดินัลลิตีให้ถูกต้อง
1. องค์ประกอบที่สำคัญของแบบจำลองอี-อาร์ มีอะไรบ้าง
          ตอบ  มีส่วนประกอบสำคัญ 3 ส่วนดังนี้ 
                    
 1. เอนทิตี้ (entity)
                    
 2. แอททริบิวต์ (attributes) ของแต่ละเอนทิตี้
                    
 3. ความสัมพันธ์ระหว่างเอนทิตี้ (relationship)
2. จงอธิบายความหมายและสัญลักษณ์ของคำต่อไปนี้
1.1 เอนทิตี้
            - Entity หมายถึง สิ่งของหรือวัตถุที่สามารถบอกความแตกต่างจากเอนทิตี้อื่น ๆ ได้
           
 -Entity อาจจะเป็น บุคคล , สถานที่ , เหตุการณ์ หรือสิ่งของที่เราเลือก เพื่อใช้ในการเก็บข้อมูล
           
 สัญลักษณ์ จะใช้รูปสี่เหลี่ยมผืนผ้า และมีชื่อกำกับภายในเป็น คำนาม
1.2 รีเลชันชิพ
           
 ความสัมพันธ์ (Relationship) หมายถึงความสัมพันธ์ระหว่างเอนทิตี้ ซึ่งเป็นไปตามชนิดของความสัมพันธ์ โดยความสัมพันธ์จะนำเสนอด้วยเหตุการณ์ที่เชื่อมโยงในเอ็นทีตี โดยการตั้งชื่อความสัมพันธ์จะใช้คำกริยาที่แสดงการกระทำ เช่น มีสอนว่าจ้าง เป็นต้น
1.3 แอตทริบิวต์
            -Attribute เป็นสิ่งที่ใช้อธิบายถึงคุณลักษณะของ Entity หนึ่ง ๆ เช่นEntity ของนักศึกษา จะประกอบด้วย Attribute ชื่อ-สกุล , เพศ , ที่อยู่ , เบอร์โทร ,  คณะ , สาขาวิชา , วันที่เข้าเรียน เป็นต้นสมาชิกที่อยู่ใน Entity หนึ่ง ๆ จะต้องมี Attributeที่เหมือนกัน
         
 จะใช้สัญลักษณ์ วงรี แทน Attribute หนึ่ง Attribute และมีชื่อกำกับภายในที่เป็นคำนาม และแอททริบิวต์ใดเป็นคีย์หลักก็จะมีการขีดเส้นใต้แอททริบิวต์นั้น ๆ
1.4 คอมโพสิตแอทริบิวต์
         
 คอมโพสิตแอทริบิวต์ (Composite Attribute) หมายถึง แอทริบิวต์ที่สามารถแบ่งย่อยได้อีก เช่น  Attribute ที่อยู่ สามารถแบ่งเป็นแอทริบิวต์ย่อย ๆ ได้ เป็น เลขที่ ถนน อำเภอ จังหวัด
1.5 แอทริบิวต์ที่มีหลายค่า
 
          
 แอทริบิวต์ที่มีหลายค่า (Multivalued Attribute) หมายถึง แอทริบิวต์ที่สามารถมีได้หลายค่า เช่น คนหนึ่งคนสามารถมีวุฒิการศึกษาได้หลายระดับ เช่น ปริญญาตรี,โท,เอก เป็นต้น หรือ นักศึกษาหนึ่งคนอาจมีเบอร์โทรศัพท์ได้หลายเบอร์ โดยจะใช้วงรีสองวงซ้อนกันแทนแอทริบิวต์ที่มีหลายค่า
1.6 ดีไรฟต์แอทริบิวต์
         
 -ดีไรฟ์แอทริบิวต์ (Derived attribute) คือ แอทริบิวต์ที่ได้มาจากการคำนวณจากแอทริบิวต์อื่น โดยทั่วไปไม่ต้องจัดเก็บแอทริบิวต์นี้ เช่น แอทริบิวต์อายุ เนื่องจากสามารถคำนวณได้จากวันเดือนปีเกิด หรือ ยอดรวมของใบเสร็จแต่ละใบ คำนวณได้จากรายการสินค้าในใบเสร็จ เป็นต้น
           
 -ในแผนภาพ ER จะใช้เส้นประแทน derived attribute

3. คอมโพสิตเอนทิตี้มีความสำคัญอย่างไรในการออกแบบ
          ตอบ - เป็นเอนทิตี้ที่สร้างขึ้น เพื่อใช้ในการแปลงความสัมพันธ์แบบ M:Nมาเป็นแบบ  1:M สร้างขึ้นโดยการนำเอาคีย์หลักของทั้งสองเอนทิตี้ที่มีความสัมพันธ์กันแบบ M:N มารวมกันกับแอททริบิวต์อื่นๆ ที่สนใจ
         
         - นอกจากเรื่องต่าง ๆ ที่ได้กล่าวมาแล้ว ในการสร้างฐานข้อมูลต้องมีการกำหนดความสัมพันธ์อย่างชัดเจน และต้องทราบว่าอะไรเป็นความสัมพันธ์แบบบังคับ หรือแบบเลือกได้ด้วย
         
  ทั้งนี้เพื่อทำให้สามารถกำหนดคุณสมบัติที่ต้องใช้ในการสร้างตารางได้อย่างถูกต้อง โดยเฉพาะอย่างยิ่งในการกำหนดเรเฟอเรนเชียลอินทิกริตี

4.เอนทิตี้อ่อนแอคืออะไร มีคุณสมบัติอย่างไร
          ตอบ เอนทิตี้อ่อนแอ (Weak entity) หมายถึง เอนทีตีที่ไม่สามารถเกิดขึ้นเองได้ โดยปราศจากเอนทีตีที่มีความสัมพันธ์อยู่ และจะมีคีย์หลักจากการสืบทอดเอนทีตีที่มันพึ่งพิงอยู่ มาใช้เป็นคีย์หลักหรือส่วนหนึ่งของคีย์หลัก โดย Weak Entity จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าแต่เป็นเส้นคู่

5.จากตารางข้อมูลลี่กำหนดให้
ตารางผู้แต่ง
รหัสผู้แต่ง
ชื่อผู้แต่ง
A01
สมชาย
A02
ปราณี
A03
สุชาติ
A04
วินัย

ตารางสำนักพิมพ์
รหัสสำนักพิมพ์
ชื่อสำนักพิมพ์
เบอร์โทรศัพท์
P01
ดินสอดำ
0-7557-7541
P02
ปากกาแดง
0-3459-6843
P03
ยางลบหมึก
0-3469-9288
P04
น้ำหมึกหมด
0-23315-5544

ตารางหนังสือ
รหัสหนังสือ
ชื่อหนังสือ
รหัสผู้แต่ง
รหัสสำนักพิมพ์
EDS1
เรียนครั้งใดก็เรียนดี
A01
P03
EDS1
เรียนครั้งใดก็เรียนดี
A01
P01
EDS2
อ่านแล้วเรียนเก่ง
A02
P01
EDS2
อ่านแล้วเรียนเก่ง
A02
P01
EDS2
อ่านแล้วเรียนเก่ง
A02
P01

5.1 จงเขียน ER Diagram แสดงความสัมพันธ์ของตาราง
 

5.2 จงบอกว่าแต่ละตารางมี Field ใดเป็น Primary Key
 
 ตอบ  -ตารางผู้แต่ง มี Field รหัสผู้แต่ง เป็น Primary Key
             -ตารางสำนักพิมพ์ มี Field รหัสสำนักพิมพ์ เป็น Primary Key
             -ตารางหนังสือ มี Field รหัสหนังสือ,
 รหัสผู้แต่ง, รหัสสำนักพิมพ์เป็น Primary Key
5.3 สำหรับตารางที่มี Foreign Key จงบอกว่าเป็น Field ใดและมีความสัมพันธ์กับ Field ใดในตารางใด
           ตอบ ตารางหนังสือมี Foreign Key เป็น Field รหัสผู้แต่ง มีความสัมพันธ์กับ Field รหัสผู้แต่ในตารางผู้แต่งและมี Foreign Key เป็น Field รหัสสำนักพิมพ์ มีความสัมพันธ์กับField รหัสสำนักพิมพ์ ในตารางสำนักพิมพ์

วันอาทิตย์ที่ 28 พฤศจิกายน พ.ศ. 2553

วิชา ฐานข้อมูลเบื้องต้น

การบ้านบทที่ 4 ประจำวันที่ 24 พฤศจิกายน พ.ศ.2553
1.โครงสร้างข้อมูลเชิงสัมพันธ์ประกอบด้วยอะไรบ้าง จงอธิบาย
ตอบ   1.เอนทิตี้ (Entity) หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง ได้แก่ คน สถานที่ สิ่งของ การกระทำ ซึ่งต้องการจัดเก็บข้อมูลไว้ เช่น เอนทิตี้ลูกค้า เอนทิตี้พนักงาน
            2.แอททริบิวต์ (Attribute) หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของเอนทิตี้หนึ่ง ๆ เช่น  เอนทิตี้นักศึกษา ประกอบด้วยแอทริบิวต์รหัสนักศึกษา ,แอททริบิวต์ชื่อนักศึกษาและแอททริบิวต์ที่อยู่นักศึกษา
2.คุณสมบัติในการจัดเก็บข้อมูลของรีเลชั่นมีอะไรบ้าง
ตอบ ในแต่ละ Relation ประกอบด้วยข้อมูลของ Attribyte ต่างๆที่จัดเก็บในรูปตาราง 2 มิติ คือ Row, Column
1.ข้อมูลในแต่ละแถวจะไม่ซ้ำกัน
2.การจัดเรียงลำดับของข้อมูลในแต่ละแถวไม่เป็นสาระสำคัญ
3.การจัดเรียงลำดับของ Attribute จะเรียงลำดับก่อนหลังอย่างไรก็ได้
4.ค่าของข้อมูลในแต่ละ Attribute ของ Tuple หนึ่งๆ จะบรรจุได้เพียงค่าเดียว
5.ค่าของข้อมูลในแต่ละ Attribute จะบรรจุค่าของข้อมูลประเภทเดียวกัน
3. รีเลชั่นประกอบด้วยคีย์ประเภทต่าง ๆ อะไรบ้างจงอธิบาย พร้อมยกตัวอย่างประกอบประเภทคีย์ดังกล่า
ตอบ
1.คีย์หลัก (Primary key)เป็น Attribute ที่มีคุณสมบัติของข้อมูลที่เป็นค่าเอกลักษณ์หรือมีค่าที่ไม่ซ้ำกัน คุณสมบัติดังกล่าวจะสามารถระบุว่าข้อมูลนั้นเป็นข้อมูลของ Tuple ใด เช่น รหัสพนักงาน เลขที่ 3001 สามารถระบุได้ว่าเป็นของพนักงานชื่อ ดวงพร Attribute ที่มีคุณสมบัติเป็น คีย์หลักอาจประกอบด้วยหลาย Attribute รวมกันเรียกว่า Composite Key (คีย์ผสม)นอกจากนี้ ใน Relation หนึ่งๆ อาจมี Attribute ที่มีคุณสมบัติเป็นคีย์หลักได้มากกว่า หนึ่งAttribute เรียก Attribute เหล่านี้ว่า Candidate Key (คีย์คู่แข่ง)ถ้า Attribute หนึ่งถูกกำหนดให้เป็นคีย์หลัก อีก Attribute หนึ่งที่มีคุณสมบัติเป็นคีย์หลัก แต่ไม่ได้ถูกเลือกให้เป็นคีย์หลักจะเรียกว่า คีย์สำรอง (Alternate Key)
2.คีย์ผสม (Composite Key) การนำฟิลด์ตั้งแต่ 2 ฟิลด์ขึ้นไปมารวมกันเพื่อให้มีคุณสมบัติเป็น Primary Key เนื่องจากหากใช้ฟิลด์ใดฟิลด์หนึ่งเป็น PK จะส่งผลให้ข้อมูลในแต่ละเรคอร์ดซ้ำซ้อนกันได้
3.คีย์คู่แข่ง (Candidate Key) ในแต่ละ relation อาจมี Attribute ที่ทำหน้าที่เป็นคีย์หลักได้มากกว่าหนึ่ง Attribute โดยเรียก Attribute เหล่านี้ว่าคีย์คู่แข่ง (Candidate Key) เช่น นักศึกษาแต่ละคนมี รหัสประจำตัวนักศึกษาและรหัสประจำตัวประชาชนโดยปกติแล้วจะเลือก Candidates Key ที่สั้นที่สุดเป็น Primary Key
4.คีย์นอก (Foreign)
 เป็น Attribute ใน Relation หนึ่งที่ใช้อ้างอิงถึง Attribute เดียวกันนี้ในอีก Relation หนึ่ง โดยที่ Attribute นี้มีคุณสมบัติเป็นคีย์หลักใน Relation ที่ถูกอ้างอิง การมี Attribute นี้ปรากฏอยู่ในRelation ทั้งสองก็เพื่อประโยชน์ ในการเชื่อมโยงข้อมูล
4. Null หมายถึงอะไรใน Relational Database
ตอบ Null คือค่าว่าง เป็นการ"เปรียบเทียบ" ว่า ข้างซ้าย เท่ากับ ข้างขวาหรือไม่ ถ้าเท่ากันให้ค่า true ถ้าไม่เท่าให้ค่า false
Null เป็นการเปรียบเทียบตัวแปรชื่อ UL ว่าเท่ากับ ค่าว่างหรือไม่ ถ้าข้อแม้เป็นจริงหรือตัวแปร UL ไม่มีค่าใดๆเก็บอยู่ให้ค่าเป็น true ถ้าไม่เป็นจริงหรือตัวแปรมีค่าใดๆเก็บอยู่ให้ค่าเป็น false
5. เหตุใดจึงต้องมีการนำ Integrity rule มาใช้ในฐานข้อมู
ตอบ Integrity Rule คือ กฎควบคุมความคงสภาพของข้อมูล ถูกนำไปใช้เพื่อให้ข้อมูลมีความถูกต้อง คล้องจอง หรือมีความสมเหตุสมผลกัน และจะช่วยป้องกันการกระทำใดแถวของข้อมูลในแอนทิตี้แรกๆ ที่ส่งผลกระทบต่อข้อมูล หรือเกิดความไม่ถูกต้อง ความไม่สอดคล้องขึ้นกับข้อมูล
6. ความสัมพันธ์ระหว่างรีเลชั่นมีกี่ประเภท อะไรบ้าง จงยกตัวอย่างประกอ
ตอบ  ความสัมพันธ์ระหว่างรีเลชั่นมี 3 ประเภท
-ความสัมพันธ์แบบ หนึ่ง - ต่อ - หนึ่ง (one-to-one) หมายถึง มี 1 ข้อมูลในความสัมพันธ์ ตัวอย่างเช่น ถ้าเราแยกที่อยู่ออกจากตารางข้อมูล Customers จะต้องมีความสัมพันธ์ หนึ่ง - ต่อ - หนึ่ง ระหว่างชุดข้อมูลต้องมี (foreign key จาก Addresses ไปยัง Customers)
-ความสัมพันธ์แบบ หนึ่ง - ต่อ - หลาย (one-to-many) หมายถึง 1 แถว ในตารางข้อมูลหนึ่ง เชื่อมกับหลายแถวในอีกตาราง ตัวอย่างเช่น ลูกค้า 1 คน สามารถมีหลายใบสั่งซื้อ ในความสัมพันธ์นี้ตารางที่เก็บหมายเลขแถวจะต้องมี foreign ไปตารางที่มี 1 แถวข้อมูล ดังนั้น จึงมี Customer ID ในตารางข้อมูล Orders เพื่อแสดงความสัมพันธ์
-ความสัมพันธ์แบบ หลาย - ต่อ - หลาย (many-to-many) หมายถึง หลายแถวในตารางข้อมูลหนึ่งเชื่อมกับหลายแถวในอีกตาราง ตัวอย่าง เช่น ถ้ามีตารางข้อมูล 2 ตาราง Books และ Authors อาจจะพบว่าหนังสือ 1 เล่ม เขียนโดยนักเขียน 2 คน แต่ละคนเขียนหนังสือเล่มอื่นด้วย ตามปกติความสัมพันธ์ประเภทนี้ ควรอีกตารางข้อมูลเก็บข้อมูลทั้งหมด อาจจะต้องมี Books, Authors และ Books_Authors โดยตารางที่ 3 เก็บเฉพาะคีย์ของตารางอื่นในฐานะ foreign key เป็นคู่ เพื่อแสดงว่าผู้เขียนเกี่ยวข้องกับหนังสือเล่มใด

วันอาทิตย์ที่ 21 พฤศจิกายน พ.ศ. 2553

วิชา ฐานข้อมูลเบื้องต้น ตอนเรียน A1 การบ้านบทที่ 3 ประจำวันที่ 17 พฤศจิกายน 2553


1.การแบ่งสถาปัตยกรรมของฐานข้อมูลออกเป็น 3 ระดับ มีไว้เพื่อวัตถุประสงค์ใดเป็นสำคั

            - เพื่อให้เกิดความเป็นอิสระของข้อมูล (Data Independence) คือในการเปลี่ยนแปลงข้อมูลในระดับที่สูงกว่า จะไม่มีผลกระทบกับข้อมูลในระดับที่ต่ำกว่า

2.ความเป็นอิสระของข้อมูลมีบทบาทสำคัญอย่างไรต่อการจัดการฐานข้อมูล จงอธิบา
           -
ความเป็นอิสระของข้อมูลคือการที่ผู้ใช้สามารถเปลี่ยนแปลงข้อมูลในระดับแนวความคิด หรือระดับภายในได้โดยไม่กระทบกับโปรแกรมที่ เรียกใช้ ผู้ใช้ยังมองเห็นโครงสร้างข้อมูลในระดับ ภายนอกเหมือนเดิมและใช้งานได้ตามปกติ โดยมี DBMS เป็นตัวจัดการในการเชื่อมต่อข้อมูล ในระดับ ภายนอกกับระดับแนวความคิด และเชื่อมข้อมูลระดับแนวความคิดกับระดับภายใน นั่นหมายถึงการ เปลี่ยนแปลงข้อมูลในระดับที่ต่ำ กว่า จะไม่กระทบกับข้อมูลที่อยู่ในระดับที่สูงกว่า ซึ่งความเป็นอิสระ ของข้อมูลแบ่งออกเป็น 2 ลักษณะคือ
           
 1. ความเป็นอิสระของข้อมูลเชิงตรรกะ (Logical Data Independce) คือ การเปลี่ยนแปลงแก้ไขโครงสร้างของข้อมูลในระดับแนวความคิด จะไม่มีผลกระทบต่อโครงสร้างข้อมูลในระดับภายนอกที่ผู้ใช้งานใช้อยู่ เช่น ในการเขียนโปรแกรมเพื่อแสดงข้อมูลของพนักงาน ซึ่งใช้ข้อมูลใน ระดับภายนอก หากในระดับแนวความคิด มีการเปลี่ยนแปลง โดยการ เพิ่มแอตทริบิวส์บางตัวเข้าไปใน รายละเอียดข้อมูลของพนักงาน จะไม่มี ผลกระทบกับโปรแกรมเดิมที่ทำงานอยู่
            2.
ความเป็นอิสระของข้อมูลเชิงกายภาพ (Physical Data Independce) คือการเปลี่ยนแปลงแก้ไขโครงสร้างของข้อมูลในระดับภายใน จะ ไม่มีผลกระทบต่อ โครงสร้างข้อมูลในระดับแนวความคิด หรือระดับภายนอก เช่น ในระดับภายในมีการเปลี่ยนวิธีการ จัดเก็บข้อมูลจากแบบ เรียงลำดับ (sequential) ไปเป็นแบบดัชนี (indexed) ในระดับภายใน ในระดับแนวคิดนั้นจะไม่มีผลกระทบต่อการเปลี่ยนแปลงดังกล่าว หรือ โปรแกรมประยุกต์ที่เขียน ในระดับ ภายนอกก็ไม่จำเป็นต้องแก้ไขโปรแกรมตามวิธีการจัดเก็บที่เปลี่ยนแปลงไป

3.ปัญหาที่สำคัญของ Hierarchical Model คืออะไร และเหตุใด Hierarchical Model จึงไม่สามารถลดความซ้ำซ้อนของข้อมูลได้ทั้งหม
            - Record
 ที่อยู่ด้านบนของโครงสร้างหรือพ่อ (Parent Record) นั้นสามารถมีลูกได้มากกว่าหนึ่งคนแต่ลูก (Child Record) จะไม่สามารถมีพ่อได้มากกว่า 1 คนได้

4.เหตุใด Network Model ซึ่งสามารถแก้ปัญหาความซ้ำซ้อนของข้อมูลได้จึงไม่เหมาะกับการนำมาใช้งา
            -
เพราะสามารถมีต้นกำเนิดของข้อมูลได้มากกว่า 1   และยินยอมให้ระดับชั้นที่อยู่เหนือกว่าจะมีได้หลายแฟ้มข้อมูลถึงแม้ว่าระดับชั้นถัดลงมาจะมีเพียงแฟ้มข้อมูลเดียว ช่วยลดความซ้ำซ้อนของข้อมูลได้ทั้งหมด และความสัมพันธ์ข้อมูลที่เชื่อมโยงกันไปมาทำให้ยากต่อการใช้งาน

5. สิ่งที่ทำให้  Relational  Model  ได้รับความนิยมอย่างมากคืออะไร จงอธิบาย
            -
เป็นการจัดข้อมูลในรูปแบบของตาราง 2 มิติ คือมี  แถว (Row) และ คอลัมน์ (Column) โดยการเชื่อมโยงข้อมูลระหว่างตาราง จะใช้ Attribute ที่มีอยู่ทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล เหมาะกับงานที่เลือกดูข้อมูลแบบมีเงื่อนไขหลายคีย์ฟิลด์ข้อมูล ป้องกันข้อมูลถูกทำลายหรือแก้ไขได้ดี เนื่องจากโครงสร้างแบบสัมพันธ์นี้ผู้ใช้จะไม่ทราบว่าการเก็บข้อมูลในฐานข้อมูลอย่างแท้จริงเป็นอย่างไร จึงสามารถป้องกันข้อมูลถูกทำลายหรือถูกแก้ไขได้ดี การเลือกดูข้อมูลทำได้ง่าย มีความซับซ้อนของข้อมูลระหว่างแฟ้มต่าง ๆ น้อยมาก อาจมีการฝึกฝนเพียงเล็กน้อยก็สามารถใช้ทำงานได้