ASP.NET MVC 1을 사용하여 작지만 완전한 웹 애플리케이션을 빌드하는 방법을 안내하는 무료 "NerdDinner" 애플리케이션 자습서 의 2단계입니다.
2단계는 NerdDinner 애플리케이션에 대한 모든 저녁 식사 및 RSVP 데이터를 포함하는 데이터베이스를 만드는 단계를 보여 줍니다.
ASP.NET MVC 3을 사용하는 경우 MVC 3 또는 MVC Music Store 시작 따라가는 것이 좋습니다.
NerdDinner 2단계: 데이터베이스 만들기
데이터베이스를 사용하여 NerdDinner 애플리케이션에 대한 모든 Dinner 및 RSVP 데이터를 저장합니다.
아래 단계에서는 무료 SQL Server Express 버전을 사용하여 데이터베이스를 만드는 것을 보여 줍니다(Microsoft 웹 플랫폼 설치 관리자 V2를 사용하여 쉽게 설치할 수 있음). 작성할 모든 코드는 SQL Server Express 전체 SQL Server 함께 작동합니다.
새 SQL Server Express 데이터베이스 만들기
먼저 웹 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가> 메뉴 명령을 선택합니다.
그러면 Visual Studio의 "새 항목 추가" 대화 상자가 표시됩니다. "데이터" 범주별로 필터링하고 "SQL Server 데이터베이스" 항목 템플릿을 선택합니다.
"NerdDinner.mdf"를 만들려는 SQL Server Express 데이터베이스의 이름을 지정하고 확인을 누릅니다. 그러면 Visual Studio에서 이 파일을 \App_Data 디렉터리에 추가할 것인지 묻습니다(읽기 및 쓰기 보안 ACL을 모두 사용하여 이미 설치한 디렉터리임).
"예"를 클릭하면 새 데이터베이스가 만들어지고 솔루션 탐색기 추가됩니다.
데이터베이스 내에서 테이블 만들기
이제 새 빈 데이터베이스가 있습니다. 일부 테이블을 추가해 보겠습니다.
이렇게 하려면 데이터베이스 및 서버를 관리할 수 있는 Visual Studio 내의 "서버 Explorer" 탭 창으로 이동합니다. 애플리케이션의 \App_Data 폴더에 저장된 SQL Server Express 데이터베이스가 서버 Explorer 내에 자동으로 표시됩니다. 필요에 따라 "서버 Explorer" 창 맨 위에 있는 "데이터베이스에 연결" 아이콘을 사용하여 목록에 SQL Server 데이터베이스(로컬 및 원격 모두)를 추가할 수도 있습니다.
NerdDinner 데이터베이스에 두 개의 테이블을 추가합니다. 하나는 Dinners를 저장하고 다른 하나는 RSVP 수용을 추적합니다. 데이터베이스 내의 "테이블" 폴더를 마우스 오른쪽 단추로 클릭하고 "새 테이블 추가" 메뉴 명령을 선택하여 새 테이블을 만들 수 있습니다.
그러면 테이블의 스키마를 구성할 수 있는 테이블 디자이너가 열립니다. "Dinners" 테이블의 경우 10개의 데이터 열을 추가합니다.
"DinnerID" 열이 테이블의 고유한 기본 키가 되기를 원합니다. "DinnerID" 열을 마우스 오른쪽 단추로 클릭하고 "기본 키 설정" 메뉴 항목을 선택하여 구성할 수 있습니다.
DinnerID를 기본 키로 만드는 것 외에도 새 데이터 행이 테이블에 추가될 때 값이 자동으로 증가되는 "ID" 열로 구성하려고 합니다(즉, 첫 번째 삽입된 Dinner 행은 DinnerID가 1이고, 두 번째 삽입된 행에는 DinnerID가 2개 포함됨).
"DinnerID" 열을 선택한 다음 " 열 속성" 편집기를 사용하여 열의 "(ID)" 속성을 "예"로 설정하면 됩니다. 표준 ID 기본값을 사용합니다(새 Dinner 행마다 1부터 시작하여 1씩 증가).
그런 다음 Ctrl-S를 입력하거나 파일> 저장 메뉴 명령을 사용하여 테이블을 저장합니다. 그러면 테이블 이름을 지정하라는 메시지가 표시됩니다. 이름을 "Dinners"로 지정합니다.
그러면 새 Dinners 테이블이 서버 탐색기의 데이터베이스 내에 표시됩니다.
그런 다음 위의 단계를 반복하고 "RSVP" 테이블을 만듭니다. 이 테이블에는 열이 3개 있습니다. RsvpID 열을 기본 키로 설정하며 ID 열로도 만듭니다.
저장하고 이름을 "RSVP"로 지정합니다.
테이블 간의 외래 키 관계 설정
이제 데이터베이스 내에 두 개의 테이블이 있습니다. 마지막 스키마 디자인 단계는 이러한 두 테이블 간에 "일대다" 관계를 설정하여 각 Dinner 행을 적용되는 0개 이상의 RSVP 행과 연결할 수 있도록 하는 것입니다. RSVP 테이블의 "DinnerID" 열을 구성하여 "Dinners" 테이블의 "DinnerID" 열과 외래 키 관계를 갖도록 구성합니다.
이렇게 하려면 서버 탐색기에서 두 번 클릭하여 테이블 디자이너 내에서 RSVP 테이블을 엽니다. 그런 다음, 그 안에 있는 "DinnerID" 열을 선택하고 마우스 오른쪽 단추를 클릭하고 "관계..."를 선택합니다. 상황에 맞는 메뉴 명령:
그러면 테이블 간의 관계를 설정하는 데 사용할 수 있는 대화 상자가 표시됩니다.
"추가" 단추를 클릭하여 대화 상자에 새 관계를 추가합니다. 관계가 추가되면 속성 표 내의 "테이블 및 열 사양" 트리 뷰 노드를 대화 상자의 오른쪽에 있는 확장한 다음 "..."를 클릭합니다. 오른쪽에 있는 단추:
"..." 클릭 단추는 관계에 관련된 테이블과 열을 지정하고 관계의 이름을 지정할 수 있는 다른 대화 상자를 표시합니다.
기본 키 테이블을 "Dinners"로 변경하고 Dinners 테이블 내의 "DinnerID" 열을 기본 키로 선택합니다. RSVP 테이블은 외래 키 테이블과 RSVP가 됩니다. DinnerID 열은 외래 키로 연결됩니다.
이제 RSVP 테이블의 각 행이 Dinner 테이블의 행과 연결됩니다. SQL Server 참조 무결성을 유지하며 유효한 Dinner 행을 가리키지 않는 경우 새 RSVP 행을 추가하지 못하게 합니다. 또한 참조하는 RSVP 행이 여전히 있는 경우 Dinner 행을 삭제할 수 없습니다.
테이블에 데이터 추가
Dinners 테이블에 몇 가지 샘플 데이터를 추가하여 완료해 보겠습니다. 서버 Explorer 내에서 데이터를 마우스 오른쪽 단추로 클릭하고 "테이블 데이터 표시" 명령을 선택하여 테이블에 데이터를 추가할 수 있습니다.
애플리케이션 구현을 시작할 때 나중에 사용할 수 있는 Dinner 데이터의 몇 행을 추가합니다.
다음 단계
데이터베이스 만들기를 완료했습니다. 이제 쿼리하고 업데이트하는 데 사용할 수 있는 모델 클래스를 만들어 보겠습니다.