آموزش اتصال به SQL Server و ایجاد دیتابیس و جدول
با نام و یاد خداوند. سلام خدمت کاربران گرامی
در این جلسه از دوره آموزش مبانی SQL Server به سرویس های SQL Server و نحوه اتصال به SQL Server و ایجاد دیتابیس و جدول می پردازیم. امیدوارم تا آخر این دوره با ما همراه باشید.
پایگاه داده : به مجموعهای از دادهها با ساختار منظم و سامانمند گفته میشود.یک پایگاه داده را می توان یک یا چند لیست از مقادیر نیز خواند.
سامانه ی مدیریت بانک های اطلاعاتی (Microsoft SQL Server ): یک برنامه ی کاربردی یا به اصطلاح application است که جهت ایجاد computer database برای نسخه های سیستم عامل ویندوز فراهم شده است و امکاناتی را برای مدیریت server ها فراهم می کند.
برای یادگیری مطالب این سری آموزشی بایستی به یک رایانه که Microsoft SQL Server 2017 بر روی آن نصب شده نیاز داریم . آموزش نصب SQL Server 2017 را با یک سرچ ساده می توانید پیدا کنید.
نکته: ما 70 درصد از SQL SERVER را برای کد نویسی (procedure , query) و فقط 30 درصد باقی مانده را برای ابزارها استفاده می کنیم.
سرویس های SQL Server
وقتی شما Microsoft SQL Server را نصب می کنید یک سری سرویس برای شما نصب می شود که شما در بعضی مواقع باید آن هارا فعال یا غیرفعال کنید. برای دیدن سرویس ها به مسیر زیر می رویم :
Control Panel\All Control Panel Items\Administrative Tools\services
همانطور که در عکس مشاهده می کنید نام سرویس هایی که با sql شروع می شود مربوط به نرم افزار Microsoft SQL Server می باشد. جلوی بعضی از آنها در قسمت startup type یا disabled ویا enabled نوشته شده است.
مجدد به مسیر زیر می رویم:
پشتیبانی از تمام زبان ها
Control Panel\All Control Panel Items\Administrative Tools\ODBC Data Sources (64-bit)
روی آن کلیک کنید تا پنجره ODBC Data باز شود. درصورتی که دریواری با نام sql server وجود داشته باشد ، دیتابیس شما تمام زبان ها را پشتیبانی می کند. یعنی هنگام وارد کردن مقادیر در دیتابیس، می توانید به زبان فارسی تغییر دهید.
لطفا نصب SQL Server را انجام دهید و از وجود سرویس ها و پشتیبانی از تمام زبان ها اطمینان حاصل نمایید. در ادامه به مبحث اتصال به SQL Server می پردازیم .
نحوه اتصال به SQL Server
برای بازکردن SQL اگر راست کلیک کنیم و گزینه Run as Adminstrator را کلیک کنیم به صورت Adminstrator باز می شود و ممکن است در بعضی مواقع باگ های آن نمایش دهد.پس بهتر است دابل کلیک کنیم و نرم افزار را باز کنیم.
اولین پنجره ای که به ما نشان میدهد پنجره connect to server می باشد.
Server Type: در این سری از آموزش ها، همیشه اولین گزینه آن یعنی server type روی database engine باشد.
Server name: نام سرور را می توانید نام سیستم خود یا IP آن بگذارید .هم چنین می توانید از دات ( . ) یا کلمه localhost استفاده کنید. ( اگر از SQL2000 استفاده می کنید می توانید نام سرور را wincc\\ یا در SQL 2005 می توانید exparess\\ را استفاده کنید. )
نکته: در کل نامی که در این قسمت وارد می کنیم اشاره به سروری دارد که سرویس بر روی آن نصب شده است.
Authentication :
- در قسمت بعدی اگر گزینه windows Authentication انتخاب شود نام کاربری و رمز عبور سرور را از ما نمیخواهد.
- ولی اگر گزینه SQL server Authentication کلیک کنیم از ما نام کاربری و رمز عبور میخواهد که در آینده بیشتر در مورد نام کاربر ورمز عبور صحبت می کنیم
تعیین احراز هویت
توجه : موضوع دیگری که به connect to server ربط دارد این است که هنگامی که شما SQL را نصب کنیم در یک قسمت از آن از شما میخواهد احراز هویت SQL به دست چه کسی باشد؟
دو حالت داریم: گزینه windows Authentication :یعنی وقتی سیستم شما لاگین شد شما می توانید به SQL هم وصل شوید.
ولی گزینه SQL server Authentication : یعنی نام کاربری و رمز عبور را در همان نصب برنامه از شما بگیرد و شما با همین نام کاربری و رمزی که به صورت دلخواه است به SQL کانکت شوید.
اگر پس از connect شدن خواستید که احراز هویت آنرا تغییر دهید روی SQL server کلیک راست کرده و گزینه properties را انتخاب می کنید پنجره ی زیر باز می شود و احراز هویت آنرا تغییر می دهید:
حالا اگر شما بخواهید رمز عبور خودتان تغییر دهید در پنجره Object Explorer طبق تصویر زیر پیش روید:
بعد کلیک دکمه connect شما محیط SQL SERVER را می بینید در قسمت Object Explorer در پوشه data base شما چند پوشه بانک اطلاعاتی سیستمی می بینید که در آینده با آن کار می کنیم.
ایجاد بانک اطلاعاتی (یا دیتابیس یا پایگاه داده – DataBase)
از این جای آموزش به مبحث ایجاد دیتابیس و جدول در SQL Server می پردازیم. برای ساختن یک database روی پوشه data base راست کلیک کرده و new database را می زنیم:
بعد از آن برای شما یک پنجره به نام new database باز می شود که خصوصیت های data base را تعیین کنید.
Database name: خصوصیت اول که نام database می باشد و دلخواه است.
Owner: خصوصیت دوم آن صاحب data base است که شما می توانید چند کاربر برای صاحب database تعیین کنید.
database files: خصوصیت بعدی آن که مهم ترین خصوصیت است خصوصیت database file می باشد که هر بانک اطلاعاتی دو فایل دارد. البته می تواند تا 16 فایل را پشتیبانی کند.
در سربرگ options مهم ترین خصوصیت آن خصوصیت collections است که برای پشتیبانی زبان های مختلف بکار می رود. اگر شما در این قسمت زبان فارسی انتخاب نکنید database شما نمی تواند از زبان فارسی پشتیبانی کند. شما برای پشتیبانی زبان فارسی در قسمت collection گزینه Persion_100_BIN را باید انتخاب کنید. ممکن است که این گزینه در NET. شما پشتیبانی نشود برای این کار بهتر است آیتم Arabic_100_CI_AS را انتخاب کنید.
همچنین شما می توانید خصوصیت فقط خواندنی را به database بدهید برای این کار در قسمت other options و بخش state گزینه database Read Only را true کنید.
بعد از آنکه database را ساختید، در پوشه database یک پوشه با نام بانک خودتان (dbtest) ساخته می شود در این پوشه جدول ها , ارتباطات , procedure ها مشاهده می شود که ما درباره همه ی آنها صحبت می کنیم.
ایجاد جدول(Table)
و اما در قسمت tables شما می توانید با کلیک راست روی پوشه tables یک جدول برای DataBase خود بسازید.
توجه کنید: باتوجه به نمودار ER شما باید برای هر موجودیت یک جدول بسازید.
خب حالا ما می توانیم فیلدهای موجودیت را ایجاد کنیم:
وقتی شما پنجره New Table را باز می کنید دو قسمت کلی properties و column properties را مشاهده می کنید. که در قسمت properties خصوصیات اصلی جدول بیان می شود و در قسمت column properties هم خصوصیت هر سطر باتوجه به نوع فیلد برای ما نشان می دهد.
کلید اصلی(Primary key)
نکته: کلید اصلی جدول یک سری محدودیت هایی دارد که به شرح زیر است:
- هر رکورد در پایگاه داده را به طور منحصر به فردی مشخص می کند.
- باید دارای مقادیر منحصر به فردی باشند.
- نمی تواند حاوی مقدار خالی باشد.
- هر جدول باید حاوی یک باشد و هر جدول تنها می تواند یک داشته باشد.
برای اینکه یک فیلد را کلید اصلی کنیم مسیر زیر را طی می کنیم :
حالا جدول خود را ذخیره می کنیم.
نکته: بهتر است نکات زیر را برای راحتی کار خود رعایت کنیم:
- هنگام ذخیره کردن جدول بهتر است نام جداول با TBL شروع شود.
- تمام جداولی که ایجاد می کنید در پوشه tables قرار می گیرد اگر جدول شما در پوشه tables وجود نداشت با کلیک راست روی پوشه tables و زدن گزینه refresh می توانید تمام جداولی که تازه ساخته اید را مشاهده کنید.
مشاهده محتوا جدول و ویرایش آن
برای دیدن محتوای جداول (ویرایش جداول و مقدار دهی آن ها) روی جدول مورد نظر کلیک راست می کنیم.
ما می توانیم به چند صورت محتوا را مشاهده کنیم :
گزینه Design: برای ویرایش جدول مثلا حذف فیلد یا تغییر نوع فیلد استفاده می شود.
اگر شما بخواهید فیلدی را تغییر دهید هنگام تغییر و ذخیره جدول به شما خطایی می دهد و اجازه ویرایش را نمی دهد. برای جلوگیری از این خطا مسیر زیر را طی کنید :
Tools -> options -> designer -> table and DataBase diagram -> prevent saving changes that require table re_creation
گزینه Edit Top 200 Rows: برای مقدار دهی به جدول استفاده می شود.(در درس های بعد استفاده از این گزینه را خواهید دید.)
آموزش ارتباط دادن بین جداول
گام 1)ابتدا دو جدول طبق آموزش بالا ایجاد می کنیم:
توجه: که فیلد id_student برای ارتباط بین دو جدول استفاده می شود و کلید خارجی محسوب می شود.
کلید خارجی چیست؟ یک FOREIGN KEY (کلید خارجی) در یک جدول اشاره به PRIMARY KEY (کلید اصلی) در جدول دیگر دارد.
گام 2) برای ارتباط دو جدول باهم روی پوشه DataBase Diagram کلیک راست کرده و گزینه New DataBase Diagram را کلیک می کنیم:
گام 3) سپس یک پنجره باز می شود که تمام جدوال را نشان می دهد .جداول را انتخاب می کنیم و سپس روی دکمه Add کلیک می کنیم تا ارتباط بین آنها را برقرار کنیم:
گام 4) پس از Add کردن جداول ، فیلد کلید اصلی را با موس می کشید و روی فیلد کلید خارجی نگه می دارید.
گام 5) پس از این کار پنجره Tabels and Columns باز می شود که اگر ارتباط درست باشد ، فیلدهای کلید اصلی و کلید خارجی موجود در هر جدول را به ما نشان می دهد. ok را می زنیم.
گام 6)پس از آنکه ارتباط برقرار شد یک خطی بین دو جدول قرار می گیرد و وقتی ماوس را روی این خط می بریم ارتباط فیلدها را نشان می دهد.
مکان ذخیره دیتابیس ها
حالا میخوایم ببینیم که آیا DataBase هایی که ساخته ایم ،در سیستم ایجاد شده است یا نه؟
برای این کار به مسیر زیر میرویم :
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA
در این مسیر همه ی بانک هایی که به صورت پیش فرض و بانک هایی که ما ایجاد کرده ایم وجود دارد.
امیدواریم که مبحث اتصال به SQL Server و ایجاد دیتابیس و جدول را به خوبی یاد گرفته باشید تا آموزش بعدی شما شما را به خدای منان می سپاریم.
لطفا سوالات و نظرات خود را در قسمت دیدگاه ها زیر آموزش ارسال فرمایید تا در کمترین زمان ممکن پاسخگو باشیم.همچنین در نظرسنجی شرکت کنید و امتیاز بدهید.
عالی وبسیار سودمند بود تشکر
سلام خسته نباشید من نمیتونم به بانک در سیشارپ اتصال پیدا کنم : ‘The database ‘C:\USERS\ZARAVAND\SOURCE\REPOS\ZARLAN\ZARLAN\BIN\DEBUG\IRIB03.MDF’ cannot be opened because it is version 869. This server supports version 852 and earlier. A downgrade path is not supported.
سلام وعرض ادب
این خطا زمانی پیش می آید که شما قصد دارید فایل sql server با ورژن بالاتر را به ورژن پایین تر متصل کنید و این امکان پذیر نمی باشد
با تشکر از همراهی شما
سلام
مطالب سایت و همچنین پاسخگویی عوامل سایت ، واقعا قابل تقدیره سپاس از محبتتون…
سلام و عرض ادب.
قطعا با ارسال نظرات و لطف شما با انرژی بیشتری به این راه ادامه خواهیم داد.
با تشکر از همراهی شما
من . میزنم تو ورود قبول نمیکنه خودش ی آدرس پیشنهاد میکنه دلیل این کار چیه
سلام و عرض ادب. در ساعت اداری با شرکت هماهنگ کنید که به صورت ریموت مشکل شما بررسی شود.
با تشکر از همراهی شما
بسیار عالی ، سپاس فراوان
سلام خسته نباشی واقعا عالی بود
من یه فایل با نرم افزارمتلب درست کردم الان همون فایل میخوام با sqlدرس کنم میشه راهنمایی کنید ممنون
سلام و عرض ادب
از همراهی شما سپاسگزاریم.لطفا سوالات خود را به صورت جزیی تر در قسمت دیدگاه زیر آموزش ها مطرح نمایید تا در صورت امکان کارشناسان مربوطه راهنمایی فرمایند.
با تشکر از همراهی شما
سلام وقت بخیر من دیتابیس میسازم جدول هم میسازم اما وقتی میخوام بهم ربطشون بدم گزینه database diagram اصلا جز دیتابیسم نیست حتی دیتابیس های آماده از قبلم هم چک کردم
لطفا راهنمایی کنید
سلام و عرض ادب. لطفا با Anydesk ریموت بدید که مشکل شما بررسی شود.
سلام…
وقت بخیر
من هرکار میکنم نمیتونم توی برنامه microsoft sql server management studio یه دیتابیس ایجاد کنم ممنون میشم کمکم کنین
سلام وقت بخیر
اروری در کانکشن استرینگ دارم ممنون میشم راهنمایی کنید ارور ‘Keyword not supported: ‘integrated secutiry’.’ هست!؟
یادم نمیاد موقعه نصب sql پسورد زدم یا ن؟از کجا بفهمم؟؟ارور همینه؟؟
با سلام میشه آموزش وصل کردن اسکیوال کاکند و کانکشن رو یا توضیح بدید یا در سایت قرار بدید.
من هر چی انجام میدم اسکیوال کامند ارور میده.
با تشکر…
ارور اسکیوال کامند من اینه No active connection for this command
ولی من اسکیوال کانکشن رو وصل کردم!!!
چیکار کنم؟؟؟
عرض سلام و تشکر. من sql 2020 نصب کردم ولی نمی تونم لاگین بشم. به نام سرورم ایراد می گیره. راههای شما را امتحان کردم هیچکدوم جواب نمی ده
سلام و عرض ادب. لطفا با شرکت هماهنگ کنید تا به صورت ریموتی مشکل شما بررسی شود.
با تشکر از همراهی شما
سلام
زمانی که دیتابیس رو اتچ میکنم داخل قسمت database snapshots اتچ میشه و نمیره داخل database
دلیلش چی هست؟
ممنون میشم راهنمایی کنید
سلام
زمانی که دیتابیس رو اتچ میکنم داخل قسمت database snapshots اتچ میشه و نمیره داخل database
sql2019هم هست
دلیلش چی هست؟
ممنون میشم راهنمایی کنید
سلام و عرض ادب
لطفا با شماره ۰۹۱۰۳۸۲۳۲۵۳ در واتساپ پیام بدهید تا به صورت ریموتی مشکل شما را برطرف کنند.
با تشکر از همراهی شما
سلام مطالبتون روخواندم خیلی عالی بود من واقعا چندسال اس کیو ال دارم جایی. نمیدونستم اینهمه قابلیت داره واجب شد حتما برم کلاس یا سی دی آموزشی یا مقاله جمع کنم فقط یه پاسخ صریح بهم بدین ممنون میشم من یه نرم افزار دارم نمیدونم database این نرم افزار کجاست چندین بانک داره رو درایوهای سیستم فقط یکی کار میکنه یه آدرس بدین رو چی کلیک کنم بفهمم بانک این نرم افزار تو کدوم درایو و کجاست بتونم backup بگیرم ممنون از وقتی که میگذارید
سلام خیلیی عالی بود، ممنونم
سلام و عرض ادب
رضایت شما موجب خرسندی ماست.
با تشکر از همراهی شما
سلام وقت بخیر خسته نباشید من مشکل کانکت شدن به سرور دارم
متن خطا :
TITLE: Connect to Server
——————————
Cannot connect to ..
——————————
ADDITIONAL INFORMATION:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 2)
For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-2-database-engine-error
——————————
The system cannot find the file specified
——————————
BUTTONS:
OK
——————————
سلام و عرض ادب. از اینکه سرویس sql در حالت start هست مطمئن شوید.
با تشکر از همراهی شما
سلام و عرض ادب،
بسیار جامع و ساده و مفید، سپاسگذارم
سلام و عرض ادب
از انرژی مثبت شما سپاسگزاریم
سوال : چطور از تاداخل sql به تیبل های access متصل شوم ؟ منظورم Link است ونه import
سلام وقتتون بخیر
من وقتی از طریق دستور T-SQLدیتابیس وارد میکنم این ارور رو به من میده مشکل کار کجاست؟
کد نویسی
CREATE DATABASE DB2
ON PRIMARY
(
NAME = ‘DB2’,
FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\DB2.mdf’,
SIZE = 10MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 50%
)
LOG ON
(
NAME = ‘DB2_Log’,
FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\DB2_Log.ldf’,
SIZE = 2MB,
MAXSIZE = 100MB,
FILEGROWTH = 2MB
);
اروری که میده
Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file “C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\DB2.mdf” failed with the operating system error 3(The system cannot find the path specified.).
Msg 1802, Level 16, State 1, Line 1
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
سلام و عرض ادب. ابتدا مسیر را چک کنید که درست باشد در صورتی که درست بود به کلید رجیستری بروید: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.\MSSQLServer\Parameters.
مقدار Data Path را بررسی و تغییر دهید تا با مقدار HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10 مطابقت داشته باشد.<نام نمونه>\Setup\SQLDataRoot.
و سپس ریسیت کنید.
سلام وقتتون بخیر اگر با پشتیبانیتون تماس بگیرم راهنماییم میکنید که چطور دیتا بیس وصل کنم روی سیستمم برای نرم افزار سلری نیاز دارم هرکاری میکنم وصل نمیشه توروخدا راهنمایی کنید ممنون میشم
سلام و عرض ادب. بله با شماره دفتر تماس بگیرید تا شما را راهنمایی کنند.
با تشکر از همراهی شما
برای اتصال دیتابیس به پاور بیآی مشکل دارم .میتونم ازتون بپرسم؟
سلام و عرض ادب. لطفا مشکل خود را با جزئیات بیشتر و ضمیمه عکس و … بفرمایید.
با تشکر از همراهی شما
برای اتصال دیتابیس به پاور بی آی مشکل دارم .میتونم ازتون بپرسم؟
سلام
سلام وقت بخیر ، پوشه database diagrams من در sql خالی هستش( پوشه رو دابل کلیک میکنم باز نمیشه ) مشکل از کجاست چون یه دیاگرام جدید هم رسم کردم و سیو کردم ولی توی پوشه دیگارامم چیزی نشون نمیده ممنون میشم راهنمایی کنید