ฐานข้อมูลเชิงสัมพันธ์

11

Click here to load reader

Upload: skiats

Post on 23-Jun-2015

1.249 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ฐานข้อมูลเชิงสัมพันธ์

ฐานขอมูลเชิงสัมพันธ (Relation Data Model)

เน้ือหา

2.1 องคประกอบ

2.2 ความสัมพันธ

2.3 คีย

2.4 เคารางของฐานขอมูล

2.5 คาวาง

2.6 กฎที่เก่ียวของ

2.7 กระบวนการในการจดัการขอมลู

2.8 Relational Algebra

ฐานขอมูลเชิงสัมพันธ ถูกคิดคนและพัฒนาโดย อี เอฟ คอดด (E.F.Codd) เปนรูปแบบของฐานขอมูลที่นิยมใชกันมาก

ในปจจุบัน เน่ืองจากการใชงานงาย ไมยุงยาก สลับซับซอน รวมทั้งการมีเคร่ืองมือชวยในการจัดการขอมูลอยางเชน

คําส่ัง SQL ตัวอยางของระบบเชน DB2, Oracle, Ingree, dBase, Foxpro, Access

ฐานขอมูลเชิงสัมพันธ มีลักษณะของการจัดเก็บรวบรวมขอมูลในลักษณะตารางสองมิติซ่ึงประกอบดวยแถว

และคอลัมน ซ่ึงขอมูลเหลาน้ีจะมีความสัมพันธระหวางกัน

2.1 องคประกอบ

(1) รีเลชั่น (Relation) เรียกอีกอยางหน่ึงวา ตาราง (Table) หมายถึง หนวยที่ใชในการจัดเก็บขอมูลในรูปของตาราง

ซ่ึงประกอบดวยแถวและคอลัมน

(2) ระเบียน (Record) หมายถึง คาของขอมูลที่อยูในแตละแถว ทูเพิลแตละคาเปรียบไดเหมือนกับขอมูล 1 รายการ

(3) ฟลด (Field) หมายถึง คาในแนวคอลัมน ซ่ึงเปนรายละเอียดหรือคุณสมบัติของขอมูล แตละคุณสมบัติจะมีชื่อ

เรียกและคาของฟลดที่แตกตางกัน

ตัวอยาง 2.1

พนักงาน แผนก

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก รหสัแผนก ชื่อแผนก

00001 สมบรูณ สุขมาก M 10,000 01 01 การเงนิ

00002 สมเกียรต ิ เจริญพร M 8,000 02 02 คอมพวิเตอร

00003 จันจิรา แจงเกิด F 12,000 03 03 การตลาด

00004 นํ้าฝน มวงทอง F 9,500 01

2

Page 2: ฐานข้อมูลเชิงสัมพันธ์

2

2.2 รีเลชั่น (Relation)

คุณสมบตั ิ

(1) ขอมูลในแตละแถวจะไมซํ้ากัน

ขอมูลที่จัดเก็บอยูในแตละแถวจะไมมีขอมูลที่ซํ้ากัน โดยระบบการจัดการฐานขอมูลจะมีกลไกปองกันไมใหมีความ

ซํ้าซอนกันเกิดขึน้ เชน รหสัพนักงาน

(2) ไมมีการกําหนดลําดับที่ใหกับแถวแตละแถว

การจัดเก็บขอมูลจะถูกจัดเรียงตามลําดับลงบนส่ือเก็บขอมูล ในการเรียกใชสามารถเรียกใชขอมลูใด ๆ กอนหลังได

ตามความตองการ

(3) ไมมีการกําหนดลําดับใหกับฟลด

การอางถงึฟลดใด ๆ จะใชชื่อของฟลดในการอางถึง ไมไดใชลําดับที่ที่ฟลดน้ันปรากฏอยูในความสัมพันธ

(4) คาของขอมูลในแตละฟลดของระเบียนจะบรรจุขอมูลไดเพียงคาเดียว

ขอมูลในแตละฟลดจะตองบรรจุขอมูลเพียงคาเดียว ไมใชกลุมของขอมูลซ่ึงเรียกวา Repeating Group ในการแกไข

จะตองแยกขอมูลที่เปน Repeating Group ออกโดยการสรางระเบียนใหม

ตัวอยาง 2.2

ตาราง 1 : พนักงาน

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก

00001 สมบรูณ สุขมาก M 10,000 01, 03

00002 สมเกียรต ิ เจริญพร M 8,000 02

ตาราง 2 : พนักงาน

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก

00001 สมบรูณ สุขมาก M 10,000 01

00001 สมบรูณ สุขมาก M 10,000 03

00002 สมเกียรต ิ เจริญพร M 8,000 02

(5) คาของขอมูลในแตละฟลดจะตองเก็บขอมูลประเภทเดียวกัน

ตัวอยาง 2.3

พนักงาน

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก

00001 สมบรูณ สุขมาก M 10,000 01

M สมเกียรต ิ เจริญพร 00002 8,000 02

Page 3: ฐานข้อมูลเชิงสัมพันธ์

3

(6) ชื่อของแตละฟลดจะตองไมซํ้ากัน

ประเภทของความสัมพันธ

(1) ความสัมพันธหลัก (Base Relation)

ความสัมพันธที่ถูกกําหนดขึ้นเพื่อเก็บขอมูลไวในฐานขอมูล และนําขอมูลน้ันไปใชงานตอ ซ่ึงจะเปนตารางที่มีการ

จัดเก็บขอมูลจริงไวในฐานขอมูล

(2) วิว (View)

ความสัมพันธที่ถูกสรางขึ้นตามความตองการของผูใชแตละคน เพราะผูใชแตละคนอาจจะมีความตองการใชขอมูลใน

ลักษณะที่แตกตางกัน ความสัมพันธน้ีจะไมมีการเก็บขอมูลจริง ๆ ในระบบ แตจะเปนตารางสมมต ิ

ตัวอยาง 2.4

พนักงาน แผนก

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก รหสัแผนก ชื่อแผนก

00001 สมบรูณ สุขมาก M 10,000 01 01 การเงนิ

00002 สมเกียรต ิ เจริญพร M 8,000 02 02 คอมพวิเตอร

00003 จันจิรา แจงเกิด F 12,000 03 03 การตลาด

00004 นํ้าฝน มวงทอง F 9,500 01

1. แสดงขอมลูเฉพาะของพนักงานรหสั 00001 - 00002

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก

2. แสดงขอมูลรหัส, ชื่อ, นามสกุลและแผนกของพนักงานแตละคน

รหสั ชื่อ นามสกุล แผนก

2.3 คีย (Key)

คุณสมบัติหน่ึงที่สําคัญของความสัมพันธก็คือ ความเปนเอกลักษณ (Uniqueness property) ส่ิงที่ใชกําหนดความเปน

เอกลักษณของแถวในความสัมพนัธ เรียกวา คีย (key)

คีย หมายถึง ฟลดที่มีลักษณะเฉพาะตัว เพื่อใชในการแสดงหรือบงบอกถึงคาของฟลดอ่ืน ๆ ในทเูพลิใด ๆ

เพื่อทําใหขอมูลในแตละทูเพิลมีคาไมซํ้ากัน และสามารถใชในการอางถึงคาในความสัมพันธอ่ืน ๆ

Page 4: ฐานข้อมูลเชิงสัมพันธ์

4

คียหลัก (Primary Key)

ฟลดที่มีคุณสมบัติของขอมูลที่เปนคาที่ไมซํ้ากัน ทําใหสามารถระบุไดวาขอมูลน้ันเปนขอมูลของทูเพิลใด

ฟลดที่มีคุณสมบัติเปนคียหลักอาจประกอบดวยหลายฟลดรวมกัน เรียกวา คียผสม (Composite Key) เน่ืองจากเมือ่

นําฟลดแตละตัวมาประกอบกันจะไดคาที่เปนเอกลักษณและไมซํ้าซอนกัน

ตัวอยาง 2.5

ตาราง 1 : ลูกคา ตาราง 2 : ลูกคา

ชื่อ ที่อยู นามสกุล ชื่อ รหสั นามสกุล ที่อยู

สมบรูณ สุขมาก กรุงเทพฯ C001 สมบรูณ สุขมาก กรุงเทพฯ

สมเกียรต ิ ใจดี นครสวรรค C002 สมเกียรต ิ ใจดี นครสวรรค

สมบรูณ ใจดี นครสวรรค C003 สมบรูณ ใจดี นครสวรรค

คียหลัก = ชื่อ + นามสกุล คียหลัก = รหสั

ตัวอยาง 2.6

ตาราง 1 : วิชา ตาราง 2 : นักศกึษา

รหัสวิชา ชื่อวิชา รหสันักศกึษา ชื่อ นามสกุล รหัสคณะ

A001 คณิตศาสตร S001 สมบรูณ สุขมาก 01

A002 อังกฤษ S002 สมเกียรต ิ เจริญพร 02

A003 ภาษาไทย S003 สมบรูณ ใจดี 03

ตาราง 3 : ลงทะเบียน ตาราง 4 : คณะ

รหสันักศกึษา รหัสวิชา เกรด รหัสคณะ ชื่อคณะ

S001 A001 4 01 บริหารธรุกิจ

S001 A002 3 02 นิตศิาสตร

S002 A001 2 03 วิทยาศาสตร

คียนอก (Foreign Key)

ฟลดในความสัมพันธหน่ึงซ่ึงใชในการอางถึงคียหลักในอีกความสัมพันธหน่ึง คียนอกจะใชในการเชื่อมโยงขอมูล

ระหวางความสัมพันธเขาดวยกัน คียนอกสามารถเปนคียหลักได

จุดมุงหมายของระบบฐานขอมูลเชิงสัมพันธ เพื่อไมใหฐานขอมูลมีขอมูลที่ซํ้าซอนกัน ทําใหขอมูลถูกจัดเก็บ

อยูในความสัมพันธตาง ๆ ที่มีโครงสรางในระดับยอยที่สุด โดยกําหนดความสัมพันธระหวางความสัมพันธตาง ๆ เพื่อ

สามารถอางถึงขอมูลในความสัมพันธอ่ืน ๆ ได

จากตัวอยาง 2.6

ตารางนักศกึษา คียนอก = รหัสคณะ เชื่อมกับ รหัสคณะของ ตารางคณะ ตารางลงทะเบียน คียนอก = รหัสนักศึกษา เชื่อมกับ รหัสนักศึกษาของ ตารางนักศึกษา

คียนอก = รหัสวิชา เชื่อมกับ รหัสวิชาของ ตารางวิชา

Page 5: ฐานข้อมูลเชิงสัมพันธ์

5

ตัวอยาง 2.7

ตาราง 1 : พนักงาน ตาราง 2 แผนก ตาราง 3 : ฝาย

ชื่อ รหสั รหสั

แผนก

ชื่อแผนก รหสั

แผนก

รหสัฝาย ชื่อฝาย รหสัฝาย

0001 สมบรูณ 01 01 ธรุการ 1 1 บริหาร

0002 สมเกียรต ิ 02 02 บุคคล 1

พนักงาน ชื่อ รหสั นามสกุล เพศ เงนิเดือน รหัสผูจัดการ

00001 สมบรูณ สุขมาก M 10,000 00003

00002 สมเกียรต ิ เจริญพร M 8,000 00003

00003 จันจิรา แจงเกิด F 12,000 -

00004 นํ้าฝน มวงทอง F 9,500 00003

2.4 เคารางของฐานขอมูล (Relational Database Schema)

รายละเอียดเก่ียวกับฐานขอมูล วาประกอบดวยความสัมพันธ และฟลดอะไรบาง

ตัวอยาง 2.8

พนักงาน

ชื่อ รหสั นามสกุล เพศ เงนิเดือน รหัสผูจัดการ

หรือ

พนักงาน ( รหสั, ชื่อ, นามสกุล, เพศ, เงนิเดือน, รหัสผูจัดการ )

แบบฝกหัด 2.1 หาคาของคียหลักและคียนอกของฐานขอมูลในแตละขอตอไปน้ี

1. โรงแรม ( รหสัโรงแรม, ชือ่โรงแรม, เมอืง )

หองพัก ( หมายเลขหอง, รหสัโรงแรม, ประเภทหอง, ราคา )

การเชาหอง ( รหสัโรงแรม, รหัสแขกที่พัก, วันเขาพัก, วนัออก, หมายเลขหอง )

แขกที่พัก ( รหัสแขกที่พัก, ชื่อแขกที่พัก, ที่อยู )

2. พนักงาน ( ชื่อ, นามสกุล, รหสัพนักงาน, วนัเกิด, ที่อยู, เพศ, เงนิเดือน, รหัสหัวหนา, รหัสแผนก )

แผนก ( ชื่อแผนก, รหัสแผนก, รหัสผูจัดการ )

ที่ตั้งแผนก ( รหัสแผนก, ที่ตั้งแผนก )

โครงการ ( ชือ่โครงการ, หมายเลขโครงการ, สถานที่, หมายเลขแผนก )

งานที่รับผิดชอบ ( รหสัพนักงาน, หมายเลขโครงการ, จํานวนชั่วโมง )

Page 6: ฐานข้อมูลเชิงสัมพันธ์

6

2.5 คาวาง (Null)

ขอมูลที่จัดเก็บอยูในฐานขอมูล ในบางคร้ังขอมูลที่ถูกจัดเก็บอาจจะไมครบถวน ซ่ึงอาจเกิดจากการกรอกขอมลูไมครบ

หรือจัดเก็บขอมูลไมดีพอ แตเน่ืองจากทุกฟลดในฐานขอมูลจะตองมีคา จึงไดมีการกําหนดคาสําหรับขอมูลที่ไม

สามารถระบคุาได เรียกวา Null

ตัวอยาง 2.9

พนักงาน

รหสั ชื่อ นามสกุล เพศ จาํนวนบตุร วนัเกิด

00001 สมบรูณ สุขมาก M 3 1/8/2507

00002 สมเกียรต ิ เจริญพร M Null

2.6 กฎที่เก่ียวของ

(1) กฎความบรูณภาพ / คงสภาพของเอนทติี ้(The Entity Integrity Rule)

ฟลดที่เปนคียหลัก ขอมูลในฟลดจะตองเปนคาที่เปนเอกลักษณ ไมมีคาซํ้า และจะตองไมเปนคาวาง เน่ืองจากคีย

หลักจะใชในการระบุขอมูลแตละทูเพิล ถาขอมูลในคียหลักเปนคาวาง ทําใหเกิดปญหาทูเพิลที่มีคียหลักซํ้ากัน

ตัวอยาง 2.10

พนักงาน

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก

00001 สมบรูณ สุขมาก M 10,000 01

Null สมเกียรต ิ เจริญพร M 8,000 02

Null จันจิรา แจงเกิด F 12,000 02

00004 นํ้าฝน มวงทอง F 9,500 Null

(2) กฎความบรูณภาพ / คงสภาพของการอางอิง (The Referential Integrity Rule)

ความสัมพันธใดที่มีคียนอก ขอมูลที่เปนคียนอกจะตองเปนขอมูลที่มีอยูในคียหลักของอีกความสัมพันธหน่ึง ไมเชนน้ัน

อาจจะเปนคาวาง ซ่ึงหมายถึงวาไมมีขอมูลในสวนน้ัน

ตัวอยาง 2.11

พนักงาน แผนก

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก รหสัแผนก ชื่อแผนก

00001 สมบรูณ สุขมาก M 10,000 01 01 การเงนิ

00002 สมเกียรต ิ เจริญพร M 8,000 02 02 คอมพวิเตอร

00003 จันจิรา แจงเกิด F 12,000 04 03 การตลาด

00004 นํ้าฝน มวงทอง F 9,500 Null

Page 7: ฐานข้อมูลเชิงสัมพันธ์

7

2.7 กระบวนการในการจัดการขอมูล

(1) เพิ่มขอมูล (Insert Operations)

(2) การลบขอมลู (Delete Operation)

(3) การแกไขขอมลู (Update Operation)

ตัวอยาง 2.12

พนักงาน แผนก

รหสั ชื่อ นามสกุล เพศ เงนิเดือน รหัสแผนก รหสัแผนก ชื่อแผนก

00001 สมบรูณ สุขมาก M 10,000 01 01 การเงนิ

00002 สมเกียรต ิ เจริญพร M 8,000 02 02 คอมพวิเตอร

00003 จันจิรา แจงเกิด F 12,000 03 03 การตลาด

00004 นํ้าฝน มวงทอง F 9,500 01

1. เพิ่มขอมูล

Null สมชาย สุขดี M 10,000 01

00003 สมชาย สุขดี M 10,000 01

00005 สมชาย สุขดี M 10,000 04

00005 สมชาย สุขดี M 10,000 01

2. ลบขอมูล

2.1 ลบ "แผนก" รหัสแผนก = "03"

2.2 ลบ "แผนก" รหัสแผนก = "02"

3. แกไขขอมูล

3.1 แกไขเงนิเดือนของ 00001 เปน 12,000

3.2 รหสัแผนกของ 00002 เปน 03

3.3 รหสัแผนกของ 00002 เปน 05

3.4 รหสัของ 00002 เปน 00004

2.8 Relational Algebra

Relational Algebra ใชในการจดัการขอมลูโดยระบตุวักระทาํ (operand) กับความสัมพันธที่ตองการจัดการ และจะได

ผลลัพธออกมาเปนความสัมพันธใหม

• Selection (σ ).

• Projection (π )

• Join ( )

Page 8: ฐานข้อมูลเชิงสัมพันธ์

8

Selection

แสดงขอมลูทกุฟลดในตารางตามเงื่อนไขที่กําหนด ใชสัญลักษณ σ (sigma)

σ เง่ือนไข ชื่อตาราง

ในการระบเุงือ่นไขสามารถทาํไดโดยใชเคร่ืองหมายในการเปรียบเทยีบและตวักระทาํทางตรรกะรวมกันได

• เคร่ืองหมายเปรียบเทียบ ไดแก = (เทากับ), ≠(ไมเทากับ), < (นอยกวา), ≤(นอยกวาหรือเทากับ), >

(มากกวา), ≥ (มากกวาหรือเทากับ)

• ตวักระทาํทางตรรกะ ไดแก ∧ (and) ∨ (or) ¬ (not)

ตัวอยาง 2.13

1. แสดงขอมูลจากตารางสินคา สําหรับสินคาที่มีราคามากกวา 100 บาท

σ ราคา > 100 สินคา

2. แสดงขอมลูจากตารางพนักงาน สําหรับพนักงานทีม่อีายมุากกวา 30 ป และเงินเดือนนอยกวา 5,000 บาท

σ อายุ > 30 ∧ เงินเดอืน < 5000 พนักงาน

แบบฝกหัด 2.2 สราง Relational Algebra และแสดงผลลัพธในรูปของตาราง

ตาราง : Player2000 ตาราง : Player2001

ชื่อ ตําแหนง อายุ สวนสูง นํ้าหนัก ชื่อ ตําแหนง อายุ สวนสูง นํ้าหนัก

สุเมธ กองหนา 26 183 82 เอกพจน ปกขวา 20 180 78

ผลดี ปกซาย 21 175 78 ชาตชิาย กองหลัง 30 169 71

ชาตชิาย กองหลัง 30 169 71

กองเกียรต ิ กองกลาง 24 180 78

1. แสดงขอมูลของผูเลนจากตาราง Player2000 ที่มีสวนสูงมากกวา 178 เซนตเิมตร

2. แสดงขอมูลของผูเลนจากตาราง Player2000 ที่มีสวนสูงมากกวา 178 เซนตเิมตรและอยูในตาํแหนงกองหนา

Projection

แสดงขอมลูเฉพาะบางฟลดจากตาราง โดยจะแสดงทกุรายการ ใชสัญลักษณ π (pi)

π ช่ือฟลด ชือ่ตาราง

ตัวอยาง 2.14 แสดงขอมูลเฉพาะรหัสสินคาและชื่อสินคาจากตารางสินคา

π รหัสสนิคา, ช่ือสินคา สินคา

Page 9: ฐานข้อมูลเชิงสัมพันธ์

9

แบบฝกหัด 2.3

สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการแสดงเฉพาะขอมูล นํ้าหนักและสวนสูงจากตาราง

Player2000 ในแบบฝกหัด 2.2

Selection & Projection

Selection และ Projection สามารถนํามาใชรวมกันในการแสดงขอมลูเฉพาะบางฟลดจากตารางตามเงือ่นไขทีก่าํหนด

ตัวอยาง 2.15 แสดงขอมูลเฉพาะรหัสสินคาและชื่อสินคาสําหรับสินคาที่มีราคามากกวา 100 จากตารางสินคา

π รหัสสนิคา, ช่ือสินคา (σ ราคา > 100 สินคา )

แบบฝกหัด 2.4

สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการแสดงเฉพาะขอมูล นํ้าหนักและสวนสูงของผูเลนที่มี

สวนสูงมากกวา 178 เซนตเิมตร จากตาราง Player2000

Join

การเชือ่มขอมูลจากตารางตาง ๆ เขาดวยกัน โดยเชื่อมผานทางฟลดที่เหมือนกันของทั้งสองตาราง

R1 ช่ือฟลด R2

แบบฝกหัด 2.5

ตาราง 1 : บริษัท ตาราง 2: วสัดุ

รหสั ชื่อ สถานะ จังหวัด รหสั ชื่อ จังหวัด

S1 ก.การชาง 20 กรุงเทพฯ P1 เหล็ก กรุงเทพฯ

S2 ส.ซัพพลาย 10 นครสวรรค P2 ปนูซีเมนต นครสวรรค

S3 แมชชีน 30 กรุงเทพฯ P3 กระเบื้อง นครสวรรค

สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการเชือ่มขอมลูจากตาราง บริษทัเขากับตารางวสัดุ

ผานทางฟลดจังหวัด

รหสั ชื่อ สถานะ จังหวัด รหสั ชื่อ

Page 10: ฐานข้อมูลเชิงสัมพันธ์

10

แบบฝกหัดทายบท

1. หาคาของคียหลักและคียนอก เมือ่กําหนดเคารางของฐานขอมลู ดังน้ี

สาขา ( รหสัสาขา, ที่อยู, เมอืง, รหัสไปรษณีย )

พนักงาน ( รหสัพนักงาน, ชื่อ, นามสกุล, ตําแหนง, เพศ, เงนิเดือน, รหสัสาขา )

หองเชา ( รหัสหองเชา, ที่อยู, เมอืง, คาเชา, รหสัเจาของ, รหสัพนักงาน, รหสัสาขา )

ลูกคา ( รหัสลูกคา, ชื่อ, นามสกุล, โทรศัพท )

เจาของ ( รหสัเจาของ, ชื่อ, นามสกุล, ที่อยู, โทรศัพท )

การเขาชม ( รหัสลูกคา, รหัสหองเชา, วันที่ )

การเชา ( รหัสลูกคา, รหสัสาขา, รหสัพนักงาน, วันที่ )

2. กําหนดตาราง “พนักงานขาย” ดังน้ี

รหสัพนักงาน ชื่อพนักงาน ที่อยู อัตราคานายหนา

1001 ชัยวัฒน กรุงเทพฯ 0.12

1002 ไมตรี ภูเก็ต 0.13

1004 เบญจวรณ กรุงเทพฯ 0.11

1007 กาญจนา เชียงใหม 0.15

1003 เตอืนใจ นนทบรุี 0.10

สราง Relational Algebra และแสดงผลลัพธในรูปของตารางสําหรับแตละขอตอไปน้ี

2.1 แสดงขอมลูของพนักงานทีม่อัีตราคานายหนามากกวา 0.13

2.2 แสดงขอมูลของพนักงานที่มีรหัสมากกวา 1002 และอัตราคานายหนานอยกวา 0.15

2.3 แสดงรหสัพนักงานและอัตราคานายหนาของพนักงานทัง้หมด

2.4 แสดงรหสัพนักงานและอัตราคานายหนาของพนักงานทีม่อัีตราคานายหนานอยกวา 0.13

2.5 แสดงชือ่พนักงานของพนักงานทีอ่ยูในกรุงเทพฯ

การบาน 2

1. หาคาของคียหลักและคียนอกจากเคารางของฐานขอมูลในแตละขอตอไปน้ี สําหรับคียนอกใหระบุตารางที่คียนอก

เชือ่มดวย

1.1 พนักงาน (รหสัพนักงาน, ชื่อ, ที่อยู, โทรศัพท)

การทาํงาน (รหสัพนักงาน, รหัสบริษัท, เงนิเดือน)

บริษัท (รหัสบริษัท, ชื่อบริษัท, ที่อยู, โทรศัพท)

ผูจัดการ (รหัสผูจัดการ, รหสัพนักงาน)

1.2 คณะ (รหัสคณะ, ชื่อ, โทรศัพท, โทรสาร, รหัสคณบดี)

บคุลากร (รหสับคุลากร, ชื่อ)

วิชาที่เปดสอน (รหัสคณะ, รหัสวิชา)

วิชา (รหัสวิชา, ชื่อ, คําอธิบาย)

นักศกึษา (รหสันักศกึษา, ชื่อ, ที่อยู)

ลงทะเบียน (รหสันักศกึษา, รหัสคณะ, รหัสวิชา)

Page 11: ฐานข้อมูลเชิงสัมพันธ์

11

2. สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการเชื่อมตาราง “พนักงาน” เขากับตาราง “แผนก”

ผานทางฟลด “รหัสแผนก”

พนักงาน แผนก

ชื่อ สาขา รหัสแผนก เงินเดือน รหัสแผนก สาขา โทรศพัท

สิทธิ 400 CS 45000 CS 404 555-1212

สมาน 220 Econ 35000 Econ 200 555-1234

เกียรต ิ 160 Econ 50000 Fin 501 555-4321

สมชาย 420 CS 65000 Hist 100 555-9876

กาญจนา 500 Fin 60000