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

Download Report

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

ระบบการจัดการฐานข ้อมูล
(Database Management System : DBMS)
“Microsoft
Access 2003”
อ.จินดา เจริญผล
คณะเทคโนโลยี
วิทยาลัยเทคโนโลยีภาคใต ้
การพัฒนาฐานข ้อมูล
การออกแบบฐานข ้อมูลด ้วย Entity-Relationship Diagram
ั พันธ์
การแปลงโมเดลข ้อมูลแบบ E-R เป็ นโมเดลฐานข ้อมูลเชงิ สม
การออกแบบไฟล์ (File Design)
การพัฒนาฐานข ้อมูลด ้วย MS ACCESS
การออกแบบฐานข ้อมูลด ้วย
Entity-Relationship Diagram
แบบจำลองข้ อมูล (Data Model)
แผนภำพ E-R
เอนทิตี ้ (Entity) : บุคคล สถานที่ วัตถุ หรื อเหตุการณ์ที่ทาให้ เกิดกลุม่
ข้ อมูล ซึง่ สามารถบ่งชี ้ความเป็ นเอกลักษณ์เฉพาะตัวของเอนทิตี ้ได้
เช่น Customer, Employee, Student, Department, Stock, Course
สัญลักษณ์ที่ใช้
Employee
Department
คำนำม
แผนภำพ E-R
แอตทริ บิวต์ (Attributes) : คุณสมบัติของเอนติตี ้ เช่นเอนทิตี ้ นักศึกษาประกอบด้ วย รหัส
พนักงาน (EMP_ID), ชื่อ (Name), นามสกุล (L_Name), ที่อยู่ (Address), โทรศัพท์ (Tel_No)
แอตทริ บิวต์ที่ที่สามารถระบุความแตกต่างของข้ อมูลได้ คือ คีย์หลักที่ใช้ ในการอ้ างอิง
(Identifier/ Primary Key)
สัญลักษณ์ที่ใช้
EMP_ID
Tel_No
Employee
Address
Name
L_Name
คำนำม
ิ ของเอนติต ี
แอททริบวิ ท์ทเี่ ป็ นตัวชเี้ ฉพาะสมาชก
Identifier (ตัวชเี้ ฉพาะ) คือ แอททริบวิ ท์หรือกลุม
่ ของแอทริบวิ ท์ของเอนติตใี ดๆ ทีท
่ า
ิ ตัวใดตัวหนึง่ ของเอนติต ี
หน ้าทีช
่ เี้ ฉพาะถึงสมาชก
ื่
รหัสพนักงาน ชอ
นามสกุล
ทีอ
่ ยู่
ั ท์
เบอร์โทรศพ
2322332
สมชาย
ชาตรี
กรุงเทพฯ
02-5771028
5332124
สมศรี
มั่งมีสข
ุ
ขอนแก่น
081-9455698
4650238
สมชาย
สมนึก
กรุงเทพฯ
02-5771030
ั พันธ์ระหว่างประเภทของเอนติต ี
แสดงความสม
ิ ของเอนติต ี
แอททริบวิ ท์ และสมาชก
ิ ของเอนติตท
ประเภทของเอนติต ี้ (entity type) คือ โครงสร ้างทีป
่ ระกอบด ้วยสมาชก
ี ม
ี่ ี
คุณสมบัตห
ิ รือคุณลักษณะร่วมกัน
แผนภำพ E-R
ั พันธ์ (Relationship) : ความสม
ั พันธ์ระหว่าง
ความสม
เอนทิต ี้
ั พันธ์แบ่งเป็ นประเภทต่างๆ ดังนี้
ความสม
ั พันธ์แบบหนึง่ ต่อหนึง่
– ความสม
ั พันธ์แบบหนึง่ ต่อกลุม
– ความสม
่
ั พันธ์แบบกลุม
– ความสม
่ ต่อกลุม
่
ั ลักษณ์ทใี่ ช ้
สญ
EMPLOYEE
คำกริยำ
Belong to
DEPARTMENT
ั พันธ์แบบ หนึง่ -ต่อ-หนึง่
ความสม
ั พันธ์ทส
ิ หนึง่ รายการของเอนติตห
ความสม
ี่ มาชก
ี นึง่ มี
ั พันธ์กบ
ิ เพียงหนึง่ รายการของอีกเอนติตห
ความสม
ั สมาชก
ี นึง่
ั พันธ์แบบหนึง่ -ต่อ-กลุม
ความสม
่
ั พันธ์ทส
ิ หนึง่ รายการของเอนติตห
ความสม
ี่ มาชก
ี นึง่ มี
ั พันธ์กบ
ิ หลายรายการของอีกเอนติตห
ความสม
ั สมาชก
ี นึง่
ั พันธ์แบบ กลุม
ความสม
่ -ต่อ-กลุม
่
ั พันธ์ทส
ิ หลายรายการของเอนติตห
ความสม
ี่ มาชก
ี นึง่ มี
ั พันธ์กบ
ิ หลายรายการของอีกเอนติตห
ความสม
ั สมาชก
ี นึง่
ั พันธ์ทม
ความสม
ี่ ข
ี ้อมูลขึน
้ กับเวลา
ั พันธ์ทม
ความสม
ี่ ข
ี ้อมูลขึน
้ กับเวลา
การออกแบบฐานข ้อมูลโดย
Entity Relationship Diagram
(E-R Diagram)
1. การวิเคราะห์หาเอนติต ี
ั พันธ์ระหว่างเอนติตห
2. การหาความสม
ี ลักเพือ
่ หา
เอนติตอ
ี น
ื่ ทีเ่ กีย
่ วข ้อง
3. การหาแอททริบวิ ท์และกาหนดแอททริบวิ ท์ทเี่ ป็ นตัว
ิ ของเอนติต ี
ชเี้ ฉพาะสมาชก
การออกแบบ E-R Model
การออกแบบ E-R Model ตาม
ความต้องการในรูป Natural
Language
การออกแบบ E-R Model ตาม
ความต้องการในรูปฟอร์ม
แบบฝึ กหัด
การออกแบบ E-R Model ตาม
ความต้องการในรูป Natural
Language
ข้ อ 1 โรงพยำบำลแห่ ง หนึ่ ง ต้ อ งกำรพั ฒ นำฐำนข้ อ มู ล ผู้ ป่ วยขึ น้
เพื่อใช้ เก็บข้ อมู ล ต่ ำ งๆ ที่เกี่ย วกั บผู้ ป่วยและยำที่แพ้ เพื่อ
นำมำใช้ เป็ นข้ อมูลระเบียนประวัติผ้ ูป่วย โดยข้ อมูลผู้ป่วย
แต่ ละคนที่จัดเก็บ จะประกอบด้ วย หมำยเลขบัตรประจำตัว
ประชำชน ชื่อ สกุล วันเดือนปี เกิด เพศ ที่อยู่ ซึ่งผู้ป่วยแต่
ละคนอำจแพ้ ยำได้ หลำยชนิด และยำแต่ ละชนิดมีผ้ ูป่วยแพ้
ได้ หลำยคน ซึ่งข้ อมูลยำที่จัดเก็บประกอบด้ วย รหัสยำ ชื่อ
ยำ อำกำรแพ้
แบบฝึ กหัด
การออกแบบ E-R Model ตาม
ความต้องการในรูปฟอร์ม
แบบสอบถำมกำรใช้ รถยนต์
ชื่อ .................................................................... อายุ ...................................
ที่อยู่ ...............................................................................................................
เบอร์ โทรศัพท์ ...............................................................................................
ท่านใช้ รถยนต์ยี่ห้อใด
TOYOTA
รุ่น ..................... ปี ............. สี ............ ราคา ........
NISSAN
รุ่น ..................... ปี ............. สี ............ ราคา ........
HONDA
รุ่น ..................... ปี ............. สี ............ ราคา ........
ISUZU
รุ่น ..................... ปี ............. สี ............ ราคา ........
MISUBISHI
รุ่น ..................... ปี ............. สี ............ ราคา ........
อื่นๆ ระบุ .............. รุ่น ..................... ปี ............. สี ............ ราคา ........
การแปลงโมเดลข ้อมูลแบบ E-R เป็ น
ั พันธ์
โมเดลฐานข ้อมูลเชงิ สม
ั ปกติ
แสดงการแปลงรีเลชน
และแอททริบวิ ท์แบบธรรมดา
ั 1 รีเลชน
ั โดยจะนา Simple Attribute มาเป็น Attribute ของ
วิธก
ี าร : สร้างรีเลชน
ั นา Identifier มาเป็น PK ของรีเลชน
ั
รีเลชน
ั พันธ์ระหว่างเอนติต ี
การแปลงความสม
ั พันธ์แบบหนึง่ -ต่อ-หนึง่
ประเภทความสม
ั พันธ์แบบหนึง่ -ต่อ-กลุม
ประเภทความสม
่
ั พันธ์แบบ กลุม
ประเภทความสม
่ -ต่อ-กลุม
่
ั พันธ์
ประเภทความสม
แบบหนึง่ -ต่อ-หนึง่
แสดงการแปลงเอนติตป
ี กติและแอททริบวิ ท์ของเอนติต ี
ั
เป็ นรีเลชน
ั 2 รีเลชน
ั โดยจะนาเฉพาะ Attribute ย่อย (Simple Attribute)
วิธก
ี าร : สร้างรีเลชน
ั นา Identifier มาเป็น PK ของรีเลชน
ั
มาเป็น Attribute ของรีเลชน
ั พันธ์แบบหนึง่ -ต่อ-หนึง่ ระหว่างสองเอนติต ี
ประเภทความสม
ั พันธ์แบบหนึง่ -ต่อ-หนึง่ ระหว่างสองเอนติต ี
ประเภทความสม
ั พันธ์แบบหนึง่ -ต่อ-กลุม
ประเภทความสม
่
ั ันธ์แบบ หนึง่ -ต่อ-กลุม
ประเภทความสมพ
่ ระหว่างสองเอนติต ี
ั ันธ์เป็น 1 มาเป็น
นา PK ของเอนติตด
ี า้ นทีม
่ ค
ี วามสมพ
ั ันธ์ดา้ นทีเ่ ป็น M
FK ของเอนติตท
ี ม
ี่ ค
ี วามสมพ
แผนภาพ E-R ของความสัมพันธ์ “เป็ นทีป่ รึ กษา” ระหว่างเอนติตี ”อาจารย์” และ ”นักศึกษา”
ั ันธ์แบบ หนึง่ -ต่อ-กลุม
ประเภทความสมพ
่ ระหว่างสองเอนติต ี
โมเดลฐานข้ อมูลเชิงสัมพันธ์ที่ได้ จากการแปลงแผนภาพ E-R แบบ หนึง่ -ต่อ-กลุม่
ั ันธ์แบบ หนึง่ -ต่อ-กลุม
ประเภทความสมพ
่
ระหว่างสองเอนติต ี
ความสาคัญแบบ 1:M ที่มีเวลามาเกี่ยวข้ อง
– ใช้ แอททริ บิวท์ร่วมที่นามาจากคีย์หลักของสองรี เลชันแรกที่มี
ความสัมพันธ์กนั
– สร้ างคีย์หลักขึ ้นมาใหม่
ควำมสัมพันธ์ แบบ 1:M มีเวลำมำเกี่ยวข้ อง
แสดงความสัมพันธ์ “เป็ นที่ปรึ กษา” ระหว่างเอนติตี ”อาจารย์” และ ”นักศึกษา” ที่ข้ ึนกับเวลา
ควำมสำคัญแบบ 1:M ที่มีเวลำมำเกี่ยวข้ อง โดยใช้ แอททริบวิ ท์ ร่วมที่นำมำจำก
คีย์หลักของสองรีเลชันแรกที่มีควำมสัมพันธ์ กัน
ข้ อจำกัด คือ อำจำรย์ แต่ ละคนจะไม่ สำมำรถเป็ นที่ปรึกษำให้ กับนักศึกษำคนเดิมได้ อีกในปี กำรศึกษำถัด
ดังนัน้ ต้ องเพิ่ม Attribute ปี กำรศึกษำร่ วมเป็ น PK เพื่อให้ อำจำรย์ เป็ นที่ปรึกษำนักศึกษำคนเดิมได้ อีกเมื่อต่ ำงปี
กำรศึกษำ
สร้ ำงคีย์หลักขึน้ มำใหม่
รหัสการเป็ นที่ปรึกษา
ข้ อเสนอแนะ : ระบบงานนี ้ไม่มีความจาเป็ นที่จะใช้ วิธีการสร้ าง PK ใหม่ขึ ้นมา
แผนภำพ E-R แสดงเอนติตีเชิงสัมพันธ์ ช่ ือ “กำรลงทะเบียน”
1 N
N 1
ประเภทควำมสัมพันธ์ แบบ กลุ่ม-ต่ อ-กลุ่ม
ประเภทควำมสัมพันธ์ แบบ กลุ่ม-ต่ อ-กลุ่ม
การกาหนดคีย์หลักให้ กบั รี เลชันที่สาม
– การใช้ คีย์หลักของสองรี เลชันแรกร่วมกัน เป็ นคีย์หลักของ
รี เลชันที่สาม
– การสร้ างคีย์ใหม่ขึ ้นมา
กำรกำหนดคีย์หลักให้ กับรีเลชันที่สำม
ั ันธ์เป็น 1
นา PK ของเอนติตด
ี า้ นทีม
่ ค
ี วามสมพ
ั ันธ์
มาเป็น PK ของเอนติตใี หม่ทม
ี่ ค
ี วามสมพ
ด้านทีเ่ ป็น N
ข้ อจำกัด คือ นักศึกษำแต่ ละคนไม่ สำมำรถลงทะเบียนวิชำเดิมซำ้ อีก หำกสอบไม่ ผ่ำน
โมเดลฐานข้ อมูลเชิงสัมพันธ์ที่แปลงมาจากแผนภาพ E-R แบบ กลุม่ -ต่อ-กลุม่
กำรกำหนดคีย์หลักให้ กับรีเลชันที่สำม
นักศึกษำแต่ ละคนสำมำรถลงทะเบียนวิชำเดิมซำ้ อีก หำกสอบไม่ ผ่ำน ซึ่งลงทะเบียนได้
มำกกว่ ำ 1 ครัง้ ต่ อปี กำรศึกษำ และไม่ เกินภำคกำรศึกษำละ 1 ครัง้
โมเดลฐานข้ อมูลเชิงสัมพันธ์ที่แปลงมาจากแผนภาพ E-R แบบ กลุม่ -ต่อ-กลุม่
กำรกำหนดคีย์หลักให้ กับรีเลชันที่สำม
1 N
N 1
ั ันธ์เป็น 1
นา PK ของเอนติตด
ี า้ นทีม
่ ค
ี วามสมพ
ั ันธ์
มาเป็น PK ของเอนติตใี หม่ทม
ี่ ค
ี วามสมพ
ด้านทีเ่ ป็น N
ข้ อจำกัด คือ ลูกค้ ำไม่ สำมำถซือ้ สินค้ ำชนิดเดิมซำ้ ได้ อีกเป็ นครัง้ ที่สอง
การแปลงเอนติตีเชิงสัมพันธ์ “การสัง่ ซื ้อ” เป็ นรี เลชันเชิงสัมพันธ์โดยกาหนดคีย์หลักจากแอททริบวิ ท์ของรี เลชันอื่น
กำรกำหนดคีย์หลักให้ กับรีเลชันที่สำม
1 N
N 1
ื้ ร่วมเป็น PK
นาว ันทีซ
่ อ
ข้ อจำกัด คือ ลูกค้ ำซือ้ สินค้ ำชนิดเดิมซำ้ ได้ แต่ ต้องเป็ นคนละวันกัน
กำรกำหนดคีย์หลักให้ กับรีเลชันที่สำม โดยกำรสร้ ำงคีย์หลักใหม่
การออกแบบไฟล์ (File Design)
การออกแบบประเภทข้อมูลและขนาดของแอททริบวิ ท์
Text
ข ้อมูลตัวอักษร ตัวเลข หรืออืน
่ ๆ ผสมกัน ทีย
่ าวไม่เกิน 255
่ คานาหน ้า, ชอ
ื่ , นามสกุล, ทีอ
ตัวอักษร เชน
่ ยู่ เป็ นต ้น
Memo
ข ้อมูลตัวอักษร ตัวเลข หรืออืน
่ ๆ ผสมกัน ยาวเกิน 255 ตัวอักษร
่ บันทึก หรือหมายเหตุ
เชน
Number
่ อายุ, เงินเดือน
ข ้อมูลตัวเลขทีน
่ าไปคานวณได ้ เชน
Date/Time
่ วันเกิด, วันเข ้าทางาน
ข ้อมูลวันที่ สามารถนาไปคานวณได ้ เชน
Currency
ข ้อมูลตัวเลขรูปแบบสกุลเงิน
AutoNumber
่ ลาดับที่
ข ้อมูลตัวเลขทีใ่ ห ้รันอัตโนมัต ิ เชน
Yes/No
ข ้อมูลตรรกะ ให ้เลือก "ใช"่ หรือ "ไม่ใช"่
OLE Object
ี ง, ภาพ, วิดโี อ
ข ้อมูลเสย
Hyperlink
ข ้อมูลทีส
่ ามารถคลิกลิงก์ได ้
Lookup Wizard
่ DropDown List
ข ้อมูลค ้นหา และแสดงเป็ นรายการ เชน
DepartmentName
FirstName
LastName
Employee_ID
Telephone
Belong to
Employee
Birthdate
Department_ID
Position
DEPARTMENT
Telephone
Salary
Employee_ID
FirstName
BuildingName
Floor
LastName
Department_ID
Position
DepartmentName
Salary
Birthdate
BuildingName
Telephone
Floor
Department_ID
Telephone
File : Employee
Field Name
Data Type
Field Size
Type
Employee_ID
Text
4
Primary Key
FirstName
Text
50
LastName
Text
50
Position
Text
20
Salary
Currency
Birthdate
Date/Time
Telephone
Text
12
Department_ID
Text
4
Foreign Key
File : Department
Field Name
Data Type
Field Size
Type
Department_ID
Text
4
Primary Key
DepartmentName
Text
50
BuildingName
Text
50
Floor
Text
2
Telephone
Text
12
ASSIGNMENT
คณะพยาบาลศาสตร์ต ้อ งการพ ฒ
ั นาฐานข้อ มู ล หอ พ ก
ั
ึ ษาพยาบาลขึน
้ เพือ
น ักศก
่ ใชเ้ ก็ บข้อมูลต่างๆ ทีเ่ กีย
่ วก ับการ
ึ ษาพยาบาล 2 หล ักสูตร
พ ักในหอพ ักมหาวิทยาล ัยของน ักศก
ึ ษาแต่ละท่านต้องพ ักในหอพ ักของมหาวิทยาล ัยได้
โดยน ักศก
ึ ษาจะเข้าอยู่
หลายหอพ ักตลอดหล ักสูตร แต่ในแต่ละปี การศก
ึ่ ข้อ มู ล น ก
ึ ษาทีต
ได้เ พีย ง 1 หอพ ก
ั ซง
ั ศก
่ อ
้ งการจ ด
ั เก็ บ จะ
ึ ษา ช อ
ื่ -สกุ ล ว น
ประกอบด้ว ย รห ส
ั นก
ั ศก
ั เดือ นปี เกิด ทีอ
่ ยู่
ั ท์ หล ก
ึ ษาได้
้ อพ ก
เบอร์โ ทรศ พ
ั สูต ร ท งั้ นีห
ั แต่ล ะหอมีน ก
ั ศก
ื่
หลายคน สาหร ับข้อมูลหอพ ักจะประกอบด้วย รห ัสหอพ ัก ชอ
ั
หอพ ัก ทีอ
่ ยู่ หมายเลขโทรศพท์
หมายเลขติดต่อภายใน และ
หมายเลขห้อง
DormName
FirstName
LastName
Student_ID
rest
Student
Curriculum
Dorm_ID
Telephone
Dormitory
RoomNo
Birthdate
Telephone
Address
Address
Student_ID
FirstName
Dorm_ID
LastName
Birthdate
DormName
Address
Address
Telephone
Telephone
Curriculum
RoomNo
Dorm_ID
Floor
FirstName
BuildingName
LastName
Student_ID
Telephone
RoomNo
Curriculum
rest
Student
Room
Telephone
Birthdate
in
Address
Dormitory
Dorm_ID
DormName
Address
Telephone
Microsoft Access 2003