1. 데이터와 데이터베이스, DBMS
※ 데이터 vs 정보
- 데이터는 원석, 정보는 보석으로 비유
- 데이터는 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미
- 정보는 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어낼 수 있는 결과
※ 데이터베이스
- 효율적으로 데이터 관리를 하기 위해서, ① 데이터를 통합하여 관리, ② 일관된 방법으로 관리, ③ 데이터 누락 및 중복 제거, ④ 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능 -> 데이터베이스
- 위 네가지 조건을 만족하면서 여러 사람이 공유하여 사용할 수 있고, 효율적인 관리와 검색을 위해 구조화한 데이터 집합
※ DBMS(DataBase Management System)
- 효율적인 데이터 관리 조건을 만족하며 서비스 제공의 효율성을 높이기 위해 데이터베이스 관리 시스템이 등장
- 데이터베이스의 데이터 조작과 관리를 극대화한 시스템 소프트웨어
- 실무에서는 데이터베이스와 데이터베이스 관리 시스템을 따로 구분하지 않고 '디비' 또는 '데이터베이스'라고 부름
- 데이터베이스를 통한 데이터 관리란 여러 목적으로 사용할 데이터의 접근/관리 등의 업무를 DBMS가 전담하는 방식 -> 응용 프로그램이 필요한 데이터 작업을 DBMS에 요청하면, DBMS는 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과값을 제공
02. 데이터 모델
※ 계층형 데이터 모델
- 계층형 데이터 모델과 네트워크형 데이터 모델은 1960년대 말부터 1980년대 말까지 상업용 데이터베이스 시장에서 많이 사용한 데이터 모델
- 나뭇가지 형태의 트리 구조를 활용, 데이터 관련성을 계층별로 나누어 부모 자식같은 관계를 정의하고 데이터를 관리
- 일대다 구조의 데이터를 표현하기에는 알맞지만 자식 개체가 여러 부모를 가진 관계는 표현할 수 없음
※ 네트워크형 데이터 모델
- 망형 데이터 모델
- 그래프 구조를 기반으로, 개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있다는 점에서 계층형 데이터 모델과 차이가 있음
※ 객체 지향형 데이터 모델
- 객체 개념을 기반으로 한 데이터 모델
- 객체 지향 프로그래밍처럼 데이터를 독립된 객체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 강력한 기능을 활용할 수 있음
- 객체 지향형 모델 개념을 완전히 데이터베이스에 적용하는 것은 쉽지 않기 때문에 이를 적용한 상용 DBMS는 많지 않고, 오라클 데이터베이스와 같은 여러 DBMS 제품군이 관계형 데이터 모델을 바탕으로 객체 개념을 도입하여 객체 관계형 DBMS로 영역을 확장하고 있음
※ 관계형 데이터 모델
- 1970년 에드거 프랭크 커드가 제안한 모델로, 현대에 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델
- 다른 모델과 달리 데이터 간 관계에 초점을 둠
- 관계형 데이터 모델에서는 데이터를 일정 기준으로 나누어서 관리
03. 관계형 데이터베이스와 SQL
※ 관계형 데이터베이스
- 관계형 데이터 모델 개념을 바탕으로 데이터를 저장/관리하는 데이터베이스를 의미
- 데이터간의 관계를 강조하기 위한 relational을 앞에 붙여 RDBMS라고 부름
- 지금까지 가장 많이 사용하는 데이터베이스
※ SQL
- Structured Query Language, 에스큐엘 또는 시퀄
- RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어
종류 | 설명 |
DQL(Data Query Language) | RDBMS에 저장한 데이터를 원하는 방식으로 조회하는 명령어 |
DML(Data Manipulation Language) | RDBMS 내 테이블의 데이터를 저장/수정/삭제하는 명령어 |
DDL(Data Definition Language) | RDBMS 내 데이터 관리를 위해 테이블을 포함한 여러 객체를 생성/수정/삭제하는 명령어 |
TCL(Transaction Control Language) | 트랜잭션 데이터의 영구 저장/취소 등과 관련된 명령어 |
DCL(Data Control Language) | 데이터 사용 권한과 관련된 명령어 |
'DEV > └ ORACLE' 카테고리의 다른 글
03. WHERE절과 연산자 (0) | 2022.04.29 |
---|---|
02. SELECT문의 기본 형식 (0) | 2022.04.28 |