13
วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส.......................................... การออกแบบและการโปรแกรมฐานข้อมูลสาหรับวิศวกร ภาคเรีนที2/2558 1 7. ปฏิบัติการที7 การเรียกดูข้อมูลของตารางในฐานข้อมูล 7.1. จุดประสงค์ 1. เพื่อเรียนรู้สิทธิ์ผู้ใช้งานในฐานข้อมูลที่จาเป็นในการเรียกดูข้อมูลของตารางในฐานข้อมูล 2. เพื่อเรียนรู้ชุดคาสั่งพื้นฐานที่ใช้ในการเรียกดูข้อมูลของตารางในฐานข้อมูล 3. เพื่อเรียนรู้การเรียกดูข้อมูลของตารางในฐานข้อมูล 7.2. รายละเอียดของสิทธิ์ผู้ใช้งานในฐานข้อมูลที่จาเป็นในการเรียกดูตาราง ในการที่ผู้ใช้งานจะสามารถเรียกดูตารางในฐานข้อมูล ผู้จัดการฐานข้อมูลหรือเจ้าของตารางต้องทา การกาหนดสิทธิ์ให้แก่ผู้ใช้งานฐานข้อมูลนั้นๆ โดยผู้ใช้ในฐานข้อมูลจะถูกกาหนดสิทธิ์ของผู้ใช้งานดังนี1. สิทธิ์ผู้ใช้งานเพื่อการเรียกดูข้อมูลของตารางให้แกSchema ของตนเอง เนื่องจากเป็น Schema ของตนเอง ดังนั้นผู้ใช้งานจึงไม่ต้องมีสิทธิ์ผู้ใช้งานในฐานข้อมูลที่จาเป็นใดๆ เพิ่มเติมในการจัดการตาราง 2. สิทธิ์ผู้ใช้งานในส่วนของ Object Privilege เพื่อการจัดการข้อมูลของตารางให้แกSchema ของ ผู้ใช้งานอื่น เจ้าของ Schema ต้องให้สิทธิ์ผู้ใช้งานในส่วนของ Object Privilege ที่ชื่อ SELECT บนตาราง 3. สิทธิ์ผู้ใช้งานในส่วนของ System Privilege เพื่อการจัดการข้อมูลของตารางให้แกSchema ของผู้ใช้งานอื่น ผู้จัดการฐานข้อมูลต้องทาการกาหนดสิทธิ์ให้แก่ผู้ใช้งานในส่วนของ System Privilege ที่ชื่อ SELECT ANY TABLE

7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2558 1

7. ปฏิบัติการที่ 7 การเรียกดูข้อมูลของตารางในฐานข้อมูล

7.1. จุดประสงค ์1. เพ่ือเรียนรู้สิทธิ์ผู้ใช้งานในฐานข้อมูลที่จ าเป็นในการเรียกดขู้อมูลของตารางในฐานข้อมูล 2. เพ่ือเรียนรู้ชุดค าสั่งพ้ืนฐานที่ใช้ในการเรียกดขู้อมูลของตารางในฐานข้อมูล 3. เพ่ือเรียนรู้การเรียกดูข้อมูลของตารางในฐานข้อมูล

7.2. รายละเอียดของสิทธิ์ผูใ้ช้งานในฐานข้อมูลที่จ าเป็นในการเรียกดูตาราง ในการที่ผู้ใช้งานจะสามารถเรียกดูตารางในฐานข้อมูล ผู้จัดการฐานข้อมูลหรือเจ้าของตารางต้องท าการก าหนดสิทธิ์ให้แก่ผู้ใช้งานฐานข้อมูลนั้นๆ โดยผู้ใช้ในฐานข้อมูลจะถูกก าหนดสิทธิ์ของผู้ใช้งานดังนี้

1. สิทธิ์ผู้ใช้งานเพื่อการเรียกดขู้อมูลของตารางให้แก่ Schema ของตนเอง เนื่องจากเป็น Schema ของตนเอง ดังนั้นผู้ใช้งานจึงไม่ต้องมีสิทธิ์ผู้ใช้งานในฐานข้อมูลที่จ าเป็นใดๆเพ่ิมเติมในการจัดการตาราง

2. สิทธิ์ผู้ใช้งานในส่วนของ Object Privilege เพื่อการจัดการข้อมูลของตารางให้แก่ Schema ของผู้ใช้งานอื่น

เจ้าของ Schema ต้องให้สิทธิ์ผู้ใช้งานในส่วนของ Object Privilege ที่ชื่อ SELECT บนตาราง 3. สิทธิ์ผู้ใช้งานในส่วนของ System Privilege เพื่อการจัดการข้อมูลของตารางให้แก่ Schema

ของผู้ใช้งานอ่ืน ผู้จัดการฐานข้อมูลต้องท าการก าหนดสิทธิ์ให้แก่ผู้ใช้งานในส่วนของ System Privilege ที่ชื่อ SELECT ANY TABLE

Page 2: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2558 2

7.3. ชุดค าสั่งพ้ืนฐานที่ใช้ในการเรียกดูข้อมูลของตารางในฐานข้อมลู รายละเอียดชุดค าสั่งพ้ืนฐานที่ใช้ในการเรียกดขู้อมูลของตารางในฐานข้อมูล

Syntax พื้นฐาน

http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_10002.htm

Page 3: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 3

7.4. การเรียกดขู้อมลูของตารางในฐานข้อมูล 7.4.1. การเรียกดูข้อมูลของตารางในฐานข้อมูลผ่านทางโปรแกรมประยุกต์ Oracle

SQL Developer 1. ท าการรันโปรแกรมโดยไปท่ี <sqldeveloper_install>\sqldeveloper และ double-click ที่ไฟล์

sqldeveloper.exe.

2. ที่หน้าจอหลักของโปรแกรม ให้ไปยัง Connection และท าการเลือกที่ XE

3. ให้ท าการใส่รายละเอียดดังนี้ หัวข้อ รายละเอียด ตัวอย่าง <user> ชื่อของผู้ใช้งานที่ดูแลระบบ

ฐานข้อมูล system

<password> รหัสผ่านของผู้ใช้งานที่ดูแลระบบฐานข้อมูล

Passw0rd

Page 4: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 4

4. ตัวอย่างการเรียกดขู้อมูลบางส่วนของตารางพนักงานในฐานข้อมูล ท าการเรียกดูข้อมูลบางส่วนของตารางพนักงานโดยมีรายละเอียดดังต่อไปนี้

ค าสั่ง : SELECT FIRST_NAME, LAST_NAME FROM HR.EMPLOYEES;

Page 5: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 5

5. ตัวอย่างการเรียกดขู้อมูลทั้งหมดของตารางพนักงานในฐานข้อมูล ท าการเรียกดูข้อมูลทั้งหมดของตารางพนักงานโดยมีรายละเอียดดังต่อไปนี้

ค าสั่ง : SELECT * FROM HR.EMPLOYEES; หรือ SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID FROM HR.EMPLOYEES ;

Page 6: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 6

6. ตัวอย่างการเรียกดขู้อมูลแบบไม่ซ้ ากันของตารางพนักงานในฐานข้อมูล

ท าการเรียกดูชื่อพนักงานแบบไม่ซ้ ากันของตารางพนักงานโดยมีรายละเอียดดังต่อไปนี้ ค าสั่ง : SELECT DISTINCT FIRST_NAME FROM HR.EMPLOYEES ;

หมายเหตุ: จะเห็นได้ว่าชื่อพนักงานแบบไม่ซ้ ากันนั้นมีเพียง 91 รายการเท่านั้นจากทั้งหมด 107 รายการ

Page 7: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 7

7. ตัวอย่างการเรียกดขู้อมูลของตารางพนักงานในฐานข้อมูลแบบระบุเงื่อนไข ท าการเรียกดูข้อมูลพนักงานแบบระบุเงื่อนไขให้รหัสพนักงานมีค่าน้อยกว่า 110 ของตารางพนักงานโดยมีรายละเอียดดังต่อไปนี้

ค าสั่ง : SELECT * FROM HR.EMPLOYEES WHERE HR.EMPLOYEES.EMPLOYEE_ID <= 110 ;

8. ตัวอย่างการเรียกดขู้อมูลตารางมากกว่า 1 ตารางในฐานข้อมูล ท าการเรียกดูข้อมูลตารางมากกว่า 1 ตารางโดยมีรายละเอียดดังต่อไปนี้

ค าสั่ง : SELECT * FROM HR.EMPLOYEES, HR.DEPARTMENTS ;

หมายเหตุ: จะเห็นได้ว่าจ านวนคอลัมน์และรายการข้อมูลจะเท่ากับจ านวนของแต่ละตารางคูณกัน

Page 8: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 8

9. ตัวอย่างการเรียกดขู้อมูลตารางมากกว่า 1 ตารางในฐานข้อมูลโดยระบุความสัมพันธ์ระหว่างตาราง ท าการเรียกดูข้อมูลตารางมากกว่า 1 ตารางโดยระบุความสัมพันธ์ระหว่างตารางให้ค่า DEPARTMENT_ID ของทั้ง 2 ตารางมีค่าเท่ากัน โดยมีรายละเอียดดังต่อไปนี้

ค าสั่ง : SELECT * FROM HR.EMPLOYEES, HR.DEPARTMENTS WHERE HR.EMPLOYEES.DEPARTMENT_ID = HR.DEPARTMENTS.DEPARTMENT_ID;

หมายเหตุ: จะเห็นได้ว่าจ านวนรายการข้อมูลจะเท่ากับจ านวนรายการที่มคีวามสัมพันธ์กัน

Page 9: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 9

7.4.2. ให้นักศึกษาท าการจัดการผู้ใช้งานดังหัวข้อต่อไปนี้ โดยใช้ชุดค าสั่งพื้นฐานที่ใช้ในการจัดการข้อมูลของตารางในฐานข้อมูลด้านบน พร้อมทั้งตรวจสอบและบันทึกผล

7.4.2.1. การเรียกดขู้อมูลของตารางในฐานข้อมูล โดยดูเอกสารประกอบดังนี้

หน้า 2 หัวข้อ “6.3.1. รายละเอียดชุดค าสั่งพ้ืนฐานที่ใช้ในการเรียกดูข้อมูลของตารางในฐานข้อมูล”

1. เข้าใช้งานเป็นผู้ใช้งานที่ชื่อ “SYSTEM” ผ่านทางโปรแกรมประยุกต์ Oracle SQL Developer 2. ท าการการเรียกดูข้อมูลบางส่วนของตารางพนักงานในฐานข้อมูล โดยมีรายละเอียดดังต่อไปนี้

หัวข้อ ค่าที่ก าหนด ชื่อตาราง HR.EMPLOYEES รายละเอียดคอลัมน์

Name EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE SALARY COMMISSION_PCT

ค าสั่ง : SELECT ____________,____________,____________,____________,____________,____________, ____________,____________ FROM ____________; ผลที่ได ้:

Page 10: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 10

3. ท าการเรียกดูข้อมูลทั้งหมดของตารางดังต่อไปนี้ 3.1. เรียกดขู้อมูลทั้งหมดของตารางพ้ืนที ่โดยใช้เครื่องหมาย (*) หัวข้อ ค่าที่ก าหนด

ชื่อตาราง HR.LOCATIONS ค าสั่ง : SELECT ____________ FROM ____________; ผลที่ได ้:

3.2. เรียกดขู้อมูลทั้งหมดของตารางต าแหน่งงาน โดยใช้ชื่อคอลัมน์ทั้งหมดในตาราง หัวข้อ ค่าที่ก าหนด

ชื่อตาราง HR.JOBS รายละเอียดคอลัมน์

Name JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY

ค าสั่ง : SELECT ____________,____________,____________,____________ FROM ____________; ผลที่ได ้:

Page 11: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 11

4. ท าการเรียกดูข้อมูลแบบไม่ซ้ ากันของตารางพ้ืนทีโ่ดยมีรายละเอียดดังต่อไปนี้ หัวข้อ ค่าที่ก าหนด

ชื่อตาราง HR.LOCATIONS รายละเอียดคอลัมน์

Name STATE_PROVINCE

ค าสั่ง : SELECT ____________ ____________ FROM ____________; ผลที่ได ้:

5. ท าการเรียกดูข้อมูลทั้งหมดของตารางพ้ืนที่ในฐานข้อมูลแบบระบุเงื่อนไข โดยมีรายละเอียดดังต่อไปนี้

หัวข้อ ค่าที่ก าหนด ชื่อตาราง HR.LOCATIONS รายละเอียดเงื่อนไข

Name ค่าที่ก าหนด COUNTRY_ID ‘US’

ค าสั่ง : SELECT ____________ FROM ____________ WHERE ____________ = ____________ ; ผลที่ได ้:

Page 12: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 12

6. ท าการการเรียกดูข้อมูลตารางมากกว่า 1 ตารางในฐานข้อมูลโดยระบุความสัมพันธ์ระหว่างตารางโดยมีรายละเอียดดังต่อไปนี้

หัวข้อ ค่าที่ก าหนด ชื่อตาราง HR.EMPLOYEES

HR.JOBS HR.DEPARTMENTS HR.LOCATIONS

รายละเอียดคอลัมน์ ค่าที่ก าหนด HR.EMPLOYEES.EMPLOYEE_ID HR.EMPLOYEES.FIRST_NAME HR.EMPLOYEES.LAST_NAME HR.JOBS.JOB_TITLE HR.DEPARTMENTS.DEPARTMENT_NAME HR.LOCATIONS.STREET_ADDRESS HR.LOCATIONS.POSTAL_CODE HR.LOCATIONS.CITY HR.LOCATIONS.STATE_PROVINCE

รายละเอียดความสัมพันธ์

ค่าที่ก าหนด HR.EMPLOYEES.DEPARTMENT_ID = HR.DEPARTMENTS.DEPARTMENT_ID HR.EMPLOYEES.JOB_ID = HR.JOBS.JOB_ID HR.DEPARTMENTS.LOCATION_ID = HR. LOCATIONS.LOCATION_ID

ค าสั่ง : SELECT ____________,____________,____________,____________,____________,____________, ____________, ____________, ____________ FROM ____________,____________,____________,____________ WHERE ____________=____________ AND ____________=____________ AND ____________=____________; ผลที่ได ้:

Page 13: 7. ปฏิบัติการที่ 7 · SQL Developer 1. ท าการรันโปรแกรมโดยไปที่ \sqldeveloper และ

วิชา 618241 ชื่อ-สกุล.....................................................................................รหัส................................ ..........

การออกแบบและการโปรแกรมฐานข้อมูลส าหรับวิศวกร ภาคเรีนที่ 2/2559 13

สรุปผลการทดลอง ............................................................................................................................. ................................................. ................................................................................. ................................................................................... .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. ................................................................................. ................................................................................... .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. .................................................................... ................................................................................................ .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. .................................................................................................................................................................... .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. .................................................................................................................................................................... .......... ........................................................................................................................... ................................................... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. ................................................................................. ................................................................................... .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. .................................................................... ................................................................................................ .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. .................................................................................................................................................................... .......... ............................................................................................................................. ................................................. ............................................................................................................................. ................................................. .................................................................................................................................................................... .......... ........................................................................................................................... ................................................... ............................................................................................................................. ................................................. .......................................................................................................................................................... .................... .............................................................................................................. ................................................................ ............................................................................................................................. .................................................