การออกแบบฐานข้อมูลเชิงสัมพันธ์ Relation Database {RDB}

บทที่ 5 การออกแบบฐานข้อมูลเชิงสัมพันธ์ Relation Database {RDB}


บทที่ 5 การออกแบบฐานข้อมูลเชิงสัมพันธ์ Relation Database {RDB}
สร้างโดย Dr.E.D.Codd โดยเป็นผู้คิดค้นทฤษฏีคณิตศาสตร์ Relation Calculus ในปี 1970
คุณสมบัติ
  1. ใช้ได้กับความสัมพันธ์ 1:1,1:M และ M;N
  2. จัดเก็บข้อมูลในรูปตาราง 2 มิติ {แถวและคอลัมน์}
  3. ในแต่ละ ตาราง(table)มีฟิลล์บอกความแตกต่าง ของข้อมูล {name = ชื่อ Surname = นามสกุล} $ตัวแปล
  4. ค่าข้อมูลต้องเป็น single value ค่าเดียว เช่น 1 แยก 2 แยก 3 เป็น 1-3 ไม่ได้
  5. ชื่อของฟิลล์ในตารางจะซ้ำกันไม่ได้ เช่น phone phone …phone ไม่้ได้้ต้องเป็น phone1 phone2 …phone 5
  6. ค่าของข้อมูลในแต่ละฟิลล์จะต้องเป็นค่าประเพษเดียวกันเช่น ฟิลล์วันเกิด ทุก Record
ใส่ วัน/เดือน/ปี ถ้ามีบาง Record ที่ยังไม่ทราบวันเกิดจะใส่เป็น “ยังไม่ทราบ” ไม่ได้(ต้องไม่ใส่ ว่างไว้)
เช่น รหัสนิสิต เราจะเอาชื่อมาใส่ไม่ได้ ใส่ได้แค่ เลขรหัสนิสิต
7.    ลำดับของเรคคอร์ดไม่มีความสำคัญ  ** Sort ได้
8.       ลำดับของฟิลด์ในเรคคอร์ดไม่ใช่สิ่งสำคัญ *** Sort ได้
9. ข้อมูลแต่ละ Record จะต้องแตกต่างกัน ข้อมูลลูกค้าแตกต่างกันอย่างแน่นอน **ไม่ทำซ้ำ
  • Database = กลุ่มของตารางที่มีความสัมพันธ์กัน
  • Table = ตารางเก็บข้อมูลที่เราสนใจ
  • Record = รายการข้อมูลที่เราเก็บไว้
เช่น โอนเงิน = 1 Record ถอนเงิน = 1 Record อยู่ใน Record หลักของ ลูกค้าคนนั้นๆ
  • Field = คุณสมยัติแต่บละอย่างของรายการเช่น รหัสนศ. ชื่อนศ. สกุลนศ. รหัสวิชา.
  • Superkey ทุกฟิลด์หรือทุกกลุ่มฟิลด์ที่สามารถบอกความแตกต่างแต่ละเรคคอร์ดได้
  • Candidatekey = (คีย์คู่แข่ง) ฟิลด์หรือกลุ่มฟิลด์ที่สามารถบอกความแตกต่างแต่ละเรคคอร์ดได้ (ยังไม่มีการเลือก  PrimaryKey)
สมุตติให้ชื่อและนามสกุลของนักศึกษาไม่ซ้ำกัน
Stu id Stu Fname Stu lname
420000001 peter ham
420000002 hammer peee
420000003 Sumer Herat
RED = CK1
Black = CK2
Candidate key1 + Candidate key2 = Call Superkey กลุ่มของ Candidatekey
** primary key เป็น Null ไม่ได้  RED เป็น Primary Key
  • Attribute Domain ค่าที่เป็นไปได้ ของ แอททริบิ้ว เช่นเกรต 1-4 มากกว่า4ก็ไม่ใช่เกรต
  • Null Value = ไม่ทราบค่า
    • Null ไม่เท่ากับ 0
    • Null เป็นการรอ
  • Primary Key = (Unique) CK ที่ถูกเลือก เป็น Pk และ  PKไม่เป็น Null
  • Alternate Key = (คีย์สำรองหรือคีย์ทางเลือก) Ck ที่ไม่ถูกเลือกเป็น PK
  • Foreign Key = (คีย์นอก)ฟิลด์หรือกลุ่มฟิลด์ในตารางหนึ่งที่
    • ถ้ามีค่า จะต้องจับคู่กับคีย์หลักของตารางอื่น หรือตารางตัวเอง
    • ถ้าไม่มีค่า ( FK จะต้องไม่เป็นส่วนหนึ่งของ PK ) ก็ไม่ต้องจับคู่กับคีย์หลักของตารางอื่น
    • หรือตารางของตัวเอง
  • non key atribute คือ ไม่มีคุณสมบัติอะไรเลย ไม่เป็นเอกลักษณ์
    • Relation ship กับ Relation ไม่เหมือนกันตรงไหน ?
    • relation ship มีความสัมพันธ์กับ 2 Entity
    • relation มีความสัมพันธ์อยู่ในตารางของตัวเอง
    • นักเรียน 1 คนมีหัวหน้าได้ คนเดียว
    • หัวหน้า 1 คนมี ลูกน้องได้หลายคน
  • Secoundary key (คีย์ทุติยภูมิ) ฟิลด์หรือกลุ่มฟิลด์ที่ใช้เพื่อให้การเรียกใช้ข้อมูลมีความถูกต้องและสะดวก ยิ่งขึ้น และไม่จำเป็นต้องบอกความแตกต่างระหว่าง Record ได้
    • เมื่อใช้คำว่า สมชาย เป็นคำสำคัญ ในการค้นหาจะพบว่า เอ็นติตี้ที่มีชื่อว่า สมชาย 2เอ็นทิตี้
    • Unique เอกลักษณ์ไม่เหมือนใคร
    • Question And Answer
    • Is the Superkey uniqued?
    • Ans :Yes
    • Is the CK uniqued?
    • Ans :Yes
    • Is the SK uniqued?
    • Ans :NO
    • Is the PK uniqued?
    • Ans :Yes
    • Is the AK uniqued?
    • Ans :Yes
    • Is the FK uniqued?
    • Ans :NO
    • B is functionally dependent[FD] on A if A determines B = B ขึ้นอยู่กับ A ถ้าค่าบอกค่า B ได้เพียงค่าเดียว
    • ไม่เกิน สองชม
    • อังกิดหมดเลย
    • min max relationship ตอบเป๊ะ เป๊ะ ๆๆๆๆ เลย
    • ratio m:1 ,1:m ,M:M
    • functional relationship
    • วาด Model
    • Sclc ต้องณู้ Concept และให้เขียนด้วย ให้เติมใส่บางข้อจะมีคำตอบให้ไปเติม เป็น ภาษาอังกฤษ
    • Symbol identiflying relation ship ออกหมดเลย !!
    • functionally dependent[FD]  ขึ้นอยู่กับ
    • determines กำหนด

    • การบ้าน
    • Entity integrity
    • PK ใช้เส้นทึบ
    • FK ใช้เส้นประ

บทความที่ได้รับความนิยม