목록분류 전체보기 (49)
걸음마부터 달리기
데이터 유형은 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준이라고 생각하면 된다. ANSI/ISO 기준으로는 숫자 타입의 NUMERIC TYPE의 하위 개념으로 여러가지 타입들이 있다. (SMALL INT , BIG INT , INTEGER , FLOAT , REAL 등등) ORACLE 기준으로는 NUMBER의 한가지 숫자타입만 지원한다.VARCHAR 와 CHARACTER:VARCHAR는 크기도 가변으로 딱 그 만큼만 저장하고 CHARACTER는 고정길이 이하의 BYTE 크기라면 공간으로 채워서 저장한다.문자열 비교에서는 서로 다른 문자열을 비교할때 CHARACTER은 그 길이차이만큼 공백으로 채워서 서로 비교하지만 VARCHAR 는 그대로 비교..
TCL의 경우 DCL과 통합될 수 있음. 날것의 데이터를 테이블에 넣을 수 있게 가공하라. 관계형 데이터베이스의 기본 단위인 테이블형태로 데이터들은 저장이 되고 이 테이블에서 등록 및 꺼내온다. 또한 새로운 데이터를 입력할때는 새로운 테이블 만들 필요 없이 기존 테이블에 데이터만 추가한다. 칼럼이 아예 없는 테이블은 불가능하다.칼럼은 1개 이상 있는데 데이터(행)은 없는 빈 테이블은 가능하다. 선수와 관련된 데이터를 저장할 때 모든 데이터를 하나의 테이블로 저장하지 않는다.선수와 관련된 데이터를 선수 테이블과 구단 테이블이라는 복수의 테이블로 분할하여 저장하고 있는다.이렇게 테이블을 분할하여 데이터의 불필요한 중복을 줄이는 것이 정규화라고 한다.하나의 박지성에 대한 데이터를 추가할때 선수테이블에 다 때려..
슈퍼/서브타입 데이터 모델의 개요 Extended ER Model: 이 모델이 자주 쓰이는 이 유는 업무를 구성하는 데이터의 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현할 수 있기 때문이다. 즉, 공통의 부분을 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성에 대해서는 별도의 서브엔터티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모 델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점이 있다. 슈퍼/서브타입의 데이터모델은 논리적인 데이터모델링에서 사용하는 방식이므로, 진짜 SQL로 테이블 짜야하는 물리적 데이터모델링에서는 알맞게 이것을 변형해야한다. 이러한 변환방법의 기준은 애플리케이션의 트랜잭션 특성을 분석해야한다.1) 트랜잭션은 항상 일괄로 처..
먼저 데이터의 중복이란? 그냥 간단하게 하나의 속성에 여러 중복되는 값들이 오면 그게 중복이고 이러한 중복을 최대한 피하게 저장하게 모델링하는게 정규화 반정규화: 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발(Development)과 운영(Maintenance)의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미한다. 협의의 반정규화는 데이터를 중복하여 성능을 향상시키기 위한 기법이라고 정의할 수 있고 좀 더 넓은 의 미의 반정규화는 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미한다. (==정규화를 끝낸 엔터티들에 대해 일부로 중복을 허용하는 정규화를 반대하는 방향으로 다시 모델링하여 성능향상을 함) 정규..
데이터 처리 속도 성능 3가지 요소:1) 데이터 모델 구조 자체의 개선2) 데이터 자체의 대용량으로 인한 성능 하락3) 인덱스 특성을 고려하지 않고 인덱스 생성하여 성능저하 성능 데이터 모델링: 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, P K, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것으로 정의할 수 있다. (== 모델링할때부터 성능에 신경써라) 이러한 성능 데이터 모델링은 Analysis와 Design 단계에서 수행하면 Cost가 적게 든다. 따라서 미리미리 해놓자. 1) 정규화된 모델이 데이터를 주요 관심사별로 분산시키는 효과가 있기 때문에 그 자체로 성능을 향상시키는 효과가 있다...
식별자식별자란 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미하며 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다 키 != 식별자식별자는 논리 데이터 모델링에서 엔티티를 대표하는 속성이고 키는 물리 모델링때 DB 테이블 접근을 위한 매개체 주식별자의 특징:유일성 - 주식별자는 모든 인스턴스를 유일하게 구분가능하다.최소성 - 주식별자를 구성하는 속성 수는 최소개여야한다. ex) 학번 속성으로 각각 구분가능한데 학번과 번호를 섞어서 구성 X불변성 - 주식별자는 자주 변경되지 않아야한다.존재성 - 주식별자는 항상 데이터 값이 있어야한다. (NULL값 불가)대표성 - 주식별자는 엔터티를 대표 할 수 있어야한다. 식별자의 분류:외부식별자: 외부식별자(Fore..
3절 속성속성: 업무에서 필요로 하는 인스턴스로 관리하고자(구성요소) 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위속성의 특징: 마지막 특징은 1 정규화에서 하는 행동이니 즉 하나의 속성에는 한개의 값만을 가진다고 하는것이다. 속성의 분류기본속성: 업무분석을 통해 바로 정의한 속성설계속성: 업무상 존재는 하지 않지만 설계를 하면서 도출해내는 속성(일련번호)파생속성: 계산,변형에 의해 생성되는 속성 (팔린 전체 용기 수) 특히나 파생속성은 어떤 엔티티에, 어떤 속성에 영향을 받고 있는지 정의되어야 하고, 계산방법 또한 명시되어야 함. 엔티티를 구성하는 방식으로 구분한 속성1) PK: 엔티티를 식별할 수 있는 속성 2) FK: 다른 엔티티와의 관계에서 포함된 속성3) 일반속성: PK FK 제외한 나..
ERD 그리기이 중 우리는 Crow's Foot과 Barker 표기법을 기준으로 생각해본다. 1) 엔티티 뽑아내기업무사항에 기술되어 있는 사항들을 보고 데이터 관점에서 필요한 엔티티를 뽑아낸다. 엔티티는 사각형으로 표기하여 기술한다. 2) 엔티티 배치하기왼쪽 상단부터 중요한 엔티티를 배치하고 (고객, 주문)업무 흐름에 중심이 되는 엔티티는 타 엔티티와 많은 관계를 가지므로 중앙에 배치한다. (주문, 출고, 주문목록, 출고목록) 나머지 엔티티들은 선이 꼬이지 않게 관계 표시를 위해 중심이 된 엔티티 주위에 배치한다. (나머지들)3) ERD 관계 연결서로 관련있는 엔티티들의 관계를 묶어준다. PK 또한 정한다.4) 관계명 표시관계에 이름 부여한다. 현재형 쓰고 지나치게 포괄적이지 않게... 5) 관계 차수..