아래 글에 이어 작성되었습니다. [DB] 트랜잭션(Transaction)과 트랜잭션 격리 수준(Isolation Level) 트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 데이터베이스 munak.tistory.com 락과 트랜잭션에 대하여 락(Lock) 트랜잭션을 구현하기 위해 대부분*의 데이터베이스 관리 시스템(DBMS)은 락을 사용합니다. 락은 데이터베이스의 일관성과 무결성을 보장하기 위한 중요한 메커니즘 중 하나입니다. 데이터베이스의 SQL도 여타 다른 프로그래밍 언어와 같이 변수를 설정하고 명령어를 실행할 수 있습니다. 이때, 특정 변수에 대해서 다른 명령어들이 접근할 수 없게..
제 1 정규형부터 Boyce-Codd 정규형 알아보기 정규화와 정규형 정규화는 데이터의 중복을 최소화하고, 데이터의 일관성을 지키기 위해 사용되는 관계형 데이터베이스 설계 이론입니다. 정규형은 정규화 과정에서 테이블이 만족해야 하는 특정 규칙을 나타내는 개념으로, 정규화와는 구별해야 합니다. 정규화는 쉽게 말하면, 관계형 스키마를 더 작은 속성들로 분해해 가는 과정이라고 할 수 있습니다. 주의해야 할 점은 테이블을 의미( = 함수적 종속 관계 )에 맞게 나누어야 하며 추후 데이터 손실이 발생하지 않아야 한다는 거죠. 정규화는 아래와 같은 장점을 가져다줍니다. 이상 현상을 제거하여 데이터를 일관성 있게 보존할 수 있게 합니다. 정규화가 되어 있는 쪽이 현실 세계와의 관계를 더 잘 반영합니다. 데이터 중복이..
데이터 베이스 인덱스에 대하여 인덱스(Index)란? 인덱스는 데이터 베이스 레코드에 빠르게 접근하기 위해서 키와 값(포인터, 주소)의 쌍으로 구성되는 데이터 구조입니다. 데이터베이스를 책이라고 비유한다면 인덱스는 색인(~내용을 찾으려면 ~쪽으로 가세요)과 같다고 할 수 있습니다. 테이블에 많은 데이터가 저장된 경우에 검색을 해서 원하는 결과를 가져오려면 시간이 오래걸리겠죠. 그래서 `칼럼의 값`과 `레코드가 저장된 주소`로 인덱스로 만들어 두는 것입니다. 읽기의 성능에 집중한 기능 DBMS는 인덱스를 항상 정렬된 상태를 유지하기 때문에 데이터를 탐색, 읽어오는데에는 빠르지만 새로운 값을 저장하거나 삭제, 수정하는 경우에는 실행 속도가 느려집니다. ⭐ 따라서 인덱스를 추가하는 건 저장 속도를 어디까지 희..
NoSQL과 비교해서 보면 좋습니다. [DB] NoSQL과 레디스(Redis) NoSQL과 레디스에 대하여 SQL(Structured Query Language) SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어입니다. RDBMS에서 자료의 검색과 관리, 스키마 생 munak.tistory.com SQL의 기본적인 문법에 대하여 SQL SQL은 Structured Query Language의 약자로 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어입니다. 질의어지만 질의 기능뿐 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 가지고 있습니다. SQL의 분류 SQL은 크게 3가지로 분류됩니다...
트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위. 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 Commit 되거나 Rollback 되어야 합니다. 트랜잭션을 쓰는 이유는 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위해서죠. 트랜잭션 특성 (ACID) 트랜잭션은 아래 4가지 특성을 가집니다. Atomicity(원자성) 트랜잭션의 연산은 DB에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다. 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 합니다. Consistency(일관성) 트랜잭션 실행을 성공적으로 ..
Oracle 8i부터 대용량 데이터를 저장하기 위한 LOB(Large Object) 타입이 등장했습니다. 비정형데이터나 반정형데이터를 저장하거나 조작하는데에 유용합니다. [DB]정형 데이터,비정형 데이터와 반정형 데이터 데이터를 수집하고 분석하는 것이 일상인 빅데이터 시대 데이터의 중요성은 나날히 커져가는 듯 합니다. 이번글에서는 데이터의 기초, 데이터의 형태에 대해서 작성해 보도록 하겠습니다. 데이 munak.tistory.com 그 종류는 아래와 같습니다. BLOB 바이너리 데이터 : 모든 종류의 데이터를 바이너리 형식으로 저장. 일반적으로 이미지, 오디오 및 비디오와 같은 멀티미디어 데이터에 사용. CLOB 문자 집합 : 대형 텍스트 데이터 저장 NCLOB 국가별 문자 집합 : Multi-byte ..
비주얼 스튜디오 버전 16.11.7 대상 프레임 워크 .NET Core 3.1 오라클 11g 기준으로 작성된 글 입니다. 1. Oracle.ManagedDataAccess.Core 설치하기 WPF에서 오라클 DB 데이터를 사용하기 위해서는 패키지 관리자 NuGet을 이용해 Oracle.ManagedDataAccess.Core 를 설치해야합니다. 먼저 비주얼 스튜디오를 열고 WPF 애플리케이션을 생성합니다. 프로젝트에서 오른쪽 마우스를 클릭하고 메뉴에서 NuGet 패키지 관리를 선택합니다. [찾아보기]로 분류를 변경하고 검색창에 Oracle을 검색합니다. 여러개의 오라클 패키지중에서 Oracle.ManagedDataAccess.Core를 설치합니다. 이제 [설치됨]에서 패키지를 확인할 수 있습니다. 2. ..