728x90
데이터베이스?
: 여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 데이터의 모음
SQL?
: 데이터 베이스에 접근하고 조작하기 위한 표준 언어
데이터 베이스의 종류
관계형 데이터베이스
- 하나 이상의 테이블로 이루어지며, 서로 연결된 데이터를 가지고 있음
- 관계형 데이터베이스는 SQL을 통해 제어가 가능함
비관계형 데이터베이스
- 기존 관계형 데이터베이스의 한계를 뛰어넘기 위해 만들어진 새로운 형태의 데이터베이스
- 분산 환경에서의 데이터 처리를 더욱 빠르게 하기 위해 개발됨
데이터 베이스 스키마
스키마(Schema)
- 스키마 구조는 데이터베이스를 바라보는 관점으로 각각을 분리한 것
- 분리함으로써 얻는 이점은 독립성과 중복의 배제
스키마 종류
- 외부 스키마 : 각 사용자 관점
- 개념 스키마 : 전체 사용자 관점
- 내부 스키마 : 물리적인 관점
데이터 베이스 테이블
테이블 (Table)
- 데이터를 저장하는 객체(Object)로서 관계형 데이터베이스의 기본 단위
- 모든 자료는 테이블에 등록이 되고, 테이블로부터 원하는 자료를 꺼내올 수 있음
- 테이블은 어느 특정한 주제와 목적으로 만들어지는 일종의 집합
테이블 구조와 명칭
구조 | 설명 |
Table | 행과 칼럼의 2차원 구조를 가진 데이터의 저장 장소 데이터베이스의 가장 기본적인 구성 요소 |
Column (열) | 2차원 구조를 가진 테이블에서 세로 방향으로 이루어진 하나하나의 특성 속성 더이상 나눌 수 없는 특성 |
Row (행) | 2차원 구조를 가진 테이블에서 가로 방향으로 이루어진 연결된 데이터 Record라고도 함 |
테이블 데이터 타입 유형
데이터 유형 | 설명 |
CHARACTER(s) | - 고정 길이 문자열 정보 - s는 기본 길이 1바이트 - s만큼 최대 길이를 갖고, 고정 길이를 가지고 있기 때문에 작을 경우엔 그 차이만큼 공간으로 채워짐 |
VARCHAR(s) VARCHAR2(s) |
- CHARACTER VARYING의 약자로 가변 길이 문자열 정보 - s는 최소 길이 1바이트 - s 만큼 최대 길이를 갖지만, 가변 길이로 조정이 되기 때문에 해당 할당된 변수 값의 바이트만 적용 |
NUMERIC(INTEGER) | - 정수, 실수 등 숫자 정보 |
DATETIME | - 날짜와 시각 정보 |
테이블 제약 조건
조건 | 설명 |
PRIMARY KEY (기본 키) |
- 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 기본키를 정의 - 하나의 테이블에 하나의 기본 키 제약만 정의할 수 있음 - 기본키를 구성하는 컬럼에는 NULL을 입력할 수 없음 |
UNIQUE (고유 키) |
- 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 키 - NULL은 고유키 제약의 대상이 아니므로, NULL값을 가질 수 있음 |
NOT NULL | - NULL 값의 입력을 금지 (default는 NULL 가능) - 이 제약을 지정함으로써 해당 컬럼은 입력 필수가 됨 |
CHECK | - 입력할 수 있는 값의 범위 등을 제한 - CHECK 제약으로는 TRUE or FALSE로 평가할 수 있는 논리식을 지정 |
FOREIGN KEY (외래 키) |
- 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위함 - 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성됨 - 외래키 지정 시 참조 무결성 제약 옵션을 선택할 수 있음 |
반응형
'💾 Data > SQL' 카테고리의 다른 글
[MySQL] 데이터 타입 변환하기 (0) | 2023.05.18 |
---|---|
[SQL] View (0) | 2023.05.14 |
[SQL] 데이터 그룹화/JOIN (0) | 2023.03.29 |
[SQL] 데이터 수정/데이터 제어 (0) | 2023.03.29 |
[SQL] 데이터 검색하기 (0) | 2023.03.23 |