تاریخچه SQL از لابراتوار IBM در سان خوزه کالیفرنیا شروع میشود. جایی که SQL در اواخر دهه 1970 میلادی شکل گرفت.
کلمه SQL برگرفته از حروف اول کلمات Structuted Query Language ساخته شده و اغلب اوقات اشاره به 'sequel' میکند.
این زبان ابتدا برای محصول DB2 شرکت IBM (یک سیستم مدیریت پایگاه دادهای رابطهای یا RDBMS که امروزه نیز برای بعضی محیطها فروخته میشود، طراحی شد.)
در واقع SQL امکان RDBMS را فراهم میآورد. SQL یک زبان غیر روالمند میباشد، بر خلاف زبانهای روانمند یا زبانهای نسل سوم (3 GLs) مثل کوبول و C که در آن زمانها ایجاد شده بودند.
تذکر ـ غیر روانمند یعنی چه به جای چگونه، بطور مثــال SQL میگوید که دادهها باید ذخیره، حذف، اضافه یا بازیابی شوند بدون آنکه به چگونگی انجام آنها کاری داشته باشد.
ویژگی مهمی که باعث تفاوت بین DBMS و RDBMS میگردد، آن است که یک RDBMS از یک زبان مبتنی بر مجموعهها استفاده میکند. در اکثر RDBMS ها این زبان، زبان SQL است. در نتیجه SQL زبان مبتنی بر مجموعهها است.
SQL، یک زبان کامپیوتری مبتنی بر استاندارد (American National Standards Institute) ANSI برای بازیابی و بروز رسانی دادهها در یک پایگاه دادهای میباشد و با برنامههای پایگاه دادههایی مانند MS Access ، DB2 ، MS SQL Server ، Oracle، Sybase و ... کار میکند.
از طریق SQL، یک برنامه نویس یا گرداننده دادهها میتواند کارهای زیر را انجام دهد:
! تغییر ساختار یک پایگاه دادهای
! تغییر مشخصات امنیتی سیستم
! امکان اعطای اجازه دسترسی کاربران به پایگاه دادهای یا جداول
! پرس و جو از یک پایگاه دادهای
استفاده از SQL و پایگاه دادهای رابطهای نیز از مهمترین اقدامات انجام شده در جهت توسعه کاربرد Client/Server میباشد.
SQL بطور کلی شامل دو گروه از جملات میباشد:
- جملات پردازش دادهها (DML)
- جملات تعریف دادهها (DDL)
جملات پردازش دادهها (DML) شامل عبارات زیر میباشند:
¶ INSERT
¶ DELETE
¶ UPDATE
مهمترین عبارات DDL در SQL نیز عبارتند از:
¶ CREATE TABLE
¶ ALTER TABLE
¶ DROP TABLE
¶ CREATE INDEX
¶ DROP INDEX
¶ CREATE VIEW
¶ DROP VIEW
در بخشهای بعد بطور کاملتر این دستورات توضیح داده خواهند شد.
دستور SELECT
قاعده نگارش را با دستور SELECT شروع میکنیم زیرا اکثر جملات با SELECT شروع میشوند. این دستور که دستوری مستقل نیست و حتما باید با اجزایی بکار رود، جهت ساخت پرس و جو بر روی بانک اطلاعاتی بکار میرود و رکوردهایی را که با شرایط این دستور همخوان باشد، به عنوان نتیجه پرس و جو برمیگرداند.
توجه ـ هرگاه SELECT استفاده میشود حتما باید از شبه جملات FROM نیز استفاده شود.
انتخاب تمام ستونها:
SELECT * FROM table_name
انتخاب ستونهای خاص:
SELECT column_name(s)
FROM table_name
تذکر ـ در بعضی از نرمافزارهای SQL علامت سمیکولن (;) در انتهای جمله به مفسر میگوید که پرس و جو تمام شده است. به عنوان مثــال SQL*plus اوراکل، پرس و جویی را اجرا نمیکند تا زمانیکه یک سمیکلون (یا یک اسلش (/)) را پیدا نکند. در حالی که بعضی دیگر از نرم افزارهای SQL از سمیکلون به عنوان انتهای یک جمله SQL استفاده نمیکنند. به عنوان مثــال پرس و جو در مایکروسافت نیازی به تمام کننده ندارد زیرا پرس و جو در جعبه ویرایش تایپ میشود و وقتی دکمهای را فشار دهیم اجرا میگردد.
پرس و جو با استفاده از DISTINCT
برخی اوقات در جداول بعضی از اقلام دادهای تکرار میشون. اگر آنچه نیاز داریم آن است که بدانیم چه مقادیر متفاوتی در یک ستون وجود دارند، از دستور زیر استفاده میکنیم:
SELECT DISTINCT column_name(s)
FROM table_name
این جمله اقلام دادهای تکراری در ستون مورد نظر را حذف میکند. به عبارت دیگر DISTINC باعث محدود شدن نتایج خروجی میشود به شکلی که دادههای تکراری در جواب ظاهر نمیشوند.
عبارات
یک عبارت یک مقدار را برمیگرداند. از نقطه نظر نوع داده، عبارت انواع متفاوتی دارد مثل رشته، عدد و بولین. در واقع هر چیزی پس از شبه جمله (بطور مثــال SELECT یا FROM) بیانگر یک عبارت است. در مثــال زیر amount یک عبارت است که مقدار ستون omount را بر میگرداند:
SELECT amount FROM checks
شرایط
اگر بخشی از اقلام یا گروهی از اقلام را در پایگاه اطلاعاتی بخواهیم، به یک یا چند شرط احتیاج دارد. شرایط در داخل شبه جمله WHERE میآیند.
شرایط' امکان پرس و جوهای انتخابیتر را میدهند. در متداولترین فرم آنها، شرایط از یک متغیر، یک مقدار ثابت و یک عملگر مقایسهای تشکیل میشوند.
قاعده نگارش شبه جمله WHERE :
SELECT column_name(s)
FROM table_name
WHERE condition
عملگرها
عملگرها عناصری هستند که برای بیان چگونگی شرایط مورد نظر جهت استخراج دادهها در داخل یک عبارت استفاده میشوند. عملگردها به 6 گروه تقسیم میشوند: ریاضی، مقایسهای، کاراکتری، منطقی، مجموعهای و متفرقه.
¨ عملگرهای ریاضی
عملگردهای ریاضی عبارتند از: جمع (+)، تفریق (-)، ضرب (*)، تقسیم (/) و باقیمانده صحیح (% یا MOD).
¨ عملگردهای مقایسهای
عملگرهای مقایسهای، عبارات را مقایسه نموده و یکی از این سه مقدار را بر میگردانند: صحیح (True)، غلط (False) یا ناشناخته (Unknown).
در فرهنگ اصطلاحات پایگاه دادهها، هیچ (NULL) به معنای عدم حضور داده در یک فیلد است. اما بدین مفهوم نیست که فیلد دارای مقدار صفر یا بلانک (blank) است. صفر یا بلانک یک مقدار است در حالیکه هیچ یعنی آن فیلد چیزی ندارد.
اگر مقایسهای مثل field=9 را انجام دهیم و بدانیم تنها مقدار قابل قبول برای آن فیلد هیچ است، آنگاه نتیجه مقایسه ناشناخته است. چون ناشناخته یک شرط نامناسب است، نسخههای مختلف SQL ، مقدار ناشناخته را با مقدار غلط جایگزین مینمایند و عملگر خاص IS NULL را برای آزمایش شرط NULL ارائه میدهند.
عملگرهای مقایسهای عبارتند از: مساوی (=)، بزرگتر از (> ) ، بزرگتر یا مساوی با (=>)، کوچکتر از (<)، کوچکتر یا مساوی با (=<) و نامساوی (= ! یا < >).
توجه ـ برای پیدا کردن مقادیر فیلدهای کاراکتری باید از علامت کوتیشن در طرفین مقدار مورد نظر استفاده شود. فیلدهای عددی نیازی به استفاده از علامت کوتیشن ندارند.
تذکرـ گرچه قاعده نگارش SQL به حروف بزرگ و کوچک حساس نیست، اما دادهها آن حساس میباشند. اکثر شرکتها ترجیح میدهند که اطلاعات را به شکل حروف کوچک ذخیره کنند تا بدین وسیله جامعیت دادهها را تأمین نمایند. پیشنهاد میشود که همه دادهها یا بصورت حروف بزرگ و یا بصورت حروف کوچک ذخیره شوند. ترکیب حروف بزرگ و کوچک احتمالا موجب بروز مشکلاتی در بازاریابی دقیق دادهها خواهد شد.
توجه ـ حروف بزرگ معمولا قبل از حروف کوچک ذخیره میشوند (ارزش کاراکتری حروف بزرگ کمتر از حروف کوچک است).
¨ عملگردهای کارکتری
از عملگردهای کاراکتری برای پردازش رشتههای کاراکتری استفاده میشود (هم در خروجی دادهها و هم به منظور گذاشتن شرطی روی دادههایی که باید بازیابی گردند.)
! عملگر LIKE
گاهی اوقات میخواهیم بخشی از اطلاعات پایگاه دادهها را که دارای الگوی خاصی است ولی کاملا یک داده خاص را نمیپوشاند، انتخاب و بازیابی نماییم. یک روش طولانی و خسته کننده آن است که الگوی مورد نظر را در حالات مختلف ممکن در سرتاسر پایگاه دادهها به همراه علامت = استفاده کنیم. راه حل بعدی استفاده از LIKE است.
SELECT coumn_name FROM table_name
WHERE column_name LIKE pattern
مثــال/
SELECT * FROM customers
WHERE LastName LIKE 'S%'
با استفاده از عبارت فوق، رکورد تمام مشتریانی که نام خانوادگی آنها با حرف S شروع میشود به عنوان خروجی، برگردانده خواهد شد.
تذکر ـ از علامت % میتوان در ابتدا، انتها و یا در هر دو طرف الگو (pattern) استفاده کرد.
اگر بخواهیم دادههایی را پیدا کنیم که یک یا چند کاراکتر از آن را در اختیار داریم، باید از نوع دیگری از wildcard، یعنی underscore (_ ) استفاده کنیم.
مثــال/
SELECT * FROM friends
Where phone LIKE '223_5_8_'
همچنین میتوان از ترکیب این دو Wildcard نیز استفاده کرد.
مثــال/
SELECT * FROM customers
WHERE LastName LIKE '_b% '
با استفاده از این مثــال تمام رکوردهایی که دومین کاراکتر نام خانوادگی آنها b است، پیدا میشوند.
عملگر «: عملگر» (لوله مضاعف) دو رشته را به هم متصل میکنند.
تذکر ـ بعضی از نسخههای SQL جهت اتصال از علامت جمع استفاده میکنند.
- عملگرهای منطقی
عملگرهای منطقی، دو یا چند شرط را در شبه جمله WHERE از یک جمله SQL جدا میکنند.
! عمگر AND : دو عبارت منطقی را ترکیب میکند. باید هر دو شرط داده شده در طرفین AND صحیح باشند تا نتیجه AND صحیح گردد. اگر یکی از شروط در طرفین AND غلط باشد، نتیجه AND غلط میگردد.
SELECT column_name(s)
FROM table_name
WHERE conditionl AND condition
! عملگر OR : از OR برای ارتباط شروط استفاده میشود. کافی است که یکی از شرطهای دو سمت OR صحیح باشد تا نتیجه OR صحیح گردد و در صورتی نتیجه OR غلط است که هر دو شرط دو سمت OR غلط باشند.
SELECT column_name(s)
FROM table_name
WHERE conditionl OR condition2
! عملگر NOT : شرط داده شده را منفی میکند. به عبارتدیگر اگر شرط داده شده قبل از NOT غلط باشد، بعد از اعمال NOT صحیح میشود و بالعکس.
NOT همچنین میتواند با عملگر IS زمانیکه از NULL استفاده میکنیم، همراه شود.
¨ عملگرهای مجموعهای
! عملگرهای UNION و UNION ALL :
UNION، اجتماع دو مجموعه پرس و جو را بدون تکرار برمیگرداند.
UNION ALL نیز شبیه UNION میباشد بجز آنکه تکراریها را حذف نمیکند.
SQL STATEMENT 1
UNION/UNION ALL
SQL STATEMENT 2
! عملگر INTERSECT : رکوردهایی را برمیگرداند که در هر دو پرس و جو وجود داشته باشند (مشترک باشند).
SQL STATEMENT 1
INTERSECT
SQL STATEMENT 2
! عملگر MINUS : کلیه ردیفهایی را ه در پرس و جوی اول هستند ولی در پرس و جوی دوم نیستند، برمیگرداند.
SQL STATEMENT 1
MINUS
SQL STATEMENT 2
¨ عملگرهای دیگر
! عملگر IN : از عملگر IN هنگامی استفاده میشود که مقدار دقیق آنچه را که میخواهیم برگردانده شود، را بدانیم.
فهرست مطالب:
فصل اول: بررسی بانک اطلاعاتی SQL.............................................................
الف ـ آشنایی و استفاده از دستور SELECT ....................................................
دستور SELECT ...............................................................................................
پرس و جو با استفاده از DISTINCT................................................................
عبارات .................................................................................................................. 15
شرایط................................................................................................................... 15
عملگرها................................................................................................................. 16
عملگردهای ریاضی............................................................................................... 16
عملگردهای مقایسهای........................................................................................... 16
عملگرهای کاراکتری.............................................................................................. 17
عملگرهای منطقی................................................................................................... 19
عملگرهای مجموعهای........................................................................................... 20
عملگرهای دیگر..................................................................................................... 21
توابع ..................................................................................................................... 23
توابع جمعی............................................................................................................ 23
توابع تاریخ و زمان................................................................................................ 24
توابع ریاضی......................................................................................................... 26
توابع کاراکتری...................................................................................................... 26
توابع تبدیلی............................................................................................................ 29
ب ـ آشنایی و استفاده از دستورات پردازشها.................................................... 29
جملات پردازش دادهها.......................................................................................... 29
درج دادهها با استفاده از جمله INSERT ..........................................................
درج یک رکورد با استفاده از INSERT … VALUES ...................................
درج چندین رکورد با استفاده از INSERT … SELECT ...............................
تغییر نوع دادههای موجود با استفاده از جمله DELETE .................................
ورود و صدور دادهها از منابع خارجی................................................................ 36
شبه جملات در پرس و جوهای SQL .................................................................
تعیین معیاری با شبه جمله WHERE ................................................................
شبه جمله STARTING WITH .......................................................................
شبه جمله ORDER BY ....................................................................................
شبه جمله GROUP BY ....................................................................................
شبه جمله HAVING .........................................................................................
فصل ج ـ آشنایی و استفاده از دستورات تعریف دادهها...................................... 42
ایجاد و نگهداری جداول........................................................................................ 42
شروع کار با جمله ایجاد پایگاه دادهای (CREATE DATABASE)...............
راههای ایجاد پایگاه داده....................................................................................... 42
طراحی پایگاه دادهای............................................................................................. 43
ایجاد یک فرهنگ دادهای (کاتالوگ سیستم)........................................................... 45
ایجاد فیلد کلید........................................................................................................ 46
جمله CREATE TABLE ................................................................................
جمله ALTER TABLE ....................................................................................
جمله DROP TABLE ......................................................................................
جمله DROP DATABASE ............................................................................
ایجاد شاخصها بر روی جداول جهت بهبود اجرا................................................ 51
استفاده از شاخصها............................................................................................. 51
شاخصها چه هستند؟........................................................................................... 52
نکات شاخص بندی................................................................................................ 54
شاخصبندی روی بیشتر از یک فیلد..................................................................... 55
استفاده از کلمه کلیدی UNIQUE به همراه CREATE INDEX ..................
شاخصها و اتصالها............................................................................................ 55
ایجاد دیدها........................................................................................................... 57
معرفی دید............................................................................................................. 57
کاربرد دیدها......................................................................................................... 57
تغییر نام ستونها.................................................................................................. 58
پردازش دید در SQL ..........................................................................................
محدودیتهای استفاده از SELECT ..................................................................
تغییر دادهها در یک دید ........................................................................................ 59
مشکلات تغییر دادهها با استفاده از دیدها ............................................................ 59
کاربردهای مشترک دیدها .................................................................................... 60
استفاده از دیدها برای تبدیل واحدها ................................................................... 61
سادهسازی پرس و جوهای پیچیده با استفاده از دیدها ...................................... 62
حذف دیدها با استفاده از جمله DROP VIEW ................................................
د ـ اتصال جداول ................................................................................................. 64
اتصال جدولها به شرط تساوی .......................................................................... 64
اتصال جدولها به شرط عدم تساوی .................................................................. 65
اتصال جدولها با استفاده از کلمه کلیدی JOIN ................................................
اتصال درونی (INNER JOIN) .........................................................................
اتصال بیرونی (OUTER JOIN) .......................................................................
ه ـ کنترل جامعیت دادهها ................................................................................... 68
معرفی محدودیتها .............................................................................................. 68
جامعیت دادهها ..................................................................................................... 68
چرا از محدودیتها استفاده میکنیم؟ ................................................................... 69
مروری بر انواع محدودیتها ............................................................................... 70
محدودیتهای NOT NULL ..............................................................................
محدودیتهای کلید اصلی ..................................................................................... 72
محدودیتهای یکتایی ............................................................................................ 72
محدودیتهای کلید خارجی .................................................................................. 72
محدودیتهای کنترل ............................................................................................ 74
محدودیتهای مدیریتی ......................................................................................... 74
استفاده از ترتیب صحیح ...................................................................................... 75
روشهای مختلف در ایجاد محدودیتها ................................................................ 76
و ـ نرمال سازی پایگاه دادهها ............................................................................ 77
پایگاه دادهای خام ................................................................................................. 77
طراحی پایگاه دادهای منطقی ................................................................................ 77
نیازهای کاربر نهایی چیست؟ ............................................................................... 78
افزونگی دادهها ..................................................................................................... 79
فرمهای نرمال ...................................................................................................... 80
فرم اول نرمال ...................................................................................................... 81
فرم دوم نرمال ..................................................................................................... 81
فرم سوم نرمال .................................................................................................... 81
مزایای نرمال سازی ............................................................................................ 81
معایب نرمال سازی .............................................................................................. 83
از نرمال درآوردن یک پایگاه اطلاعاتی................................................................. 83
فصل دوم: بررسی بانک اطلاعاتی اکسس........................................................... 85
مقدمه..................................................................................................................... 85
آشنایی با اکسس .................................................................................................. 86
تعریف کلی از ACCESS ...................................................................................
تکنیک کار در اکسس............................................................................................. 89
طراحی جدول (TABLE) ....................................................................................
آشنایی با خصوصیات فیلدها در محیط طراحی.................................................... 91
انواع عملگرها ....................................................................................................... 102
آشنایی با تنظیم خصوصیات محیط ورود دادهها (DataSheet View) ............
انواع فیلترها .......................................................................................................... 108
طرز ایجاد Relationship ..................................................................................
آشنایی با طراحی Query ....................................................................................
ایجاد Query از طریق Design View ...............................................................
کاربرد Total در Select Query .......................................................................
آشنایی با Action Query ..................................................................................
آشنایی با طراحی فرم (From) ............................................................................
فرم چیست؟ .......................................................................................................... 119
طرز کار Form Wizard ....................................................................................
طرز کار AutoForm .........................................................................................
تفاوت فرم و گزارش............................................................................................. 122
آشنایی با طراحی Report ...................................................................................
طرز کار Report Wizard .................................................................................
منابع ..................................................................................................................... 124
شامل 124 صفحه فایل word قابل ویرایش
دانلود تحقیق بررسی پایگاه داده در محیط نرمافزارهای ACCESS , SQL