68

Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม
Page 2: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

รายงานกลม01. ชอโครงงานฐานขอมล02. ทมาของฐานขอมล03. ขอมลทจะจดเกบ 04. Entity-Relationship Diagram 05. ตาราง (Relation) 06. Normalization07. Data Dictionary08. พฒนาฐานขอมล MySQL

0สงสไลดงานกลมท [email protected] 342 Database Design and Development 2

Page 3: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ขอควรเขาใจในการเรยน0 ตวอยางค าสง MYSQL ทแสดงใน slide เชน

0 มกจะมรหสค าสงของ PPT ท MYSQL ไมเขาใจ เปนผลให Run ค าสงไมได

0 ไมแนะน าใหใช Copy&Paste

412 342 Database Design and Development 3

ALTER TABLE studentADD FOREIGN KEY (fac_ID)REFERENCES Faculty (fac_ID);

ไมปรากฏในหนาตาง SQL

Page 4: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

เพอให Appserv แสดง Relation View

412 342 Database Design and

Development4

‘Relation View’ จะแสดงดวยการก าหนด default-storage-engine=INNODB1 แกไขไฟล my.ini (folder Appserv\Mysql)2 ทบรรทด 86 เอา # ออก--> default-storage-engine=INNODB ออก3 บรรทด 183 เอา # ใสหนาทบรรทด --> #skip-innodb4. บนทกการแกไข5 restart services apache6 ถาไมปรากฏ Relation View ใชค าสง ALTER TABLE tbl_name ENGINE = InnoDB

Page 5: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ก าหนดใหทก Table เปน INNODB

412 342 Database Design and

Development5

ALTER TABLE tbl_name ENGINE = InnoDB

0 AppsServ จะแสดง relation view โดยการก าหนดให Table เปน InnoDB ดวยค าสง

0ตอง 6 Table ใหเปน INNODB

1 faculty2 student3 student_course4 course5 teaching6 teacher7 book

Page 6: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ประเภทของค าสง SQL 0 ค าสงในภาษา SQL สามารถแบงออกตามลกษณะการใชงานไดเปน 3

กลม ดงนคอ0 ค าสงทใชก าหนดโครงสรางหรอการนยามขอมล (Data Definition

Language : DDL)0 ค าสงทใชส าหรบจดการขอมล (Data Manipulation Language : DML)

0 ค าสงทใชในการควบคมระบบฐานขอมล (Data Control Language : DCL)

412 342 Database

Design and Development

6

Page 7: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 2. การแสดงขอมลตามเงอนไข

0 เพอแสดงขอมลตามทตองการ0 ดวยค าสง SEELCT , FROM, WHERE

0 รปแบบทวไป

412 342 Database

Design and Development

7

SELECT student_id, course_id, gradefrom student_coursewhere grade = 'F'

SELECT <field name>FROM <table name>WHERE <condition>;

Page 8: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

412 342 Database Design and Development 8

Page 9: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 3. การสรางตารางใหมจากขอมลเดม

0 เพอสรางตารางใหม โดยใชขอมลจากตารางเดม0 ดวยค าสง INSERT INTO รวมกบค าสง SELECT

0 รปแบบทวไป

412 342 Database

Design and Development

9

INSERT INTO <ชอตารางทจะเพมขอมล><ประโยคค าสง SELECT>

Page 10: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ตวอยาง สมมตวามการสรางตาราง GRADE_F (ตารางใหม)เพอเกบขอมลของนกศกษาทไดเกรด “F” ในรายวชาตางๆ ซงประกอบดวยฟลดดงน Student_ID , Course_ID , Grade โดยมการน าเอาขอมลทเกบอยในตาราง STUDENT_COURSE มาเพมเขาไปในตาราง GRADE_F สามารถท าไดโดยใชค าสง ตอไปน

412 342 Database

Design and Development

10

CREATE TABLE Grade_F ( Student_ID CHAR(11) NOT NULL,Course_ID CHAR(6) NOT NULL,

Grade CHAR(2));INSERT INTO GRADE_F

SELECT student_id, course_id, gradefrom student_coursewhere grade = 'F'

Page 11: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

412 342 Database Design and Development 11

ตาราง Grade_F

Page 12: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ค าสงทใชปรบปรงแถวขอมล

0 เปนค าสงทใชส าหรบปรบปรงหรอแกไขคาในคอลมนหรอฟลด ซงอาจมมากกวา 1 คอลมนในแถวทกแถว ทมเงอนไขสอดคลองกบทระบไวหลงค าวา WHERE ในค าสง UPDATE0รปแบบทวไป

412 342 Database

Design and Development

12

UPDATE <ชอตาราง>SET <ชอฟลด> = <คาขอมล>WHERE <เงอนไขตามทระบ>;

Page 13: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ค าสงทใชปรบปรงแถวขอมล

0ตวอยาง ตองการปรบปรงฟลด Credit ในตาราง COURSE ของรายวชา 412414 จากเดม 3 หนวยกต เปน 4 หนวยกต

412 342 Database

Design and Development

13

UPDATE COURSESET Credit = '4'WHERE Course_ID = '412414';

ถาไมใชค าสง WHERE ขอมล credit จะถกปรบปรงทกรายการ

ผลลพธ

Page 14: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ค าสงลบแถวขอมล

0ค าสงทใชในการลบแถวขอมลในตาราง ทกๆ แถวทมเงอนไขสอดคลองกบทระบไวหลงค าวา WHERE ในค าสง DELETE0รปแบบทวไป

412 342 Database

Design and Development

14

DELETE FROM <ชอตารางทตองการจะลบขอมล>WHERE <เงอนไขตามทระบ>;

Page 15: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 ค าสงลบแถวขอมล0 ตวอยางเชน ถามนกศกษารหส “452112589-5” ไดจบการศกษาออกไปแลว ตองการจะลบขอมลของนกศกษาคนนออกไปจากตารางนกศกษา (STUDENT) ท าไดโดยใชค าสง ดงน

0ถาไมมเงอนไข WHERE จะท าใหมการลบขอมลทกๆ แถวออกไปจากตารางนกศกษา

412 342 Database

Design and Development

15

DELETE FROM STUDENTWHERE Student_ID = '452112589-5';

Page 16: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 ค าสงทใชเรยกดขอมล

0ใชค าสง SELECT ซงเปนค าสงทใชส าหรบเรยกดขอมลหรอคนหาขอมล ตามเงอนไขทระบ ซงเปนค าสงทส าคามาก

0ค าสง SELECT นเปนค าสงทมรปแบบในการใชงานทงาย และสามารถก าหนดเงอนไขในการเรยกดขอมลไดตามตองการ โดยใชเงอนไขทางตรรกศาสตรเขามา

412 342 Database

Design and Development

16

SELECT Student_ID , ScoreFROM STUDENT_COURSE WHERE (Course_ID = '412141') AND (Score >= 55 AND Score <= 65);

Page 17: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ขอมลชนดตรรกศาสตร (Boolean-Type Data)

0 เปนขอมลทแสดงคาความจรงของขอมลออกมาเปน 2 แบบ0ขอมลจรง (TRUE) และ ขอมลเทจ (FALSE)

0 โดยทวไปจะใชในการเปรยบเทยบนพจนทางตรรกศาสตร (Boolean Expressions) สามารถแบงนพจนทางตรรกศาสตรออกเปน 2 แบบ คอ0นพจนทางตรรกศาสตรทใชสญลกษณแสดงความสมพนธเปนตวเชมม0นพจนทางตรรกศาสตรทใชสญลกษณทางตรรกศาสตรเปนตวเชมม

412 342 Database

Design and Development

17

Page 18: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 นพจนทางตรรกศาสตรทใชสญลกษณแสดงความสมพนธเปนตวเชอม0เปนนพจนทประกอบดวยสวนของ Operands ซงเชอมดวย

Operator ซงเปนเครองหมายทแสดง ความสมพนธ(Relational Operators) หรอการเปรยบเทยบ

412 342 Database

Design and Development

18

Page 19: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

19

นพจนทางตรรกศาสตรทใชสญลกษณแสดงความสมพนธเปนตวเชอม

ตารางแสดงเครองหมายแสดงความสมพนธของขอมล

ความหมาย สญลกษณ ตวอยาง นพจน คาของนพจน

เทากบ X Y 5 6 FALSE

มากกวา X Y 6 5 TRUE

นอยกวา X Y 5/6 6/5 TRUE

นอยกวาหรอเทากบ

X Y 4 -4 FALSE

มากกวาหรอเทากบ

X Y 0.74 -

4/7TRUE

ไมเทากบ X Y 25 52 TRUE

zz

Page 20: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 นพจนทางตรรกศาสตรทใชสญลกษณทางตรรกศาสตรเปนตวเชอม

0เปนนพจนทประกอบดวยสวนของ Operands (ตวถกด าเนนการ)และ Operator (สญลกษณเพอด าเนนการ/Logical Operator)

412 342 Database

Design and Development

20

X Y

OperatorOperandsOperands

Page 21: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

สญลกษณ ความหมาย

AND ใชเชอม Operand ตงแต 2 Operand ขนไปซงนพจนจะเปนจรงกตอเมอทกๆ Operand จะตองเปน จรง

OR ใชเชอม Operand ตงแต 2 Operand ขนไป ซงนพจนจะเปนจรงกตอเมอ Operand ตวใดตวหนงหรอทกตวเปนจรง

NOT ใชน าหนา Operand ถาน าหนา Operand ทเปน จรง จะท าใหนพจนเปน เทจ แตถาน าหนา Operand ทเปนเทจจะท าใหนพจนเปน จรง

412 342 Database Design and Development 21

นพจนทางตรรกศาสตรทใชสญลกษณทางตรรกศาสตรเปนตวเชอม

Page 22: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 นพจนทางตรรกศาสตรทใชสญลกษณทางตรรกศาสตรเปนตวเชอม

AND

OP1 สญลกษณตรรก OP2 ผลลพธ ตวอยาง

T AND T T (30>10)AND (100>10)

T AND F F (30>10)AND (10>100)

F AND T F (1>10)AND (30>10)

412 342 Database Design and Development 22

Page 23: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 นพจนทางตรรกศาสตรทใชสญลกษณทางตรรกศาสตรเปนตวเชอม

NOT

OP NOT(OP) ตวอยาง

T F NOT (2=2)

F T NOT (2=3)

OR

OP1 สญลกษณตรรก OP2 ผลลพธ ตวอยาง

T OR T T (30>10)OR (100>10)

T OR F T (30>10)OR (10>100)

F OR T T (3>10) OR (100>10)

F OR F F (3>10) OR (10>100)

412 342 Database Design and Development 23

Page 24: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 นพจนทางตรรกศาสตรทใชสญลกษณทางตรรกศาสตรเปนตวเชอม

0 ก าหนดให n = 5

412 342 Database Design and Development 24

นพจน คาของนพจน

(n 0) AND (n 7) True

T T

T

F

NOT(n 5) False

NOT(n 7) True

(n 2) OR (n 5) False

F F

Page 25: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 ค าสงทใชในการเรยกดขมมลมยางงาย (Simple Queries)

0 เปนรปแบบของค าสง SELECT ทสามารถเขยนไดงายทสด โดยจะประกอบดวยสวนหลกๆ 3 สวน และมรปแบบทวไป ดงน

412 342 Database

Design and Development

25

SELECT <ชอฟลดทตองการเรยกดขอมล>FROM <ชอตาราง>WHERE <เงอนไขตามทระบ>;

หมายเหต ถาตองการเรยกดขอมลในทกๆฟลดของตารางใหใชเครองหมายดอกจน ( * ) แทนชอฟลดทกฟลด

Page 26: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 ค าสงทใชในการเรยกดขมมลมยางงาย (Simple Queries)

0 ตวอยางของการเรยกดขอมลอยางงาย ดวยค าสง SELECT จากฐานขอมลทะเบยนนกศกษาเชนตองการเรยกดรายชอของนกศกษาทกคน (ตวอยางท 1.12)

412 342 Database

Design and Development

26

Page 27: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

412 342 Database

Design and Development

27

SELECT Student_NameFROM STUDENT;

ผลลพธ

ค าสง SQL เขยนดงน

Page 28: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0ค าสงทใชในการเรยกดขมมลมยางงาย (Simple Queries)

0 เชน ตองการทราบรหสนกศกษา และชอของนกศกษาทเปน “เพศหาง” (ตวอยางท 1.13 )

412 342 Database

Design and Development

28

SELECT Student_ID , Student_Name, SexFROM STUDENTWHERE Sex = 'F';

ผลลพธ

Page 29: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ค าสงทใชในการเรยกดขมมลมยางงาย (Simple Queries)

0 เชน ตองการทราบรหสนกศกษา และคะแนนสอบของนกศกษาทเรยนวชา “412141” และมคะแนนอยในชวง 55 ถง 65 คะแนน(ตวอยางท 1.15 )

0 ค าสง SQL เขยนดงน

412 342 Database

Design and Development

29

SELECT Student_ID , Score

FROM STUDENT_COURSE

WHERE (Course_ID = '412141')

AND (Score >= 55 AND Score <= 65);

Page 30: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 พจารณาเงอนไข WHERE (Course_ID = '412141‘)

AND (Score >= 55 AND Score <= 65);

412 342 Database Design and Development 30

ผลลพธ

Page 31: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ค าสงทใชในการเรยกดขมมลจากหลายตาราง (Multiple-Table

Queries)0ใชลกษณะของการเชอมโยงขอมลระหวางตาราง โดยตารางทตองการจะเรยกดขอมลนนๆ จ าเปนตองมฟลดทมการมางมงถงกนผานคยนมก (Foreign Key) เพอเปนการเชอมโยงขอมลระหวางตาราง มรปแบบทวไปดงน

412 342 Database

Design and Development

31

SELECT <ชอตาราง>.<ชอฟลดทตองการ>, ….FROM <ชอตารางท 1>,<ชอตารางท 2>WHERE <เงอนไขตามทระบ>AND <ชอตารางท 1.ชอฟลด> = <ชอตารางท 2.ชอฟลด>;

Page 32: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ตวอยางท 1.18 ตองการทราบรหสนกศกษาและชอนกศกษาทสงกดคณะ“วทยาศาสตร”

0 วเคราะหโจทย01 รหสนกศกษาและชอนกศกษา STUDENT.student_id, student_name02 คณะ “วทยาศาสตร” FACULTY.Fac_Name03 Foreign key ทเชอม 2 ตาราง STUDENT.Fac_ID = FACULTY.Fac_ID

412 342 Database

Design and Development

32

Student

Faculty

Page 33: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

จาก Data Dic ของ Student, Faculty

412 342 Database Design and

Development33

Page 34: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

เชอมตารางโดยการเพมขอก าหนด Foreign Key

0ค าสงแกไขการก าหนด Foreign key

412 342 Database Design and

Development34

ALTER TABLE ตารางหลก

ADD FOREIGN key (ฟลดทหลก )

REFERENCES ตาราง Foreign (ฟลด Foreign );

ALTER TABLE studentADD FOREIGN KEY (fac_ID)REFERENCES Faculty (fac_ID);

Page 35: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0ใชค าสงเลอกขอมลตาง Table ทถกเชอมกน

412 342 Database

Design and Development

35

SELECT Student_ID , student_Name,faculty.fac_name

FROM STUDENT , FACULTYWhere fac_name='sciences'AND STUDENT.Fac_ID = FACULTY.Fac_ID;

Page 36: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0ล าดบการท างานหลงรนค าสง SQL

01.ท างานตามประโยค From02.ท างานตามประโยค Where03.ท างานตามประโยค Select

412 342 Database

Design and Development

36

Page 37: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 ตวอยางท 1.20 ตองการทราบรหสนกศกษาและชอนกศกษาทสงกดอยคณะ“มนษยฯ” และลงทะเบยนรายวชา “412102”

0 วเคราะหโจทย01 รหสนกศกษา STUDENT.STUDENT_ID02 ชอนกศกษา STUDENT.STUENT_NAME03 คณะมนษยฯ FACULTY.FAC_NAME = ‘Humanities and Social Sciences’04 รายวชา “412102” STUDENT_COURSE.COURSE_ID = ‘412102’

412 342 Database

Design and Development

37

Page 38: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ตองเชอมตาราง

412 342 Database Design and

Development38

Student

Student_course

Faculty

ALTER TABLE student ADD FOREIGN KEY (fac_ID)REFERENCES Faculty (fac_ID);

ALTER TABLE student_course ADD FOREIGN KEY(Student_ID)REFERENCES student (student_ID);

Page 39: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 ค าสง SQL เขยนดงน

412 342 Database

Design and Development

39

SELECT STUDENT.STUDENT_ID, STUDENT.STUDENT_NAME, FACULTY.FAC_NAME, STUDENT_COURSE.COURSE_ID

FROM STUDENT, FACULTY, STUDENT_COURSE

WHERE STUDENT_COURSE.COURSE_ID = '412141'AND FAC_NAME = 'HUMANITIES AND SOCIAL SCIENCES'AND STUDENT.FAC_ID = FACULTY.FAC_IDAND STUDENT.STUDENT_ID = STUDENT_COURSE.STUDENT_ID

ตวอยางท 1.20 ตองการทราบรหสนกศกษาและชอนกศกษาทสงกดอยคณะ “มนษยฯ” และลงทะเบยนรายวชา “412102”

Page 40: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 ล าดบการท างานหลงรนค าสง SQL

1. ท างานตามประโยค From

2. ท างานตามประโยค Where

3. ท างานตามประโยค Select

412 342 Database

Design and Development

40

Page 41: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

412 342 Database

Design and Development

41

FROM STUDENT , STUDENT_COURSE, FACULTY

WHERE STUDENT_COURSE.COURSE_ID = '412141'AND FAC_NAME = 'HUMANITIES AND SOCIAL SCIENCES'AND STUDENT.FAC_ID = FACULTY.FAC_IDAND STUDENT.STUDENT_ID = STUDENT_COURSE.STUDENT_ID

STUDENT_COURSE

STUDENT

FACULTY

Page 42: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

412 342 Database

Design and Development

42

การใชฟงกชน (Built-In Functions)

Page 43: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใชฟงกชน (Built-In Functions)

0 SQL จะมฟงกชนทางสถตเพอชวยในการค านวณกลมแถวขอมลของฟลดทระบในตาราง ซงประกอบดวยฟงกชนตางๆ ดงตอไปน

ฟงกชน ความหมาย

COUNT นบจ านวนแถวขอมลของคอลมนหรอฟลด

SUM หาผลรวมขอมลทเปนตวเลขของคอลมน

AVG หาคาเฉลยของขอมลทเปนตวเลขของคอลมน

MAX หาคาขอมลตวเลขทมากทสดของคอลมน

MIN หาคาขอมลตวเลขทนอยทสดของคอลมน

412 342 Database Design and Development 43

การใชฟงกชนจะใชในสวน SELECT หรอ HAVING เทานน

Page 44: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใชฟงกชน (Built-In Functions)

412 342 Database Design and Development 44

การใชฟงกชนจะใชในสวน SELECT หรอ HAVING เทานนโดยในสวนของ Select ถามการใชฟงกชนกบฟลดใด ฟลดอนๆก

จะตองมการใช ฟงกชนดวยเชนกน ไมเชนนนจะเกด Syntax Error ขน ซงหากเกด Syntax Error มทางแกไข 2 วธ

1. ใสฟงกชนใหกบฟลดทกฟลดท Select มา (ทงนในบางฟงกชนตองดทชนดของขอมลดวยจงจะใชได)

2. ใชค าสง Group by เขาชวย

Page 45: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใชฟงกชน (Built-In Functions)

0ตวอยางท 1.21 ตองการทราบคะแนนรวม คะแนนเฉลย คะแนนมากทสด และคะแนนนอยทสดของนกศกษาทลงทะเบยนเรยนรายวชา “412141”

0 เขยนค าสง SQL ไดดงน

412 342 Database

Design and Development

45

SELECT SUM(Score), AVG(Score), MAX(Score), MIN(Score)

FROM STUDENT_COURSE

WHERE Course_ID = '412141';

Page 46: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใชฟงกชน (Built-In Functions)

412 342 Database

Design and Development

46

ผลลพธคอ

SELECT SUM(Score) , AVG(Score) , MAX(Score) , MIN(Score)FROM STUDENT_COURSEWHERE Course_ID = “412141”;

Page 47: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0การใชฟงกชน (Built-In Functions)0ตวอยางท 1.23 ตองการทราบจ านวนรหสรายวชาทมนกศกษาลงทะเบยนเรยนทงหมด

0 เขยนค าสง SQL ไดดงน

412 342 Database

Design and Development

47

SELECT COUNT(DISTINCT Course_ID)

FROM STUDENT_COURSE;

Page 48: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0การใชฟงกชน (Built-In Functions)

412 342 Database

Design and Development

48

ผลลพธคอ

1

2

3

Page 49: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0ตวอยางท 1.24 ตองการทราบจ านวนนกศกษาทเกดในป พ.ศ. 2525 (1982)

412 342 Database

Design and Development

49

SELECT COUNT(*)

FROM STUDENT

WHERE Birthdate BETWEEN ‘1982-01-01’ AND ‘1982-12-31’;

Page 50: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

412 342 Database

Design and Development

50

ผลลพธคอ

SELECT COUNT(*)FROM STUDENTWHERE Birthdate BETWEEN ‘1983-01-01’ AND ‘1983-12-31’;

1

2

Page 51: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใช GROUP BY , ORDER BY และ HAVING

0 ค าสง GROUP BY , ORDER BY และ HAVING เปนค าสงเพมเตมทสามารถใชรวมกบค าสง SELECT ในการเรยกดขอมล

412 342 Database

Design and Development

51

Page 52: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 การใช GROUP BY

0ค าสง GROUP BY <ชอฟลด>0 เปนค าสงทใชในการจดกลมแถวขอมลตามฟลดทระบหลง

GROUP BY โดยขอมลทเหมอนกนจะถกจดใหอยกลมเดยวกน

412 342 Database

Design and Development

52

Page 53: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0การใช GROUP BY

0ตวอยางท 1.24 ตองการทราบรหสรายวชา และจ านวนของนกศกษาทไดเกรด “B” ในรายวชาแตละรายวชา

412 342 Database

Design and Development

53

SELECT Course_ID , count(student_id)

FROM STUDENT_COURSE

where grade = 'B'

group by course_id;

ผลลพธคอ

Page 54: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 การใช ORDER BY0 ค าสง ORDER BY <ชอฟลด> [DESC]

0ใชในกรณทตองการเรยงล าดบขอมลในฟลดหรอคอลมนใดๆ ทระบ 0ถาไมมการใชค าวา DESC ใน ORDER BY จะท าการเรยงล าดบขอมลจากนอยไปมาก

0ถามการใชค าวา DESC จะท าการเรยงล าดบจากมากไปนอย0ORDER BY สามารถใชในการเรยงล าดบฟลดหรอคอลมนทมากกวา 1 คอลมนไดอกดวย

412 342 Database

Design and Development

54

DESC=descending

Page 55: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใช ORDER BY

0 ตวอยางท 1.26 ตองการทราบรหสรายวชา และคะแนนสอบทมากทสดของรายวชาแตละรายวชา โดยเรยงล าดบจากมากไปนอย

412 342 Database

Design and Development

55

SELECT Course_ID , MAX(Score) 'Max_Score'FROM STUDENT_COURSEGROUP BY Course_IDORDER BY Max_Score DESC;

ผลลพธคอ

Page 56: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใช HAVING

0 ค าสง HAVING <ชมฟลด>

0ค าสง HAVING จะเหมอนกบค าสง WHERE ทตองตามดวยเงอนไข 0แต HAVING จะใชในกรณทมการจดกลมหรอการใชกบ GROUP BY เทานน

0ขอแตกตางระหวาง HAVING กบ WHERE คอ 0 HAVING จะใชในการก าจดกลมทไมตองการออก0 WHERE จะใชในการก าจดแถวทไมตองการออก

412 342 Database

Design and Development

56

Page 57: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)0 การใช HAVING

0 ตวอยางท 1.27 ตองการทราบรหสรายวชา และจ านวนนกศกษา โดยทรายวชานนๆ จะตองมนกศกษาลงทะเบยนเรยนมากกวา 1 คน

412 342 Database

Design and Development

57

SELECT Course_ID , COUNT(Student_ID)FROM STUDENT_COURSEGROUP BY Course_IDHAVING COUNT(Student_ID) > 1;

Page 58: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

412 342 Database

Design and Development

58

SELECT Course_ID , COUNT(Student_ID)FROM STUDENT_COURSEGROUP BY Course_IDHAVING COUNT(Student_ID) 1;

1

2

1

2

3

ผลลพธคอ

Page 59: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชส าหรบจดการขอมล (DML)

0 สรปล าดบการท างานหลงรนค าสง SQL

1. ท างานตามประโยค From

2. ท างานตามประโยค Where

3. ท างานตามประโยค Group by

4. ท างานตามประโยค Having

5. ท างานตามประโยค Select

6. ท างานตามประโยค Order by412 342 Database

Design and Development

59

Page 60: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชก าหนดโครงสรางหรอการนยามขอมล (Data Definition Language : DDL)

0 ค าสงในการสรางวว และลบวว0 ค าสงในการสรางวว

0จะใชค าสง CREATE VIEW แลวตามดวยชอววทตงขน และค าสง SELECT ทเปนค าสงดงขอมลบางสวนจากตารางจรงน าเปนสรางเปนวว รปแบบทวไป

412 342 Database

Design and Development

60

CREATE VIEW <ชอววทตงขน>

[(<ชอฟลด_1> , <ชอฟลด_2> , …)]

AS <ประโยคค าสง SELECT>;

Page 61: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชก าหนดโครงสรางหรอการนยามขอมล (Data Definition Language : DDL)

0ค าสงในการสรางวว และลบวว0 ตวอยางท 1.28 ตองการสรางววเกยวกบขอมลนกศกษาทลงทะเบยนเรยนรายวชา “412141”

412 342 Database Design and Development61

create view s412141 (Student_ID, student_Name,Fac_ID,Advisor,Grade,Score, Term)

as select STUDENT.Student_ID,STUDENT.student_Name,STUDENT.Fac_ID,Advisor,Grade,Score,Term

FROM STUDENT_COURSE, student

where course_id='412141'

and STUDENT.Student_ID = STUDENT_COURSE.Student_ID;

View เปน Virtual table ทสรางขนเพอใหเหนเฉพาะขอมลทตองการใหเหน

Page 62: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชก าหนดโครงสรางหรอการนยามขอมล (Data Definition Language : DDL)

0ค าสงในการสรางวว และลบวว0 ผลลพธคอ

412 342 Database

Design and Development

62

เมอไดววตามทตองการแลว เมอตองการจะปรบปรงขอมล ไมวาจะเปนการเพมการลบขอมลทอยในวว กจะใชค าสง SQL เชนเดยวกนกบตารางปกต แตใหเปลยนชอของตารางเปนชอววทสรางไว

Page 63: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ค าสงทใชก าหนดโครงสรางหรอการนยามขอมล (Data Definition Language : DDL)

0ค าสงในการสรางวว และลบวว

0 ค าสงในการลบวว

0 ค าสงในการลบวว กเชนเดยวกนกบค าสงในการลบตาราง แตเปลยนชมตารางใหเปนชมวว

รปแบบทวไป

412 342 Database

Design and Development

63

DROP VIEW <ชอววทตองการลบ>;

Page 64: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

แบบฝกหด

0 1. ตองการขอมลรหสประจ าตว,ชอ-นามสกล, ชอคณะทเรยน, ชออาจารยทปรกษา ของนกเรยนทกคน (ไมซ ารายชอ)

0 2. ตองการขอมลรหสประจ าตว,ชอ-นามสกล, คณะทเรยน, รหสวชา, ชอวชา ของนกเรยนทมผลการเรยน B+

0 3. ตองการทราบ รหสวชา, ชอ อจ, ชอหนงสอ (ไมซ ารายชอ)

0 สง link (ค าสง) งานท (14 กพ 57)

0 วชาเอก http://goo.gl/RSh89f

0 วชาโท http://goo.gl/xN9naa

0 ระบผมสทธเปด Link : [email protected] h

412 342 Database Design and

Development64

Page 65: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

การเชอมตารางดวย Foreign Key

0 การค าสงเพม เงอนไข Foreign key0 ALTER TABLE Tbl_nm1 ADD FOREIGN KEY(Fld_nm) REFERENCES Tbl_nm2 (Fld_nm);

0 ALTER TABLE student ADD FOREIGN KEY(Fac_ID) REFERENCES Faculty (Fac_ID);

Faculty

Student

ตารางหลก (foreign key)

ตารางน ามาเชอม

Page 66: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

ตองเชอม 7 ตาราง 6 ค าสงเชอม

412 342 Database Design and Development66

Student

Student_course

Faculty

Teacher

CourseTeaching

Book

Page 67: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

จากค าสงสามารถจ ารปแบบเพอเขยนพรอมๆ กนได

ALTER TABLE student ADD FOREIGN KEY(Fac_ID) REFERENCES Faculty (Fac_ID );ALTER TABLE student_course ADD FOREIGN KEY(………….) REFERENCES ……….. (………….);ALTER TABLE course ADD FOREIGN KEY(………….) REFERENCES ……….. (………….);ALTER TABLE Teacher ADD FOREIGN KEY(………….) REFERENCES ……….. (………….);ALTER TABLE Teacher ADD FOREIGN KEY(………….) REFERENCES ……….. (………….);ALTER TABLE Teacher ADD FOREIGN KEY(………….) REFERENCES ……….. (………….);

Page 68: Lecture 4 : การพัฒนาระบบฐานข้อมูล (Database System ... DML58.pdf · 0นิพจน์ทางตรรกศาสตร์ที่ใช้สัญลักษณ์ทางตรรกศาสตร์เป็นตัวเชื่อม

Relation of Registration table

Student

Faculty

Teacher

ALTER TABLE studentADD FOREIGN KEY(Fac_ID)REFERENCES Faculty (Fac_ID);

Teaching

CourseALTER TABLE TeacherADD FOREIGN KEY(Fac_ID)REFERENCES Faculty (Fac_ID);

Student_course

Book