파일 시스템
: 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식이다.
자료 내용은 주 저장부 , 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
대형 운영 체계에서 사용되는 파일 관리 시스템
-
계층형 데이터베이스 (HDBMS)
- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스이다.
- 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.
-
망형 데이터베이스 관리 시스템(NDBMS)
- 데이터의 구조를 네트워크 상의 망상 형태로 논리적으로 표현한 데이터 모델이다.
- 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡하다는 단점이 있다.
IDS
,TOTAL
,IDMS
와 같은 제품이 있다.
-
관계형 데이터베이스 관리 시스템(RDBMS)
- 가장 보편화 된 데이터베이스 관리 시스템이다.
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관 관계를 정리한다.
- 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이하다.
-
NoSQL (Not Only SQL)
- 전통적인 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용하고, 빅 데이터와 실시간 웹 애플리케이션 상업적 이용에 쓰인다.
데이터 무결성
: 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질데이터 일관성
: 삽입 , 삭제 , 갱신 , 생성 후에도 저장된 데이터가 변함없이 일정해야 하는 성질데이터 회복성
: 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질데이터 보안성
: 불법적인 노출,변경,손실로부터 보호되어야 하는 성질데이터 효율성
: 응답 시간, 저장 공간 활용 등이 최적화 되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야 하는 성질
- 시스템 특징별 분류
- 관계형 데이터베이스
Oracle , MySQL , MS SQL Server, PostgreSQL , DB2 , Maria DB
- 문서 저장 DBMS
Mongo DB , Amazon Dynamo DB , Couchbase, MS Azure cosmos DB
- 그래프 DBMS
Neo4j , MS Azure cosmos DB , Orient DB , Arango DB
- 키값 DBMS
Redis , Amazon Dynamo DB , Memcached
- 상용화 및 오픈소스 기반 분류
- 상용화 DBMS : 상업적 목적으로나, 판매를 목적으로 생성되는 소프트웨어
- 오픈소스 기반 DBMS : 누구에겐 공개해 제한 없이 사용할 수 있는 소프트웨어
- CRUD는 데이터베이스가 가지는 기본적인 데이터 처리 기능인 Create(생성) , Read(읽기) , Update(갱신) , Delete(삭제)를 말한다.
기본처리 | SQL | 설명 |
---|---|---|
Create | Insert | 테이블 내 컬럼에 데이터를 추가한다. |
Read | Select | 테이블 내 컬럼에 저장된 데이터를 불러온다. |
Update | Update | 테이블 내 컬럼에 저장된 데이터를 수정한다. |
Delete | Delete | 테이블 내 컬럼에 저장된 데이터를 삭제한다. |
- 데이터 삽입
- 테이블에서 데이터를 읽기 위해서는
Insert
명령어를 사용한다
- 테이블에서 데이터를 읽기 위해서는
INSERT INTO table_name
VALUES(value1 , value2, value3, ...);
- 데이터 읽기
- 테이블에서 데이터를 읽기 위해서는
Select
명령어를 사용한다. - Select 다음 * 표기를 사용하면 모든 데이터를 읽어 오고, 컬럼명을 지정하면 특정 컬럼만을 읽어 온다.
- 테이블에서 데이터를 읽기 위해서는
SELECT column1 , column2, ...
FROM table_name;
- 데이터 갱신
- 테이블에서 데이터를 갱신하기 위해서는
Update
명령어를 사용한다. - where 조건절을 사용하여 업데이트 할 데이터를 특정해야 한다.
- 테이블에서 데이터를 갱신하기 위해서는
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
-
데이터 삭제
- 테이블에서 데이털ㄹ 삭제하기 위해서는
Delete
명령어를 사용한다. - where 조건절을 사용하여 삭제할 데이터를 특정해야 한다.
- 테이블에서 데이털ㄹ 삭제하기 위해서는
-
기타 SQL 명령어
ALTER DATABASE
명령어를 사용하여 데이터베이스 수정ALTER TABLE
명령어를 사용하여 테이블 구조를 수정한다DROP TABLE
명령어를 사용하여 테이블을 전체 삭제한다.CREATE INDEX
명령어를 사용하여 테이블 내 데이터의 검색 속도를 향상시킬 수 있는 인덱스를 생성한다.- 그 외 UNION , GROUP BY 등의 다양한 명령어를 사용한다.