테이블 - 테이블 생성 및 수정.

 

테이블 생성은 이미 앞장에서 데이터베이스 생성 및 관리를 다루면서 해보았다. 이번 시간에는 간단하게 테이블을 생성해보고 제약 조건 및 데이터 타입 등에 대해서 알아 보도록 한다.

테이블의 데이터 속성들(색, 크기, 수량, 주문 번호 등)은 테이블에서 명명된 "컬럼" 형태를 띤다. 테이블에 있는 각 데이터는 한 개의 엔트리 또는 "행(row)로 표시 된다. ( 공식 명칭은 "tuple(튜플)"이라 불린다.

 

1. 테이블 생성

테이블을 생성하는 방법에는 SSMS를 이용하는 방법과 직접 쿼리문을 입력하여 생성하는 방법이 있다.

(MSDN 참고:
http://msdn.microsoft.com/ko-kr/library/ms174979.aspx)

 

- SSMS 이용하기

SSMS를 실행하여 해당 DB에서 [테이블] 마우스 오른쪽을 클릭하여 [새 테이블]을 선택한다.

 

[새 테이블]을 선택하고 나면 컬럼명을 명과 데이터 타입 기타 속성들을 선택하는 창이 나타난다.

* 열 이름 : 컬럼에 나타낼 이름이다. 엑셀에서 컬럼의 제목을 생각하면 쉬울 듯 하다. 한글명 도 가능 하다.

* 데이터 형식 : 해당 컬럼의 데이터 타입을 말한다. 숫자형인지 문자형인지 등. 데이터 형식을 클릭하면 SQL에서 사용할 수 있는 데이터 형식을 볼 수 있다.

* Null 허용 : Null 값을 허용 할 것인지 선택한다. 체크되어 있으면 Null허용이다.

* ID사양 : 데이터 형식이 숫자인 컬럼에 대해 자동증가 값을 설정 할 수 있다. ID사양을 [예]로 선택한 다음 증가값을 설정하고 초기값을 설정한다. 디폴트는 1, 1이며 사용자가 변경 할 수 있다.

 

기본키 (Primary Key) 설정은 기본키로 사용할 컬럼에서 마우스 오른쪽 버튼을 누른 후 [기본키 설정]을 선택한다. 기본키가 지정이 되면 테이블 디자이너에 열쇠 모양이 나타는 것을 알 수 있다.

 

만약 두개 이상의 복합 컬럼을 기본키로 하고 싶다면 마우스로 해당 컬럼을 선택하고 기본키를 설정하면 아래의 그림과 같이 해당 컬럼이 복합으로 열쇠모양이 나타남을 확인 할 수 있다.

 

테이블을 저장하자. 저장 버튼을 누른 후 사용할 테이블 명 tbl_Member 저장한다.

 

테이블이 생성되었는지 확인하자

 

 

위의 방법으로 tbl_Order 테이블을 생성하자

Num : 기본키로 설정한다. IDENTITY값 선택한다. 널 값을 허용하지 않는다.

나머지 컬럼들도 그림을 보고 입력하여 저장하자.

관계를 설정해 보도록 하자. Tbl_Order 에서 아무 곳에서나 마우스 오른쪽을 클릭한다.

[관계] 를 클릭하여 설정한다.

확인을 클릭하여 본다. 어떤 일이 일어나는가? 아마도 필자의 과정을 그대로 따라 했다면 경고창이 뜰 것이다.

데이터 형식 속성이 일치하지 않는다고 한다.

Tbl_Member 와 Tbl_Order 의 User_Name 의 데이터 길이를 보라. 서로 틀린 것을 알 수 있다.

이처럼 관계를 맺을 때에는 관계를 맺으려는 컬럼의 데이터의 형식이 일치해야 한다.

테이블을 새로 만들거나 수정하여 해당 컬럼의 길이를 일치 시켜 관계를 맺어 보자.

테이블 삭제는 아주 간단하다. 삭제하려는 테이블에서 마우스 오른쪽을 이용하여 삭제 하면 된다.

 

지금은 테스트 단계이므로 테이블을 삭제하지 말고 수정하여 사용하자.

해당 테이블에서 마우스 오른쪽을 클릭하여 [디자인]을 선택한다.

테이블을 디자인할 수 있는 창이 나타난다.

User_Name을 Nvarchar(50) 으로 수정한 후 저장한다.

 

테이블 수정이 완료 되었으면 좀 전과 같이 관계를 설정해 보자. 설정이 완료 되면 tbl_Order의 키 정보에서 보면 User_Name 이 FK로 지정된 것을 확인 할 수 있다.

다이어그램에서 확인 할 수 있다.

 

테이블에 데이터를 입력하여 보자.

데이터를 입력하고자 하는 해당 테이블을 선택하고 마우스 오른쪽을 클릭하여 [상위 200개 행 편집]을 선택하자. 그림과 같이 화면이 나타나면 데이터를 입력한다. 그리고 단축 메뉴의 느낌표(!)를 클릭하면 데이터가 커밋 된다.

- 쿼리 이용하기

SSMS 쿼리 분석기에 테이블 생성 명령을 입력 한다.

Tbl_Memvber 테이블 생성.

CREATE TABLE [dbo].[tbl_Member](

    [num] [int] IDENTITY(1,1) NOT NULL,

    [user_name] [nvarchar](50) NULL,

    [dept] [nvarchar](50) NULL,

    [company] [nchar](10) NULL

) ON [PRIMARY]

 

GO

 

Tbl_Order 테이블 생성.

CREATE TABLE [dbo].[tbl_Order](

    [Num] [int] IDENTITY(1,1) NOT NULL,

    [User_Name] [nvarchar](50) NOT NULL,

    [Order_Product] [nvarchar](100) NOT NULL,

    [Order_Price] [money] NOT NULL,

    [Order_Date] [datetime] NOT NULL,

CONSTRAINT [PK_tbl_Order] PRIMARY KEY CLUSTERED

(

    [User_Name] ASC

)

) ON [PRIMARY]

 

GO

 

--tbl_Order User_Name tbl_Member User_Name 관계설정.

ALTER TABLE [dbo].[tbl_Order] WITH CHECK ADD CONSTRAINT [FK_tbl_Order_tbl_Order] FOREIGN KEY([User_Name])

REFERENCES [dbo].[tbl_Order] ([User_Name])

GO

 

ALTER TABLE [dbo].[tbl_Order] CHECK CONSTRAINT [FK_tbl_Order_tbl_Order]

GO

 

SQL Server 파서에 관한 한 탭과 캐리지 리턴(<Enter> 키)과 스페이스바로 만들어진 공백 문자는 동일한 것으로 취급 된다.

 

이렇게 해서 간략하게 테이블 생성하는 방법에 대해서 알아 보았다.

테이블 생성은 빈번하게 사용되므로 디자이너를 이용하는 것 보다 쿼리를 직접 입력하는 것이 사용하기에 편하다. (Ctrl + C, Ctrl + V 의 이점.) 쿼리문이 간단하므로 숙지하여 사용하도록 하자.

 

  1. 박오상 2020.07.24 00:02

    좋은 내용입니다.

  2. 김라증 2020.07.24 00:02

    좋은 하루 되세요~ 좋은정보입니다.

+ Recent posts