본문 바로가기

반응형

[DB]DataBase

(43)
[SQLD] 트랜잭션 트랜잭션(Transaction) 의미 하나의 연속적인 업무 단위 트랜잭션에 의한 관계는 필수적인 관계 형태를 가짐 하나의 트랜잭션에는 여러 SELECT, INSERT, DELETE, UPDATE 등이 포함될 수 있음 DML 명령어의 작업 단위 예) A 고객이 B 고객에게 100만원을 계좌이체한다. A 고객의 계좌 잔액이 100만원 이상인지 확인 맞다면 A 고객 계좌 잔액 -100 (UPDATE) B 고객 계좌 잔액 +100 (UPDATE) 이때 2, 3번이 동시에 수행되어야 하고, 모두 성공하거나 모두 실패해야 한다. (All or Nothing) 이러한 업무 특성의 연속적인 단위를 트랜잭션이라고 한다. 주의점 각 업무가 서로 독립적으로 발생하면 안됨 각각의 INSERT문으로 동작하면 안됨 부분 COMM..
[SQLD] 관계와 조인 관계(Relationship) 개념 엔터티의 인스턴스 사이의 논리적인 연관성 엔터티의 정의, 속성 정의 및 관계 정의에 따라서 다양하게 변할 수 있음 관계를 맺는다는 의미는 부모의 식별자를 자식에게 상속하고, 상속된 속성을 매핑키(조인키)로 활용함 부모~자식을 연결함 관계 분류 존재에 의한 관계와 행위에 의한 관계로 분류 존재 관계 엔터티 간의 상태를 의미 예) 사원 엔터티는 부서 엔터티에 소속 행위 관계 엔터티 간에 어떤 행위가 있는 것을 의미 예) 주문은 고객이 주문할 때 발생 조인 의미 데이터 중복을 피하기 위해 데이터 정규화에 의해 테이블이 분리된다. 이때 테이블 간에 관계가 생기고, 이 테이블들의 데이터를 출력하거나 관계가 있는 테이블을 참조하기 위해서는 데이터를 연결해야 한다. 이 과정을 조인..
[SQLD] 정규화(Normalization) 정규화 중복 데이터를 허용하지 않는 방식으로 테이블을 설계하는 방식을 '정규화' 라고 한다. 데이터 모델링에서 테이블 간 데이터 중복을 최대한 허용하지 않아야 저장공간의 효율적 사용과 업무 프로세스의 성능을 기대할 수 있다. 하나의 엔터티에 많은 속성을 넣게 되면 해당 엔터티를 조회할 때 마다 많은 양의 데이터가 조회되므로 최소한의 데이터를 하나의 엔터티에 넣도록 테이블을 분리하는 과정 데이터의 일관성, 최소한의 데이터 중복(데이터 무결성(Integrity)), 최대한의 데이터 유연성을 위한 과정 데이터 중복을 제거함으로써 데이터 모델의 독립성을 확보 데이터 이상현상을 줄이기 위한 데이터 베이스 설계 기법 엔터티를 상세화하는 과정으로 논리 데이터 모델링 수행 시점에서 고려 제 1 정규화 ~ 제 5 정규화..
[SQLD] 데이터 모델링 요소-4)식별자(Identifier) 식별자 정의 엔터티 내에서 인스턴스들을 구분할 수 있는 구분자 여러 개의 속성 중 엔터티를 대표할 수 있는 속성 하나의 엔터티에는 유일한 식별자가 존재해야 함 엔터티는 자신을 지칭하거나 식별하는 속성인 식별자를 가짐 식별자 vs. 키 식별자는 논리 데이터 모델링 단계에서 사용하고, 키(Key)는 물리 데이터 모델링 단계에서 사용한다. 식별자 특징 주 식별자에 의해 엔터티 내의 모든 인스턴스가 구분 가능 주 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수 지정 주 식별자 값은 자주 바뀌면 안됨 주 식별자 지정 시 반드시 값이 들어와야 함 대체 식별자 -> 주 식별자의 특징과 유사하지만, 참조무결성 제약조건이 특징 식별자 종류 엔터티 내에서 대표성을 가지는가에 따라 주 식별자(Primary Ide..
[SQLD] 데이터 모델링 요소-3)관계(Relationship) 관계 정의 관계는 엔터티 간의 연결을 나타낸다. 관계는 엔터티 간의 종속성과 연관성을 정의한다. 엔터티의 인스턴스 사이의 논리적인 연관성으로서, 존재의 형태나 행위로서 서로에게 연관성이 부여된 상태 관계의 페어링 엔터티 안의 인스턴스는 개별적으로 관계를 가진다. 이것을 집합의 관계로 표현한다. 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 '관계 페어링(Relation Pairing)'으로 표현한다. 관계의 분류 ERD에서는 '존재에 의한 관계'와 '행위에 의한 관계'를 구분하지 않고 단일화된 표기법을 사용한다. 존재에 의한 관계 행위에 의한 관계 관계의 표기법 관계명(Membership) 관계의 이름으로 관계에 참여하는 형태 지칭 관계차수(Cardinality..
[SQLD] 데이터 모델링 요소-2)속성(Attribute) 속성 개념 사물의 성질, 본질적인 성질 업무에서 필요로 하는 인스턴스 의미상 더 이상 분리되지 않는 최소 데이터 단위 엔터티를 설명하고 인스턴스를 구성하는 요소 하나의 엔터티에 종속되는 명사적 단어들 각 엔터티는 해당 속성을 가지고 있으며, 속성은 엔터티의 특정 측면을 설명 각 속성은 데이터베이스 테이블의 열(Column)에 해당 해당 속성에 어떤 값을 반드시 저장해야 하는 경우 *(Mandatory)를 표시하고, 해당 속성에 어떤 값이 존재할 수도 있고 존재하지 않을 수도 있는 경우에는 o (Optional)를 표시한다. 엔터티, 인스턴스, 속성, 속성값의 관계 엔터티 내에 하나의 인스턴스는 각 속성에 대해 한 개의 속성값만 가질 수 있다. 하나의 엔터티는 두 개 이상의 인스턴스 집합이어야 한다. 하나..
[SQLD] 데이터 모델링 요소-1)엔터티(Entity) 엔터티 정의 변별할 수 있는 사물 업무상 관리가 필요한 관심사 데이터베이스 내에서 변별 가능한 객체 정보를 저장할 수 있는 어떤 것(Thing) 사람, 장소, 물건, 사건, 개념 등의 명사 업무에 필요하고 유용한 정보를 저장/관리하기 위한 집합 인스턴스의 집합 엔터티 특징 반드시 해당 업무에 필요하고, 지속적으로 관리하고자 하는 정보여야 한다. 예) 환자, 토익의 응시 횟수 유니크한 식별자에 의해 식별 가능해야 한다. 영속적으로 존재하는 인스턴스의 집합이어야 한다. (한 개X, 두 개 이상O) 엔터티는 업무 프로세스에 의해 이용되어야 한다. 엔터티는 반드시 속성을 포함해야 한다. (하나 이상의 속성으로 구성된다.) 속성이 없는 실체는 존재할 수 없으며, 엔터티는 실제 세상에 있는 객체(Object)이다...
[SQLD] ERD ERD 설명 ERD(Entity Relationship Diagram; E-R Diagram)는 업무 분석에서 도출된 엔터티와 엔터티 간의 관계를 다이어그램으로 표현하는 것이다. 즉 존재하고 있는 것(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)이다. 존재하고 있는 것은 데이터를 뜻하기도 하므로 '데이터들의 관계를 나타낸 도표'와 같다. 데이터 모델에 대한 표기법으로, 1976년 Peter Chen(피터첸)이 E-R Model(Entity-Relationship Model)이라는 표기법을 만들었다. ERD 작성 순서 엔터티를 그린다. 엔터티를 적절하게 배치한다. 엔터티 간 관계를 설정한다. 관계명을 기술한다. 관계의 참여도를 기술한다. 관계의 필수여부를 기술한다. 엔터티 ..

반응형