Database query-Data Dictionary for User

 Database Query-sql & mysql

Data Dictionary for User

Database query, sql, mysql-data dictionary
Data Dictionary image
কোন OBJECT নিয়ে কাজ শুরুর পূর্বে আমরা Data Dictionary থেকে উক্ত OBJECT সম্পর্কে তথ্য জেনে নিতে পারি। যেমন USER, TABLE, INDEX, SEQUENCE ইত্যাদি তৈরী করার পূর্বে আমরা এ সম্পর্কে তথ্য জেনে নিতে পারি।অর্থাৎ কি নামে টেবিল, ভিউ বা ইনডেক্স আছে? কে তৈরী করেছে । কি কি কলাম আছে, ইত্যাদি, ইত্যাদি।

 

ধরা যাক- আমরা User তৈরী করবো তাহলে আমরা নিচে উলে­খিত Data Dictionary টেবিল থেকে তথ্য জেনে নিব। প্রথমে DESC কমান্ড দিয়ে টেবিলের গঠন জেনে নিব। তারপর SELECT কমান্ড দিয়ে প্রয়োজনীয় তথ্য জেনে নিতে পারি। ইচ্ছা করলে শর্ত দিয়েও কুয়েরী করা যেতে পারে। নিচে USER সম্পর্কিত ডাটা ডিকশনারীর কয়েকটি টেবিলের নাম ও বিবরণ দেওয়া হলো।

 

USER_USERS

Information about the current user

USER_TABLES

Description of the user's own tables

USER_OBJECTS

Object owned by user

USER_INDEX

Description of the user's own indexes

 

SQL> DESC USER_USERS;

 Name                                                  Null?    Type

 --------------------- -------- --------------------------------------------

 USERNAME                                              NOT NULL VARCHAR2(30)

 USER_ID                                               NOT NULL NUMBER

 ACCOUNT_STATUS                                        NOT NULL VARCHAR2(32)

 LOCK_DATE                                                      DATE

 EXPIRY_DATE                                                    DATE

 DEFAULT_TABLESPACE                                    NOT NULL VARCHAR2(30)

 TEMPORARY_TABLESPACE                                  NOT NULL VARCHAR2(30)

 CREATED                                               NOT NULL DATE

 INITIAL_RSRC_CONSUMER_GROUP                                    VARCHAR2(30)

 EXTERNAL_NAME                                                    

 VARCHAR2(4000)

 

নিচের মত SELECT COMMAND দিয়ে কি নামে USER আছে এবং কবে তৈরী হয়েছে তা জেনে নিতে পারি, তাতে আমাদের USER তৈরী করতে সুবিধা হবে।

 

SQL> select username, created

from user_users;

 

USERNAME                       CREATED

------------------------------ ---------

SCOTT                          12-MAY-02

  

* Data Dictionary ’র আরো অনেক টেবিলের নাম এবং বর্ননা DDL অধ্যায়ের   শেষে পাওয়া যাবে।

 

তৈরীকৃত USER G CONNECT বা LOG ON করা যাক নিচের মত কমান্ড দিয়ে।

 

SQL> CONNECT PERSONAL/SALIM@SALIM

ERROR:

ORA-01045: user PERSONAL lacks CREATE SESSION privilege; logon denied 

Does not connect

 

পুনরয় তৈরীকৃত USER CONNECT বা  LOG ON করা যাক নিচের মত কমান্ড দিয়ে। 

SQL> CONNECT ACC_DEPT

Enter password: *****

ERROR:

ORA-01045: user ACC_DEPT lacks CREATE SESSION privilege; logon denied

 

দুইবারই আমরা CONNECT বা LOG ON করতে ব্যর্থ হলাম এবং  Massage হলো "Logon denied" User ACC_DEPT locks CREATE SESSION privilege. সুতরাং জানা দরকার privilege কি?

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন