5. XML Schema 작성법

조회 수 1082 추천 수 0 2011.04.18 21:12:41
mosmartin *.181.249.254

XE에서 DB Table은 XML Schema File을 이용해서 만들어집니다.

각 모듈별로 모듈 디렉토리 아래에 schemas라는 디렉토리를 보시면 해당 module에서 사용할 table을 정의하고 있습니다.

이 Schemas에 있는 Table들은 module의 Install과정을 통해 생성 됩니다.

예) document_aliases.xml
<table name="document_aliases"
    <column name="alias_srl" type="number" size="11" default="0" notnull="notnull" primary_key="primary_key" />
    <column name="module_srl" type="number" size="11" default="0" notnull="notnull" index="idx_module_srl" />
    <column name="document_srl" type="number" size="11" default="0" notnull="notnull" index="idx_document_srl" />
    <column name="alias_title" type="varchar" size="250" notnull="notnull" index="idx_alias_title" />
</table>

XML Schema 파일 만들기

XML Schema 파일은 위의 예제에서 볼 수 있듯이 다음과 같은 구조를 갖습니다.

<table name="[Table 이름]">
<column ... />
</table>

이 때 Table의 이름은 해당 Xml Schema의 파일이름과 동일해야 합니다.
즉, Table명을 document_examples 라고 하려면 document_examples.xml 파일에 해당 내용을 넣어야 합니다.

Column Attributes
  • name: Column의 이름입니다.
  • type: Column의 종류입니다. (자세한 type 내용은 아래에 다시 설명하겠습니다.)
  • size: Size를 갖는 Column의 경우에 Size를 명시할 수 있습니다.
  • default: 기본값 (Default Value)를 지정할 수 있습니다.
  • notnull: 반드시 값을 가져야 하는 경우에는 notnull="notnull"로 지정해줍니다.
  • primary_key: 기본 키(primary_key)를 표시합니다.
  • index: 해당 Column에 걸 Index 이름입니다. 같은 이름의 Index를 여러 곳에 표시해주면 해당 Column들을 묶어서 하나의 Index에 걸게 됩니다.
  • unique: 해당 Column에 걸 Unique Index 이름입니다. 위의 index와 동일하며 중복된 값을 가질 수 없게 됩니다.
  • auto_increment : 자동으로 증가되는 숫자를 값으로 가지게 됩니다. (Cubrid에서는 유효하지 않습니다.)
Column Type

XE에서 사용되는 Column Type은 다음과 같습니다. 각 DBMS에 해당하는 Mapping은 classes/db/DB[DBMS이름].class.php 를 참조해주세요

  • number : 정수
  • bignumber: 큰 정수
  • varchar: 가변길이 문자열
  • char: 고정길이 문자열
  • text: 텍스트
  • longtext: 긴 텍스트
  • date: 날짜 (실제로는 varchar(14)에 mapping됩니다.)
  • float: 실수

skysign.myid.net

2010.01.21 11:46:29
*.246.179.182

문서 작성해 주셔서 고맙습니다. :D