1. 데이터베이스
1️⃣ 데이터베이스의 다양한 정의
1) EU의 데이터베이스 법적 보호 지침
- 체계적 또는 조직적으로 정리된 독립된 저작물, 데이터, 기타 소재의 수집물
- 전자식 또는 기타 수단으로 개별적으로 접근 가능
2) 우리나라 저작권법
- 소재를 체계적으로 배열 및 구성하여 개별적으로 접근하거나 검색할 수 있도록 한 편집물
- 법률적으로 기술 기반 저작물로 인정됨
3) 컴퓨터용어사전, 정보통신용어사전(TTA)
- 여러 이용자의 요구에 대응하여 데이터를 받아들이고 저장 및 공급하기 위해 일정한 구조로 구성된 데이터의 집합
4) 위키피디아
- 체계적으로 정렬된 데이터 집합
- 데이터 양과 이용 ↑ → 대용량 데이터를 저장, 관리, 검색, 이요할 수 있는 컴퓨터 기반 시스템으로 발전
5) 한국데이터산업진흥원
- 문자, 기호, 음성, 화상, 영상 등 다양한 콘텐츠를 체계적으로 수집 및 축적하여 다양한 용도로 이용할 수 있게 정리한 정보의 집합체
2️⃣ 데이터베이스의 발전
1960년대 | • 플로우차트를 사용하여 파일 구조로 데이터를 저장, 관리하는 방식 도입 |
1970년대 | • 데이터베이스 관리 기법의 태동
• 계층형(Hierarchical) 및 망형(Network) 데이터베이스 상용화 |
1980년대 | • 관계형 데이터베이스 상용화
• 오라클, Sybase, DB2 등 주요 제품 등장 |
1990년대 | • 오라클, Sysbase, DB2, Teradata, SQL Server 등이 향상된 기능 제공 → 정보시스템의 핵심 솔루션
• 객체 관계형 데이터베이스로 발전 |
3️⃣ 관계형 데이터베이스의 특징
1) 파일 시스템의 문제점
- 동시에 많은 사용자가 검색할 수 있지만, 입력, 수정, 삭제 작업에서 문제 발생
- 동일한 데이터를 여러 파일에 복사해 사용하면 데이터 불일치 발생할 수 있음
2) 관계형 데이터베이스
- 정규화 → 데이터 중복 최소화
- 동시성 관리와 병행 제어 기능 제공 → 여러 사용자가 동시에 데이터 조작할 수 있는 기능 제공
- 기능 : 메타 데이터 관리, 데이터 표준화, 보안 기능, 데이터 무결성 보장, 장애 복구 등
2. SQL 개요
1️⃣ SQL 정의
1) SQL (Structured Query Language)
- 관계형 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어
2️⃣ SQL 명령문의 종류
1) 데이터 조작어 (DML, Data Manipulation Language)
- 데이터베이스에 저장된 데이터를 추가, 수정, 삭제, 조회하는 SQL 명령어
- INSERT : 새로운 데이터를 데이블에 추가
- UPDATE : 기존 데이터를 수정
- DELETE : 데이터를 삭제
- SELECT : 데이터를 조회
2) 데이터 정의어 (DDL, Data Definition Language)
- 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성, 수정, 삭제하는 SQL 명령어
- CREATE : 새로운 데이터베이스 객체를 생성
- ALTER : 기존 객체를 수정
- DROP : 객체를 삭제
3) 데이터 제어어 (DCL, Data Control Language)
- 데이터베이스에 대한 권한을 설정하고 제어하는 SQL 명령어
- GRANT : 사용자에게 특정 권한 부여
- REVOKE : 사용자에게 부여된 권한 취소
4) 트랜잭션 제어어 (TCL, Transaction Control Language)
- 데이터베이스 트랜잭션을 관리하는 SQL 명령어
- COMMIT : 트랜잭션의 작업을 영구적으로 적용
- ROLLBACK : 트랜잭션의 작업을 취소하고 이전 상태로 복구
- SAVEPOINT : 트랜잭션 내 저장점을 설정해 부분적으로 롤백
3️⃣ 테이블
테이블 | 데이터를 저장하는 2차원 구조의 객체, 데이터베이스의 기본 단위 |
칼럼(열, Column) | 테이블의 세로 방향 구조, 각 열은 특정 데이터 속성 나타냄
예) 이름, 나이, 주소 |
행(Row) | 테이블의 가로 방향 구조, 각 행은 개별 데이터 항목을 나타냄
예) 한 사람에 대한 모든 정보 |
필드(Field) | 칼럼과 행이 겹치는 하나의 공간, 개별 데이터 값을 저장 |
3. 데이터 타입 (Data Type)
1️⃣ 데이터 타입의 정의
- 테이블에 데이터를 입력할 때 해당 데이터의 저장 공간 유형을 정의하는 기준
2️⃣ 데이터 타입의 중요성
- 잘못된 데이터 입력 방지
- 데이터 무결성 유지
3️⃣ 데이터 타입의 종류
1) 숫자 타입
- NUMERIC : 정확한 소수
- DECIMAL(DEC) : NUMERIC과 유사하지만 소수 자릿수 지정 가능
- INTEGER(INT) : 정수
- BIGINT : 큰 정수
- SMALLINT : 작은 정수
- FLOAT, REAL, DOUBLE PRECISION : 부동 소수
- MONEY, SMALLMONEY : 화폐 금액
2) 문자 타입
- CHAR : 고정 길이 문자열
- VARCHAR : 가변 길이 문자열
- TEXT : 긴 문자열
3) 날짜 및 시각 타입
- DATE : 날짜
- TIME : 시각
- DATETIME : 날짜와 시각
- TIMESTAMP : 날짜와 시각
4) 기타 타입
- BINARY : 고정 길이 이진 데이터
- VARBINARY : 가변 길이 이진 데이터
- BOOLEAN : 참(True) / 거짓(False)
5) 벤더별 데이터 타입 차이
- 벤더마다 지원하는 데이터 타입과 함수 다를 수 있음
Share article