|
예전에 어떻게 해서인가..
이걸 했었는데... 도무지 어떻게 했었는지 기억이 나질 않더군요..
그때 델파이를 쓰던때인데..
이 내용에 대해서 나와있는 책은 한권도 보지 못하고..
같이 일하던 사람이 .. 이렇게 하면 된다더라.. 라는 말만 믿고..
(그사람도 해보지는 않았었슴..)
시도 했었던적이 있었습니다.
집 컴퓨터엔 빌더도 안깔려 있어..
4.0을 간신히 찾아내서 해봤는데도.. 기억이 나질 않더군요..
cascade를 이용하는 것 까진 기억이 났는데..
그래서 델마당서 검색해 보니 답이 있더군요..
질답란에 13245번입니다.
----------------------------------------------------------
[답변] 15636 마스터/디테일 db에서..
사용하시는 DB를 명시하지 않으셨군요.
일단 ORACLE의 경우 Detail Table에는 Foreign Key Constraint를 설정하셔야
하겠습니다. PARADOX의 경우에도 역시 Table을 생성하실 때 Referential
Integrity에서 Cascade Option을 설정해주셔야 합니다.
그래야지 Master Table에 Tuple이 삭제되었을 때 Detail Table에의 해당 Tuple도
함께 삭제됩니다. (Tuple은 Record를 가리키는 용어입니다)
그 다음 TTable Object를 DataModule 등에 생성하시고 DB와 Table을 지정하시
겠죠? 그리고 나선 TTable의 Property를 살펴봅시다. Master Table은 무엇이며
Relation은 어떤 Field 끼리 이뤄지는지 등을 설정하는 MasterSource,
MasterField라는 Property에 적당한 값을 설정해줍니다.
Detail Table에 IndexFields Property를 검사하여 적당한 Index를 설정해줍니다.
이렇게만 해주면 일단 Master/Detail 의 구성은 끝납니다.
Master의 삭제시 Detail도 같이 삭제되며, 새로운 데이터를 추가할 때엔 별 다른
작업 없이 Detail Table에 Foreign Key Field에 값이 Setting 됩니다.
참고하시기 바랍니다.
류광선
시후 님이 쓰신 글 :
: 파라독스 db는 각 테이블들을 sql처럼 유기적으로 묶일수 있나요?
: 예를 들면..
:
: item.db 에는
: icode iname gcode cost qty 라는 필드가 존재하고요,,
: 1111 커피 9001 100 3
: 1112 쥬스 9002 200 5
:
: group.db 에는
: gcode gname icode1 icode2 icode3 icode4 icode5 라는 필드가 있다고 가정할때,
: 2222 외국차 1111 1112 1113 1114 1115
:
:
: 임의의 폼에서 item.db의 1111 을 삭제한다고 하면
: item.db 도 열고 group.db 도 열어서 같이 수정해야 하잖아여..
: 그냥 item.db의 1111 을 삭제하면 group.db에 등록되어 있던 1111 도 같이 삭제 되게
: 묶어 줄수 있나 궁금해서요..
: 빌더 책을 보는데 주인덱스, 보조인덱스, 주키, 보조키, 기타....있는데,,
: 자세하게 나오질 않아서 이런것들을 이용해서 가능한지 열분 고수님들 답변 부탁드립니다..
:
:
|