인터베이스를 사용하여 데이터베이스 테이블을 설계하는 가장 좋은 방법?
-
13-09-2019 - |
문제
나는 회사 데이터베이스를 적절한 방식으로 다시 시작하려고합니다. 현재 데이터베이스는 혼란스럽고 문서가 거의 없거나 전혀 없습니다. 인터베이스 데이터베이스를 설계 할 때 사람들이 무엇을 사용하는지 궁금합니다. SQL을 생성 할 좋은 시각적 스키마 디자이너가 있습니까? 손으로 모든 것을하는 것이 더 낫습니까?
기본적으로 데이터베이스를 설계하고 문서화 할 때 사람들이 일반적으로 취하는 단계는 무엇입니까? 그것이 중요하다면, 나는 데이터베이스의 ORM으로 최대 절전 모드를 사용하려고합니다. (인터베이스와의 특정 팁도 감사합니다).
감사해요!
해결책
이것이 최근에 만들어졌고 비즈니스에 의존하지 않는 새로운 데이터베이스 앱이라면, 재 작성 / 새 데이터베이스에 대한 전체 증기를 말합니다. 그러나 나는 당신이 몇 년 동안 주변에 있었고 많이 사용되는 데이터베이스를 다루고 있다고 생각합니다.
데이터베이스가 몇 살이 된 것에 대해 옳다면, 처음부터 시작하는 것을 강력히 추천합니다. 약 몇 년 동안 있었던 거의 모든 생산 데이터베이스는 "지저분한"것입니다. 이는 일반적으로 프로그램에 대한 실제 요구 사항이 일반적으로 솔루션이 다소 지저분 해지기를 원하기 때문입니다. 이것은 몇 년 후에도 새로운 데이터베이스 (이 경로를 가야 함)에서도 마찬가지입니다.
다음은 처음부터 프로덕션 데이터베이스를 재현하지 않는 몇 가지 이유입니다.
- 라이브 데이터베이스에는 수년 분량의 거래 및 고객 데이터가 포함되어 있습니다. 이 데이터를 완전히 다른 데이터베이스 구조로 전송하는 것은 매우 어려울 것입니다. 회사가 지금이 오래된 데이터에 액세스 할 필요가 없을 것이라고 말하더라도 저를 믿으십시오.
- 많은 비즈니스 규칙이 아마도 데이터베이스 구조, 기본값, 트리거, 저장 절차, 심지어 열의 데이터 유형, 심지어 칼럼의 데이터 유형으로 구축되었을 것입니다. 사람들이 시스템을 사용하기 시작하고 규칙이 제대로 응용되지 않는다는 것을 발견 할 때 디버깅 및 추가하는 데 많은 시간을 보내고 많은 시간을 소비합니다.
- 귀하는 새로운 데이터베이스 디자인에서 실수를 저지르거나 나중에 새로운 기능을 수용하기 위해 구조가 변경되어야한다는 것을 인식해야합니다. 현재 데이터베이스를 변경하고 그로부터 배우면 향후 변화가 더 쉬워지고 직관적이됩니다.
여기에 내가 추천하는 접근법은 다음과 같습니다.
- 현재 데이터베이스를 이해하고 문서화하여 비즈니스의 정보 흐름을 잘 이해할 수 있습니다.
- 나쁘거나 지저분한 디자인으로 보이는 것을 보면주의 깊게 살펴보십시오. 당신이 옳을 수도 있고, 변화의 잠재력을 보거나, 당신은 성과 나 다른 이유로 트레이드 오프가 만들어 졌을 수도 있고, 이것으로부터 배울 수 있습니다.
- 문서를 업데이트하고 해당 영역에 의존하는 프로그램을 변경하여 데이터베이스 구조를 점차적으로 개선하십시오 (또는 그렇지 않은 경우 프로그래머와 협력하십시오).
나는 이것이 매우 먼 길처럼 보이지만 12 년 동안 데이터베이스를 유지하고 만들어 온 사람에게서 가져 가면 실제 요구 사항이 지저분하기 때문에 현재 데이터베이스는 지저분 할 것입니다.
다른 팁
일반적으로 텍스트 편집기를 사용합니다. 때때로 나는 사용합니다 데이터베이스 워크 벤치. 마지막으로, Embarcadero는 일부 데이터베이스 모델링 도구에 인터베이스 지원을 추가하려고했지만 아직 배송되었는지는 모르겠습니다.