آموزش سیستم مدیریت پایگاه داده - مروری بر SQL
SQL یک زبان برنامهنویسی برای پایگاههای داده رابطهای (Relational Databases) است. این زبان بر اساس جبر رابطهای (relational algebra) و محاسبات توپلهای رابطهای (tuple relational calculus) طراحی شده است. SQL به عنوان یک بسته همراه با تمام توزیعهای اصلی سیستم مدیریت پایگاههای داده رابطهای (RDBMS) عرضه میشود.
SQL شامل زبانهای تعریف داده و تعامل با داده است. با استفاده از خاصیت تعریف داده در SQL، میتوان طرحهای پایگاهداده را طراحی و تغییر داد، در حالی که خاصیت تعامل با دادهها امکان ذخیره و بازیابی دادهها را از پایگاهداده فراهم میکند.
زبان تعریف داده
SQL از مجموعه دستورات زیر برای تعریف طرح پایگاهداده استفاده میکند:
CREATE
ایجاد پایگاهداده، جدول و نما از RDBMS.
برای مثال -
Create database Example;
Create table article;
Create view for_students;
DROP
حذف (Drops) دستورها، نماها، جداول و پایگاهدادهها از RDBMS.
برای مثال −
Drop object_type object_name;
Drop database Exampel;
Drop table article;
Drop view for_students;
ALTER
تغییر (Modifies) طرح پایگاهداده.
Alter object_type object_name parameters;
به عنوان مثال−
Alter table article add subject varchar;
این دستور یک ویژگی (attribute) را به رابطهای با نام article و نوع رشته (string) اضافه میکند.
زبان تعامل با داده
SQL با زبان تعامل با داده (Data Manipulation Language یا DML) مجهز است. DML با وارد کردن، بهروزرسانی و حذف دادههای پایگاهداده، نمونه پایگاهداده را تغییر میدهد. DML مسئول تمامی اشکال تغییرات داده در یک پایگاهداده است. SQL شامل مجموعه دستورات زیر در بخش DML خود است −
- SELECT/FROM/WHERE
- INSERT INTO/VALUES
- UPDATE/SET/WHERE
- DELETE FROM/WHERE
این ساختارهای پایه امکان ورود داده و اطلاعات به پایگاهداده و بازیابی آنها را به صورت کارآمد با استفاده از تعدادی از گزینههای فیلتر فراهم میکنند.
SELECT/FROM/WHERE
-
SELECT − این یکی از دستورهای پرسوجوی بنیادی SQL است. مشابه عملیات نمایش در جبر رابطهای است. این ویژگیها را بر اساس شرایطی که در WHERE توصیف شدهاند انتخاب میکند.
-
FROM − این بخش یک نام رابطه را به عنوان آرگومان میگیرد که از آن ویژگیها انتخاب/نمایش داده میشوند. در صورت دادن بیش از یک نام رابطه، این بخش متناظر با ضرب داخلی است.
-
WHERE − این بخش شرط یا پیشبینی را تعریف میکند که برای صحتسنجی ویژگیها برای نمایش باید مطابقت داشته باشد.
برای مثال −
Select author_name
From book_author
Where age > 50;
این دستور نامهای نویسندگان را از رابطهای با نام book_author با سن بیشتر از ۵۰ سال باز میگرداند.
INSERT INTO/VALUES
این دستور برای وارد کردن مقادیر به ردیفهای یک جدول (رابطه) استفاده میشود.
INSERT INTO table (column1 [, column2, column3 ... ]) VALUES (value1 [, value2, value3 ... ])
یا
INSERT INTO table VALUES (value1, [value2, ... ])
به عنوان مثال −
INSERT INTO Exampel(Author, Subject) VALUES ("anonymous", "computers");
UPDATE/SET/WHERE
این دستور برای بهروزرسانی یا تغییر مقادیر ستونها در یک جدول (رابطه) استفاده میشود.
UPDATE table_name SET column_name = value [, column_name = value ...] [WHERE condition]
به عنوان مثال −
UPDATE Exampel SET Author="webmaster" WHERE Author="anonymous";
DELETE/FROM/WHERE
این دستور برای حذف یک یا چند ردیف از یک جدول (رابطه) استفاده میشود.
DELETE FROM table_name [WHERE condition];
به عنوان مثال :
DELETE FROM Exampel
WHERE Author="unknown";