728x90
반응형

Study/DB 7

MongoDB란?

MongoDB란?MongoDB는 NoSQL의 한 종류이고, Document 지향 데이터베이스입니다.JSON 형식의 Document로 데이터를 저장합니다.    NoSQL이란?Non-Relational Operational DataBase의 약자로 비관계형 데이터베이스를 뜻합니다.    DocumentDocument는 BSON 형식으로 저장됩니다.하나의 문서에는 여러 필드와 값이 포함될 수 있습니다.모든 Document는 _id 필드를 가지고 ObjectId타입이 기본이다.Document는 16MB의 용량제한이 있습니다    CollectionMongoDB 컬렉션은 Document의 그룹을 뜻합니다.관계형 데이터베이스 테이블과 유사한 개념입니다.동적 스키마이기 때문에 스키마를 수정하려면 값을 추가, 수정,..

Study/DB 2024.05.12

RDB vs NoSQL

RDB RDB는 Relational Database 약자이며 관계형 데이터 모델에 기초를 둔 데이터베이스입니다. 관계형 데이터 모델이란 데이터 간의 상관관계에서 데이터 간의 관계를 표현한 것이라고 생각하면 될 것 같습니다. RDB 장점 정해진 스키마에 따라서 데이터를 저장하므로 명확한 데이터 구조를 보장합니다. 데이터를 중복없이 저장할 수 있습니다. join문을 활용하여 복잡한 쿼리를 만들 수 있습니다. RDB 단점 성능 향상을 위한 scale-up만 지원합니다.(scale-out 지원x) 유연하지 못한 데이터 구조를 가지고 있습니다. NoSQL NoSQL은 Not Only SQL의 약자이며 관계형 데이터베이스가 아닌 비관계형 데이터베이스입니다. NoSQL 장점 데이터 모델이 유연합니다. scale-ou..

Study/DB 2021.12.15

[DB]데이터베이스 정규화란?

정규화란? 정규화는 테이블 간에 중복된 데이터를 허용하지 않고 불필요한 데이터를 제거하기 위한 목적을 가지고 있습니다. 이것은 무결성을 유지할 수 있으며 DB의 저장 용량을 줄일 수 있습니다. 제1 정규화 (1NF) 제1 정규화는 테이블의 각 로우의 컬럼 원자값(Atomic Value, 하나의 값)을 1개만 존재하게끔 테이블을 분해하는 것 입니다. 제2 정규화 (2NF) 제2 정규화는 테이블의 모든 컬럼이 완전 함수적 종속을 만족하는 것 입니다. (부분 함수 종속을 제거 합니다.) 제3 정규화 (3NF) 제3 정규화는 이행 함수 종속을 제거하는 것 입니다. BCNF 정규화 모든 결정자 중 후보키가 아닌 것을 제거하는 것 입니다. 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 ..

Study/DB 2021.10.06

트랜잭션(Transaction)이란?

트랜잭션이란? 데이터베이스의 상태들을 변경시키기 위해 수행하는 작업 단위를 뜻 합니다. 데이터베이스의 상태들을 변경시킨다는 의미의 작업들은 SELECT INSERT UPDATE DELETE 이와 같은 행동들을 뜻 합니다. 연산 커밋(Commit) 모든 부분 작업이 정상적으로 완료되면 변경사항들을 한꺼번에 데이터베이스에 반영하여 변경합니다. 롤백(Rollback) 부분 작업이 실패하게 되면 트랜잭션을 실행하기 전으로 되돌립니다. (한 부분의 트랜잭션 작업이 비정상적으로 종료되어 데이터베이스 일관성을 깨뜨렸을 때 다른 트랜잭션 작업들이 정상적으로 처리가 되었어도 트랜잭션의 원자성을 구현하기 위해서 트랜잭션이 수행한 모든 작업을 취소합니다.) 특징 원자성(Atomicity) 트랜잭션 작업 처리가 데이터베이스에..

Study/DB 2021.09.07

ERD란? DB 1:1, 1:N, N:M 관계

ERD란? ERD는 Entity(실체) Relationship(관계) Diagram(도표)의 약자입니다. 한국말로 직역하면 개체-관계 모델입니다. DB 테이블간 관계 혹은 전체 구조를 한 눈에 파악할 수 있습니다. ERD 표기법 DB관계 1 : 1 일대일 관계입니다.(양쪽 엔티티 모두 반드시 하나의 관계만을 가지는 것을 뜻 합니다, 대게 하나의 외래키가 걸려있는 관계라고 볼 수 있습니다) 1 : N 일대다 관계입니다.(한 쪽 엔티티가 연결 되어있는 엔티티 쪽 객체를 여러개 가지는 것을 뜻 합니다.) N : M 다대다 관계입니다.(양쪽 엔티티 모두 1 : M 관계를 가지는 것을 뜻 합니다. ) 항상 부족한 부분이나 피드백할 부분을 댓글로 남겨주시면 적극적으로 수용하여 수정하겠습니다.

Study/DB 2021.08.27

MySQL이란?

MySQL이란? MySQL은 세계적으로 널리 사용되고 있는 오픈 소스 데이터베이스(DB, DataBase)이며, 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)입니다. 데이터베이스란? 데이터베이스(DB, DataBase)란 여러 사람들이 공유하고 사용할 목적으로 통합하여 관리되는 데이터의 집합체를 의미합니다. 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리됩니다. 이 미들웨어를 데이터베이스 관리 시스템 DBMS이라고 합니다. DBMS란 DBMS는 DataBase Management System의 약자입니다. 사용자와 데이터베이스스 사이에서 요구에 따라 정보를 생성해주고 공유하며 관리할 수 있도록 해주는 소프트웨어입니다. ..

Study/DB 2021.08.24

ORM (Object Relational Mapping) 이란?

ORM이란? ORM이란 Object Relational Mapping의 약자로 관계형 데이터베이스 관리 시스템(RDBMS)(Relational Database Management System)과 객체 지향 프로그래밍 언어(OOP)(Object Oriented Programming) 사이에 데이터를 맵핑(연결)해주는 것이 ORM입니다. ORM 장점 DBMS(Database Management System)에 종속성이 줄어듭니다. 재사용 및 유지보수가 편리성이 증가합니다. SQL문을 사용하지 않고 객체 지향 프로그래밍 언어(OOP)로 구현이 가능합니다. (생산성이 증가합니다) ORM 단점 SQL문을 사용하는 것보다 복잡해질 수 있습니다. 프로젝트의 복잡성이 높아질 경우에 같이 난이도도 올라갑니다. 항상 부족..

Study/DB 2021.08.11
728x90
반응형