یِاهو مارکت

فروشگاه یاهو

یِاهو مارکت

فروشگاه یاهو

مقاله35- بررسی پایگاه داده در محیط نرم‌افزارهای ACCESS , SQL صفحه125

مقاله35- بررسی پایگاه داده در محیط نرم‌افزارهای  ACCESS , SQL صفحه125

مقاله35- بررسی پایگاه داده در محیط نرم‌افزارهای ACCESS , SQL صفحه125

فهرست مطالب

عنوان صفحه

فصل اول: بررسی بانک اطلاعاتی SQL. .. 11

الف ـ آشنایی و استفاده از دستور SELECT .. 12

دستور SELECT .. .. 13

پرس و جو با استفاده از DISTINCT... . 14

عبارات ... 15

شرایط... 15

عملگرها.. . 16

عملگردهای ریاضی .. 16

عملگردهای مقایسه‌ای.... 16

عملگرهای کاراکتری.. . 17

عملگرهای منطقی... . 19

عملگرهای مجموعه‌ای. . 20

عملگرهای دیگر.... . 21

توابع . .. 23

توابع جمعی..... 23

توابع تاریخ و زمان .. 24

توابع ریاضی..... 26

توابع کاراکتری...................................................................................................... 26

توابع تبدیلی............................................................................................................ 29

ب ـ آشنایی و استفاده از دستورات پردازش‌ها.................................................... 29

جملات پردازش داده‌ها.......................................................................................... 29

درج داده‌ها با استفاده از جمله INSERT .......................................................... 31

درج یک رکورد با استفاده از INSERT … VALUES ................................... 31

درج چندین رکورد با استفاده از INSERT … SELECT ............................... 32

تغییر نوع داده‌های موجود با استفاده از جمله DELETE ................................. 34

ورود و صدور داده‌ها از منابع خارجی................................................................ 36

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

تعیین معیاری با شبه جمله WHERE ................................................................ 38

شبه جمله STARTING WITH ....................................................................... 38

شبه جمله ORDER BY .................................................................................... 39

شبه جمله GROUP BY .................................................................................... 40

شبه جمله HAVING ......................................................................................... 40

فصل ج ـ آشنایی و استفاده از دستورات تعریف داده‌ها...................................... 42

ایجاد و نگهداری جداول........................................................................................ 42

شروع کار با جمله ایجاد پایگاه داده‌ای (CREATE DATABASE)............... 42

راه‌های ایجاد پایگاه داده....................................................................................... 42

طراحی پایگاه داده‌ای............................................................................................. 43

ایجاد یک فرهنگ داده‌ای (کاتالوگ سیستم)........................................................... 45

ایجاد فیلد کلید........................................................................................................ 46

جمله CREATE TABLE ................................................................................ 46

جمله ALTER TABLE .................................................................................... 48

جمله DROP TABLE ...................................................................................... 50

جمله DROP DATABASE ............................................................................ 51

ایجاد شاخص‌ها بر روی جداول جهت بهبود اجرا................................................ 51

استفاده از شاخص‌ها............................................................................................. 51

شاخص‌ها چه هستند؟........................................................................................... 52

نکات شاخص بندی................................................................................................ 54

شاخص‌بندی روی بیشتر از یک فیلد..................................................................... 55

استفاده از کلمه کلیدی UNIQUE به همراه CREATE INDEX .................. 55

شاخص‌ها و اتصال‌ها............................................................................................ 55

ایجاد دیدها........................................................................................................... 57

معرفی دید............................................................................................................. 57

کاربرد دیدها......................................................................................................... 57

تغییر نام ستون‌ها.................................................................................................. 58

پردازش دید در SQL .......................................................................................... 58

محدودیت‌های استفاده از SELECT .................................................................. 59

تغییر داده‌ها در یک دید ........................................................................................ 59

مشکلات تغییر داده‌ها با استفاده از دیدها ............................................................ 59

کاربردهای مشترک دیدها .................................................................................... 60

استفاده از دیدها برای تبدیل واحدها ................................................................... 61

ساده‌سازی پرس و جوهای پیچیده با استفاده از دیدها ...................................... 62

حذف دیدها با استفاده از جمله DROP VIEW ................................................ 62

د ـ اتصال جداول ................................................................................................. 64

اتصال جدول‌ها به شرط تساوی .......................................................................... 64

اتصال جدول‌ها به شرط عدم تساوی .................................................................. 65

اتصال جدول‌ها با استفاده از کلمه کلیدی JOIN ................................................ 66

اتصال درونی (INNER JOIN) ......................................................................... 66

اتصال بیرونی (OUTER JOIN) ....................................................................... 66

ه ـ کنترل جامعیت داده‌ها ................................................................................... 68

معرفی محدودیت‌ها .............................................................................................. 68

جامعیت داده‌ها ..................................................................................................... 68

چرا از محدودیت‌ها استفاده می‌کنیم؟ ................................................................... 69

مروری بر انواع محدودیت‌ها ............................................................................... 70

محدودیت‌های NOT NULL .............................................................................. 71

محدودیت‌های کلید اصلی ..................................................................................... 72

محدودیت‌های یکتایی ............................................................................................ 72

محدودیت‌های کلید خارجی .................................................................................. 72

محدودیت‌های کنترل ............................................................................................ 74

محدودیت‌های مدیریتی ......................................................................................... 74

استفاده از ترتیب صحیح ...................................................................................... 75

روشهای مختلف در ایجاد محدودیت‌ها ................................................................ 76

و ـ نرمال سازی پایگاه داده‌ها ............................................................................ 77

پایگاه داده‌ای خام ................................................................................................. 77

طراحی پایگاه داده‌ای منطقی ................................................................................ 77

نیازهای کاربر نهایی چیست؟ ............................................................................... 78

افزونگی داده‌ها ..................................................................................................... 79

فرم‌های نرمال ...................................................................................................... 80

فرم اول نرمال ...................................................................................................... 81

فرم دوم نرمال ..................................................................................................... 81

فرم سوم نرمال .................................................................................................... 81

مزایای نرمال سازی ............................................................................................ 81

معایب نرمال سازی .............................................................................................. 83

از نرمال درآوردن یک پایگاه اطلاعاتی................................................................. 83

فصل دوم: بررسی بانک اطلاعاتی اکسس........................................................... 85

مقدمه..................................................................................................................... 85

آشنایی با اکسس .................................................................................................. 86

تعریف کلی از ACCESS ................................................................................... 88

تکنیک کار در اکسس............................................................................................. 89

طراحی جدول (TABLE) .................................................................................... 90

آشنایی با خصوصیات فیلدها در محیط طراحی.................................................... 91

انواع عملگرها ....................................................................................................... 102

آشنایی با تنظیم خصوصیات محیط ورود داده‌ها (DataSheet View) ............ 103

انواع فیلترها .......................................................................................................... 108

طرز ایجاد Relationship .................................................................................. 109

آشنایی با طراحی Query .................................................................................... 113

ایجاد Query از طریق Design View ............................................................... 114

کاربرد Total در Select Query ....................................................................... 116

آشنایی با Action Query .................................................................................. 117

آشنایی با طراحی فرم (From) ............................................................................ 118

فرم چیست؟ .......................................................................................................... 119

طرز کار Form Wizard .................................................................................... 120

طرز کار AutoForm ......................................................................................... 121

تفاوت فرم و گزارش............................................................................................. 122

آشنایی با طراحی Report ................................................................................... 123

طرز کار Report Wizard ................................................................................. 124

منابع ..................................................................................................................... 125

 

 

مروری بر SQL

تاریخچه 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 بطور کلی شامل دو گروه از جملات می‌باشد:

1- جملات پردازش داده‌ها (DML)

2- جملات تعریف داده‌ها (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 هنگامی استفاده می‌شود که مقدار دقیق آنچه را که می‌خواهیم برگردانده شود، را بدانیم.

SELECT column_name(s)

FROM table_name

WHERE column_name IN (value 1, value 2, …)

 

 

مثــال/

SELECTB * FROM customers

WHERE LastName IN (¢Hansen ¢ / ¢ Pettersen¢)

در مثــال فوق مشخصات مشتریانی که نام خانوادگی آنها Hansen و یا Pettersen می‌باشد، برگردانده می‌شود.

s عملگر BETWEEN … AND : عملگر BETWEEN … AND، بازده‌ای از داده‌ها را که بین د و مقدار موردنظر قرار دارند را برمی‌گرداند. (مقادیر موردنظر می‌توانند عدد، متن و یا تاریخ باشند).

تذکر ـ نتیجه عملگر BETWEEN … AND در پایگاه داده‌های مختلف متفاوت است. در بعضی از پایگاه‌ داده‌ها، BETWEEN … AND تنها مقادیری را که بین دو مقدار موردنظر قرار دارند، برمی‌گرداند. در بعضی از پایگاه داده‌ها مقادیری که بین دو مقدار موردنظر قرار دارند و شامل آن مقادیر نیز می‌باشند، برگردانده می‌شوند و در برخی دیگر مقادیر بین دو مقدار موردنظر به همراه یکی از مقادیر سمت چپ و یا سمت راست به عنوان نتیجه برگردانده می‌شوند.


توابع

استفاده از توابع SQL این امکان را می‌دهد تا کارهای خارق‌العاده‌ای مثل جمع یک ستون یا تغییر تمام کاراکترهای یک رشته به حروف بزرگ را انجام دهیم.

توابع، بطور قابل ملاحظه‌ای توانایی‌ ما را در پردازش اطلاعاتی که بازیابی می‌کنیم، با استفاده از توابع اولیه SQL بالا می‌برد.

SELECT function (column)

FROM table – name

WHERE condition

s توابع جمعی

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

توجه ـ نمی‌توان از توابع جمعی (گروهی) در شبه جمله WHERE استفاده کرد.

sCOUNT : این تابع تعداد ردیف‌هایی را برمی‌گرداند که شرایط موجود در جلوی شبه جمله WHERE را تامین می‌کنند.

sSUN : این تابع مجموع مقادیر یک ستون عددی را برمی‌گرداند.

sAVG: تابع AVG میانگین یک ستون را محاسبه می‌کند.

AVG نیز مانند تابع SUN فقط برای فیلدهای عددی بکار می‌رود.

sMAX: این تابع بزرگترین مقدار یک ستون را پیدا می‌کند.

تابع MAX هم با اعداد کار می‌کند و هم با رشته‌های کاراکتری.

sMIN : تابع MIN شبیه تابع MAX است با این تفاوت که کوچکترین مقدار یک ستون را برمی‌گرداند. این تابع نیز هم با اعداد کار می‌کند و هم با رشته‌های کاراکتری.

sVARIANCE : مربع انحراف استاندارد را نشان می‌دهد که عددی حیاتی برای بیشتر محاسبات آماری است. این تابع از توابعی است که فقط با فیلدهای عددی کار می‌کند.

sSTDDEV : این تابع مقدار انحراف استاندارد یک ستون از اعداد را پیدا می‌کند.

این تابع نیز تنها با فیلدهای عددی کار می‌کند و وقتی با رشته کارکتری مواجه می‌شود، یک پیغام اشتباه می‌فرستد.

s توابع تاریخ و زمان

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

تذکر ـ این توابع از نوع داده Date استفاده می‌کنند.

sADD MONTHS: این تابع تعدادی ماه به تاریخ مشخصی اضافه می‌کند. بطور مثــال ممکن است مطلب فوق‌العاده‌ای اتفاق افتاده باشد و پروژه‌ای برای مدت دو ماه متوقف شده باشد و حالا اگر بخواهیم برنامه‌ریزی جدیدی ارائه دهیم، از این تابع استفاده می‌کنیم.

sLAST DAY: این تابع، آخرین روز یک ماه بخصوص را پیدا می‌کند.

sMONTHS – BETWEEN : اگر بخواهیم بدانیم که چند ماه بین ماههای x و y قرار می‌گیرد، از این تابع استفاده می‌کنیم. این تابع به ترتیب قرار دادن ماهها حساس است بنابراین بطور مثــال می‌توان از یک نتیجه منفی برای تعیین اینکه آیا تاریخی قبل از تاریخ دیگری اتفاق افتاده است یا نه، استفاده کرد.

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

s NEXT – DAY : این تابع نام اولین روز هفته که مساوی با تاریخ بخصوصی است و یا بعد از تاریخ معینی می‌آید را بدست می‌آورد.

sSYSDATE : این تابع تاریخ و زمان سیستم را برمی‌گرداند.


s توابع ریاضی

بسیاری از اطلاعات که از پایگاه داده‌ها بازیابی می‌کنیم نیاز به محاسبات ریاضی دارند. نمونه‌هایی از توابع ریاضی عبارتند از: ABS, CEIL, DLOOR, SIN, COS, TAN, SINH, COSH, EXP, LN, LOG, MOD, POWER, SIGN, SQRT, و ...

s توابع کاراکتری

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

sCHR: این تابع، کاراکتر معادل عدد داده شده در آرگومان را برمی‌گرداند. کاراکتری که برگردانده می‌شود بستگی به مجموعه کاراکترهای پایگاه داده مورد استفاده (مثلاً ASCII و ...) دارد.

sCONCAT : این تابع همان عمل عملگر || را انجام می‌دهد. (دو رشته را به هم متصل می‌کند).

sINITCAR : این تابع اولین حرف یک کلمه را به حرف بزرگ و سایر حروف کلمه را به حروف کوچک تبدیل می‌کند.

sLOWER : این تابع تمام کاراکترها را به حروف کوچک تبدیل می‌کند.

sUPPER : این تابع عکس تابع LOWER عمل می‌کند. (تمام کاراکترها را به حروف بزرگ تبدیل می‌کند).

sRPAD , LPAD : حداقل 2 و حداکثر 3 آرگومان رشته کاراکتری است که عملیات روی آن انجام می‌شود. آرگومان دوم، تعداد کاراکتری است که باید اضافه شود و آرگومان سوم که اختیاری نیز می‌باشد، نشان دهنده کاراکتری است که باید اضافه شود. پیش فرض سومین آرگومان بلانک (blank) یا می‌تواند یک کاراکتر تنها و یا رشته‌ای از کاراکترها باشد.

sRTRIM , LTRIM : حداقل یک و حداکثر دو آرگومان دارند. اولین آرگومان یک رشته کاراکتری است و دومین آرگومان که اختیاری نیز می‌باشد یا یک کاراکتر است یا یک رشته کاراکتری و یا پیش فرض‌اش یک بلانک (blank) است. اگر از آرگومان دوم استفاده کنیم و بلانک نیز نباشد، توابع TRIM کاراکترها را می‌اندازند. (حذف می‌کنند)

sREPLACE : کاراکتری را به جای کارکتر دیگری در یک رشته کاراکتری جایگزین می‌کند. این تابع سه آرگومان دارد. اولین آرگومان، رشته مورد جستجو را مشخص می‌کند. دومین آرگومان کلید جستجو است و آخرین آرگومان، رشته جایگزین اختیاری است. اگر سومین آرگومان نوشته نشود و یا بلانک (blank) درنظر گرفته شود، هر نمونه از کلید جستجو که در داخل رشته جستجو می‌شود، برداشته شده و به جای آن چیزی جایگزین نمی‌گردد. اگر آرگومان سوم را داشته باشیم، این آرگومان به جای هر نمونه از کلید جستجو در رشته موردنظر جایگزین خواهد شد. اگر دومین آرگومان خالی باشد، رشته موردنظر بدون تغییر باقی خواهد ماند.

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

sTRANSLATE : این تابع سه آرگومان دارد: رشته موردنظر، رشته FROM و رشته TO. عناصر رشته موردنظر که در رشته FROM رخ می‌دهد، به عناصر وابسته در رشته TO تبدیل می‌شود.

sINSTR : با استفاده از این تابع، محل وجود یک رشته کاراکتری در داخل رشته‌ای دیگر مشخص می‌شود. اولین آرگومان، رشته موردنظر می‌باشد. آرگومان دوم، الگوی موردنظر است. سومین و چهارمین آرگومان اعدادی هستند که شروع جستجو و تعداد کاراکتر مورد جستجو را نشان می‌دهد.

تذکر ـ پیش فرض سومین و چهارمین آرگومان یک است. اگر سومین آرگومان منفی باشد، شروع جستجو از انتهای رشته انجام خواهد شد.

sLENGTH : این تابع طول یک رشته کاراکتری را برمی‌گرداند.


s توابع تبدیلی

این توابع، راه‌های ساده‌ای برای تبدیل یک نوع داده به نوع دیگری از داده را ارائه می‌دهند.

sTO CHAR : این تابع، یک عدد را به کاراکتر تبدیل می‌کند.

توجه ـ ممکن است برخی از نسخه‌های SQL از این تابع جهت تبدیل سایر انواع داده به نوع کاراکتری استفاده کنند (مثل Date به کاراکتر) و یا از فرمت دیگری برای این تابع و آرگومان‌های آن استفاده نمایند.

sTO NUMBER : این تابع یک رشته عددی را به یک عدد تبدیل می‌کند.

جملات پردازش داده‌ها

تا این مرحله یاد گرفتیم که چگونه داده‌ها را از پایگاه داده‌ای با استفاده از دستور SELECT بازیابی کنیم. بعد از اینکه داده‌ها بازیابی شد، آن را می‌توانیم در یک برنامه کاربردی بکار برده و یا آن را تصحیح کنیم. جملات زیر این امکان را به ما می‌دهند تا داده‌های داخل یک جدول پایگاه اطلاعاتی را پردازش کنیم:

s جمله INSERT (درج)

s جمله UPDATE (بهنگام سازی)

s جمله DELETE (حذف)

محصولاتی مثل اکسس، dBase IV یا فاکس پرو به شکل بسته نرم‌افزاری دارای ابزار مناسبی برای ورود، تصحیح و حذف رکوردهای پایگاه داده‌ای می‌باشند. یکی از دلایلی که SQL جملات پردازش داده‌ها را تهیه کرده است این است که SQL در درجه اول به همراه برنامه‌های کاربردی استفاده می‌شود و این امکان را فراهم می‌آورد تا با استفاده از ابزار کاربردی خود داده‌ها را تصحیح کنید و برنامه نویس SQL نیاز دارد که داده‌ها را با استفاده از SQL به پایگاه داده‌ای برگرداند. به علاوه، بیشتر سیستم‌های بزرگ پایگاه داده‌ها برای این طراحی نشده‌اند که فقط ذهنیات طراح و برنامه‌نویس را دربرگیرند، بلکه این سیستم‌ها برای این طراحی شده‌اند که در حجم بالا و در محیط‌های چند کاربره کار نمایند. طراحی اولیه در چنین سیستم‌هایی متکی به پرس و جوی بهینه و موتورهای بازیابی داده‌هاست.

بیشتر سیستم‌های پایگاه داده‌ای رابطه‌ای ابزاری برای صدور و ورود داده‌ها تهیه کرده‌اند. این داده‌ها معمولا به شکل یک فایل متن محدود شده‌ای ذخیره می‌شوند. اغلب یک ساختار فایل ذخیره شده شامل اطلاعاتی درباره جدولی است که وارد شده است. ابزاری مثل SQL * Loader در اوراکل BCP در SQL Seever، Import / Export در اکسس مایکروسافت.

 


درج داده‌ها با استفاده از جملهINSERT

جمله INSERT این امکان را به ما می‌دهد تا داده‌ها را وارد پایگاه داده‌ای کنیم. این جمله می‌تواند به دو جمله تقسیم شود:

INSERT … VALUES

INSERT … SELECT

 

در یک رکورد با استفاده از INSERT … VALUES

نحوه نگارش جمله INSERT … VALUES داده‌ها را به داخل یک جدول به شکل یک رکورد درج می‌کند. این جمله برای عملیات کوچکی که درگیر چند رکورد است، مناسب می‌باشد. نحوه نگارش این جمله به شکل زیر است:

INSERT INTO table – name (column – namel, column – name2, …)

VALUES (nalue1 , value2, …)

فرمت اصلی جمله INSERT … VALUES با استفاده از ستون‌هایی که مشخص نموده‌ایم یک رکورد به جدول اضافه می‌کند و مقادیر مربوطه را به داخل این ستون‌ها اضافه می‌نماید.

در هنگام استفاده از این جمله سه قاعده را باید در موقع اضافه نمودن داده‌ها به جدول درنظر بگیریم:

1) باید نوع داده مقادیر بکار رفته با نوع داده فیلدهایی که اضافه شده‌اند یکسان باشد.

2) اندازه داده‌ها باید در قالب ستون گنجانده شوند. مثلا یک رشته 80 کاراکتری نمی‌تواند در داخل یک ستون 40 کاراکتری اضافه شود.

3) مکان داده در VALUES باید مطابق مکان ستونی باشد که باید داده به آن ستون اضافه شود. (یعنی اولین مقدار باید به داخل اولین ستون و دومین مقدار به دومین ستون و ... اضافه شود).

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

INSERT INTO table – name

VALUES (value1, value2, …)

درج چندین رکورد با استفاده از جمله INSERT … SELECT :

جمله INSERT … SELECT هنگامی کاربرد دارد که بخواهیم رکوردهای زیادی را به یک جدول اضافه کنیم. در چنین حالتی جمله INSERT … SELECT خیلی مفید است و این امکان را به برنامه نویس می‌دهد تا اطلاعاتی را از جدولی یا گروهی از جدول‌ها به داخل جدول دیگر منتقل کند.

نحوه نگارش جمله INSERT … SELECT بصورت زیر است:

INSERT INTO table – name (column – namel, column – name2, …)

SELECT column – namel column – name2, …

FROM table – name

WHERE seaech – condition

در جمله INSERT … SELECTقواعد زیر وجود دارد:

1) جمله SELECT نمی‌تواند ردیف‌هایی از جدول را انتخاب کند که در حال درج در آن هستیم.

2) تعداد ستون‌های جمله INSERT INTO باید مساوی با تعداد ستون‌های برگشتی از جمله SELECT باشد.

3) نوعت داده‌ها در جمله INSERT INTO باید مساوی با نوع داده‌های ستون‌های برگشتی از جمله SELECT باشد.

استفاده دیگر جمله INSERT … SELECT بازگرداندن جدولی است که شما آن را حذف و یا ایجاد کرده‌اید. (تهیه Back Up)

SELECT *

INTO new – table – name

FROM original – table – name

و یا:

INSERT INTO new – table – name

SELECT *

FROM original – table – name

حال می‌توانیم تغییرات موردنظر را در جدول اصلی با خیالی راحت اعمال نماییم.

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

هدف از جمله UPDATE تغییر مقادیر موجود رکوردهاست. نحوه نگارش این جمله به شکل زیر است:

UPDATE table – name

SET column – namel = new – valuel [ , column – name2 = new – value2, …]

WHERE search – condition

این جمله شبه جمله WHERE را کنترل می‌کند. برای تمام رکوردهای جدول داده شده شبه جمله WHERE به مقدار TRUE ارزیابی می‌شود و بهنگام می‌گردد.

توجه ـ اگر شبه جمله WHERE را از جمله UPDATE حذف کنیم، تمام رکوردهای داده شده با مقدار داده شده بهنگام می‌شوند.

حذف اطلاعات به کمک جمله DELETE

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

DELETE FROM table – name

WHERE condition

 

حذف تمام سطرها:

DELETE FROM table – name

و یا:

DELETE * FROM table – name

بسته به استفاده از جمله WHERE در جمله DELETE، SQL می‌تواند کارهای زیر را انجام دهد:

ـ یک ردیف را حذف کند.

ـ چندین ردیف را حذف کند.

ـ تمام ردیف‌ها را حذف کند.

ـ هیچ ردیفی را حذف نکند.

در اینجا به چند نکته اشاره می‌شود. وقتی از جمله DELETE استفاده می‌کنیم:

s جمله DELETE نمی‌تواند یک فیلد را حذف کند. (به جای آن از UPDATE استفاده می‌کنیم)

s جمله DELETE تمام رکورد را از یک جدول حذف می‌کند.

توجه ـ شبه UPDATE, INSERT، حذف رکوردها از یک جدول ممکن است باعث بروز مشکلات جامعیت در داخل جداول دیگر گردد. این مطلب مهم را وقتی در داخل یک پایگاه داده‌ای مشغول تغییر هستیم، باید درنظر داشته باشیم.



یاهومارکت
بخاطر بسپارید



نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.