ระบบฐานข้อมูลและการจัดกา

Download Report

Transcript ระบบฐานข้อมูลและการจัดกา

Part I Introduction
Student Database
โครงสร้างลาดับชัน้ ข้อมูล
Course
File
Database
Financial
File
Personal History
File
Course File
File
Record
Name
John Stewart
Karen Taylor
Emily Vincent
Course Date Grade
IS101 F01 B+
IS101 F02 A
IS101 F01 C
Name
John Stewart
Course Date Grade
IS101 F01 B+
Field
John Stewart
Byte
01001010 (เท่ากับอักษร J ในตาราง ASCII)
Bit
0
2
โครงสร้างแฟ้ มข้อมูล
ฟิลด์
ไบต์
รหัสผูใ้ ช้
B00514
A00128
A01245
C13244
.
.
.
ชื่อ - นามสกุล
สุวารี ใจสบาย
กนก ยินดี
เพ็ญศรี สุขสม
บุญมี ยินดี
.
.
.
เพศ
ที่อยู่
ญ
34 คลองสาน
ช
126 บางพลัด
ญ
49/2 จตุจกั ร
ช
66 ลาดพร้าว
.
.
.
.
.
.
เรคอร์ด
เบอร์ติดต่อ
025478556
026441255
014544255
066458554
.
.
.
วันเกิด
12/01/1977
09/07/1986
05/11/1971
26/04/1980
ไฟล์
.
.
3
ความสาคัญของข้อมูล
เบอร์โทรต้นทาง
เบอร์โทรปลายทาง
เวลาที่โทรออก
วันที่
File
คานวณค่าใช้จ่าย
4
FILE
เก็บไฟล์อย่างไร
0861106494
0817159090
1415 1416
02032546
0898821136
025832478
0536 0542
02032546
0815946255
0815122362
0821 0840
03032546
0866231221
025148787
1121 1132
04032546
0814556845
0898559512
1311 1323
04032546
.
.
เบอร์โทร
.
.
.
.
.
.
เบอร์ปลายทาง เริ่มต้น สิ้นสุด
RECORD
.
.
วันที่
FIELD
5
ตารางที่ 1
เบอร์โทร เบอร์ปลายทาง เวลาเริ่มต้น เวลาสิ้นสุด วันที่
ตารางที่ 2
เบอร์โทร ชื่อ-นามสกุล ที่อยู่ เบอร์ติดต่อ อีเมล์
ตารางที่ 3
เบอร์โทร ปัญหา แก้ไข ผูร้ บั ผิดชอบ วันที่ เวลา
DATABASE
6
Database system
แผนกบัญชี
แผนกประชาสัมพันธ์
ฝ่ ายบริหาร
DATABASE
7
ระบบการจัดการฐานข้อมูล
Database management systems : DBMS
 ซอฟท์แวร์ระบบชนิดหนึ่ ง ที่ ถกู สร้างขึ้นมาเพื่อจัดการ
ข้อมูลในฐานข้อมูล เป็ นตัวกลางระหว่างผูใ้ ช้กบั ฐานข้อมูล
ส่วนประกอบของ DBMS
• SQL (Structure Query Language)
• โปรแกรมอานวยความสะดวก (General Utilities)
• โปรแกรมช่วยสร้างโปรแกรมประยุกต์และรายงาน
(Applicaton and Report Generators)
• พจนานุกรมข้อมูล (Data Dictionary)
8
ระบบการจัดการฐานข้อมูล
Database management systems : DBMS
ความสามารถเบือ้ งต้น
• สร้างตารางข้อมูล
• เพิ่ม ปรับปรุง เรียกค้นข้อมูล
• เก็บรายละเอียดเกี่ยวกับข้อมูลไว้ใน data dictionary
• มีระบบเสริมการทางาน
• มีระบบสารองข้อมูล
• สนับสนุนเครื่องมือการทารายงาน
9
ซอฟท์แวร์ระบบจัดการฐานข้อมูล
ชื่อซอฟท์ แวร์
บริษัทผู้ผลิต
หมายเหตุ
DB2
IBM
ซอฟท์ แวร์ ลิขสิทธิ์
Informix
IBM
ซอฟท์ แวร์ ลิขสิทธิ์
Ingres
Ingres corporation
ฟรี ซอฟท์ แวร์
InterBase
Borland
ซอฟท์ แวร์ ลิขสิทธิ์
MaxDB
MySQL AB
ฟรี ซอฟท์ แวร์
Microsoft Access
Microsoft
ซอฟท์ แวร์ ลิขสิทธิ์
Microsoft SQL Server
Microsoft
ซอฟท์ แวร์ ลิขสิทธิ์
MySQL
MySQL AB
ฟรี ซอฟท์ แวร์
Oracle
Oracle
ซอฟท์ แวร์ ลิขสิทธิ์
PostgreSQL
PostgreSQL Global Development Group
ฟรี ซอฟท์ แวร์
Sybase
Sybase Inc.
ซอฟท์ แวร์ ลิขสิทธิ์
10
องค์ประกอบของระบบฐานข้อมูล
ฮาร์ดแวร์
- หน่วยนาข้อมูลเข้า
- หน่วยนาข้อมูลออก
- หน่วยประมวลผลกลาง
- หน่วยเก็บข้อมูลสารอง
- อุปกรณ์การสือ่ สาร
บุคลากร
- ผูใ้ ช้งาน
- ผูค้ วบคุมระบบ
- ผูพ้ ฒ
ั นาโปรแกรม
ซอฟท์แวร์
- โปรแกรมจัดการฐานข้อมูล
ข้อมูล
ฐานข้อมูล
ขัน้ ตอนการดาเนินงาน
- ขัน้ ตอนการปฏิบตั กิ ารของ
ผูป้ ฏิบตั งิ าน
11
สถาปัตยกรรมของระบบฐานข้อมูล
วิว 1
วิว 2
...
สกีมม่า (Schema)
(Global logical view)
Physical
Storage
of data
วิว n
ระดับภายนอก
External level
ระดับแนวคิด
Conceptual level
ระดับภายใน
Internal level
12
ประโยชน์ ของสถาปัตยกรรม 3 ระดับ
 มุมมองข้อมูลของผูใ้ ช้งาน
•
ทาให้ผ้ใู ช้งานไม่ต้องสนใจว่าข้อมูลจะถูกเก็บอย่างไรในดิสค์ เมื่อต้องการ
ข้อมูลก็สามารถอ้างถึงตารางและเขตข้อมูลนัน้ ๆ ได้โดยตรง ซึ่ง DBMS จะ
ทาหน้ าที่ดวู ่าข้อมูลที่ต้องการนัน้ เก็บอยู่ ณ ตาแหน่ งใด (track ใด cylinder
ใด ในดิสค์ และทาการดึงข้อมูลนัน้ จากดิสก์มาให้แก่ผใู้ ช้)
 ความเป็ นอิสระกันของข้อมูล
•
•
การเปลี่ ย นแปลงข้ อ มู ล ในระดับ แนวคิ ด ไม่ มี ผ ลกระทบกับ โปรแกรม
ประยุกต์ที่ผใู้ ช้เขียนขึน้ ในระดับภายนอก
การเปลี่ยนแปลงวิธีการเก็บข้อมูลในสื่อ ไม่มีผลกระทบกับการเก็บข้อมูล
ระดับแนวคิด
13
Part II Relational Database
ฐานข้อมูลเชิงสัมพันธ์
(Relational database)




ปี ค.ศ.1970 โดย ดร.เอดการ์ คอดด์ (Edgar F. Codd)
เป็ นรูปแบบที่ทาความเข้าใจได้ง่าย
สามารถจัดการกับข้อมูลได้โดยใช้คาสังง่
่ าย ๆ
ส่วนของการติดต่อกับผูใ้ ช้ กับส่วนของการเก็บข้อมูลจริงนัน้
มีความเป็ นอิสระต่อกัน นัน่ คือในมุมมองของผูใ้ ช้จะไม่ร้สู ึก
ถึงรายละเอียดที่ซบั ซ้อนของการเก็บจริง
15
ฐานข้อมูลเชิงสัมพันธ์
ศัพท์ที่เกี่ยวข้อง
 รีเลชัน่ (Relation)
 แอทตริบิวต์ (Attribute)
 โดเมน (Domain)
 ทัพเพิล (Tuple)
 ดีกรี (Degree)
 คาร์ดินัลลิตี้ (Cardinality)
16
ฐานข้อมูลเชิงสัมพันธ์
รีเลชัน่ หมายถึง การกาหนดตารางที่ประกอบด้วยคอลัมน์ และ
แถว หรือตาราง 2 มิติ
 ตาราง (table)

17
ฐานข้อมูลเชิงสัมพันธ์
ลักษณะของรีเลชัน่
1. เป็ นตาราง 2 มิติ
2. แต่ละช่องของตารางต้องบรรจุข้อมูลเพียงค่าเดียว
3. ไม่จาเป็ นต้องเรียงลาดับคอลัมน์ หรือแถวใด ๆ
4. ข้อมูลในแต่ละแถวต้องไม่ซา้ กัน
5. ข้อมูลในแต่ละคอลัมน์ จะต้องเป็ นข้อมูลประเภทเดียวกัน
18
ฐานข้อมูลเชิงสัมพันธ์
แอทตริบิวต์ คือ คุณสมบัติของรีเลชัน่ หรือคอลัมน์ ของตาราง
นัน่ เอง หรืออาจเทียบได้กบั ฟิลด์ในแฟ้ มข้อมูล
 นักศึกษา (รหัสนักศึกษา, ชื่อ-นามสกุล, เพศ, เบอร์ติดต่อ)

19
ฐานข้อมูลเชิงสัมพันธ์

Composite attribute หรือ แอทตริบิวต์ผสม
 แอทตริบิวต์ที่ประกอบขึน
้ มาจากข้อมูลมากกว่า 1 ค่า เป็ นการรวมหลาย
แอทตริบิวต์เข้าด้วยกัน สามารถนาไปแยกให้กลายเป็ นแอทตริบิวต์เดี่ยว
ได้ เช่น แอทตริบิวต์ที่อยู่ ซึ่งประกอบด้วย บ้านเลขที่ ถนน อาเภอ จังหวัด
รหัสไปรษณี ย์ แยกได้ถึง 5 แอทตริบิวต์

Derived atrribute หรือ แอทตริบิวต์ที่แปลค่ามา
 แอทตริบิวต์ที่อาจไม่มีข้อมูลใด ๆ แต่จะได้ค่าข้อมูลมาจากการคานวณจาก
แอทตริ บิ วต์ อื่ น เช่ น แอทตริ บิ วต์ อ ายุ ก ารท างาน ค านวณมาจาก
แอทตริบิวต์วนั เริ่มทางาน ลบกับวันที่ปัจจุบนั เป็ นต้น
20
ฐานข้อมูลเชิงสัมพันธ์
 โดเมน (Domain)
 คื อ การระบุ ข อบเขตข้ อ มู ล ที่ เ ป็ นไปได้ ใ ห้ แ ก่ แ อทตริ บิ ว ต์
หนึ่ ง ๆ เพื่อเป็ นการรับประกันความถูกต้ องข้อมูลในระดับ
หนึ่ ง
 โดเมนของแอทตริ บิ ว ต์ เ พศ คื อ ชาย หรื อ หญิ ง อย่ า งใด
อย่างหนึ่ งเท่านัน้
 โดเมนของเงิ น เดื อ นอาจารย์จ ะต้ อ งมี ค่ า ไม่ เ ป็ นศูน ย์ และ
ไม่ติดลบ
 โดเมนของชื่อสมาชิกจะต้องเป็ นตัวอักษรเท่านัน
้
21
ฐานข้อมูลเชิงสัมพันธ์
ทัพเพิล (Tuple)
คือ แถว หรือระเบียน ในตาราง
ดีกรี (Degree)
คือ จานวนแอทตริบิวต์ในรีเลชัน่ ดีกรีอาจชี้ให้เห็นถึงความ
ละเอียดของรายการข้อมูลก็ได้
คาร์ดินัลลิตี้ (Cardinality)
คือจานวนแถว หรือจานวนทัพเพิล ภายในตารางหนึ่ ง ๆ คาร์
ดินัลลิตี้ชี้ให้เห็นถึงจานวนรายการข้อมูลในตารางหนึ่ ง ๆ
22
ฐานข้อมูลเชิงสัมพันธ์

คียห์ ลัก (Primary key)
 แอทตริบิวต์ที่ใช้เพื่อการเจาะจงข้อมูลแถวใดแถวหนึ่ งในตาราง
โดยที่คียห์ ลัก อาจประกอบด้วยแอทตริบิวต์ 1 ตัวหรือมากกว่า 1
ตัว ที่สามารถใช้เป็ นตัวเจาะจงบอกว่ากาลังอ้างอิงถึงทัพเพิลไหน
หรือแถวไหน
 อาศัยคียห
์ ลักเพื่อชี้เฉพาะเจาะจงว่าต้องการระบุถึงข้อมูลแถวใด
แถวหนึ่ งในรีเลชัน่
23
ฐานข้อมูลเชิงสัมพันธ์
คุณสมบัติของแอทตริบิวต์ที่เป็ นคียห์ ลัก
(1) ค่าของข้อมูลทุกแถวในแอทตริบิวต์ที่ทาหน้ าที่เป็ นคียห์ ลักต้องไม่ซา้ กัน
(2) แอทตริบิวต์ที่เป็ นคี ย์หลักอาจประกอบขึ้นจากแอทตริบิวต์มากกว่า 1
แอทตริบิวต์ เพื่อให้ ได้เป็ นค่ าที่ ไม่ซ้ากันในแต่ ละแถว เรียกว่า Composite
key
(3) แอทตริบิวต์ที่เป็ นคียห์ ลักจะต้องไม่เป็ นค่าว่าง (null values)
24
ฐานข้อมูลเชิงสัมพันธ์
ลูกค้า
ลูกค้า (รหัสลูกค้า, ชื่อ-นามสกุล, ที่อยู่, โปรโมชัน, เบอร์ติดต่อ, หมายเลขประจาตัวประชาชน)
25
ฐานข้อมูลเชิงสัมพันธ์
การลงทะเบียน
การลงทะเบียน (รหัสนักศึกษา, รหัสวิชาที่ลงทะเบียน, รหัสผูส้ อน, สถานที่, วันที่เรียน
26
ฐานข้อมูลเชิงสัมพันธ์

คียน์ อก หรือคียต์ ่างด้าว (Foreign key)
 ความสัม พัน ธ์ที่ เ กิ ด ขึ้น ระหว่ า งรี เ ลชัน จะอาศัย แอทตริ บิ ว ต์ ต ัว หนึ่ ง ซึ่ ง ไป
สัม พัน ธ์ ก ับ คี ย์ห ลัก ในรี เ ลชัน อื่ น เกิ ด เป็ นการเชื่ อ มโยงระหว่ า งรี เ ลชัน
แอทตริบิวต์นี้เรียกว่า คียน์ อก หรือคียต์ ่างด้าว
 คือ แอทตริบิวต์ที่ใช้แสดงความสัมพันธ์ระหว่างรีเลชัน
 คื อ กลุ่ม ของแอทตริ บิ ว ต์ใ นรี เ ลชัน หนึ่ ง ที่ มี คุณ สมบัติ เ ป็ นคี ย์ห ลัก และไป
ปรากฏในอีกรีเลชันหนึ
่ ่ง
 คือ แอทตริบิวต์ที่ข้อมูลมีความสอดคล้องกับคียห
์ ลักในอีกรีเลชันหนึ่ ง
27
ฐานข้อมูลเชิงสัมพันธ์
คุณสมบัติของคียน์ อก
(1) ค่ า ที่ ป รากฏในแอทตริบิ ว ต์ ที่เ ป็ นคี ย์น อกในรี เ ลชันหนึ่ ง จะต้ อ งมี ค่ า
เท่ากับค่าในแอทตริบิวต์ที่เป็ นคียห์ ลักในแถวใดแถวหนึ่ งในอีกรีเลชันหนึ่ ง
(2) ค่าที่ปรากฏในแอทตริบิวต์ที่เป็ นคียน์ อกอาจเป็ นค่าว่างได้
(3) ทัง้ คี ย์นอกและคี ย์หลักในอี กรีเลชันที่ สมั พันธ์กนั ไม่จาเป็ นต้ องมีชื่อ
แอทตริบิวต์เดียวกันก็ได้ แต่จาเป็ นต้องมีโดเมนเดียวกัน
28
ฐานข้อมูลเชิงสัมพันธ์
29
ฐานข้อมูลเชิงสัมพันธ์
คียค์ ่แู ข่ง (Candidate key)
 รีเลชันหนึ่ ง ๆ อาจมีแอทตริบิวต์ที่สามารถทาหน้ าที่ เป็ นคียห
์ ลักได้มากกว่า
หนึ่ งแอทตริบิวต์ แอทตริบิวต์เหล่านัน้ จะถูกเรียกว่า คียค์ ่แู ข่ง
 คื อ แอทตริ บิ ว ต์ห รื อ กลุ่ม ของแอทตริ บิ ว ต์อื่ น ที่ ส ามารถท าหน้ า ที่ เ ป็ นคี ย์
หลักได้ อาจเรียกอีกชื่อหนึ่ งว่า คียส์ ารอง หรือ alternate key
 คียห
์ ลักคือคียท์ ี่ถกู เลือกมาจากกลุ่มของคียค์ ่แู ข่งในรีเลชันหนึ
่ ่ ง ๆ นัน่ เอง
30
Part III Structure Query Language
SQL
ภาษาสอบถามเชิงโครงสร้าง (Structure Query Language) หรือ SQL
หรือ ภาษาซีเควล
เป็ นภาษาพื้นฐานสาหรับการจัดการบริหารข้อมูลสาหรับระบบฐานข้อมูล
เชิงสัมพันธ์
 วัต ถุป ระสงค์เ พื่ อ ใช้ ส ร้ า งฐานข้ อ มูล และโครงสร้ า งรี เ ลชัน สนั บ สนุ น การ
จัดการข้อมูลพื้นฐาน ได้แก่ การเพิ่ม ปรับปรุง และลบข้อมูล และสนับสนุน
การคิวรีข้อมูล
 จัดเป็ นภาษารุ่นที่ 4 (Fourth Generation language)
 คุณสมบัติสาคัญคือ เรียนรู้ใช้ งานได้ง่าย นาไปใช้ ได้อย่างมีประสิทธิภาพ มี
ลักษณะเป็ นภาษาธรรมชาติใกล้เคียงกับภาษามนุษย์
 สามารถใช้ได้กบ
ั เครื่องคอมพิวเตอร์ทุกแพลตฟอร์ม

32
SQL
ประเภทของคาสังในภาษาซี
่
เควล
 คาสังน
่ ิ ยามข้อมูล (Data definition) ได้แก่ คาสังที
่ ่ใช้ในการจัดการโครงสร้างตาราง
ในฐานข้อมูล เช่ น คาสังที
่ ่ ใช้ สร้างฐานข้อมูล คาสังสร้
่ างตาราง คาสังเพ
่ ิ่ มและลบ
ฟิลด์ในตาราง เป็ นต้น
 ได้แก่ Create Database, Create Table, Alter Table เป็ นต้น
 คาสังจั
่ ดการข้อมูล (Data manipulation) เป็ นกลุ่มคาสังที
่ ่ ใช้จดั การกับข้อมูลที่ อยู่
ภายในตารางข้อมูล ไม่เกี่ยวกับโครงสร้างตาราง เช่น การเพิ่มการปรับปรุง การลบ
ข้อมูลในตาราง เป็ นต้น
 ได้แก่ Insert Update และ Delete
 คาสังเรี
่ ยกค้นข้อมูล (Data retrieval) เป็ นคาสังส
่ าหรับเรียกดูข้อมูลจากตาราง เพื่อ
แสดงผลออกมาตามเงื่อนไขที่ระบุ ได้แก่ คาสัง่ select รูปแบบไวยากรณ์ ของคาสัง่
select มีความยืดหยุ่นมากพอที่จะสามารถค้นหาข้อมูลภายใต้เงื่อนไขที่ซบั ซ้อนได้
33
SQL
ประเภทการใช้งานของภาษาซีเควล
(1) การใช้งานแบบโต้ตอบ (Interactive SQL)
ผู้ใช้ สามารถพิมพ์ประโยคคาสังในภาษาซี
่
เควลผ่านทางจอภาพ และ
คาสังจะถู
่ กนาไปปฏิบตั ิ ทนั ที มักให้สิทธิแก่ผใู้ ช้ที่มีหน้ าที่โดยตรงเท่านัน้
(2) การใช้งานแบบฝังตัวในโปรแกรม (Embedded SQL)
หมายถึงการสอดแทรกประโยคคาสังภาษาซี
่
เควลไว้ในภาษาระดับสูง
เพื่อปฏิบตั ิ การกับฐานข้อมูล ภาษาระดับสูงที่ สนับสนุนวิธีการนี้ ได้แก่ ภาษาซี
ภาษาโคบอล ภาษาปาสคาล เป็ นต้น
(3) การใช้งานแบบโปรแกรม (Batch SQL)
หมายถึงการเขียนโปรแกรมด้วยคาสังในภาษาซี
่
เควล ที่สามารถทางาน
และให้ผลลัพธ์แบบเบ็ดเสร็จ เช่น การพิมพ์รายงานประจาวัน การพิมพ์รายงาน
ประจาเดือน เป็ นต้น
34
Part IV Integrity Control
กฎของความคงสภาพ (Integrity rule)
กฎความคงสภาพของเอนติตี้
(Entity integrity rule)
กฎความคงสภาพของการอ้างอิง
(Referential integrity rule)
36
Entity integrity rule
“คียห์ ลักจะไม่อนุญาตให้มีค่าว่าง”
37
Referential integrity rule
ถ้ามีรีเลชัน่ R2 ซึ่งมี Fk เป็ นคียน์ อกที่อ้างอิงถึงคียห์ ลัก Pk
ในรีเลชัน่ R1 สาหรับทุกๆ ค่าของ Fk ใน R2 จะต้อง
มีค่าเท่ากับค่า
Pk ในแถวใดแถว
หนึ่ งในรีเลชัน่ R1
หรือไม่กต็ ้องมี
ค่า attribute
ใน Fk เป็ นค่า
ว่าง
38
คนงาน (Worker)
รหัสคนงาน ชือ่ คนงาน
Wk_ID (Pk) Wk_NAME
1245 สุดใจ ดีพร้อม
2521 พิเชฏ มากมี
1411 พิชยั ใจซือ่
2511 พิเชฏ มากมี
2522 ด้วง เกือ้ กูล
ประเภทความชานาญ
Skill_Type (Pk)
ประปา
ไฟฟ้า
ปูน
อัตราค่าแรงต่อชม.
Hour_Rate
16
16
16.5
15
16.5
ประเภทความชานาญ รหัสผู้ควบคุม
Skill_Type (Fk)
Supv_ID (Fk)
ไฟฟ้า
1411
ปูน
2522
มุงหลังคา
ประปา
ปูน
ความชานาญ (Skill)
อัตราโบนัส จานวน ชม.ขันต
้ า่
Bonus_Rate
Min_Hour
3
45
3.5
40
2.5
50
มุงหลังคา ไม่ใช่
ข้อมูลที่มีใน
ตารางประเภท
ความชานาญ
รูปแสดงรีเลชันที่ผิดกฎความคงสภาพของการอ้างอิง
39
ปัญหา
ถ้ามีใครไปแก้ไขหรือลบข้อมูล
ซึ่งมีผลไปกระทบกับกฎ
Integrity จะรับมืออย่างไร
วิธีแก้ไขที่เป็ นไปได้ 2 ทาง คือ...
ตัง้ ระบบให้ไม่ยอมรับการเปลี่ยนแปลงดังกล่าว หรือไม่ก็
อนุญาตให้เปลี่ยนแปลงได้ โดยระบบจะทาการปรับแต่ง
ข้อมูลที่เกี่ยวข้องให้ยงั คงเป็ นไปตามกฎทัง้ 2 อยู่
40
ตารางตัวอย่างแสดงการกาหนด
สถานการณ์ ต่าง ๆ เพื่อให้เป็ นไป
ตาม referential integrity
41
สถานการณ์ที่เป็ นไปได้ 3 ทาง
 กระทาแบบเป็ นทอดๆ (cascade)
 ยอมแบบมีเงื่อนไข (restricted)
 เปลี่ยนเป็ นค่าว่าง (nullify)
42
CASCADES
รูปแสดงการกาหนดให้ตรวจสอบกฎความคงสภาพของการอ้างอิงและ
การกาหนดสถานการณ์แบบ CASCADES
43
Part V Database design
Entity-Relational Model
 ผังเอ็นติตี้-รีเลชันชิพ (ERD: Entity-
)
Relational Diagram

Peter Chen (1976) มาตรฐาน ANSI ปี 1988

ERD แสดงเอ็นติตี้ และความสัมพันธ์
ระหว่างกันของเอ็นติตี้ที่ประกอบกันเป็ น
ฐานข้อมูล
 ใช้เป็ นเครื่องมือสื่อสารระหว่างผูอ
้ อกแบบ
ฐานข้อมูลและผูใ้ ช้ฐานข้อมูล
45
องค์ประกอบของ ERD
 เอ็นติตี้ (Entity)
 แอทตริบิวท์ (Attribute)
 ความสัมพันธ์ (Relationship)
46
เอ็นติตี้ (Entity)
สิ่งต่ าง ๆ ที่ มีเอกลักษณ์ สามารถชี้เฉพาะเจาะจงได้ เป็ นสิ่งที่
สามารถนาไปเก็บในฐานข้อมูลได้ อาจเป็ นสิ่งที่ เป็ นรูปธรรม
หรื อ นามธรรมก็ ไ ด้ เช่ น บุ ค คล สัต ว์ สิ่ งของ สถานที่
ความคิด เหตุการณ์ เป็ นต้น
 บุคคล
พนักงาน นักศึกษา นักฟุตบอล แพทย์
 สิ่งของ
สินค้า รถยนต์ หนังสือ
 สถานที่
สนามบิน ร้านอาหาร โกดังสินค้า
 ความคิด หลักสูตร แผนประกันชีวต
ิ
 เหตุการณ์ การแข่งขันฟุตบอล ข่าว การรักษาโรค

47
แอทตริบิวท์ (Attribute)
 คุณสมบัติ ลักษณะหรือรายละเอียดของเอ็นติตี้
วันเดือนปี เกิด
พนักงาน
ชื่อ - นามสกุล
ที่อยู่
ส่วนสูง
ประวัติการศึกษา
หมายเลขบัตรประจาตัวประชาชน
น้าหนัก
กรุป๊ เลือด
48
ร้านอาหาร
สาขา
จานวนบริกร
ที่ตงั ้
ผูจ้ ดั การร้าน
เบอร์โทรศัพท์
จานวนโต๊ะ
49
ความสัมพันธ์ (Relationship)
 ความสัมพันธ์ระหว่างเอ็นติตี้ในฐานข้อมูล
นักศึกษา กับ แผนการเรียน
ความสัมพันธ์ คือ ลงทะเบียน
ลูกค้า กับ สินค้า
ความสัมพันธ์ คือ สังซื
่ ้อ
อาจารย์ กับ คณะ
ความสัมพันธ์ คือ สังกัด
50
ความสัมพันธ์ (Relationship)
 ความสัมพันธ์แบบหนึ่ งต่ อหนึ่ ง (One to One)
 สามี – ภรรยา
 ผูน
้ าประเทศ – ประเทศ

ความสัมพันธ์แบบหนึ่ งต่อกลุ่ม (One to Many)
 แม่ – ลูก
 อาจารย์ทป
่ี รึกษา - นักศึกษา

ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to
Many)
 ลูกค้า – สินค้า
 รายวิชา - นักศึกษา
51
ส่วนประกอบของ ER Diagram
1. Entity
ใช้สญ
ั ลักษณ์
2. Attribute
ใช้สญ
ั ลักษณ์
3. Relationship
ใช้สญ
ั ลักษณ์
ชื่อสินค้า
ชื่อพนักงาน
รหัสพนักงาน
รหัสสินค้า
พนักงานขาย
ทีอ่ ยู่
เบอร์โทร
M
ขายสินค้า
N
สินค้า
ราคา
จานวนคงเหลือ
โกดังทีเ่ ก็บ
52
ขัน้ ตอนการแทนความสัมพันธ์ของข้อมูลด้วย
ER Diagram
1.
2.
3.
4.
5.
กาหนด Entity ที่จาเป็ น
กาหนดความสัมพันธ์ระหว่าง Entity
กาหนด Attribute ของ Entity
พิจารณา Attribute ที่ขึน้ กับ Relationship
เลือก Primary key (Identifier)
... เปลี่ยน ER Diagram เป็ น Table
53
การแปลงความสัมพันธ์ E-R ให้อยู่ในรูปตาราง
ในฐานข้อมูลเชิงสัมพันธ์
 แต่ละเอ็นติตี้จะถูกแปลงเป็ นตาราง ชื่อเอ็นติตี้จะเป็ น
ชื่อตาราง
 แต่ละแอทตริบิวต์จะกลายเป็ นคอลัมน์ ของตาราง
 มีแอทตริบิวต์หนึ่ งทาหน้ าที่ เป็ นคียห
์ ลักของตาราง
54
การแปลงความสัมพันธ์ แยกได้ 3 ลักษณะ
ตามความสัมพันธ์
แบบหนึ่ งต่อหนึ่ ง
 คียห
์ ลักของตารางหนึ่งจะกลายเป็ นคียน์ อกของอีกตารางหนึ่ง
แบบหนึ่ งต่อกลุ่ม
 คียห
์ ลักของเอ็นติตด้ี า้ น
One เป็ นคียน์ อกของเอ็นติตด้ี า้ น Many
แบบกลุ่มต่อกลุ่ม
 สร้างตารางใหม่ขน
้ึ มา
โดยมีคยี ห์ ลักจากเอ็นติตท้ี งั ้ สองมาทา
หน้าทีร่ ว่ มกันในตารางใหม่ ตารางใหม่น้จี ะถูกเรียกว่า Junction
Table (ตารางเชือ่ มต่อ) ทาการเชือ่ มเอ็นติตท้ี ม่ี คี วามสัมพันธ์
แบบกลุ่มต่อกลุ่ม
55
ตัวอย่าง
พิจารณาส่ วนหนึ่ งของระบบลงทะเบียนนั กศึกษา กาหนด
ความสัมพันธ์ของแต่ละ Entity ได้ดงั นี้
1. นักศึกษาลงทะเบียนได้หลายรายวิชา
2. รายวิชาหนึ่ งๆ นักศึกษาสามารถลงทะเบียนได้หลาย
คน
3. นักศึกษาคนหนึ่ งสังกัดได้ 1 สาขาวิชา
4. สาขาวิชาแต่ละสาขาวิชามีนักศึกษาสังกัดได้หลายคน
56