반응형

데이터베이스(DB: Database) 14

[DB] 관계형 데이터베이스의 관계 (1:1, 1:N, N:M)

관계형 데이터베이스 구조화된 데이터는 하나의 테이블로 표현할 수 있다. 사전에 정의된 테이블을 릴레이션(relation)이라 하고, 테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database)라고 한다. 각 테이블 사이에는 관계라는 개념이 존재하며, 관계는 일대일(1:1), 일대다(1:N), 다대다(N:M) 관계가 있다. 관계 종류 1:1 관계 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우이다. 다음과 같이 User 테이블과 Phonebook 테이블이 있다고 가정한다. User 테이블은 user_id, name, phone_id를 가지고 있으며, phone_id는 외래키(foreign key)로 Phonebook 테이블의 phone_id와 연결되어 있다. Phon..

[SQL] SQL과 NoSQL의 차이 (관계형 데이터베이스 vs 비관계형 데이터베이스)

SQL vs NoSQL 데이터베이스는 크게 관계형 데이터베이스와 비관계형 데이터베이스로 구분한다. 관계형 데이터베이스는 SQL을 기반으로 하고, 비관계형 데이터베이스는 NoSQL로 데이터를 다룬다. SQL과 NoSQL은 만들어진 방식, 저장하는 정보의 종류, 저장하는 방법 등에 차이가 있다. 관계형 데이터베이스 관계형 데이터베이스는 테이블의 구조와 데이터 타입 등을 사전에 정의하고, 테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입할 수 있다. 관계형 데이터 베이스는 행(rwo)과 열(column)로 구성된 테이블에 저장하며, 각 열은 하나의 속성에 대한 정보를 저장하고, 행에는 각 열의 데이터 형식에 맞는 데이터가 저장된다. 관계형 데이터베이스는 특정한 형식을 지키기 때문에, 데이터를 정확히 업력 했..

[DB] 트랜잭션(Transaction)과 ACID란?

트랜잭션(Transaction) 트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛이다. 각 트랜잭션은 하나의 특정 작업으로 시작해서 묶여 있는 모든 작업들이 모두 완료되어야 정상적으로 종료한다. 만약, 트랜잭션에 속해있는 여러 작업 중에서 단 하나의 작업이라도 실패하면, 해당 트랜잭션에 속한 모든 작업은 실패한 것으로 판단한다. 작업이 하나라도 실패를 하게 되면 트랜잭션도 실패이고, 모든 작업이 성공적일 때만 트랜잭션이 정상적으로 실행되고 종료되는 것이다. 즉, 트랜잭션은 성공 또는 실패 두 가지 결과만 존재하며 미완료된 작업 없이 모든 작업을 성공해야 한다. 데이터베이스 트랜잭션은 ACID라는 특성을 가지고 있다. ACID ACID는 데이터베이스 내에서 발생하는 하나의 트랜잭션(transaction..

[DB] 데이터베이스 SQL이란?

SQL이란? SQL(Structured Query Language)을 직역하면 구조화된 Query언어이다. SQL은 관계형 데이터베이스(RDBMS)에서 데이터를 관리하고 처리하기 위해 설계된 프로그래밍 언어이다. 여기서 Query는 질의문을 뜻한다. 저장되어 있는 정보를 필터링하기 위한 질문으로 검색창에 적는 검색어도 Query의 일종이다. 즉, SQL은 데이터베이스에 query를 보내 원하는 데이터만을 뽑아올 수 있도록 하는 언어이다. SQL을 사용하기 위해서는 데이터의 구조가 고정되어 있어야 한다. 데이터베이스의 필요성 전통적인 데이터를 처리하는 방법으로 파일 입출력(File I/O)을 통해 엑셀과 같은 스프레드 시트에 데이터를 저장하거나, 인메모리(In-memory) 형태로 데이터를 임시 저장하여 ..

반응형