사용한 개발 툴: MS SQL 서버2000
2009년 11월 3일

한학기 동안 배운거 정리

● convert(date_type, getdate(), style)

● IDENTITY 속성 : 주 키에 identity 속성을 부여하면 행을 삽입할 때마다 주 키의 값이 기존의 값과 중복되지 않는지 조사할 필요가 없고, 자동으로 관리되어 정확하고 편리하다.

● 유효성 검사란 삽입하거나 갱신할 때 열의 값이 정의된 규칙에 부합되는지를 검사하는 것이다 여기에는 제약 조건 체크(check)와 개체규칙(rules)이 있다.

● 인덱스 설정할 필요가 있는 것들

․ 주 키

․ 외래 키 또는 조인할 때 자주 사용되는 열

․ 값이 유일해야 하는 열

․ 키 값의 범위가 검색 대상이 되는 열

․ 정렬된 순서로 액세스 되는 열

 

● 조인에는 크로스 조인, 내부조인, 외부 조인, 자체 조인, 상호연관 하위 질의 등이 있다.

● Top N 은 결과 집합에서 처음 N개의 행만 돌려주도록 제약하는 것이다.

● COMPUTE 절은 SELECT문에 포함되어, 결과 집합 뒤에 단일 값으로 전체 행에 대한 요약 결과 집합을 만들어 주며, 두 번 이상 반복되어 나타날 수 있다.

● COMPUTE BY 절은 SELECT 문에 포함 되어, 그룹화 대상 열값이 바뀔 때마다 단일 값으로 중간 요약 결과 집합을 만들어 주고, 반드시 ORDER BY 절이 같이 사용되어야 하며, 역시 두 번 이상 반복되어 나타날 수 있다.

● SELECT INTO 문은 새로운 테이블을 만들고 조회 결과를 이 테이블에 행으로 삽입한다.

● INSERT SELECT 문은 조회 결과를 기존의 테이블에 누적하여 삽입시켜준다.

● 명시적 트랜잭션은 BEGIN TRAN 문으로 열리고 COMMIT TRAN 문으로 닫히는, 눈에 보이는 트랜잭션이다. 명시적 트랜잭션은 사용자 정의 트랜잭션이라고도 한다.

● 암호를 비교할 때는 LEN 함수를 사용할 수 없으며, 단순히 = 연산자로 비교할 수도 없고 sfn_IsSamePass 와 같은 사용자 정의 함수를 사용해야 한다.

● 저장 프로시저를 최초로 작성하고 호출할 때 내부적으로 처리되는 절차는 다음과 같다.

․ 생성 : 구문 분석을 수행하여 오류가 없을 경우, 저장 프로시저의 이름은 해당 데이터베이스 내의 sysobjects 테이블에, 인자는 syscolumns테이블에, 텍스트는 syscomments 테이블에 각각 저장된다.

․ 최적화 : 저장 프로시저를 최초로 호출하면 sql 서버의 질의 최적화기가 저장 프로시져 내의 Transact-SQL 문을 분석하여 가장 빨리 데이터를 액세스 할 수 있는 계획을 만든다.

․ 컴파일 : SQL 서버의 컴파일러가 저장 프로시저를 실행 계획으로 컴파일 하여 프로시저 캐시에 저장한다.

․ 실행 : 프로시저 캐시 내의 실행 계획을 실행한다.

● 트리거는 제약 조건 등에 비해 성능이 저하된다는 단점이 있기는 하지만, 저장 프로시저와 더불어 데이터베이스 내에서 업무 규칙을 구현한다고 할 수 있다는 더 큰 장점이 있다. 트리거는 체크나 규칙보다 훨씬 복잡한 데이터 무결성을 강화 할 수 있으며, 체크나 규칙에서는 불가능한 개인화된 오류 메시지를 발생시킬 수도 있다.


-도서관 ER

디비출력.hwp



-5장 기초SQL문 , 6장 Transact-SQL, 8장 데이터 형과 데이터 무결성

디비출력(5-6).hwp

디비출력(8).hwp

Posted by 검지발가락♡