เพื่อแสดงให้เห็นถึงการออกแบบฐานข้อมูลในระดับแนวคิด ในที่นี้ขอนำตัวอย่างระบบฐานข้อมูล นักศึกษามาประกอบดังนี้
ในคณะหนึ่งประกอบด้วยภาควิชาต่าง ๆ และในแต่ละภาควิชาประกอบด้วยอาจารย์หลายคน ซึ่งอาจารย์แต่ละคนจะสังกัดภาควิชาใดภาควิชาหนึ่งเท่านั้น อาจารย์แต่ละคนจะทำหน้าที่เป็นอาจารย์ที่ปรึกษาให้กับนักศึกษาหลายคนในภาควิชา รวมทั้งทำการสอนชุดวิชาต่าง ๆ ตามหลักสูตรที่เปิดให้นักศึกษาลงทะเบียนเรียนในแต่ละภาคการศึกษา โดยอาจารย์หนึ่งคนอาจสอนหลายชุดวิชา ซึ่งในแต่ละชุดวิชาอาจมีได้มากกว่าหนึ่งหมู่เรียน
นอกจากนี้ในแต่ละภาควิชาประกอบด้วยนักศึกษาหลายคน ซึ่งนักศึกษาแต่ละคนจะสังกัดภาควิชาใดภาควิชาหนึ่งเท่านั้น โดยนักศึกษาแต่ละคนจะมีอาจารย์ที่ปรึกษาหนึ่งคน
ในหนึ่งภาคการศึกษา จะมีชุดวิชาในหลักสูตรที่เปิดให้นักศึกษาลงทะเบียนเรียนได้หลายชุดวิชา ซึ่งนักศึกษาทุกคนจะต้องลงทะเบียนเรียนอย่างน้อยหนึ่งชุดวิชา โดยในแต่ละชุดวิชาที่เปิดทำการสอนอาจมีได้มากกว่าหนึ่งหมู่เรียน ซึ่งในแต่ละหมู่เรียนจะมีอาจารย์ผู้สอนเพียงหนึ่งคนเท่านั้น
ทั้งนี้ รายงานข้อมูลพื้นฐานทั่วไปที่ต้องการ ได้แก่ รายชื่อนักศึกษาในแต่ละภาควิชา รายชื่อ นักศึกษาในความดูแลของอาจารย์ที่ปรึกษาแต่ละคน เป็นต้น รายงานข้อมูลที่ต้องการในแต่ละภาคการศึกษา ได้แก่ ข้อมูลการลงทะเบียนเรียนของนักศึกษาแต่ละคน รายงานผลการสอบของนักศึกษาแต่ละคน รายชื่อนักศึกษาที่ลงทะเบียนเรียนในแต่ละชุดวิชาจำแนกตามหมู่เรียน รายชื่ออาจารย์ผู้สอนในแต่ละชุดวิชาจำแนกตามหมู่เรียน เป็นต้น
จากรายละเอียดข้างต้น เมื่อทำการวิเคราะห์เพื่อหาเอนทิตีที่เกี่ยวข้องจะพบว่า มี 4 เอนทิตีคือ
เมื่อทำการวิเคราะห์ความสัมพันธ์ระหว่างเอนทิตีจะพบว่า มี 5 ความสัมพันธ์ คือ
จากเอนทิตีและความสัมพันธ์ระหว่างเอนทิตีที่ทำการวิเคราะห์ได้ในข้อ 2 พบว่า
ความสัมพันธ์การลงทะเบียนซึ่งเป็นระหว่างความสัมพันธ์ระหว่างเอนทิตีนักศึกษาและเอนทิตี หลักสูตรเป็นความสัมพันธ์แบบกลุ่มต่อกลุ่ม ดังนั้น จึงต้องทำการแปลงความสัมพันธ์ดังกล่าวเป็น ความสัมพันธ์ระหว่างเอนทิตีแบบหนึ่งต่อกลุ่มโดยการสร้าง Composite Entity การลงทะเบียนขี้นหนึ่งเอนทิตี
และในลักษณะเดียวกัน ความสัมพันธ์การสอนซึ่งเป็นระหว่างความสัมพันธ์ระหว่างเอนทิตีอาจารย์และเอนทิตีหลักสูตรก็เป็นความสัมพันธ์แบบกลุ่มต่อกลุ่ม ดังนั้น จึงต้องทำการแปลงความสัมพันธ์ดังกล่าวเป็นความสัมพันธ์ระหว่างเอนทิตีแบบหนึ่งต่อกลุ่มโดยการสร้าง Composite Entity การสอนขี้นอีกหนึ่งเอนทิตี
ดังนั้น ระบบฐานข้อมูลนักศึกษาจะประกอบด้วย 6 รีเลชัน คือ รีเลชันภาควิชา รีเลชันอาจารย์ รีเลชันนักศึกษา รีเลชันหลักสูตร รีเลชันการลงทะเบียน และรีเลชันการสอน โดยมีความสัมพันธ์ระหว่าง รีเลชัน 7 ความสัมพันธ์ คือ
ดังนั้น โครงร่างฐานข้อมูลเชิงสัมพันธ์ของระบบฐานข้อมูลนักศึกษาที่กล่าวมาข้างต้น ในแต่ละรีเลชันจะประกอบด้วยแอททริบิวต์ คีย์หลัก และคีย์นอก ดังนี้คือ
รหัสภาควิชา |
ชื่อภาควิชา |
ที่ตั้งของภาควิชา |
รหัสอาจารย์ |
ชื่ออาจารย์ |
ที่อยู่ |
โทรศัพท์ |
เงินเดือน |
รหัสภาควิชา |
เนื่องจากรีเลชันอาจารย์มีความสัมพันธ์แบบหนึ่งต่อกลุ่มกับรีเลชันนักศึกษาปรากฏอยู่อีกหนึ่ง ความสัมพันธ์ ฉะนั้น รีเลชันนักศึกษาจึงต้องมีแอททริบิวต์รหัสอาจารย์เพิ่มขึ้นอีกหนึ่งแอททริบิวต์ โดย แอททริบิวต์รหัสอาจารย์เป็นคีย์นอกที่ใช้ในการเชื่อมโยงข้อมูลกับรีเลชันอาจารย์
รหัสนักศึกษา |
ชื่อนักศึกษา |
ที่อยู่ |
โทรศัพท์ |
รหัสภาควิชา |
รหัสอาจารย์ |
รหัสชุดวิชา |
ชื่อชุดวิชา |
หน่วยกิต |
คำอธิบายรายวิชา |
ภาค/ปีการศึกษา |
รหัสนักศึกษา |
รหัสชุดวิชา |
หมู่เรียน |
ผลการสอบ |
ภาค/ปีการศึกษา |
รหัสชุดวิชา |
หมู่เรียน |
รหัสอาจารย์ |
โดยทั่วไปการทำให้แต่ละรีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานนั้นมักจะทำจนถึงรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แต่อาจมีในบางกรณีที่ผู้ออกแบบฐานข้อมูลจำเป็นต้องดำเนินการให้รีเลชันนั้นมี คุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์ หรือรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 และ 5
ดังนั้น เพื่อขจัดปัญหาความซ้ำซ้อนของข้อมูลที่อาจเกิดขึ้นในแต่ละรีเลชันจึงต้องจัดทำรีเลชันให้เป็นรูปแบบที่เป็นบรรทัดฐาน โดยลำดับแรก คือ การตรวจสอบว่า รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานใดก่อนที่จะทำให้เป็นรูปแบบที่เป็นบรรทัดฐานในขั้นต่อไป
รหัสภาควิชา |
ชื่อภาควิชา |
ที่ตั้งของภาควิชา |
จากการตรวจสอบพบว่า รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจาก
รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากไม่มี แอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
รีเลชันภาควิชามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจากมีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
รหัสอาจารย์ |
ชื่ออาจารย์ |
ที่อยู่ |
โทรศัพท์ |
เงินเดือน |
รหัสภาควิชา |
จากการตรวจสอบพบว่า รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจาก
รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ใน แต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากไม่มี แอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
รีเลชันอาจารย์มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจากมีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
รหัสนักศึกษา |
ชื่อนักศึกษา |
ที่อยู่ |
โทรศัพท์ |
รหัสภาควิชา |
รหัสอาจารย์ |
จากการตรวจสอบพบว่า รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจาก
รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากไม่มีแอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจากมีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
รหัสชุดวิชา |
ชื่อชุดวิชา |
หน่วยกิต |
คำอธิบายรายวิชา |
จากการตรวจสอบพบว่า รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจาก
รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากไม่มี แอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
รีเลชันหลักสูตรมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจากมีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
ภาค/ปีการศึกษา |
รหัสนักศึกษา |
รหัสชุดวิชา |
หมู่เรียน |
ผลการสอบ |
จากการตรวจสอบพบว่า รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจาก
รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุก แอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากไม่มี ความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากไม่มี ความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากไม่มีแอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากไม่มี ความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
รีเลชันการลงทะเบียนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจากไม่มี ความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
ภาค/ปีการศึกษา |
รหัสชุดวิชา |
หมู่เรียน |
รหัสอาจารย์ |
จากการตรวจสอบพบว่า รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจาก
รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 1 แล้ว เนื่องจากทุกแอททริบิวต์ในแต่ละทูเพิลมีค่าของข้อมูลเพียงค่าเดียว
รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบบางส่วนเกิดขึ้น
รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Transitive เกิดขึ้น
รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์แล้ว เนื่องจากไม่มี แอททริบิวต์ใดในรีเลชันที่สามารถระบุค่าของแอททริบิวต์ที่เป็นคีย์หลัก หรือส่วนใดส่วนหนึ่งของแอททริบิวต์ที่ประกอบกันเป็นคีย์หลักได้
รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบหลายค่า
รีเลชันการสอนมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 5 แล้ว เนื่องจากไม่มีความสัมพันธ์ระหว่างแอททริบิวต์แบบ Join
วัตถุประสงค์ในการรวบรวมและทบทวนโครงร่างจากการออกแบบฐานข้อมูลในระดับแนวคิด คือ เพื่อตรวจทานและตรวจสอบสาระสำคัญ ตลอดจนความขัดแย้ง ความซ้ำซ้อน หรือความไม่ถูกต้องที่อาจ เกิดขึ้น
ทั้งนี้ รายงานข้อมูลพื้นฐานทั่วไปที่ต้องการ ได้แก่ รายชื่อนักศึกษาในแต่ละภาควิชา รายชื่อ นักศึกษาในความดูแลของอาจารย์ที่ปรึกษาแต่ละคน เป็นต้น รายงานข้อมูลที่ต้องการในแต่ละภาคการศึกษา ได้แก่ ข้อมูลการลงทะเบียนเรียนของนักศึกษาแต่ละคน รายงานผลการสอบของนักศึกษาแต่ละคน รายชื่อนักศึกษาที่ลงทะเบียนเรียนในแต่ละชุดวิชาจำแนกตามหมู่เรียน รายชื่ออาจารย์ผู้สอนในแต่ละชุดวิชาจำแนกตามหมู่เรียน เป็นต้น