16
หนังสือแนะนํา เนื้อหาในหนังสือเหมาะสําหรับนิสิต นักศึกษา โปรแกรมเมอร นักพัฒนาระบบงาน และผูสนใจทั่วไปที่ตองการเรียนรูการใช งานฐานขอมูลแบบสัมพันธที่มีผูนิยมใชทั่วโลก เพื่อเปนพื้นฐานในการทํางานดาน Information Technology (IT) ตอไป เนื้อหาในหนังสือประกอบดวย 15 บท 194 script files หนา 320 หนา ราคาจําหนาย 380 บาท บทที1 ความรูเบื้องตนการจัดการขอมูล บทที2 ติดตั้ง Oracle Database 10g และ 11g บทที3 ใชงาน SQL แบบ Interactive บทที4 PL/SQL บทที5 ความถูกตองของขอมูล (Data Integrity) บทที6 Built-In Functions บทที7 ควบคุมจัดการ Errors ใน PL/SQL บทที8 Functions, Procedures และ Packages บทที9 Cursors บทที10 Stored Procedures บทที11 Stored Functions บทที12 Database Triggers บทที13 Data Consistency และ Concurrency บทที14 สํารอง และกูคืนขอมูล (Backup & Recovery) บทที15 ติดตั้ง VMware Workstation V.6 Oracle Database เปนระบบจัดการฐานขอมูลแบบสัมพันธ (Relational Database Management System : RDBMS) ทําหนาที่ดูแลจัดการขอมูล ปองกันการเขาถึงขอมูลโดยผูไมไดรับอนุญาต การใชงาน objects ตางๆใน ฐานขอมูลตองไดรับอนุญาตจากผูดูแลจัดการฐานขอมูล เปนระบบฐานขอมูลทีมีความแข็งแรง รองรับงานไดตั้งแตระดับเล็กจนถึงระดับใหญ มีความปลอดภัย สูงจึงไดรับความเชื่อถือ และนิยมใชในองคกรชั้นนําทุกระดับทั่วโลก Oracle Database ทําหนาที่ดูแลจัดการขอมูล ทํางานเปนสวน back-end จึง ถูกนําไปใชกับ applications ตางๆมากมายที่เนนเรื่องการจัดเก็บขอมูล เชน ระบบบริหารจัดการทรัพยากรขององคกร (Enterprise Resource Planning : ERP) เพื่อเก็บขอมูลทางดานบัญชี การเงิน ซื้อ ขาย ผลิต จัดจําหนาย สินคา คงคลัง บริหารงานบุคคลเปนตน ดังนั้นโปรแกรมเมอร ผูดูแลจัดการฐานขอมูล และนักพัฒนาระบบงานที่ทํางานกับ applications เหลานีหรือพัฒนา ระบบงานขึ้นมาใชเองที่ทํางานเปนสวน front-end จึงตองมีความรูพื้นฐานเรื่อง ฐานขอมูล เพื่อใหทํางานกับฐานขอมูลไดอยางมีประสิทธิภาพ หนังสือเลมนี้อธิบายตั้งแตการติดตั้งฐานขอมูลคือ database และซอฟตแวรทีเกี่ยวของ การ configure คาตางๆกอนติดตั้งฐานขอมูล มีตัวอยางการใชคําสั่ง SQL และ PL/SQL พรอมคําอธิบาย program code และเพื่อใหการศึกษาทํา ไดอยางรวดเร็ว หนังสือมีตัวอยาง source code จํานวน 194 ไฟลพรอม ขอมูลตัวอยางใหทดลองเรียกใชงาน ทําใหผูศึกษาลดเวลาพิมพคําสั่ง และ สรางขอมูลตัวอยาง ทําใหการศึกษาหนังสือเลมนี้ใชเวลานอยลง www.bansak.com ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g

Oracle Book Intro

Embed Size (px)

Citation preview

Page 1: Oracle Book Intro

หนังสือแนะนํา

เน้ือหาในหนังสอืเหมาะสําหรับนิสิต นักศึกษา โปรแกรมเมอร นักพัฒนาระบบงาน และผูสนใจทัว่ไปทีต่องการเรียนรูการใชงานฐานขอมูลแบบสัมพันธทีม่ีผูนิยมใชทั่วโลก เพ่ือเปนพ้ืนฐานในการทํางานดาน Information Technology (IT) ตอไป

เน้ือหาในหนังสือประกอบดวย 15 บท 194 script files หนา 320 หนา ราคาจําหนาย 380 บาท บทท่ี 1 ความรูเบ้ืองตนการจัดการขอมูล บทท่ี 2 ติดต้ัง Oracle Database 10g และ 11g บทท่ี 3 ใชงาน SQL แบบ Interactive บทท่ี 4 PL/SQL บทท่ี 5 ความถูกตองของขอมูล (Data Integrity) บทท่ี 6 Built-In Functions บทท่ี 7 ควบคุมจัดการ Errors ใน PL/SQL บทท่ี 8 Functions, Procedures และ Packages บทท่ี 9 Cursors บทท่ี 10 Stored Procedures บทท่ี 11 Stored Functions บทท่ี 12 Database Triggers บทท่ี 13 Data Consistency และ Concurrency บทท่ี 14 สํารอง และกูคืนขอมูล (Backup & Recovery) บทท่ี 15 ติดต้ัง VMware Workstation V.6

Oracle Database เปนระบบจัดการฐานขอมูลแบบสัมพันธ (Relational Database Management System : RDBMS) ทําหนาท่ีดูแลจัดการขอมูล ปองกันการเขาถึงขอมูลโดยผูไมไดรับอนุญาต การใชงาน objects ตางๆในฐานขอมูลตองไดรับอนุญาตจากผูดูแลจัดการฐานขอมูล เปนระบบฐานขอมูลท่ีมีความแข็งแรง รองรับงานไดต้ังแตระดับเล็กจนถึงระดับใหญ มีความปลอดภัยสูงจึงไดรับความเชื่อถือ และนิยมใชในองคกรชั้นนําทุกระดับท่ัวโลก Oracle Database ทําหนาท่ีดูแลจัดการขอมูล ทํางานเปนสวน back-end จึงถูกนําไปใชกับ applications ตางๆมากมายที่เนนเร่ืองการจัดเก็บขอมูล เชน ระบบบริหารจัดการทรัพยากรขององคกร (Enterprise Resource Planning : ERP) เพ่ือเก็บขอมูลทางดานบัญชี การเงิน ซื้อ ขาย ผลิต จัดจําหนาย สินคาคงคลัง บริหารงานบุคคลเปนตน ดังนั้นโปรแกรมเมอร ผูดูแลจัดการฐานขอมูล และนักพัฒนาระบบงานที่ทํางานกับ applications เหลานี้ หรือพัฒนาระบบงานขึ้นมาใชเองท่ีทํางานเปนสวน front-end จึงตองมีความรูพ้ืนฐานเรื่องฐานขอมูล เพ่ือใหทํางานกับฐานขอมูลไดอยางมีประสิทธิภาพ หนังสือเลมนี้อธิบายต้ังแตการติดต้ังฐานขอมูลคือ database และซอฟตแวรท่ีเก่ียวของ การ configure คาตางๆกอนติดต้ังฐานขอมูล มีตัวอยางการใชคําสั่ง SQL และ PL/SQL พรอมคําอธิบาย program code และเพ่ือใหการศึกษาทําไดอยางรวดเร็ว หนังสือมีตัวอยาง source code จํานวน 194 ไฟลพรอมขอมูลตัวอยางใหทดลองเรียกใชงาน ทําใหผูศึกษาลดเวลาพิมพคําสั่ง และสรางขอมูลตัวอยาง ทําใหการศึกษาหนังสือเลมนี้ใชเวลานอยลง

www.bansak.com ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g

Page 2: Oracle Book Intro

สารบัญ

i

บทท่ี 1 ความรูเบ้ืองตนการจัดการขอมูล.....................................................................................................1 The Relational Model .................................................................................................................... 2 หลักการฐานขอมูลแบบสัมพันธ.......................................................................................................... 3

บทท่ี 2 ติดต้ัง Oracle Database 10g และ 11g .........................................................................................5 ประเภทการติดต้ัง Database 10g ...................................................................................................... 5 ความตองการของระบบในการติดต้ัง Database 10g .............................................................................. 6 Oracle 10g Universal Installer........................................................................................................ 7 เวอรชันของโปรดักทท่ีใชในหนังสือ .................................................................................................... 9 กําหนดคาบนระบบปฏิบัติการ Windows กอนติดต้ัง Database 10g .......................................................... 9 ติดต้ัง Database 10g.....................................................................................................................11

Administrative Accounts ........................................................................................................13 SYSDBA และ SYSOPER System Privileges ...............................................................................13 Enterprise Manager...............................................................................................................16 iSQL*Plus.............................................................................................................................18

สวนประกอบ Database 10g............................................................................................................19 Oracle Net Configuration Assistant.........................................................................................19 Net Service Name.................................................................................................................21 สราง Connect String โดยใช Net Configuration Assistant...........................................................22

สรางผูใช (Users) ในฐานขอมูล........................................................................................................28 ลบผูใช (Users) ออกจากฐานขอมูล ..................................................................................................30 สราง Directory เพ่ือเก็บไฟลตัวอยาง ................................................................................................30 ภาษาไทยกับ Database10g............................................................................................................30 ลบ (Remove) โปรดักท Oracle 10g.................................................................................................33 Startup / Shutdown ฐานขอมูล Database 10g .................................................................................33 ขอแนะนําเพ่ิมเติมการติดต้ัง Database 10g ........................................................................................36 ติดต้ัง Database 11g.....................................................................................................................37

บทท่ี 3 ใชงาน SQL แบบ Interactive ....................................................................................................43 เรียกใช SQL*Plus .........................................................................................................................45 คําสั่ง SQL จัดการขอมูล (Data Manipulation) ...................................................................................48

ประเภทขอมูล (Datatype)........................................................................................................49 สราง Table (Create) ..............................................................................................................49 ดูโครงสราง Table (Desc) ........................................................................................................50 แกไขโครงสราง Table (Alter) ..................................................................................................50 สราง Table จาก Table อ่ืน.......................................................................................................51 ลบ Table (Drop) ...................................................................................................................51 เพ่ิมขอมูลใน Table (Insert).....................................................................................................52 เปล่ียนแปลงคาใน Table (Update)............................................................................................53 ลบขอมูลใน Table (Delete และ Truncate).................................................................................53 สอบถามขอมูลใน Table (Query) ..............................................................................................53

Oracle Data Dictionary.................................................................................................................56 เคร่ืองหมายคํานวณทางคณิตศาสตร ..................................................................................................57 Logical Operator (AND, OR, NOT).................................................................................................58 กําหนดเงื่อนไขเปนชวง (Between)...................................................................................................58 Pattern Matching.........................................................................................................................59 IN และ NOT IN............................................................................................................................60 นําขอมูลใน Table มาจัดเปนกลุม (Grouping).....................................................................................61 แสดงขอมูล Date ..........................................................................................................................62 Join Operation.............................................................................................................................63

นําขอมูลหลาย Table มาเชื่อมโยงกัน (Equi-Join หรือ Regular-Join)...............................................63 ชื่ออางอิง (Alias Name) ..........................................................................................................64 Join แบบ Outer-Join..............................................................................................................65 Join แบบไมกําหนดเงื่อนไข ......................................................................................................65 เชื่อมโยง Table ดวย Table ของตัวเอง (Self-Join).......................................................................66

Query ซอน Query (Subquery) ......................................................................................................66 Union, Intersect และ Minus Clause ...............................................................................................68 ดัชนี (Index)................................................................................................................................70 View...........................................................................................................................................72 เลขเรียงลําดับ (Sequences) ...........................................................................................................74 สิทธิใชงานในฐานขอมูล (Privileges) ................................................................................................77

System Privileges..................................................................................................................77

ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g www.bansak.com

Page 3: Oracle Book Intro

สารบัญ

ii

Object Privileges...................................................................................................................81 หนาท่ีการทํางาน (Roles)................................................................................................................85 คําท่ีมีความหมายเหมือน (Synonyms)...............................................................................................89 เชื่อมโยงฐานขอมูล (Database Links) ..............................................................................................90 สราง Report ดวย SQL*Plus ...........................................................................................................93

บทท่ี 4 PL/SQL...................................................................................................................................99 เหตุผลท่ีใช PL/SQL.......................................................................................................................99 ประสิทธิภาพ PL/SQL.....................................................................................................................99 Compile และ Execute ฺBlock ........................................................................................................101 แสดงผลทางหนาจอ.....................................................................................................................101 แกไข Program Code ..................................................................................................................102 Error ท่ีเกิดจากการ Compile.........................................................................................................103 กฎเกณฑสรางประโยคใน PL/SQL (PL/SQL Syntax) .........................................................................104 ประเภทขอมูล (Datatype) ใน PL/SQL ............................................................................................104 ตัวแปร (Variable) .......................................................................................................................105 คาคงท่ี (Constant)......................................................................................................................105 Record......................................................................................................................................106 Attribute %TYPE .......................................................................................................................107 Attribute %ROWTYPE................................................................................................................108 ตัวแปร Record กับ Select Statement ............................................................................................109 ตัวแปร Record กับ Cursor............................................................................................................109 DUAL Table และ Column แฝง (Pseudo Columns) .........................................................................110 กฎการตั้งชื่อตัวแปร (Variable Naming Rules) .................................................................................111 PL/SQL Datatype.......................................................................................................................111 ลักษณะโครงสราง PL/SQL (Block Structure) ..................................................................................115 Scope Rules ..............................................................................................................................118 ต้ังชื่อ Object ใน PL/SQL Block ....................................................................................................119 PL/SQL Expression ....................................................................................................................120 ควบคุมเงื่อนไข (Condition Control) ใน PL/SQL ..............................................................................133

IF Statement ......................................................................................................................133 IF...THEN…ELSE Statement.................................................................................................134 Nested IF Statement...........................................................................................................134 Decode ..............................................................................................................................135 IF…ELSIF Statement ...........................................................................................................135 CASE Statement .................................................................................................................136 Searched CASE Statement...................................................................................................137

ควบคุมการทํางานแบบวนซ้ํา (Looping) ใน PL/SQL...........................................................................138 While Loop.........................................................................................................................138 For Loop ............................................................................................................................139 Nesting FOR Loop...............................................................................................................140 Reversing The Loop ............................................................................................................140

GOTO Statement.......................................................................................................................141 EXIT และ EXIT WHEN Statement................................................................................................143 LABEL และ EXIT Statement กับ LOOP..........................................................................................144 Simple LOOP.............................................................................................................................145 Transaction Control ...................................................................................................................146

COMMIT ............................................................................................................................146 ROLLBACK..........................................................................................................................147

ควบคุมการใชขอมูลพรอมกัน (Concurrency Control) ........................................................................149 Implicit Locking ..................................................................................................................150 Explicit Locking...................................................................................................................150

SELECT…FOR UPDATE Statement ..............................................................................................150 LOCK TABLE Statement .............................................................................................................152

บทท่ี 5 ความถกูตองของขอมลู (Data Integrity) ..................................................................................153 Domain Integrity .......................................................................................................................153 Entity Integrity ..........................................................................................................................154 Referential Integrity ..................................................................................................................154

Referencing Table และ Referenced Table .............................................................................154 บังคับใช Referential Integrity ...............................................................................................155 ประเภท Integrity Constraints................................................................................................155 คาท่ียังไมกําหนด (NULL Value) .............................................................................................156

www.bansak.com ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g

Page 4: Oracle Book Intro

สารบัญ

iii

หลักการ Primary Key ...........................................................................................................157 หลักการ Unique Key ............................................................................................................159 หลักการกําหนดคาปริยาย (Default Value) ................................................................................160 หลักการ Foreign Key ...........................................................................................................161 Check Integrity Constraint...................................................................................................164

Custom Integrity .......................................................................................................................168 บทท่ี 6 Built-In Functions ................................................................................................................169

ประเภท Built-In Functions ..........................................................................................................169 Character Functions ............................................................................................................169 Number Functions ..............................................................................................................170 Date Functions ...................................................................................................................170 Conversion Functions ..........................................................................................................171 Group Functions .................................................................................................................171 Miscellaneous Functions ......................................................................................................171

Conversion Functions.................................................................................................................176 SYSDATE ..................................................................................................................................181 Built-in Functions ท่ีเก่ียวกับ Date ................................................................................................183

บทท่ี 7 ควบคุมจัดการ Errors ใน PL/SQL.............................................................................................187 Exception-Handling Structures ...................................................................................................187

Predefined Oracle Errors .....................................................................................................188 Undefined Oracle Errors ......................................................................................................190 User-Defined Errors ............................................................................................................193

ขอบเขตการเรียกใช Exception (Scope Rules) .................................................................................195 มองหาตัวจัดการ Error (Propagating Exceptions)............................................................................195

บทท่ี 8 Functions, Procedures และ Packages ...................................................................................197 สราง Function............................................................................................................................197 สราง Procedure .........................................................................................................................199 Package....................................................................................................................................200

Package Specification..........................................................................................................200 Package Body.....................................................................................................................201

เรียกใช Function ใน Package.......................................................................................................203 เรียกใช Procedure ใน Package ....................................................................................................203 Private กับ Public Package Object ...............................................................................................203

บทท่ี 9 Cursors.................................................................................................................................205 ใช Cursor ใน PL/SQL .................................................................................................................205 Cursor แบบภายนอก (Explicit Cursor) ...........................................................................................206

วิธีใช Explicit Cursor ............................................................................................................207 Attribute ของ Explicit Cursor................................................................................................209 Cursor for Loop ..................................................................................................................211

Cursor แบบภายใน (Implicit Cursor) .............................................................................................212 Attribute ของ Implicit Cursor ...............................................................................................213

สงผาน Parameter ให Cursor (Parameterized Cursor)....................................................................215 บทท่ี 10 Stored Procedures .............................................................................................................219

สวนประกอบ Stored Procedure.....................................................................................................219 ขั้นตอนประมวลผล Stored Procedure ............................................................................................220 ประโยชน Stored Procedure.........................................................................................................220 สราง Stored Procedure...............................................................................................................221 ตัวอยาง สราง-เรียกใช Stored Procedure........................................................................................222 ลบ Stored Procedure .................................................................................................................225

บทท่ี 11 Stored Functions ................................................................................................................227 สวนประกอบ Stored Function.......................................................................................................227 ขั้นตอนประมวลผล Stored Function...............................................................................................228 ประโยชน Stored Function ...........................................................................................................228 สราง Stored Function .................................................................................................................229 ตัวอยาง สราง-เรียกใช Stored Function..........................................................................................230 ลบ Stored Function ...................................................................................................................233

ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g www.bansak.com

Page 5: Oracle Book Intro

สารบัญ

iv

บทท่ี 12 Database Triggers..............................................................................................................235 Data Manipulation Language (DML) Trigger ................................................................................235

ประเภท DML Trigger ...........................................................................................................235 จุดประสงคการใช Trigger ......................................................................................................236 การจัดการ Trigger................................................................................................................236 ดูรายชื่อ Trigger ..................................................................................................................236 ดู Program Code ของ Triggers .............................................................................................237 หยุดใช Trigger ชั่วคราว หรือใหทํางานตอ (Enabling & Disabling Trigger) ...................................238 ลบ Trigger .........................................................................................................................238 ตรวจสอบสถานะ Database Trigger.........................................................................................238 ตัวอยางการสราง และเรียกใช Database Trigger........................................................................239 RAISE_APPLICATION_ERROR..............................................................................................241

Database Event Trigger .............................................................................................................242 เขียน Trigger สําหรับ Database Event ....................................................................................244

Data Definition Language (DDL) Trigger .....................................................................................245 Instead-of Trigger .....................................................................................................................245

บทท่ี 13 Data Consistency และ Concurrency....................................................................................247 Statements และ Transactions .....................................................................................................247 ปญหาท่ีเกิดจาก Update ขอมูล .....................................................................................................247 ความหมายของ Lock ...................................................................................................................248 ใช Lock ท่ีถูกตองทําใหเกิด Maximum Concurrency ........................................................................248

Exclusive Lock ....................................................................................................................248 Share Lock .........................................................................................................................249 Row Lock ...........................................................................................................................249 Table Lock .........................................................................................................................250

ล็อคแบบ Table Lock...................................................................................................................250 ควบคุม Lock ของ Database Server ..............................................................................................251 Dead Lock.................................................................................................................................251 ความเชื่อถือไดจากการอานขอมูล (Consistent Reads).......................................................................252 Multi-Version Consistency Model.................................................................................................253 Transaction-Level Read Consistency ...........................................................................................254

Read-Only Transactions ......................................................................................................254 Read-Write Transactions .....................................................................................................254

สราง Bookmarks ดวย Savepoints ................................................................................................255 บทท่ี 14 สํารอง และกูคืนขอมลู (Backup & Recovery)..........................................................................257

ประเภทการทํางานผิดปกติไมสําเร็จ (Failure) ...................................................................................257 สถาปตยกรรม และกลไกการทํางานของฐานขอมลู .............................................................................258 Database Structures ..................................................................................................................258 Oracle Database Files ................................................................................................................259 Processes ของ Oracle Database..................................................................................................261 วงจรการทํางานของ Transaction ...................................................................................................263 Start Instance ...........................................................................................................................263

Nomount, Mount และ Open .................................................................................................263 ตัวอยาง Start Instance.........................................................................................................264

Stop Instance............................................................................................................................264 เหตุผล Stop Instance ..........................................................................................................265 ตัวอยาง Stop Instance .........................................................................................................265

Physical Backup.........................................................................................................................266 Closed Physical Backup .......................................................................................................266 Open Physical Backup .........................................................................................................267

Physical Recovery......................................................................................................................267 Crash Recovery .........................................................................................................................267 Restore.....................................................................................................................................267 Recovery ..................................................................................................................................267 ความหมายของ Restore และ Recovery..........................................................................................268 Physical Database Recovery .......................................................................................................268

Complete Database Physical Recovery .................................................................................268 Incomplete Database Physical Recovery...............................................................................268

ขั้นตอน Backup และ Recovery ผาน Command Prompt...................................................................269 Complete Closed Backup and Restore .........................................................................................274

การ Backup ฐานขอมูลท่ี Closed.............................................................................................274

www.bansak.com ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g

Page 6: Oracle Book Intro

สารบัญ

v

Restore ไฟลท้ังหมดในฐานขอมูล ...........................................................................................277 Complete Closed Backup and Recovery.......................................................................................277 Oracle Enterprise Manager (OEM) ..............................................................................................283 ขั้นตอนทํา Backup และ Recovery ผาน Oracle Enterprise Manager (OEM)........................................284

Backup...............................................................................................................................284 Recovery............................................................................................................................289

ความถี ่Backup ขอมูล ..................................................................................................................295 บทท่ี 15 ติดต้ัง VMware Workstation V.6 ..........................................................................................297

ติดต้ัง VMware Workstation.........................................................................................................297 ใชงาน VMware Workstation........................................................................................................298 สราง Virtual Machine..................................................................................................................299 แกไข Setting ของ Virtual Machine ..............................................................................................302 ติดต้ังระบบปฏิบัติการ (OS) บน Virtual Machine ...............................................................................302 เรียก Virtual Machine มาใชงาน ....................................................................................................304 Snapshot ..................................................................................................................................305 ใช VMware Workstation กับโปรดักท Oracle..................................................................................306

ใช้งาน SQL และ PL/SQL เบื้องต้น ด้วย Oracle Database 10g, 11g www.bansak.com

Page 7: Oracle Book Intro

หนังสือแนะนํา

เน้ือหาในหนังสือประกอบดวย 25 บท, 27 Script files, 41 Forms, 12 Reports, 7 Menus และ 1 Library หนา 450 หนา ราคาจําหนาย 520 บาท บทท่ี 1 ความรูเบ้ืองตนการจัดการขอมูล และ Web Applications บทท่ี 2 ติดต้ัง Oracle Database 10g และ Developer Suite 10g บทท่ี 3 Forms บทท่ี 4 Master Forms บทท่ี 5 Property Classes และ Visual Attributes บทท่ี 6 Libraries บทท่ี 7 Alerts, Hints และ Tooltips บทท่ี 8 Master-Detail Forms บทท่ี 9 List of Values, Radio Button, Item List และ Popup Menus บทท่ี 10 สงผาน Parameter บน Forms บทท่ี 11 Multiple Canvases บน Forms บทท่ี 12 Forms แบบ Tab Pages (Multiple Pages) บทท่ี 13 Toolbars บทท่ี 14 Menus บทท่ี 15 Reports บทท่ี 16 Break Reports บทท่ี 17 Master-Detail Reports บทท่ี 18 Form Letter Reports บทท่ี 19 Reports ใน Database Applications บทท่ี 20 LOB Object บทท่ี 21 ติดต้ัง Oracle Application Server 10g และใชงานผาน Web บทท่ี 22 WebUtil Utility บทท่ี 23 ติดต้ัง Oracle Forms and Reports Services Standalone 10g บทท่ี 24 ติดต้ังใชงานโปรดักท Oracle 10g บน Windows OS เวอรชันอ่ืน บทท่ี 25 ติดต้ัง VMware Workstation V.6

หลายทานมีความคิดจะพัฒนาระบบงาน Web Applications เพ่ือใชเอง หรือใชภายในองคกร แตติดขัดไมรูจะเลือกใชเคร่ืองมือ (tools) ตัวใด และเร่ิมใชงานอยางไร Oracle Developer Suite 10g เปนอีกทางเลือกหนึ่งท่ีจะทําใหทานประสบความสําเร็จในส่ิงท่ีต้ังใจไว เปนเครื่องมือพัฒนาระบบงานที่มีใชยาวนานนับสิบป จนถึงปจจุบันเปนเวอรชัน 10g ใชสําหรับพัฒนา Web Applications ใหทํางานบน intranet และ internet Oracle Developer Suite 10g ถูกออกแบบมาใหใชงานกับโปรแกรมจัดการฐานขอมูลแบบสัมพันธ Oracle Database 10g หนังสือท่ีทานกําลังอานอยูในขณะนี้ เปนระบบจัดการฐานขอมูลท่ีมีสวนแบงเปนอันดับหนึ่งในตลาดฐานขอ มูลระดับ high-end ทําใหระบบงานที่พัฒนามีความนาเชื่อถือสูง ในหนังสืออธิบายต้ังแตการติดต้ังโปรดักท Oracle และซอฟตแวรท่ีเก่ียวของ การ configure คาตางๆ การใชเคร่ืองมือเพ่ือสราง Forms, Menus, Reports แลวนํามา integrate เปน Database Applications รวมท้ังการติดต้ัง IIS, DNS การขอ domain name ฟรี และ configure อุปกรณ ADSL modem router เพ่ือให Database Applications ใชงานไดบน intranet และ internet

www.bansak.com พัฒนา Web Applications เบื้องต้น ด้วย Oracle Developer Suite 10g

Page 8: Oracle Book Intro

สารบัญ

i

บทท่ี 1 ความรูเบ้ืองตนการจัดการขอมูล และ Web Applications .................................................................1 The Relational Model .................................................................................................................... 2 หลักการฐานขอมูลแบบสัมพันธ.......................................................................................................... 3 ความรูเบ้ืองตน Web Applications ..................................................................................................... 4 ประโยชน Web Applications ............................................................................................................ 6 แนะนํา Oracle Developer Suite 10g................................................................................................. 6 สถาปตยกรรม World Wide Web....................................................................................................... 7 Forms ในการใชงานแบบ Web.......................................................................................................... 8 Java Virtual Machine (JVM) บน Client............................................................................................. 9 Reports ในการใชงานแบบ Web ....................................................................................................... 9 Output Format ............................................................................................................................. 9

บทท่ี 2 ติดต้ัง Oracle Database 10g และ Developer Suite 10g.............................................................11 ประเภทการติดต้ัง Database 10g .....................................................................................................11 ความตองการของระบบในการติดต้ัง Database 10g .............................................................................12 Oracle 10g Universal Installer.......................................................................................................13 เวอรชันของโปรดักทท่ีใชในหนังสือ ...................................................................................................15 กําหนดคาบนระบบปฏิบัติการ Windows กอนติดต้ัง Database 10g .........................................................15 ติดต้ัง Oracle Database 10g ..........................................................................................................18

Enterprise Manager...............................................................................................................21 iSQL*Plus.............................................................................................................................23

ติดต้ัง Developer Suite 10g ...........................................................................................................24 สวนประกอบ Database 10g............................................................................................................27

Oracle Net Configuration Assistant.........................................................................................28 Net Service Name.................................................................................................................30 ใช Net Configuration Assistant สราง Connect String ................................................................30

สรางผูใช (Users) ในฐานขอมูล........................................................................................................38 สราง Path สําหรับ Forms ...............................................................................................................39 สราง Path สําหรับ Reports.............................................................................................................40 สราง Directory เพ่ือเก็บไฟลตัวอยาง ................................................................................................40 แกไข Configuration ของ Forms.....................................................................................................40 ใชภาษาไทยกับ Oracle 10g ...........................................................................................................41

ตัวอยาง แสดงภาษาไทยบน Forms............................................................................................45 แกปญหาภาษาไทยใน PDF (Portable Document Format) ไฟล ....................................................46

ลบ (Remove) โปรดักท Oracle 10g.................................................................................................47 ขอแนะนําเพ่ิมเติมการติดต้ังโปรดักท Oracle 10g.................................................................................47

บทท่ี 3 Forms .....................................................................................................................................49 สวนประกอบ Oracle Forms.............................................................................................................49 สวนประกอบ Database Applications................................................................................................49

Forms Module.......................................................................................................................49 Menus Module ......................................................................................................................49 Libraries Module ...................................................................................................................49

Events ........................................................................................................................................51 Triggers......................................................................................................................................52

Key-Trigger ..........................................................................................................................52 On-Trigger ...........................................................................................................................53 Pre และ Post-Trigger.............................................................................................................53 When-Trigger .......................................................................................................................54

DO_KEY......................................................................................................................................55 นํา DO_KEY มาใชงาน.............................................................................................................56

ลําดับการทํางาน Triggers...............................................................................................................57 System Variables.........................................................................................................................60 ใช Forms Builder .........................................................................................................................62 เคร่ืองมือ (Tools) ใน Forms Builder ................................................................................................62 สราง Forms .................................................................................................................................63 Generate (Compile) และ Run Form ...............................................................................................74 กําหนดคา Default Environment .....................................................................................................75 เรียกขอมูล และจัดการขอมูล............................................................................................................76 เรียกขอมูลแสดงใน Forms (Data Retrieval)......................................................................................76 ใช Layout Editor แกไข Forms .......................................................................................................78 ตําแหนง และขนาดของ Items.........................................................................................................78

พัฒนา Web Applications เบื้องต้น ด้วย Oracle Developer Suite 10g www.bansak.com

Page 9: Oracle Book Intro

สารบัญ

ii

กําหนด Properties ของ Items ........................................................................................................79 วางปุม (Pushbutton) บน Forms .....................................................................................................79 Constraints ถูกกําหนดตอนสราง Block .............................................................................................82 กําหนดขนาด และจัดเรียง Objects บน Forms ....................................................................................83

บทท่ี 4 Master Forms .........................................................................................................................85 Integrity Constraints....................................................................................................................86 Triggers......................................................................................................................................87 เขียน Triggers..............................................................................................................................87 ลักษณะ Forms ใน Database Applications .......................................................................................90 Data Navigation ใน Forms............................................................................................................90 เขียน Trigger และ Procedure เพ่ือจัดการขอมูล (Data Manipulation) ...................................................90 ตรวจสอบความถูกตองของขอมูล (Validation) ....................................................................................96 ตรวจสอบความถูกตองของ Input/Output Data ..................................................................................96 กําหนด Default Value เปนศูนย .......................................................................................................99 สรางปุม Search ใน Master Forms ..................................................................................................99 จัดเรียงขอมูลใน Forms เมื่อสอบถามขอมูล (Order by)......................................................................100 กําหนดขนาด และตําแหนง Windows..............................................................................................101

บทท่ี 5 Property Classes และ Visual Attributes ................................................................................103 Property Classes........................................................................................................................103

สราง Property Class ............................................................................................................104 นํา Property Class ไปใชกับ Object บน Forms .........................................................................106

Visual Attributes ........................................................................................................................106 กําหนด Visual Attributes ใหกับ Objects .................................................................................107 นํา Visual Attribute ไปใชกับ Object บน Forms........................................................................109

นํา Property Classes และ Visual Attributes มาใชรวมกัน ..................................................................110 บทท่ี 6 Libraries ...............................................................................................................................115

รูปแบบไฟล Library .....................................................................................................................115 สราง Library ..............................................................................................................................116 แกไข Program Units ใน Library...................................................................................................117 ผูก Library กับ Form, Menu และ Library .......................................................................................117 นํา Procedure มาไวใน Library......................................................................................................120

บทท่ี 7 Alerts, Hints และ Tooltips .....................................................................................................121 สราง Alert .................................................................................................................................122 แสดง Alert ................................................................................................................................124 ตัวอยาง สราง Alert .....................................................................................................................125 แสดงขอความ หรือคําแนะนําใน Forms (Hint และ Tooltip).................................................................126

Hint แสดงขอความที่ Message Line ........................................................................................126 Tooltip ...............................................................................................................................127

แสดง หรือไมแสดง Smart Bar ......................................................................................................128 กําหนด Title ใหกับ Form Windows...............................................................................................130

บทท่ี 8 Master-Detail Forms ............................................................................................................131 สราง Master-Detail Forms...........................................................................................................133 กําหนด Property ของการลบ Record .............................................................................................145 The Relation Object...................................................................................................................145

Non Isolated ......................................................................................................................145 Isolated .............................................................................................................................145 Cascading ..........................................................................................................................145

Display Item .............................................................................................................................146 Run Master-Detail Forms ...........................................................................................................149 เรียกดูขอมูล และจัดการขอมูล (Data Retrieval และ Manipulation) .....................................................149

Data Retrieval ....................................................................................................................150 Navigation..........................................................................................................................150 Insert Data.........................................................................................................................150 Deleting Data .....................................................................................................................150 Saving Data........................................................................................................................150

ใชปุมกับ Block มากกวา 1 Block ใน Forms .....................................................................................150 สราง Button บน Master-Detail Block............................................................................................151

www.bansak.com พัฒนา Web Applications เบื้องต้น ด้วย Oracle Developer Suite 10g

Page 10: Oracle Book Intro

สารบัญ

iii

บทท่ี 9 List of Values, Radio Button, Item List และ Popup Menus ...................................................155 List of Values (LOV)...................................................................................................................155

ใชงาน LOV .........................................................................................................................155 เรียกใช LOV จาก ฺButton.......................................................................................................163

เขียน Triggers ใหแสดงขอมูลใน Query Mode.................................................................................164 Radio Button Group...................................................................................................................166

สราง Radio Button ..............................................................................................................166 สราง และใช List Item .................................................................................................................170

Poplist................................................................................................................................170 Text List.............................................................................................................................171 Combo List .........................................................................................................................171

สราง Poplist แบบดึงขอมูลจากฐานขอมูล ........................................................................................173 Navigation Data Block และ Navigation Item.................................................................................176 กําหนดการเคลื่อนท่ีของเคอเซอร....................................................................................................177 Popup Menus ............................................................................................................................178

นํา Popup Menus มาใชงาน ...................................................................................................179 เพ่ิมปฎิทิน (Calendar) ใน Forms...................................................................................................181

บทท่ี 10 สงผาน Parameter บน Forms ...............................................................................................191 กําหนด Parameter List ใน Calling Forms ......................................................................................192 สงผาน Parameter ใน Calling Forms.............................................................................................192 สราง Parameter List ...................................................................................................................192 ลบ Parameter List .....................................................................................................................192 เพ่ิม (Add) Parameter ใน Parameter List ......................................................................................192 ประเภท Parameter (Type of Parameter) ......................................................................................193

Text_parameter..................................................................................................................193 Data_parameter .................................................................................................................193

สราง Parameter ใน Called Forms ................................................................................................193 นํา Parameter ใน Called Forms มาใชงาน ......................................................................................194 ตัวอยาง สราง Parameter และเรียกใชใน Calling Forms, Called Forms ...............................................194 ความแตกตางระหวาง Global Variables กับ Parameter Variables .......................................................198

บทท่ี 11 Multiple Canvases บน Forms..............................................................................................201 สราง Stacked Canvas .................................................................................................................202 แกไข Form layout ใน Canvas .....................................................................................................206

บทท่ี 12 Forms แบบ Tab Pages (Multiple Pages) .............................................................................209 สราง Master-Detail Forms แบบ Tab Page ....................................................................................209

สราง Tab Page สวน Header .................................................................................................210 สราง Tab Page สวน Detail ...................................................................................................213

สราง Master Form แบบ Tab Page................................................................................................217 กําหนดขนาด Form และ Canvas ใหเหมาะสม ..................................................................................222

บทท่ี 13 Toolbars .............................................................................................................................225 หลักการสราง Toolbar Canvas ......................................................................................................226 สราง Toolbar Canvas .................................................................................................................226 แสดง Icons บนปุม (Buttons) .......................................................................................................230

บทท่ี 14 Menus.................................................................................................................................233 ใช Default Menu........................................................................................................................233 ใช Custom Menu .......................................................................................................................234 สราง Menu Module ....................................................................................................................234

สราง Main Menu .................................................................................................................235 สราง Individual Menu ..........................................................................................................236 สราง Submenu....................................................................................................................237 ต้ังชื่อ Menu Item ภายใต Main Menu .....................................................................................238 ลบ Menu Items ใน Menu หรือ Submenu ...............................................................................239 กําหนด Command ใหกับ Menu Item .....................................................................................240 นํา Command ไปไวใน Menu Item.........................................................................................240

Generate Menu Module..............................................................................................................241 นํา Custom Menu ผูกกับ Forms....................................................................................................241 Open Form จาก Menu................................................................................................................243

พัฒนา Web Applications เบื้องต้น ด้วย Oracle Developer Suite 10g www.bansak.com

Page 11: Oracle Book Intro

สารบัญ

iv

Command ท่ีจําเปนตองใชใน Menu Item .......................................................................................243 สราง Form เพ่ือเรียก Form อ่ืน และ Menu ......................................................................................251 ประยุกตใชคําสั่ง Open_form กับการทดสอบ Forms..........................................................................255 Checked, Enabled และ Displayed Property ของ Menu Item...........................................................255 กําหนด Property ของ Menu Item.................................................................................................256 กําหนด Menu Item ใหเปน Enable หรือ Disable..............................................................................257

บทท่ี 15 Reports ..............................................................................................................................261 คุณสมบัติ Reports Builder ...........................................................................................................261 สราง Reports.............................................................................................................................261 กําหนด Runtime Parameter Form สําหรับ Reports .........................................................................263 สราง Reports แบบ Tabular .........................................................................................................264 Tool Palette และ Toolbar ใน Reports Builder................................................................................270 ตีเสนใต และเพ่ิม Field ใน Paper Layout ........................................................................................272 Compute Column (Summary และ Formula Column) .....................................................................273 แสดงขอมูลท่ีสวนบนของ Reports (Margin) ....................................................................................277 กําหนด Parameter Form .............................................................................................................279

System Parameter ..............................................................................................................279 User Parameter ..................................................................................................................280 สราง System Parameter Form..............................................................................................281 สราง User Parameter Form ..................................................................................................283

เรียก Reports มาแกไข.................................................................................................................290 Compile Report เปน Executable File ............................................................................................290

บทท่ี 16 Break Reports ....................................................................................................................293 สราง Break Reports ...................................................................................................................294 สราง Summary Column ใน Break Reports....................................................................................297

บทท่ี 17 Master-Detail Reports........................................................................................................301 หลักการ Master-Detail Reports....................................................................................................301 ใช Data Link Object เชื่อมความสัมพันธ .........................................................................................301 ลักษณะ Master-Detail Reports (Layout).......................................................................................301 สราง Master-Detail Reports แบบ Listing.......................................................................................303

Formula Column และ Summary Column ...............................................................................308 สราง Formula Column .........................................................................................................308 สราง Summary Column .......................................................................................................310

สราง Master-Detail Reports แบบ Form ........................................................................................312 Data Model ของ Master-Detail Reports แบบ Form .................................................................313 กําหนด Property ของ Summary และ Formula Column ............................................................314

บทท่ี 18 Form Letter Reports...........................................................................................................317 สราง Form Letter Reports...........................................................................................................318

บทท่ี 19 Reports ใน Database Applications .....................................................................................321 ขั้นตอนหลักแสดง Reports ใน Database Applications......................................................................321 ติดต้ัง Local Report Server ..........................................................................................................321 สราง Shortcut เพ่ือ Run คําสั่ง RWSERVER ....................................................................................321 สราง Report Object และ Configure Report Object.........................................................................322 Report Object Property ..............................................................................................................324 แสดง Report Output ..................................................................................................................326 คําสั่งสราง Report Output............................................................................................................326 คําสั่งแสดง Report Output ทาง Browser .......................................................................................326 ตัวอยาง Trigger Code ใหแสดง Reports ........................................................................................327 แสดง Reports แบบมีเงื่อนไข ........................................................................................................330

กําหนดเงื่อนไขการพิมพ Reports โดยไมแสดง Parameter Form..................................................331 กําหนดเงื่อนไขการพิมพ Reports ผานทาง Forms ......................................................................335

บทท่ี 20 LOB Object .........................................................................................................................345 Data Type ของ LOB ...................................................................................................................345 เรียก Image File เพ่ือเก็บในฐานขอมูล ............................................................................................346 สราง Forms เพ่ือเก็บ LOB ............................................................................................................346 สราง Reports แสดง LOB .............................................................................................................349

www.bansak.com พัฒนา Web Applications เบื้องต้น ด้วย Oracle Developer Suite 10g

Page 12: Oracle Book Intro

สารบัญ

v

บทท่ี 21 ติดต้ัง Oracle Application Server 10g และใชงานผาน Web....................................................351 ความตองการของระบบในการติดต้ัง Application Server 10g...............................................................351

ความตองการดาน Hardware ..................................................................................................351 ความตองการดาน Software ...................................................................................................351

กําหนดคาบนระบบปฏิบัติการ Windows 2000 Server กอนติดต้ัง AS10g ...............................................352 ติดต้ัง Application Server 10g ......................................................................................................352

ติดต้ัง Oracle Application Server Infrastructure 10g................................................................352 ติดต้ัง Oracle Application Server 10g (Business Intelligence and Forms) ..................................359

ใชงาน Forms, Menus, Reports และ Libraries ผาน AS10g...............................................................365 Compile Forms, Menus และ Libraries ..........................................................................................365 Compile Reports........................................................................................................................366 Run Forms ผาน Web..................................................................................................................366 ใชงาน Web Applications ผาน Intranet .........................................................................................368

สราง Web Page...................................................................................................................368 ติดต้ัง Web Server ...............................................................................................................369 ติดต้ัง DNS Server................................................................................................................371

ใชงาน Web Applications ผาน Internet .........................................................................................374 ขอ Domain Name ฟรีท่ี www.dyndns.com.............................................................................375 Configure คาใน ADSL Modem Router ...................................................................................380 สราง Web Page...................................................................................................................381 ติดต้ัง Web Server ...............................................................................................................382

สราง Path สําหรับ Forms .............................................................................................................384 สราง Path สําหรับ Reports...........................................................................................................385 ใชภาษาไทยกับ AS10g ................................................................................................................385 แกปญหาภาษาไทยใน PDF (Portable Document Format) ไฟล.........................................................386

แกไข Registry ของ Windows................................................................................................386 แกไข Font Configuration File ...............................................................................................386

Connect ฐานขอมูลใน AS 10g ......................................................................................................387 สราง Tables ใน AS10g................................................................................................................388 สั่งพิมพ Reports จาก Forms ผานทาง Domain Name ......................................................................388 สั่งพิมพ Reports แบบมีเงื่อนไขการพิมพ..........................................................................................391 Report Server ใน AS 10g............................................................................................................392 แสดง Icons บนปุม (Buttons) ใน AS10g ........................................................................................395

บทท่ี 22 WebUtil Utility....................................................................................................................397 Configure WebUtil .....................................................................................................................397 สวนประกอบ WebUtil และ Directory Structure ...............................................................................398

Design Time Components....................................................................................................398 Runtime Components..........................................................................................................398 WebUtil Directory Structure.................................................................................................398

Configure Database สําหรับ WebUtil ............................................................................................398 นํา WebUtil มาใชกับ Forms .........................................................................................................398 Functions ใน WebUtil .................................................................................................................400 ใชงาน WebUtil ใน Developer Suite 10g .......................................................................................402 อาน Image ไฟลจากเครื่อง Client..................................................................................................409 ใชงาน WebUtil ใน AS10g............................................................................................................413

บทท่ี 23 ติดต้ัง Oracle Forms and Reports Services Standalone 10g ................................................417 บทท่ี 24 ติดต้ังใชงานโปรดักท Oracle 10g บน Windows OS เวอรชันอื่น ................................................423

ติดต้ัง และใชงานบน Windows Server 2003 และ XP SP2, SP3..........................................................424 บทท่ี 25 ติดต้ัง VMware Workstation V.6 ..........................................................................................427

ติดต้ัง VMware Workstation.........................................................................................................427 ใชงาน VMware Workstation........................................................................................................428 สราง Virtual Machine..................................................................................................................429 แกไข Setting ของ Virtual Machine ..............................................................................................432 ติดต้ังระบบปฏิบัติการ (OS) บน Virtual Machine ...............................................................................432 เรียก Virtual Machine มาใชงาน ....................................................................................................434 Snapshot ..................................................................................................................................435 ใช VMware Workstation กับโปรดักท Oracle..................................................................................436

พัฒนา Web Applications เบื้องต้น ด้วย Oracle Developer Suite 10g www.bansak.com

Page 13: Oracle Book Intro

หนังสือแนะนํา

เน้ือหาในหนังสือประกอบดวย 6 บท, 2 Script files, 62 Forms, 40 Reports, 1 Menu, 1 Library และ 1 ไฟลตัวอยางขอมูล หนา 236 หนา ราคาจําหนาย 360 บาท บทท่ี 1 ติดต้ังระบบงานสินคาคงคลัง บทท่ี 2 แนะนําระบบงานสินคาคงคลัง บทท่ี 3 ขั้นตอนใชงาน และกําหนดคาเร่ิมตนของระบบ บทท่ี 4 หนาท่ีการทํางานในระบบงานสินคาคงคลัง บทท่ี 5 Tables ท่ีใชในระบบงานสินคาคงคลัง บทท่ี 6 อธิบาย Source Code

เนื้อหาหนังสือเลมนี้เหมาะสําหรับผูตองการใช Oracle Developer Suite 10g เพ่ือพัฒนาระบบงาน เปนหนังสือเลมตอจากสองเลมแรกคือ ‘ใชงาน SQL และ PL/SQL เบ้ืองตนดวย Oracle 10g, 11g’ และ ‘พัฒนา Web Applications เบ้ืองตนดวย Oracle Developer Suite 10g’ เปนการนําเนื้อหาใน 2 เลมแรกมาประยุกตใชงาน ผูสนใจศึกษาจึงตองมีความรูในภาษา SQL, PL/SQL ท่ีกลาวไวในเลมแรก และมีความรูเร่ืองการสราง Forms, Reports, Menus และ Libraries ท่ีกลาวไวในเลมท่ีสอง วัตถุประสงคของหนังสือตองการเนนเร่ืองการพัฒนาระบบงานดวยตนเองใหใชงานไดจริง (Real World Applications) โดยนําระบบงานสินคาคงคลังมาเปนตัวอยางเพ่ือสรางเปน Database Applications ใหใชงานไดท้ังสองแบบคือ Standalone และ Internet/Intranet หนังสืออธิบายต้ังแตการติดต้ังระบบงานสินคาคงคลัง แนะนําระบบงานสินคาคงคลัง ขั้นตอนใชงานและกําหนดคาเร่ิมตนของระบบ หนาท่ีการทํางานในระบบงานสินคาคงคลัง Tables ท่ีใชในระบบงานสินคาคงคลัง และอธิบาย Source Code สวนท่ีสําคัญ ดวยเนื้อหาท่ีกลาวมาจะทําใหผูศึกษาเขาใจวงจรการทํางานของระบบงานสินคาคงคลังท้ังระบบตามมาตรฐานท่ัวไปและพัฒนาระบบงานข้ึนใชไดดวยตนเองในเวลาอันรวดเร็ว เมื่อทดลองทําจะรูวาการพัฒนา Web Applications ดวย Oracle Developer Suite 10g ไมใชเร่ืองยากอีกตอไป

www.bansak.com พัฒนา Web Applications ระดับกลาง ด้วย Oracle Developer Suite 10g

Page 14: Oracle Book Intro

สารบัญ

i

บทท่ี 1 ติดต้ังระบบงานสินคาคงคลัง..........................................................................................................1 ขั้นตอนติดต้ังโปรแกรมระบบงานสินคาคงคลัง....................................................................................... 1

1. ติดต้ัง Oracle Products........................................................................................................... 1 2. สราง Tables ท้ังหมดท่ีใชใน IC Application ............................................................................... 2 3. สราง Sequence .................................................................................................................... 2 4. แกไข Oracle Configuration Files และ Registry ของ Windows.................................................... 2 5. ติดต้ังตัวอยางขอมูล (Optional) ................................................................................................ 5

บทท่ี 2 แนะนําระบบงานสินคาคงคลัง ........................................................................................................7 คุณสมบัติของระบบงานสินคาคงคลัง (Features) .................................................................................. 7 การทํางานรวมกับโปรแกรมยอยอ่ืนๆ ................................................................................................... 9 เมนูระบบงานสินคาคงคลัง (Inventory Control Menus) ........................................................................ 9

บทท่ี 3 ขั้นตอนใชงาน และกําหนดคาเริ่มตนของระบบ ...............................................................................13 Flow Chart ระบบงานสินคาคงคลัง ...................................................................................................13 ขั้นตอนใชงาน และกําหนดคาเร่ิมตนของระบบ .....................................................................................14

1. กําหนดสิทธิใชงาน (Set up System Management)....................................................................14 2. กําหนดขอมูลบริษัท (Set up Company Profile) .........................................................................14 3. กําหนดกลุมสินคาหลัก และกลุมสินคารอง (Set up Main & Sub Category) .....................................14 4. กําหนดสถานท่ีจัดเก็บสินคา (Set up Location) ..........................................................................15 5. สรางรหัสสินคา (Add Item Code)............................................................................................15 6. กําหนดตําแหนงท่ีเก็บสินคา (Set up Bin/Shelf No.) ...................................................................15 7. บันทึกยอดสินคาคงเหลือยกมา (Add Current-Year Opening Balance)..........................................15 8. บันทึกรายการรับ เบิก โอน ปรับปรุงสินคา (Enter Transactions) ....................................................15 9. พิมพรายการตรวจสอบความถูกตองรายการรับ เบิก โอน ปรับปรุงสินคา (Transactions Listing) ............16 10. ผานรายการ รับ เบิก โอน ปรับปรุงสินคา (Post Transactions) .....................................................16 11. พิมพรายงานหลังผานรายการ รับ เบิก โอน ปรับปรุงสินคา (Transactions Posting Journal) ..............16 12. สอบถามขอมูลรายการสินคา (Query)......................................................................................16 13. พิมพรายงาน (Print Reports) ................................................................................................16 14. ตรวจนับสินคาคงเหลือ (Physical Inventory Processing)...........................................................17 15. ลบ Transactions ท่ีไมใชงานแลว (Clear Transactions)............................................................17

บทท่ี 4 หนาท่ีการทํางานในระบบงานสินคาคงคลัง.....................................................................................19 เพ่ิมขอมูล (Inserting Data)............................................................................................................20 ลบขอมูล (Removing Data)............................................................................................................20 บันทึกขอมูล (Saving Data) ............................................................................................................20 แกไขขอมูล (Editing Data) ............................................................................................................20 สอบถามขอมูล (Data Retrieval)......................................................................................................20 เพ่ิมขอมูลในขณะสอบถามขอมูล.......................................................................................................22 ยายเคอเซอรไป Records อ่ืน (Data Navigation)................................................................................22 List of Values (LOV) ใน Forms ......................................................................................................22 Display Items ใน Forms ...............................................................................................................24 แปลงไฟล PDF เปนไฟล Spread Sheet ............................................................................................25 หนาท่ีการทํางานของแตละเมนู .........................................................................................................27 1. System Management ...............................................................................................................27

1.1 System Setup ...................................................................................................................27 1.2 Security Group..................................................................................................................28 1.3 Security Account ...............................................................................................................29

2. Company Profile ......................................................................................................................31 3. Main & Sub Category ...............................................................................................................33

3.1 Main Category...................................................................................................................33 3.2 Sub Category ....................................................................................................................33

4. Location..................................................................................................................................35 5. Item Maintenance ...................................................................................................................36 6. Bin/Shelf No............................................................................................................................38 7. Transactions Processing...........................................................................................................39

7.1 Receipt Processing ............................................................................................................39 7.1.1 Add/Modify/Delete/Query/Post Receipt......................................................................39 7.1.2 Print Receipt Listing .................................................................................................43 7.1.3 Print Receipt Posting Journal ....................................................................................44 7.1.4 Print Receipt Form ...................................................................................................45

7.2 Shipment Processing .........................................................................................................48

www.bansak.com พัฒนา Web Applications ระดับกลาง ด้วย Oracle Developer Suite 10g

Page 15: Oracle Book Intro

สารบัญ

ii

7.2.1 Add/Modify/Delete/Query/Post Shipment...................................................................48 7.2.2 Print Shipment Listing ..............................................................................................52 7.2.3 Print Shipment Posting Journal .................................................................................53 7.2.4 Print Shipment Form ................................................................................................54

7.3 Adjustment Processing ......................................................................................................56 7.3.1 Add/Modify/Delete/Query/Post Adjustment................................................................56 7.3.2 Print Adjustment Listing ...........................................................................................59 7.3.3 Print Adjustment Posting Journal ..............................................................................60 7.3.4 Print Adjustment Form .............................................................................................61

7.4 Transfer Processing...........................................................................................................63 7.4.1 Add/Modify/Delete/Query/Post Transfer ....................................................................63 7.4.2 Print Transfer Listing................................................................................................65 7.4.3 Print Transfer Posting Journal ...................................................................................67 7.4.4 Print Transfer Form..................................................................................................68

8. Transactions Query..................................................................................................................70 8.1 Transaction Query.............................................................................................................70 8.2 Quantity On Hand Query ...................................................................................................71

9. Reports...................................................................................................................................74 9.1 Stock Control ....................................................................................................................74

9.1.1 Item Status .............................................................................................................74 9.1.2 Item Valuation.........................................................................................................75 9.1.3 Stock Movement ......................................................................................................78 9.1.4 Reorder ...................................................................................................................79 9.1.5 Slow Moving ............................................................................................................80 9.1.6 Over Stock...............................................................................................................82

9.2 Inventory Aging ................................................................................................................83 9.2.1 By Receipt Date .......................................................................................................83 9.2.2 By Ship Date............................................................................................................84

9.3 Price List ..........................................................................................................................86 9.4 Transaction Historical ........................................................................................................88 9.5 General ............................................................................................................................89

9.5.1 Company Profile.......................................................................................................89 9.5.2 Location ..................................................................................................................90 9.5.3 Main Category .........................................................................................................91 9.5.4 Sub Category...........................................................................................................92 9.5.5 Item........................................................................................................................93 9.5.6 Bin/Shelf No. ...........................................................................................................94

9.6 System Management.........................................................................................................96 9.6.1 System Setup ..........................................................................................................96 9.6.2 Security Group.........................................................................................................96 9.6.3 Security Account ......................................................................................................97

10. Physical Inventory Processing.................................................................................................99 10.1 Physical Inventory Worksheet ..........................................................................................99

10.1.1 Create Worksheet ..................................................................................................99 10.1.2 Delete Worksheet.................................................................................................100

10.2 Print Tag ......................................................................................................................100 10.2.1 Normal Tag..........................................................................................................100 10.2.2 Additional Tag......................................................................................................102

10.3 Print Tag Control List.....................................................................................................104 10.3.1 Normal Tag..........................................................................................................104 10.3.2 Additional Tag......................................................................................................105

10.4 Print Item Valuation Report (For Auditor)........................................................................106 10.5 Enter/Edit Physical Count...............................................................................................108 10.6 Print Item Reconciliation List..........................................................................................110 10.7 Post Inventory Reconciliation .........................................................................................111 10.8 Print Item Reconciliation Posting Journal ........................................................................112

11. Clear Transactions ...............................................................................................................113 บทท่ี 5 Tables ท่ีใชในระบบงานสินคาคงคลัง.........................................................................................115

1. Master Tables........................................................................................................................116 2. Transaction Tables ................................................................................................................119 3. Query Tables.........................................................................................................................124 4. Transaction Historical Tables..................................................................................................124

พัฒนา Web Applications ระดับกลาง ด้วย Oracle Developer Suite 10g www.bansak.com

Page 16: Oracle Book Intro

สารบัญ

iii

5. Physical Worksheet Tables .....................................................................................................125 6. Inventory Reconciliation Tables ..............................................................................................125 7. System Management Tables...................................................................................................126

บทท่ี 6 อธิบาย Source Code ..............................................................................................................129 สวนประกอบ IC Application..........................................................................................................129 Source Code ใน Script Files ........................................................................................................131 Source Code ใน Library..............................................................................................................132 Source Code ใน Menu................................................................................................................138 Alerts ท่ีใชใน Forms..................................................................................................................139 Lock Records ใน Oracle Forms ...................................................................................................143 Enforce Data Integrity ...............................................................................................................144 Find and Replace PL/SQL ...........................................................................................................145 เลือกใชงาน Forms ท่ีเปดพรอมกัน .................................................................................................145 Source Code ใน Forms...............................................................................................................146

Login Screen ........................................................................................................................146 Main Screen .........................................................................................................................151 System Setup .......................................................................................................................154 Security Group......................................................................................................................159 Security Account...................................................................................................................160 Company Profile ...................................................................................................................161 Main Category ......................................................................................................................163 Location ...............................................................................................................................166 Item Maintenance.................................................................................................................168 Add/Modify/Delete/Query/Post Receipt...................................................................................172 Transaction Query ................................................................................................................200 Quantity On Hand Query .......................................................................................................202 Quantity On Hand by Location Query .....................................................................................204 Clear Transactions ................................................................................................................205

นํา Library ผูกกับ Report .............................................................................................................209 Source Code ใน Reports.............................................................................................................209

Item Valuation Report ...........................................................................................................209 Inventory Aging by Receipt Date ...........................................................................................211 Stock Movement Report ........................................................................................................216

www.bansak.com พัฒนา Web Applications ระดับกลาง ด้วย Oracle Developer Suite 10g