중화사전망 - 자전 검색 - 데이터베이스 이름 지정 방법
데이터베이스 이름 지정 방법
이제 이름을 짓는 기교가 있습니다.
첫째, 테이블 이름의 대/소문자 제어 일반적으로 Oracle 데이터베이스의 테이블 또는 열 이름은 대/소문자를 구분하지 않습니다.
테이블 또는 열을 생성할 때 관리자가 소문자 이름을 사용하는 경우에도 데이터베이스는 데이터 딕셔너리에 저장되기 전에 대문자로 변환한 다음 데이터 딕셔너리에 저장합니다.
그래서 우리가 소문자 어머니와 아이의 이름을 사용 하지만, 다음 번에 우리가 테이블의 이름을 보면, 그들은 대문자로 설정 되어 있습니다.
Oracle 데이터베이스의 테이블 및 열과 같은 데이터베이스 객체는 대/소문자를 구분하지 않지만 데이터베이스 관리자가 데이터베이스 시스템에서 테이블 이름의 대/소문자를 구분하도록 해야 하는 경우에도 마찬가지입니다.
일반적으로 이름을 큰따옴표로 묶으면 Oracle 데이터 사전에서 대/소문자를 구분하는 이름이 됩니다.
그러나 여기서는 데이터베이스 관리자에게 기술적으로 데이터베이스 시스템이 case 를 강제할 수 있지만 실제 업무에서는 이들을 포함한 대부분의 데이터베이스 관리자가 이를 권장하지 않을 수 있다는 점을 상기시켜 드리고 싶습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마), 데이터베이스 관리자명언)
대/소문자가 혼합된 경우 이러한 테이블 또는 열 이름을 참조할 때 매우 조심해야 하기 때문입니다.
사용자나 데이터베이스 관리자들이 잊지 않는 능력을 가지고 있더라도 노래를 쓸 때 이 이름들의 크기를 정확히 기억하기가 어렵기 때문이다.
데이터베이스 관리자가 이를 고집한다면, 자초지종을 자초한 것일 가능성이 높다.
조회나 다른 숙제를 할 때 사례와 사례를 엄격하게 구분하는 것은 골치 아픈 일이다.
따라서 데이터베이스 관리자는 이 대/소문자 제어를 신중하게 사용하는 것이 좋습니다.
충분한 이유가 없는 한 이 큰 따옴표를 쉽게 사용하여 대/소문자를 제어하지 마십시오.
이 큰 따옴표는 대/소문자를 제어하는 데 사용할 수 있을 뿐만 아니라 일부 특수 문자를 참조하는 특수 기능도 있습니다.
예를 들어, 양식을 만들 때 브랜드 이름 필드를 설정해야 합니다.
일부 데이터베이스 관리자는 num# 과 같은 이름을 사용하는 데 익숙합니다
데이터베이스의 이름 지정 규칙을 위반하지 않습니다.
그러나 처리하는 것은 비교적 번거로울 수 있다.
예를 들어, create 문을 사용하여 테이블을 만들 때 필드 이름을 큰따옴표로 묶어야 합니다.
그렇지 않으면 데이터베이스가 명령문을 실행할 때 명령문 실행을 거부하고 오류 메시지로 사용자에게 메시지를 표시합니다.
유사한 특수 기호에는 달러 기호가 포함됩니다.
테이블을 작성할 때 문에 큰따옴표를 사용해야 합니다.
그러나 필드를 설정한 후에는 이러한 객체를 참조할 때 큰따옴표를 사용할 필요가 없습니다.
마찬가지로 Oracle 데이터베이스는 이러한 특수 기호를 지원하지만 작성자는 데이터베이스 관리자가 테이블이나 열의 이름을 지정할 때 이러한 특수 기호를 사용하도록 권장하지 않습니다.
이것은 후속 인용에 불필요한 번거로움을 초래할 수 있다.
둘째, 네임스페이스가 Oracle 데이터베이스의 다른 데이터베이스와 다르다는 점을 기억하십시오. 네임스페이스라는 개념이 있습니다.
같은 네임스페이스에서는 이름을 반복할 수 없습니다.
테이블과 뷰가 동일한 네임스페이스를 공유하는 경우 테이블 이름은 같을 수 없으며 테이블과 뷰 이름도 같을 수 없습니다.
같은 네임스페이스에 있기 때문입니다.
마찬가지로 테이블과 함수는 동일한 테이블스페이스에 있으므로 같은 이름을 가질 수 없습니다.
그러나 테이블과 인덱스, 테이블 및 제약 조건은 서로 다른 네임스페이스에 속합니다.
즉, 테이블 이름은 제약 조건 이름과 같을 수 있습니다.
따라서 데이터베이스 관리자는 테이블과 같은 객체의 이름을 지정할 때 동일한 네임스페이스를 공유하는 객체 * * * 를 알아야 합니다.
동일한 네임스페이스에 있는 뷰 및 테이블과 같은 객체가 다를 경우 동일한 이름을 가질 수 없습니다.
같은 네임스페이스에 중복 이름이 발생하지 않도록 작성자는 이름을 지정할 때 객체에 따라 오브젝트의 고유 접두사를 추가하는 것이 좋습니다.
예를 들어, 대부분의 데이터베이스 관리자는 일반적으로 테이블 이름에 테이블 객체의 접두어를 추가하지 않습니다.
그러나 함수나 뷰 객체를 정의할 때는 접두어가 붙습니다.
예를 들어 함수는 FN 을 접두어로 사용하고 뷰는 VI 를 접두어로 사용할 수 있습니다.
이 경우 같은 네임스페이스에 있는 오브젝트의 이름 변경에 대해 걱정할 필요가 없습니다.
그러나 어떤 경우든 데이터베이스 관리자는 네임스페이스의 개념을 기억해야 합니다.
실제 작업에서도 이 트랩은 접두사를 통해 쉽게 피할 수 있지만, 이 네임스페이스는 Oracle 데이터베이스 관리자 인증 시험에서 필요한 지식 포인트이기도 합니다.
따라서 실제 업무든 인증 시험의 필요성이든, 우리는 이 네임 스페이스 관리자에 대해 명확한 인식을 가져야 합니다.
셋째, 테이블, 인덱스, 제약 조건 및 열 간에 밀접한 관계를 설정합니다. 테이블을 생성할 때 테이블의 일부 열에 인덱스, 제약 조건 등을 추가할 수 있습니다.
예를 들어, 사원 정보 테이블에서 사원 번호 고유성 제약이 설정됩니다.
구속조건을 작성할 때 구속조건의 이름도 지정해야 합니다.
제약 조건은 테이블 및 열과 동일한 네임스페이스에 속하지 않지만 기본적으로 제한 없이 명명됩니다.
그러나 후속 사용의 편의를 위해 필자는 제약 조건의 명명에 대한 작은 제안이 있다.
간단히 말해, 테이블과 직접 관련된 다른 객체에 테이블 이름을 지정하는 것이 좋습니다.
예를 들어, ad_user 라는 사용자 테이블 (일반적으로 테이블 이름 앞에는 객체 이름이 없지만 응용 프로그램의 모듈 설계에 따라 모듈 접두어를 붙일 수 있음) 에는 직원 번호를 저장하는 vlaue 라는 필드가 있습니다.
테이블을 디자인할 때 이 필드에 색인을 추가해야 합니다.
그러면 이 색인의 이름은 IDX _ user _ value (색인 접두사 테이블 이름 필드 이름 형식) 로 명명될 수 있습니다
이렇게 하는 것의 장점은 무엇입니까? 먼저 관련 오브젝트의 이름이 중복되지 않도록 합니다.
테이블의 이름은 반복되지 않기 때문에 테이블의 이름과 열의 이름을 결합하여 하나의 개체의 이름을 만들면 반복 확률은 기본적으로 0 이라고 할 수 있습니다.
두 번째는 관리자의 읽기, 이해 및 유지 관리를 용이하게 하는 것입니다.
인덱스 또는 제약 조건 객체의 이름을 보면 인덱스인지 제약 조건이 사용되는 테이블의 필드인지 알 수 있습니다.
그리고 이 구속조건이 유일한지 아니면 검사 구속조건인지 알 수 있습니다. 인덱스 시 기본 키 인덱스 또는 외래 키 인덱스
데이터베이스 관리자에게 명확한 느낌을 주다.
이는 후속 유지 보수, 업그레이드, 조정, 참조 등을 용이하게 합니다.
Oracle 데이터베이스의 테이블 및 열과 같은 데이터베이스 객체는 대/소문자를 구분하지 않지만 데이터베이스 관리자가 데이터베이스 시스템에서 테이블 이름의 대/소문자를 구분하도록 해야 하는 경우에도 마찬가지입니다.
일반적으로 이름을 큰따옴표로 묶으면 Oracle 데이터 사전에서 대/소문자를 구분하는 이름이 됩니다.
그러나 여기서는 데이터베이스 관리자에게 기술적으로 데이터베이스 시스템이 case 를 강제할 수 있지만 실제 업무에서는 이들을 포함한 대부분의 데이터베이스 관리자가 이를 권장하지 않을 수 있다는 점을 상기시켜 드리고 싶습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마), 데이터베이스 관리자명언)
대/소문자가 혼합된 경우 이러한 테이블 또는 열 이름을 참조할 때 매우 조심해야 하기 때문입니다.
사용자나 데이터베이스 관리자들이 잊지 않는 능력을 가지고 있더라도 노래를 쓸 때 이 이름들의 크기를 정확히 기억하기가 어렵기 때문이다.
데이터베이스 관리자가 이를 고집한다면, 자초지종을 자초한 것일 가능성이 높다.
조회나 다른 숙제를 할 때 사례와 사례를 엄격하게 구분하는 것은 골치 아픈 일이다.
따라서 데이터베이스 관리자는 이 대/소문자 제어를 신중하게 사용하는 것이 좋습니다.
충분한 이유가 없는 한 이 큰 따옴표를 쉽게 사용하여 대/소문자를 제어하지 마십시오.