2010-07-02 4 views
1

지금까지 데이터베이스 경험은 우리가 일하는 중간 정의 레이어로 항상 작업 해 왔습니다. 즉, SQL은 테이블 정의를 위해 직접 작성되지는 않았지만, 적절한 테이블을 생성하기위한 SQL 스크립트를 작성한 중간 파일, 스키마 변경 사이의 스크립트 업그레이드 및 간단한 쿼리/업데이트/삽입/삭제를 수행하는 도우미 함수로부터 생성되었습니다. 데이터 베이스.데이터베이스에 대한 테이블 구조 정의?

이제 나는 그것에 접근 할 수없는 상황에 처해 있습니다. 그 이유는 내가 들어 가지 않을 것이기 때문에, 나는 무엇을해야할지에 관해 바다에서 길을 잃었습니다. 데이터베이스에 테이블 수가 적어야하고 테이블 정의를 관리하기 위해 일반적으로 수행해야 할 작업이 확실하지 않습니다.

사람들은 일반적으로 테이블 생성을 정의로 사용하는 SQL 스크립트 만 사용합니까, 아니면 모든 사람들이 별도의 파일에서 정의를 관리하고 SQL 스크립트를 재생성하여 테이블을 생성합니까?

우리 모두 알고 있듯이, 개발자는 작은 것들에 대한 종교적 논쟁을하기 쉬운 경향이 있기 때문에 특정 IDE에 의존하지 않아도됩니다.

+0

내가 근무한 대부분의 곳에서 스키마 DDL을 하나 이상의 파일에 넣었습니다. –

+0

"우리 모두 알고 있듯이, 개발자는 작은 것에 대한 종교적 논쟁을하는 경향이 있습니다." 우리는이 모든 것이 질문들이 대부분 개발자들에 의해 질문되고 응답되는 곳이기 때문에 그것을 알고 있습니다. – APC

+0

어떤 버전의 SQL입니까? – Baaju

답변

6

이 좋아하는 텍스트 편집기를 엽니 다 -> 저장 - -> 소스 제어

에 넣어 스크립트가 이제 데이터베이스에 대한 기초가> 스크립트를 작성 쓰기 시작합니다. 스키마 변경 사항이있을 때마다 스크립트에 다시 반영되어 손실되지 않도록합니다.

다음 내용이 귀하의 정의가됩니다.

나는 당신을 위해 그 스크립트를 생성하는 특정 IDE/플랫폼에 의존하는 것보다 더 안정적이라고 느낍니다.

+0

+1 유명한 철학자가 이렇게 말한 적이 있습니다. "쉽게 할 수 있고, 다음 단계를 따르십시오." – corsiKa

+1

+1 소스 제어. DDL 스크립트를 보호하는 곳이 얼마나 적은지입니다. – APC

+0

감사합니다. 스크립트 작성을 시작하겠습니다. –

0

TOAD를 Oracle 용으로 사용하지만 필자는 데이터베이스 개체를 직접 작성하는 스크립트를 작성합니다. 그것은 당신 (그리고 당신의 DBA 's)에게 창조되고있는 것에 대한 더 많은 통제와 지식을 제공합니다.

1

우리는 스크립트를 직접 작성하고 다른 코드와 마찬가지로 소스 제어에 저장합니다. 그런 다음 특정 버전에 적합한 스크립트가 모두 함께 그룹화되고 함께 홍보되도록 승격됩니다. 데이터가있는 경우 삭제하고 다시 만들고 싶지 않으므로 기존 테이블을 변경할 때 alter table을 사용해야합니다! 내가 드롭을 사용하고 다른 모든 개체에 대한 recireate. 특정 테이블 (보통 sometype의 조회)에 레코드를 추가해야하는 경우 스크립트에서도 그렇게합니다. 그런 다음 나머지 버전 코드도 함께 승격됩니다.

나를 위해, 소스 제어에 스크립트를 넣는 것은 중요한 단계입니다. 이것이 다음 릴리스에서 변경된 사항을 알 수있는 방법입니다. 이것은 이전 버전을보고 문제점이있는 경우 쉽게 되돌릴 수있는 방법입니다. 데이터베이스 코드를 다른 모든 코드를 처리하는 것과 같은 방식으로 처리하십시오.

0

SQL에서 스키마를 설명하기가 너무 어렵다면 다른 IDE보다 더 많은 문제가있을 수 있습니다. 그래픽 표현이 필요하다면 설명서을 사용하십시오.하지만 그래도 IDE가 필요하지 않습니다.

0

당신이 묻고있는 여러 가지 방법이 있습니다. 기존의 전통적인 방법은 CREATE TABLE 문을 사용하는 응용 프로그램에서 스크립트 파일을 준비하는 것입니다.

개발자이고 Java 엔터프라이즈 개발자가 너무 많으면 Hibernate라는 지속성 라이브러리를 사용하여 완전한 스키마를 생성 할 수 있습니다.Here is a how to

DBA 레벨 사용자는 한 환경에서 스키마 내보내기를 가져 와서 현재 환경으로 가져올 수 있습니다. 이것은 DBA들 사이의 표준 사례입니다. 그러나 사용자가 볼 수있는 것처럼 관리자 권한이 필요합니다. 또한 사용하는 데이터베이스 (Oracle, DB2 등)에 따라 메소드가 달라집니다.

1

데이터베이스 설계를 시작할 때 스크립트를 작성하는 데이터 모델링 도구 중 하나를 사용할 수 있습니다. 그것을 당신을 위해 창조하십시오. 그 중 일부 도구는 Erwin, Fabforce 등입니다. (무료는 아니지만)

SQL Management Studio와 같은 IDE에 액세스 할 수 있으면 매우 간단한 GUI를 사용하여 만들 수 있습니다.

자신 만의 코드를 작성하는 경우 좋은 템플릿을 기반으로 자신 만의 스크립트를 작성하여 file_group, Collation &과 같은 테이블 정의의 모든 속성을 처리하는 것이 좋습니다. 희망이 있으리라.

일단 기본 복사 생성 스크립트를 만들고 기본 참조 사본을 가지고 있으므로 "증분"변경을 수행하고 소스 제어에서이를 관리 할 수 ​​있습니다.