881.3K حجم رسانه بالاست
مشاهده در ایتا
برای ایجاد یک دیتابیس جدید در SQL Server، میتوانید از SQL Server Management Studio (SSMS) استفاده کنید. مراحل زیر را دنبال کنید:
- باز کردن SSMS: برنامه SQL Server Management Studio را باز کنید و به سرور SQL متصل شوید.
- ایجاد دیتابیس جدید: روی پوشه "Databases" راست کلیک کرده و گزینه "New Database" را انتخاب کنید.
- تنظیمات دیتابیس: در پنجره باز شده، نام دیتابیس را وارد کنید و تنظیمات مربوط به فایلهای دیتابیس (مانند مسیر ذخیرهسازی) را مشخص کنید.
- تایید و ایجاد: پس از وارد کردن اطلاعات، روی "OK" کلیک کنید تا دیتابیس ایجاد شود.
در این قسمت Auto Growth و Max Size چیست؟- Auto Growth: این ویژگی به SQL Server اجازه میدهد تا به صورت خودکار اندازه فایلهای دیتابیس را افزایش دهد زمانی که فضای موجود پر شود. این افزایش میتواند به صورت درصدی یا بر اساس اندازه ثابت (مثلاً 10 مگابایت) تنظیم شود.
و Max Size: حداکثر اندازهای که فایل دیتابیس میتواند رشد کند را مشخص میکند. این مقدار میتواند به صورت محدود (مثلاً 500 مگابایت) یا نامحدود (unlimited) تنظیم شود.
Auto GrowthAuto Growth
به SQL Server اجازه میدهد تا به صورت خودکار اندازه فایلهای دیتابیس را افزایش دهد زمانی که فضای موجود پر شود. این افزایش میتواند به صورت درصدی یا بر اساس اندازه ثابت تنظیم شود.
مثال:فرض کنید یک دیتابیس با تنظیمات زیر ایجاد کردهاید:
- اندازه اولیه فایل دیتابیس: 100 مگابایت
- تنظیمات Auto Growth: 10 مگابایت
هر زمان که فضای دیتابیس پر شود، SQL Server به صورت خودکار 10 مگابایت به اندازه فایل دیتابیس اضافه میکند.
CREATE DATABASE ExampleDB
ON PRIMARY (
NAME = 'ExampleDB_Data',
FILENAME = 'C:\SQLData\ExampleDB.mdf',
SIZE = 100MB,
FILEGROWTH = 10MB
)
LOG ON (
NAME = 'ExampleDB_Log',
FILENAME = 'C:\SQLData\ExampleDB.ldf',
SIZE = 50MB,
FILEGROWTH = 5MB
);
Max SizeMax Size
حداکثر اندازهای که فایل دیتابیس میتواند رشد کند را مشخص میکند. این مقدار میتواند به صورت محدود (مثلاً 500 مگابایت) یا نامحدود (unlimited) تنظیم شود.
مثال:فرض کنید میخواهید حداکثر اندازه فایل دیتابیس را به 500 مگابایت محدود کنید:
CREATE DATABASE ExampleDB
ON PRIMARY (
NAME = 'ExampleDB_Data',
FILENAME = 'C:\SQLData\ExampleDB.mdf',
SIZE = 100MB,
FILEGROWTH = 10MB,
MAXSIZE = 500MB
)
LOG ON (
NAME = 'ExampleDB_Log',
FILENAME = 'C:\SQLData\ExampleDB.ldf',
SIZE = 50MB,
FILEGROWTH = 5MB,
MAXSIZE = 200MB
);
نکات مهم:- تنظیمات نادرست Auto Growth میتواند بر عملکرد دیتابیس تاثیر منفی بگذارد. برای مثال، اگر اندازه افزایش خیلی کوچک باشد، SQL Server مجبور خواهد بود به دفعات زیاد فایل را افزایش دهد که میتواند باعث کاهش عملکرد شود.
- Max Size
میتواند به شما کمک کند تا از پر شدن فضای دیسک جلوگیری کنید و کنترل بیشتری بر روی اندازه دیتابیس داشته باشید.
در تنظیمات Max Size برای فایلهای دیتابیس در SQL Server، گزینه unlimited به این معناست که هیچ محدودیتی برای حداکثر اندازه فایل وجود ندارد. به عبارت دیگر، فایل دیتابیس میتواند تا زمانی که فضای دیسک موجود است، به رشد خود ادامه دهد.
مثال:فرض کنید میخواهید فایل دیتابیس شما بدون محدودیت رشد کند:
CREATE DATABASE ExampleDB
ON PRIMARY (
NAME = 'ExampleDB_Data',
FILENAME = 'C:\SQLData\ExampleDB.mdf',
SIZE = 100MB,
FILEGROWTH = 10MB,
MAXSIZE = UNLIMITED
)
LOG ON (
NAME = 'ExampleDB_Log',
FILENAME = 'C:\SQLData\ExampleDB.ldf',
SIZE = 50MB,
FILEGROWTH = 5MB,
MAXSIZE = UNLIMITED
);
در این مثال، فایلهای دیتابیس و لاگ میتوانند بدون محدودیت رشد کنند تا زمانی که فضای دیسک موجود باشد.
نکته مهم:استفاده از گزینه unlimited میتواند مفید باشد اگر مطمئن هستید که فضای دیسک کافی دارید. اما باید مراقب باشید که فضای دیسک به طور ناگهانی پر نشود، زیرا این میتواند باعث مشکلات عملکردی و حتی توقف سرویسها شود.
507.6K حجم رسانه بالاست
مشاهده در ایتا
اضافه کردن فایل های دیتابیس
رای اضافه کردن فایل دیتابیس از کامپیوتر یا مموری فلش به SQL Server Management Studio (SSMS)، میتوانید مراحل زیر را دنبال کنید:
- کپی کردن فایلها:
- ابتدا فایلهای دیتابیس (معمولاً با پسوندهای .mdf و .ldf) را از کامپیوتر یا مموری فلش به یک مکان روی دیسک سخت کامپیوتر خود کپی کنید.
- باز کردن SQL Server Management Studio:
- SSMS را باز کنید و به سرور SQL Server خود متصل شوید.
- اتصال دیتابیس:
- در Object Explorer، روی پوشه Databases راست کلیک کنید و گزینه Attach را انتخاب کنید.
- در پنجره Attach Databases، روی دکمه Add کلیک کنید.
- به مکان فایلهای دیتابیس که کپی کردهاید بروید و فایل .mdf را انتخاب کنید. فایلهای مرتبط .ldf به طور خودکار شناسایی میشوند.
- روی OK کلیک کنید تا دیتابیس به سرور متصل شود.
- تایید و اعمال تغییرات:
- پس از انتخاب فایلها، روی OK کلیک کنید تا دیتابیس به سرور اضافه شود.
این مراحل به شما کمک میکنند تا فایل دیتابیس را از کامپیوتر یا مموری فلش به SQL Server Management Studio اضافه کنید.
فهرست
SQL Server
1- پایگاه داده SQL SERVER
2- دیتابیس database
3- نوع نصب و سایت مایکروسافت
4- راهنمای نصب
5- برنامه Management Studio
6- ویژوال استادیو (Visual Studio) و SQL Server
7- در SQL Server نحوه login کردن
8- رمزنگاری Encryption
9- اصطلاحات optional، mandatory و strict
10- توضیح مختصری از هر پوشه در Object Explorer
11- ویژگی XEvent Profiler
12- سیستم ادمین
13- ایجاد لاگین جدید
14- جدولهای دیتابیس
15- ایجاد دیتابیس به دو روش
16- انوع دادهها (Data Types) در دیتابیس
17- گزینه SET PRIMARY KEY
18- نوع داده NVARCHAR
19- خطا یابی ویرایش دیتابیس
20- ایجاد جدول
21- ویژگی Identity
22- مثال ساده از نحوه ایجاد یک جدول
23- کلمات کلیدی رزرو شده (Reserved Keywords)
24- اضافه کردن یک ستون جدید به جدول
25- اضافه کردن یک ستون از نوع int و ویرایش کردن
26- اضافه کردن و ویرایش ویژگی IDENTITY به یک ستون
27- انتخاب کردن سطرهای یک جدول
28- اضافه کردن یک سطر جدید به جدول
29- یک مثال اضافه کردن یک سطر جدید به جدول و ویژگی Identity
30- مثال دوم ویژگی IDENTITY و ایجاد چند سطر به جدول
31- بهروزرسانی یک سطر
32- یک مثال دیگر برای بهروزرسانی یک سطر
33- حذف یک سطر
34- جزئیات بیشتر ایجاد دیتابیس
35- Auto GrowthAuto Growth چیست
36- گزینه unlimited
37- اضافه کردن فایل های دیتابیس
برای ذخیره نام و فامیل در دیتابیس SQL Server با استفاده از سیشارپ و کنسول، میتوانید مراحل زیر را دنبال کنید:
1. ایجاد دیتابیس و جدول در SQL Serverابتدا باید یک دیتابیس و جدول در SQL Server ایجاد کنید. برای این کار میتوانید از SQL Server Management Studio (SSMS) استفاده کنید.
CREATE DATABASE MyDatabase;
GO
USE MyDatabase;
GO
CREATE TABLE Persons (
PersonID int IDENTITY(1,1) PRIMARY KEY,
FirstName nvarchar(50),
LastName nvarchar(50)
);
GO
2. ایجاد پروژه کنسول در سیشارپدر Visual Studio، یک پروژه کنسول جدید ایجاد کنید.
3. اضافه کردن کتابخانههای مورد نیازباید کتابخانههای System.Data.SqlClient را به پروژه اضافه کنید. این کار را میتوانید از طریق NuGet Package Manager انجام دهید.
4. نوشتن کد برای اتصال به دیتابیس و ذخیره اطلاعاتدر فایل Program.cs، کد زیر را اضافه کنید:
using System;
using System.Data.SqlClient;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Server=your_server_name;Database=MyDatabase;Trusted_Connection=True;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.Write("Enter First Name: ");
string firstName = Console.ReadLine();
Console.Write("Enter Last Name: ");
string lastName = Console.ReadLine();
string query = "INSERT INTO Persons (FirstName, LastName) VALUES (@FirstName, @LastName)";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@FirstName", firstName);
command.Parameters.AddWithValue("@LastName", lastName);
int result = command.ExecuteNonQuery();
if (result > 0)
{
Console.WriteLine("Data inserted successfully.");
}
else
{
Console.WriteLine("Error inserting data.");
}
}
}
Console.ReadKey();
}
}
}
توضیحات کد- اتصال به دیتابیس: با استفاده از SqlConnection به دیتابیس متصل میشویم.
- دریافت ورودی از کاربر: نام و فامیل را از کاربر دریافت میکنیم.
- اجرای دستور SQL: با استفاده از SqlCommand دستور INSERT را اجرا میکنیم تا دادهها در جدول ذخیره شوند.
نحوه آدرسدهیدر رشته اتصال (connectionString)، باید نام سرور (Server)، نام دیتابیس (Database)، نام کاربری (User Id) و رمز عبور (Password) خود را جایگزین کنید.
این مراحل به شما کمک میکند تا بتوانید نام و فامیل را از طریق یک برنامه کنسول سیشارپ در دیتابیس SQL Server ذخیره کنید.
بیایید هر یک از این موارد را به تفصیل بررسی کنیم:
1. using
کلمه کلیدی using در سیشارپ برای دو منظور استفاده میشود:
- اضافه کردن فضای نام (Namespace):
using System;
using System.Data.SqlClient;
این دستورها به شما اجازه میدهند تا از کلاسها و متدهای موجود در این فضاهای نام بدون نیاز به نوشتن کامل نام آنها استفاده کنید.
- مدیریت منابع:
using (SqlConnection connection = new SqlConnection(connectionString))
{
// کد شما
}
این نوع using به شما کمک میکند تا منابعی مانند اتصالات دیتابیس به صورت خودکار پس از استفاده آزاد شوند. این کار باعث بهبود مدیریت حافظه و جلوگیری از نشت منابع میشود.
2. SqlConnection
کلاس SqlConnection برای ایجاد و مدیریت اتصال به دیتابیس SQL Server استفاده میشود. برای استفاده از آن، باید یک شیء از این کلاس ایجاد کنید و رشته اتصال (connection string) را به آن بدهید.
مثال:
string connectionString = "Server=your_server_name;Database=MyDatabase;Trusted_Connection=True;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// کد شما
}
در اینجا، connectionString شامل اطلاعات لازم برای اتصال به دیتابیس است و connection.Open() اتصال را باز میکند.
3. SqlCommand
کلاس SqlCommand برای اجرای دستورات SQL در دیتابیس استفاده میشود. این دستورات میتوانند شامل SELECT, INSERT, UPDATE, و DELETE باشند.
مثال:
string query = "INSERT INTO Persons (FirstName, LastName) VALUES (@FirstName, @LastName)";
using (SqlCommand command = new SqlCommand(query, connection))
{
// کد شما
}
در اینجا، query شامل دستور SQL است و command شیء SqlCommand است که این دستور را اجرا میکند.
4. command.Parameters.AddWithValue
این متد برای اضافه کردن پارامترها به دستور SQL استفاده میشود. پارامترها به جلوگیری از حملات SQL Injection کمک میکنند و کد را خواناتر میکنند.
مثال:
command.Parameters.AddWithValue("@FirstName", firstName);
command.Parameters.AddWithValue("@LastName", lastName);
در اینجا، @FirstName و @LastName پارامترهای دستور SQL هستند و firstName و lastName مقادیری هستند که از کاربر دریافت شدهاند.
خلاصه
- using:
برای اضافه کردن فضای نام و مدیریت منابع.
- SqlConnection:
برای ایجاد و مدیریت اتصال به دیتابیس.
- SqlCommand:
برای اجرای دستورات SQL.
- command.Parameters.AddWithValue:
برای اضافه کردن پارامترها به دستور SQL.
Trusted_Connection=True
در رشته اتصال (Connection String) به این معناست که از احراز هویت ویندوز (Windows Authentication) برای اتصال به SQL Server استفاده میشود. به جای استفاده از نام کاربری و رمز عبور مشخص، اتصال با استفاده از اعتبارنامههای ویندوزی که کاربر فعلی سیستم دارد، انجام میشود.
مزایای استفاده از Trusted_Connection=True:- امنیت بیشتر: نیازی به ذخیره نام کاربری و رمز عبور در کد نیست، که این امر امنیت را افزایش میدهد.
- مدیریت سادهتر: مدیریت کاربران و دسترسیها از طریق Active Directory انجام میشود.
- یکپارچگی با سیستم عامل: کاربران به طور خودکار با استفاده از اعتبارنامههای ویندوزی خود احراز هویت میشوند.
مثال:فرض کنید شما یک رشته اتصال به این شکل دارید:
string connectionString = "Server=your_server_name;Database=MyDatabase;Trusted_Connection=True;";
در اینجا، Trusted_Connection=True به SQL Server میگوید که از اعتبارنامههای ویندوزی برای احراز هویت استفاده کند.
مقایسه با احراز هویت SQL Server:در مقابل، اگر از احراز هویت SQL Server استفاده کنید، رشته اتصال شما ممکن است به این شکل باشد:
string connectionString = "Server=your_server_name;Database=MyDatabase;User Id=myUsername;Password=myPassword;";
در این حالت، شما باید نام کاربری و رمز عبور را به صورت صریح در رشته اتصال وارد کنید.
نتیجهگیری:استفاده از Trusted_Connection=True برای بسیاری از برنامهها به دلیل امنیت و سادگی مدیریت، توصیه میشود.
برای ذخیره، نمایش، بروزرسانی و حذف نام و فامیل در یک دیتابیس SQL Server با استفاده از سیشارپ و کنسول، میتوانید از مراحل زیر پیروی کنید:
1. ایجاد دیتابیس و جدول در SQL Serverابتدا باید یک دیتابیس و یک جدول برای ذخیره اطلاعات ایجاد کنید. به عنوان مثال، میتوانید از کد زیر برای ایجاد یک دیتابیس و جدول استفاده کنید:
CREATE DATABASE SampleDB;
GO
USE SampleDB;
GO
CREATE TABLE People (
Id INT PRIMARY KEY IDENTITY(1,1),
FirstName NVARCHAR(50),
LastName NVARCHAR(50)
);
GO
2. ایجاد پروژه کنسول در سیشارپیک پروژه کنسول جدید در ویژوال استودیو ایجاد کنید.
3. اضافه کردن کتابخانههای مورد نیازباید کتابخانههای System.Data.SqlClient را به پروژه اضافه کنید. این کار را میتوانید از طریق NuGet Package Manager انجام دهید.
4. کد برای اتصال به دیتابیس و انجام عملیات CRUDدر اینجا نمونه کدی برای انجام عملیات ذخیره، نمایش، بروزرسانی و حذف آورده شده است:
using System;
using System.Data.SqlClient;
class Program
{
static string connectionString = "Server=your_server_name;Database=SampleDB;Trusted_Connection=True;";
static void Main(string[] args)
{
InsertPerson("Ali", "Rezaei");
DisplayPeople();
UpdatePerson(1, "Mohammad", "Rezaei");
DisplayPeople();
DeletePerson(1);
DisplayPeople();
}
static void InsertPerson(string firstName, string lastName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "INSERT INTO People (FirstName, LastName) VALUES (@FirstName, @LastName)";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@FirstName", firstName);
command.Parameters.AddWithValue("@LastName", lastName);
command.ExecuteNonQuery();
}
}
}
static void DisplayPeople()
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT * FROM People";
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"Id: {reader["Id"]}, FirstName: {reader["FirstName"]}, LastName: {reader["LastName"]}");
}
}
}
}
}
static void UpdatePerson(int id, string firstName, string lastName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "UPDATE People SET FirstName = @FirstName, LastName = @LastName WHERE Id = @Id";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Id", id);
command.Parameters.AddWithValue("@FirstName", firstName);
command.Parameters.AddWithValue("@LastName", lastName);
command.ExecuteNonQuery();
}
}
}
static void DeletePerson(int id)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "DELETE FROM People WHERE Id = @Id";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Id", id);
command.ExecuteNonQuery();
}
}
}
}
توضیحات:- اتصال به دیتابیس: با استفاده از SqlConnection به دیتابیس متصل میشویم.
- درج اطلاعات: با استفاده از INSERT INTO اطلاعات جدید را به جدول اضافه میکنیم.
- نمایش اطلاعات: با استفاده از SELECT اطلاعات موجود در جدول را واکشی و نمایش میدهیم.
- بروزرسانی اطلاعات: با استفاده از UPDATE اطلاعات موجود را بروزرسانی میکنیم.
- حذف اطلاعات: با استفاده از DELETE اطلاعات مورد نظر را از جدول حذف میکنیم.
برای دریافت نام و فامیل از کاربر و ذخیره آنها در دیتابیس SQL Server با استفاده از سیشارپ و کنسول، میتوانید از مراحل زیر پیروی کنید:
1. ایجاد دیتابیس و جدول در SQL Serverابتدا باید یک دیتابیس و یک جدول برای ذخیره اطلاعات ایجاد کنید. به عنوان مثال، میتوانید از کد زیر برای ایجاد یک دیتابیس و جدول استفاده کنید:
CREATE DATABASE SampleDB;
GO
USE SampleDB;
GO
CREATE TABLE People (
Id INT PRIMARY KEY IDENTITY(1,1),
FirstName NVARCHAR(50),
LastName NVARCHAR(50)
);
GO
2. ایجاد پروژه کنسول در سیشارپیک پروژه کنسول جدید در ویژوال استودیو ایجاد کنید.
3. اضافه کردن کتابخانههای مورد نیازباید کتابخانههای System.Data.SqlClient را به پروژه اضافه کنید. این کار را میتوانید از طریق NuGet Package Manager انجام دهید.
4. کد برای اتصال به دیتابیس و انجام عملیات CRUDدر اینجا نمونه کدی برای انجام عملیات دریافت، ذخیره، نمایش، بروزرسانی و حذف آورده شده است:
using System;
using System.Data.SqlClient;
class Program
{
static string connectionString = "Server=your_server_name;Database=SampleDB;Trusted_Connection=True;";
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("Choose an option:");
Console.WriteLine("1. Insert Person");
Console.WriteLine("2. Display People");
Console.WriteLine("3. Update Person");
Console.WriteLine("4. Delete Person");
Console.WriteLine("5. Exit");
var choice = Console.ReadLine();
switch (choice)
{
case "1":
Console.Write("Enter First Name: ");
var firstName = Console.ReadLine();
Console.Write("Enter Last Name: ");
var lastName = Console.ReadLine();
InsertPerson(firstName, lastName);
break;
case "2":
DisplayPeople();
break;
case "3":
Console.Write("Enter ID of the person to update: ");
var idToUpdate = int.Parse(Console.ReadLine());
Console.Write("Enter new First Name: ");
var newFirstName = Console.ReadLine();
Console.Write("Enter new Last Name: ");
var newLastName = Console.ReadLine();
UpdatePerson(idToUpdate, newFirstName, newLastName);
break;
case "4":
Console.Write("Enter ID of the person to delete: ");
var idToDelete = int.Parse(Console.ReadLine());
DeletePerson(idToDelete);
break;
case "5":
return;
default:
Console.WriteLine("Invalid choice. Please try again.");
break;
}
}
}
static void InsertPerson(string firstName, string lastName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "INSERT INTO People (FirstName, LastName) VALUES (@FirstName, @LastName)";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@FirstName", firstName);
command.Parameters.AddWithValue("@LastName", lastName);
command.ExecuteNonQuery();
}
}
}
static void DisplayPeople()
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT * FROM People";
using (SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"Id: {reader["Id"]}, FirstName: {reader["FirstName"]}, LastName: {reader["LastName"]}");
}
}
}
}
}
static void UpdatePerson(int id, string firstName, string lastName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "UPDATE People SET FirstName = @FirstName, LastName = @LastName WHERE Id = @Id";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Id", id);
command.Parameters.AddWithValue("@FirstName", firstName);
command.Parameters.AddWithValue("@LastName", lastName);
command.ExecuteNonQuery();
}
}
}
static void DeletePerson(int id)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "DELETE FROM People WHERE Id = @Id";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Id", id);
command.ExecuteNonQuery();
}
}
}
}
توضیحات:- اتصال به دیتابیس: با استفاده از SqlConnection به دیتابیس متصل میشویم.
- درج اطلاعات: با استفاده از INSERT INTO اطلاعات جدید را به جدول اضافه میکنیم.
- نمایش اطلاعات: با استفاده از SELECT اطلاعات موجود در جدول را واکشی و نمایش میدهیم.
- بروزرسانی اطلاعات: با استفاده از UPDATE اطلاعات موجود را بروزرسانی میکنیم.
- حذف اطلاعات: با استفاده از DELETE اطلاعات مورد نظر را از جدول حذف میکنیم.