본문 바로가기

Computer Science 📖/Database10

[면접을 위한 CS 노트] 4-4 데이터베이스의 종류 1. 관계형 데이터베이스(RDBMS) 행(Column)과 열(Row)을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스 - SQL을 이용하여 데이터에 접근하고 관리 - 관계 대수(Realtional Algebra)에서 착안하여 만들어 짐 - MySQL, PostgreSQL, SQL Server 등 RDMBS 장점 스키마가 명확하게 정의되어 있다. 데이터 무결성을 보장한다. 각 데이터를 중복 없이 한 번만 저장한다. RDBMS 단점 유연성이 떨어져 데이터 스키마를 사전에 계획해야 하므로 추후 수정이 어렵다. 관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있다. 대체로 수직적 확장만 가능하다. 2. NoSQL SQL를 사용하지 않은 비관계형 데이터베이스를 뜻하며, 그래프, 키(Key) -.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-3 트랜잭션과 무결성 1. 트랜잭션 트랜잭션(Transaction) 이란, 데이터베이스의 상태를 변경하기 위해 수행하는 작업 단위이다. 👉🏻 데이터베이스에 접근하는 방법은 쿼리(SELECT, INSERT, DELETE, UPDATE)이므로 여러 개의 쿼리들을 하나로 묶는 단위를 뜻한다. 트랜잭션의 특징 4가지(ACID) 트랜잭션에는 4가지의 특징이 존재한다. 원자성 일관성 독립성 지속성 1-1. 원자성 원자성이란 트랜잭션이 DB에 모두 반영되거나, 전혀 반영되지 않거나(All or Nothing)를 보장하는 특징을 뜻한다. - 커밋(commit) : 하나의 트랜잭션이 성공적으로 수행되었음는 의미 - 롤백(rollback) : 트랜잭션 처리가 일어나기 전으로 되돌리는 것을 의미 👉🏻 이러한 커밋과 롤백 덕에 데이터의 '무결성'.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-2 ERD와 정규화 과정 Entity Relationship Diagram은 개체 속성과 개체 간의 관계를 그림 혹은 도표로 표현한 것이며 시스템의 요구사항을 기반으로 작성되고 이를 통해 데이터베이스를 구축한다. 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용하지만, 비정형 데이터를 충분히 표현할 수 없다는 단점이 있다. 1-1. 정규화 과정 정규화 과정이란 ? 릴레이션 간의 '잘못된 종속 관계'로 인해 발생하는 '데이터베이스 이상 현상'을 방지하고, 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정 ✨ 이상 현상이란 ? 테이블 내의 데이터들이 불필요하게 중복되어 테이블을 조작할 때 발생되는 데이터 불일치 현상을 말한다. - 삽입 이상 : 불필요한 정보를 함께 저장하지 않으면 어떤 정보를 저장하는.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-1 데이터베이스의 기본 1. 데이터베이스의 기본 데이터베이스란 ? 일정한 규칙과 규약을 통해 구조화되어 저장되는 데이터의 모음 DBMS : 데이터베이스를 제어하고 관리하는 통합 시스템 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 수정, 삭제, 조회 등을 수행할 수 있다. 데이터 베이스의 특징 실시간 접근이 가능하다. 동시 공유가 가능하다. 지속적으로 변화한다. 데이터 참조 시에 주소가 아니라 내용에 대한 참조를 한다. 1-1. 엔터티(Entity) 엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다. 엔터티는 다른 엔터티의 존재 여부에 종속적인 '약한 엔터티'와 독립적으로 존재할 수 있는 '강한 엔터티'가 존재한다.(ex. 방 / 건물) 1-2. 릴레이션.. 2023. 11. 25.