ตรรกะเทียบกับแบบจำลองข้อมูลทางกายภาพ
ก่อนที่จะพูดถึงความแตกต่างระหว่างแบบจำลองข้อมูลเชิงตรรกะและทางกายภาพ เราต้องรู้ว่าตัวแบบข้อมูลคืออะไร ตัวแบบข้อมูลเป็นตัวแทนที่อธิบายข้อมูลและความสัมพันธ์ระหว่างข้อมูลเหล่านี้สำหรับกระบวนการบางอย่าง โมเดลข้อมูลเป็นส่วนประกอบสำคัญที่ใช้ระหว่างการออกแบบฐานข้อมูล โมเดลข้อมูลลอจิกเป็นมุมมองที่เป็นนามธรรมและระดับสูงของข้อมูลที่มีการระบุเอนทิตี ความสัมพันธ์ และคีย์ เป็นอิสระจากระบบจัดการฐานข้อมูล (DBMS) แบบจำลองข้อมูลทางกายภาพได้มาจากแบบจำลองข้อมูลเชิงตรรกะ ซึ่งแสดงวิธีการจัดโครงสร้างตารางและคอลัมน์ในฐานข้อมูลจริงแบบจำลองข้อมูลทางกายภาพจึงขึ้นอยู่กับระบบการจัดการฐานข้อมูลที่ใช้
โมเดลข้อมูลลอจิกคืออะไร
แบบจำลองข้อมูลเชิงตรรกะอธิบายข้อมูลและความสัมพันธ์โดยละเอียดในระดับที่สูงมาก ไม่รวมวิธีการแสดงข้อมูลทางกายภาพในฐานข้อมูล แต่จะอธิบายในระดับนามธรรม โดยพื้นฐานแล้วจะรวมถึงเอนทิตีและความสัมพันธ์ระหว่างพวกเขาพร้อมกับแอตทริบิวต์ของแต่ละเอนทิตี
โมเดลข้อมูลเชิงตรรกะประกอบด้วยคีย์หลักของแต่ละเอนทิตีและคีย์ภายนอกด้วย เมื่อสร้างแบบจำลองข้อมูลเชิงตรรกะ อันดับแรก เอนทิตีและความสัมพันธ์ของพวกมันจะถูกระบุด้วยคีย์ จากนั้นจะระบุแอตทริบิวต์ของแต่ละเอนทิตี หลังจากนั้นความสัมพันธ์หลายต่อหลายคนได้รับการแก้ไขและการทำให้เป็นมาตรฐาน โมเดลข้อมูลเชิงตรรกะไม่ขึ้นกับระบบการจัดการฐานข้อมูล เนื่องจากไม่ได้อธิบายโครงสร้างทางกายภาพของฐานข้อมูลจริง เมื่อออกแบบชื่อยาวแบบไม่เป็นทางการของแบบจำลองข้อมูลเชิงตรรกะ สามารถใช้สำหรับเอนทิตีและแอตทริบิวต์ได้
แบบจำลองข้อมูลทางกายภาพคืออะไร
แบบจำลองข้อมูลทางกายภาพอธิบายว่าข้อมูลอยู่ในฐานข้อมูลอย่างไร ประกอบด้วยข้อกำหนดของตารางทั้งหมดและคอลัมน์ที่อยู่ภายใน ข้อมูลจำเพาะของตารางประกอบด้วยรายละเอียดต่างๆ เช่น ชื่อตาราง จำนวนคอลัมน์ และข้อมูลจำเพาะของคอลัมน์ รวมถึงชื่อคอลัมน์และประเภทข้อมูล โมเดลข้อมูลทางกายภาพยังประกอบด้วยคีย์หลักของแต่ละตาราง และยังแสดงความสัมพันธ์ระหว่างตารางโดยใช้คีย์ภายนอก นอกจากนี้ แบบจำลองข้อมูลทางกายภาพยังมีข้อจำกัดที่ใช้กับข้อมูลและส่วนประกอบ เช่น ทริกเกอร์และขั้นตอนการจัดเก็บ
แบบจำลองข้อมูลทางกายภาพขึ้นอยู่กับระบบการจัดการฐานข้อมูลที่ใช้ ดังนั้น โมเดลข้อมูลทางกายภาพสำหรับ MySQL จะแตกต่างจากโมเดลข้อมูลที่วาดสำหรับ Oracle เมื่อสร้างแบบจำลองข้อมูลทางกายภาพจากแบบจำลองข้อมูลเชิงตรรกะ เอนทิตีแรกจะถูกแปลงเป็นตาราง จากนั้นความสัมพันธ์ก็แปลงเป็นข้อ จำกัด ของคีย์ต่างประเทศ หลังจากนั้นแอตทริบิวต์จะถูกแปลงเป็นคอลัมน์ของแต่ละตาราง
แบบจำลองข้อมูลลอจิกและกายภาพต่างกันอย่างไร
• โมเดลข้อมูลทางกายภาพอธิบายโครงสร้างทางกายภาพของฐานข้อมูล โมเดลข้อมูลเชิงตรรกะเป็นโมเดลระดับสูงที่ไม่ได้อธิบายโครงสร้างทางกายภาพของฐานข้อมูล
• โมเดลข้อมูลทางกายภาพขึ้นอยู่กับระบบการจัดการฐานข้อมูลที่ใช้ อย่างไรก็ตาม โมเดลข้อมูลเชิงตรรกะไม่ขึ้นกับระบบการจัดการฐานข้อมูลที่ใช้
• โมเดลข้อมูลเชิงตรรกะประกอบด้วยเอนทิตี คุณลักษณะ ความสัมพันธ์ และคีย์ แบบจำลองข้อมูลทางกายภาพประกอบด้วยตาราง คอลัมน์ ชนิดข้อมูล ข้อจำกัดของคีย์หลักและคีย์ต่างประเทศ ทริกเกอร์ และกระบวนงานที่เก็บไว้
• ในรูปแบบข้อมูลเชิงตรรกะ ชื่อยาวที่ไม่เป็นทางการใช้สำหรับเอนทิตีและแอตทริบิวต์ อย่างไรก็ตาม ในข้อมูลทางกายภาพ ชื่อที่เป็นทางการแบบย่อจะใช้สำหรับชื่อตารางและชื่อคอลัมน์
• โมเดลข้อมูลเชิงตรรกะได้มาจากคำอธิบายก่อน หลังจากนั้นจะได้รับเฉพาะแบบจำลองข้อมูลทางกายภาพเท่านั้น
• โมเดลข้อมูลเชิงตรรกะถูกทำให้เป็นมาตรฐานเป็นรูปแบบปกติที่สี่ โมเดลฐานข้อมูลทางกายภาพจะถูกเปลี่ยนรูปแบบหากจำเป็นเพื่อให้เป็นไปตามข้อกำหนด
สรุป:
ตรรกะเทียบกับแบบจำลองข้อมูลทางกายภาพ
แบบจำลองข้อมูลเชิงตรรกะคือแบบจำลองข้อมูลระดับสูงที่อธิบายเอนทิตีและความสัมพันธ์ระหว่างข้อมูล รวมถึงแอตทริบิวต์และคีย์ของแต่ละเอนทิตี นี้เป็นอิสระจากระบบการจัดการฐานข้อมูลที่ใช้ ในอีกทางหนึ่ง แบบจำลองข้อมูลทางกายภาพจะได้รับหลังจากแบบจำลองข้อมูลเชิงตรรกะ และรวมถึงโครงสร้างของฐานข้อมูลรวมถึงข้อกำหนดของตาราง คอลัมน์ และข้อจำกัดที่สำคัญโมเดลนี้จะแตกต่างกันไปตามระบบจัดการฐานข้อมูลที่ใช้