본문 바로가기

프로그래밍 학습/SQL

(37)
[MSSQL] 뷰의 개념과 사용방법 개념가상의 테이블이라고도 부르고 테이블과 동일하게 사용하는 개체이고 테이블이라고 생각해도 무방하다. 장점보안에 도움이된다. -> 필요한 정보만 빼내서 뷰를 만듬복잡한 쿼리를 단순화 시킨다. -> 복잡한 쿼리를 뷰로 만들어 놓으면 재사용하기 쉽다. 종류표준 뷰 : 한 개 또는 그 이상의 테이블을 이용해서 만든 뷰 -> 주로 사용하는 뷰분할 뷰 : 한대 또는 여러 대의 서버에 있는 여러 테이블을 조인해서 하나의 테이블처럼 보이도록 하는 뷰인덱싱 뷰 : 실제 데이터를 가져다 놓고 대량의 데이터를 테이블에서 조인하지 않고 직접 뷰에서 가져오므로 성능이 향산된다. 단점은 별도의 공간이 필요하고 데이터의 변경이 잦다면 시스템의 성능에 안좋은 영향을 끼친다.시스템 뷰 : SQL Server 2005의 상태 등에 관한..
[MSSQL] 제약조건 사용방법! 제약조건(Constraint)이란 데이터의 무결성을 지키기 위한 제한된 조건을 의미한다. 특정 데이터를 입력할 때 무조건적으로 입력 되는 것이 아니라, 어떠한 조건에 만족했을 때에만 입력되도록 제약하는 것이다. 예를 들어 회원가입을 할때 이미 회원가입된 주민등록 번호는 동일한 것이 들어갈 수 없는 제약조건이 설정되어 있기 때문이다. 6가지의 제약조건 Primary KEY (기본키) 중복키 방지 (NULL값 허용안함) FOREIGN KEY (외래키) 두 테이블간의 관계를 선언 UNIQUE 유일한 값 (NULL값 허용함) CHECK 데이터 점검 DEFAULT 데이터를 입력하지 않았을 때 자동으로 입력되는 디폴트값 NULL NULL을 사용 Primary KEY와 NOT NULL 사용방법 CREATE TABLE..
[MSSQL] 테이블 생성과 데이터(조회,입력,수정,,삭제) 사용방법! 테이블 생성과 데이터 조회,입력,수정,,삭제 사용방법입니다. 테이블앞에 ##은 임시테이블이에요 ! 간단한 실습하기 위해서 임시테이블로 만들었습니다. 안만드셔도되고 자유에요! 그럼 같이 해보실까요!!! 테이블 생성,데이터 조회,입력 테이블 생성 -> CREATE TABLE 테이블명(필드값 자료형,필드값1 자료형2)ID값은 Primary Key로 중복을 방지하였고 자료형을 INT로 NAME과 ADDR은 자료형을 NVARCHAR로 만듭니다. 데이터 입력 -> (INSERT) INSERT INTO 테이블이름 VALUES (필드값1,필드값2,필드값3)테이블에서 필드를 생성한 순서와 똑같이 값을 삽입합니다. 데이터 수정 (UPDATE) -> UPDATE 테이블명 SET 필드명 = 필드값 WHERE 조건 SET에는 ..
[MSSQL] 트리거의 개념과 사용방법! 개념(DML트리거,DDL트리거) DML트리거 DDL트리거 테이블이나 뷰와 관련해서 DML문(INSERT,UPDATE,DELETE)의 이벤트가 발생될때 작동하는 트리거이다. 서버나 데이터베이스에 DDL문(CREATE,DROP,ALTER)의 이 벤트가 발생될 때 작동하는 트리거이다. 종류AFTER 트리거이름이 뜻하는 대로 해당 작업 후(AFTER에 작동한다는 뜻) INSTEAD OF 트리거BEFORE 트리거라고도 부르며 이벤트가 작동하기 전에 작동 CLR 트리거NET framework에서 생성되는 트리거 사용방법 똑같이 코딩해보세요 이해가 가실껍니다. 옆에 주석문으로 설명해놓았어요! PRINT 문 밑에 GO가 있어야 겠네요 빠져서 죄송! 그리고 제가 임시테이블에 만들어볼라니까 안만들어져요 참고하세요!!
[MSSQL] 커서(Cursor)의 개념과 사용방법! 커서의 개념커서는 테이블에서 여러 개의 행을 쿼리한 후 쿼리의 결과인 행 집합을 한 행씩 처리하기 위한 방식입니다.한 행씩 읽을 때마다 파일 포인터는 자동으로 다음줄을 가르키게 됩니다. 만약 [1,박승원,부산]을 읽었으면 다음행인 [2,박윤화,울주] 이렇게 다음줄을 가리키게 됩니다. 파일의 시작(BOF) Begin Of File 1 박승원 부산 2 박윤화 울주 3 송지혜 울대 4 최보라 삼산 파일의 끝(EOF) End of File 1.파일을 연다(Open) 그리고 파일 포인터는 BOF를 가리킨다.2..처음 데이터를 읽는다. '박승원' 데이터를 읽고 '박윤화' 데이터로 이동한다.3.파일의 끝(EOF)까지 반복한다. ->읽은 데이터 처리 -> 현재의 파일 포인터가 가리키는 데이터 읽기 -> 다음 행으로 이..
[MSSQL] 트랜잭션 사용하기! 저번시간에 트랜잭션 개념에 대해서 설명했는데 이번에 사용방법에 대해서 설명하겠습니다. 승원,윤화가 있는데 승원이는 700원 윤화는 800원을 가지고 있습니다. 만약 승원이가 800을 보내서 윤화가 800을 받는다면 승원이의 돈은 빠져나가지 않고 윤화는 돈만 1600원이 되는 은행에서는 대형사고인 거죠! 이것을 방지하기 위해 쓰는것입니다. 중요한만큼 설명을 꼼꼼하게 하겠습니다.!! 1.먼저 테이블을 만들어요. 제가 일터특성상 디비 만드는 권한이 없어서 저는 임시테이블로 만들었습니다. 임시테이블도 저번시간에 설명했어요! 먼저 테이블만들때보면 CONSTRAINT K_Done 이라는게보이는데 제약조건을 건다는 뜻입니다. CHECK는 확인한다라는 용도이고 money가 0보다 크거나 같은것을 확인한다는 것입니다. ..
[MSSQL] CASE문 개념과 사용방법! CASE: 이 구문은 반드시 하나의 값만 돌려주고 먼저 만족하는 WHEN이 처리된다. 마지막에 어떠한 조건도 포함되지 않으면 ELSE문을 실행한다.CASE문은 IF문이 길어질때 쓰이면 유용하다. 어느걸로 코딩해도 상관은 없지만 코드를 최적화하는게 프로그래머 입장에서는 중요하다!! 사용구문CASEWHEN SQL 문장n THENWHEN SQL 문장n+1 THENWHEN SQL 문장n+2 THENWHEN SQL 문장n+3 THENELSE 'SQL 마지막 문장' END ※HAKJUM을 NCHAR로 캐스팅한 이유는 '점수:'와 문장을 연결하기 위해서이다 '점수:' 는 NCHAR형이고 학점은 INT형이기 때문에 학점을 캐스팅하여 자료형을 맞춰준다
[MSSQL] 임시테이블 개념과 사용방법! 임시테이블은 임시로 사용되는 테이블입니다. 테이블 생성 시에 이름 앞에 '#'이나 '##'을 붙이면 임시테이블이 생성됩니다. 사용방법은 일반 테이블과 동일합니다.앞에 '#'을 붙인 테이블은 로컬(지역) 테이블이라고 부르는데 이것은 테이블 생성한 사람만 사용할 수 있습니다.앞에 '##'을 붙인 테이블은 전역 임시테이블이라고 부르는데 모든사용자가 사용할 수 있습니다. 사용구문은 똑같습니다 테이블앞에 '#'또는 '##'만 붙여주시면 됩니다. ※구문이 똑같기 때문에 따로 설명을 드릴 건 없는 것 같아요! 임시테이블이라해서 기능이 떨어지고 이런게 아니고 똑같지만 잠시 쓰이는 것입니다.