کاربرد روز افزون بانک اطلاعاتی SQL مرا بر آن داشت تا مطالبی هر چند کوتاه جهت خوانندگان محترم سایت تهیه نماییم.
قبلا از هر چیز لازم به ذکر است که مطالب ذیل در حد آشنایی بوده و دوستا برای دستیابی به تکنیکهای بیشتر می بایست از کتابهای مرجع و Book online خود SQL Server استفاده نمایند.
در مطالب زیر که سلسله وار مباحث SQL Server را مرور خواهیم کرد , سعی شده تا ابتدا مطالب مقدماتی جهت آشنایی آورده شود و سپس اگر عمری باقی بود به مطالب پیشرفته آن بپردازیم.
همچنین برای یادآوری خدمت دوستان ابتدا مرور سریعی بر چند دستور SQL که کاربرد بیشتری دارند خواهیم پرداخت و سپس به SQL Server و مطالب آن خواهیم پرداخت .
مطالب زیر اکثرا از کتاب Microsoft SQL Server 7.0 Database Implementation Training انتخاب گردیده است .
این کتاب به همراه CDآموزش آن به عنوان یک مرجع برای امتحانات مایکروسافت استفاده میشود.
جداول بکار رفته نیز همگی در SQL Server 7.0 در Database Northwind موجود هستند.
دستور Select
این دستور که دستوری مستقل نیست و حتما باید با اجزایی بکار رود جهت ساخت پرس و جو بر روی بانک اطلاعاتی بکار میرود و رکوردهایی که با شرایط این دستور همخوان باشد به عنوان نتیجه پرس و جو برمیگرداند .
چهار کلمه کلیدی وجود دارند که بخشهای ارزشمند این دستور را تشکیل میدهند :
1- select
2- from
3- where
4- order by
شکل کلی دستور :
Select [*|distinct column1, column2,…]
From table[,table2,…]
Where شرط
Order by نام فیلد یا شماره فیلد
مثال :
Select * from customers
این دستور تمام رکوردهای جدول customers را برمیگرداند.
که نتیجه 91 سطر از اطلاعات این جدول خواهد بود
حال اگر شرط Country ='uk' اضافه کنیم ، فقط اطلاعات مشتریان انگلیس جواب خواهند بود که به 7 سطر تقلیل مییابد.
select * from customers
where Country ='uk'
حال
select City,Country from customers
order by city
فقط ستونهای نام شهر (city) و نام کشور (Country) را بر گردانده و بر اساس نام شهر مرتب میکند.
دستور بالا با دستور پایین هردو یک جواب را میدهند :
آموزش SQL Serverمفاهیم ابتدائی مقدمه : کاربرد روز افزون بانک اطلاعاتی SQL مرا بر آن داشت تا مطالبی هر چند کوتاه جهت خوانندگان محترم سایت تهیه نماییم.
این کتاب به همراه CDآموزش آن به عنوان یک مرجع برای امتحانات مایکروسافت استفاده میشود.
جداول بکار رفته نیز همگی در SQL Server 7.0 در Database Northwind موجود هستند.
دستور Select این دستور که دستوری مستقل نیست و حتما باید با اجزایی بکار رود جهت ساخت پرس و جو بر روی بانک اطلاعاتی بکار میرود و رکوردهایی که با شرایط این دستور همخوان باشد به عنوان نتیجه پرس و جو برمیگرداند .
چهار کلمه کلیدی وجود دارند که بخشهای ارزشمند این دستور را تشکیل میدهند : 1- select 2- from 3- where 4- order by شکل کلی دستور : Select [*|distinct column1, column2,…] From table[,table2,…] Where شرط Order by نام فیلد یا شماره فیلد مثال : Select * from customers این دستور تمام رکوردهای جدول customers را برمیگرداند.
که نتیجه 91 سطر از اطلاعات این جدول خواهد بود حال اگر شرط Country ='uk' اضافه کنیم ، فقط اطلاعات مشتریان انگلیس جواب خواهند بود که به 7 سطر تقلیل مییابد.
select * from customers where Country ='' حال select City,Country from customers order by city فقط ستونهای نام شهر (city) و نام کشور (Country) را بر گردانده و بر اساس نام شهر مرتب میکند.
دستور بالا با دستور پایین هردو یک جواب را میدهند : select City,Country from customers order by 1 که 91 سطر بازگردانده خواهد شد .
در نتیجه پرس و جو تعدادی سطر تکراری وجود دارد مانند شهر London که اگر از کلمه Distinct در Select استفاده کنیم این سطرهای تکراری حذف خواهد شد .
select distinct City,Country from customers order by 1 و جواب 69 سطر خواهد بود.
استفاده از توابع در Select 1- Count : تعداد سطرهای بازگردانده شده توسط select را میشمارد.
Select Count(*) from Customers where Country ='' در اصل تعداد مشتریانی را میشمارد که در کشور انگلیس هستند.
که عدد 7 جواب است.
2- Sum : مجموع یک فیلد عددی را برمیگرداند.
Select sum(Quantity) from [Order Details] where productid = 11 مجموع فیلد Quantity را برای فیلدهایی که شماره محصول آنها ( Productid) برابر 11 است را محاسبه میکند نکته 1 : در دستور select میتوان از اسم مستعار استفاده کرد ، یعنی نام جدیدی را برای یک ستون در نظر گرفت به عنوان مثال select قبل را به شکل زیر بکار برد : Select sum(Quantity) as Sum_QTY from [Order Details] where productid = 11 که Sum_QTY یک اسم مستعار برای مجموع است.
استفاده از کلمه کلیدیas اختیاری است.
نکته 2 : در دستور select هرگاه اسم فیلدی اسم خاص باشد و یا فاصله بین اسم باشد مثل Order Details که فاصله بین اسم جدول است حتماُ از علامت براکت [] میبایست استفاده کرد.
نکته 3 : استفاده از group by : هنگامی که از توابع count و Sum به همراه یک فیلد دیگر در دستور select استفاده میشود از group by استفاده میکنیم .
به عنوان مثال دستور زیر جمع مقادیر فیلد Quantity را برای هر شماره محصول محاسبه میکند .
Select productid, sum(Quantity) as sum_qty from [Order Details] group by productid که نتیجه مانند زیر خواهد بود : productid sum_qty ----------- ----------- 61 603 3 328 32 297 6 301 41 981 64 740 9 95 12 344 در صورتیکه دستور ordr by 1 بعد از group by استفاده کنیم نتیجه بر اساس کد محصول مرتب خواهد شد.
نکته 4 : دستور where می تواند خود شامل یک دستور select باشد : select * from Products where ProductID in ( select distinct ProductID from [order details] where Quantity >70) order by ProductID تنها نکته ای که می بایست توجه کرد این است که نام فیلدی که در شرط آورده می شود حتما در دستور select آورده شود, به عبارت دیگر select درون شرط تنها یک ستون را می بایست برگرداند .
تمرین : با فرض اینکه دو جدول Products و order details دارای ستون (فیلد) یکسان ProductID هستند , یک دستور Select بنویسید که تمام فیلدهایی از Products را نشان دهد که فیلد ProductID آن با ProductID جدول order details یکی باشد.؟
حل : Select pr.* From Products as pr , [order details] as od Where pr.
ProductID = od.
ProductID قابل به ذکر است که بیش از 90% از کارهایی که ما برروی جداول انجام می دهیم با select و ترکیبات آن انجام می شود.
لذا بدست آوردن تبحر در نوشتن select ها می تواند شما را در تهیه برنامه ها یاری کند.
3- Min,max : بیشترین و کمترین مقدار فیلد را در بانک اطلاعاتی بدست می دهد.
Select min (Quantity) from [Order Details] 4- Top n : تعداد n سطر اول بانک اطلاعاتی را برمی گرداند.
Select top 5 * from [Order Details] 5 سطر اول بانک را برمی گرداند.
نکته 3 : در حالت بالا اگر مقدار سطر 5 و 6 یکی باشد فقط سطر 5 جواب خواهد بود برای گریز از این حالت از شکل زیر در این دستور استفاده میکنیم : Select top n with ties * From table 5- Into Select * from table1 into table2 اطلاعات table1 را به table2 کپی میکند.
البته table2 باید از قبل وجود نداشته باشد.
این دستور خود table2 را میسازد.
دستور select قویترین و کاربردی ترین دستور در sql است که خود ماهها نیازمند تمرین و آموزش است .
برای اطلاعات بیشتر به books online خود Sql Server مراجع کنید.
دستور Delete برای حذف اطلاعات از یک بانک اطلاعاتی استفاده میشود.
شکل کلی دستور : Delete table1 Where شرط مثال : فرض کنید جدول authors موجود باشد و فیلد کلید آن au_id باشد.
برای حذف 10 سطر اول این جدول از دستور زیر استفاده می کنیم : DELETE authors FROM (SELECT TOP 10 * FROM authors) AS t1 WHERE authors.au_id = t1.au_id دستور insert برای اضافه کردن اطلاعات به یک جدول از این دستور استفاده میشود.
Insert into table1 (f1,f2,…) Values (v1,v2,…) که f1,f2 نام فیلدها و v1,v2 مقادیر آنها میباشد.
البته میتوانید مقادیر را نتیجه یک select قرار داد.
مثال : Insert into table1 Select top 10 From table2 مقدار 10 سطر اول را از table2 را پایگاه داده ها چیست؟پنج شنبه,28 خرداد 1385 (تعداد دفعات خوانده شده:13511)منبع از: http://fa.wikipedia.org/ دادِگان (پایگاه دادهها یا بانک اطلاعاتی) به مجموعهای از اطلاعات با ساختار منظم و سامانمند گفته میشود.
این پایگاههای اطلاعاتی معمولاً در قالبی که برای دستگاهها و رایانهها قابل خواندن و قابل دسترسی باشند ذخیره میشوند.
البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجود نیست و شیوههای دیگری مانند ذخیرهسازی ساده در پروندهها نیز استفاده میگردد.
مسئلهای که ذخیرهسازی دادهها در دادگان را موثر میسازد وجود یک ساختار مفهومی است برای ذخیرهسازی و روابط بین دادهها است.
پایگاه داده در اصل مجموعهای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمه میگیرد ،اما کاربر وسیع و عمومی نیز دارد، این وسعت به اندازهای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانهای برای پایگاه داده ایجاد میکند) شامل تعاریف غیر الکترونیکی برای پایگاه داده میباشد.
در این نوشتار به کاربرد های تکنیکی برای این اصطلاح محدود میشود.
یک تعریف ممکن این است که: پایگاه داده مجموعهای از رکورد های ذخیره شده در رایانه با یک روش سیستماتیک (اصولی) مثل یک برنامه رایانهای است که میتواند به سوالات کاربر پاسخ دهد.
برای ذخیره و بازیابی بهتر، هر رکورد معمولا به صورت مجموعهای از اجزای دادهای یا رویداد ها سازماندهی میگردد.
بخش های بازیابی شده در هر پرسش به اطلاعاتی تبدیل میشود که برای اتخاذ یک تصمیم کاربرد دارد.
برنامه رایانهای که برای مدیریت و پرسش و پاسخ بین پایگاههای دادهای استفاده میشود را مدیر سیستم پایگاه دادهای یا به اختصار (DBMS) مینامیم.
خصوصیات و طراحی سیستم های پایگاه دادهای در علم اطلاعات مطالعه میشود.
مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعهای از رکورد ها یا تکه هایی از یک شناخت است.نوعا در یک پایگاه داده توصیف ساخت یافتهای برای موجودیت های نگه داری شده در پایگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته میشود.
مدل توصیفی، اشیا پایگاههای داده و ارتباط بین آنها را نشان میدهد.
روش های متفاوتی برای سازماندهی این مدل ها وجود دارد که به آنها مدل های پایگاه داده گوییم.
پرکاربردترین مدلی که امروزه بسیار استفاده میشود، مدل رابطهای است که به طور عام به صورت زیر تعریف میشود: نمایش تمام اطلاعاتی که به فرم جداول مرتبط که هریک از سطر ها و ستونها تشکیل شده است(تعریف حقیقی آن در علم ریاضیات برسی میشود).
در این مدل وابستگی ها به کمک مقادیر مشترک در بیش از یک جدول نشان داده میشود.
مدل های دیگری مثل مدل سلسله مراتب و مدل شبکهای به طور صریح تری ارتباط ها را نشان میدهند.
در مباحث تخصصی تر اصتلاح دادگان یا پایگاه داده به صورت مجموعهای از رکورد های مرتبط با هم تعریف میشود.
بسیاری از حرفهای ها مجموعهای از داده هایی با خصوصیات یکسان به منظور ایجاد یک پایگاه دادهای یکتا استفاده میکنند.
معمولا DBMS ها بر اساس مدل هایی که استفاده میکنند تقسیم بندی میشوند: ارتباطی،شی گرا، شبکهای و امثال آن.
مدل های دادهای به تعیین زبانهای دسترسی به پایگاههای داده علاقه مند هستند.
بخش قابل توجهی از مهندسی DBMS مستقل از مدل های میباشد و به فاکتور هایی همچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد.
موارد زیر به صورت خلاصه شرح داده می شود: •۱ تاریخچه پایگاه داده •۲ انواع دادگان ها •۳ مدل های پایگاه داده ۳.۱ مدل تخت ۳.۲ مدل شبکه ای(Network) ۳.۳ مدل رابطه ای ۳.۴ پایگاه دادههای چند بعدی ۳.۵ پایگاه دادههای شیء •۴ ویژگیهای سیستم مدیریت پایگاه دادهها •۵ فهرست سیستمهای متداول مدیریت دادگان 1- تاریخچه پایگاه داده اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز میگردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام "توسعه و مدیریت محاسباتی یک پایگاه دادهای مرکزی" را بر عهده گرفت.
پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامههای معتبر آمریکایی به کار رفت.(بانک دادهای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت) تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت.
از پیشگامان این شاخه چارلز باخمن میباشد.
مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا میکند.
در آن زمانها پردازش داده بر پایه کارت های منگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا میکند.
دو نوع مدل دادهای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکهای شدکه ریشه در