본문 바로가기

데이터베이스

(4)
Inner Join vs Outer Join - 이번 글에서는 데이터베이스의 2가지 Join 방식인 Inner Join과 Outer Join의 차이점에 대해서 알아보겠습니다. Join이란 RDB에서 2개 이상의 테이블을 결합하는 것을 의미합니다. Join을 사용하는 목적은 2개 이상의 테이블의 정보를 결합해서 보여주고 싶기 때문입니다. 우선, Inner Join에 대해서 알아보겠습니다. 1) Inner Join - Inner Join은 두 테이블에 공통된 내용만 Join하는 방식입니다. 이를 벤 다이어그램으로 나타내면 다음과 같습니다. - 예를 들어, Student 테이블과 StudentCourse 테이블이 있다고 할 때, 두 테이블을 Inner Join하면 다음과 같이 SQL 쿼리를 작성할 수 있습니다. SELECT STUDENT_COURSE.I..
데이터베이스 기본 - 이번 글에서는 데이터베이스 기본 개념에 대해 알아보겠습니다. 글에서 다룰 주제는 엔티티, 릴레이션, 속성, 도메인, 필드와 레코드 입니다. 1) 엔티티 - 엔티티는 사람, 장소, 물건, 개념 등 여러 개의 속성을 지닌 명사를 의미합니다. 예를 들어, 배달 앱을 서비스하는 데이터베이스가 있다고 하면 회원 엔티티, 음식점 엔티티, 배달 기사 엔티티 등이 존재할 수 있습니다. 2) 릴레이션 - 릴레이션은 데이터베이스에서 정보를 구분해서 저장하는 기본 단위를 의미합니다. RDB에서는 릴레이션을 테이블이라고 부릅니다. 3) 속성 - 속성은 하나의 릴레이션에서 관리하는 구체적인 정보를 의미합니다. 예를 들어, 회원 릴레이션이 있다고 하면, 회원 ID, 패스워드, 이메일, 성별 등의 정보가 존재할 수 있는데, 각..
데이터베이스 Key - 데이터베이스에는 Key라는 개념이 존재합니다. 이 글에서는 데이터베이스의 슈퍼 키(Super Key), 후보 키(Candidate Key), 주요 키(Primary Key), 대체 키(Substitute Key), 외래 키(Foreign Key), 복합 키(Composite Key)와 같은 개념을 알아 보겠습니다. 1) 슈퍼 키(Super Key) - 데이터베이스에서 슈퍼 키란 하나의 행(row)을 식별할 수 있는 키를 의미합니다. 이를 다른 표현으로 유일성(uniqueness)를 가졌다고 합니다. 유일성이란 하나의 키로 행을 유일하게 식별할 수 있는 성질을 의미합니다. 예시를 통해 이해해 보겠습니다. - 위의 테이블을 보면 학번, 주민번호, 이름+나이 로 유일한 행을 식별할 수 있습니다. 따라서 학..
RDB vs NoSQL - RDB와 NoSQL은 현대 데이터베이스 두 가지 축입니다. 그리고 프로젝트를 진행할 때, 둘 중 적합한 데이터베이스를 선택할 수 있어야 합니다. 따라서 RDB와 NoSQL 각각의 특징과 장단점에 대해 잘 알아둬야 합니다. RDB와 NoSQL은 크게 5가지 기준으로 비교될 수 있습니다. 그것은 1) 스키마의 유연성 2) 데이터 구조 3) Scaling 4) ACID 트랜잭션 여부 5) Join 연산입니다. 각각에 대해서 좀 더 자세하게 살펴보겠습니다. 1) 스키마의 유연성 - RDB는 고정되고 미리 선언되어야 하는 스키마를 갖고 있습니다. 반면, NoSQL은 스키마를 미리 선언할 필요가 없으며, 유연한 스키마를 갖고 있습니다. NoSQL은 유연한 스키마로 인해 비정형화된 데이터를 저장하는데 유리합니다...