🌐 جهان فناوری اطلاعات

💻 تازه ترین های فناوری اطلاعات(IT)

💻 تازه ترین های فناوری اطلاعات(IT)

🌐 جهان فناوری اطلاعات
آخرین نظرات

۱۹۶ مطلب در آذر ۱۳۹۴ ثبت شده است


با تابع isNull در اسکیوال میتوان تعیین کرد که در صورتی که مقدار یک فیلد از رکورد برابر مقدار NULL بود ، خروجی به جای مقدار NUll ، چه مقدار دیگری شود.

به این صورت که این تابع میگوید اگر Null بود خروجی چه شود.

ساختار تابع isNull در sql به صورت زیر است :

SELECT ISNULL(column_name,value)

FROM table_name

مثال : استفاده از این تابع مهم در فیلدهای ترکیبی یا محاسباتی بسیار زیاد است :

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products

نکته مهم : در مثال بالا در صورتی که ISNULL UnitsOnOrder,0 را قرار ندهیم و مستقیما UnitsOnOrder را قرار دهیم ، ممکن است در صورت Null بودن یکی از مقادیر این فیلد در رکوردهای جدول محصولات ، با ارور مواجه شویم.

نکته : یکی از توابع بسیار کاربردی که برنامه نویسان با نادیده گرفتن آن و ارجاع کار این تابع به بخش برنامه نویسی برنامه هاشون از کارایی سیستم میکاهند، تابع و دستور isNull در اسکیوال می باشد.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


محدودیت Default  , SQL DEFAULT Constraint یا مقدار پیش فرض در sql

از محدودیت Default یا مقدار پیش فرض در اس کیو ال ، میتوانیم زمانی استفاده کنیم که ، در هنگام ساخت جدول و تعیین نوع فیلدها، مقدار Default Value و یا پیش فرض به یک فیلد بدهیم.

در واقع محدودیت در اینجا به این معنی می باشد که  اگر کاربر در هنگام درج یا به روزرسانی مقدار آن فیلد را وارد نکرد، مقدار Default Value به جای آن قرار بگیرد.

 محدودیت DEFAULT در هنگام ساخت جدول

برای تعریف یک محدودیت Default در دستور create table از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)

از محدودیت Default می توان در مواقعی که میخواهیم  از function ها در SQL استفاده کنیم،ز دستور SQL به صورت  زیر استفاده می کنیم:برای مثال تابع ()GETDATE

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
)

محدودیت DEFAULT پس از ساخت جدول

برای تغییر دادن محدودیت Default  از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES'

از بین بردن محدودیت DEFAULT

برای از بین بردن محدودیت Default یا مقدار پیش فرض در sql ، از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تابع Max در sql بیشترین مقدار موجود در بین مقادیر فیلدهای یک ستون را بر می گرداند.

تابع max در sql با ستون هایی که داده آنها از نوع عددی یا حروفی باشد ، می تواند به کار رود . در فیلدها با مقادیر عددی تابع بزگترین عدد و در فیلدها با مقادیر متنی ، تابع max کلمه ای که به ترتیب حروف الفبا از آ تا ی در فارسی و A تا Z در انگلِسی در آخرین رده باشد ، را بر می گرداند .

ساختار این دستور به صورت زیر است :

SELECT MAX(column_name) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


تابع round در sql برای round (روند کردن) کردن یک مقدار عددی به تعداد اعشار مشخص استفاده میشود. نام ستون و تعداد رقم اعشار را داخل پرانتز این دستور تعیین میکنیم .

ساختار دستور round در sql به صورت زیر است :

SELECT ROUND(column_name,decimals) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

تفاوت دستور Join و دستور InnerJoin در performance آنها می باشد. نتیجه ی اجرای هر دوی آنها یکسان است اما دستور InnerJoin دارای Prformance و کارایی بالاتری می باشد و به همین دلیل توصیه می شود که از دستور InnerJoin استفاده شود.

شکل کلی این دستور به صورت زیر است که در آن کلمه ی کلیدی ON فیلد رابطه رو در دو جدول مشخص میکند :

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

 در دستور INNER JOIN در اسکیوال بایستی حداقل یک رابطه در هر دو جدول وجود داشته باشد که بعد از کلمه کلیدی On می آید.

نکته مهم : مهمترین دستور ها در آموزش sql ، دستور inner join می باشد که یادگیری کامل دستور join میتواند تفاوت اصلی آموزش حرفه ای اسکیوال باشد.

 

مثال : اگر رکوردی (خروجی) که در جدول "Persons" وجود دارد هیچ تطابقی با خروجی های جدول "Orders" نداشته باشد ، این رکوردها در خروجی این دستور sql نمایش داده نمیشوند.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


از دستور Create Index در اسکیوال برای ایجاد اندیس در ستون های جدول استفاده می شود .
در یک جدول می توان برای یک یا چند ستون جدول اندیس ایجاد کرد ، که این اندیس ها باعث بالا رفتن سرعت جستجو در رکوردهای جدول می شود .
اندیس یک شماره است که به هر سطر جدول اختصاص داده می شود و معمولا از صفر شروع می شود . اندیس ها از دید کاربر مخفی هستند و هر اندیس یک نام منحصر به فرد دارد .

 برای ایجاد یک اندیس با داده های تکراری به صورت زیر عمل میکنیم :

CREATE INDEX index_name
ON table_name (column_name)

مثال :

CREATE INDEX PIndex
ON Persons (LastName)

برای ایجاد یک اندیس یا index ، با داده های منحصر به فرد (unique) به صورت زیر عمل میکنیم :

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

 برای ایجاد یک اندیس ( index ) برای بیش از یک فیلد ، باید نام فیلد های مورد نظر را به ترتیب در پرانتز بعد از نام جدول وارد کرد .

CREATE INDEX PIndex
ON Persons (LastName, FirstName)

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

در مدل رابطه‌ای داده‌ها، زبان ساختارمند پرسش‌ها یا اس کیو ال یا سی کوال (Structured Query Language - SQL) زبانی است سطح بالا مبتنی بر زبان سطح پایین و ریاضی جبر رابطه‌ای که برای ایجاد، تغییر، و بازیابی داده‌ها و نیز عملیات بر روی آنها به‌کار می‌رود.

زبان SQL به سمت مدل شی‌گرا - رابطه‌ای نیز پیشرفت کرده است.

سی‌کوال استاندارد (ANSI (American National Standards Institute را در سال ۱۹۸۶ و ISO (International Organization for Standardization) را در سال ۱۹۸۷ اتخاذ نمود. استانداردهای مختلفی از اس‌کیوال تاکنون عرضه شده که در جدول زیر بیان می‌کنیم:

  • اس‌کیوال-۸۷
  • اس‌کیوال-۸۹
  • اس‌کیوال-۹۲
  • اس‌کیوال:۱۹۹۹
  • اس‌کیوال:۲۰۰۳
  • اس‌کیوال:۲۰۰۵
  • اس‌کیوال:۲۰۰۸
  • اس‌کیوال:٢٠١١

SQL چیست ؟ (اس کیو ال)

بسیاری از اصطلاحات زبان اس‌کیوال تحت استاندارد بین‌المللی بوده، و در نتیجه، از آنها شبیه بقیه زبانهای استاندارد مثل محصولات شرکت اوراکل PL/SQL [۲] یا Sybase و SQL PL (مدل رویه‌ای) از شرکت آی‌بی‌ام می‌باشد.

اس‌کیوال برای کارهای ویژه و محدودی (گزارش گیری از داده‌ها در پایگاه داده‌های رابطه‌ای) طراحی شده‌است. بر خلاف زبانهای دستوری مثل بیسیک یا سی که برای حل مسائل طراحی شده، SQL زبانی بر پایه اعلان است. زبانهای توسعه یافته‌ای مثل PL/SQL به دنبال کامل کردن زبان به هدف ایجاد زبان برنامه نویسی با حفظ مزیت‌های SQL می‌باشد. شیوه دیگر کار این است که به کدهای زبان برنامه نویسی اجازه دسترسی به پایگاه داده به کمک دستورات SQL داده شود مثلاً PostgreSQL به توابعش اجازه می‌دهد که درون کدهای Perl، Tcl و C نوشته شوند. گاهی به شوخی گفته می‌شود که SQL نه ساخت یافته‌است، نه محدود به گزارش گیری‌ها و اصلاً یک زبان نیست!

مزایای SQL 

  • SQL بر پایه زبان پرس و جو ساخت یافته میباشد
  • SQL به شما اجازه دستیابی و کنترل داده ها را می دهد
  • SQL یک استاندارد ANSI( انجمن استاندارد ملی آمریکا) میباشد.
  • SQL میتواند درخواستهای پیوسته یک پایگاه داده را اجرا کند
  • SQL متواند دوباره اطلاعات را از پایگاه داده پس بگیرد
  • SQL میتواند یک رکورد شامل اطلاعات را در پایگاه داده ذخیره کند
  • SQL متواند اطلاعات پایگاه داده را به روز رسانی کند
  • SQL میتواند هر قسمت از اطلاعات را از پایگاه داده اصلاح یا حذف کند
  • SQL میتواند یک پایگاه داده تازه بسازد
  • SQL میتواند جداول حاوی اطلاعات جدید را به پایگاه داده اضافه کند
  • SQL اجازه تنظیم جداول و شیوه دستیابی به اطلاعات و نحوه نمایش اطلاعات را میدهد.

در مقالات آموزش sql ما تمامی مفاهیم موجود در بالا را توضیح خواهیم داد .

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تمامی جدول ها ، اندیس ها ، و حتی دیتابیس ها میتوانند با دستور Drop در sql حذف شوند. شیوه های استفاده از دستور drop در sql به شرح زیر است :

 

دستور Drop Index

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

DROP INDEX table_name.index_name

دستور Drop Table

از دستور DROP TABLE برای حذف یک جدول در پایگاه داده استفاده می شود.

DROP TABLE table_name 

دستور Drop Database

از دستور DROP DATABASE برای حذف  یک پایگاه داده به صورت کامل استفاده می شود

DROP DATABASE database_name

دستور TRUNCATE

برای حذف کلیه اطلاعات موجود در یک جدول بدون حذف ستون های آن از دستور TRUNCATE استفاده می کنیم :

TRUNCATE TABLE table_name

این دستور باعث خالی شدن جدول از اطلاعات می شود ، بدون اینکه خود آن و ساختارش تغییری کند . 

مثال :

 Truncate Table Mydb;

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


 خروجی  دستور FULL JOIN در sql از بین سطرهایی انتخاب میشود که یک رابطه در یکی از جداول بایستی وجود داشته باشد.

به طور خلاصه دستور full join ( دستور full outer join ) بصورت or کار میکند و دستور inner join بصورت and .

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

مثال : در مثال زیر ما میخواهیم با استفاده از دستور full join در اسکیوال ، همه ی افراد با سفارش هایشان و همه ی سفارشات با افراد مربوط به آنها را در خروجی نمایش دهیم.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

  • استفاده از یک برنامه سیستم مدیریت پایگاه داده رابطه ای  (RDBMS)  مانند Access  ، SQL Server ، My SQL 
  • یک زبان برنامه نویسی تحت سرور مانند PHP یا ASP 
  • استفاده از پایگاه داده SQL
  • استفاده از HTML و CSS

داده ها در RDBMS  در قسمت Table ذخیره میشوند.جدول ها مجموعه از اطلاعات مربوط به برنامه میباشند ، هر جدول شامل سطر ها و ستون ها میباشد.استفاده از SQL  در طراحی سایت به شما کمک میکند تا یک وب سایت داینامیک و پویا ایجاد کنید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تابع First در اسکیوال مقدار اولین رکورد را در یک فیلد بر می گرداند . ترتیب در تابع first ، همان ترتیب قرار گیری رکوردها در جدول است .

ساختار دستور first در sql به صورت زیر است :

SELECT FIRST(column_name) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

نکته مهم در مورد دستور Between در sql اینست که باید نوع مدنظر با نوع داده ای فیلد های استفاده شده در دستور یکسان باشد .
نکته ی دیگر در مورد Between در مورد داده های متنی ، ترتیب قرار گیری حروف الفبا مد نظر برنامه است .

ساختار این دستور به صورت زیر است : 

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

مثال :  برای نمایش اطلاعات درون محدوده تعیین شده به صورت زیر عمل میکنیم : 

SELECT * FROM Persons
WHERE LastName
BETWEEN 'Hansen' AND 'Pettersen'

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

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Hansen' AND 'Pettersen'

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

تابع COUNT در sql تعداد سطرهای موجود در یک فیلد را شمرده و مقدار آنرا بر می گرداند . به تابع count در اسکیوال ، تابع سطر شمار هم می گویند .

نکته مهم : تابع count در اس کیو ال ، فیلدهایی که مقدار آنها خالی یا تکراری باشد را نمی شمارد . برای شمارش کلیه فیلدها ( حتی تکراری ) باید قبل از نام ستون در دستور Count عبارت Distinct ذکر شود.

ساختار این دستور به صورت زیر است :

SELECT COUNT(*) FROM table_name

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


منشا اصلی سی‌کوال به مقالهٔ سال ۱۹۷۰ ادگار کاد تحت عنوان «مدل رابطه‌ای داده‌ها برای بانک‌های بزرگ داده‌های اشتراکی»[۱] باز می‌گردد. در دههٔ ۷۰ گروهی از شرکت آی‌بی‌ام در شهر سان خوزه بر روی سیستم پایگاه داده‌های سیستم آر بدون توجه به این مقاله کار می‌کردند و زبان SEQUEL را به منظور عملیات و بازیابی اطلاعات ذخیره شده در سیستم آر ایجاد کردند. اگر چه اس‌کیوال ناشی از تلاشهای کاد بود اما دونالد چامبرلین و ریموند بویس به عنوان طراحان زبان SEQUEL شناخته می‌شوند.

سمینارهایی در زمینه فناوری بانک اطلاعاتی و مباحثاتی در مورد مزایای مدل رابطه‌ای جدید برگزار گردید. تا ۱۹۷۶ مشخص بود که آی‌بی‌ام که طرفدار جدی فناوری بانک اطلاعاتی رابطه‌ای بوده، توجه زیادی نسبت به زبان سی‌کوال دارد. تبلیغات در زمینه سیستم آر باعث جذب گروهی از مهندسین در منلو پارک در کالیفرنیا گردید. این گروه به این نتیجه رسیدند که تحقیقات آی‌بی‌ام منجر به یک بازار تجاری برای بانک‌های اطلاعاتی رابطه‌ای خواهد گردید.

در ۱۹۷۷ این گروه شرکتی بنام اینک (Inc) و رلیشنال سافتویر (Relational Software) تأسیس نمودند تا یک سامانه‌ مدیریت پایگاه‌های داده‌ رابطه‌ای بر اساس سی‌کوال بسازند. محصولی بنام اوراکل در ۱۹۷۹ عرضه گردید، و اولین سامانه مدیریت پایگاه داده رابطه‌ای بوجود آمد. به این ترتیب محصول اوراکل باعث گردید اولین محصول آی‌بی‌ام برای مدت ۲ سال در بازار دچار رکود باشد. این محصول بر روی مینی کامپیوترهای وکس دیجیتال (VAx Digital) اجرا می‌شد که خیلی از کامپیوترهای بزرگ آی‌بی‌ام ارزان‌تر بودند.

امروزه این شرکت با نام اوراکل اولین فروشنده سیستم‌های مدیریت بانک اطلاعاتی رابطه‌ای است. استادان آزمایشگاه‌های کامپیوتر در دانشگاه برکلی کالیفرنیا نیز در نیمه دهه ۱۹۷۰ مشغول تحقیق در زمینه بانک‌های اطلاعاتی رابطه‌ای بودن (مانند تیم تحقیق آی‌بی‌ام)، گروه فوق نیز یک نمونه از سامانه مدیریت پایگاه داده رابطه‌ای ایجاد نمودند و سیستم خود را اینگرس (Ingres) نام نهادند.

پروژه اینگرس شامل یک زبان پرس‌وجو بنام QUEL بود، اگر چه از سی‌کوال خیلی ساخت یافته تر بود، اما شباهت آن به زبان انگلیسی کمتر بود.

در حالیکه اوراکل و اینگرسبرای ارائه محصولات تجاری در رقابت بودند، پروژه سیستم آر شرکت آی‌بی‌ام در تلاش بوده‌است که یک محصو ل تجاری با نام SQL/Data system (یا SQL/DS) عرضه نماید. آی‌بی‌ام موجودیت SQL/DS را در ۱۹۸۱ اعلام، و در ۱۹۸۲ شروع به عرضه محصول خود نمود. در سال ۱۹۸۳ آی‌بی‌ام یک نسخه SQL/DS را برای VM/CMS (سیستم‌عاملی که در کامپیوتر بزرگ آی‌بی‌ام غالبا استفاده شده بود)، اعلام نمود.

همچنین در سال ۱۹۸۳ شرکت آی‌بی‌ام، محصول دی‌بی‌تو را معرفی نمود که یک سامانه مدیریت پایگاه داده رابطه‌ای برای سیستم‌های بزرگ آن شرکت بود. دی‌بی‌تو تحت سیستم‌عامل وی‌ام‌اس (سیستم‌عامل مراکز کامپیوتری بزرگ) اجرا می‌شد. اولین نسخه دی‌بی‌تو در ۱۹۸۵ عرضه گردید، و مسئولین آی‌بی‌ام اعلام نمودند که این محصول یک برنامه استراتژیک برای تکنولوژی نرم‌افزاری آی‌بی‌ام می‌باشد. از آن تاریخ تاکنون دی‌بی‌تو سامانه مدیریت پایگاه داده رابطه‌ای شاخصی بوده و آی‌بی‌ام از آن حمایت نموده و زبان «سی‌کوال دی‌بی‌تو» استاندارد عملی زبان بانک اطلاعاتی بوده‌است.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


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

شکل کلی دستور left join در sql بصورت زیر است :

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

نکته : در بعضی دیتابیس ها دستور LEFT JOIN با نام دستور LEFT OUTER JOIN استفاده میشود که تفاوتی در این زمینه وجود ندارد.

مثال : در این مثال جدول اصلی ، جدول Persons میباشد که در سمت چپ JOIN قرار دارد و خروجی ها بر اساس این جدول تنظیم میشوند.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

 در صورت نداشتن رابطه ی بعضی ای رکورد ها با جدول سمت راست ، فیلد های آن null انتخاب میشوند که با ترکیب آن با دستور isNull در اسکیول میتوانید خروجی های دلخواه خود را با استفاده از دستور left join بدست آورید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

 خروجی دستور RIGHT JOIN در اسکیوال از از جدول سمت راست انتخاب میشود، حتی اگر هیچ رابطه ای با  جدول چپ نداشته باشد. ساختار دستور right join به صورت زیر است :

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

نکته : در بعضی دیتابیس ها دستور RIGHT JOIN با نام دستور RIGHT OUTER JOIN استفاده میشود.

مثال : در این مثال جدول اصلی ، جدول Orders میباشد که در سمت راست JOIN قرار دارد و خروجی ها بر اساس این جدول تنظیم میشود.

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

در صورت نداشته رابطه ی بعضی ای رکورد ها با جدول سمت چپ ، فیلد های آن null انتخاب میشوند که با ترکیب آن با دستور isNull در اسکیول میتوانید خروجی های دلخواه خود را با استفاده از دستور right join بدست آورید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT

از دستور Union برای ترکیب و ادغام دو یا چند ستون مختلف از 2 یا چند جدول و نشان دادن آنها در یک ستون مشترک استفاده می شود .
در دستور union ، نوع داده ای ستون های انتخاب شده برای ترکیب باید یکسان باشند .

دستور Union در هنگام ترکیب فیلد ها ، در صورت برخورد با مقادیر تکراری آنها را حذف کرده و از هر مقدار یک نمونه را نمایش می دهد . ساختار دستور union به صورت زیر است:

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

مثال :

SELECT E_Name FROM Employees_Norway
UNION
SELECT E_Name FROM Employees_USA

 برای مشاهده تمام مقادیر ، حتی مقادیر تکراری باید از دستور Union ALL استفاده کرد

ساختار این دستور به صورت زیر است :

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

مثال :

SELECT E_Name FROM Employees_Norway
UNION ALL
SELECT E_Name FROM Employees_USA
Result

در آموزش sql ، دستور union و دستور union all کاربرد های ویژه و خاصی دارند.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


محدودیت Primary Key , SQL PRIMARY KEY Constraint یا کلید اصلی در اس کیو ال

از محدودیت Primary Key زمانی استفاده میکنیم که میخواهیم فیلد کلید اصلی در sql ، تعریف کنیم.

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

  • فیلد کلید اصلی در اسکیوال هیچ وقت Null نمی‌پذیرد. پس ستون Allow Nulls  برای این فیلد نباید چک خورده باشد.
  • هر جدول فقط می تواند یک کلید اولیه (Primary Key) داشته باشد.


اعمال محدودیت PRIMARY KEY در هنگام ساخت جدول

برای تعریف محدودیت Primary Key در دستور create table از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

برای تعریف محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)


محدودیت PRIMARY KEY پس از ساخته شدن جدول

برای تغییر دادن محدودیت Primary Key روی یک ستون از دستور SQL زیر استفاده می کنیم:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

برای تغییر دادن محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

برای از بین بردن یک PRIMARY KEY

برای از بین بردن محدودیت Primary Key یا کلید اصلی ، از دستور SQL زیر پیروی می کنیم:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


چنانچه در ستون های مورد جستجو ، موارد تکراری وجود داشته باشد در نتیجه خروجی نمایش داده خواهند شد . برای جلوگیری از چنین موردی و عدم نمایش موارد تکراری پس از دستور Select عبارت DISTINCT نوشته می شود .

SELECT DISTINCT column_name(s)
FROM table_name

مثال : تصور کنید یک جدول مشتری با ١٠٠٠ رکورد با ٩٠ درصد مشتری از کالیفرنیا، Query زیر کد CA را ٩٠٠٠ بار خواهد باز گرداند که اصلاً یک نتیجه مفیدی نمی باشد.

SELECT State From Customer

کلید واژه Distinct در این موقعیت شما را کمک می کند. Distinct که درست بعد از SELECT قرار می گیرد، به SQL Server دستور داده که سطرهای تکراری در نتایج را حذف نماید. بنابراین Query زیر هر کد ایالتی را فقط یک بار باز می گرداند به طور وضوح لیستی که شما جستجو می کنید.

SELECT DISTINCT State From Customer

نکته : همتای کلید واژه Distinct ، All می باشد که SQL Server را برای بازگرداندن همه سطرها آگاه می سازد خواه آن واحد باشد یا خیر. All پیش فرض دستور select است ، پس نیازی به نوشتن آن نیست.

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT


از دستور Alter Table برای اضافه کردن یا حذف کامل یک ستون از یک جدول و یا تغییر نوع داده ی فیلد موجود در پایگاه داده sql استفاده می شود.

  • اضافه کردن فیلد به جدول در اسکیوال

برای اضافه کردن یک ستون ( فیلد ) جدید به یک جدول موجود در اسکیوال از دستور ALTER TABLE  استفاده می شود:

ALTER TABLE table_name
ADD column_name datatype

  • حذف یک فیلد جدول در sql

برای حذف یک ستون از یک جدول موجود به روش زیر عمل می شود :

ALTER TABLE table_name
DROP COLUMN column_name

  • تغییر نوع داده ی یک فیلد جدول در sql

برای تغییر نوع داده ی یک فیلد از جدول در اسکیوال از دستور زیر استفاده میکنیم :

ALTER TABLE table_name
ALTER COLUMN column_name datatype

همانطور که دیدید ، دستور alter table یکی از مهمترین دستورات در sql است که با 3 پارامتر  و کلمه ی کلیدی زیر ، تغییرات جدول را با استفاده از کد در sql راحت میکنند :

  • ADD
  • DROP COLUMN
  • DROP COLUMN

 نکته مهم : برای تغییر نام های فیلدهای جدول در اسکیوال باید از sp های اسکیوال استفاده کرد . در مقاله ی زیر ، تغییر نام فیلدها همراه با مثال توضیح داده شده است :

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ آذر ۹۴ ، ۰۰:۰۰
مهندسان IT