Database Systems 2016
วันเสาร์ที่ 21 พฤษภาคม พ.ศ. 2559
วันจันทร์ที่ 25 เมษายน พ.ศ. 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
วันพุธที่ 23 มีนาคม พ.ศ. 2559
วันเสาร์ที่ 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 ExampleChapter 3 and Chapter6 Lecture
วันเสาร์ที่ 30 มกราคม พ.ศ. 2559
Homework week 3 : The DBMS constraints
จาก week ที่แล้วที่เราได้ทำการศึกษา DBMS Program และการใช้งานอย่างเบื้องต้นกันไปแล้ว ซึ่งข้าพเจ้าได้เลือกใช้ MySQL ในการศึกษา ในตอนนี้ข้าพเจ้าจะกล่าวถึงข้อจำกัด หรือ Constriants ของ MySQL ซึ่งจะสนับสนุน Constraints ต่างๆดังนี้
ทดลองด้วยการสร้างตาราง persons และทำการสร้าง Column หรือ Atrribute ต่างๆขึ้นมา และกำหนด Primary key เป็นคอลัมน์ ID
เมื่อเราทำการสร้างตาราง persons แล้ว เราจะใช้คำสั่ง DESCRIBE เพื่อดูรายละเอียดต่างๆของตารางที่เราสร้างนั่นเอง และพบว่า KEY ที่ปรากฎใน Atrribute ID ถูกระบุเป็น PRI หรือ PRIMARY 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 ปรากฎ นั่นเอง
- 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 :
สมัครสมาชิก:
บทความ (Atom)