본문 바로가기
728x90

IT 자격증 공부/SQLD8

SQLD - 데이터 모델과 성능3(분산데이터베이스) 분산 데이터베이스 데이터베이스 시스템 구축 시에 한 대의 물리적 시스템에 데이터베이스 관리 시스템(DBMS)을 설치하고 여러 명의 사용자가 데이터베이스 관리 시스템에 접속하여 데이터베이스를 사용하는 구조를 중앙 집중형 데이터베이스라고 한다. 이와는 달리, 물리적으로 떨어진 데이터베이스에 네트워크로 연결하여 단일 데이터베이스 이미지를 보여주고 분산된 작업 처리를 수행하는 데이터베이스를 분산 데이터베이스라고 한다. 분산 데이터베이스를 사용하는 고객은 시스템이 네트워크로 분산되어 있는지의 여부를 인식하지 못하면서, 자신만의 데이터베이스를 사용하는 것처럼 사용할 수 있다. 이와 같이 데이터베이스는 투명성을 제공하는 것이 매우 중요하다. 투명성 종류 투명성의 종류로는 분할, 위치, 지역사상, 중복, 장애 및 병행.. 2023. 8. 22.
SQLD - 데이터 모델과 성능2(반정규화) 반정규화(De-Normalization) 반정규화란, 데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법이다. 정규화와는 반대되는 개념이기 때문에, 반정규화를 할 시 데이터의 무결성을 해칠 수 있다는 단점이 있지만 SELECT 등의 성능을 향상 시킬 수 있다는 장점이 있다. 반정규화를 수행하는 경우 정규화에 충실하면 종속성, 활용성은 향상되지만 수행 속도가 느려지는 경우 다량의 범위를 자주 처리해야 하는 경우 특정 범위의 데이터만 자주 처리되는 경우 요약/집계 정보가 자주 요구되는 경우 반정규화 절차 반정규화는 데이터의 무결성을 해치기 때문에 위와 같이 반정규화 수행이 필요한 상황이 왔다고 해서 무조건적으로 수행하지 않는다. 반정규화를 진행하기 전, 사용.. 2023. 8. 22.
SQLD - 데이터 모델과 성능1(정규화) 정규화란 정규화는 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정이다. 간단히 말해, 정규화는 데이터 중복을 제거하고 데이터 모델의 독립성을 확보하기 위한 방법인 것이다. 중복이 없는 독립성을 확보한 정규화가 진행된 데이터베이스는 비즈니스에 변화가 발생하여도 데이터 모델의 변경을 최소화 할 수 있다. 정규화는 제 1 정규화에서 제 5정규화까지 있지만, 실질적으로는 제 3정규화까지 수행한다. 이상현상(anomaly) 정규화를 진행하지 않은 데이터 베이스의 테이블에는 여러 이상현상을 가지고 있어 데이터의 중복, 일관성 등을 해친다. 이러한 이상현상을 없애기 위해 정규화를 진행한다. https://codingralro.tistory.com/entry/DB.. 2023. 8. 21.
SQLD-데이터모델링의 이해5(속성) 속성(Attribute) 속성이란, 비즈니스 프로세스에서 도출한 엔터티가 비즈니스 프로세스 수행을 하기 필요한 정보를 뜻한다. 속성은 더 이상 분리되지 않는 단위로, 여러 데이터를 저장할 수 있다. 예를 들어, 주문 정보 시스템에서 고객 정보에 대한 엔터티를 도출하였다고 했을 때, 고객ID, 이름, 나이, 주소, 전화번호 등이 속성에 해당하는 것이다. 속성의 특징 속성은 비즈니스 프로세스에서 관리되는 정보이다. 속성은 하나의 값만 가진다. 주식별자에게 함수적으로 종속된다. 즉, 기본키가 변경되면 속성의 값도 변경된다. 속성의 종류 - 분해 여부에 따른 속성의 종류 단일 속성 : 하나의 의미로 구성된 것으로 회원ID, 이름 등을 예로 들 수 있다. 복합 속성 : 여러 개의 의미가 있는 것으로 대표적으로 주.. 2023. 8. 16.
SQLD - 데이터 모델링의 이해4(엔터티) 엔터티(Entity) 엔터티란 업무에서 관리해야 하는 데이터 집합을 의미하며, 저장되고 관리되어야 하는 데이터이다. 엔터티는 개념, 사건, 장소 등으로 표현할 수 있는 명사이다. 엔터티 도출 개발자들은 사용자들의 요구사항에 맞춰 비즈니스 프로세스에서 관리되어야 하는 정보를 추출하여야 한다. 그렇기 때문에 에 사용자의 업무에 대한 이해도가 필요한 것이다. 예를 들어, 계좌를 개설하는 비즈니스 프로세스가 존재한다고 가정했을 때 다음과 같이 엔터티를 도출할 수 있다. 회원가입 -> 회원 엔터티 -> 회원ID, 패스워드, 이름, 주소, 전화번호 등이 필요 회원으로 가입하기 위해서는 반드시 하나의 계좌를 개설 고객은 계좌를 여러 개 개설할 수 있다. 계좌를 개설할 때는 계좌번호, 계좌명, 예수금, 계좌개설지점, .. 2023. 8. 16.
SQLD - 데이터 모델링의 이해3(3층 Schema) 3층 스키마(Schema) 3층 스키마란, 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들 간의 관계를 정의한 ANSI 표준이다. 데이터베이스의 독링성을 확보하기 위한 방법으로 이를 통해 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감등의 장점을 가질 수 있다. 3단계 계층으로 분리하여 독립성을 확보하는 방법으로 각 계층을 뷰(View)라고 하고 가상 테이블이라고 생각하면 된다. 3층 스키마의 독립성 3층 스키마의 독립성은 다음의 두가지 독립성을 가진다. 논리적 독립성 : 개념 스키마가 변경되더라도 외부 스키마가 영향을 받지 않는 것 물리적 독립성 : 내부 스키마가 변경되더라도 개념 스키마가 영향을 받.. 2023. 8. 16.
SQLD - 데이터 모델링의 이해2(ERD) ERD(Entity Relationship Diagram) 1970년도에 데이터 모델링이 필수로 자리 잡았을 당시, 데이터 베이스 모델 또는 비즈니스 프로세스에 대한 표준이 아직 정립되지 않았을 때, Peter Chen이 Entity Relationship Model 표기법을 발표하였고 현재까지 데이터 모델링의 표준으로 사용되고 있는 개념이다. ERD는 단어에서 의미하는 그대로 'Entitiy 개체'와 'Relationship 관계'를 중점적으로 표시하는 데이터베이스 구조를 한 눈에 알아보기 위해 그려놓는 다이어그램이다. 개체 관계도라고도 불리며 요구분석사항에서 얻은 엔터디와 속성들의 관계를 그림으로 표현한 것이다. ERD 작성절차 엔터티 도출 엔터티 배치 : 중요한 엔터티는 왼쪽 상단에 배치 엔터디 관.. 2023. 8. 16.
SQLD - 데이터 모델링의 이해1(데이터모델링단계) 데이터 모델링이란 개발자가 데이터 베이스를 만들고 다루기 위해서는 데이터 모델링이라는 과정이 필수적이다. 데이터 모델링이란, 현실 세계를 데이터 베이스로 표현하기 위해 추상화하는 것 즉, 현실에서의 고객의 요구에 따라 데이터 베이스라는 가상세계에 추상화하는 단계가 필요한 데 이를 데이터 모델링이라고 하는 것이다. 데이터 모델링에 대해서 더 자세히 살표보면, 데이터 모델링은 현실 세계를 데이터 베이스로 표현하기 위해서 추상화한다. 데이터 모델링을 하기 위해서는 Client와의 의사소통을 통해 업무 프로세스를 이해해야 한다. ERD 등 데이터 모델링 표기법을 사용해서 모델링해야 한다. Client가 쉽게 이해할 수 있도록 설계해야 한다. 즉, 데이터 모델링은 Client의 비즈니스 프로세스를 이해하고 그에 .. 2023. 8. 15.
728x90
반응형