연습: 데이터베이스 열 이름 바꾸기
업데이트: 2007년 11월
데이터베이스 리팩터링을 사용하여 스키마 개체의 이름을 바꿀 수 있습니다. 이름을 바꾼 개체를 참조하는 다른 개체는 새 이름으로 자동 업데이트됩니다. 예를 들어 테이블 열의 이름을 바꿀 수 있으며 해당 열을 참조하는 저장 프로시저가 새 이름으로 자동 업데이트됩니다. 자세한 내용은 이름 바꾸기 리팩터링 개요를 참조하십시오.
참고: |
---|
여러 개의 테이블에서 개체를 선택하는 쿼리의 리팩터링은 테이블 이름 또는 테이블 별칭을 사용하여 열 이름이 정규화된 경우에만 지원됩니다. 이 제한은 모호하지 않은 열 이름에 대해서도 적용됩니다. 예를 들어 다음 문은 문이 참조하는 열의 이름을 바꿀 때 올바르게 업데이트될 수 있습니다. SELECT Orders.OrderID, Customers.ContactName FROM Orders JOIN Customers on Orders.CustomerID = Customers.CustomerID 또는 SELECT o.OrderID, c.ContactName FROM Orders o JOIN Customers c on o.CustomerID = c.CustomerID |
이 연습에서는 데이터베이스 프로젝트를 만들고 Northwind 데이터베이스 스키마를 가져오며 기존 스키마 개체를 검사하고 스키마 개체의 이름을 바꿉니다.
사전 요구 사항
이 연습을 완료하려면 다음이 필요합니다.
Visual Studio Team System Database Edition
Microsoft SQL Server 2000 또는 SQL Server 2005
Northwind 데이터베이스가 설치된 데이터베이스 서버에 대한 액세스 권한
데이터베이스 프로젝트 만들기
먼저 이 연습에서 사용할 새 데이터베이스 프로젝트를 만듭니다. 팀 환경에서는 일반적으로 데이터베이스 프로젝트에서 사용할 기존 프로젝트를 소스 코드 제어 시스템에서 체크 아웃합니다. 자세한 내용은 팀 환경에서의 데이터베이스 개체 리팩터링을 참조하십시오.
데이터베이스 프로젝트를 만들려면
파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.
새 프로젝트 대화 상자가 나타납니다.
프로젝트 형식 목록에서 데이터베이스 프로젝트 노드를 확장하고 Microsoft SQL Server를 클릭합니다.
템플릿 목록에서 SQL Server 2000을 클릭합니다.
이름에 RefactorNorthwind를 입력하고 확인을 클릭합니다.
빈 RefactorNorthwind 데이터베이스 프로젝트가 포함된 솔루션이 생성됩니다. 이 프로젝트가 테스트(또는 샌드박스) 프로젝트입니다. 사용자가 작업하는 동안에는 다른 사용자가 샌드박스 프로젝트에 액세스할 수 없습니다.
Northwind 데이터베이스 가져오기
다음에는 Northwind 데이터베이스에서 데이터베이스 스키마를 가져옵니다. 이 Northwind 스키마 복사본을 사용하여 리팩터링을 테스트합니다.
Northwind 데이터베이스를 가져오려면
솔루션 탐색기 또는 스키마 뷰에서 RefactorNorthwind를 클릭합니다.
데이터 메뉴에서 데이터베이스 스키마 가져오기를 클릭합니다.
참고: 솔루션 탐색기 또는 스키마 뷰에서 RefactorNorthwind를 마우스 오른쪽 단추로 클릭한 다음 데이터베이스 스키마 가져오기를 클릭할 수도 있습니다.
데이터베이스 가져오기 마법사가 나타납니다.
소스 데이터베이스 연결 목록에서 기존 Northwind 데이터베이스에 해당하는 연결을 클릭합니다.
중요: 해당 데이터베이스에 연결하지 않은 경우 먼저 새 연결을 클릭하여 데이터베이스 연결을 만들어야 합니다. 자세한 내용은 방법: 데이터베이스 연결 만들기를 참조하십시오.
마침을 클릭합니다.
스키마를 가져올 때 데이터베이스에 있는 개체에 해당하는 프로젝트 항목이 솔루션 탐색기 및 스키마 뷰의 데이터베이스 프로젝트 아래에 나타납니다.
참고: 데이터베이스에 연결하여 스키마를 가져왔지만 이제 연결이 끊어지고 오프라인으로 작업합니다.
기존 데이터베이스 개체 검사
다음에는 리팩터링을 사용하기 전에 Northwind 데이터베이스에 있는 기존 개체를 검사합니다.
기존 데이터베이스 개체를 검사하려면
스키마 뷰에서 Tables 하위 폴더, dbo.Orders 테이블, Columns 폴더를 차례로 확장합니다.
열이 나타납니다. Orders 테이블에는 ShippedDate라는 열이 있습니다.
StoredProcedures 하위 폴더를 확장하고 dbo.CustOrdersOrders를 두 번 클릭합니다.
스크립트 파일이 열리고 저장 프로시저가 나타납니다. 이 저장 프로시저는 고객 ID를 받아서 해당 고객의 주문 목록을 반환합니다. 또한 Orders 테이블에서 ShippedDate 열을 선택합니다.
데이터베이스 개체 이름 바꾸기
다음에는 리팩터링을 사용하여 데이터베이스 개체의 이름을 바꿉니다. Orders 테이블의 열 이름을 바꾸고 미리 보기 대화 상자에서 결과를 검사합니다.
데이터베이스 개체의 이름을 바꾸려면
스키마 뷰에서 RefactorNorthwind 프로젝트, Tables 하위 폴더, dbo.Orders 테이블, Columns 폴더를 차례로 확장합니다.
열이 나타납니다.
ShippedDate 열을 클릭합니다.
데이터 메뉴에서 리팩터링을 가리킨 다음 이름 바꾸기를 클릭합니다.
이름 바꾸기 대화 상자가 표시됩니다.
참고: 스키마 뷰에서 ShippedDate를 마우스 오른쪽 단추로 클릭하고 리팩터링을 가리킨 다음 이름 바꾸기를 클릭할 수도 있습니다.
새 이름에 ShippedDateAndTime을 입력합니다.
변경 내용 미리 보기 확인란을 선택하고 확인을 클릭합니다.
위쪽 창과 아래쪽 창으로 구성된 변경 내용 미리 보기 대화 상자가 나타납니다. 위쪽 창에는 변경될 개체를 나열하는 트리가 있고 아래쪽 창에는 변경을 위해 생성될 스크립트가 표시됩니다. 위쪽 창에 이전 이름이 표시되고 아래쪽 창에는 새 이름이 표시됩니다.
위쪽 창에서 스키마 개체, Orders.table.sql을 차례로 확장하고 Orders.table.sql을 클릭합니다.
아래쪽 창에 새 열 이름 ShippedDateAndTime이 강조 표시된 Create Table 스크립트가 표시됩니다.
위쪽 창에서 스키마 개체, CustOrdersOrders.proc.sql을 차례로 확장하고 CustOrdersOrders.proc.sql을 클릭합니다.
아래쪽 창에 새 열 이름 ShippedDateAndTime이 강조 표시된 Create Procedure 스크립트가 표시됩니다.
적용을 클릭합니다.
변경 내용이 적용됩니다. 열 이름이 업데이트되고 업데이트된 각 개체에 대해 새 열 이름이 스키마 뷰에 나타납니다.
다음 단계
이 연습에서는 데이터베이스 프로젝트를 만들고 Northwind 데이터베이스 스키마를 가져왔으며 데이터베이스 개체의 이름을 바꾸었습니다. 이때 변경된 내용은 데이터베이스 프로젝트에만 해당되며 데이터베이스 자체가 변경된 것은 아닙니다. 다음에는 변경 내용을 데이터베이스로 배포하고 결과를 확인할 수 있습니다. 자세한 내용은 연습: 데이터베이스 리팩터링 변경 내용 배포를 참조하십시오.