02. 다양한 데이터베이스
학습 내용
DBMS의 종류
DBMS 중 하나인 관계형 데이터베이스란?
0. 관계형 데이터베이스 RDB Relational Database
- SQL로 데이터롤 다루는 데이터베이스
1. 데이터베이스 종류
- 데이터 저장 방법에 따라 분류
계층형 데이터베이스
- 오래된 DBMS
- 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식
- 현재는 많이 사용하지 않음
ex. 하드디스크, DB 파일 시스템 등
관계형 데이터베이스
- 관계 대수에서 착안한, 행과 열을 가지는 표 형식 데이터(2차원 데이터=ex. 엑셀시트)를 저장하는 형태의 데이터베이스
- 표를 잔뜩 저장하고 각각의 표에 이름을 붙여 관리, 데이터베이스 안의 데이터는 SQL 명령어로 조작 가능
객체지향 데이터베이스
- 객체object 지향 언어 : 자바, C++ 등
- 가능한 객체 그대로 데이터베이스의 데이터로 저장하는 것
XML 데이터베이스
- XML : 태그(ex. <data>데이터</data> -> HTML과 비슷)를 이용해 마크업 문서를 작성할 수 있도록 정의한 것
- XML 형식으로 기록한 데이터를 저장하는 데이터베이스
- XQuery라는 전용 명령어를 사용
키-밸류 스토어 KVS
- 열 지향 데이터베이스
- 키와 밸류라는 단순한 형태의 데이터를 저장하는 데이터베이스
- 키와 밸류는 연상배열*, 해시 테이블 hash table에서 자주 볼 수 있음
- NoSQL(Not only SQL)이라는 슬로건에서 탄생
*연상배열 associative array : 자료구조의 하나, 키 : 값이 1: 1 매핑, = 연상 배열, 결합성 배열, 맵 map, 딕셔너리 dictionary
2. RDBMS 사용 시스템
- 웹 시스템부터 핸드폰까지 다양한 시스템에서 사용됨 ex. SQLite(안드로이드 내장 표준 RDBMS)
3. 데이터베이스 제품
Oracle
- 오라클에서 개발한 RDBMS
- RDBMS의 표준이라 부를 정도로 유명
DB2
- IBM이 개발한 RDBMS
- 한동안 IBM 컴퓨터에서만 구동 가능하여 오라클에게 점유율에서 밀림
SQL Server
- 마이크로소프트가 개발한 RDBMS
- 윈도우 플랫폼에서만 동작함
PostgreSQL
- 오픈소스 커뮤니티가 개발한 RDBMS
- 실험적인 기능, 독특한 구조를 포함하기도 함
MySQL
- 오픈소스 커뮤니티가 개발한 RDBMS
- 필수적인 최소한의 기능만 갖춘 채 나왔으나 기능이 확장됨
SQLite
- 오픈소스 커뮤니티가 개발한 RDBMS
- 임베디드 시스템에 자주 쓰이는 작은 RDBMS
4. SQL의 방언과 표준화
- 데이터베이스별로 기능이 확장됨에 따라 특정 데이터베이스 제품에만 통용되는 고유 방언이 탄생함
키워드 생략
- 데이터 삭제 시 사용하는 DELETE의 경우, Oracle이나 SQL Server에서는 DELETE 뒤의 FROM을 생략해도 상관 없으나, DB2, PostgreSQL, MySQL에서는 FROM 생략 시 구문 오류 발생
외부 결합
- Oracle에서는 특별한 연산자(+)를 이용하나, sQL Server에서는 다른 연산자 사용
- 프로그래밍 시 방언은 효율적이지 않음 -> 표준어가 필요 -> ISO나 ANSI가 결정한 SQL-92나 SQL-99, SQL-2003 등 표준 SQL 확립
-> 방언보단 표준 SQL을 사용하자
'공부 > TIL' 카테고리의 다른 글
[SQL 첫걸음] 2장 04강 테이블에서 데이터 검색 (0) | 2023.11.06 |
---|---|
[SQL 첫걸음] 1장 03강 데이터베이스 서버 (0) | 2023.11.06 |
[SQL 첫걸음] 1장 01강 데이터베이스 (0) | 2023.11.01 |
[혼자 공부하는 컴퓨터구조+운영체제] Chapter 12 - 13 (2) | 2023.10.17 |
한입 크기로 잘라 먹는 타입스크립트 : 함수와 타입 (0) | 2023.09.15 |