(Structured Query Language)

Slides:



Advertisements
Similar presentations
مهدی آذرنوش مبحث ششم : آرایه ها و رشته ها حسابگری الگوریتمی.
Advertisements

دستور العمل نحوه محاسبه امتیاز مقالات ISI اعضای هیأت علمی دانشگاه صنعتی اصفهان بر اساس تعداد استنادات در پايگاه اسكاپوس شهریور ماه 1388 نفیسه دهقان.
1 آزمايشگاه سيستم های هوشمند ( Domain-specific Architecture.
ارائه روشي براي شناسايي کاراکترهاي دستنويس، برپايه شبکه LVQ.
ارائه درس روباتيکز Extended Kalman Filter فريد ملازم استاد مربوطه دکتر شيري دانشگاه امير کبير – دانشکده کامپيوتر و فناوري اطلاعات.
نمايش اعداد.
نام و نام خانوادگي : فريد ملازم 1 آزمايشکاه سيستم هاي هوشمند ( موضوع ارائه Process and Deployment Design.
ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده:پرهام مرادي
نمايش اعداد.
مديريت پروژه‌هاي فناوري اطلاعات فرآيند مديريت پروژه-مرحله برنامه‌ريزي تخصيص منابع.
مراحل مختلف اجرای يک برنامه
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
PHP Hypertext per processor کار می کند؟ PHP چگونه
نمايش اعداد علی عادلی.  مبنا ( base ): –مبناي r: ارقام محدود به [0, r-1]  دسيمال:(379) 10  باينري:( ) 2  اکتال:(372) 8  هگزادسيمال:(23D9F)
Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.
روابط مجموعه ها سلیمی. دکتر سلیمانی. نظریه فازی در سال 1965 بوسیله یک دانشمند ایرانی بنام پروفسور لطفی زاده معرفی گردید. گرچه این نظریه در ابتدا با.
1 فصل دوم تبديلات. 2 فصل دوم سرفصل مطالب مقدمه ضرب بردارها دستگاه ‌ هاي مختصات دوران ‌ ها مختصات همگن دوران ‌ ها و انتقال ‌ ها تبديلات تركيبي همگن تبديل.
شرط و تصميم اصول كامپيوتر 1. 2 الگوريتم اقليدس E1: [find remainder] Divide m by n and let r be the remainder. Clearly, 0
سيستم خبره مرکب ( ترکيب پيشرو و پسرو ) زماني که يک فرضيه احتمالي براي جواب داشته باشيم، روش backward مي تواند خيلي کاراتر و مناسبتر باشد. اگر هيچ احتمال.
آشنايي با سيستم اعداد.
Information Retrieval
بررسي حافظه هاي ديناميکي و
آزمایشگاه پایگاه داده ها ایجاد جدول در پایگاه داده در SQL Server
فصل اول ویژگیهای اصلی MATLAB
فصل ششم روال ها.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
انواع دستور در برنامه نويسی
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
پايگاه داده‌ها زبان پرس و جوي SQL.
آرايه ها و ساختارها.
دانلود جدیدترین مقالات برق الکترونیک و کامپیوتر
آرايه ها.
ANOVA: Analysis Of Variance
ANOVA: Analysis Of Variance
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
واحد های مختلف برنامه عباسپور
Quick Sort مرتب سازي سريع.
دستورات کنترل و تکرار- 2 اصول كامپيوتر 1.
لغت نامه و جدول درهم سازي Dictionaries and Hash Tables
بسم الله الرحمن الرحيم.
آشنايي با برنامه نويسي به زبان C++
پایگاه داده SQL دانشگاه علوم پزشکی بوشهر 94/12/5.
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
معرفي درس ساختمان داده ها و الگوريتمها
تبدیل فوریه (Fourier Transform)
نمايش اعداد در کامپيوتر چهار عمل اصلي
آشنایی با پایگاه داده mysql
فصل 1: مفاهيم پايه.
به نام خدا برنامه ارزيابي خارجي کيفيت (هماتولوژی- سرولوژی)
سيستمهاي اطلاعات مديريت
(قسمت اول: وابستگی های تابعی)
مدلسازي تجربي – تخمين پارامتر
هیدرولیک جریان در کانالهای باز
{ بنام خداوند بخشنده و مهربان}
آشنایی با پایگاه ساینس دایرکت
جلسه نهم SQL (ادامه).
فيلتر كالمن معرفي : فيلتر كالمن تخمين بهينه حالت‌ها است كه براي سيستم‌هاي ديناميكي با اختلال تصادفي در سال 1960 بزاي سيستم‌هاي گسسته و در سال 1961 براي.
بنام خدا زبان برنامه نویسی C (21814( Lecture 3 Chapter 4
وبلاگ جامع مهندسی برق و الکترونیک
به نام خدا برنامه ارزيابي خارجي کيفيت (هماتولوژی- سرولوژی)
با تشکر از دکتر جواد سلیمی
به نام خدا اين فايل راهنما جهت آشنايی کاربران گرامی با پايگاه اطلاعاتی Sciencedirect و نحوه جستجوی اطلاعات در آن تهيه شده است لطفاً اسلايدهای بعد را مشاهده.
کارشناس ارشد علم اطلاعات و دانش شناسي(گرايش مديريت اطلاعات)
جلسه هفتم SQL (ادامه).
فصل ششم مدارهای ترتیبی.
نرم افزار عملي دوره كارداني كامپيوتر دانشگاه کردستان دانشكده فني
مثال : فلوچارتي رسم كنيد كه دو عدد از ورودي دريافت كرده بزرگترين عدد
آزمايشگاه مهندسي نرم افزار
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
Presentation transcript:

(Structured Query Language) جلسه ششم SQL (Structured Query Language)

آنچه در اين جلسه مي خوانيد: 1) زبان SQL - انواع داده اي در SQL - انواع دستورات SQL دستورات مربوط به اسکيما (DDL) دستورات کار با داده ها (DML) دستورات کنترلي (DCL)

آنچه در اين جلسه مي خوانيد: تست دستورات SQL در Query Analyzer

انواع داده اي در SQL

انواع عددي tinyint : عدد صحيح 1 بايتي مثبت (0 تا 255) smallint : عدد صحيح 2 بايتي (32768- تا 32767) int: عدد صحيح 4 بايتي (2147483648- تا 2147483647) bigint : عدد صحيح 8 بايتي decimal : اعداد حقيقي از -10^38 - 1 تا 10^38 - 1 real : اعداد اعشار 4 بايتي با دقت 7 رقم float : اعداد اعشار 8 بايتي با دقت 15 رقم

انواع کاراکتري char : رشته تا حداکثر 8000 کاراکتر : ذخيره با طول ثابت varchar : رشته تا حداکثر 8000 کاراکتر : ذخيره با طول متغير nchar: رشته تا حداکثر 4000 کاراکتر: ذخيره با طول ثابت و بصورت Unicode nvarchar : رشته تا حداکثر 4000 کاراکتر: ذخيره با طول متغير و بصورت Unicode

انواع ديگر bit : مقادير منطقي 0 و 1 text : متن شامل حداکثر 2147483647 کاراکتر ntext: متن شامل حداکثر 1073741823 کاراکتر: ذخيره Unicode image : براي ذخيره هر نوع داده با حجم زياد تا 2147483647 بايت. مثلا براي ذخيره يک فايل يا يک عکس در DB

دستورات کار با اسکيما (DDL)

تعريف جدول جديد CREATE TABLE "table_name" ( "column 1“ "data_type", "column 2" "data_type", ... ) Example1: CREATE TABLE Students ( Id int primary key, Name Nvarchar(15) not null, SurName Nvarchar(20) not null, Field Nvarchar(10) )

Example2: CREATE TABLE TelNums (Id int Identity, TelNum Nvarchar(15), Type Nvarchar(5), SId int, Primary Key (Id), Foreign Key (SId) references Students(Id) )

از بين بردن يک جدول DROP TABLE "table_name" Example: Drop TABLE Students

تغيير در اسکيماي يک جدول Alter TABLE "table_name“ [Drop| Add | Alter] column … Examples: Alter TABLE Students Add BirthDate nvarchar(20) Alter TABLE Students Alter column name nvarchar(6) null Alter TABLE Students Drop column Field افزودن يک فيلد جديد تغيير در تعريف يک فيلد حذف يک فيلد

دستورات کار با داده ها (DML)

بازيابي داده ها از جداول 1- دستور Select بازيابي داده ها از جداول

ساختار يک دستور ساده Select SELECT اسامي فيلدها FROM جدول WHERE شرط مثال: ليست شماره و نام تمام دانشجويان. Select Id,Name from S مثال: ليست مشخصات تمام دانشجويان رشته هاي کامپيوترو شيمي. Select * from S where Field=‘Computer’ or Field= ‘Chemistry’ مثال: ليست اسامي دانشجويان کامپيوتر که شماره آنها کمتر از 84110 است. Select Name from S where Field=‘Computer’ and Id<84110 رابطه S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry projection selection

مقادير ممکن بجاي اسامي فيلدها: يک عدد ثابت Select Name, 5 from S 2) يک فرمول Select Name, Id/10 as NewID from S 3) ترکيب چند فيلد رشته اي مثال: ليست نام و نام خ دانشجويان. Select Name + ‘ ’ + Family as CompleteName from S Name Unknown Column Ali Reza Hassan 5 Name NewID Ali Reza Hassan 8411 8412 8413 نام گذاري يک ستون در خروجي CompleteName Ali Ahmadi Reza Rezaei Hassan Hassani

بررسي خالي بودن يک فيلد SELECT اسامي فيلدها FROM جدول رابطه S WHERE فيلد IS NULL مثال: ليست شماره و رشته دانشجوياني که رشته آنها وارد شده است. Select Id,Field from S where not Field Is Null مثال: ليست شماره دانشجوياني که نه رشته و نه نام خ آنها وارد نشده است. Select Id from S where Family Is Null and Field is Null رابطه S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Null Chemistry = Null

عملگر Order By : مرتب کردن نتايج SELECT اسامي فيلدها FROM جدول WHERE شرط ORDER BY نام فيلدها [desc | asc] مثال: ليست شماره و نام خ تمام دانشجويان، مرتب شده براساس شماره بطور صعودي. Select Id, family from S order by Id مثال: ليست مشخصات تمام دانشجويان مرتب بر اساس نام خ و سپس نام. Select * from S order by family, name مثال: ليست اسامي دانشجويان کامپيوتر بترتيب نزولي شماره آنها Select Name from S where Field=‘Computer’ order by Id desc رابطه S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Computer Math Chemistry نزولي صعودي

عملگر Between - براي مقادير عددي و تاريخ است. رابطه S - خود مقادير ابتدا و انتهاي بازه را هم در نظر مي گيرد. مثال: ليست نام خ تمام دانشجويان که شماره آنها بين 84110 و84120 است. Select Id,Name from S where Id>=84110 and Id<=84120 يا Select Id,Name from S where Id between 84110 and 84120 رابطه S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry

عملگر Like - براي مقادير رشته اي است. رابطه S - براي يافتن مقاديري که نه الزاما دقيقا يکسان بلکه مشابه کلمه مورد نظر باشند. - منظور از مشابه بودن اين است که کلمه مورد نظر جزئي از آن باشد. مثال: ليست دانشجوياني که نام آنها با A شروع مي شود. Select * from S where name Like ‘A%’ مثال: ليست دانشجوياني که نام خ آنها با i تمام مي شود. Select * from S where family Like ‘%i’ مثال: ليست دانشجوياني که در نام آنها حرف A يا a وجود دارد. Select * from S where name Like ‘%A%’ or name like ‘%a%’ نکته: اگر علامت % را فراموش کنيم، عملگر Like معادل = عمل مي کند. رابطه S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry

چند مثال ديگر: مثال: ليست مشخصات تمام دانشجويان رشته کامپيوتر که نام آنها 3 حرفي و حرف مياني آن l است. Select * from S where Field=‘Computer’ and name Like ‘_l_’ مثال: ليست مشخصات تمام دانشجويان که نام آنها با A شروع و به i ختم مي شود . Select * from S where name Like ‘A%i’ مثال: ليست اسامي دانشجوياني که حرف دوم و چهارم نام آنها aو s است. Select name from S where name like ‘_a_s%’ رابطه S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry

بازيابي رکوردهاي تکراري رابطه S - گاهي ممکن است خروجي يک دستور Select شامل رکوردهاي تکراري باشد. - اگر نخواهيم رکورد تکراري بازيابي شود بايد از عملگرDISTINCT استفاده کنيم. - عملگر ALL برعکس DISTINCT عمل مي کند. - اگر هيچکدام نوشته نشود، بطور پيش فرض ALL در نظر گرفته مي شود. مثال: ليستي از تمام رشته هاي دانشگاه. Select Distinct Field from S مثال: ليست نام و نام خ تمام دانشجويان. Select all Name , Family from S يا Select Name , Family from S Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math SELECT [DISTINCT | ALL] اسامي فيلدها FROM جدول

عملگر UNION و UNION ALL - اجتماع رکوردهاي دو جدول را برمي گرداند. مثال: ليستي از نام خ تمام اساتيد و دانشجويان. Select Family from S UNION Select Family From T Select Family from S UNION ALL Select Family From T دستور اول دقيقا اجتماع است يعني رکورد هاي تکراري يکبار در خروجي مي آيند. اما در دومي تکرار مي شوند. مثال: ليست مشخصات تمام دانشجويان رشته هاي کامپيوترو شيمي. Select * from S where Field=‘Computer’ UNION Select * from S where Field= ‘Chemistry’ رابطه S رابطه T Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry TId TName TFamily 1 2 3 Hadi Karim Ali Ahmadi Hassani Omidi

عملگر IN - عضويت يک مقدار را در يک مجموعه بررسي مي کند. رابطه S حالت اول) مجموعه ثابت و مشخص است. مثال: ليست مشخصات تمام دانشجويان رشته هاي کامپيوتر، رياضي و شيمي. Select * from S where Field IN (‘Computer’ , ’Math’ , ’Chemistry’) رابطه S رابطه T رابطه STC (جدول نمرات) Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry TId TName TFamily 1 2 3 Hadi Karim Ali Ahmadi Hassani Omidi SId TId CId mark 84110 84130 2 1 01 03 02 12 8 18

عملگر IN رابطه S حالت دوم) مجموعه ثابت و مشخص نيست. (Nested Query) مثال: ليست مشخصات تمام دانشجويان که تاکنون درس گرفته اند. (بايد Id آنها عضو مجموعه SId هاي موجود در STC باشد) SELECT * from S where Id IN (SELECT Sid from STC) SELECT * from S where Id IN (SELECT * from STC) رابطه S رابطه T رابطه STC (جدول نمرات) Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry TId TName TFamily 1 2 3 Hadi Karim Ali Ahmadi Hassani Omidi SId TId CId mark 84110 84130 2 1 01 03 02 12 8 18 مجموعه SId هاي موجود در STC Nested Query يک روش پاسخ به پرس و جوهايي است که به بيش از يک جدول نياز دارند

يک مثال ديگر مثال: ليست مشخصات دانشجوياني که تاکنون درس 3 واحدي نگرفته اند. (بايد Id آنها عضو مجموعه SId هاي موجود در STC که درس 3واحدي گرفتند نباشد) SELECT * from S where Id NOT IN (SELECT Sid from STC Where CID IN (SELECT CId from C Where Units=3) ) رابطه S رابطه STC (جدول نمرات) رابطه C Id Name Family Field 84110 84120 84130 Ali Reza Hassan Ahmadi Rezaei Hasani Computer Math Chemistry SId TId CId mark 84110 84130 2 1 01 03 02 12 8 18 CId CName Units 01 02 DB OS 3 شماره دانشجويانی که تاکنون درس 3 واحدی گرفته اند

تست دستورات SQL در Query Analyzer

راه دوم باز کردن Query Analyzer