The Jakarta Project The Jakarta Slide Project

Jakarta Slide

リソース

ユーザガイド

管理者ガイド

HOW-TO

プログラミング

Slide API

リファレンス

日本語訳 (Translations)

オリジナル

初期化

Storeの最初のスタートアップでは、Store は、自動的にデータベースに適切なテーブルを作成しようと試みます。 データベースでサポートされない型がある場合に、そのテーブル作成は失敗します。 其の場合、storeを開始する前に、テーブルを作成しなければなりません。

この文書では、様々なデータベースにてテーブルの作成に使われる多くのSQLスクリプトをご紹介します。 これに関する投稿も大いに歓迎いたします。

注意: JDBC Store の目標は、出来る限り互換性を保つ事にあります。 特殊な高パフォーマンスのstore 、例えばいくつかのベンダのXAドライバ(訳注:分散トランザクション用のドライバです)のあたりをベースにしたstoreなどは、やがては開発されるでしょう。

Tables

このセクションでは、JDBC store で使われるデータベーススキーマをご紹介いたします。 ここで示されて型は、各フィールドに求められているJava型のことを指します。

Objects
  • uri: String
  • classname: String
Children
  • uri: String
  • childuri: String
Links
  • link: String
  • linkto: String
Permissions
  • object: String
  • revisionnumber: String
  • subject: String
  • action: String
  • inheritable: int
  • negative: int
Locks
  • id: String
  • object: String
  • subject: String
  • type: String
  • expirationdate: String
  • inheritable: int
  • xexclusive: int
Revisions
  • uri: String
  • isversioned: int
  • initialrevision: String
Workingrevision
  • uri: String
  • baserevision: String
  • xnumber: String
 
Latestrevisions
  • uri: String
  • branchname: String
  • xnumber: String
Branches
  • uri: String
  • xnumber: String
  • childnumber: String
Revision
  • uri: String
  • xnumber: String
  • branchname: String
Label
  • uri: String
  • xnumber: String
  • label: String
Property
  • uri: String
  • xnumber: String
  • name: String
  • value: String
  • namespace: String
  • type: String
  • protected: int
Revisioncontent
  • uri: String
  • xnumber: String
  • content: byte[]
データベース作成スクリプト

Hypersonic SQL の初期化スクリプトは、デフォルトのJDBC storeのスタートアップで動くものの一つです。

サポートされるデータベース:

Hypersonic SQL

create table objects(uri varchar(65536) primary key, classname varchar(4096);

create table children(uri varchar(65536), childuri varchar(65536));

create table links(link varchar(65536), linkto varchar(65536));

create table permissions(object varchar(65536), revisionnumber varchar(20), 
  subject varchar(65536), action varchar(65536), inheritable int, 
  negative int);

create table locks(id varchar(65536), object varchar(4096), 
  subject varchar(4096), type varchar(4096), 
  expirationdate varchar(15), inheritable int, xexclusive int);

create table revisions(uri varchar(65536) primary key, 
  isversioned int, initialrevision varchar(10));

create table workingrevision(uri varchar(65536), 
  baserevision varchar(20), xnumber varchar(20));

create table latestrevisions(uri varchar(65536), 
  branchname varchar(4096), xnumber varchar(20));

create table branches(uri varchar(65536), xnumber varchar(20), 
  childnumber varchar(20));

create table revision(uri varchar(65536), xnumber varchar(20), 
  branchname varchar(4096));

create table label(uri varchar(65536), xnumber varchar(20), 
  label varchar(4096));

create table property(uri varchar(65536), xnumber varchar(20), 
  name varchar(4096), value varchar(65536), namespace varchar(4096), 
  type varchar(100), protected int);

create table revisioncontent(uri varchar(65536), xnumber varchar(20), 
  content longvarbinary);

mySQL

create database myDB;

use myDB;

create table objects(uri blob not null, primary key uriIndex (uri(255)), 
  classname blob);

create table children(uri blob, childuri blob);

create table links(link blob, linkto blob);

create table permissions(object blob, revisionnumber varchar(20), 
  subject blob, action blob, inheritable int, negative int);

create table locks(id blob, object blob, subject blob, type blob, 
  expirationdate varchar(15), inheritable int, xexclusive int);

create table revisions(uri blob not null, primary key uriIndex 
  (uri(255)), isversioned int, initialrevision varchar(10) );

create table workingrevision(uri blob, baserevision varchar(20), xnumber 
  varchar(20) );

create table latestrevisions(uri blob, branchname blob, xnumber 
  varchar(20) );

create table branches(uri blob, xnumber varchar(20), childnumber 
  varchar(20) );

create table revision(uri blob, xnumber varchar(20), branchname blob);

create table label(uri blob, xnumber varchar(20), label blob);

create table property(uri blob, xnumber varchar(20), name blob, value 
  blob, namespace blob, type varchar(100), protected int);

create table revisioncontent(uri blob, xnumber varchar(20), content blob);

PostgreSQL

create table objects(uri varchar(3200) primary key, classname varchar(4000));

create table children(uri varchar(4000), childuri varchar(4000));

create table links(link varchar(4000), linkto varchar(4000));

create table permissions(object varchar(4000), revisionnumber varchar(20), 
  subject varchar(4000), action varchar(4000), inheritable int, negative int);

create table locks(id varchar(4000), object varchar(4000), 
  subject varchar(4000), type varchar(4000), 
  expirationdate varchar(15), inheritable int, xexclusive int);

create table revisions(uri varchar(3200) primary key, 
  isversioned int, initialrevision varchar(10));

create table workingrevision(uri varchar(4000), 
  baserevision varchar(20), xnumber varchar(20));

create table latestrevisions(uri varchar(4000), 
  branchname varchar(4000), xnumber varchar(20));

create table branches(uri varchar(4000), xnumber varchar(20), 
  childnumber varchar(20));

create table revision(uri varchar(4000), xnumber varchar(20), 
  branchname varchar(4000));

create table label(uri varchar(4000), xnumber varchar(20), 
  label varchar(4000));

create table property(uri varchar(4000), xnumber varchar(20), 
  name varchar(4000), value varchar(4000), namespace varchar(4000), 
  type varchar(100), protected int);

create table revisioncontent(uri varchar(4000), xnumber varchar(20), 
  content oid);

Oracle 8i

create table objects(uri varchar(3200) primary key, classname varchar(4000));

create table children(uri varchar(4000), childuri varchar(4000));

create table links(link varchar(4000), linkto varchar(4000));

create table permissions(object varchar(4000), revisionnumber varchar(20), 
  subject varchar(4000), action varchar(4000), inheritable int, negative int);

create table locks(id varchar(4000), object varchar(4000), 
  subject varchar(4000), type varchar(4000), 
  expirationdate varchar(15), inheritable int, xexclusive int);

create table revisions(uri varchar(3200) primary key, 
  isversioned int, initialrevision varchar(10));

create table workingrevision(uri varchar(4000), 
  baserevision varchar(20), xnumber varchar(20));

create table latestrevisions(uri varchar(4000), 
  branchname varchar(4000), xnumber varchar(20));

create table branches(uri varchar(4000), xnumber varchar(20), 
  childnumber varchar(20));

create table revision(uri varchar(4000), xnumber varchar(20), 
  branchname varchar(4000));

create table label(uri varchar(4000), xnumber varchar(20), 
  label varchar(4000));

create table property(uri varchar(4000), xnumber varchar(20), 
  name varchar(4000), value varchar(4000), namespace varchar(4000), 
  type varchar(100), protected int);

create table revisioncontent(uri varchar(4000), xnumber varchar(20), 
  content blob);

Cloudscape

create table objects(uri varchar(3200) primary key, classname varchar(4000));

create table children(uri varchar(4000), childuri varchar(4000));

create table links(link varchar(4000), linkto varchar(4000));

create table permissions(object varchar(4000), revisionnumber varchar(20), 
  subject varchar(4000), "ACTION" varchar(4000), inheritable int, negative int);

create table locks(id varchar(4000), object varchar(4000), 
  subject varchar(4000), type varchar(4000), 
  expirationdate varchar(15), inheritable int, xexclusive int);

create table revisions(uri varchar(3200) primary key, 
  isversioned int, initialrevision varchar(10));

create table workingrevision(uri varchar(4000), 
  baserevision varchar(20), xnumber varchar(20));

create table latestrevisions(uri varchar(4000), 
  branchname varchar(4000), xnumber varchar(20));

create table branches(uri varchar(4000), xnumber varchar(20), 
  childnumber varchar(20));

create table revision(uri varchar(4000), xnumber varchar(20), 
  branchname varchar(4000));

create table label(uri varchar(4000), xnumber varchar(20), 
  label varchar(4000));

create table property(uri varchar(4000), xnumber varchar(20), 
  name varchar(4000), value varchar(4000), namespace varchar(4000), 
  type varchar(100), protected int);

create table revisioncontent(uri varchar(4000), xnumber varchar(20), 
  content long varbinary);

Microsoft SQL Server

EXEC sp_addtype N'uri', N'varchar (800)', N'not null'

create table objects(uri uri primary key, classname text);

create table children(uri uri, childuri uri);

create table links(link uri, linkto uri);

create table permissions(object uri, revisionnumber varchar(20), 
  subject uri, action uri, inheritable int, negative int);

create table locks(id uri, object uri, subject uri, type uri, 
  expirationdate varchar(15), inheritable int, xexclusive int);

create table revisions(uri uri primary key, 
  isversioned int, initialrevision varchar(10) );

create table workingrevision(uri uri, baserevision varchar(20), 
  xnumber varchar(20) );

create table latestrevisions(uri uri, branchname text, 
  xnumber varchar(20) );

create table branches(uri uri, xnumber varchar(20), 
  childnumber varchar(20) );

create table revision(uri uri, xnumber varchar(20), branchname text);

create table label(uri uri, xnumber varchar(20), label text);

create table property(uri uri, xnumber varchar(20), name text, value 
  text, namespace text, type varchar(100), protected int);

create table revisioncontent(uri uri, xnumber varchar(20), content image);


Copyright © 1999-2007, Apache Software Foundation
Translated into Japanese by Tetsuya Kitahata, powered by Terra-International Inc.
Original English Page would be found from HERE     --    ApacheNews    ASF プロジェクト一覧
Terra-International, Inc. -- テラ・インターナショナル
Special Thanks -- 【お問い合わせ/テキスト広告】