Back to Home

DataBase System

Lesson123456791011131415

Lesson 12 : Database Sucurity



Lesson Plan
Section No.
Section 1
Section 2
Section 3
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

ลักษณะส่วนรวมของวิว(View)

การสร้างวิวเพื่อใช้งานมีหลายลักษณะ ตัวอย่างที่เช่น วิวทางระดับ (horizontal views) วิวทางดิ่ง (vertical views) วิวทางระดับและทางดิ่ง (row/column subset views) วิวกลุ่ม (grouped views) และ วิวร่วม (joined views) สำหรับวิว 3 ลักษณะแรกได้แก่ วิวทางระดับ วิวทางดิ่ง วิวทางระดับและทางดิ่ง สามารถปรับปรุงข้อมูลผ่านวิวทั้ง 3 ลักษณะนี้ได้ แต่วิวกลุ่มไม่สามารถปรับปรุงข้อมูลผ่านวิวได้ สำหรับวิวร่วมถ้าเชื่อมวิวกันด้วยคีย์หลักของตารางก็สามารถปรับปรุงข้อมูลได้ ดังนี้

1.วิวทางระดับ

เป็นวิวที่เกิดจากการเลือกข้อมูลทุกคอลัมน์ เฉพาะบางแถว จากตารางข้อมูล ตาราง Demployer ที่แสดงในตารางที่ 12.3 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee ซึ่งเป็นวิวทางระดับดังแสดงในตารางที่ 12. 4 จะใช้คำสั่งดังนี้

CREATE VIEW Vemployee AS SELECT*

FROM Demployee

WHERE SALARY = ‘18000’;

EMP_ID

NAME

SURNAME

SEX

SALARY

DEPT_ID

1001

ธนา

ดีเลิศ

M

15,000

003

1002

ศิรินุช

รักเรียน

F

18,000

001

1003

ศิริชัย

พลาสัย

M

16,000

003

1004

ฉวีวรรณ

งานดี

F

18,000

002

1005

ประนอม

ร่าเริง

F

18,000

001

ตารางที่ 12.3 ตาราง Demployee

EMP_ID

NAME

SURNAME

SEX

SALARY

DEPT_ID

1002

ศิรินุช

รักเรียน

F

18,000

001

1004

ฉวีวรรณ

งานดี

F

18,000

002

1005

ประนอม

ร่าเริง

F

18,000

001

ตารางที่ 12. 4 วิว Vemployee

2.วิวทางดิ่ง

เป็นวิวที่เกิดจากการเลือกข้อมูลจากบางคอลัมน์ ทุกแถวของข้อมูล ของตารางข้อมูล วิวทางดิ่ง จากข้อมูลในตาราง Demployee ที่แสดงในตารางที่ 12.3 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee เป็นวิวทางดิ่งมีข้อมูลดังแสดงในตารางที่ 12.5

CREATE VIEW Vemployee

AS SELECT EMP_ID, NAME, SURNAME, SALARY FROM Demployee;

EMP_ID

NAME

SURNAME

SEX

SALARY

DEPT_ID

1001

ธนา

ดีเลิศ

M

15,000

003

1002

ศิรินุช

รักเรียน

F

18,000

001

1003

ศิริชัย

พลาสัย

M

16,000

003

1004

ฉวีวรรณ

งานดี

F

18,000

002

1005

ประนอม

ร่าเริง

F

18,000

001

ตารางDemployee

EMP_ID

NAME

SURNAME

SALARY

1001

ธนา

ดีเลิศ

15,000

1002

ศิรินุช

รักเรียน

18,000

1003

ศิริชัย

พลาสัย

16,000

1004

ฉวีวรรณ

งานดี

18,000

1005

ประนอม

ร่าเริง

18,000

ตารางที่ 12. 5 วิว Vemployee เป็นวิวทางดิ่งที่สร้างจากตาราง Demployee

3.วิวทางระดับและทางดิ่ง

เป็นวิวที่เกิดจากการเลือกข้อมูลจากบางแถวและบางคอลัมน์ของตารางข้อมูล วิวทางระดับและทางดิ่ง จากข้อมูลในตาราง Demployee ที่แสดงในตารางที่ 12.3 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee เป็นวิวดิ่งมีข้อมูลดังแสดงในตารางที่ 12. 6 จะใช้คำสั่งดังนี้

CREATE VIEW Vemployee

AS SELECT EMP_ID, NAME, SURNAME, SALARY

FROM Demployee

WHERE SALARY =’18,000’;

EMP_ID

NAME

SURNAME

SEX

SALARY

DEPT_ID

1001

ธนา

ดีเลิศ

M

15,000

003

1002

ศิรินุช

รักเรียน

F

18,000

001

1003

ศิริชัย

พลาสัย

M

16,000

003

1004

ฉวีวรรณ

งานดี

F

18,000

002

1005

ประนอม

ร่าเริง

F

18,000

001

EMP_ID

NAME

SURNAME

SALARY

1002

ศิรินุช

รักเรียน

18,000

1004

ฉวีวรรณ

งานดี

18,000

1005

ประนอม

ร่าเริง

18,000

ตารางที่ 12. 6 วิว Vemployee เป็นวิวทางระดับและดิ่ง

4.วิวกลุ่ม

เป็นการเลือกข้อมูลโดยจัดให้เป็นกลุ่มๆ ดังนั้นจึงเลือกข้อมูลจากตารางข้อมูล ด้วยคำสั่งที่มีเงื่อนไข GROUP BY หรือ ORDER BY จากข้อมูลในตาราง Demployee ในตารางที่ ถ้าต้องการนำมาสร้างเป็นวิว Vemployee-count-by-salary เป็นวิวกลุ่มที่สรุปจำนวนของพนักงานที่มีเงินเดือนที่เท่ากัน ดังแสดงในตารางที่ 12. 7 จะใช้คำสั่งดังนี้

CREATE VIEW Vemployee_count_by_salary(SALARY,COUNT)

AS SELECT SALARY, COUNT(*)

FROM Demployee

GROUP BY SALARY ;

EMP_ID

NAME

SURNAME

SEX

SALARY

DEPT_ID

1001

ธนา

ดีเลิศ

M

15,000

003

1002

ศิรินุช

รักเรียน

F

18,000

001

1003

ศิริชัย

พลาสัย

M

16,000

003

1004

ฉวีวรรณ

งานดี

F

18,000

002

1005

ประนอม

ร่าเริง

F

18,000

001

SALARY

COUNT(*)

15,000

1

18,000

3

16,000

1

ตารางที่ 12.7 วิว Vemployee_count_by_salary เป็นวิวแบบกลุ่ม

5.วิวร่วม

เป็นการเลือกข้อมูลจากหลายตารางข้อมูล หรือการเลือกข้อมูลผ่านหลายวิวก็ได้วิวร่วม จากข้อมูลในตาราง Demployee ที่แสดงในตารางที่12.3 และข้อมูลในตาราง Ddepatment ที่แสดงในตารางที่ 12.8 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee_dep แบบร่วมเพื่อให้ได้ข้อมูลดังแสดงในตารางที่ 12.9 จะใช้คำสั่งดังนี้

CREATE VIEW Vemployee_dep AS

SELECT EMP_ID, NAME, SURNAME, SALARY, DEPTNAME

FROM Demployee, Ddepatment

WHERE DEPT_ID = ‘001’

EMP_ID

NAME

SURNAME

SEX

SALARY

DEPT_ID

1001

ธนา

ดีเลิศ

M

15,000

003

1002

ศิรินุช

รักเรียน

F

18,000

001

1003

ศิริชัย

พลาสัย

M

16,000

003

1004

ฉวีวรรณ

งานดี

F

18,000

002

1005

ประนอม

ร่าเริง

F

18,000

001

DEPT_ID

DEPTNAME

001

ฝ่ายลูกค้าสัมพันธ์

002

ฝ่ายบุคคล

003

ฝ่ายการตลาด

ตารางที่ 12. 8 ตาราง Ddepatment

EMP_ID

NAME

SURNAME

SALARY

DEPTNAME

1002

ศิรินุช

รักเรียน

18,000

ฝ่ายลูกค้าสัมพันธ์

1005

ประนอม

ร่าเริง

18,000

ฝ่ายลูกค้าสัมพันธ์

ตารางที่ 12. 9 วิว Vemployee_dep เป็นวิวร่วม

 

 

Last Updated: 12/13/2001 11:20:53 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย