1정규형과 기본키
329
작성한 질문수 2
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요.
데이터베이스 정규화 과정 중에서 제1정규형에 대해서 질문이 있습니다.
정규화과정 #3. 제 1정규형에서 나온것처럼
릴레이션의 속성 값 중에서 한개의 기본키에 대해 두 개 이상의 값을 가지는 반복 집합이 있다고 했을때, 이번트 번호가 기본키 역할을 할 것이라고 생각하는 것이고, 당첨여부가 반복집합이라고 생각하면 될까요?

그리고 이 때 이벤트 번호 221006-1로는 당첨여부 Y,N,Y 중 어떤 것을 선택해야 할지 모르니 1정규화를 진행해야 하는 것일까요?
그리고 프로그래머스에서 문제를 풀다가 ,로 구분된 options라는 것에 대해서도 질문을 드리고자 합니다.
car_id, options 컬럼이 있고 이 때 car_id는 1부터 증가하는 숫자로 options는 콤마로 구분되어 선루프, 하이패스 기능, 베이비시트 이런식으로 값이 있다고 한다면
이것도 car_id라는 기본키에 반복집합이 있으니 정규화를 진행해야 할까요??
그런데 만약 그렇게 한다면
car_id, options
1, 선루프
1, 하이패스 기능
1, 베이비시트
이런 형식으로 다시 1이라는 기본키가 중복되어서 기본키 역할을 못하는 것 같습니다.
그래서 이 부분에서 다시 의아함을 가지고 있습니다.
혹시 제가 어떤 부분을 놓친걸까요?;;
답변 1
0
안녕하세요 741님 ㅎㅎ
car_id, options 컬럼이 있고 이 때 car_id는 1부터 증가하는 숫자로 options는 콤마로 구분되어 선루프, 하이패스 기능, 베이비시트 이런식으로 값이 있다고 한다면
>> 근데 1부터 증가하는 거라면 car_id는 1, 2, 3.. 이렇게 되지 않나요?
그럴 경우에
1, 선루프
2, 하이패스 기능
3, 베이비시트
이렇게 되서 사실 기본키를 수행하긴 해요..
이것도 car_id라는 기본키에 반복집합이 있으니 정규화를 진행해야 할까요??
그런데 만약 그렇게 한다면
car_id, options
1, 선루프
1, 하이패스 기능
1, 베이비시트
>> 하지만 만약 이경우에는 기본키를 car_id + options로 하면 됩니다. 기본키는 유니크하게 가져가야 한다고 생각하시면 되고 칼럼을 합쳐서 compound 키로 만들 수도 있다는 것을 생각하시면 될 거 같아요.
즉, 1- 선루프 / 1 - 하이패스 이렇게 놓게 되는데.. 다만 전체 테이블을 봐야 좀 더 정확할 거 같습니다.
또 질문 있으시면 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다.
감사합니다.
REST API (Self-descriptive messages)
0
28
1
시스템 엔지니어 관련 질문입니다.
0
53
2
오버라이딩 관련하여 질문드립니다.
0
62
2
교착상태의 4가지 필요조건이 필요충분조건이 아닌 이유
0
91
1
렌더 트리, 렌더 레이어와 그래픽 레이어
0
57
2
로컬스토리지, 세션스토리지, 쿠키의 공통점
0
68
1
IPv4가 IPv6보다 빠른 경우
0
103
2
UDP가 전송계층의 역할을 못하는 건 아닌지
0
59
1
Path MTU 발견하였음에도 패킷 분할이 필요한 이유?
0
65
2
교재의 LFU 알고리즘에서 6번이 왜 히트인가요?
0
64
2
페이지 교체 알고리즘? 프레임 교체 알고리즘?
0
83
2
Static 키워드가 메모리에 올라가는 시점
0
78
2
헤더 압축부분 질문드립니다
0
73
2
공유 캐시 관련 질문 드립니다.
0
56
2
컨텍스트는 context와 contextual information으로 나눠진다는게 무슨뜻인가요?
0
201
1
회선과 대역폭의 관계
0
63
2
44강 질문
0
95
2
버스 토폴로지 질문 있씁니다
0
55
1
자바스크립트, xml 문법 관련
0
67
2
전략패턴과 의존성주입 질문
0
69
2
Model이 비즈니스 로직을 담당하나요?
0
108
2
CS 공부 하는 법
0
181
2
큰돌님 블로그에 개념정리해서 올려도될까요!
0
137
2
FIN 세그먼트 질문
0
72
2





