04 the entities relationship model

17

Click here to load reader

Upload: opas-kaewtai

Post on 19-Jun-2015

862 views

Category:

Education


1 download

TRANSCRIPT

Page 1: 04 the entities relationship model

The Relational Database Model

Page 2: 04 the entities relationship model

A Logical View of Data

Page 3: 04 the entities relationship model

Table And Their Characteristics

Page 4: 04 the entities relationship model

คุณสมบัติของรีเลชัน (Table)

• โครงสร้างตารางมีรูปแบบ 2 มิติ ประกอบไปด้วย คอลัม (Columns) และ แถว (Rows)

• แต่ละแถว (Row) แสดงหน่ึง Entity• แต่ละคอลัม (Column) แสดง attribute และแต่ละคอลัมจะต้องมี ชื่อที่

เฉพาะเจาะจง• ส่วนที่ซ้อนกันระหว่างแถวและคอลัมเป็นส่วนที่แสดงข้อมูล (data)

Page 5: 04 the entities relationship model

คุณสมบัติของรีเลขั่น (Table) (Cont.)

• ข้อมูลที่อยู่ภายใต้คอลัมเดียวกันจะต้องอยู่ในรูปแบบ (data format) เดียวกัน เช่น คอลัมที่เก็บข้อมูลรายได้ประจำวันเป็นตัวเลข ข้อมูลที่อยู่ภายใต้คอลัมน้ันของทุกๆ แถวจะต้องเป็นตัวเลขเช่นเดียวกัน

• แต่ละคอลัม (Column) มีขอบเขตข้อมูลหรือที่เรียกว่า attribute domain• ลำดับของแถว (Rows) และคอลัม (Column) ไม่มีความสำคัญต่อ DBMS• แต่ละ Table ต้องมี attribute หรือกลุ่มของ attribute ที่มีข้อมูลไม่ซ้ำกันใน

แต่ละแถว เพื่อใช้ในการจำแนกข้อมูลในแต่ละแถวได้

Page 6: 04 the entities relationship model

Example Table

Page 7: 04 the entities relationship model

Keys

• คีย์ (Keys) คือ attribute หรือกลุ่มของ attribute ที่สามารถบ่งบอกถึง attribute อื่นๆ ในแถวเดียวกันของข้อมูลได้

• เช่น ในตารางฐานข้อมูลทะเบียนนักศึกษา รหัสนักศึกษาถือเป็นคีย์ที่สำคัญในการแยกแยะข้อมูลของนักศึกษาแต่ละคนได้

• หรือเรียกอีกอย่างว่า รหัสนักศึกษาเป็นคีย์หลัก (Primary Key) ของตาราง (Table) ดังกล่าว

• ดังน้ันการคัดเลือก attribute เพื่อมาเป็นคีย์จึงมีความสำคัญมาก

Page 8: 04 the entities relationship model

Keys (Cont.)

• การเลือก attribute ใดๆ ใน ตารางความสัมพันธ์ (Table) มาเป็นคีย์ ต้องอาศัยหลักการที่เรียกว่า ดีเทอไมเนชั่น (determination) หรือ การกำหนดข้อมูลระหว่างกัน

• A determine B เขียนแทนด้วย A → B หมายถึง ข้อมูล A กำหนด ข้อมูล B กล่าวคือ เมื่อทราบข้อมูลที่ attribute A แล้วสามารถทราบข้อมูลของ attribute B ด้วย

• หรือหากรู้ข้อมูล attribute A แล้ว ทำให้ทราบข้อมูลของ attribute อื่นๆ นอกเหนือจาก B เช่น C, D, E, F ก็เขียนแทนด้วย A → B, C, D, E, F

Page 9: 04 the entities relationship model

Keys (Cont.)

• จาก A → B ที่เรียกว่า A กำหนด B เราอาจเรียกได้อีกอย่างว่า ข้อมูล B ขึ้นต่อ (Depend) ข้อมูล A

• คีย์ของตารางความสัมพันธ์มีหลายชนิดคือ– ซูปเปอร์คีย์ (Super Key)– คีย์คู่แข่ง (Candidate Key)– คีย์หลัก (Primary Key)– คีย์รอง (Secondary Key)– คีย์นอก (Foreign Key)

Page 10: 04 the entities relationship model

ซูปเปอร์คีย์ (Super Key)

• คือ attribute หรือกลุ่มของ attribute ที่ระบุความแตกต่างของข้อมูลแต่ละแถวของตารางความสัมพันธ์ (Table) ได้

• stdID• stdID, stdName• stdID, stdMojor• stdID, stdName, stdMojor

stdID stdName stdMajor5533470001 เยี่ยมยอด ยอดเยี่ยม วิทยาการคอมพิวเตอร์5533470002 กระเทียมดอง น้ำผึ้ง วิทยาการคอมพิวเตอร์5533470003 น้ำเหนือ ไหลแรง วิทยาการคอมพิวเตอร์

Page 11: 04 the entities relationship model

คีย์คู่แข่ง (Candidate Key)

• คือ ซูปเปอร์คีย์ที่เล็กที่สุด หรือมีจำนวน attribute น้อยที่สุด ที่สามารถระบุความแตกต่างของแต่ละแถวได้

• เราสามารถตรวจสอบเพื่อหาคีย์คู่แข่งได้โดยนำซูปเปอร์คีย์มาตัด attribute ออกทีละตัว หากตัด attribute ออกไปแล้ว attribute ที่เหลืออยู่สามารถบอกความแตกต่างของแถวได้ แสดงว่า attribute น้ันไม่ใช่คีย์คู่แข่ง (Candidate Key)

stdID stdName stdMajor stdSSN5533470001 เยี่ยมยอด ยอดเยี่ยม วิทยาการคอมพิวเตอร์ 12345678901325533470002 กระเทียมดอง น้ำผ้ึง วิทยาการคอมพิวเตอร์ 12345678901335533470003 น้ำเหนือ ไหลแรง วิทยาการคอมพิวเตอร์ 1234567890134

Page 12: 04 the entities relationship model

คีย์หลัก (Primary Key)

• คือคีย์คู่แข่งที่ถูกเลือกให้เป็นคีย์หลัก เพื่อใช้ในการระบุหรืออ้างถึงข้อมูลที่ต้องการ

stdID stdName stdMajor stdSSN5533470001 เยี่ยมยอด ยอดเยี่ยม วิทยาการคอมพิวเตอร์ 12345678901325533470002 กระเทียมดอง น้ำผ้ึง วิทยาการคอมพิวเตอร์ 12345678901335533470003 น้ำเหนือ ไหลแรง วิทยาการคอมพิวเตอร์ 1234567890134

Page 13: 04 the entities relationship model

คีย์รอง (Secondary Key)

• คือ คีย์คู่แข่งใดๆ ที่ไม่ได้ถูกเลือกเป็นคีย์หลัก

Quiz?คีย์หลักและคีย์รองของตารางความสัมพันธ์ในสไลด์ที่ผ่านมา

คือ attribute ใด ?

Page 14: 04 the entities relationship model

คีย์นอก (Foreign Key)

• คือ attribute ตัวใดตัวหน่ึงหรือหลายตัวรวมกันในตารางความสัมพันธ์ (relation) ซึ่งมีค่าตรงกับคีย์หลักในรีเลชั่นอื่นๆ

stdID stdName majorCode5533470001 เย่ียมยอด ยอดเย่ียม 15533470002 กระเทียมดอง น้ำผึ้ง 25533470003 น้ำเหนือ ไหลแรง 3

majorCode majorName1 วิทยาการคอมพิวเตอร์2 เทคโนโลยีสารสนเทศ3 เทคโนโลยีอาหาร

Page 15: 04 the entities relationship model

กฎความคงสภาพ (Integrity Rules)

• ตารางหรือรีเลชั่นต่างๆ ในฐานข้อมูลเชิงสัมพันธ์ มีการอ้างอิงความสัมพันธ์ของแต่ละรีเลชั่นโดยใช้คีย์ในการอ้างอิง หรือใช้คีย์เป็นตัวเชื่อมโยงระหว่างรีเลชั่น

• จึงจำเป็นต้องมีกฎความคงสภาพ เพื่อเป็นการควบคุมความถูกต้องในระบบฐานข้อมูล

• กฎความคงสภาพที่เกี่ยวกับคีย์มีดังต่อไปน้ี– Entity Integrity– Referential Integrity

Page 16: 04 the entities relationship model

Entity Integrity

• คีย์หลักของรีเลชั่นต้องมีค่าไม่ซ้ำกัน (Unique) และไม่มีค่าเป็น NULL (หมายถึงข้อมูลน้ันยังไม่สามารถกำหนดได้ ไม่ได้หมายถึงค่าว่าง) หรือ ศูนย์

• การมี Entity Integrity เพื่อให้เกิดความมั่นใจว่าข้อมูลแต่ละรายการจะสามารถถูกอ้างอิงถึงได้ และเมื่อรีเลชั่นอื่นต้องการเชื่อมโยงถึงข้อมูลในรีเลชั่นน้ีก็จะต้องสามารถทำได้

majorCode majorName1 วิทยาการคอมพิวเตอร์2 เทคโนโลยีสารสนเทศ2 เทคโนโลยีอาหาร

majorCode majorName1 วิทยาการคอมพิวเตอร์NULL เทคโนโลยีสารสนเทศNULL เทคโนโลยีอาหาร

Page 17: 04 the entities relationship model

Referential Integrity

• สำหรับรีเลชั่นที่มีคีย์นอก (Foreign Key) ค่าของคีย์นอกจะต้องตรงกันกับค่าของคีย์หลักในรีเลชั่นอื่น หรือมีค่าเป็น NULL

stdID stdName majorCode5533470001 เย่ียมยอด ยอดเย่ียม 15533470002 กระเทียมดอง น้ำผึ้ง 55533470003 น้ำเหนือ ไหลแรง NULL

majorCode majorName1 วิทยาการคอมพิวเตอร์2 เทคโนโลยีสารสนเทศ3 เทคโนโลยีอาหาร