데이터베이스 이상현상(anomaly): DB에서 삽입, 삭제, 업데이트를 제대로 할 수 없게 되는 경우 | 데이터 모델링을 제대로 하지 않았기에 발생삽입이상) 새로운 데이터를 자연스럽게 저장할 수 없는 경우업데이트이상) 데이터 업데이트시 정확성을 지키기 어려워지는 경우삭제이상) 원하는 데이터만 자연스럽게 삭제할 수 없는 경우정규화(Normalization): 테이블을 정규형에 맞게 만들어나감 | DB에서 삽입, 삭제, 업데이트 이상을 없앨 수 있음 1NF(제1정규형): 테이블 내 모든 로우의 모든 컬럼 값들은 나눌 수 없는 단일 값이어야 함한 컬럼에 같은 종류의 값을 여러 개 저장하고 있을 때: 해당 컬럼을 하나의 테이블로 분리해 모델링한 컬럼에 서로 다른 종류의 값을 여러 개 저장하고 있을 때: 한 컬..
비즈니스 룰) 특정 조직이 운영되기 위해 따라야 하는 정책, 절차, 원칙에 대한 간단 명료하한 설명비즈니스 룰에서 개체, 속성, 관계 후보 찾기모든 명사는 개체 후보다모든 동사는 관계 후보다하나의 값으로 표현할 수 있는 명사는 속성 후보다여러 값을 갖는 속성세번째 규칙에 대한 예외 경우 => 값으로 표현할 수 있는 명사여도 속성이 아닌 개체로 만듦왜? NULL이 많이 생길 수 있음 | 컬럼 개수를 정하기가 애매 | 조회가 비효율적식별자(Identifier): DB 내의 각 엔티티를 구별하는 속성이나 속성의 조합주식별자와 보조식별자주식별자(Primary): 엔티티에서 유일하게 식별할 수 있는 가장 중요한 속성최소성 | 대표성 | 유일성 | 불변성 | 존재성보조식별자(Secondary): 주식별자 외 엔티티..

데이터 모델링논리적 모델링) 개념적 구조를 정의물리적 모델링) 데이터베이스 구축에 필요한 걸 정하는 것데이터 모델데이터를 사용하려는 목적에 맞게 정리, 체계화해 놓은 모형Entity(개체): 저장하고 싶은 데이터의 대상(실제 대상 하나하나)Attribute(속성): Entity에 대해서 저장하려는 내용Relationship(관계): Entity들 사이 연결점Constraint(제약조건)Relational 모델데이터를 테이블로 정리해서 표현한 모델Entity-Relationship 모델(ERM)테이블이 아닌 다음처럼 표현 | 관계에 따라 선 끝 모양이 달라짐 데이터 모델 스펙트럼개념모델(Conceptual Model): 가장 추상적인 모델 | Entity들과 Entity들 사이에 있는 관계 정도만 표현논리..
일대다 관계 정의하기참조하는 모델 필드 정의 후 shift+alt+f를 누르면 자동으로 필드 정의해줌다(多)에 해당하는 모델에 일모델을 가리키는 필드와 일모델 Id를 저장하는 필드를 정의하고, 일에 해당하는 모델엔 다모델 배열을 정의하면 됨Relation의 onDeleteCascade Foreign Key가 가리키는 데이터가 삭제되면 기존 데이터도 삭제Restrict: 특정 데이터를 참조하는 데이터들이 있으면 데이터를 삭제하지 못함SetNull: Foreign Key가 가리키는 데이터가 삭제되면 Foreign Key를 NULL로 설정SetDefault: Foreign Key가 가리키는 데이터가 삭제되면 Foreign Key를 디폴트 값으로 설정 | Prisma에선 반드시 큰따옴표(" ") 사용릴레이션 필..