목록data modeling (10)
꿈돌이 블로그
모델링 파트를 마무리하려는데 이 부분을 빠뜨릴 뻔했군요. 여러분 모델링이 무엇이라고 생각하나요? 이 부분에 대해서는 예전에 글을 한번 올린 적이 있습니다. 데이터 모델링은 현실 세계를 데이터베이스로 표현하기 위해서 추상화하는 것이라고 했습니다. 데이터 모델링에서 중요한 점은 바로 고객의 업무 프로세스 이해와 추상화와 비즈니스 프로세스의 규칙을 정의하는 것입니다. 즉, 고객과의 의사소통 또한 중요한 것이지요. 지금까지 저희는 정규화, 분산 데이터베이스 등 많은 개념을 다뤄왔습니다. 여기서 중요한 것은 왜?라고 질문을 갖는 것이 포인트입니다. 왜 정규화를 했을까요? 최대한 데이터 중복을 막기 위해서죠. 이것 또한 좋은 모델링의 요건 중 하나가 됩니다. 그렇다면 좋은 모델링의 요건은 무엇이 있을까요? 🎁 좋은..
🎁 분산 데이터베이스란? 물리적으로 떨어진 데이터베이스에 네트워크로 연결하여 단일 데이터베이스 이미지를 보여주고 분산된 작업 처리를 수행하는 데이터베이스를 뜻합니다. 🎁 중앙 집중형 데이터베이스 데이터베이스 시스템 구축 시에 한 대의 물리적 시스템에 데이터베이스 관리 시스템을 설치하고 여러 명의 사용자가 데이터베이스 관리 시스템에 접속하여 데이터베이스를 사용하는 구조를 뜻합니다. 🎁 분산 데이터베이스에는 "투명성"이 있어야 합니다. 투명성은 분산 데이터베이스에서 정말 중요한 요소입니다. 종류도 많아요. 분산 데이터베이스의 투명성 종류를 한번 알아봅시다. 투명성 설명 분할 투명성 고객은 분할된 각 단편의 사본이 여러 시스템에 저장되어 있음을 인식할 필요가 없음 위치 투명성 고객이 사용하려는 데이터의 저장 ..
🎁 반정규화란? 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법입니다. 반정규화는 SELECT 속도를 향상할 수 있습니다. 대신 데이터 모델의 유연성은 낮아지게 됩니다. 🎁 반정규화는 어떨 때 사용하는가? 반정규화를 수행하는 경우는 여러 경우가 있습니다. 대표적인 경우를 살펴보겠습니다. 요약/집계 정보가 자주 요구되는 경우 다량의 범위를 자주 처리해야 하는 경우 특정 범위의 데이터만 자주 처리하는 경우 정규화에 충실하게 하여 종속성, 활용성은 향상했지만 수행 속도가 느려지는 경우 이렇게 총 네 가지 경우가 있겠네요. 정리하면 수행 속도의 느려짐, 범위 처리, 자주 요구되는 요약/집계 정보일 경우에는 반정규화를 수행한다 보시면 되겠습니다. 🎁 반정규화 ..
🎁 이상 현상(Anomaly)란? 이상 현상은 데이터 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상입니다. 이상 현상의 종류로는 삽입, 삭제, 갱신 이상이 있습니다. 🎀 DB 이상 현상 이상 현상 설명 삽입 이상 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우 삭제 이상 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우 갱신 이상 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우 - 아래 테이블 예시를 통해 데이터베이스 이상 현상에 대해 자세히 알아봅시다. 학번 이름 교수번호 지도교수 202301 햇돌이 1 정 교수 202302 꿈돌이 2 이 교수 - 위 테이블을 기준으로 설명하겠습니다. ✨ 삽입 이상 - 202303 / '정루마' 이렇게만..
🎁 식별자란 무엇일까? 식별자는 엔터티를 대표할 수 있는 유일성을 만족하는 속성입니다. 🎀 주식별자(기본키, Primary key) - 주식별자를 파악하기 전에 4가지 키워드는 알아두셔야 합니다. 최소성: 주식별자는 최소성을 만족해야 합니다. 대표성: 주식별자는 엔터티를 대표할 수 있어야 합니다. 유일성: 주식별자는 엔터티의 인스턴스를 유일하게 식별한다. 불변성: 주식별자는 자주 변경되지 않아야 한다. 추가로 기본키는 NULL값을 허용하지 않습니다. 키워드를 숙지하시면 키의 종류를 확인하실 때 훨씬 이해가 쉬울 겁니다. ✨ 키의 종류 데이터베이스 키 설명 기본키(Primary key) 후보키중에서 엔터티를 대표할 수 있는 키(위 4가지 키워드 전부 만족) 후보키(Candidate key) 후보키는 유일성..
🎁 관계란? 엔터티 간의 관련성을 의미합니다. 관계에는 존재 관계와 행위 관계 이렇게 두 가지로 분류됩니다. 🎀 관계의 종류 관계의 종류에는 존재 관계와 행위 관계가 존재합니다. ✨ 존재 관계 엔터티 간의 상태를 의미합니다. 다음 예시를 확인해보겠습니다. 이는 고객이 은행에 회원가입을 하면, 관리점이 할당되고 해당 관리점에서 고객을 관리한다는 ERD입니다. 여기서 관리점은 고객이 있어야 존재를 하죠? 즉, 두 엔터티의 존재 여부에 관계가 있는 것입니다. ✨ 행위 관계 엔터티 간에 어떤 행위가 있는 것입니다. 예로들어 고객이 은행에서 계좌를 사용해서 주문을 발주하는 행위가 있겠네요. 🎀 관계 차수(Relation Cardinality) 두 개의 엔터티 간에 관계에 참여하는 수를 의미합니다. 🎀 관계 차수의..
🎁 엔터티란? 엔터티는 업무에서 관리해야 하는 데이터 집합을 의미합니다. 저장되고 관리되어야 하는 데이터라고 보시면 됩니다. 엔터티의 의미로는 여러 가지가 있습니다. (여러 가지 의미의 내용은 크게 벗어나지 않고 다 비슷합니다. 'ㅁ') 엔터티는 고객의 비즈니스 프로세스에서 관리되어야 하는 정보를 추출해야 합니다! 🎀 엔터티 특징 - SQL 공부를 제대로 하고 싶으신 분들은 엔터티 특징 정도는 필히 알아가시길 바랍니다. 엔터티 특징 설명 식별자 엔터티는 유일한 식별자가 있어야 함 인스턴스 집합 2개 이상의 인스턴스가 있어야 함 속성 엔터티는 반드시 속성을 가짐 관계 엔터티는 다른 엔터티와 최소한 한 개 이상 관계가 있어야 함 업무 엔터티는 업무에서 관리되어야 하는 집합임 ✨ 인스턴스란? - 인스턴스는 릴..
🎁 3층 스키마란? 3단계 계층으로 분리해서 독립성을 확보하는 방법 3층 스키마는 데이터베이스의 독립성을 확보하기 위한 방법 ANSI 표준으로 정의되어 있음 ✨ANSI(American National Standards Institute) - ANSI는 미국표준협회입니다. - 데이터베이스와 관련된 표준을 정의하고 있어요. - 예로 들어 ANSI SQL 표준이 있습니다. 이는 여러 DBMS에서 호환되도록 정의한 표준입니다. 🎀 3층 스키마의 구조 - 3층 스키마는 다음과 같은 모습을 하고 있습니다. - 3층 스키마는 외부 스키마, 개념 스키마, 내부 스키마가 존재하며 이들의 역할은 다음과 같습니다. 구조 설명 외부 스키마 (External Schema) - 사용자 관점 - 응용 프로그램이 접근하는 데이터베이..