반응형

SQL의 데이터 정의 기능

SQL 데이터 정의 기능은 테이블 생성, 테이블 구조 변경 및 테이블 삭제로 분류할 수 있습니다. 먼저 SQL 문을 보고 새 테이블을 만듭니다.

 

테이블의 생성

테이블 만들기
새 테이블을 만들려면 먼저 테이블의 이름과 테이블을 구성하는 속성의 이름을 지정해야 해요. 아래에서는 각 환초 속성에 따라 데이터 유형을 결정합니다.

테이블을 생성하는 SQL 명령은 CREATETABLE입니다. CREATETABLE 문에는 생성할 테이블의 이름, 데이터 유형 및 제한의 정의, 기본 키, 에이전트 및 외부 키, 데이터 무결성 제약 조건 정의가 포함됩니다. CREATETABLE 문의 기본 형식은 다음과 같습니다.

CREATTABLE_Table_Table_Name(테이블 생성n_name)

① pro 속성_NameData_Type [NOTNULL] [DEFALT Default_Value]
② [기본 키]
③ [ [UNIQUE(속성_목록)]
④ [FORIGNKEY(Attribute_List) 참조 테이블 이름(Attribute_List)]
[ONDELETE 옵션] [ONUPDATE 옵션]
⑤ [개인 이름] [확인]

);

①테이블에 포함된 각 속성에 대한 이름, 데이터 유형 및 기본 제한을 지정합니다. ②기본 키로 사용할 수 있는 항목은 테이블에 한 개뿐입니다. ③테이블에 여러 개의 키를 포함할 수 있습니다. ④테이블에 외부 키로 여러 개의 키가 있을 수 있습니다. ⑤데이터 무결성 제약으로 인해 여러 개의 테이블이 존재할 수 있습니다. 또한 [ ]를 사용하여 항목을 생략할 수 있습니다.

각 SQL 문에는 세미콜론(;)이 표시됩니다. CREATETABLE 또는 NOTNULL과 같은 키워드는 대소문자를 구분하지 않습니다. 실제 데이터베이스를 작성할 때 테이블 이름과 속성 이름을 영어로 지정하는 것이 일반적이며, 테이블과 속성은 보다 직관적인 이해를 위해 이 장에서 한국어 이름으로 작성됩니다.

 

속성의 정의

표준 SQL에서 지원하는 일반적인 속성 데이터 유형입니다. 각 환초 특성을 고려하여 적절한 데이터 유형을 선택하고 정의합니다.

구성할 각 속성에 대한 데이터 유형을 선택한 후 속성을 눌러 값이 허용 가능한지 여부와 기본값이 필요한지 여부를 결정해야 합니다. 기본적으로 CREATETABLE 문에서 생성된 테이블을 구성하는 속성은 값을 눌러 설정할 수 있습니다. 따라서 푸시 값을 수락하지 않는 경우 속성의 이름 및 데이터 유형 뒤에 NOT NULL 키워드를 삽입해야 해요. NOT NULL 키워드는 항상 기본 키를 구성하는 모든 속성이 값을 누르는 것을 방지하기 위해 지정됩니다. 기본 키를 구성하는 속성을 눌러 값을 설정할 수 없는 개체 무결성 제한을 구현하는 방법입니다.

※ 기본 키로 지정된 속성은 NULL 특성을 자동으로 가지고 있지 않지만 기본 키로 사용되는 속성은 NULL 값을 가질 수 없다는 제한이 더욱 명확해집니다.

※ Oracle은 VARCHAR2를 VARCHAR보다 성능이 향상된 VARCHAR2를 사용합니다. 여기에 설명된 예는 좋은 데이터 유형이 아니라 VARCHAR과 유사한 MSSQL 서버이기 때문입니다. 그러나 주문 테이블의 주문 날짜 데이터 유형은 MSSQL 서버와 달리 DATE를 사용합니다.

값을 입력할 특성은 기본 키가 구성하는 특성이 아니더라도 키워드 NOT NULL로 표시됩니다. 온라인 또는 오프라인에서 회원으로 등록할 때 필수 항목으로 분류된 항목은 회원의 데이터가 저장된 표에 "NOT NULL"으로 지정돼요.

(예) 고객 ID VARCHAR(2)을 누르지 않음
→ 최대 20개의 가변 문자열 데이터를 사용하여 고객 테이블의 고객 ID 속성을 설정할 수 있습니다. 인쇄 값이 허용되지 않습니다.

DEFAULT 키워드를 사용하여 속성의 기본값을 설정해요. 속성 기본값을 지정하지 않으면 사용자가 속성 값을 입력하지 않으면 값이 속성 기본값으로 저장됩니다. 그러나 DEFAULT 키워드로 기본값을 명시적으로 지정하면 해당 값이 저장돼요.

(예) 지급불능으로 예약
→ 클라이언트 테이블의 통합 속성을 정수 데이터로 설정하고 사용자가 정수 값을 입력하지 않은 경우 기본적으로 0이 저장되는지 확인합니다.

기본값이 DEFAULT 키워드에 지정된 경우 숫자 데이터를 그대로 표시하고 문자열 또는 날짜 데이터를 따옴표로 묶어야 합니다. 단일 따옴표로 둘러싸인 문자열은 대소문자를 구분합니다.

(예) VARCHAR(1) DEFULT "경관"
→ 고객 테이블 관리자의 속성은 최대 10개의 가변 문자열 데이터로 구성되며, 이 데이터는 담당자를 입력하지 않은 경우 기본값으로 지정됩니다.

(예) CHAR(2) 표준 "a"
신용장(2) 표준 "A"
→ A0과 A0은 서로 다른 값으로 처리됩니다.

'데이터베이스' 카테고리의 다른 글

키의 정의  (0) 2022.08.10
데이터베이스 언어 SQL  (0) 2022.08.08
확장된 관계 대수 연산자  (0) 2022.08.07
순수 관계 연산자[2]  (0) 2022.08.06
순수 관계 연산자  (0) 2022.08.05

+ Recent posts