반응형 DB5 [Flutter] SharedPreferences 기능 및 사용법 앱에서 간단한 DB역할을 할 수 있는 SharedPreferences란? SharedPreferences는 기기 내부 디스크에 내용을 저장한다. 이것을 사용하는 이유는 앱이 종료되도 이전에 사용한 내용들을 저장해놓고 불러오기 위하여 많이 사용된다. 1. 데이터가 Key-Value형태로 저장되게 됩니다. 2. 저장될때는 파일 입출력을 사용하기 때문에 사용량이 많을 경우엔 DB와 연동하는 것이 낫다. 3. 팝업창을 '다음에 보지않기' 라는 체크 박스를 저장하는 정도의 간단한 데이터만 저장합니다. 4. 다른 플랫폼에서는 이와 같은 기능을 웹에서는 캐시, 아이폰에서는 UserDefaults, 안드로이드에서는 SharedPreferences라는 개념으로 말합니다. 설치 dependencies: flutter: s.. 2023. 5. 23. [DB] 트랜잭션이란? 트랜잭션이란? 트랜잭션의 특징(ACID), 트랜잭션의 Commit과 Rollback이란? 트랜잭션이란? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야할 일련의 연산들을 의미한다. 즉, 아래의 SQL문을 이용해서 DB에 접근하는 것을 의미이다. INSERT SELECT UPDATE DELETE (CRUD) 하지만 작업 단위는 꼭 질의어 한문장이 아니라 여러개의 질의어들의 집합일 수도 있다. 트랜잭션의 특징 트랜잭션의 특징은 4가지가 존재한다. - 원자성 (Atomicity) - 일관성 (Consistency) - 독립성 (Isolation) - 지속성 (Durability) 2023.03.16 - [개발 용어 정리] - [DB] ACID란? [DB.. 2023. 3. 16. [DB] ACID란? ACID - 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability) ACID란? - 데이터베이스 트랜잭션들이 안정적으로 수행된다는 것을 보장하기 위한 성질을 카리키는 약어이다. 1. 원자성(Atomicity) - 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장한다. - 중간 단계까지 실행되고 실패하는 일이 없도록 하는것이다. 2. 일관성(Consistency) - 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지한다. 3. 고립성(Isolation) - 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장한다. - 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 보.. 2023. 3. 16. [DB] 인덱스 저장 방식(Clustered Index, Non-Clustered Index) 인덱스 저장 방식에는 Clustered Index과 Non-Clustered Index가 있다. Clustered Index 1. 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식이다. 2. 실제 데이터가 순서대로 저장되어 있어 인덱스를 검색하지 않아도 원하는 데이터를 빠르게 찾을 수 있다. 3. 데이터 삽입, 삭제 발생 시 순서를 유지하기 위해 데이터를 재정렬 해야한다. 4. 한 개의 릴레이션에 하나의 인덱스만 생성 가능하다. Non-Clustered Index 1. 인덱스의 키 값만 정렬되어 있을 뿐 실제 데이터는 정렬되지 않는 방식이다. 2. 데이터를 검색하기 위해서 먼저 인덱스를 검색하여 실제 데이터의 위치를 확인해야하므로 클러스터드 인덱스에 비해 검색 속도가 떨어진다. 3. 한 개의 릴레.. 2023. 3. 14. [DB] NDV, 카디널리티, 선택도, 밀도란? NDV(Number of Distinct Value), 카디널리티(Cardinality), 선택도(Selectivity), 밀도(Density) NDV(Number of Distinct Value) NDV는 특정 컬럼에 unique한 값이 얼마나 있는지 나타낸다. 중복되는 값이 존재하지 않는 primary key와 같이 unique한 속성을 지닌 컬럼의 경우는 테이블의 행수와 개수가 일치한다. 카디널리티(Cardinality) 카디널리티(Cardinality)는 특정 데이터 집합의 유니크(Unique)한 값의 개수이다. NDV와 값이 같다. 주민등록번호와 이름이라는 컬럼이 있는 테이블이 있다고 가정해보자. 주민등록번호는 값이 중복되지 않는 유일한(Unique) 값이다. 이름은 값이 중복되기도 하는 값이다.. 2023. 3. 13. 이전 1 다음 반응형