출처 - http://whdvy777.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-SQL%EB%AC%B8-%EA%B8%B0%EB%B3%B83-IN-LIKE-ESCAPE-NULL-NOT-ORDER-BY

 

<IN 조건문>

 

- 값의 특정 값 집합 확인

 

 

- 목록에 사용되는 문자 또는 날짜는 작은 따옴표(' ')로 묶어야 합니다.

 

 

 

<LIKE 조건문>

 

- %에는 문자가 오지 않거나 여러 개 올 수 있습니다.

- _ 에는 문자가 하나만 올 수 있습니다. 

 

 

 

 

 

 

<ESCAPE 옵션>

 

- 검색할 문자에 실제로 '%' 및 '_' 문자가 포함된 경우 ESCAPE 옵션을 사용하여 이스케이프 문자를 지정합니다.

 

 

 

 

 

<NULL 조건사용>

 

- is null

- is not null 

- null 값은 비교연산자로 확인할 수 없음.

 

 

 

 

<NOT 연산자>

 

 

 

 

 

 

<우선순위 규칙>

 

 

 계산 순서

연산자

1

 산술 연산자

2

 연결 연산자 ||

3

 비교 조건

4

 IS [NOT] NULL,  LIKE,  [NOT] IN

5

 [NOT]BETWEEN

6

 NOT 논리조건

7

 AND 논리조건

8

 OR 논리 조건

 

 

 

 

 

 

<ORDER BY 절>

 

- where 절 다음에 씀 (가장 마지막)

- ASC : 오름차순 (기본값)

- DESC : 내림차순

- ORDER BY 절에 열 '별칭'을 사용할 수 있습니다.

- 여러 열을 기준으로 정렬 가능 

 

출처 - http://hyeonstorage.tistory.com/289

 

* SQL 문장들의 종류


명령어 종류 

명령어 

설명 

데이터 조작어

(DML :  Data Manipulation Language

SELECT 

 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE 라고도 한다.

INSERT

UPDATE

DELETE 

 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말한다. 데이터 삽입, 수정, 삭제

 데이터 정의어

(DDL : Data Definition Language)

CREATE

ALTER

DROP

RENAME

TRUNCATE 

 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다.

데이터 제어어

(DCL : Data Control Language) 

GRANT

REVOKE 

 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어를 DCL이라고 한다. 

트랜잭션 제어어

(TCL : Transaction Control Language)

COMMIT

ROLLBACK

SAVEPOINT 

 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어를 말한다. 

 

출처 - http://one-p.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4ERD

ERD(Entity Relationship Diagram)란?

- 계략적으로 데이터 및 데이터들의 관계를 표현한 도식화된 그림(Diagram)
- 분석가들은 조직의 데이터를 이해하고, 이를 응용시스템에 이용하고자 ERD를 작성
- 엔터티(Entity)란 데이터베이스에 저장할 정보의 주체 혹은 대상
- 엔터티의 예로는 고객, 학생, 부서, 계좌 등이 있음
- ERD에서 엔터티는 네모로 표시 함

ERD의 카디넬러티(Cardinality)
 

카디넬러티(Cardinality) : 엔터티들간의 수적 관계를 명시하는 표현

 

 

 


ERD의 예

- 우리 학교에는 학생들이 여러 과목을 수강할 수 있다.
- 한 과목을 여러 학생들이 수강한다.
- 학생들은 각각 한 개의 사물함을 소유하고, 여러 개의 교과서도 갖는다.

 

 

 


키(Key)의 이해

- 기본키(Primary key) : 다른 레코드와(Row) 자신의 레코드를 구별 시켜 주는 키 

 

   ex) 주민등록번호, 자신만이 가지는 고유한 것
- 외래키(Foreign key) : 다른 테이블과의 관계를 표시하는 키

 


데이터 무결성(Data Integrity)의 의미

- 데이터 무결성은 데이터의 정확성 또는 유효성을 의미
- 무결성 파괴의 예
   어떤 학생이 수강 신청을 하려고 했으나, 이 학생의 정보가 존재하지 않는다.
   어떤 학생이 학교를 그만 두었으나, 특정 과목 수강자 명단에 이 학생이 그대로 존재 함
- 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적 혹은 명시적으로 정의하여 무결성 유지
- 데이터베이스 보안 기능이 권한이 없는 사용자로부터 데이터베이스를 보호하기 위함이라면, 무결성은 권한이 있는 사용자로부터 데이터를
   보호하기 위 함

- 스키마 정의 시 무결성 제약조건을 정의하며, 한 번 정의된 조건은 향후 데이터베이스에 정보가 갱신될 경우 DBMS에 의해 검사가 이루어짐

데이터 무결성의 종류

도메인 제약조건(Domain Constraint)
 

- 각 애트리뷰트의 값이 지정된 데이터형으로 제한 됨
- 애트리뷰트의 기본값, 범위, NULL 허용 여부들도 제한 가능 

 



기본키 

 

제약조건(Primary key Constraint)

- 기본키의 경우 중복된 값 및 NULL 값이 허용 될 수 없음
- 기본키가 아니라도 UNIQUE 설정을 통해 중복 값 불허 가능

 


참조 무결성 제약조건(Referential Integrity Constraint)

- 두 데이터 간에 데이터의 결함을 없애는 제약조건

 

 

 
삽입

(Inset)시 무결성 유지

- 자식테이블에 새로운 레코드가 삽입 될 경우 외래키의 값은 부모테이블에 존재하는 값이거나 NILL 이어야 한다.

삭제(Delete)시 무결성 유지

- 부모테이블의 레코드를 삭제할 경우 자식테이블의 외래키가 참조 하고 있을 경우는 삭제 불가 이거나 연쇄(Cascade) 삭제(On Delete Cascade)

수정(Update)시 무결성 유지

- 자식테이블 레코드의 외래키를 수정할 경우 부모테이블의 해당 키에 존재하는 값 범위 내에서 수정가능 

+ Recent posts