일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스프링 소셜 로그인
- 스프링 오어스
- 스프링 환경변수 설정
- .env
- oauth 로그인
- 로또 앱 만들기
- 쿠버네티스
- jpa bulk insert
- spring 채팅방
- multiview
- mysql multi-row insert
- 스프링 환경변수
- 채팅방 구현
- java
- 리사이클러뷰 멀티뷰
- 뷰 페이징
- android studio
- 리사이클러뷰
- 안드로이드 스튜디오
- 중간 테이블 엔티티 최적화
- jpa 최적화
- 로또 등수 코드
- springboot
- 스프링 시큐리티 없이
- hibe
- 로또 등수 알고리즘
- jpa dto 매핑
- 쿠버네티스 #fabric8
- 멀티뷰
- Androoid Studio
- Today
- Total
야미의 개발
데이터 베이스란? - DBSM, Sql 간단 개요 본문
데이터베이스(Database)
특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합
일상 생활의 대부분의 정보가 저장되고 관리되기 때문에
오늘 마신 커피, 카카오톡 메시지, 지하철에서 찍은 교통카드 등의 모든 정보는 데이터 베이스에 기록됩니다.
DBMS( Database Management System )
앞서말한 데이터 베이스가 '데이터의 집합'이라면 이러한 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS라고 합,니다. 필요한 데이터를 추가하고, 불필요한 데이터를 삭제, 수정하는 일을 해주는 것입니다.
다양한 데이터가 저장되어있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야합니다.
예시로 은행의 예금 계좌는 많은 사람이 가지고있습니다.
이 여러명의 예금 계좌 정보는 은행의 데이터베이스 안에 모여있습니다. 은행이 가지고 있는 예금 계좌 데이터베이스에는
예금 계좌의 주인, 은행 직원, 인터넷 뱅킹 등 여러명이 동시 접근 가능합니다. 또 오류에 의해 데이터 베이스의 데이터가 잘못되었을때 복구하고, 외부에서 예금 계좌를 수정하거나 볼수 없도록 합니다. 이러한 이유는 DBMS가 있기 때문입니다.
DBMS의 종류
DBMS와 같은 소프트웨어는 특적 목적을 처리하기 위한 프로그램입니다. 예를 들어 문서를 작성할때는 아래아 한글이나 워드, 표를 계산 할 때는 엑셀이나 캘크, 사진을 편집하려면 포토샵과 같은 소프트웨어를 설치해야 합니다.
마찬가지로 데이터베이스를 사용하기 위해서도 소프트웨어인 DBMS를 설치해야하는데 대표적으로 MySql, 오라클, SQL서버, MariaDB 등이 있습니다. 소프트웨어 각각의 사용방법과 특징이 다르지만 특정 목적을 위해서는 어떤 것을 사용해도 무방합니다.
대표적인 DBMS의 특징입니다. 쉽고 실무에서 가장 많이 사용하는 것은 MySQL입니다.
DBMS | 제작사 | 작동 운영체제 | 기타 | |
MySQL | Oracle | Unix, Linux, Windows, Mac | 오픈 소스(무료), 상용 | |
MariaDB | MariaDB | Unix, Linux, Windows | 오픈 소스(무료), MySQL 초기 개발자들이 독립해서 만듦 |
|
PostgreSQL | PostgreSQL | Unix, Linux, Windows, Mac | 오픈 소스(무료) | |
Oracle | Oracle | Unix, Linux, Windows | 상용 시장 점유율 1위 | |
SQL Server | Microsoft | Windows | 주로 중/대형급 시장에서 사용 | |
DB2 | IBM | Unix, Linux, Windows | 메인프레임 시장 점유율 1위 | |
Access | Microsoft | Windows | PC용 | |
SQLite | SQLite | Android, iOS | 모바일 전용, 오픈 소스(무료) |
DBMS의 분류
DBMS의 유형은 계층형( Hierarchical ), 망형( Network ), 관계형( Relational ), 객체지향형( Object-Oriented ), 객체관계형( Object-Relational ) 등으로 분류됩니다. 현재는 관계형 DBMS가 가장 많은 부분을 차지하며 MySQL도 관계형 DBMS에 포함됩니다.
계층형 DBMS - 1세대
계층형 DBMS(Hierachical DBMS)는 처음으로 등장한 DBMS 개념으로 1960년대에 시작되었습니다. 아래 그림과 같이 각 계층은 트리 형태를 가지고 있습니다. 사장 1명 이사 3명이 연결되어있는 구조입니다. 이 계층형 DBMS의 문제는 처음 구성한 이후에 변경하기가 어렵다는 것입니다. 또한 다른 구성원을 찾아가는 것이 비효율적입니다.
예를 들어 재무 2팀에서 회계팀으로 연결하려면 재무이사 -> 사장 -> 회계이사 -> 회계팀과 같은 단계를 거쳐야합니다.
네트워트 DBMS - 1세대
네트워크 DBMS(Network DBMS)는위의 계층형 DBMS를 개선하기 위해 1970년대에 등장합니다. 데이터베이스를 노드와 간선을 이용한 그래프 현태로 구성하는 네트워크 데이터 모델을 사용합니다. 아래 그림을 보면 하위에 있는 구성원들끼리도 연결된 유연한 구조입니다.
관계형 DBMS - 2세대
관계형 DBMS(Relational DBMS)는 줄여서 RDBMS라고 부릅니다. MySQL뿐만아니라, 대부분의 DBMS가 RDBMS 형태로 사용됩니다. RDBMS의 데이터베이스는 Table, 테이블이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 열(column)과 행(row)로 이루어져 있습니다.
한글이나 워드에서 만든 표가 바로 테이블 입니다. 친구의 카카오톡 아이디, 이름, 연락처 등 3가지 정보를 표, 즉 테이블로 만들면 다음과 같습니다.
RDBMS에서는 모든 데이터가 테이블에 저장됩니다. 이 구조가 가장 기본적이고 중요한 구성이기 때문에 RDBMS는 테이블로 이루어져있고, 테이블은 열과 행으로 구성되어 있다는 것을 파악했다면 RDBMS를 어느정도 이해했다고 할 수 있습니다.
객체지향 DBMS와 객체관계 DBMS - 3세대
1980년대 후반부터 등장한 객체지향 DBMS는 객체지향 프로그래밍 개념에서 도입한 객체를 이용해 데이터베이스를 구성하는 객체지향 데이터 모델을 사용한다.
객체지향 DBMS에 관한 자료 - https://www.comworld.co.kr/news/articleView.html?idxno=48790
[IT산업 20년 전] 객체지향 데이터베이스의 몰락 - 컴퓨터월드
[컴퓨터월드] 20년 전만 하더라도 ‘객체지향DBMS’의 발전은 눈부셨다. CAD/CAM, GIS등 그동안 데이터화 할 수 없었던 많은 비정형데이터들을 데이터베이스화 할 수 있도록 한 일등 공신은 ‘객체지
www.comworld.co.kr
SQL : DBMS에서 사용하는 언어
SQL(Structured Query Language)은 관계형 데이터베이스에서 사용되는 언어로 에스큐엘 또는 시퀄로 읽습니다. 관계형데이터베이스를 배우려면 SQL을 필수적으로 익혀야합니다. SQL이 데이터베이스를 조작하는 '언어'이기는 하지만 일반적인 프로그래밍 언어와는 다른 특성을 갖고있습니다.
SQL은 특정 회사에서 만드는 것이 아니라 국제표준화긱에서 sql에 대한 표준을 정해서 발표하고 있습니다. 이를 표준 sql이라고 합니다. 그런데 문제는 SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에 표준 SQL이 각 회사 제품의 즉성을 모두 표용하지 못한다는 점입니다. 그래서 DBMS를 만드는 회사에서는 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용합니다
참고 자료
[데이터베이스 이해하기] Database(DB), DBMS, SQL의 개념
데이터베이스(Database, DB)란? : 데이터의 저장소. DBMS(Database Management System, 데이터베이스 관리 시스템)란? 데이터베이스를 운영하고 관리하는 소프트웨어. 계층형, 망형, 관계형 DBMS 중 대부분의 DBM
hongong.hanbit.co.kr
https://terms.naver.com/entry.naver?docId=3431079&cid=58430&categoryId=58430&expCategoryId=58430
데이터베이스 관리 시스템의 정의
파일 시스템이 가진 모든 문제의 근본 원인은 데이터 중복성과 데이터 종속성으로 요약할 수 있다. 앞서 언급했듯이 파일 시스템의 문제를 해결하는 일차적인 방안은 데이터베이스 관리 시스템
terms.naver.com
'데이터베이스' 카테고리의 다른 글
SQL 인덱스 (0) | 2024.01.25 |
---|---|
[DB] 관계형 데이터베이스 키 이해하기 (0) | 2024.01.11 |
데이터베이스 - 관계 데이터베이스(릴레이션, 속성, 튜플) (0) | 2024.01.11 |
DB 데이터베이스 - 스키마(Schema)의 개념과 구조 (0) | 2024.01.11 |
DBMS 자세히 알아보기 - 파일시스템, 기능 및 장단점 (1) | 2024.01.09 |