Presentation is loading. Please wait.

Presentation is loading. Please wait.

테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성

Similar presentations


Presentation on theme: "테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성"— Presentation transcript:

1 테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성

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

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

6 제약 조건 (Constraint) (4) Check 제약 조건 NULL 값 허용 기본 개념 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로 설정된 값은 무시된다. 예로, 출생년도를 입력하지 않으면 그냥 현재의 연도를 입력하고, 주소를 특별히 입력하지 않았다면 ‘서울’이 입력되도록 하는 것. 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', ' ', default) -- 열 이름이 명시되지 않으면 DEFAULT로 설정된 값을 자동 입력한다 INSERT INTO userTbl(userID,name) VALUES('WJW','우지운‘)

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

9 테이블의 삭제 및 수정 테이블의 삭제 테이블 수정 구문 형식 열의 추가 열의 삭제 열의 데이터 형식 변경 열의 제약조건 추가
DROP TABLE 테이블이름 테이블 수정 열의 추가 ALTER TABLE 테이블이름 ADD 열이름 데이터형식 열의 삭제 ALTER TABLE 테이블이름 DROP 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 외부 서버에 있는 개체로의 접근 실습 목표 SQL 실습 예제 <실습5> 다른 서버의 테이블로 접근
외부 서버에 있는 데이터베이스 개체에 접근하는 방법을 익힌다. SQL 실습 예제 EXEC sp_addlinkedserver @server='SECOND', -- 앞으로 사용될 서버이름(원하는 이름으로 지어줌) @srvproduct='SQLServer', -- 접속할 서버의 종류. @provider='SQLNCLI', -- SQL Native Client 약자 @datasrc='BRAIN\SECOND' -- 접속할 서버 인스턴스 <실습5> 다른 서버의 테이블로 접근

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 가 제공해 주는 뷰 실습 목표 뷰의 생성/삭제/수정 방법을 익힌다. 뷰를 통한 데이터의 수정 방법을 확인한다. 두개 이상의 테이블이 관련된 복합뷰를 생성한다. <실습6> 뷰를 생성하고 활용하자.


Download ppt "테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성"

Similar presentations


Ads by Google