一所懸命に手抜きする

デスクワークばかりのスポーツ嫌いで50歳も過ぎ、いよいよ足腰に衰えを感じつつある昨今。

AS/400表名や列名は英数字でも、カタログには日本語による列名やコメント等が登録できるじゃないか。

関係データベースf:id:a_habakiri:20161229134725p:plain:w4

AS/400のご先祖からRDBMS,SQLの活用が始まった

 AS400のご先祖様である System R はRDBMSの先駆けでした。

System Rは、1970年代にIBM San Jose Research(現在の IBM Almaden Research Center)での研究プロジェクトで開発されたデータベースシステム。 System R は独創的なプロジェクトであった。後に関係データベースのクエリ言語として標準となったSQL言語を初めて実装したシステムである。また、RDBMSの高いトランザクション処理性能を世に示した初めてのシステムでもある。 https://ja.wikipedia.org/wiki/System_R

古いだけに制約も

 先駆的な System R の血脈を受け継ぐ通称AS/400はそれだけに制約もあります。例えば、AS/400は列名が英数8文字という節約が長く続いてきたため、パッと見では表や列の内容がわからないことが多く、日本語を含む長い文字列による説明の項目がほしいところです。実際、そのような日本語対応の記述項目も設けられるなど対応がなされています。

RDBMSのカタログ

 RDBMS(リレーショナルデータベース管理システム)の機能にはカタログというものが存在します。そこには表の構造の定義情報や権限に関わる情報が一元的に管理されています。日本語のコメントや項目説明などが記載可能な列の情報もその中に含まれています。

RDBへの操作はカタログされる

 SQLに限らず、RDB(リレーショナルデータベース)に対して操作を行った場合にはカタログに登録・変更がなされます。

AS/400DB2

 たとえば、AS/400DB2では CREATE TABLE 等で表を作成すると、表に関する情報が SYSTABLES に、列に関する情報は SYSCOLUMNS に格納されます。

SQL操作 格納情報 内容 DB2での表名
CREATE TABLE 表情報 ライブラリ名・表名・作成者名・列数など SYSTABLES
CREATE TABLE 列情報 表名・列名・データ型・列別名・キー情報など SYSCOLUMNS
CREATE INDEX 索引情報 表名・索引名など SYSINDEXES
CREATE VIEW ビュー情報 ファイル名・SELECT文など SYSVIEWS
GRANT 権限情報 表名・許可されているユーザーなど SYSTABAUTH

 DB2の場合、QSYS2に格納された SYSTABLES や SYSCOLUMNS などの表をまとめてカタログと呼んでいます。
(参考)IBM Knowledge Center  DB2 catalog - MidrangeWiki

カタログを参考にすべし

 日本語情報を探るだけでなく、特権ユーザーなど重要な情報が詰まっているのがカタログです。大いに参考になります。
 日本語対応とは言っても登録してなければ日本語記述をユーザーは得られません。当たり前ですが。