Categories
Database

មូលដ្ឋានគ្រឹះនៃការប្រើប្រាស់ SQL Table & View

មាតិកា

I.   ការបង្កើត Table

II. ការប្រើប្រាស់ SQL View

I.          ការបង្កើត Table

នៅក្នុង relational database ទិន្នន័យត្រូវបានផ្ទុកនៅក្នុង tables។ យើងអាចបង្កើត tables បានច្រើននៅក្នុង database របស់យើង ដោយអាស្រ័យទៅលើតម្រូវការជាក់ស្តែងនៃប្រព័ន្ធគ្រប់គ្រងក្នុងស្ថាប័នរបស់យើង។ ដូច្នេះការបង្កើត Table ដោយប្រើប្រាស់ CREATE TABLE statement គឺជាមូលដ្ឋានគ្រឹះចម្បងរបស់ SQL។ មុនពេលដែលយើងចូលទៅស៊ីជម្រៅទៅលើ SQL syntax សម្រាប់បង្កើត CREAE TABLE យើងត្រូវតែស្វែងយល់អំពី Table ជាមុនសិន។ Table គឺជាការបង្កើតឡើងដោយ rows និង columns។ Row និមួយៗតំណាងអោយចំណែកនៃទិន្នន័យ (data) ហើយ columns និមួយៗតំណាងអោយសមាសភាគនៃ data។ ឧទាហរណ៌ ប្រសិនបើយើងមាន table មួយសម្រាប់កត់ត្រានូវ customer information ដែលមាន columns ដូចជា First Name, Last Name, Address, City, Country, និង Birth Date។ ជាលទ្ធផលនៅពេលដែលយើងបញ្ជាក់ពី table យើងបញ្ចូលនូវ column headers ហើយនិងប្រភេទទិន្នន័យសម្រាប់ columns និមួយៗ។ យើងក៏អាចធ្វើការសម្រេចចិត្តដាក់ limitation ឬក៏ constraints ដើម្បីធានាថាទិន្នន័យដែលបានផ្ទុកនៅក្នុង table ត្រឹមត្រូវដែលយើងចង់កំណត់។

  • Syntax ដើម្បីបង្កើត​ Table
  • “Column 1” និង “column 2” តំណាងអោយឈ្មោះរបស់ columns។ នៅបន្ទាប់ឈ្មោះ columns គឺជាប្រភេទទិន្នន័យ (data type) ។ ជាទូទៅប្រភេទទិន្នន័យរួមមាន integers (ដូចជា 1), real numbers (ដូចជា 0.55), strings (ដូជា ‘sql’), date/time expressions (ដូចជា ‘2000-JAN-25 03:22:22’), និង binary types។ នៅក្នុងសញ្ញាឃ្នៀប [] មានន័យថាវាបញ្ជាក់ពី constraints របស់ table ដែលវា optional ហើយ column និមួយៗហើយនិង table និមួយៗអាចមាន constraints លើសពីមួយ។
    • ប្រភេទ constraints ទាំង៦ដែលត្រូវបានដាក់នៅពេលដែលបង្កើត table
      • NOT NULL Constraint: column មិនអនុញ្ញាតិអោយមាន NULL value.
      • DEFAULT Constraint: ផ្តល់នូវ default value សម្រាប់ column នៅពេល value មិនត្រូវបានបញ្ជាក់។
      • UNIQUE Constraint: values ទាំងអស់នៅក្នុង column គឺខុសៗគ្នា.
      • CHECK Constraint: values ទាំងអស់នៅក្នុង column បំពេញតាមលក្ខខណ្ឌ criteria.
      • Primary Key Constraint: ត្រូវបានប្រើដើម្បីបញ្ជាក់ row មានតែមួយ (unique) នៅក្នុង table.
      • Foreign Key Constraint: ត្រូវបានប្រើដើម្បី referential នៃ key ក្នុង data.
    • ដើម្បីបង្កើត table “customer” រួមជាមួយនិង fields ដែលបានបង្ហាញខាងលើ ដូចខាងក្រោម៖

នៅក្នុង SQL statement ខាងលើនេះ ពុំមាន constraints ត្រូវបានប្រើប្រាស់ឡើយ។ ប្រសិនបើយើងចង់បន្ថែមនូវ constraint ដែលមានតម្លៃ default ក្នុង ​column “country” គឺ “United States” សូមសាកល្បង SQL ខាងក្រោម

  • ពេលខ្លះនៅក្នុង table structure យើងត្រូវការ tableដែលដូចទៅនឹង table ផ្សេងទៀតនៅក្នុង database។ ក្នុងករណីនេះយើងក៏អាចប្រើប្រាស់ CREATE TABEL ដើម្បីចម្លងនូវ table structure បានដោយយើងមិនត្រូវការវាយបញ្ចូលរាល់ column names រួមទាំង constraints ម្តងទៀតឡើយ។
    • Syntax:

SQL statement ខាងក្រោមនឹងធ្វើការចម្លងទាំង structure និង data របស់ table1 ចូលទៅក្នុង table2

ដើម្បីធ្វើការចម្លង structure របស់ table1 ចូលទៅក្នុង table2 ដោយគ្មានទិន្នន័យណាមួយចូលក្នុង table

លក្ខខណ្ឌ WHERE 0 = 1 គឺជាលក្ខខណ្ឌ false។ ដូចនេះពុំមាន row របស់ data នឹងធ្វើការ copy ពី table1 ចូលទៅក្នុង table2 មានតែ table structure តែប៉ុណ្ណោះដែលអាច copy បាន។

II.          ការប្រើប្រាស់ SQL View

View គឺជា table សិប្បនិមិត្តមួយ (virtual table) ។ View រូមមាន Rows និង columns ដូចទៅនឹង table ដែរ។ ភាពខុសគ្នារវាង view និង table គឺថា View ត្រូវបានបង្កើតនៅខាងលើនៃ tables (ឬ​ view) ហើយមិនមានទិន្នន័យជារបស់ខ្លួនឯងឡើយ។ ប្រសិនបើទិន្នន័យនឹងកែប្រែនៅក្នុង table នាំអោយការកែប្រែជះឥទ្ធពលទៅលើ View ដែរ។ នៅក្នុង ​view មួយអាចមាន table មួយឬក៏ច្រើនជាងនេះ ហើយនៅក្នុង view ក៏អាចមាន view នៅក្នុងវាបានផងដែរ។

  • គុណសម្បត្តិក្នុងការប្រើប្រាស់ View
    • Ease of Use: View លាក់បាំងនូវភាពស្មុគស្មាញរបស់ database tables។
    • Space Savings: View ចំណាយ space តិចតួចដើម្បីផ្ទុកវា ដែលវាមិនមែនផ្ទុកនូវ data ពិត។
    • Additional data security: View អាចត្រូវបានបញ្ចូលតែ columns ជាក់លាក់តែប៉ុណ្ណោះនៅក្នុង table ដូចនេះ columns ដែលយើងមិនត្រូវការវានឹងមិនបង្ហាញទៅអោយ user ឃើញឡើយ។
  • Syntax សម្រាប់បង្កើត​ View

យើងមាន table មួយដែលមានឈ្មោះថា “Customer

យើងចង់បង្កើត view មួយមានឈ្មោះថា “V_Customer” ដែលមានតែ columns First_Name, Last_Name, ហើយនិង Country តែប៉ុណ្ណោះ

ដូចនេះយើងទទួលបាន view “V_Customer”ជាមួយនឹង structure ដូចខាងក្រោម

  • ម្យ៉ាងវិញទៀតយើងក៏អាចប្រើ view ដើម្បីធ្វើការ​ apply joins នូវ tables ចាប់ពី២ឡើងទៅបាន។ ក្នុងករណីនេះ users គ្រាន់តែចង់ឃើញតែ view តែមួយប៉ុណ្ណោះជាជាង table ដល់ទៅ២
    • ឧបមាថាយើងមាន table “Store_Information

table “Geography

យើងចង់បង្កើត View ដែលមានការលក់តាមពត៌មានរបស់ region

វានឹងផ្តល់អោយយើងនូវ view “V_REGION_SALES

លទ្ធផល

By sysomeho

Ho Sysome obtains B.S. degree in Computer Science from Phnom Penh Internation University (PPIU) in 2013 and currently studying Master of Science in IT (MSIT) at Asia Euro University (AEU). He worked as an IT Officer at Microfinance Institute and Bank in Phnom Penh. He is familar in programming language such as VB.NET, Java (Java2EE, Spring), Codeigniter, Laravel, mysql, sql server and so on. He enjoys sharing knowledges, learns from other, and develop himself.
Find him on Facebook: Spy Ro, Linkedin: Sysome HO.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.