منبع اصلی نوشتار زیر در این لینک قرار دارد

نوشتن Query های SQL با Django (قسمت دوم[نگاهی به عملگر‌های SQL])

در این قسمت سعی بر آن داریم تا عملگرهای اصلی که در SELECT نوشته می‌شود را در Django بنویسیم. سعی بر آن است تا با مثال‌هایی بتوان سرعت بالای کار با این ORM را بررسی کرد. سعی شده تا لیستی از عملگرهای WHERE بررسی شوند. برای کار با عملگرها در ابتدا نیاز اس… ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

نوشتن Query های SQL با Django (قسمت اول[مقدمه])

در این مطلب و مطالب آتی اصلاً کاری نداریم که ORM چیست و چرا باید از آن استفاده کرد. بلکه فقط قصد بر این است که هر query که وجود دارد معادل آن را با Django ORM پیاده کنیم. ممکن است خواننده این شماره بگوید: “خیلی از مسایل را به طور پیش‌فرض به خود خ… ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش ایجاد و حذف و تغییر کلید اصلی – Primary Key در SQL

در این مطلب از اوپن مایند، وبسایت آموزش الگوریتم ها و برنامه نویسی، می خواهیم ایجاد و حذف و در نهایت تغییر کلید اصلی در […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

بررسی انواع join در زبان SQL

در این مطلب سعی می کنیم به شکلی ساده و قابل فهم انواع مختلف join ها را در زبان پرس و جوی SQL بررسی می […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش Cluster کردن دیتابیس Couchbase Server

در مطالب قبلی دیتابیس Couchbase معرفی شد و نحوه ی نصب آن بر روی توزیع CentOS 7.x آموزش داده شد.در این مطلب قصد دارم تا روش Cluster کردن دیتابیس Couchbase را خدمت شما عزیزان آموزش دهم. در این سناریو از سه Node استفاده خواهد شد که روی آنها CentOS 7.x نصب شده است و قصد […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش تست نفوذ با نرم افزار RED HAWK

  امنیت یک موضوع بسیار مهم می باشد که همیشه باید مورد توجه قرار گیرد.یکی از دغدغه های همه ی مدیران سیستم حفظ امنیت سرویس ها و سرورها می باشد.برای بررسی درجه ی امنیت سرویس ها و یا سرورها ابزارها،نرم افزارها و روش های گوناگونی وجود دارد. در این مطلب قصد دارم تا نرم افزار […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

نمایش کل متن sql از v$sql

خیلی وقتها که میخوایم وضعیت SQL STATEMENTهایی که یوزرها زدن رو ببینیم از ویوی V$SQL و معمولاً از کوئری‌ای شبیه زیر استفاده میکنیم:

select v.SQL_TEXT,
v.PARSING_SCHEMA_NAME,
v.FIRST_LOAD_TIME,
v.DISK_READS,
v.ROWS_PROCESSED,
v.ELAPSED_TIME,
v.service
from v$sql v
where to_date(v.FIRST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss')>ADD_MONTHS(trunc(sysdate,'MM'),-2)

نکته: WHERE تو کوئری بالا به صورت اختیاریه ولی درکل یادمون باشه میتونیم با استفاده از فیلد FIRST_LOAD_TIME رو تاریخ و زمان اجرای اون کوئری مانور بدیم تا گزارشهای بهتری داشته باشیم.

همونطور که می‌بینید ما اکثر مواقع از فیلد SQL_TEXT استفاده میکنیم ولی با توجه به اینکه میدونیم محدودیت کاراکتری VARCHAR2 دقیقا ۱۰۰۰ کاراکتره احتمالا خیلی از دستورات رو نمیتونیم به صورت کامل ببینیم

اینجاست که بهتره بدونیم V$SQL و V$SQLAREA شامل فیلدی به اسم SQL_FULLTEXT هستن که این فیلد تمام دستور SQL کاربر رو تو دیتاتایپ CLOB ذخیره میکنه پس میشه رشته‌ها رو تا حداکثر سایزی که یک STATEMENT میتونه باشه رو نشون داد(۴۰۰۰ کاراکتر) بیاین باهم ببینیم که چجوری میشه رشته‌ها رو از این فیلد استخراج کرد.

set linesize 132 pagesize 999
column sql_fulltext format a60 word_wrap
break on sql_text skip 1

select
replace(translate(sql_fulltext,'0123456789','999999999'),'9','')
SQL_FULLTEXT
from v$sql
where sql_text like '%TEXT IDENTIFIER%'
group by replace(translate(sql_fulltext,'0123456789','999999999'),'9','')
/

خروجی این دستور میتونه به این شکل باشه:

SQL_FULLTEXT 
------------------------------------------------------------ 
select /*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
... query text ...
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa */ from b

امیدوارم براتون مفید باشه

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

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

برای اینکار هیچ پکیج PL/SQl از قبل نوشته شده ای وجود نداره برای رسیدن به نتیجه باید یک external table ساخت و با استفاده از یک pre-processor یا همون PREPROCESSOR clause اطلاعات مورد نیاز رو برگردوند متاسفانه این 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

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

ادامه مطلب

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

ایجاد جداول در MySQL

 یکی از اصلی ترین اشیا پایگاه داده ها، جداول هستند که اطلاعات را در خود ذخیره می کنند. جداول از ستون ها و سطرها تشکیل شده اند. هر جدول پایگاه داده در مورد یک موجودیت از محیط است و هر سطر نمونه ای از آن موجودیت را بیان می کند. یک محیط می تواند بیمارستان، […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

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

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

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

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

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

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

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

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

ادامه مطلب