Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 프로그래머스 #프로그래머스 중성화 여부 파악하기 #중성화 여부 파악하기
- 프로그래머스 조건에 부합하는 중고거래 댓글 조회하기
- 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기
- 프로그래머스 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
- 프로그래머스 #프로그래머스 헤비 유저가 소유한 장소 #헤비 유저가 소유한 장소
- 조건에 부합하는 중고거래 댓글 조회하기
- 프로그래머스 #조건별로 분류하여 주문상태 출력하기 #프로그래머스 조건별로 분류하여 주문상태 출력하기
- 태블로 테이블 계산
- 조건에 맞는 사용자와 총 거래금액 조회하기
- 프로그래머스 #프로그래머스 NULL 처리하기 #NULL 처리하기
- 조건에 맞는 사용자 정보 조회하기
- 프로그래머스 #프로그래머스 입양 시각 구하기(2) #입양 시각 구하기(2) #프로그래머스 입양 시각 구하기(1) #입양 시각 구하기(1)
- 프로그래머스 조건에 맞는 사용자와 총 거래금액 조회하기
- 저자 별 카테고리 별 매출액 집계하기
- 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 #프로그래머스 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
- 자동차 대여 기록 별 대여 금액 구하기
- 프로그래머스 #프로그래머스 우유와 요거트가 담긴 장바구니 #우유와 요거트가 담긴 장바구니
- 자동차 대여 기록에서 장기/단기 대여 구분하기 #프로그래머스 자동차 대여 기록에서 장기/단기 대여 구분하기
- 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
- 강원도에 위치한 생산공장 목록 출력하기 #프로그래머스 강원도에 위치한 생산공장 목록 출력하기 #프로그래머스 #경기도에 위치한 식품창고 목록 출력하기 #프로그래머스 경기도에 위치한 식
- 조건에 부합하는 중고거래 상태 조회하기
- 프로그래머스 조건에 맞는 사용자 정보 조회하기
- 프로그래머스 #오랜 기간 보호한 동물(2) #프로그래머스 오랜 기간 보호한 동물(2)
- 프로그래머스 #프로그래머스 서울에 위치한 식당 목록 출력하기 #서울에 위치한 식당 목록 출력하기
- 가격이 제일 비싼 식품의 정보 출력하기 #프로그래머스 가격이 제일 비싼 식품의 정보 출력하기 #프로그래머스 #식품분류별 가장 비싼 식품의 정보 조회하기 #프로그래머스 식품분류별 가장 비
- 프로그래머스 취소되지 않은 진료 예약 조회하기 #취소되지 않은 진료 예약 조회하기
- 프로그래머스 조건에 부합하는 중고거래 상태 조회하기
- 프로그래머스 #프로그래머스 5월 식품들의 총매출 조회하기 #5월 식품들의 총매출 조회하기
- SQL #DDL
- 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 #프로그래머스 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기
Archives
- Today
- Total
데이터 분석
데이터 모델 본문
0. 데이터 모델의 정의
정보시스템, DB를 구축하기 위한 데이터 관점의 업무 분석, 설계하는 과정이다. 약속된 일정한 표기법을 사용한다. (ERD표기법 등)
1. 엔터티
저장되기 위한 어떤 것(Thing)
엔터티 안의 행 데이터들은 인스턴스라고 한다. (개별 개념 : 인스턴스)
예를 들어 엔터티는 과목 인스턴스는 국어, 수학 등이 될 수 있다.
엔터티의 특징
- 2개이상의 인스턴스로 구성된 집합
- 식별자에 의해 식별이 가능
- 속성을 포함해야 함
- 다른 엔터티와의 관계가 최소 1개 이상 존재 (단, 통계성, 코드성, 시스템 처리용 엔터티는 인정)
- 업무에서 꼭 필요로 하는 정보로 구성되야 함
2. 속성
인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소단위
엔터티를 설명하고, 인스턴스의 구성 요소가 된다.
예를들어 이름, 제조년월, 제조단가 등이 있다.
속성의 특징
- 1개의 엔터티는 2개 이상의 인스턴스 집합
- 1개의 인스턴스는 2개 이상의 속성을 지님
- 1개의 속성은 1개의 속성값을 가짐 (개별 개념 : 속성값)
속성의 분류
- 기본속성
- 설계속성 : 사용자에 의해 새로 만들어진 속성 ex) 일련 번호
- 파생속성 : 다른 속성의 영향을 받음 ex) 통계값, 계산된 값
도메인
각 속성이 가질 수 있는 범위로 데이터타입, 크기, 제약사항(NOT NULL, Check등)
3. 관계
엔터티의 인스턴스 사이 논리적 연관성
관계명, 차수(카디날리티), 선택성(옵셔널리티)으로 구성된다.
- 차수는 1:1, 1:N, N:N으로 이루어질 수 있다.
- 선택성은 필수참여, 선택참여로 이루어 질 수 있다.
관계의 특성
- 관계는 페어링의 집합 (개별 개념 : 페어링)
관계의 필수사항
- 두 엔터티 사이 연관 규칙이 존재
- 두 엔터티 사이 정보의 조합이 발생
- 관계를 연결 가능하게 하는 동사가 존재
- 관계 연결에 대한 규칙이 존재
4. 식별자 (키)
엔터티를 구분할 수 있는 논리적인 이름, 대표할 수 있는 속성이다. 즉, 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.
식별자의 특징
- 유일성 : 주 식별자에 의해 엔터티 내 모든 인스턴스를 유일하게 구분 가능 ex) ID
- 최소성 : 주 식별자를 구성하는 속성 수는 유일성을 만족하는 최소 수여야 함 ex) ID + 이름 은 안됨
- 불변성 : 주 식별자가 특정 엔터티에 지정되면 그 식별자 값은 변하지 말아야 함 ex) ID는 바뀌면 안됨
- 존재성 : 주 식별자가 지정되면 반드시 데이터값이 존재해야 한다. (Null 허용 금지) ex) ID는 무조건 존재해야 함
식별자 분류
- 대표성에 따라 : 주 식별자 (PK) / 보조 식별자 (candidate key)
- 스스로 생성 여부 : 내부 식별자 / 외부 식별자 (FK)
- 하나의 속성인지 : 단일 식별자 / 복합 식별자 (복합키)
- 대체 여부 : 본질 식별자 (원래 있던 비즈니스 프로세스에 의해 만들어진) / 인조 식별자 (새로 만든 설계, 속성)
식별자와 비식별자의 관계
- 식별자 관계 : 자식이 부모의 기본키를 상속받아 기본키로 사용하고 있는 경우
반드시 부모 엔터티가 생성되야 자식 엔터티에도 생성 (소멸시 같이 소멸) 되며 null이면 안됨
문제점 - 식별자 속성이 지속적으로 증가할 수 있으며 복잡해지고 오류 가능성 유발 - 비식별자 관계 : 부모로의 속성을 자식의 기본키로 사용하지 않고 일반 속성으로 사용하는 경우
문제점 - 부모까지 조인해야 할 경우 SQL구문이 길어져 성능 저하 위험
'SQL > 추가 학습' 카테고리의 다른 글
DCL (DATA CONTROL LANGUAGE) (0) | 2023.03.14 |
---|---|
TCL (0) | 2023.03.02 |
DML (DATA MANIPULATION LANGUAGE) (0) | 2023.03.01 |
DDL (Data Definition Language) (0) | 2023.02.27 |
oracle 설치 (0) | 2023.02.27 |