본문 바로가기
  • 개발공부 및 일상적인 내용을 작성하는 블로그 입니다.

이론/데이터베이스7

DB - SQL vs NOSQL SQL vs NOSQL 웹 앱을 개발 할 때, 데이터베이스를 선택하는데 있어서 고민하게 된다. * MySQL 과 같은 SQL 을 사용할 까 아니면 MongoDB 와 같은 NOSQL 을 사용할 까? 보통 Spring 에서 개발 할 때는 MySQL 을, Node.js 에서는 MongoDB 를 주로 사용한다. 하지만 그냥 단순히 프레임워크에 따라 결정하는 것이 아니다. 프로젝트를 진행하기에 앞서 적합한 데이터베이스를 택해야 한다. 그렇다면 둘의 차이점을 알아보자. SQL (관계형 DB) SQL 을 사용하면 RDBMS 에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 관계형 데이터베이스는 핵심적인 두 가지 특징이 있다. - 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다. - 데이터는 관계를 통해 .. 2022. 1. 28.
DB - Join Join 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법이다. - 테이블을 연결하려면 적어도 하나의 컬럼을 서로 공유하고 있어야 하므로, 이를 이용하여 데이터 검색에 활용한다. Join 의 종류 - INNER JOIN (내부 조인) - LEFT OUTER JOIN (왼쪽 외부 조인) - RIGHT OUTER JOIN (오른쪽 외부 조인) - FULL OUTER JOIN (전체 외부 조인) - CROSS JOIN (교차 조인) - SELF JOIN (자체 조인) INNER JOIN (내부 조인) 두 테이블간의 교집합으로, 기준 테이블과 join 테이블의 중복된 값을 보여준다. 즉, 둘 이상의 테이블에 존재하는 공통 속성의 값이 같은 것을 결과로 추출해준다. 예시 SELECT A.NA.. 2022. 1. 28.
DB - Key Key 검색, 정렬 시 Tuple 을 구분할 수 있는 기준이 되는 속성(Attribute)이다. 1. Candidate Key(후보키) Tuple 을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합(기본키로 사용할 수 있는 속성들) * 2가지 조건을 만족해야 한다. - 유일성 : Key 하나로 Tuple 을 유일하게 식별할 수 있다. - 최소성 : 꼭 필요한 속성으로만 구성된다. 2. Primary Key(기본키) 후보키 중에서 선택된 Main Key 이다. * 특징 - Null 값을 가질 수 없다. - 동일한 값이 중복될 수 없음 3. Alternate Key(대체키) 후보키 중 기본키를 제외한 나머지 키를 말한다. == 보조키 4. Super Key(슈퍼키) 유일성은 만족하지만, 최소성은 만족하지.. 2022. 1. 27.