다음을 통해 공유


Visual Studio를 사용하여 .NET Framework 애플리케이션에서 데이터베이스 만들기 및 테이블 추가

참고 항목

데이터 집합 및 관련 클래스는 2000년대 초반에 적용된 레거시 .NET Framework 기술로, 응용 프로그램이 데이터베이스에서 연결이 끊어진 동안 응용 프로그램이 메모리의 데이터로 작업할 수 있도록 합니다. 해당 기술은 사용자가 데이터를 수정하고 변경 내용을 다시 데이터베이스에 유지할 수 있도록 하는 애플리케이션에 특히 유용합니다. 데이터 세트는 매우 성공적인 기술로 입증되었지만 새 .NET 애플리케이션은 Entity Framework Core를 사용하는 것이 좋습니다. Entity Framework는 표 형식 데이터를 개체 모델로 사용하는 더 자연스러운 방법을 제공하며 더 단순한 프로그래밍 인터페이스를 제공합니다.

Visual Studio를 사용하여 SQL Server Express LocalDB에서 로컬 데이터베이스 파일을 만들고 업데이트할 수 있습니다. Visual Studio의 SQL Server 개체 탐색기 도구 창에서 Transact-SQL 문을 실행하여 데이터베이스를 만들 수도 있습니다. 이 항목에서는 테이블 디자이너를 사용하여 .mdf 파일을 만들고 테이블 및 키를 추가합니다.

필수 조건

이 자습서를 완료하려면 Visual Studio에 .NET 데스크톱 개발데이터 스토리지 및 처리 워크로드가 설치되어 있어야 합니다. 이를 설치하려면 Visual Studio 설치 관리자를 열고 수정하려는 Visual Studio 버전 옆에 있는 수정(또는 더 보기>수정)을 선택합니다. Visual Studio 수정을 참조하세요.

참고 항목

이 문서의 절차는 .NET Core Windows Forms 프로젝트가 아닌 .NET Framework Windows Forms 프로젝트에만 적용됩니다.

프로젝트 및 로컬 데이터베이스 파일 만들기

  1. Windows Forms 앱(.NET Framework) 프로젝트를 만들고 이름을 SampleDatabaseWalkthrough로 지정합니다.

  2. 메뉴 모음에서 프로젝트>새 항목 추가를 선택합니다. 파일 이름에 대한 상자가 있는 작은 대화 상자가 표시되면 모든 템플릿 표시를 선택합니다.

  3. 항목 템플릿 목록에서 아래로 스크롤하여 서비스 기반 데이터베이스를 선택합니다.

    새 항목 추가 > 서비스 기반 데이터베이스

    새 항목 추가 > 서비스 기반 데이터베이스

  4. 데이터베이스 이름을 SampleDatabase.mdf으로 지정하고 추가를 선택합니다.

데이터 소스 추가

  1. 데이터 원본 창이 열려 있지 않으면 Shift+Alt+D를 누르거나 메뉴 모음에서 보기>다른 창>데이터 원본을 선택하여 엽니다.

  2. 데이터 원본 창에서 새 데이터 원본 추가를 선택합니다.

    Visual Studio에서 새 데이터 원본 추가

    Visual Studio에서 새 데이터 원본 추가

    데이터 원본 구성 마법사가 열립니다.

  3. 데이터 원본 형식 선택 페이지에서 데이터베이스를 선택하고 다음을 선택합니다.

  4. 데이터베이스 모델 선택 페이지에서 다음을 선택하여 기본값(데이터 세트)을 적용합니다.

  5. 데이터 연결 선택 페이지의 드롭다운 목록에서 SampleDatabase.mdf 파일을 선택하고 다음을 선택합니다.

  6. 애플리케이션 구성 파일에 연결 문자열 저장 페이지에서 다음을 선택합니다.

  7. 데이터베이스 개체 선택 페이지에 데이터베이스에 개체 가 포함되어 있지 않다는 메시지가 표시됩니다. 마침을 선택합니다.

주의

실제 애플리케이션에서는 연결 문자열 및 구성 파일에서 설명하는 것처럼 연결 문자열을 안전하게 저장해야 합니다. 최상의 보안을 위해 온-프레미스 SQL Server 데이터베이스에 대한 Windows 인증과 같이 연결 문자열에 암호를 저장하지 않는 인증 방법을 사용합니다. 연결 문자열 저장 및 편집을 참조하세요.

데이터 연결 속성 보기

데이터 연결의 속성 창을 열어 SampleDatabase.mdf 파일의 일부 속성을 볼 수 있습니다.

  • SQL Server 개체 탐색기 보기>(또는 Ctrl+\, Ctrl+S)를 선택하여 SQL Server 개체 탐색기 창을 엽니다. (localdb)\MSSQLLocalDB>데이터베이스를 확장한 다음 SampleDatabase.mdf 마우스 오른쪽 단추로 클릭하고(전체 경로로 나열될 수 있음) 속성을 선택합니다.

  • 또는 해당 창이 열려 있지 않은 경우 보기>서버 탐색기를 선택할 수 있습니다. 데이터 연결 노드를 확장하고 SampleDatabase.mdf를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택하여 속성 창을 엽니다.

    데이터 연결 노드를 확장할 수 없거나 SampleDatabase.mdf 연결이 목록에 없는 경우 서버 탐색기 도구 모음에서 데이터베이스에 연결 단추를 선택합니다. 연결 추가 대화 상자에서 데이터 원본 아래에 Microsoft SQL Server 데이터베이스 파일이 선택되어 있는지 확인한 다음 SampleDatabase.mdf 파일을 찾아 선택합니다. 확인을 선택하여 연결 추가를 완료합니다.

연결 문자열 보려면 솔루션 탐색기 App.config 파일을 열 수 있습니다. 해당 connectionStrings 요소 아래에 다음 코드와 유사한 항목이 표시됩니다.

    <connectionStrings>
        <add name="SampleDatabaseWalkthrough.Properties.Settings.SampleDatabaseConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SampleDatabase.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

테이블 디자이너를 사용하여 테이블 및 키 만들기

이 단원에서는 두개의 테이블과 각 테이블의 기본 키 그리고 몇 행의 샘플 데이터를 만들어야 합니다. 또한 외래 키를 만들어 한 테이블의 레코드가 다른 테이블의 레코드에 해당하는 방식을 지정할 수 있습니다.

Customers 테이블 만들기

  1. 서버 탐색기 또는 SQL Server 개체 브라우저에서 데이터 연결 노드를 확장한 다음 SampleDatabase.mdf 노드를 확장 합니다 .

  2. 테이블을 마우스 오른쪽 단추로 클릭하고 새 테이블 추가를 선택합니다.

    테이블 디자이너가 열리고 사용자가 만드는 테이블의 단일 열을 나타내는 한 개의 기본 행이 포함된 표가 표시됩니다. 표에 행을 추가하여 테이블에 열을 추가합니다.

  3. 표에서 다음 각 항목에 대한 행을 추가합니다.

    열 이름 데이터 형식 null 허용
    CustomerID nchar(5) False(선택 취소)
    CompanyName nvarchar(50) False(선택 취소)
    ContactName nvarchar (50) True(선택)
    Phone nvarchar (24) True(선택)
  4. CustomerID 행을 마우스 오른쪽 단추로 클릭하고 기본 키 설정을 선택합니다.

  5. 기본 행(Id)을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.

  6. 다음 샘플과 일치하도록 스크립트 창에서 첫 번째 줄을 업데이트하여 Customers 테이블 이름을 지정합니다.

    CREATE TABLE [dbo].[Customers]
    
  7. Customers 테이블에 인덱스 제약 조건을 추가합니다. Phone 줄 끝에 쉼표를 추가한 다음 닫는 괄호 앞에 다음 샘플을 추가합니다.

    CONSTRAINT [PK_Customers] PRIMARY KEY ([CustomerID])
    

    다음과 비슷한 결과가 표시됩니다.

    Customers 테이블이 표시된 테이블 디자이너

    Customers 테이블이 표시된 테이블 디자이너

  8. 테이블 디자이너의 왼쪽 위 모서리에서 업데이트를 선택하거나 Shift+Alt+U를 누릅니다.

  9. 데이터베이스 업데이트 미리 보기 대화 상자에서 데이터베이스 업데이트를 선택합니다.

    로컬 데이터베이스 파일에 Customers 테이블이 만들어집니다.

Orders 테이블 만들기

  1. 다른 테이블을 추가한 다음, 다음 표의 각 항목에 대한 행을 추가합니다.

    열 이름 데이터 형식 null 허용
    OrderID int False(선택 취소)
    CustomerID nchar(5) False(선택 취소)
    OrderDate datetime True(선택)
    OrderQuantity int True(선택)
  2. OrderID를 기본 키로 설정한 다음 기본 행을 삭제합니다.

  3. 다음 샘플과 일치하도록 스크립트 창에서 첫 번째 줄을 업데이트하여 Orders 테이블 이름을 지정합니다.

    CREATE TABLE [dbo].[Orders]
    
  4. Customers 테이블에 인덱스 제약 조건을 추가합니다. OrderQuantity 줄 끝에 쉼표를 추가한 다음 닫는 괄호 앞에 다음 샘플을 추가합니다.

    CONSTRAINT [PK_Orders] PRIMARY KEY ([OrderId])
    
  5. 테이블 디자이너의 왼쪽 위 모퉁이에서 업데이트를 선택하거나 Shift+Alt+U를 누릅니다.

  6. 데이터베이스 업데이트 미리 보기 대화 상자에서 데이터베이스 업데이트를 선택합니다.

    로컬 데이터베이스 파일에 Orders 테이블이 만들어집니다. 서버 탐색기의 테이블 노드를 확장하면 두 테이블이 표시됩니다.

    서버 탐색기에서 확장된 테이블 노드

    서버 탐색기에서 확장된 테이블 노드

    표시되지 않으면 새로 고침 도구 모음 단추를 누릅니다.

외래 키 만들기

  1. Orders 테이블의 테이블 디자이너 그리드 오른쪽에 있는 컨텍스트 창에서 외래 키를 마우스 오른쪽 단추로 클릭하고 새 외래 키 추가를 선택합니다.

    Visual Studio에서 테이블 디자이너에 외래 키 추가

    Visual Studio에서 테이블 디자이너에 외래 키 추가

  2. 표시되는 텍스트 상자에서 텍스트 ToTableCustomers로 바꿉니다.

  3. T-SQL 창에서 마지막 줄이 다음 샘플과 일치하도록 업데이트합니다.

    CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])
    
  4. 테이블 디자이너의 왼쪽 위 모퉁이에서 업데이트(Shift+Alt+U)를 선택합니다.

  5. 데이터베이스 업데이트 미리 보기 대화 상자에서 데이터베이스 업데이트를 선택합니다.

    외래 키가 만들어집니다.

테이블에 데이터 채우기

  1. 서버 탐색기 또는 SQL Server 개체 탐색기에서 샘플 데이터베이스의 노드를 확장합니다.

  2. 테이블 노드에 대한 바로 가기 메뉴를 열고 새로 고침을 선택한 다음 테이블 노드를 확장합니다.

  3. Customers 테이블에 대한 바로 가기 메뉴를 열고 테이블 데이터 보기 또는 데이터 보기를 선택합니다.

  4. 일부 고객의 필요한 데이터를 추가합니다.

    고객 ID를 5자로 지정할 수 있지만 나중에 이 절차에서 사용할 수 있도록 기억하기 쉬운 1자 정도를 선택하면 됩니다.

  5. Orders 테이블에 대한 바로 가기 메뉴를 열고 테이블 데이터 보기 또는 데이터 보기를 선택합니다.

  6. 일부 주문의 데이터를 추가합니다. 각 행을 입력하면 데이터베이스에 저장됩니다.

    Important

    모든 주문 ID와 주문 수량이 정수이고 각 고객 ID가 Customers 테이블의 CustomerID 열에 지정한 값과 일치하는지 확인합니다.

축하합니다! 이제 테이블을 만들고, 외래 키와 연결하고, 데이터를 추가하는 방법을 알았습니다.