본문 바로가기

부트캠프/백엔드 스터디5

[DB] 트랜잭션, ACID [1. 트랜잭션] 1. 트랜잭션 (Transaction) - 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 - 여러 개의 쿼리를 하나로 묶는 작업을 뜻함 (데이터베이스에 접근하는 방식이 쿼리이므로) 2. 트랜잭션의 특징 - 원자성, 일관성, 독립성, 지속성 - 특징을 한 번에 ACID라고 부름 - 하나의 트랜잭션은 커밋(commit, 저장)되거나 롤백(rolll-back, 철회)될 수 있음 3. 커밋과 롤백 - 커밋 : 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어, 트랜잭션 단위로 수행되며 영구적으로 저장됨 - 롤백 : 트랜잭션으로 처리한 하나의 과정을 발생 전으로 돌리는 것, 즉 취소 - 커밋과 롤백으로 데이터의 무결성을 지킬 수 있음 더보기 무결성 : 데이터의 정확성, 일관성.. 2024. 1. 29.
[DB] KEY [기본 용어] 1. 튜플 - 테이블을 구성하는 각각의 행을 의미 - 속성의 집합 - 파일 구조에서 레코드와 같은 의미로 사용된다 2. 키 - 테이블간의 관계를 좀 더 명확히 하고, 테이블 자체의 인덱스 역할을 하기 위해 설정된 장치 - 조건에 맞는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준 3. 유일성 - 하나의 키값으로 튜플을 유일하게 식별할 수 있는 성질 - 튜플을 구분할 수 있어야 한다는 의미 - Ex) 회원들 사이에서 이름이나 생일은 중복될 수 있지만, ID는 중복될 수 없으므로 유일성을 만족함 4. 최소성 - 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질 - 최소한의 속성을 사용하여 튜플을 구분하는 것 - Ex) 이름과 생일 그리고 .. 2024. 1. 29.
[DB] index [index] 1. 인덱스란? - 인덱스: 데이터베이스 테이블에 대한 검색 성능(속도)을 높여주는 자료구조 - 책의 목차와 비슷한 개념, 목차 = 인덱스 / 페이지 = 물리적 저장주소 / 내용 = 데이터 2. 작동 방식 - 특정 컬럼에 인덱스를 생성하면 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 - where조건 등을 통해 생성한 인덱스를 탐색할 수 있음 - 인덱스에 저장되어있는 데이터의 물리적 주소로 가서 데이터를 가져오는 식으로 동작 - 검색 속도의 향상 3. 인덱스의 장점과 단점 장점 - 테이블을 조회하는 속도와 그에 따른 성능을 향상시킬 수 있음 - 시스템의 부하를 줄일 수 있음 단점 - 인덱스를 관리하기 위한 추가작업과 공간이 요구됨 - 인덱스를 잘못.. 2024. 1. 16.
[DB] ORM [ORM의 개념] - Object Relational Mapping, 객체-관계 매핑 - 객체 지향 프로그래밍에서의 객체를 구현한 클래스와 RDB의 테이블을 연결해주는 것 - ORM을 통해 자동으로 SQL문을 생성하여 연결하는 방식 - 즉, 사용자가 SQL문을 짤 필요가 없어진다 [ORM의 장단점] 1. 장점 - 객체지향적인 코드 작성 가능 : ORM을 활용하면 메서드를 통해서 데이터베이스 관리가 가능해지므로, 프로그래밍에 집중할 수 있게 함 - DBMS 종속성 하락 : 대부분의 ORM은 DB에 종속적이지 않기 때문에 구현 방법 뿐만 아니라 자료형 타입까지 유효함 - 재사용 및 유지보수의 편리성 증가 : ORM은 독립적으로 작성되어있고, 해당 객체들을 재활용할 수 있음/ 매핑 정보가 정확하여 ERD에 대.. 2024. 1. 15.
[DB] RDBMS/NoSQL [DBMS] 1. 개념 : 데이터베이스 관리시스템/ 실질적인 데이터베이스를 구현할수있는 것으로, 데이터를 조직화하여 효율적으로 관리함 2. SQL : 데이터베이스 관리 시스템에서 데이터를 조작하고 검색하기 위해 표준화된 언어 - 선언적 언어 : 명령어를 이용해서 원하는 결과를 명시하고 그 결과를 얻는 방식의 언어 - RDBMS에서 사용되며, 이를 통해 데이터의 구조와 관계를 정의하고 쿼리를 실행해 데이터를 관리할 수 있음 - 주요 SQL언어 : ANSI SQL, T-SQL, PL/SQL 등 - 주요 구현체 : Oracle Database, MySQL 등 [RDBMS, Relational Database Management System] 1. 개념 : 사전에 엄격하게 정의된 스키마가 있어, 행과 열로 구성.. 2024. 1. 15.