728x90
01. 데이터베이스
- 넓은의미: 일상적인 정보들을 모아 놓은 것 자체
- 일반적인 의미: 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것
데이터 베이스의 발전
- 1960s: 플로우차트 중심의 개발
- 1970s: 데이터베이스 관리 기법이 처음 태동
- 1980s: 오라클, 시베이스 등의 RDB 상용화
- 1990s: 기존의 제품들이 향상됨. 객체 RDB로 발전
RDB
- 1970년 코드 박사의 논문에서 처음 소개
- 오라클을 선발로 여러 회사에서 상용화 제품을 출시
- 계층형, 망형 데이터베이스를 대체하며 주력 DB로 성장
- 데이터의 중복을 피하고 정합성을 보장하기 위해 RDB가 사용되기 시작
- RDB는 메타데이터를 총괄 관리할 수 있기 때문에 성격, 속성 또는 표현 방법 등을 체계화 할 수 있음
- 데이터 표준화를 통해 데이터 품질을 확보할 수 있음
- 갑작스런 장애로부터 데이터가 정상적으로 반영될 수 있도록 보장
- 시스템 다운, 재해 등의 상황에서도 데이터를 회복, 복구할 수 있는 능력이 있음
관계형 데이터베이스 (Relation Database)
1970년 영국의 수학자 E.F. Codd 박사의 논문에서 처음으로 관계형 데이터베이스 소개 후
기존의 파일시스템과 계층형, 망향 데이터베이스를 대부분 대체하면서 현재 주력 데이터베이스
SQL을 사용하여 관리함으로 관계형 데이터베이스와 SQL의 중요성이 높아짐
계층형 DB (트리구조, 1:N 구조, 부모자식구조)
망형 DB (1:N, M:N 구조)
관계형 DB (테이블 구조)
02. SQL (Structured Query Language)
관계형DB에서 데이터 정의, 조작, 제어를 하기 위해 사용하는 언어
SQL 종류
DDL로 테이블을 생성
DML로 테이블 안 데이터를 생성
DCL은 만든 테이블 권한 부여
TCL은 이런 명령어 결과를 최종 저장하는 트랜잭션 명령어
(TCL :: 컴퓨터로 문서를 다 만들고 저장 버튼을 누를지 안누를지를 결정하는 명령어라고 생각하면 쉽다)
데이터 정의어(DDL, Data Definition Language)
테이블 구조정의 명령어
명령어 | 설명 |
CREATE | 테이블 생성 |
ALTER | 테이블 변경 |
DROP | 테이블 삭제 |
RENAME | 테이블 이름 변경 |
데이터 조작어(DML, Data Manipulation Language)
테이블 안 데이터 입력, 수정, 삭제 조회 명령어
명령어 | 설명 |
SELECT | 데이터 조회 |
INSERT | 데이터 삽입 |
UPDATE | 데이터 수정 |
DELETE | 데이터 삭제 |
데이터 제어어(DCL, Data Control Language)
테이블 상용자 권한 부여 명령어
명령어 | 설명 |
GRANT | 권한부여 |
REVOKE | 권한회수 |
트랜잭션 제어어(TCL, Transaction Control Language)
트랜잭션 제어 명령어
명령어 | 설명 |
COMMIT | 작업 완료 처리 |
ROLLBACK | 작업 취소 처리 |
트랜잭션 ❓
데이터베이스의 작업처리를 결정하는 단위
트랜잭션 특징
- 원자성: 중간 단계까지 실행되고 실패하는 일이 없도록 하는것이 (ALL OR NOTHING = 모두 완료 or 아예 실행 X)
e.g. 영화 예매 후 지불시 → 지불했지만 예매가 안되는 일, 예매는 했지만 지불이 안되는 일을 방지하는 것
- 일관성: 트랜잭션 전이나 후나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미
- 고립성: 트랜잭션 실행 중 다른 트랜잭션 접근 금지
- 지속성: 트랜잭션 실행 성공 후 결과 영구적으로 저장
03. TABLE
데이터는 관계형 DB의 기본 단위인 테이블 형태로 저장된다. 모든 자료는 테이블에 등록 되고, 우리는 테이블로 부터 원하는 자료를 꺼내 올 수 있다.
테이블 구성
RDB에서는 모든 데이터를 칼럼과 행의 2차원 구조로 나타낸다
- 칼럼(Column): 세로줄
- 행(Row): 가로줄
- 필드(Field): 칼럼과 행이 겹치는 하나의 공간 (엑셀에서의 셀)
테이블 관계 용어들
- 정규화(Normalization): 테이블을 분해해 데이터 정합성을 확보하고, 불필요한 중복을 줄이는 과정
- 기본키(Primary Key): 각 행 한가지 의미로 특절할 수 있는 한 개 이상의 칼럼
- 외부키(Foreign Key): 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼
04. ERD(Entity Relationship Diagram)
ERD는 테이블 관계를 표현하는 수단이다. 테이블 간 서로의 상관 관계를 그림으로 도식화 한것을 E-R 다이어그램이라고 하며, 간략히 ERD라고 한다.
ERD의 구성요소
엔터티(Entity), 관계(Relationship), 속성(Attribute)
ERD 표기법
IE(Information Engineering) 표기법, Barker(Case*Method) 표기법
728x90
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] SQL 기본 - DDL(Data Definition Language) (0) | 2023.08.30 |
---|---|
[SQLD] 데이터 유형 (0) | 2023.08.30 |
[SQLD] 데이터 모델과 성능 - 대용량 데이터에 따른 성능, DB 구조와 성능, 분산DB 데이터에 따른 성능 (0) | 2023.08.30 |
[SQLD] 데이터 모델과 성능 - 정규화와 성능, 반정규화와 성능 (0) | 2023.08.29 |
[SQLD] 데이터 모델링의 이해 - 식별자 (Identifiers) (0) | 2023.08.29 |