วันเสาร์ที่ 21 พฤษภาคม พ.ศ. 2559

วันจันทร์ที่ 28 มีนาคม พ.ศ. 2559

Homework week 11 : Normal Form

What you have done


Find example of Normal form : 1NF , 2NF and 3NF from textbook.
In the example is about DreamHome lease, Simplification lease example

DreamHome Lease

An unnormalized table from DreamHome Lease.

DreamHome Lease in 1NF

Definition of First Normal Form.
First Normal Form ClientRental relational.

DreamHome Lease in 2NF

Definition of Second Normal Form.

Functional dependencies of the ClientRental relational.

Second Normal Form relations derived from the ClientRental Relational.

DreamHome Lease in 3NF

Definition of Second Normal Form.

Third Normal Form relations derived from the PropertyOwner Relational.

Summary of 3NF relations derived from CluentRental Relation.

Reference

Database Systems - 4th Edition
THOMAS M. CONNOLLY • CAROLYN E. BEGG

วันเสาร์ที่ 6 กุมภาพันธ์ พ.ศ. 2559

Homework week 4 : Join and Division Operation

JOIN Operation


การ JOIN คือ การรวมกันของตารางโดยเอา attribute ของ 2 ตารางมารวมกัน ซึ่งเราทำได้โดยการกำหนดเงื่อนไขต่างๆใส่ลงไป โดยการ JOIN ก็แบ่งออกเป็น 4 ประเภทดังนี้
1. INNER JOIN คือ การเลือกข้อมูลโดยที่มี key หรือ attribute ที่มีข้อมูลตรงกัน
2. OUTER JOIN คือ การนำข้อมูลในตารางทั้งหมดมาแสดง
3. LEFT JOIN คือ การ JOIN กับตารางที่อยู่ทางซ้ายมือ
4. RIGHT JOIN คือ การ JOIN กับตารางที่อยู่ทางขวามือ

ตัวอย่างของ INNER JOIN 



ตัวอย่างของ OUTER JOIN


DIVIION Operation


การ division หรือ การหาร คือ การหา tuple ที่เป็นสมาชิกของ tuple ใดๆก็ตามในอีกความสัมพันธ์หนึ่ง ไม่ค่อยถูกใช้นักใน Relation Algebra จึงไม่อยู่ใน Complete Set แต่มีประโยชน์ในการค้นหาบางประเภท มีรูปแบบคือ 


Example : การค้นหาลูกจ้างที่ทำงานอยู่สองแผนกคือ CS และ Fin จากความสัมพันธ์ DEPTNAME ผลปรากฏว่า สิทธิ คือคนทำงานอยู่ทั้งสองแผนก

 

Reference Link :  

Join ประเภทต่างๆ 
Relational Data model
การทำ JOIN ใน SQL คือการนำตาราง 2 ตารางมารวมกัน โดยเงื่อนไขการรวมจะมีดังนี้ ..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/97459
การทำ JOIN ใน SQL คือการนำตาราง 2 ตารางมารวมกัน โดยเงื่อนไขการรวมจะมีดังนี้ ..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/97459
การทำ JOIN ใน SQL คือการนำตาราง 2 ตารางมารวมกัน โดยเงื่อนไขการรวมจะมีดังนี้ ..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/97459
การทำ JOIN ใน SQL คือการนำตาราง 2 ตารางมารวมกัน โดยเงื่อนไขการรวมจะมีดังนี้ ..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/97459
การทำ JOIN ใน SQL คือการนำตาราง 2 ตารางมารวมกัน โดยเงื่อนไขการรวมจะมีดังนี้ ..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/97459
การทำ JOIN ใน SQL คือการนำตาราง 2 ตารางมารวมกัน โดยเงื่อนไขการรวมจะมีดังนี้ ..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/97459

Homework week 4 : Example of Relational Algebra

Example of relational algebra

 

 - Projection 

คือการเลือกดูเพียงบาง attribute ของความสัมพันธ์หรือตารางหนึ่งๆที่เราสนใจ โดยมีรูปแบบคือ


Example :


จากตัวอย่างจะพบว่าตารางรือความสัมพันธ์นั้นมีทั้งหมด 3 คอลัมน์ ซึ่งต้องการเลือกดูเฉพาะคอลัมน์ nr ในตัวอย่างแรก และ nr และ salary ในตัวอย่างที่ 2 ซึ่งใน SQL เราจะใช้คำสั่ง SELECT ตามด้วยชื่อคอลัมน์


- Selction

คือการเลือกดูเพียงบาง tuple ของความสัมพันธ์หรือตารางหนึ่งๆที่เราสนใจ โดยมีรูปแบบคือ

Example :  



จากตัวอย่างพบว่าจากตารางหรือความสัมพันธ์ เราต้องการที่จะดูในตัวอย่างแรกคือเลือกดูแถว หรือ tuple ที่มีเงินเดือนนต่ำกว่า 200 และในตัวอย่างที่ 2 คือดู tuple ที่มีเงินเดือนต่ำกว่า 200 และ nr น้อยกว่าหรือเท่ากับ 7 โดยในภาษา SQL เราจะใช้คำสั่ง WHERE ในการกำหนดเงื่อนไขต่างๆของ tuple ที่เราต้องการจะดูนั่นเอง

- Cartesian Product  


Cartesian Product คือการ cross กันหรือการรวมกันของ Atrribute ของสองความสัมพันธ์ หรือ 2 ตารางนั่นเอง โดยมีรูปแบบคือ 

Example : 


จากตัวอย่างข้างต้นพบว่า นำตาราง E มาครอสกับตาราง D ซึ่งการครอสกันจะนำตาราง E มาครอสกับตาราง D ทุกๆ tuples นั่นเอง โดยการครอส Cartesian product นั้น ทำได้โดยการใช้คำสั่ง SELECT เพื่อเลือกสองคอลัมน์ที่เราต้องการทราบ

- Join

 

การ Join คือการรวมข้อมูลจาก 2 ความสัมพันธ์เข้าด้วยกัน ซึ่งจะมีการกำหนดเงื่อนไขเข้ามาในการทำ Cartesian Product นั่นเอง โดยมีรูปแบบคือ 

Example :




จากตัวอย่างเราจะพบว่า จะเกิดการ JOIN กันเฉพาะ คอลัมน์ที่มีข้อมูลในคอลัมน์ dept มีค่าเท่ากับ dnr เท่านั้น
 

Related link

Relational Algebra Example
Chapter 3 and Chapter6 Lecture

วันเสาร์ที่ 30 มกราคม พ.ศ. 2559

Homework week 3 : The DBMS constraints

จาก week ที่แล้วที่เราได้ทำการศึกษา DBMS Program และการใช้งานอย่างเบื้องต้นกันไปแล้ว ซึ่งข้าพเจ้าได้เลือกใช้ MySQL ในการศึกษา ในตอนนี้ข้าพเจ้าจะกล่าวถึงข้อจำกัด หรือ Constriants ของ MySQL ซึ่งจะสนับสนุน Constraints ต่างๆดังนี้
  • PRIMARY KEY and UNIQUE Index Constraints
  • FOREIGN KEY Constraints
  • Constraints on Invalid Data
  • ENUM and SET Constraints

ตัวอย่างการทดลองระบุ Constraints ต่างๆ

 

1. PRIMARY KEY


ทดลองด้วยการสร้างตาราง persons และทำการสร้าง Column หรือ Atrribute ต่างๆขึ้นมา และกำหนด Primary key เป็นคอลัมน์ ID



เมื่อเราทำการสร้างตาราง persons แล้ว เราจะใช้คำสั่ง DESCRIBE เพื่อดูรายละเอียดต่างๆของตารางที่เราสร้างนั่นเอง และพบว่า KEY ที่ปรากฎใน Atrribute ID ถูกระบุเป็น PRI หรือ PRIMARY KEY เรียบร้อยแล้วนั่นเอง 

2. FOREIGN KEY


เนื่องจาก week ที่แล้วเราได้ลองทำการสร้างตาราง myTable ขึ้นมา ซึ่งมีคอลัมน์ ID ชื่อตรงกับ ID ใน persons ซึ่ง 2 ตารางนี้อยู่ใน Database เดียวกัน ทำให้ 2 column นี้สามารถ reference ข้อมูลหากันได้


โดยเราสามารถตรวจสอบว่ามี Foriegn Key หรือไม่ สามารถใช้คำสั่ง ‘SHOW ENGINES’ ใน MySQL เพื่อตรวจสอบชนิดของ table ที่สร้างได้ ซึ่งใช้ FOREIGN KEY ได้นั้น table ที่มีการอ้างอิงกันทั้งหมด ต้องเป็นชนิด InnoDB


ซึ่งเราพบว่า ตรง Foreign Key ปรากฏสถานะ Yes แปลว่ามี Foreign Key ปรากฎ นั่นเอง

Reference Link :