제가 프로그램 하나를 만들고 있는데요.
데이터베이스에 관련된 건데 영 모르겟네요.
초보라...
뭐냐면..
음식명과 거기에 들어가는 재료와 양을 데티어베이스화 하는겁니다.
예를 들어...
음식명이 곰탕이면..
재료에 쇠고기 60g 파1.5g 소금 17g이 들어간다고 가정하면..
이걸 db에 저장하고 수정하는겁니다.
지금 문제가 뭐냐면...
음식명을 db에 넣는것 까지는 성공했는데..
거기에 들어가는 재료를 db에 넣는게 문제내요.
외냐면...
다른 음식을 db에 넣는다면 재료가 더 많아질수도 있기때문이죠.
예를 들어..
곰탕은 3가지 필드만 있으면 되지요.
그러니깐..쇠고기, 파, 소금...
그런데...
다른 음식을 만든다면..필드가 더 늘어날 수도 있잖아요?
즉..
쇠고기, 파 , 고추장, 소금, 설탕...등등.
이렇게 필드가 일정치 않은데 어케 처리하죠?
답변 부탁 드려요.
델파이책 어느 거를 봐도 약간씩은 설명이 되어있습니다.
이런 경우가 많습니다. 예를 들어 대학교에서 학생이 수강신청하는 문제,
또는 견적서의 세부 품목 문제입니다.
최소한 두 개의 테이블이 필요합니다.
하나는 요리 테이블이고, 다른 하나는 요리 재료 테이블입니다.
요리 테이블 :
요리 이름
요리재료 테이블 :
요리 재료 이름
요리 이름
필요양
단위
예를 들어 곰탕이라는 요리를 디비화 시키면
요리테이블에 '곰탕'이라는 레코드가 하나 들어가겠죠?
그리고 요래재료 테이블에는 요리재료이름은 다르지만
요리이름은 같은 레코드들이 쭉 들어갑니다.
이를테면 '파:곰탕:1.5:g', '쇠고기:곰탕:60:g', '소금:곰탕:17:g',
(소금이 17g이나? 짜겠다...)
필요한 만큼 계속 만들어주면 되죠...
그런데 문제는 쇠고기가 곰탕에만 들어가는게 아니라 다른
음식에도 들어가겠죠? 예를 들어 '파:감자탕:2:g'같이 말입니다.
위와 같이 간단한 구조의 디비라면 별문제가 없겠지만,
조금 더 복잡해지면 또는 요리재료 테이블에
넣어야할 필드가 많아지면 중복이 문제될 수가 있습니다.
그래서 테이블을 두 개나 세개 이상 만들어 관리하기도 합니다.