تبلیغات
Bcode.ir - مطالب

انتخاب و جستجو در پایگاه داده sql

نویسنده :
تاریخ:سه شنبه 29 دی 1394-07:19 ب.ظ

SELECT

معمولا بیشترین عملی که روی پایگاه های داده توسط SQL انجام می گیرد جستجو است، که توسط عبارت SELECT انجام می پذیرد.

دستور SELECT داده ها را از یک یا چند جدول مرتبط بازیابی می کند و اغلب تاثیری روی داده ذخیره شده در پایگاه داده ندارد.

SELECT پیچیده ترین عبارت SQL است. فرم کلی عبارت SELECT به صورت زیر است:

SELECT DISTINCT columns AS columns
FROM table
WHERE rule
GROUP BY columns
HAVING rule
ORDER BY columns;

دستور SELECT دارای چند عبارت اختیاری به شرح زیر است:

    • FROM جدول یا جداولی را که از آنها داده بازیابی می شود را مشخص می کند. برای الحاق جداول بر اساس ضابطه خاصی می تواند همراه با عبارت JOIN بیاید.
    • WHERE همراه با یک گزاره شرطی برای محدود کردن سطرهای برگردانده شده استفاده می شود.
    • GROUP BY اغلب همراه با توابع تجمعی(AVE، SUM، MAX، MIN و COUNT) برای ترکیب یا گروه بندی سطرها یا حذف سطرهای تکراری در مجموعه نتیجه استفاده می شود.
    • HAVING همراه با یک گزاره شرطی روی نتیجه GROUP BY کار می کند. توابع تجمعی می توانند در گزاره شرطی HAVING هم استفاده شوند.
    • ORDER BY برای تعیین ستون های که بر اساس آنها داده نتیجه مرتب می شود (صعودی و نزولی) .

FROM

در ساده ترین دستور SELECT کلیه سطرهای یک جدول که بعد از عبارت FROM ذکر شده است را بازیابی می کند. لیستی از فیلدهای موردنظر در مقابل عبارت SELECT قرار می گیرد. نام فیلدها با کاما (,) از هم جدا می شوند.

علامت ستاره (*) برای بیان کلیه فیلدهای یک جدول (یا چند جدول) می تواند استفاده شود.

مثال. اسامی کلیه شعبه ها در loan را پیدا کن

SELECT branch_name
FROM loan;

مثال. مشخصات کلیه مشتریان را پیدا کن.

SELECT *
FROM customer;


عبارات محاسباتی +، -، * و / روی یک فیلد در لیست فیلدها می توانند بکاربرده شوند.


مثال. دستور زیر جدولی مشابه loan را بر می گرداند که مقدار صفت خاصه amount آن 10 برابر شده است.

SELECT loan_number, branch_name, amount * 100
FROM loan;


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


مثال. اسامی و مقدار وام کلیه مشتریانی را که وامی از شعبه Perryridge گرفته اند را پیدا کن.

SELECT customer_name, borrower.loan_number, amount
FROM borrower, loan
WHERE borrower.loan_number = loan.loan_number AND
     branch_name = 'Perryridge';

مثال. دقت کنید که اگر شرطی ذکر نشود ضرب دکارتی دو جدول حاصل می شود.

SELECT *
FROM borrower, loan;


DISTINCT

SQL اجازه تکرار در نتیجه SELECT را می دهد. بنابراین جدول حاصل ممکن است دارای سطرهای مشابه باشد. اگر این موضوع موردنظر نباشد عبارت DISTINCT را استفاده می کنیم. در این صورت کلیه سطرهای جدول حاصل منحصر بفرد خواهند بود. و سطرهای تکراری حذف می شوند.


مثال. اسامی کلیه شعب بانک که از آنها وامی گرفته شده است را با حذف تکراری ها لیست کن.

SELECT DISTINCT branch_name
FROM loan;

عبارت all مشخص می کند که تکراری ها حذف نشوند.

SELECT ALL branch_name
FROM loan;


WHERE

عبارت WHERE برای انتخاب سطرهای برگردانده شده از دستور SELECT بر طبق شرط خاصی بکار می رود.

برای بیان شرط می توان عملگرهای مقایسه ای (=، !=، <>، >، <، >= و <=) را استفاده کرد.

نتایج مقایسه را می توان توسط عملگرهای منطقی (NOT، AND و OR ) و پرانتز با هم ترکیب کرد. اجرای عملگرهای منطقی به ترتیب الویت آنها است. NOT الویت بالاتر و OR الویت کمتر را دارد. پرانتز می تواند برای تعیین ترتیب انجام عملیات استفاده شود. عمل داخل پرانتز همیشه اول انجام می گیرد.


مثال. کلیه شماره وام هائی که مقدار وام آنها از 1200 بیشتر است را پیدا کن.

SELECT loan_number
FROM loan
WHERE amount > 1200;

مثال. کلیه شماره وام های شعبه Perryridge که مقدار وام آنها از 1200 بیشتر است را پیدا کن.

SELECT loan_number
FROM loan
WHERE amount > 1200 AND branch_name = 'Perryridge';


توجه کنید که هنگام مقایسه با رشته باید آنرا در کوتیشن (' ') قرار داد.


مثال.شماره وام هائی که مقدار وام آنها بین 90,000 و 100,000 می باشد را پیدا کن.

SELECT loan_number
FROM loan
WHERE amount BETWEEN 90000 AND 100000;


عملگر IN برای تعیین اینکه آیا مقدار مشخصی درون مجموعه ای از مقادیر وجود دارد یا خیر بکار می رود.


مثال. مقدار وامهایی که از شعب Perryridge، Downtown یا Redwood گرفته شده اند را پیدا کن.

SELECT amount
FROM loan
WHERE Branch_name IN (' Perryridge' , 'Downtown' , 'Redwood');


هنگام کارکردن با رشته ها وقتی خواهان مطابقت کامل رشته ها نیستیم بلکه بخشی از رشته یا الگوی خاصی از آن بیشتر موردنظر است، می توان از عبارت LIKE به جای علامت (=) استفاده کرد. دو کاراکتر '%' و '_' به ترتیب به معنی یک کاراکتر و بیشتر از یک کاراکتر را برای تطابق می توان بکار برد.


مثال. اسامی کلیه مشتریانی که آدرس آنها شامل کلمه Main است را پیدا کن.

SELECT customer_name
FROM customer
WHERE customer_street LIKE '%Main%';


AS

SQL اجازه تغییر نام جدول را توسط عبارت AS می دهد.


مثال. تعداد وام و مقدار وام کلیه وام ها را پیدا کرده، نام ستون loan_number به loan_id تغییر بده.

SELECT loan_number AS loan_id, amount
FROM loan;

مثال. نام و تعداد وام کلیه مشتریانی که وامی در یک شعبه دارند را پیدا کن.

SELECT customer_name, T.loan_number, S.amount
FROM borrower AS T, loan AS S
WHERE T.loan_number = S.loan_numbe;


توابع تجمعی

توابع تجمعی (aggregation function) عملگرهایی هستند که محاسبه آماری روی گروهی از مقادیر داده ای را انجام می دهند. این توابع روی مقادیر یک ستون از یک جدول عمل می کند و یک مقدار را به عنوان نتیجه بر می گردانند. این توابع شامل AVG، SUM، MAX، MIN و COUNT هستند.

نتیجه تجمع نامی ندارد می تواند از AS برای نامگذاری آن استفاده کرد.


مثال. میانگین موجودی حساب ها در شعبه Perryridge را پیدا کن.

SELECT AVG (balance)
FROM account
WHERE branch_name = 'Perryridge';


COUNT تعداد سطرهای موجود در جواب که حاوی NULL نیستند را می دهد. برای اینکه تعداد مستقل از NULL باشد COUNT(*) را استفاده کنید.


مثال. تعداد مشتریان بانک را محاسبه کن.

SELECT COUNT (*)
FROM customer;


گاهی در جواب تعدادی سطرها مشابه می شوند، اگر می خواهید تعداد سطرهای متمایز را بدست آورید از COUNT DISTINCT استفاده کنید.


مثال. تعداد افرادی که در بانک پول دارند را پیدا کن.

SELECT COUNT (DISTINCT customer_name)
FROM depositor;

مثال. تعداد افرادی که در هر شعبه بانک حساب دارند را پیدا کن.

SELECT branch_name, COUNT (DISTINCT customer_name)
FROM depositor, account
WHERE depositor.account_number = account.account_number
GROUP BY branch_name;


GROUP BY

در بسیاری موارد تحلیل آماری روی گروهی از داده ها موردنیاز است. برای گروه بندی از عبارت GROUP BY استفاده کنید.


مثال. اسامی کلیه شعب و میانگین موجودی حساب آنها را پیدا کن

SELECT branch_name,AVG (balance)
FROM account
GROUP BY branch_name;


HAVING

توابع تجمعی در عبارت WHERE کار نمی کنند. اگر می خواهید با توجه به نتیجه توابع تجمعی شرطی داشته باشید از عبارت HAVING استفاده کنید. HAVING مانند عبارت WHERE کار می کند با این تفاوت که روی آخرین داده حاصل کار می کند و اجازه استعمال توابع تجمعی را هم می دهد. البته هزینه اجرای آن بالاست بنابراین فقط در زمانی که واقعا نیاز است استفاده کنید.


مثال. اسامی کلیه شعب را که میانگین حساب آنها بیشتر از 1200 است را پیدا کن

SELECT branch_name,AVG (balance)
FROM account
GROUP BY branch_name
HAVING AVG (balance) > 1200;


ORDER BY

ترتیب رکوردها در نتیجه پرس و جو معمولا بدون نظم است. اگر می خواهید جدول حاصل دارای نظم خاصی بر طبق یک یا چند فیلد باشد عبارت ORDER BY را به همراه فیلدهای موردنظر اضافه کنید.

برای ترتیب نزولی از DESC و برای ترتیب صعودی از ASC روی هر صفت خاصه استفاده می شود. پیش فرض ترتیب صعودی است.


مثال. اسامی کلیه مشتریانی که وامی در شعبه Perryridge دارند را به ترتیب حروف الفبا لیست کن.

SELECT DISTINCT customer_name
FROM borrower, loan
WHERE borrower loan_number = loan.loan_number AND
     branch_name = 'Perryridge'
ORDER BY customer_nam;


NULL

ممکن است مقدار بعضی از صفات خاصه در رکوردها تهی باشد که توسط NULL مشخص می شود. وقتی فیلدی حاوی NULL است بیان کننده این است که مقدار آن فیلد نامعلوم است یا مقداری در دنیای واقعی ندارد.

عملگرهای مقایسه ای اگر روی NULL عمل کنند مقدار Unknown را برمی گردانند. گزاره IS NULL می تواند برای بررسی مقادیر NULL استفاده شود. عملگر متضاد آن IS NOT است که مقادیری که NULL نیستند را پیدا می کند.

نتیجه هر عبارت ریاضی روی NULL برابر با NULL است. کلیه توابع تجمعی به استثنای COUNT از مقدار NULL صرفنظر می کنند.


مثال. تعداد وام هائی که میزان وام آنها معین نیست را پیدا کن.

SELECT loan_number
FROM loan
WHERE amount IS NULL;


پرس و جوهای تودرتو

در SQL مکانیسمی برای پرس و جوهای تودرتو فراهم شده است. به عبارت دیگر یک عبارت SELECT می تواند درون دیگری قرار بگیرد تا نتیجه اجرای آن در شرط WHERE عبارت SELECT دیگر استفاده شود. عبارت SELECT دوم را یک پرس و جوی فرعی می نامند و حتما باید یک فیلد را برگرداند یعنی فقط یک صفت خاصه در دستور SELECT آن باید باشد.

وقتی حاصل پرس و جوی فرعی بیشتر از یک سطر باشد از عملگرهای ALL، ANY، IN، NOT IN، EXISTS و NOT EXISTS برای گرفتن نتیجه مطلوب باید استفاده کرد.


مثال. اسامی کلیه مشتریانی که هم حساب وهم وام در بانک دارند را پیدا کن.

SELECT DISTINCT customer_name
FROM borrower
WHERE customer_name IN (SELECT customer_name FROM depositor );

مثال. اسامی کلیه مشتریانی که از بانک وام گرفته اند ولی حساب ندارند را پیدا کن.

SELECT DISTINCT customer_name
FROM borrower
WHERE customer_name NOT IN (SELECT customer_name FROM depositor );

مثال. اسامی کلیه مشتریانی که هم حساب وهم وام در شعبه Perryridge دارند را پیدا کن.

SELECT DISTINCT customer_name
FROM borrower, loan
WHERE borrower.loan_number = loan.loan_number AND branch_name = 'Perryridge' AND
branch_name, customer_name IN (SELECT branch_name, customer_name
FROM depositor, account WHERE depositor.account_number = account.account_number );

توجه. پرس و جوهای بالا ساده تر هم می تواند نوشته شود.


ترکیب پرس و جوها

گاهی می خواهیم نتیجه دو پرس و جو را با هم به نحوی ترکیب کنیم و یک جدول را بدست بیاوریم. عملگرهای UNION، INTERSECT و EXCEPT برای ترکیب نتیجه دو پرس و جو می توانند استفاده شوند که به ترتیب مشابه عملگرهای اجتماع، اشتراک و تفاضل در جبر رابطه ای عمل می کنند.

مجموعه فیلدهای دو پرس و جوئی که با هم ترکب می شوند باید از نظر تعداد و نوع مطابق هم باشند.

عملگر UNION جدولی شامل کلیه سطرهای هردو پرس و جو را می دهد. سطرهای تکراری حذف می شوند مگر اینکه از عبارت UNION ALL استفاده شود.

عملگر INTERSECT سطرهای مشترک در نتیجه دو پرس و جو را بر می گرداند. سطرهای تکراری حذف می شوند مگر اینکه از عبارت INTERSECT ALL استفاده شود.

عملگر EXCEPT سطرهائی از نتیجه پرس و جوی اول که در نتیجه پرس و جوی دوم ظاهر نشده است را بر می گرداند. EXCEPT ALL سطرهای تکراری را حذف نمی کند.


مثال. اسامی کلیه مشتریانی که هم حساب وهم وام در بانک دارند را پیدا کن.

SELECT customer_nameFROM borrower
UNION
SELECT customer_name FROM depositor;


JOIN

وقتی بخواهیم اطلاعاتی را از دو جدول بدست بیاوریم می توانیم عمل الحاق را روی دو جدول انجام دهیم. عملگر JOIN رکوردهای گرفته شده از دو جدول را با هم ترکیب می کند و جدول دیگری را به عنوان نتیجه می دهد. شرط الحاق نحوه جفت کردن رکوردهای دو جدول را تعیین می کند.

الحاق دارای انواع مختلفی نظیر الحاق طبیعی و الحاق خارجی است. نوع الحاق تعیین می کند چه رکوردهائی از هر جدول که جفتی در جدول دیگر ندارند در جدول نتیجه باید اضافه شوند.

Natural Join

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


مثال. اسامی وام گیرنده ها به همراه وام های گرفته شده از بانک را پیدا کنید.

SELECT *
FROM borrower NATURAL JOIN loan;


Outer Join

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

LEFT OUTER JOIN کلیه مقادیر جدول سمت چپ خود را بعلاوه مقادیری از جدول سمت راست که مطابقت دارند می دهد. RIGHT OUTER JOIN کلیه مقادیر جدول سمت راست خود را می دهد بعلاوه مقادیری از جدول سمت چپ که رکوردهایش جور هستند. FULL OUTER JOIN نتیجه الحاق خارجی چپ و راست را با هم ترکیب می کند.

الحاق خارجی داده های مفقود را، برای سطرهائی که شرط الحاق در آنها برقرار نبوده، با NULL پر می کند.


مثال. اسامی کلیه وام گیرنده ها به همراه میزان وامی که گرفته اند را پیدا کنید.

SELECT *
FROM borrower LEFT OUTER JOIN loan
ON borrower.loan_no = loan.loan_no;

مثال. مقدار کلیه وام های گرفته شده از شعبه Perryridge را به همراه نام وام گیرنده ها پیدا کنید.

SELECT *
FROM borrower RIGHT OUTER JOIN loan
ON borrower.loan_no = loan.loan_no
WHERE loan.branch_name = 'Perryridge';



تلگرام

دسته بندی : SQL 

برچسب ها: select from database، انتخاب داده از دیتابیس، select از دیتابیس، select ساده از sql، دستور select دیتابیس، کد select در mysql،

نظرات() 

ساخت جدول در sql

نویسنده :
تاریخ:سه شنبه 29 دی 1394-06:35 ب.ظ

CREATE TABLE
عبارت Create یک فرمان DDL در SQL است که برای ایجاد یک شیء در پایگاه داده استفاده می شود. احتمالا معمول ترین فرمان Create فرمان CREATE TABLE است.

CREATE TABLE اجازه ایجاد شمای یک جدول را می دهد. فرم کلی آن به صورت زیر است:


CREATE TABLE tablename (
colname  datatype  coloptions,
colname  datatype  coloptions
);

افزودن کلید id به جدول :
شما می توانید برای داده های خود کلید id قرار دهید . کلید id  توسط خود DBM به صورت یک عدد صعودی ( ascend )  و پیشرونده و در حال رشد ( AUTO_INCREMENT  ) بالا می رود که شما می توانید آن را تنظیم کنید.
مقدار
AUTO_INCREMENT را می توانید مقدار دلخواه خود قرار دهید . این عدد به صورت پیش فرض 1 است .
در این جدول ما کلید اصلی
PRIMARY KEY را id قرار دادیم

CREATE TABLE IF NOT EXISTS `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(1000) COLLATE utf8_persian_ci NOT NULL,
  `family` varchar(1000) COLLATE utf8_persian_ci NOT NULL,
  `age` float NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=1 ;


شایان گفتن است  برای جلوگیری از تکرار و خطاهای بعدی در جدول می توان زمان ساختن جدول IF NOT EXISTS را به Create table افزود

هر سطر یک فیلد جدول را مشخص می کند. تعریف هر فیلد شامل نام، نوع داده و اطلاعات اضافی مربوطه می تواند باشد. سطرها با کاما (,) از هم جدا می شوند.

نوع های داده مختلفی در یک DBMS وجود دارد که مهمترین آنها عبارتند از:

CHAR(n) . رشته کاراکتری ASCII با طول ثابت n کاراکتر
VARCHAR(n) . رشته کاراکتری ASCII با طول متغیر با حداکثر n کاراکتر
NVARCHAR(n) . رشته کاراکتری Unicode با طول متغیر با حداکثر n کاراکتر
• INT . عدد صحیح (زیرمجموعه متناهی از اعداد صحیح که وابسته به ماشین است)
• SMALLINT . عدد صحیح کوچک (زیرمجموعه وابسته به ماشین از نوع صحیح)
DECIMAL(p,d) . عدد ممیز ثابت، با دقت تعریف شده p رقم و با d رقم در سمت راست ممیز
• REAL,DOUBLE precision . اعداد ممیزشناور با دقت مضاعف (وابسته به ماشین)
FLOAT(n) . عدد ممیز شناور با دقت تعریف شده حداقل n رقم
• DATE . تاریخ با فرمت day/month/year

در انتهای هر ستون می توان اطلاعات اضافی داشت. معمول ترین آنها عبارتند از:

PRIMARY KEY یعنی این فیلد کلید اصلی است
NOT NULL یعنی این فیلد باید مقداری داشته باشد و نمی تواند تهی باشد
REFERENCES othertable (primarykeyname) یعنی این فیلد یک کلید خارجی است که در جدول دیگری کلید اصلی است

در انتهای تعریف می توان اطلاعات اضافی دیگری را داشت. برای نمونه:

PRIMARY KEY (column1,column2,...) اگر جدول کلید اصلی ترکیبی دارد باید آنرا در انتهای تعریف مشخص کنید.
FOREIGN KEY (column1,column2,...) REFERENCES othertable اگر جدول ارتباطی با جدول دیگر دارد که یک کلید ترکیبی دارد بنابراین ستون های این جدول که کلید های خارجی هستند باید به این صورت لیست شوند.



تلگرام

دسته بندی : SQL 

برچسب ها: ایجاد جدول در پایگاه داده، ایجاد table در sql، ساخت جدول در sql، جدول در mysql، ایجاد تیبل در mysql، اضافه کردن کلید به جدول، کلید id در table،

نظرات() 

نمایش رتبه الکسا Alexa API

نویسنده :
تاریخ:یکشنبه 13 دی 1394-06:47 ب.ظ


شاید برای شما هم این پرسش پیش آمده باشد چگونه از API الکسا بهره بگیرید و چگونه رنک اکسا Alexa rank سایت خود را به صورت کاملا" اختصاصی در گوشه از سایت خود به نمایش بگذارید و یا حتی ابزاری برای شناسایی رتبه اکسا برای دیگران ایجاد کنید !
API الکسا کاملا رایگان و بهره گیری از آن نیز آسان است
من یک نمونه بسیار ساده ، سبک و کاربردی برای شما آماده کردم که امیدوارم خوشتان بیاید

$url = "http://bcode.ir";
$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank = isset( $xml->SD[1]->POPULARITY )?$xml->SD[1]->POPULARITY->attributes()->TEXT:0;
echo $rank;

الکسا Alexa.com چیست ؟

شاید گوشه کنار وب بارها عنوان رتبه الکسا (Alexa) را دیده و مطالبی در این خصوص خوانده باشید؛ سایتها و سرویس های خاصی نیز در این رابطه در گستره وب شکل گرفته اند که در مجموع تحت عنوان بهینه سازی و افزایش رتبه سایت SEO یا (Search Engine Optimization) فعالیت می کنند، اینکه الکسا چیست، چگونه آمار بازدیدهای یک سایت را به دست می آورد و رتبه بندی آن تا چه میزان اهمیت دارد، مطلبی است که در این یادداشت به آن خواهیم پرداخت تا نهایتا به نتیجه ای منطقی دست پیدا کنیم.

الکسا (Alexa) عنوان سرویسی است وابسته به سایت amazon.com که در آدرس Alexa.com ارائه می شود، هدف از این سرویس رتبه بندی پایگاه های اینترنتی از نظر تعداد بازدیدکننده (ترافیک بازدیدها) می باشد که با در نظر گرفتن یک سری معیار های محاسباتی و آماری، نهایتا سایت های مختلف را به لحاظ میزان دیده شدن صفحات آنها، رتبه بندی می کند.

اهمیت و دقت رتبه بندی الکسا (Alexa)

اما چرا رتبه الکسا برای مدیران سایت ها اهمیت زیادی دارد و آیا اساسا این رتبه بندی دقیق است؟ واقعیت این است که آمار این سرویس لزوما دقیق و کاملا براساس واقعیت نیست و تا حدودی مبتنی بر محاسباتی فرضی و احتمالی است، چرا که منبع اصلی جمع آوری اطلاعات الکسا و در واقع پشتوانه آن، نوار ابزار یا تولباری (Alexa Toolbar) است که در مرورگر بازدیدکنندگان در سرتاسر دنیا نصب می شود، به فرض ممکن است اکثر کاربران پایگاهی بدون نصب تولبار از آن دیدن کنند و در مقابل سایتی دیگر به دلیل نوع فعالیتش بازدیدکننده های خاصی داشته باشد که تولبار الکسا را، اکثر آنها نصب کرده باشند (معمولا وبسایت هایی که بازدیدکننده هایشان از تجربه کافی در فعالیت های وب برخوردارند، رتبه الکسای بهتری نسبت به سایت های دیگر ولی با بازدید مشابه دارند)؛ اما با وجود همه ی این تفاسیر نباید سایت الکسا و رتبه آن را آنقدرها هم دست کم گرفت! خواسته یا ناخواسته، رتبه الکسا جای خود را بین کاربران باز کرده و اهمیتی نسبی در عرصه وب و مخصوصا تجارت الکترونیک پیدا کرده است؛ به طور مثال تبلیغ دهنده گان بیشتر تمایل دارند که با سایت های مرتبط با اهدافشان با توجه به رتبه الکسای آنها همکاری کنند، از طرفی اطلاعات سایت الکسا بعضا در تجزیه و تحلیل بهتر و هدف گذاری مخاطبان و نیازهایشان، می تواند تاثیر مثبتی داشته باشد، یا در مقایسه چند سایت مشابه از لحاظ محبوبیت، تعیین کننده باشد؛ متاسفانه  برخی با توصل به روش های متقلبانه نیز اقدام به افزایش رتبه سایت خود می کنند، به فرض به تعدادی از دوستان خود می گویند که با تولبار الکسا به طور مرتب از آدرس آنها دیدن کنند و واضح است که این نوع کارها جزء هدر دادن وقت و به اصطلاح گول زدن خود، ارزش دیگری ندارد و معمولا این گونه افراد پس از مدتی از این کار خسته شده و مخاطبان واقعی خود را نیز از دست می دهند.

مدت زمان لازم برای کسب رتبه الکسا (Alexa)

اگر به تازگی سایت خود را راه اندازی کرده اید، برای اینکه در قسمت نمایش اطلاعات سایت الکسا جایی داشته باشید، پس از عضویت در آن و ثبت آدرس خود، معمولا باید مدتی بین 1 تا 3 ماه از ثبت سایت شما بگذرد و از طرفی هرچه بازدیدکننده سایتتان بیشتر باشد، شانس شما بیشتر خواهد بود؛ لذا می توان گفت بهترین کار برای کسب رتبه بالاتر (البته در سیستم الکسا هرچه عدد شما کم تر باشد یعنی رتبه شما بالاتر است!) تلاش در جهت انتشار مطالب بهتر و مفیدتر و اهمیت قائل شدن برای مخاطبان است؛ به این ترتیب هر چه که فعالیت شما در وب مستمر و با کیفیت باشد، سایت الکسا نیز اهمیت بیشتری برایتان قائل شده و نوع تجزیه تحلیل و آمارهای ارائه شده آن نیز به مرور زمان متفاوت خواهد بود.



تلگرام

دسته بندی : php  SEO  کد و ابزار وب 

برچسب ها:

نظرات() 

شناسایی مرورگر با جاوا - Detect browser with java

نویسنده :
تاریخ:یکشنبه 13 دی 1394-06:06 ب.ظ

جاوا

  • با پیدا کردن نام User Agent مرورگر می توان مرورگر را شناسایی کرد . هرچند این روش 100% قابل اعتماد نیست چون افزونه هایی برای پنهان کردن نام مرورگر و حتی تغییر آن وجود دارد .

if ( navigator.userAgent.toLowerCase().indexOf('firefox') > -1 ){ alert (' این فایرفاکس است ') }

  • در نمونه بالا مرورگر فایرفاکس شناسایی می شود . شما می توانید نام مرورگرهای دیگر را جایگزین کنید :
مرورگر کروم : Chrome
مرورگر اینترنت اکسپلوررIE مایکروسافت :  MSIE
مرورگر اپرا : Opera
مرورگر سافاری : Safari
  • در نمونه بالا نام مرورگر با حروف کوچک خوانده می شوند


تلگرام

دسته بندی : java 

برچسب ها:

نظرات() 

دانلود و آموزش شبیه ساز گرید گریدسیم GridSim

نویسنده :
تاریخ:سه شنبه 1 دی 1394-06:07 ب.ظ


دانلوددانلود شبیه ساز گرید سیم GridSim

مقدمه ای بر شبیه سازها :


برای انجام تحقیقات در زمینه Grid ، محققین از متدولوژی ها و ابزارهای گوناگون استفاده می کنند . بیشترین مطالعات چاپ شده در زمینه Grid یا برنامه روی زیرساخت های حقیقی Grid نتیجه گیری شده است و یا با استفاده از شبیه سازها .
روش دیگری نیز برای تحقیق وجود نظیر مدلسازی ریاضی ، تقلید کننده ها یا بسترهای آزمایشی بزرگ که می توانند در مورد استفاده قرار بگیرند .

معرفی 4 شبیه ساز متداول گرید Grid :

  1. Bricks
  2. MicroGrid
  3. SimGrid
  4. GridSim
 معرفی 4 شبیه ساز گرید Grid

گرید سیم GrinSim :

این ابزار توسط Buyya و ... جهت بررسی مسئله ارزیابی کارایی محیط های وسیع توزیع یافته نظیر سیستم های Grid ، شبکه های P2P در رفتاری کنترل شده و قابل تکرار توسعه داده شده است . GridSim ابزار کاری بر پایه Java است که مدل سازی منابع ناهمگون Grid و کاربران متفاوت را در سازمان های مختلف با سیاست های خودشان و مدل های گوناگون برنامه ها را انجام می دهد و با در نظر گرفتن اولویت ها ، کارها را می سازد و آنها را به منابع نگاشت می کند و مدیریت منابع و کارها را انجام می دهد .
گرید سیم Grid Sim  یک الگوی نرم افزاری است که کاربران را قادر می سازد تا خصوصیات منابع گرید و شبکه ها را با پیکربندیهای گوناگونی مدل سازی و شبیه سازی کنند . با استفاده از گریدیسم می توان این امکان را به وجود آورد که هر کاربر دارای " واسط منابع " متعلق به خود باشد . نظر به اینکه هر کدام از این زمان بندها منابعی مانند منابع موجود در سیستم های خوشه ای را در یک حوزه مدیریتی ساده کنترل می کنند ، اما قادرند کنترل کاملتری در سرتاسر سیاست به کار رفته در تخصیص منابع گرید داشته باشند .

معماری شبیه ساز Grid Sim
:

معماری شبیه ساز گرید سیم GridSim

آموزش کار با گرید سیم GridSim
:

برای ایجاد برنامه در GridSim ، برنامه های جاوا Java نوشته می شود که کتابخانه های GridSim را فراخوانی می کنند و با استفاده از این کتابخانه ها توابع از پیش تعریف شده این شبیه ساز جهت ایجاد کاربران ، برنامه های کاربری و دیگر ملزومات به کار برده می شوند . VM یک ابزار form-based است که کاربر را قادر می سازد تا grid را ایجاد نماید . GridSim دارای یک کتابخانه به نام GridStatistics است که کاربر می تواند آن را فراخوانی کند تا آمارهای شبیه سازی به صورت اتوماتیک جمع آوری شود .
GridSim از مولفه های پردازشی یا PEها استفاده می کند تا منابع محاسباتی را مدل نماید . یک یا چند PE می توانند ترکیب شوند و برای مدل کردن یک ماشین به کار روند . مجموع یک یا چند ماشین برای ساخت منبع Grid یا Cluster به کار می رود. این ماشین ها هم با الگوریتم های اشتراک زمانی و هم فضایی زمانبندی می شوند .

اولین گام مقداردهی اولیه به گریدیسم است :

مقدار دهی اولیه به گریدیسم که در واقع تنظیم متغیرها است .
;|=user_num int که در واقع تعداد کاربران گرید است .
;()calendar.getlnstance =  Calendar calendar

فعال یا غیرفعال کردن دنبال کردن رویداد ها در گریدسیم :
;boolean trace_flag = false

فایل هایی یا فرآیندهایی که نمی خواهیم در محاسبات آماری در نظر گرفته شوند را مشخص می نماییم
;{""} = String[] exclude_from_file
;{""} = String[] exclude_from_processing

نام فایلی که می خواهیم در صورت تمایل گزارش هایی در آن نوشته شود :

;String report_name = null

دستور مقدار دهی اولیه :
GridSim.init(num_user,calendar,trace_flag,exclude_from_file, exclude_from_processing, report_name);


منابع را می سازیم//
for(int i=0; i<no_of_resources; i++) {
//
پروسسورها را می سازیم و معین می کنیم هر گره چند پردازه ای است
PEList peList = new PEList();
for(int j=0; j<(i*1+1); j++)
peList.add(new PE(0, 100));
MachineList mList = new MachineList();
mList.add(new Machine(0, peList, ResourceCharacteristics.TIME_SHARED));

کدهای نمونه برای آغاز شبیه سازی محیط در محیط گریدیسم
 

public static void CreateSampleGridEnvironement(int no_of_users, int no_of_resources,
double B_factor, double D_factor, int policy, double how_long, double seed) {
Calendar now = Calendar.getInstance();
GridSimController.InitSimulation(no_of_users, no_of_resources, now);
// Create Resources
for(int i=0; i<no_of_resources; i++) {
// Create PEs
PEList peList = new PEList();
for(int j=0; j<(i*1+1); j++)
peList.add(new PE(0, 100));
// Create machine list
MachineList mList = new MachineList();
mList.add(new Machine(0, peList, ResourceCharacteristics.TIME_SHARED));
// Create a resource containing machines
ResourceCharacteristics resource = new ResourceCharacteristics("INTEL", "Linux",
mList, ResourceCharacteristics.TIME_SHARED, 0.0, i*0.5+1.0);
LinkedList Weekends = new LinkedList();
Weekends.add(new Integer(Calendar.SATURDAY));
Weekends.add(new Integer(Calendar.SUNDAY));
LinkedList Holidays = new LinkedList(); // no holiday is set!
// Setup resource as simulated entity with a name (e.g. "Resource_1").
Sim_system.add(new GridResource("Resource_"+i, 28000.0, seed, resource,
0.0, 0.0, 0.0, Weekends, Holidays));
}
// Create Users
for(int i=0; i<no_of_users; i++)
Sim_system.add(new UserEntity("User_"+i, 28000.0, how_long, seed,
B_factor, D_factor, policy, 60.0*60));
// Start Simulation
GridSimController.StartSimulation();
}


اجرا و کامپایل یک برنامه در گرید سیم GridSim :
  • اجرا از طریق خط اجرای ویندوز RUN یا در Linux با Terminal
  • اجرا با ابزارهای کمکی بصری Visual که دو محیط گرافیکی متداول برای اجرای Gridsim وجود دارد :
    Eclipse
    NetBeans IDE
یک برنامه نمونه در NetBeans IDE 7.1
در ابتدا نت بینز را باز کرده و سپس
File => New project
Java type => Java application


برای اجرای مثال های گریدسیم بر روی نام پروژه کلیک راست می کنیم و سپس Properties و سپس از طریق Add folder مثال دلخواه را در انتخاب می کنیم .
در مرحله آخر فایل های کتابخانه ای گریدسیم را از طریق Libraries => Add jar folders  به پروژه اضافه می کنیم

یک برنامه نمونه NetBeans IDE :
* برای بزرنمایی بیشتر می توانید روی عکس کلیک کنید

برنامه NetBeans IDE

برنامه NetBeans IIDE

برنامه NetBeans IDE


منابع :
[1]- Lecca, G., et al. "Grid computing technology for hydrological applications." Journal of Hydrology 403.1 (2011): 186-199.
[2]- Sulistio, Anthony, et al. "A toolkit for modelling and simulating data Grids: an extension to GridSim." Concurrency and Computation: Practice and Experience 20.13 (2008): 1591-1609.
[3]- Sulistio, Anthony, et al. "On incorporating differentiated levels of network service into GridSim." Future Generation Computer Systems 23.4 (2007): 606-615.
[4]- Buyya, Rajkumar, and Manzur Murshed. "Gridsim: A toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing." Concurrency and Computation: Practice and Experience 14.13‐15 (2002): 1175-1220.

گردآوری و تدوین : سایت خواندنی های رایانه بیکد Bcode.ir



تلگرام


برچسب ها:

نظرات() 

روش ایجاد فهرست مطالب در فایل Word

نویسنده :
تاریخ:چهارشنبه 18 آذر 1394-02:20 ق.ظ


لوگو ورد 2010

در اغلب دستورالعمل ها و بسته های آموزشی تهیه شده ، ایجاد فهرست مطالب ضروری است . در این درس طریقه ایجاد فهرست مطالب در برنامه Word ارائه می گردد.

1. در جایی که می خواهید فهرست مطالب قرار بگیرد نشانگر را قرار دهید.

2. در منوی References گزینه Table Of Contents را کلیلک نمایید.

3. در پنجره ظاهر شده Insert Table Of Contents را کلیک نمایید.

4. پس از تعریف مشخصات دلخواه خود در صفحه باز شده دگمه OK را کلیک نمایید.

5. نشانگر را در جلوی عناوینی که دوست دارید ، در فهرست قرار بگیرد ، قرار دهید.

6. در منوی References گزینه Add Text را کلیلک نمایید.

7. سطح مورد نظر خود را در پنجره باز شده تعیین نمایید.

8. گزینه Update Table را کلیک نمایید.



تلگرام

دسته بندی : آفیس مایکروسافت 

برچسب ها:

نظرات() 

Briefcase چیست ؟

نویسنده :
تاریخ:چهارشنبه 18 آذر 1394-02:13 ق.ظ

وقتی در دو رایانه کار می کنید ، برخی فایلهای ضروری در هر دو محل وجود دارند که گاهی و در زمان ضرورت آنها را بازنگری و تغییر می دهید. اغلب فایلها ی تغییر یافته در یک رایانه را با کپی کردن و جایگزین ساختن در رایانه دیگر به روز رسانی می نمایید. در صورت فراموش کردن ، مشکلاتی عدیده برای شما پیش می آید . Briefcase  این مشکل را برطرف می سازد. با کلیک راست در یک فولدر و ایجاد یک Briefcase تازه ، فایلهای در حال آماده خود را به درون آن انتقال دهید . Briefcase را به رایانه دیگر و یا کول دیسک خود انتقال دهید. با خیال راحت در کامپیوتر خود فایلهای مزبور را تغییر دهید . در پایان هر روز می توانید با باز کردن Briefcase و کلیک کردن روی گزینه Update  همه فایلها را به روز رسانی نمایید.




تلگرام

دسته بندی : آفیس مایکروسافت 

برچسب ها:

نظرات() 

دستور Conditional Formatting در نرم افزار اکسل

نویسنده :
تاریخ:چهارشنبه 18 آذر 1394-02:08 ق.ظ

وقتی با داده ها سر و کار دارید ، گاهی لازم می شود مقادیر خاصی را نشانه گذاری نمایید. برای مثال دوست دارید پنج رتبه اول و یا آخر ، مقادیر بیشتر از عددی خاص و 20 درصد اعداد را از بیشترین مقدار نمایش دهید. دستور Conditional Formatting به شما کمک می کند مقادیر مختلف را با رنگهای گوناگون نشان دهید. برای این کار داده های خود را در اکسل وارد نمایید . با انتخاب داده ها منوی Conditional Formatting را کلیک نمایید . گزینه مورد نظر خود را انتخاب و اجرا نمایید.

در زیر دو نمونه از این نمایش ها آورده می شود.

Excel Conditional Formatting



تلگرام

دسته بندی : آفیس مایکروسافت 

برچسب ها:

نظرات() 

محاسبات ریاضی و فرمول های اکسل Excel functions

نویسنده :
تاریخ:چهارشنبه 18 آذر 1394-01:17 ق.ظ

فرمول های اکسل Excel functions
تولید اعداد تصادفی در برنامه اکسل :

شاید دوست داشته باشید که در یک پژوهش و انتخاب چند نمونه از روش تصادفی استفاده نمایید. پس از دادن شماره به سوژه ها می توانید از دستور RAND استفاده نمایید.

1. دستور =RAND() این دستور شماره های تصادفی بین 0 و 1 ارائه می نماید . با زدن دگمه F9 هر بار شماره تازه می دهد .

2. دستور =RAND()*100 این دستور شماره های تصادفی بین 0 و 100 ارائه می دهد .

3. دستور =RANDBETWEEN(1;500) این دستور شماره تصادفی بین 1 و 500 ارائه می دهد .

دستور COMBIN :

دوست دارید تعداد حالتهای دو نفره از 10 نفر را محاسبه نمایید ، اکسل با دستور COMBIN این کار را برایتان انجام می دهد.

فرمول محاسبه : =COMBIN(10;2)

محاسبه لگاریتم :

برای محاسبه لگاریتم در مبنای ده از دستور =LOG(100) استفاده نمایید. برای محاسبه لگاریتم 10 در مبنای 2 دستور =LOG(10;2) را بنویسید.

محاسبه جذر یک عدد :

از دستور =SQRT(10) استفاده نمایید.

دستور SUMIF :

در بین یک سری از اعداد می خواهید مقادیر تعریف شده را با هم جمع نمایید. برای مثال می خواهید مقادیر بیشتر از 15 را جمع نمایید . برای این محاسبه دستور =SUMIF(B2:B50;”>15”)را بنویسید. شاید بخواهید مقادیر مربوط به شخصی خاص را در یک ستون دیگر جمع نمایید ، برای این کار از دستور
=SUMIF (A1:A50;”HASAN”;B1:B50) استفاده نمایید.

دستور SUMIFS :

گاهی لازم می شود در یک ستون مقادیری با معیارهای تعریف شده برای داده های موجود در ستونهای دیگر را با هم جمع نمایید. فرض نمایید مقادیری از ستون A را می خواهید جمع نمایید که مقادیر متناظر آنها در ستون B بیشتر از 10 و در ستون D کمتر از 5 باشد . برای انجام این محاسبه از دستور
=SUMIF(A1:A20;B1:B20;”>10”;D1:D20;”<5”) استفاده نمایید.

دستور POWER :

برای به دست آوردن نتیجه 15 به توان 16 از دستور =POWER(15;16) استفاده نمایید.

دستور SUMX2MY2 :

این دستور تفاضل مجذورات ستون X و ستون Y را با هم جمع می نماید. برای این محاسبه از دستور =SUMX2MY2(A1:A20;B1:B20) استفاده نمایید.

دستور SUMX2PY2 :

این دستور جمع مجذورات ستون X و ستون Y را با هم جمع می نماید. برای این محاسبه از دستور =SUMX2PY2(A1:A20;B1:B20) استفاده نمایید.

محاسبه شاخصهای مرکزی و پراکندگی در برنامه اکسل :
   
برای محاسبه میانگین و انحراف معیار یکسری داده می توانید از برنامه اکسل استفاده نمایید. ابتدا در یک پرونده تازه اکسل داده ها را در یک ستون وارد کنید. خانه مورد نظر خود برای قرار دادن مقدار شاخص را انتخاب نمایید. از منوی Formulas شاخص Average  و یا STDEV را انتخاب کنید. سری اعداد خود را انتخاب و Enter  را کلیک نمایید .

محاسبه میانگین و انحراف معیار به کمک نرم افزار اکسل:
   
1. ابتدا اعداد مورد نظر خود را در یک ستون در نرم افزار اکسل وارد نمایید.

2. اعداد نوشته شده را انتخاب نمایید.

3. Insert Function را در منوی Formulas کلیک نمایید.

4. Average و یا STDEV را انتخاب نمایید.

5. در خانه ای که می خواهید نتیجه محاسبه در آن قرار بگیرد ، کلیک نمایید.

6. در پنجره ظاهر شده محدود اعداد دلخواه خود را انتخاب نمایید.

7. میانگین و یا انحراف معیار در جای مورد نظر ثبت می شود.




تلگرام

دسته بندی : آفیس مایکروسافت 

برچسب ها:

نظرات() 

جلوگیری از ایندکس index شدن یک بخش از سایت توسط گوگل

نویسنده :
تاریخ:سه شنبه 26 آبان 1394-01:24 ب.ظ

جلوگیری از ایندکس شدن بخشی از سایت

چگونه به گوگل بگوییم این بخش از سایت من را نخوان !


  • تنظیمات صفحه برای جلوگیری از ایندکس شدن توسط گوگل :
شاید برای شما هم پیش آمده باشد بخواهید بخشی از سایت خود را خارج از دسترس Google crawls نگه دارید .
من راهکار ساده ای به شما معرفی می کنم :

  • بهره گیری از تگ های googleon / googleoff
برای آنکه یک واژه را خارج از دسترس کرولر قرار دهید
<!--googleoff: index-->

یک کلمه

<!--googleon: index-->

یک کلمه

  • بهره گیری از این تگ ها برای چندین خط یا div
<!--googleoff: all-->

<div id="comments">

<p>این متن توسط گوگل خوانده نخواهد شد</p>
<p>این متن توسط گوگل خوانده نخواهد شد</p>
<p>این متن توسط گوگل خوانده نخواهد شد</p>
<p>این متن توسط گوگل خوانده نخواهد شد</p>

</div>

<!--googleon: all-->

<p>این متن خوانده می شود</p>

  • با nofollow به گوگل بگوید از خواندن یک صفحه پرهیز کند :
<meta name="robots" content="nofollow" />

  • با nofollow به گوگل بگویید یک لینک خاص را دنبال نکند :
<a href="signin.php" rel="nofollow">sign in</a>






تلگرام

دسته بندی : SEO 

برچسب ها:

نظرات() 


  • تعداد صفحات :20
  • 1  
  • 2  
  • 3  
  • 4  
  • 5  
  • 6  
  • 7  
  • ...