문제

이 질문에는 이미 답변이 있습니다.

혹시 논문/책/등을 아는 사람 있나요?데이터베이스의 패턴을 문서화하는 것인가요?예를 들어, 일반적인 경험 법칙 중 하나는 모든 테이블에 기본 키가 있어야 하며 키는 다음과 같아야 한다는 것입니다. 정보 내용이 부족하다.그렇다면 관계형 데이터베이스 설계를 위한 디자인 패턴에 관해 책을 쓰거나 논문을 발표한 사람이 있는지 궁금합니다.


@가이우스,

이것이 데이터베이스 설계자가 고려해야 할 질문입니다. 즉, 데이터베이스 구조의 안정성은 어느 정도입니까?지평선이 충분히 길면 안정적인 것은 아무것도 없습니다.또는 반대로 말하면, 충분히 긴 지평선이 주어지면 모든 것이 변할 수 있습니다.대리 키(이론상)는 처음부터 의미가 없었기 때문에 그 의미를 절대로 변경해서는 안 됩니다.

특정 디자인 시나리오에서 고려해야 할 또 다른 사항은 누가 기본 키를 보게 될 것인가 하는 것입니다.기본 키가 최종 사용자가 실제로 참조해야 하는 것이라면 최종 사용자가 이해할 수 있는 것으로 만드는 것이 합리적입니다.그러나 최종 사용자가 기본 키를 확인해야 하는 경우는 많지 않습니다.일반적으로 기본 키는 DB 엔진이 특정 작업 속도를 높일 수 있도록 하기 위해 존재합니다.

질문을 던진 나의 원래 생각은 쉽게 피할 수 있는 오류를 피하기 위해 나보다 경험이 많은 데이터베이스 설계자가 코드화한 데이터베이스 설계를 위한 설계 패턴을 찾는 것이었습니다.누군가 데이터베이스 디자인 안티 패턴을 체계화한 적이 있다면 흥미로울 것입니다.

도움이 되었습니까?

해결책

특히 키와 관련하여:나는 열쇠에는 의미가 없어야 한다는 이상한 생각에 강력히 동의하지 않습니다.일반적으로 나는 데이터베이스를 사실의 모음이라고 생각합니다.생성된 키와 같은 임의의 숫자와 기타 관련 없는 정보를 추가하기 시작하자마자 이는 경고 신호가 되어야 합니다.나는 추천한다 이 기사는 Joe Celko가 작성했습니다. 키에 대해 자세히 알아보세요.

더 일반적인 참고사항:

다양한 비즈니스를 위한 스키마 설계/데이터 모델 제안:데이비드 C.건초:데이터 모델 패턴:생각의 관습은 다소 오래되었지만 여전히 인쇄 된 이유가 있습니다.
http://www.dorsethouse.com/books/dmp.html

패턴과 매우 유사하지는 않지만 여전히 매우 좋습니다.스테판 파롤트, 피터 롭슨:SQL의 예술http://oreilly.com/catalog/9780596008949/

제가 추천할 수 있는 또 다른 것:바딤 트로파슈코:SQL 디자인 패턴 - SQL 프로그래밍 전문가 가이드http://www.rampant-books.com/book_2006_1_sql_coding_styles.htm

데이터 모델링에 관한 체계적인 교과서:Graeme Simsion 및 Graham Witt, "데이터 모델링 필수 사항"http://www.elsevierdirect.com/product.jsp?isbn=9780126445510

어쩌면 당신은 실제로 "스타일 가이드"를 찾고 있는 것일까요?나는 그 경우:조 셀코:SQL 프로그래밍 스타일http://www.elsevierdirect.com/product.jsp?isbn=9780120887972

다른 팁

E.F.의 책들코드와 C.J.날짜가 가장 확실한 답변입니다.나는 이 특정 책을 읽지 않았지만 저자에 대해 잘 알고 있으므로 꽤 좋을 것 같습니다.

데이터베이스 전문가를 위한 응용 수학 Lexx de Haan과 Toon Koppelaars의 작품입니다.

실제로 경험상 가능한 한 대용 키보다는 자연 키를 사용하는 것이 일반적이라고 생각합니다.

예를 들어 Invoice 테이블과 InvoiceDetail 테이블이 있는 경우 InvoiceNumber를 첫 번째 테이블의 기본 키로 사용할 수 있습니다.그것은 이미 우리 데이터에 존재하며 (제 생각에는?) 고유할 것입니다.두 번째 테이블의 경우 아마도 대리 키가 필요하지 않을 것입니다(인보이스 번호에 복합적으로 결합되었는지 여부).

어쨌든 원래 질문으로 돌아가서...hometoast의 링크를 통해 시작해보세요.

-- 케빈 페어차일드

정확하게 대답하려면: .'좋은' 데이터베이스 디자인에 관한 수많은 정보가 기록되어 있습니다.당신의 경험 법칙은 확실히 의심스럽습니다.

SQL 안티 패턴 Bill Karwin이 쓴 이 책은 매우 읽기 쉽고(건조하지 않음) 여러 가지 잠재적인 함정, 이를 사용하는 방법, 올바른 작업을 수행하는 방법/이유를 매우 명확한 용어로 설명합니다.

비즈니스 의미가 있는 기본 키("자연 키")를 사용하는 것은 확실히 장점이 있지만 데이터베이스를 리팩터링할 수 있습니다. 매우 어려운.특히 시간이 지남에 따라 데이터베이스 구조가 변경될 것이라고 믿을 만한 이유가 있는 경우 주의하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top