본문 바로가기

반응형

Programming/Database

(4)
Database transaction Isolation level 트랜잭션 격리수준 정리 Isolation level(격리 수준) 이란? 어떤 트랜잭션이 다른 트랜잭션에서 변경한 데이터를 어떤 수준으로 볼 수 있도록 하는지에 대한 레벨이다. 격리 수준에는 4가지 레벨이 존재한다. (아래로 내려갈수록 격리 수준은 강해지고 동시처리능력이 떨어진다.) Read Uncommitted Read Committed Repeatable Read Serializable Read Uncommitted COMMIT되지 않은 데이터에도 접근이 가능한 수준이다. Dirty Read가 발생할 수 있다. Read Committed COMMIT 된 데이터에만 접근할 수 있는 수준이다. NON REPEATABLE READ가 발생할 수 있다. 대부분의 RDB에서 기본값으로 사용하고 있다. Repeatable Read 트랜잭..
Entity framework core 사용하여 기본키(PK) 지정, 복합키(Composite Key) 지정 하는방법. Data annotation and Fluent API Entity Framework(이하 EF)는 닷넷용 ORM이다. EF Core는 EF6를 다시 작성한 버전이다. 둘의 차이점이 궁금하다면 링크 Entity Framework 6와 Entity Framework Core 비교 Entity Framework 6와 Entity Framework Core 중에 선택하는 방법을 제공합니다. docs.microsoft.com Entity class를 작성하면 기본적으로 "Id" 혹은 Id가 PK로 지정된다. 아래 예시의 경우 "Id", "StudentId" 프로퍼티가 PK로 지정된다. Public class Student { public int Id { get; set; } public string Name { get; set; } } Public class Stu..
RDBMS 와 NoSQL RDBMS(Relational database management system) -> 관계형 데이터베이스 관리 시스템. (Oracle, mysql, mssql ..) RDB 타입의 데이터베이스는 데이터 간의 관계를 표현한다. NoSQL -> RDB에 비해 덜 제한적인 일관성 모델을 이용하는 매커니즘을 사용하는 데이터베이스 타입. 기업의 복잡한 데이터들을 효율적으로 핸들링 하기위해 데이터들간의 관계를 표현한 RDBMS를 사용했고 근래에 더욱큰 데이터와 비교적 단순해지고있는 데이터관계의 특성을 반영하여 NoSQL을 사용한다. 어떤 타입의 데이터베이스 를 사용할지는 판단하려면 내가 핸들링 할 데이터의 특성 파악이 선행되어야 한다.
MSSQL delete row from specific table that have foreign key constraint. FK 제약조건이 있는 테이블 row 지우기 간단히 특정 테이블(이하 Table A)의 row를 몇개 지우려고 하는데 Table A의 PK가 다른 테이블(이하 Table B)의 FK 일때 row 지우는것이 조금 귀찮아진다. 그냥 지우려고하면 아래와 같은 에러 발생. The DELETE statement conflicted with the REFERENCE constraint "". The conflict occurred in database "", table "", column ''. 이럴경우 다음과 같은 순서로 작업을 진행한다. 1.해당 제약조건 임시 제거 2.Table A에서 지우려던 row 제거 3.Table B에서 Table A에선 지워진 row를 참조하고 있는 row가 있다면 제거 4.제약조건 복구 ALTER TABLE [dbo].[Tab..

반응형