표준 조인(STANDARD JOIN) 일반 집합 연산자와 SQL의 비교 일반 집합 연산자 SQL문 설명 UNION 연산 UNION - UNION 연산은 공통 교집합 중복을 없애도 정렬작업을 발생. - UNION ALL 연산은 공통 집합을 중복해서 보여주고 정렬 작업을 하지 않음. INTERSECTION 연산 INTERSECT - 두 집합의 공통 집합을 추출함. DIFFERENCE 연산 EXCEPT (MINUS) - 차집합으로 첫 번째 집합에서 두 번째 집합과의 공통 집합을 제외. - Orcale은 MINUS 용어를 사용. PRODUCT 연산 CROSS JOIN - 곱집합으로 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합. - M * N 건의 데이터 조합이 발생 - CARTESIAN PROD..
관계형 데이터 베이스 데이터베이스 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것. 효율적인 데이터의 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 데이터를 복구하기 위한 강력한 기능의 소프트웨어를 필요로 하게 되었고 이러한 기본적인 요구사항을 만족시켜주는 시스템을 DBMS하고 함. 관계형 데이터베이스 정규화를 통한 합리적인 테이블 모델링을 수행. 정규화를 통해 이상 현상을 제거하고 데이터 중복을 피할 수 있으며, 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작 가능. 메타 데이터를 총괄 관리할 수 있기 대문에 데이터의 성격, 속성 또는 표현 방법등을 체계화 가능. 데이터 표준화를 통한 데이터 품질을 확보할 ..
SQL vs NOSQL `SQL(Structured Query Language)`과 `NoSQL(Not only SQL)`은 데이터베이스 시스템의 두 가지 주요한 유형입니다. 이들은 데이터를 저장하고 조회하기 위한 다른 접근 방식과 구조를 가지고 있습니다. 다음은 `SQL`과 `NoSQL`의 주요 차이점과 각각의 장단점에 대한 설명입니다. SQL (관계형 데이터베이스) 구조화된 데이터 SQL 데이터베이스는 테이블과 열(Column)로 구성된 구조화된 데이터를 사용합니다. 데이터는 정해진 스키마에 따라 정확한 형식으로 저장됩니다. 관계 SQL 데이터베이스는 관계(Relationship)를 통해 여러 테이블을 연결할 수 있습니다. 이를 통해 데이터 간의 관계를 정의하고 관계형 모델을 사용하여 데이터를 조작하..
성능 데이터 모델링 성능 데이터 모델링의 정의 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것. 모델링 시점 성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할수록 비용이 들지 않음. 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우, 성능 저하에 따른 재업무 비용을 최소화할 수 있음. 분석/설계 단계에서 데이터베이스 처리 성능을 향상 시킬 수 있는 방법을 주도면밀하게 고려해야 함. 고려사항 데이터 모델링을 할 때 정규화를 정확하게 수행한다. 데이터베이스 용량 산정을 수행한다. 데이터베이스에 발생되는 트랜..
데이터 모델의 이해 모델링의 정의 복잡한 현실세계를 단순화시켜 표현한 것. 사물과 사건에 대한 양상(Aspect)나 관점(Perspective)을 연관된 사람이나 그룹을 위해 명확하게 하는 것 현실세계 추상화 하여 반영 한 것. 모델링의 특징 추상화 : 현실세계의 일정한 형식에 맞추어 표현을 한다는 의미 단순화 : 복잡한 현실세계의 약속된 규약에 의해 제한된 표기법이나 언어로 표현 명확화 : 누구나 이해하기 쉽게 하기위해 대상을 정확하게 현상하는 기술 모델링의 세가지 관점 데이터 관점 : 업무가 어떤 데이터와 관련이 되어 있는지, 데이터간의 관계는 무엇인지에 대해서 모델링하는 것. 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 것. 상관 관점 : 업무가 처리하..
Integration Test 설정 `Integration Test`는 `API` 부터 반환 되는 결과까지 검증하는 테스트로 통합 테스트와 같은 의미로 사용되고 있습니다. `Nest.js`는 `supertest` 모듈을 사용한 테스트를 진행하고 있습니다. let app: INestApplication; let authService: AuthService; beforeEach(async () => { const moduleFixture: TestingModule = await Test.createTestingModule({ imports: [AppModule], }) .compile(); authService = moduleFixture.get(AuthService); app = moduleFixture...