۸ مطلب با کلمه‌ی کلیدی «SQL» ثبت شده است

نحوه پیدا کردن سایز دیسک های سیستم عامل از طریق PL/SQL

برای اینکار هیچ پکیج PL/SQl از قبل نوشته شده ای وجود نداره برای رسیدن به نتیجه باید یک external table ساخت و با استفاده از یک pre-processor اطلاعات مورد نیاز رو برگردوند متاسفانه این pre-processor ما براساس پلتفرم کار میکنه

برای سیستم عاملهای یونیکس بیس و خانواده لینوکس

step0:

[oracle@localhost]$ df -B 1 /usr
Filesystem 1B-blocks Used Available Use% Mounted on
/dev/sda3 24770654208 22113492992 1398870016 95% /
step1: 

[oracle@localhost ~]$ cat /tmp/demo/demo.dat
/usr
step2: 

[oracle@localhost ~]$ cat /tmp/demo/df.sh
#!/bin/bash
/bin/df -B 1 `/bin/cat ${1}` | /bin/awk 'NR == 2 {print $4}'
step3: 

create or replace directory DEMO as '/tmp/demo'
step4: 

CREATE TABLE
df
(
free NUMBER
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DEMO
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8MSWIN1252
NOBADFILE
NOLOGFILE
PREPROCESSOR demo:'df.sh'
FIELDS TERMINATED BY "|" LDRTRIM
REJECT ROWS WITH ALL NULL FIELDS
(
free CHAR
)
)
LOCATION
(
'demo.dat'
)
)
REJECT LIMIT UNLIMITED
;
step5: 

SQL> select * from df;

FREE
----------
1398870016

فقط نکته‌ای که داره اینه که سایز پارتیشن‌ها رو براساس نقاط مانت شده درمیاره و اون نقطه مانت شده ای که میدید حتما باید رو یه پارتیشن جدا باشه تا سایزش رو نشون بده و اگه اون نقطه زیرمجموعه یه نقظه دیگه باشه حتما باید نقطه اصلی رو بدید تا سایز اون پارتیشن رو بفهمید

ادامه مطلب...
۲۳ شهریور ۹۵ ، ۱۲:۲۹ ۰ نظر
مهدی غفاری

توابع ریاضی - Ceil, Floor, Round

CEIL

این تابع، یک عدد را به عدد بزرگتر بعد از آن گرد می‌کند. به مثال زیر، که به کارگیری این تابع را نشان می‌دهد، توجه کنید.

SELECT A,CEIL(A) FROM NUM_TEST;

همان‌گونه که در زیر مشاهده می‌کنید، داده‌های فیلد A، به عدد بزرگتر از خود گرد شده‌اند.

A      CEIL(A)
------ --------------
-5.65 -5
6.1 7
11 11
.33 1
-10 -10
1.598 2

ادامه مطلب...
۰۱ ارديبهشت ۹۴ ، ۱۴:۱۰ ۰ نظر
مهدی غفاری

توابع ریاضی - EXP, Log, Ln

EXP

شما می‌توانید بوسیله‌ی این تابع از فرمول e استفاده نمایید. لازم به ذکر است که، e یک عدد ثابت ریاضی می‌باشد (e = 2.71828…). این تابع عدد e را به توان x می‌رساند. به دستور زیر توجه کنید.

SELECT NUM_1, EXP(NUM_1) FROM NUMBERS;
NUM_1 EXP(NUM_1)
----- ----------
15 3269017.37
5 148.413159
51 1.44093E+22
46 9.4961E+19
28 1.4463E+12
37 1.1719E+16

ادامه مطلب...
۳۰ فروردين ۹۴ ، ۱۹:۵۹ ۳ نظر
مهدی غفاری

توابع زبان SQL در اوراکل

تمام دیتابیس‌ها یسری FUNCTIONها دارند که ما می‌توانیم از این فانکشن‌ها استفاده کنیم.

فانکشن‌ها قطعه کدهایی هستند، که از پیش تعریف شده‌اند تا شما را در امور مختلف یاری نمایند. لازم به ذکر است شما می‌توانید در زبانی دیگر، به نام PL-SQL توابعی را به دلخواه، طراحی و در دستورات SQL از آن استفاده نمایید. فانکشن‌ها، موارد زیر را شامل می‌شوند:

  • فانکشن‌های پردازش‌رشته،
  • فانکشن‌های ریاضی،
  • فانکشن‌های تاریخ و زمان،
  • فانکشن‌های جمعی،
  • و سایر فانکشن‌ها

همچنین این فانکشن‌ها ۲ گروه عمده رو تشکیل می‌دهند:

  1. فانکشن‌های یک RESULTای
    1. یعنی وقتی فانکشن رو روی یک جدول صدا می‌کنیم فقط یک RESULT برمی‌گردونه
  2. فانکشن‌های چند RESULTای
    1. یعنی وقتی فانکشن رو روی یک جدول صدا می‌کنیم به ازای هر رکورد یک RESULT جدید برمی‌گردونه

فانکشن‌ها در دیتابیس‌های مختلف متفاوت‌اند در برخی از دیتابیس‌ها یکسری فانکشن‌ها موجوده و در برخی موجود نیست. زبان SQL یک زبان عمومی است و ساختار آن در تمام بانک‌های اطلاعاتی یکسان است اما فانکشن‌های موجود در هر بانک‌اطلاعاتی با بانک‌های اطلاعاتی دیگر متفاوت است.

اوراکل یکی از پر تعدادترین فانکشن‌ها را در میان بانک‌های‌اطلاعاتی دارد. بعد از اوراکل MYSQL و بعد از اون DB2 و بعد از DB2 پرتعداترین فانکشن را MS SQL SERVER دارد.

۳۰ فروردين ۹۴ ، ۰۹:۵۸ ۰ نظر
مهدی غفاری

زبان SQL - قسمت اول

ساخت کاربر

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

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>

ادامه مطلب...
۱۹ فروردين ۹۴ ، ۱۵:۳۷ ۳ نظر
مهدی غفاری

دستورات کنسولی محیط SQLPlus - قسمت دوم

شما در محیط SQL Plus می‌توانید از دستوراتی به جز دستورات SQL استفاده نمایید. این دستورات را محیط SQL Plus در اختیار شما قرار داده‌است.

دستور PROMPT برای نمایش یک متن در خروجی استفاده می‌شود.

SQL> PROMPT SALAM
SALAM

دستور SET TIME ON باعث می‌شود تا در خط فرمان شما زمان جاری سیستم اضافه گردد.

SQL> SET TIME ON;
05:45:39 SQL>
05:45:45 SQL>

دستور SET TIME OFF باعث می‌شود تا خط فرمان شما به حالت اولیه باز گردد (حالتی که زمان جاری سیستم نمایش داده نمی‌شود).

05:45:45 SQL> SET TIME OFF;
SQL>
SQL>

ادامه مطلب...
۱۸ فروردين ۹۴ ، ۲۰:۲۸ ۰ نظر
مهدی غفاری

مفاهیم بنیادی

از ویکیپدیا: در عصر کلاسیک، وخشور یا وخشگر یا هاتف یا اوراکل (به انگلیسی: Oracle) واسطه‌ای بود که گمان می‌رفت بتواند اندرزها و مشاوره‌های بخردانه بدهد یا پیشگویی و پیش‌بینی و غیبگویی کند یا ملهَم از وقایع آینده باشد و به نوعی مورد عنایت خدایان قرار گرفته باشد.

اولین چیزی که باید بدونیم اینه که بانک‌اطلاعاتی اوراکل (دیتابیس اوراکل) محصول شرکتی است به نام شرکت اوراکل و این شرکت ایران رو تحریم کرده و ما از داخل ایران حتی نمی‌تونیم محصولات اوراکل رو دانلود کنیم. همچنین اوراکل یکی از گرونترین بانک‌های اطلاعاتی جهانه.

البته این گرونی بابت خود محصول اوارکل نیست و تو فاز توسعه (Development) محصول مجانیه.

ولی وقتی وارد فاز (Production) می‌شید باید برای خرید لایسنس اقدام کنید، البته این لایسنس فقط برای پشتیبانی محصول‌ه.

نکته: بانک‌اطلاعاتی پیچیده‌ای مثل اوراکل حتماً احتیاج به پشتیبانی از سمت خود شرکت اوراکل رو داره.

شرکت اوراکل در دهه ۷۰ میلادی توسط شخصی بنام لارنس (لری) الیسون تأسیس شد. اولین مشتری شرکت اوراکل CIA بوده و امروزه اوراکل یکی از بزرگترین و قدرتمندترین شرکت‌های حوزه It محسوب میشه، این در صورتیه که شرکت اوراکل PeopleSoft رو خریده Sun Microsystems رو خریده چون Sun رو خریده پس هم صاحب Java و هم Mysql شده همچنین Weblogic رو خریده و به همین شدت داره توسعه پیدا میکنه تا جایی که امروزه شرکت اوراکل خطوط هوایی داره و جزوی از سهامداران شرکت تویوتا است.

ادامه مطلب...
۲۱ اسفند ۹۳ ، ۰۹:۴۶ ۰ نظر
مهدی غفاری

زبان SQL

SQL یک زبان غیر رویه‌ای (non procedural) می‌باشد. یعنی از طریق SQL انجام Query و تغییرات در بانک‌های اطلاعاتی انجام می‌شود بدون این که کاربر چگونگی انجام کار را برای SQL مشخص نماید. 
در SQL امکان تعریف تابع، شرط و حلقه وجود ندارد. برای حل این مشکل، Oracle از بسط یافتن زبان SQL به نام PL/SQL استفاده می‌کند. 

در نگاه کلی به SQL، دستورات آن به ۵ گروه زیر تقسیم می‌شوند: 

  1. (Data Manipulate Language (DML: برای جستجو و یا تغییر داده‌ها
  2. (Data Definition Language (DDL: برای تعریف ساختار بانک‌اطلاعاتی
  3. (Data Control Language (DCL: برای تعریف سطح دسترسی کاربران به بانک‌اطلاعاتی
  4. (Data Query Language (DQL: برای بازیابی اطلاعات
  5. (Transaction Control Language (TCL: برای کنترل تراکنش‌ها


دستورات DML به 4 دسته زیر تقسیم می شوند:

  1. Insert: افزودن رکوردهای جدید به یک جدول
  2. Update: تغییر رکوردهای موجود یک جدول
  3. Delete: حذف رکوردهای موجود یک جدول
  4. Merge: درج رکورد جدید و یا تغییر رکوردهای موجود

ادامه مطلب...
۱۱ اسفند ۹۳ ، ۱۵:۴۳
مهدی غفاری