ساخت کاربر

کاربران موجودیت‌هایی هستند، که اجازه ورود به پایگاه داده‌ای اوراکل را دارند. نحوه‌ی نگارش دستور ساخت کاربر به اشکال ذیل می‌باشد.

CREATE USER user_name
IDENTIFIED BY my_pass;

در قسمت CREATE USER، نام کاربر و IDENTIFIED BY، رمز ورود کاربر وارد می‌گردد.
با استفاده از دستور CREATE USER یک کاربر به نام ریحانه، با رمز ورود ABC بسازید.

SQL> CREATE USER MAHDI
2 IDENTIFIED BY ABCD;

User created.

SQL>

با استفاده از دستور SHOW USER  نام کاربر متصل به بانک‌اطلاعاتی را نمایش داده می‌شود.

SQL> SHOW USER;
USER is "SYS"
SQL>

در حال حاضر کاربر SYSTEM به بانک اطلاعاتی متصل است.

حذف کاربر

برای حذف یک کاربر از دستور DROP USER استفاده می‌شود. نگارش این دستور به شکل زیر است.

DROP USER user_name;

در صورت استفاده از CASCADE در دستور DROP USER، کاربر با تمام ملحقات مربوطه(تمامی جداول، دیدها و ...) حذف می‌گردد.

SQL> DROP USER MAHDI CASCADE;

User dropped.

SQL>

اعطای نقش‌های از پیش تعریف شده به کاربر

اگر با کاربر Reyhaneh به پایگاه‌داده‌ای اوراکل وصل شوید، متوجه خواهید شد که، پایگاه‌داده‌ اجازه‌ی اتصال، با کاربر ایجاد شده را نمی‌دهد. این بدان علت است که شما هنوز مجوزی ورود را به کاربر خود اعطا ننموده‌اید. اوراکل این امکان را به شما می‌دهد تا یکی از نقش‌های از پیش تعریف شده‌ی زیر را به کاربران خود اعطا نمایید.
CONNECT (اتصال)
DBA (مدیر بانک اطلاعاتی)
نقش CONNECT محدود‌ترین نقش است، که به کاربران اعطا می‌شود. این نقش اجازه‌ی وصل شدن به پایگاه داده‌ها را دارد. نحوه‌ی نگارش دستور اعطای نقش را در ذیل مشاهده می‌کنید.

GRANT CONNECT TO user_name;

DBA  یک نقش قدرتمند است که شامل اکثر حقوق می‌باشد. کاربران این نقش می‌توانند، از اکثر دسترسی‌های داخل پایگاه داده‌ها استفاده نمایند. برای مثال این گروه از کاربران می‌توانند، کاربری ایجاد کرده، و به آن نقش اعطا نمایند.

GRANT DBA TO user_name;

ساخت نقش

یک نقش مجموعه‌ای از حقوقی است که به کاربران امکان می‌دهد، تا در پایگاه‌داده‌ها، کار‌های مشخصی را انجام دهد.
نگارش ذیل نحوه‌ی ایجاد یک نقش را نشان می‌دهد.

CREATE ROLE role_name;

در دستور ذیل یک نقش، به نام S_I_U ایجاد گردیده‌است:

SQL> CREATE ROLE S_I_U;

Role created.

SQL>

تنظیم نقش

در این قسمت، شما خواهید آموخت، دسترسی‌هایی را برای نقش مورد نظر خود، در نظر بگیرید. این دسترسی‌ها می‌توانند شامل دستوراتی همانند INSERT و UPDATE و ... باشند. 
در دستور ذیل، امتیاز SELECT و INSERT و UPDATE بر روی جدول ORDERS به نقش S_I_U اعطا شده‌است،

SQL> GRANT SELECT, INSERT, UPDATE
2 ON ORDERS
3 TO S_I_U;

Grant succeeded.

اعطای نقش به کاربر

بعد از تنظیم نقش، نقش ایجاد‌شده را به کاربر مورد نظر اختصاص می‌دهیم. نحوه‌ی نگارش این دستور را در ذیل مشاهده کنید.

GRANT role_name
TO user_name;

برای مثال در دستور ذیل نقش S_I_U به کاربر MAHDI اعطا شده‌ است.

SQL> GRANT S_I_U TO MAHDI;

Grant succeeded.

WITH ADMIN OPTION این امکان را می‌دهد، تا کاربر مهدی بتواند نقش خود را به کاربر دیگری اعطا کند.

در دستور زیر نقش S_I_U به کاربر ریحانه اختصاص داده شده‌است، و او نیز می‌تواند، نقش S_I_U را به کاربر دیگری اعطا کند.

SQL> GRANT S_I_U
2 TO MAHDI WITH ADMIN OPTION;

Grant succeeded.

بازپس‌گیری نقش از کاربر

برای گرفتن یک نقش از کاربر، دستور REVOKE را بکار می‌بریم.

REVOKE role_name
FROM user_name;

در دستور زیر نقش S_I_U از کاربر ریحانه گرفته شده‌است.

SQL> REVOKE S_I_U
2 FROM MAHDI;

Revoke succeeded.

حذف نقش

با استفاده از دستور DROP ROLE می‌توان، نقش ایجاد شده را حذف نمود. نگارش ذیل نحوه‌ی حذف یک نقش را نشان می‌دهد.

DROP ROLE role_name;

در دستور زیر نقش S_I_U حذف شده‌است.

SQL> DROP ROLE S_I_U;

Role dropped.

طریقه‌ی ساخت یک جدول

بوسیله‌ی دستور CREATE می‌توان یک جدول با فیلد‌های مختلف ساخت. در ذیل دستور ساخت جدولی به نام TEST را مشاهده می‌کنید.

SQL> CREATE TABLE TEST
2 (ID NUMBER,
3 TELL NUMBER,
4 ADDRESS VARCHAR2(10) );

Table created.

این جدول دارای دو فیلد با نام‌های ID و TELL از نوع NUMBER، و یک فیلد با نام ADDRESS از نوع VARCHAR2 می‌باشد که تا 10 کاراکتر را، قبول می‌کند.

 

DEFAULT

دستور CREATE را در ذیل مشاهده نمایید. در این دستور مقدار 22222 پیش فرض فیلد TELL می‌باشد. پیش فرض به معنای آن است که هرگاه مقداری برای فیلد TELL تعین نسد مقدار پیش فرض تعریف شده، در فیلد قرار می‌گیرد.

SQL> CREATE TABLE TEST
2 (ID NUMBER,
3 TELL NUMBER DEFAULT 22222,
4 ADDRESS VARCHAR2(10) );

Table created.