زبان پرسوجوی ساختیافته
نسخه 1.2
حق نشر © 2001 - Relational Systems Corporation
3646 Townline Road
Omer, Michigan 48749
Phone 989-653-3114 - Fax 989-653-3115
صفحه PDF 1 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
فهرست مطالب
| بخش | موضوع | صفحه منبع |
| 1 - مقدمه | اهداف دوره | 3 |
| پایگاه داده رابطهای چیست؟ | 4 |
| SQL چیست؟ | 5 |
| 2 - پرسوجوهای پایه | انتخاب همه ستونها و سطرها | 9 |
| انتخاب ستونهای مشخص | 11 |
| انتخاب سطرهای مشخص | 13 |
| مرتبسازی سطرها | 17 |
| حذف سطرهای تکراری | 20 |
| 3 - عملگرهای پیشرفته | عملگر LIKE | 23 |
| عملگر AND | 25 |
| عملگر BETWEEN | 27 |
| عملگر OR | 29 |
| عملگر IN | 31 |
| عملگر IS NULL | 33 |
| تقدم و نقیضسازی | 35 |
| 4 - عبارتها | عبارتهای حسابی | 38 |
| عبارتها در Clauseهای دیگر | 41 |
| نام مستعار ستونها | 43 |
| 5 - توابع | توابع آماری | 46 |
| گروهبندی | 49 |
| توابع در Clauseهای دیگر | 51 |
| 6 - پرسوجوهای چندجدولی | Joinها | 55 |
| نام مستعار جدولها | 59 |
| Unionها | 61 |
| 7 - پرسوجو درون پرسوجو | Subqueryهای تکمقداری | 64 |
| Subqueryهای چندمقداری | 66 |
| Subqueryهای همبسته | 68 |
| 8 - نگهداری جدولها | درج سطرها | 71 |
| بهروزرسانی سطرها | 73 |
| حذف سطرها | 75 |
| تراکنشها | 77 |
| 9 - تعریف اشیای پایگاه داده | تعریف جدولها | 80 |
| بارگذاری جدولها | 82 |
| قیود یکپارچگی | 84 |
| تعریف ایندکسها | 88 |
| تعریف Viewها | 90 |
| A - ضمائم | پایگاه داده تمرین | 93 |
| پاسخ تمرینها | 94 |
| خلاصه نحو | 111 |
| نقدی کوتاه | 116 |
| مطالعه پیشنهادی | 117 |
| نمایه | 118 |
صفحه PDF 2 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
1 - مقدمه
- اهداف دوره
- پایگاه داده رابطهای چیست؟
- SQL چیست؟
صفحه PDF 3 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
اهداف دوره
پس از پایان این دوره، خواهید دانست پایگاه داده رابطهای چیست، SQL چیست و با استفاده از SQL چه کارهایی میتوان روی یک پایگاه داده رابطهای انجام داد. همچنین خواهید فهمید چرا SQL یک زبان مهم برای پایگاههای داده رابطهای است و عملاً قادر خواهید بود یک پایگاه داده رابطهای را پرسوجو، نگهداری و تعریف کنید.
پرسوجوی یک پایگاه داده رابطهای
در این دوره دامنه کامل قابلیتهای پرسوجوی SQL بررسی میشود. برای هر موضوع تمرینهای فراوانی همراه با پاسخ ارائه شده است. در پایان دوره میتوانید با SQL اطلاعات موردنیاز را از یک پایگاه داده رابطهای استخراج کنید.
نگهداری یک پایگاه داده رابطهای
همچنین میتوانید از طریق SQL اطلاعات را وارد پایگاه داده کنید. یاد میگیرید داده جدید درج کنید، داده موجود را بهروزرسانی کنید و داده منسوخ را حذف کنید. علاوه بر این، نحوه کار پایگاههای داده در محیطهای چندکاربره را درک خواهید کرد.
تعریف یک پایگاه داده رابطهای
در نهایت دانش کافی برای ایجاد اشیای پایگاه داده با SQL، از جمله جدولها، قیدها (Constraints)، ایندکسها و Viewها خواهید داشت. طراحی پایگاه داده، که در دورههای دیگر این مجموعه پوشش داده میشود، در این دوره بررسی نمیشود.
صفحه PDF 4 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
پایگاه داده رابطهای چیست؟
پایگاه داده رابطهای (Relational Database) مجموعهای از دادههاست که در جدولها ذخیره میشود. هر جدول از یک یا چند ستون عمودی و صفر یا چند سطر افقی تشکیل شده است. در سند اصلی دو جدول از پایگاه داده تمرینی، هرکدام با سه سطر داده نمونه، نشان داده شدهاند: PERSONS و COUNTRIES.
جدولها با نام شناسایی میشوند
نام جدول باید در یک پایگاه داده یکتا باشد. پایگاههای داده SQL رایج تا 18 نویسه را برای نام جدول مجاز میدانند. نویسه اول باید حرف باشد و نویسههای بعدی میتوانند حرف، عدد یا زیرخط باشند.
ستونها با نام شناسایی میشوند
نام ستون در هر جدول یکتا است، اما یک نام ستون میتواند در جدولهای مختلف تکرار شود. برای نمونه، هر دو جدول بالا ستونی به نام COUNTRY دارند.
سطرها با محتوایشان شناسایی میشوند
سطرهای یک جدول نام ندارند و موقعیتشان نیز در جدول ثابت نیست. بنابراین برای اشاره به سطرها، مقادیر دادهای داخل آنها را توصیف میکنیم؛ برای مثال «شخص شماره 2» یا «همه کشورهای انگلیسیزبان».
صفحه PDF 5 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
SQL چیست؟
SQL محبوبترین زبان در میان زبانهای پایگاه داده است. نام آن مخفف Structured Query Language، یعنی «زبان پرسوجوی ساختیافته»، است؛ هرچند SQL بسیار فراتر از صرفاً یک زبان پرسوجو است. برخی نام آن را حرفبهحرف S-Q-L تلفظ میکنند، اما بیشتر افراد آن را «sequel» میخوانند.
توسعهیافته توسط IBM
SQL در اصل در سال 1974 توسط D. D. Chamberlin و دیگران در آزمایشگاه پژوهشی سنخوزه IBM توسعه یافت و سرانجام در سالهای 1982 تا 1983 بهعنوان بخشی یکپارچه از محصولات پایگاه داده SQL/DS و DB2 شرکت IBM در اختیار عموم قرار گرفت.
پذیرفتهشده در سراسر جهان
SQL در سال 1986 بهعنوان استاندارد رسمی توسط مؤسسه استانداردهای ملی آمریکا (ANSI) و در سال 1987 توسط سازمان بینالمللی استانداردسازی (ISO) پذیرفته شد. در زمان انتشار این متن، SQL در بیش از 100 محصول تجاری موجود بود.
پیادهسازی به شیوههای متعدد
با وجود محبوبیت و پذیرش بهعنوان استاندارد رسمی، زبان SQL تا حدی مبهم تعریف شده و از چند ناسازگاری داخلی رنج میبرد. نتیجه، شکلگیری «گویشهای» مختلف SQL است که اندکی، اما گاه آزاردهنده، با یکدیگر تفاوت دارند.
صفحه PDF 6 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
SQL چیست؟ - ادامه
زبان پایه SQL در واقع بسیار کوچک است و یادگیری و استفاده از آن نسبتاً آسان است. این زبان از شش نوع دستور اصلی SELECT، INSERT، UPDATE، DELETE، CREATE و DROP تشکیل شده که میتوان آنها را در سه گروه زیر دستهبندی کرد.
دستورهای SQL بر اساس گروه| گروه | دستور | هدف |
|---|
| پرسوجو | SELECT | نمایش سطرهای یک یا چند جدول |
| نگهداری | INSERT | افزودن سطر به جدول |
UPDATE | تغییر سطرهای جدول |
DELETE | حذف سطر از جدول |
| تعریف | CREATE | افزودن جدول، ایندکس و View |
DROP | حذف جدول، ایندکس و View |
دستورهای پرسوجو
دستور SELECT که شکلهای مختلفی دارد، برای ساخت همه پرسوجوها به کار میرود. دستورهای SELECT «سؤالهایی» مطرح میکنند که پاسخشان در یک یا چند جدول پایگاه داده وجود دارد یا از آنها قابل محاسبه است.
دستورهای نگهداری
دستور INSERT که دو شکل متفاوت دارد، برای افزودن سطرهای جدید به جدول استفاده میشود؛ یک یا چند سطر در هر بار. UPDATE برای تغییر سطرهای موجود و DELETE برای حذف سطرهای منسوخ به کار میرود.
دستورهای تعریف
دستور CREATE نیز شکلهای مختلفی دارد و برای تعریف جدولها، ایندکسها و Viewهای جدید استفاده میشود. شکلهای مختلف دستور DROP برای حذف این اجزا در زمانی که دیگر موردنیاز نیستند به کار میرود.
صفحه PDF 7 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده
SQL چیست؟ - ادامه
یک دستور SQL مجموعهای از Clauseها، کلیدواژهها و پارامترهاست که یک کار مشخص انجام میدهد. در مثالهای سند اصلی هر Clause در یک خط جدا نمایش داده شده، کلیدواژهها با حروف بزرگ و پارامترها با حروف کوچک آمدهاند.
-- Query statement
SELECT columns
FROM table
WHERE comparisons
-- Maintenance statement
DELETE
FROM table
WHERE comparisons
-- Definition statement
CREATE
INDEX index
ON table ( columns )
Clauseها
Clauseهای مختلف دستورهای SQL از واژه آغازین خود نام میگیرند؛ برای مثال Clause SELECT یا Clause FROM. SQL اجازه میدهد چند Clause در یک خط نوشته شوند، اما بیشتر برنامهنویسان SQL برای وضوح و سهولت ویرایش، آنها را در خطوط جدا مینویسند.
کلیدواژهها
SQL تعداد کمی واژه را برای اهداف خاص رزرو میکند که «کلیدواژه» (Keyword) نام دارند. کلیدواژهها را میتوان با حروف بزرگ، کوچک یا ترکیبی وارد کرد؛ در این متن با حروف بزرگ نشان داده شدهاند. کلیدواژهها نباید بهعنوان نام جدول یا ستون استفاده شوند.
پارامترها
پارامترها بخشهای «متغیر» هر Clause هستند. هنگام ساخت یک دستور SQL، نام ستونها، نام جدولها و سایر مقادیر مناسب را بهجای پارامترهایی که در نمونهها با حروف کوچک نشان داده شدهاند قرار میدهید.
صفحه PDF 8 - تصویر منبع اصلی برای کنترل بصری و حفظ عناصر اسکنشده