آموزش Sql Server

سلام عزیزان در این سری آموزشها با پایگاه داده Sql Server آشنا میشوید.در قسمت قبل ( اول ) با مفاهيم زير آشنا شديد:معرفی SQLآموزش دستورزبان SQLانواع داده های متداول در SQLآموزش دستور CREATE DATABASEآموزش دستور CREATE TABLE در SQLبا ادامه آموزش Sql همراه باشيدآموزش محدودیت DEFAULT در SQLمحدودیت DEFAULT برای وارد کردن مقداری به صورت پیش فرض در یک ستون استفاده می شود.مقدار DEFAULT به تمام رکوردهای جدید اضافه می شود، البته اگر هیچ مقدار دیگری به جای آن درج نشود.محدودیت DEFAULT در دستور CREATE TABLE https://www.aparat.com/v/Agut7 دستور SQL زیر در ستون “City” هنگامی که جدول “Persons” ایجاد می شود محدودیت DEFAULT را بوجود می آورد:در My SQL / SQL Server / Oracle / MS Access:CREATE TABLE Persons ‎( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT 'Sandnes' ‎) ‎همچنین محدودیت DEFAULT می تواند با استفاده از توابعی همچون ()GETDATEبرای درج کردن مقادیری که مقدار خود را از سیستم می گیرند نیز استفاده شود:CREATE TABLE Orders ‎( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, OrderDate date DEFAULT GETDATE() ‎)‎‏ ‏محدودیت DEFAULT در دستور ALTER TABLEبرای ایجاد محدودیت DEFAULT روی ستون “City” هنگامی که جدول، قبلا ایجاد شده از دستور SQL زیر استفاده کنید:در MySQL:ALTER TABLE Persons ALTER City SET DEFAULT 'SANDNES'در SQL Server / MS Access:ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES' در Oracle:ALTER TABLE Persons MODIFY City DEFAULT 'SANDNES'‎‏ ‏حذف محدودیت DEFAULT در آموزش Sqlبرای حذف محدودیت DEFAULT از دستور SQL زیر استفاده کنید:در MySQL:ALTER TABLE Persons ALTER City DROP DEFAULT‏ در SQL Server / Oracle / MS Access:ALTER TABLE Persons ALTER COLUMN City DROP DEFAULT‏ ‏دستور Create Index در آموزش Sqlدستور CREATE INDEX برای ایجاد INDEX در جداول استفاده می شود. https://www.aparat.com/v/akOAq# شاخص ها به application پایگاه داده این اجازه را می دهند که بدون اینکه تمام جدول را بخواند داده ها را سریع پیدا کنند.مفهوم Indexesیک شاخص می تواند در یک جدول برای پیدا کردن سریعتر و مؤثرتر داده ها ایجاد شود.کاربران نمی توانند indexها را ببینند، آنها تنها برای سریعتر کردن جستجوها و query ها کاربرد دارند.نکته: به روز رسانی (Update) یک جدول INDEX دار زمان بیشتری نسبت به جدول بدون INDEX می برد (زیرا INDEXها نیز خود نیاز به، به روز رسانی دارند). بنابراین تنها روی ستونهایی (و جداولی) INDEX ایجاد کنید که به تناوب روی آن ها جستجو انجام خواهد شد.فرم دستور CREATE INDEX در SQLدر یک جدول index ایجاد می کند. مقادیر تکراری مجاز هستند:CREATE INDEX index_name ON table_name (column_name) فرم دستور CREATE UNIQUE INDEX:در یک جدول شاخص یکتا ایجاد می کند. تکرار داده ها مجاز نمی باشد:CREATE UNIQUE INDEX index_nameON table_name (column_name) ‎نکته: فرم دستور ایجاد INDEX در پایگاه داده های مختلف با یکدیگر تفاوت دارد . بنابراین: فرم دستور را برای ایجاد index ها در پایگاه داده خود چک کنید.مثال استفاده از دستور CREATE INDEX:دستور SQL زیر یک شاخص با نام “PIndex” را روی ستون “LastName” در جدول “Persons” ایجاد می کند:CREATE INDEX PIndex ON Persons (LastName)اگر می خواهید یک شاخص را روی مجوعه ای از ستون ها تعریف کنید، می توانید نام آن ستون ها را در یک پرانتز بنویسید و آنها را با کاما از هم جدا کنید:CREATE INDEX PIndex ON Persons (LastName, FirstName)آموزش دستور DROP INDEX در SQLشاخص ها، جداول و پایگاه داده ها به آسانی می توانند با دستور DROP حذف شوند.دستور DROP INDEXدستور DROP INDEX برای حذف index در یک جدول استفاده می شود.فرم دستور DROP INDEX در MS Access:DROP INDEX index_name ON table_name ‎فرم دستور DROP INDEX در MS SQL Server:DROP INDEX table_name.index_name ‎فرم دستور DROP INDEX در DB2/Oracle:ALTER TABLE table_name DROP INDEX index_name ‎دستور DROP TABLEدستور DROP TABLE برای حذف یک جدول استفاده می شود.DROP TABLE table_name‏ ‏دستور DROP DATABASEدستور DROP DATABASE برای حذف یک پایگاه داده استفاده می شود.DROP DATABASE database_name ‎دستور TRUNCATE TABLEاگر قصد داشته باشیم تا داده های درون یک جدول و نه خود جدول را حذف کنیم چطور؟در این صورت، از دستور TRUNCATE TABLE استفاده می کنیم:آموزش SQL Server ادامه دارد