HO Session 14: Database Design Principles

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Datadictionary Prakan Sringam.
Advertisements

BC421 File and Database Lab
ภาควิชาวิทยาการคอมพิวเตอร์ มหาวิทยาลัยสงขลานครินทร์
HO Session 13: Database System Concept & Tools
เสรี ชิโนดม MS SQLServer 7 เสรี ชิโนดม
12. การบันทึกข้อมูลลงในตาราง
ทำความรู้จักและใช้งาน
จัดการฐานข้อมูลด้วย Microsoft Access 2007
E-R Model บรรยายโดย สุรางคนา ธรรมลิขิต.
File System Example of File System Employee Department
แผนการสอน วิชา Database Design and Development
บทที่ 2 รูปแบบของฐานข้อมูล.
สถาปัตยกรรมฐานข้อมูล
Security and Integrity
Entity-Relationship Model
Microsoft Access.
Microsoft Access.
Normalization.
ฐานข้อมูลเชิงสัมพันธ์
บทที่ 8 การออกแบบข้อมูล (Data Design) โครงสร้างข้อมูล (Data Structure)
Logic Programming โปรแกรมเชิงตรรกะ.
ฐานข้อมูลและการออกแบบฐานข้อมูล
MySQL.
ข้อดีของฐานข้อมูล 1. หลีกเลี่ยงความขัดแย้งของข้อมูล การจัดเก็บข้อมูลแบบแฟ้มข้อมูล โดยข้อมูลเรื่องเดียวกันอาจมีอยู่หลายแฟ้มข้อมูล ซึ่งก่อให้เกิดความขัดแย้งของข้อมูลได้
ส่วนที่ 4 System Design การออกแบบระบบ.
Databases Design Methodology
– Web Programming and Web Database
Structured Query Language (SQL)
การออกแบบแบบจำลองข้อมูล
สถาปัตยกรรมของระบบฐานข้อมูล
การออกแบบฐานข้อมูลเชิงสัมพันธ์
ความรู้พื้นฐานในการออกแบบ ฐานข้อมูลแบบสัมพันธ์ ธวัชชัย เอี่ยมไพโรจน์
ความปลอดภัยของฐานข้อมูล
ฐานข้อมูลเชิงสัมพันธ์
ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล
ระบบฐานข้อมูลทางการพยาบาล และ Microsoft Access 2003
การแปลง E-R เป็น Table.
หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
Creating Database With Structure Query Language (SA&D-8)
Charter 8 1 Chapter 8 การจัดการฐานข้อมูล Database Management.
ค31211 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 1
The Relational Data Model
SQL Structured Query Language.
CHARPTER 9 การเชื่อมเทเบิล JOIN…. TABLE.
Data Modeling Chapter 6.
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เรื่องการออกแบบฐานข้อมูล
บทที่ 5 การทำงานกับหลาย Table
โปรแกรม Microsoft Access
บทที่ 5 การทำงานกับหลาย Table
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
1. รายการเปลี่ยนแปลง (Transaction)
1. ศัพท์พื้นฐานของฐานข้อมูล
CHAPTER 12 SQL.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
SQL Structured Query Language.
การประยุกต์ใช้ฐานข้อมูล
โมเดลเชิงสัมพันธ์ The relational model.
งานกลุ่ม กลุ่มที่ 3 เรื่อง ฐานข้อมูลเชิงสัมพันธ์
MS Access (basic) By Kanok Khamhun. ฐานข้อมูล (Database) Database ( ฐานข้อมูล ) คือที่ เก็บรวบรวมข้อมูลที่มี ความสัมพันธ์ไว้ด้วยกัน ขึ้นอยู่ กับวัตถุประสงค์ของการเก็บ.
Week 5 Online available at
E-R to Relational Mapping Algorithm
แบบจำลองข้อมูล (Data Model)
Introduction to Database
ต้นไม้ Tree [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
PHP: [9] ฐานข้อมูล MYSQL
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
บทที่ 5 การควบคุมความถูกต้องให้กับข้อมูล (Data Integrity)
ฐานข้อมูลเชิงสัมพันธ์ Relational Database
ใบสำเนางานนำเสนอ:

HO 343 -- Session 14: Database Design Principles EK BUNCHUA ek@alpha.tu.ac.th Room # 528 Thammasat Business School

การออกแบบฐานข้อมูล ... ตอบคำถามต่อไปนี้ก่อน ต้องการเก็บข้อมูลอะไร? จะใช้กี่ตาราง? แต่ละตารางมีความสัมพันธ์กันอย่างไร?

ตัวอย่าง - ต้องการเก็บข้อมูลอะไร? ข้อมูลพื้นฐานของพนักงาน ได้แก่ ชื่อ ที่อยู่แผนกและตำแหน่งที่ทำงานในปัจจุบัน เงินเดือนปัจจุบัน ฯลฯ ข้อมูลการทำงาน ได้แก่ วันที่เปลี่ยนแปลง การย้ายแผนกและเลื่อนตำแหน่งแต่ละครั้ง เงินเดือนที่ได้รับในแต่ละตำแหน่ง ฯลฯ

ตัวอย่าง - จะใช้กี่ตาราง? ใช้เพียง 1 ตารางได้หรือไม่? อ้าว! แล้วจะเก็บประวัติการทำงานอย่างไร? Table: EMPLOYEE ID 101 102 103 NAME TOM JACK YING CITY BANGKOK PHUKET DATE 01-01-95 11-07-95 01-07-99 TITLE MANAGER TYPIST SECRETARY SALARY 20,000 7,500 12,000

ตัวอย่าง - จะใช้กี่ตาราง? ถ้าบันทึกข้อมูลต่อกันไป จะดีหรือไม่? ไม่ควร เพราะเกิดความซ้ำซ้อนของข้อมูล ไม่ควร เพราะข้อมูลที่ซ้ำซ้อนอาจขัดแย้งกัน Table: EMPLOYEE ID 101 102 103 NAME TOM JACK JARK YING CITY BANGKOK BAGKOK PHUKET PHUKIT DATE 01-01-95 16-10-97 05-08-98 11-07-95 01-09-97 01-07-99 TITLE SALESMAN SUPERVISOR MANAGER TYPIST SECRETARY SALARY 8,000 10,000 20,000 6,000 7,500 12,000

ตัวอย่าง - จะใช้กี่ตาราง? ถ้าใช้มากกว่า 1 ตาราง ดีกว่าจริงหรือ? ดีกว่าแน่นอน เพราะข้อมูลไม่ซ้ำซ้อน Table: EMPLOYEE Table: JOB ID 101 102 103 NAME TOM JACK YING CITY BKK PHUKET ID 101 102 103 DATE 01-01-95 16-10-97 05-08-98 11-07-95 01-09-97 01-07-99 TITLE SALES SUP MGR TYPIST SECRT SALARY 8,000 10,000 20,000 6,000 7,500 12,000 FLAG S X C N

ตัวอย่าง - ความสัมพันธ์ของตาราง ถ้าใช้ 2 ตาราง แล้วใครชื่ออะไร? ไม่มีปัญหา เราสามารถอ้างอิงได้จากตาราง EMPLOYEE Table: JOB ID 101 102 103 DATE 01-01-95 16-10-97 05-08-98 11-07-95 01-09-97 01-07-99 TITLE SALES SUP MGR TYPIST SECRT SALARY 8,000 10,000 20,000 6,000 7,500 12,000 FLAG S X C N เพราะนี่คือ คุณสมบัติของ Relational Database

ตัวอย่าง - ความสัมพันธ์ของตาราง PARENT TABLE สงสัยว่า Flag มีไว้ทำไม? Table: EMPLOYEE ID 101 102 103 NAME TOM JACK YING CITY BKK PHUKET CHILD TABLE Table: JOB ID 101 102 103 DATE 01-01-95 16-10-97 05-08-98 11-07-95 01-09-97 01-07-99 TITLE SALES SUP MGR TYPIST SECRT SALARY 8,000 10,000 20,000 6,000 7,500 12,000 FLAG S X C N Primary Key Foreign Key

ฐานข้อมูลเชิงสัมพันธ์ ... Relational Database จัดเก็บข้อมูลในลักษณะตารางสองมิติ แบ่งเป็นแถวและคอลัมน์ การออกแบบฐานข้อมูลผ่านกระบวนการ ทำให้เป็นบรรทัดฐาน (Normalization) เพื่อลดความซ้ำซ้อนของข้อมูล

แนวคิดของฐานข้อมูลเชิงสัมพันธ์ ... ข้อมูลในแต่ละเรคอร์ดจะต้องไม่ซ้ำกัน ลำดับของเรคอร์ดไม่เป็นสาระสำคัญ ลำดับของฟีลด์ไม่เป็นสาระสำคัญ แต่ละฟีลด์เก็บข้อมูลได้ครั้งละ 1 ค่า แต่ละฟีลด์ต้องเก็บข้อมูลประเภทเดียวกัน

คีย์หลัก (Primary Key) ... เป็นค่าเอกลักษณ์ (Unique Identifier) ซึ่งจะต้องมีค่าไม่ซ้ำกัน อาจประกอบด้วยหลายฟีลด์รวมกัน เรียกว่า คีย์ร่วม (Composite Key) เป็นไปตามกฎ Entity Integrity Rule กล่าวคือ ไม่เป็นค่าว่าง (Null Value)

คีย์นอก (Foreign Key) ... ใช้สำหรับอ้างอิงข้อมูลระหว่างตาราง เป็นไปตามกฎ Referential Integrity Rule กล่าวคือ Foreign Key จะต้องอ้างอิงไปยัง Primary Key ของอีกตารางหนึ่ง เป็นค่าว่างได้หรือไม่นั้น ขึ้นอยู่กับข้อจำกัด หรือกฎเกณฑ์ในทางปฏิบัติของหน่วยงาน

Referential Integrity Options ... Restricted Update & Restricted Delete Cascade Update & Cascade Delete Nullify Update & Nullify Delete Default Update & Default Delete กฎเกณฑ์ข้างต้นจะมีผลกับค่าของคีย์นอก เมื่อมีการเปลี่ยนแปลงค่าของคีย์หลัก หรือ เมื่อมีการลบเรคอร์ดที่ค่าของคีย์หลักนั้นถูกอ้างอิง

Referential Diagram ... ใช้แสดงรายละเอียดของตารางต่าง ๆ รวมทั้งความสัมพันธ์ระหว่างตาราง ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (1:1) ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1:n) ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (m:n)