1 / 14

테이블 만들기

테이블 만들기. < 실습 1> SSMS 에서 테이블 생성. 실습 목표 SSMS 의 개체탐색기에서 테이블을 생성하고 , 행 데이터를 입력하는 방법을 익힌다 . 입력할 tableDB. < 실습 2> T-SQL 로 테이블 생성. 실습 목표 T-SQL 을 이용해서 테이블을 생성하는 방법을 익힌다 . NULL 값에 대한 활용법을 파악한다 . 기본키 및 외래키의 설정법을 확인한다 . 테이블 생성 구문 형식 CREATE TABLE

sibley
Download Presentation

테이블 만들기

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 테이블 만들기 <실습1> SSMS에서 테이블 생성 • 실습 목표 • SSMS의 개체탐색기에서 테이블을 생성하고, 행 데이터를 입력하는 방법을 익힌다. • 입력할 tableDB

  2. <실습2> T-SQL로 테이블 생성 • 실습 목표 • T-SQL을 이용해서 테이블을 생성하는 방법을 익힌다. • NULL 값에 대한 활용법을 파악한다. • 기본키 및 외래키의 설정법을 확인한다. • 테이블 생성 구문 형식 CREATE TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name ( { <column_definition> | <computed_column_definition> } [ <table_constraint> ] [ ,...n ] ) [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] [ { TEXTIMAGE_ON { filegroup | "default" } ] [ ; ]

  3. 제약 조건 (Constraint) (1) • 데이터의 무결성을 지키기 위한 제한된 조건 • 즉, 특정 데이터를 입력할 때 무조건 입력되는 것이 아니라, 어더한 조건을 만족했을 때에만 입력되도록 제한하는 것. • 기본 키 (Primary Key) 제약 조건 • 기본 개념 • 테이블의 각 행들을 구분할 수 있는 식별자 • 중복될 수 없고, NULL값이 입력될 수 없다. • 기본키로 설정하면 자동으로 클러스터형 인덱스가 생성됨 • 기본키는 하나의 열 또는 여러 개의 열을 합쳐서 설정할 수는 있으나, 한 개만 설정할 수 있다. • 기본 키 설정 예 • CREATE TABLE userTbl ( userID nchar(8) NOT NULL PRIMARY KEY, name nvarchar(10) NOT NULL, • CREATE TABLE userTbl ( userID nchar(8) NOT NULL CONSTRAINT PK_userID PRIMARY KEY , name nvarchar(10) NOT NULL,

  4. 제약 조건 (Constraint) (2) • 외래 키 (Foreign Key) 제약 조건 • 기본 개념 • 두테이블간의 관계를 선언함으로써 데이터의 무결성을 보장해 줌 • 외래키 관계를 설정하게 되면 하나의 테이블이 다른 테이블에 의존하게 된다 • ‘외래키 테이블’에 데이터를 입력할 때는 꼭 ‘기준 테이블’을 참조해서 입력하므로, ‘기준 테이블’에 이미 데이터가 존재해야만 한다 • 외래키 설정 예 CREATE TABLE userTbl ( userID nchar(8) NOT NULL PRIMARY KEY , ...... ) GO CREATE TABLE buyTbl ( num int NOT NULL PRIMARY KEY, userid nchar(8) NOT NULL FOREIGN KEY REFERENCES userTbl(userID) , ......

  5. 제약 조건 (Constraint) (3) • Unique 제약 조건 • 기본 개념 • 중복되지 않는 유일한 값을 입력해야 함. • Primary Key 제약조건과 거의 비슷하며 차이점은 Null값을 허용.(단 1개만) • Unique 설정 예 • CREATE TABLE userTbl ( userID nchar(8) NOT NULL PRIMARY KEY,...... email nchar(30) NULL UNIQUE) • CREATE TABLE userTbl ( userID nchar(8) NOT NULL PRIMARY KEY, ...... email nchar(30) NULL CONSTRAINT AK_email UNIQUE)

  6. 제약 조건 (Constraint) (4) • Check 제약 조건 • 기본 개념 • 입력되는 데이터를 점검하는 기능. • Check 제약조건이 설정되면 제약조건에 위배되는 데이터는 입력 안됨. • 예로 출생년도가 1900년 이후이고 현재 시간 이전이어야 하는 조건을 지정. • Check 설정 예 ALTER TABLE userTbl ADD CONSTRAINT CK_birthYear CHECK (birthYear >= 1900 AND birthYear <= YEAR(GETDATE())) • NULL 값 허용 • 기본 개념 • NULL값을 허용하려면 ‘NULL’ 을 허용하지 않으려면 ‘NOT NULL’을 사용. • Primary Key의 경우 생략하면 자동으로 ‘NOT NULL’이 된다.

  7. 제약 조건 (Constraint) (5) • Default 정의 • 기본 개념 • 데이터를 입력하지 않았을 때 자동으로 입력되는 값을 정의하는 방법. • 단, 값이 직접 명기되면 DEFAULT로 설정된 값은 무시된다. • 예로, 출생년도를 입력하지 않으면 그냥 현재의 연도를 입력하고, 주소를 특별히 입력하지 않았다면 ‘서울’이 입력되도록 하는 것. • Default 설정 예 • CREATE TABLE userTbl ( userID nchar(8) NOT NULL PRIMARY KEY, name nvarchar(10) NOT NULL, birthYear int NOT NULL DEFAULT YEAR(GETDATE()), addr nchar(4) NOT NULL DEFAULT '서울' , …… • -- default 문은DEFAULT로 설정된 값을 자동 입력한다.INSERT INTO userTbl VALUES('WJN','우재남', default, default, '019', '1231234', default) • -- 열 이름이 명시되지 않으면 DEFAULT로 설정된 값을 자동 입력한다INSERT INTO userTbl(userID,name) VALUES('WJW','우지운‘)

  8. 임시 테이블 <실습3> 임시테이블 생성 및 사용 • 기본 개념 • 임시로 잠깐 동안 사용되는 테이블. • 테이블이름 앞에 “#’ 또는 “##”을 붙이면 임시테이블로 생성 • 임시테이블은 tempdb에 생성될 뿐, 나머지 사용법 등은 일반 테이블과 동일하게 사용 • “#”을 앞에 붙인 테이블은 로컬임시테이블 , “##”을 앞에 붙인 테이블은 전역임시테이블 • 임시테이블이 삭제되는 시점 • 사용자가 DROP TABLE 로 직접 삭제 • SQL Server가 재시작되면 삭제됨 • 로컬임시테이블의 경우, 생성한 사용자의 연결이 끊기면 삭제됨 • 전역임시테이블의 경우, 생성한 사용자의 연결이 끊기고 이 테이블을 사용중인 사용자가 없을 때 삭제됨 • 실습 목표 : 임시테이블의 생성 및 소멸시점을 확인한다.

  9. 테이블의 삭제 및 수정 • 테이블의 삭제 • 구문 형식 • DROP TABLE 테이블이름 • 테이블 수정 • 열의 추가 • ALTER TABLE 테이블이름 ADD열이름 데이터형식 • 열의 삭제 • ALTER TABLE 테이블이름 DROP COLUMN열이름 • 열의 데이터 형식 변경 • ALTER TABLE 테이블이름 ALTER COLUMN열이름 새로운_데이터형식 • 열의 데이터 형식 변경 • ALTER TABLE 테이블이름 ALTER COLUMN열이름 새로운_데이터형식 • 열의 제약조건 추가 • ALTER TABLE 테이블이름 ADD CONSTRAINT제약조건이름 제약조건 • 열의 제약조건 삭제 • ALTER TABLE 테이블이름 DROP CONSTRAINT제약조건이름

  10. <실습4> 테이블의 제약조건 및 수정방법 • 실습 목표 • 테이블의 제약조건에 대해서 이해한다. • 테이블의 수정방법에 대해서 익힌다 • 제약조건 지정 예 • ALTER TABLE userTbl ALTER COLUMN userID NCHAR(8) NOT NULL • ALTER TABLE userTbl ADD CONSTRAINT PK_userID PRIMARY KEY (userID) • ALTER TABLE buyTbl ADD CONSTRAINT PK_num PRIMARY KEY (num)

  11. 데이터베이스 개체 • 데이터베이스 개체의 정식 명칭 • 구문 형식 • 서버이름.데이터베이스이름.스키마이름.개체이름 • 사용 예 • SELECT * FROM BRAIN.tableDB.dbo.userTbl • 스키마 구성도

  12. 외부 서버에 있는 개체로의 접근 <실습5> 다른 서버의 테이블로 접근 • 실습 목표 • 외부 서버에 있는 데이터베이스 개체에 접근하는 방법을 익힌다. • SQL 실습 예제 EXEC sp_addlinkedserver @server='SECOND', -- 앞으로 사용될 서버이름(원하는 이름으로 지어줌) @srvproduct='SQLServer', -- 접속할 서버의 종류. @provider='SQLNCLI', -- SQL Native Client 약자 @datasrc='BRAIN\SECOND' -- 접속할 서버 인스턴스

  13. 뷰(View)(1) • 뷰의 개념 • SELECT문으로 구성된 데이터베이스 개체. • 가상의 테이블 (생성한 후에는 테이블과 동일하게 취급) • 뷰 생성과 사용 예제 CREATE VIEW v_userTbl AS SELECT userid, name, addr FROM userTbl GO SELECT * FROM v_userTbl -- 뷰를 테이블이라고 생각해도 무방 • 뷰의 작동 방식

  14. 뷰(View)(2) <실습6> 뷰를 생성하고 활용하자. • 뷰의 장점 • 보안에 도움이 된다. • 복잡한 쿼리를 단순화 시킬 수 있다. • 뷰의 종류 • 표준 뷰 : 한 개 또는 그 이상의 테이블을 이용해서 만든 뷰 • 분할 뷰 : 한대 또는 여러대의 서버에 있는 여러 테이블을 조인해서 하나의 테이블처럼 보이도록 하는 뷰 • 인덱싱된 뷰 : 인덱스를 구성하기 위한 실제 데이터를 가지고 있는 뷰 • 시스템 뷰 : 시스템의 상태를 파악하기 위해서 SQL Server 가 제공해 주는 뷰 • 실습 목표 • 뷰의 생성/삭제/수정 방법을 익힌다. • 뷰를 통한 데이터의 수정 방법을 확인한다. • 두개 이상의 테이블이 관련된 복합뷰를 생성한다.

More Related