2008-09-04 4 views
21

논문/책/기타를 아는 사람이 있습니까? 그 데이터베이스에 대한 문서 패턴? 예를 들어, 일반적인 규칙 중 하나는 모든 테이블에 기본 키가 있어야하며 키는 devoid of information content이어야한다는 것입니다. 그래서 누군가가 관계형 데이터베이스 설계를위한 디자인 패턴과 관련하여 책을 쓰거나 논문을 발표했는지 궁금합니다.데이터베이스 패턴


@Gaius, 데이터베이스 디자이너가 무게를 필요로하는 문제이다

- 데이터베이스 구조의 가능성 안정성이 무엇인가는? 충분한 지평선이 주어지면 아무 것도 안정적이지 않습니다. 또는 충분히 긴 지평선이 주어지면 그 반대는 말할 것도없고 모든 것이 바뀔 수 있습니다. 대리 키 (이론상)는 결코 의미가 변경되지 않아야합니다. 왜냐하면 처음부터 의미가 없었기 때문입니다. 기본 키를 볼 수있을 것입니다 누구

내가 다른 것은 특정 디자인 시나리오에서 고려해야 할 생각이다? 기본 키가 최종 사용자가 실제로 참조 할 필요가있는 항목이면 이해할 수있는 항목으로 만드는 것이 좋습니다. 그러나 최종 사용자가 기본 키를 볼 필요가있는 많은 경우를 생각할 수 없습니다. 일반적으로 기본 키는 DB 엔진이 특정 작업의 속도를 높일 수 있도록합니다. 질문을에

내 원래 생각은, 희망, 약간 쉽게 피할 수있는 오류를 방지하기 위해 자신보다 경험이 풍부한 데이터베이스 디자이너에 의해 체계화 된 데이터베이스 설계를위한 디자인 패턴을 찾는 것이 었습니다. 누구든지 데이터베이스 설계 방지 패턴을 체계화했다면 흥미로울 것입니다.

답변

10

특히 키와 관련해서 : 나는 키가 의미가 없어야한다는 이상한 아이디어에 강력히 동의하지 않습니다. 일반적으로 데이터베이스는 사실을 모아 놓은 것입니다. 생성 된 키와 같은 임의의 숫자 및 기타 관련없는 정보를 추가하자마자 경고 기호가 표시됩니다. 키에 대한 자세한 내용은 this articly by Joe Celko을 권장합니다.

더 일반적인 사항 : 스키마 설계를위한

제안/다른 기업을위한 데이터 모델 : 데이비드 C. 헤이 : 데이터 모델 패턴 : 오히려 오래된 생각 의 규칙 만 인쇄에 아직 이유가있다
http://www.dorsethouse.com/books/dmp.html

패턴처럼 어쩌면 아주,하지만 여전히 아주 좋은 : 스테판 Faroult, 피터 롭슨 : http://oreilly.com/catalog/9780596008949/

,369 SQL 의 예술 내가 추천 할 수 1,363,210

또 다른 하나 바딤 Tropashko : SQL 디자인 패턴 - 전문가 가이드 프로그래밍 SQL로 http://www.rampant-books.com/book_2006_1_sql_coding_styles.htm

데이터 모델링에 대한

체계적인 교과서 : 그레엄 Simsion & 그레이엄 위트, "데이터 모델링 필수" http://www.elsevierdirect.com/product.jsp?isbn=9780126445510

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

+5

'자연스러운'키를 사용하는 위험은 키가 변경 될 수 있다는 것입니다. 서로 게이트 키는 바꿀 수 없습니다. Celko의 기사는 더 나은 것에 대한 가치 판단을하지 않습니다. 또한보십시오 http://stackoverflow.com/questions/159087/composite-primary-keys-versus-unique-object-id-field#159247 –

2

정확한 답변 : yes. '좋은'데이타베이스 설계에 쓰여진 정보의 s * -tons가 있습니다. 엄지 손가락 규칙의 예는 분명 의심 스럽지만.

4

E.F.Codd 및 C.J. Date의 도서가 가장 확실한 답변입니다. 나는이 특정한 책을 읽지 않았지만 나는 저자들에게 익숙하다. 아마도 꽤 좋을 것이다. Lexx 드 하안 및 툰 Koppelaars에 의해

Applied Mathmatics for Database Professionals. 사실

+0

그럼 분명히 이름을 지을 필요가 없다는 것을 알았습니까? – brian

3

, 나는 내가 가지고있는 경우에 따라서, 예, 송장 테이블과 InvoiceDetail 테이블, 우리가 할 수있는

... 엄지 손가락의 규칙이 대리 가능한보다는 자연 키를 사용하는 것이 일반적으로 생각 아마도 InvoiceNumber를 첫 번째 키의 기본 키로 사용하십시오. 그것은 이미 우리의 데이터에 존재하며 (나는 가정합니까?) 독특한 것입니다. 두 번째 테이블에서는 송장 번호와 합성 여부에 관계없이 대리 키가 필요할 수 있습니다. 어떤 경우

는 다시 원래의 질문에 ... hometoast의 링크 당신은 시작한다.

- 케빈 페어차일드

+1

자연 키 대 대리 키를 사용하는 아이디어는 주요 논쟁입니다. 많은 사람들이 항상 대리 키를 사용해야한다고 주장 할 것입니다. –

1

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

2

SQL Anti-Patterns이 (건조되지 않음) 읽기 매우 간단하고 매우 명확한 관점에서 다른 잠재적 인 함정의 숫자를 설명하고, 자신을 찾을 수있는 방법을 사용하여 , 그리고 어떻게/왜 일을 제대로하는지.

+0

포인터 주셔서 감사. –

관련 문제