タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

sqlと入れ子区間モデルに関するk-holyのブックマーク (2)

  • 第6回 SQLで木構造を扱う~入れ子区間モデル (1)もしも無限の資源があったなら | gihyo.jp

    はじめに 前回では、入れ子集合モデルという、リレーショナルデータベースで木構造を扱うための新しい方法論を紹介しました。このモデルは、RDBSQLと親和性の高い優れたものではあるのですが、挿入など更新時に、無関係のノードまで変更対象としなければならないのが大きな難点でした。 そこで今回は、上記の欠点を解消する進化版のモデルを紹介します。この方法を理解していく過程で、私たちはRDBと集合論の結び付きの深さを再確認することになります。 ふだんこの連載は、1回完結の読み切り形式なのですが、今回に限り、前号の内容を前提としています。未読の方は、前号を先に読むと理解が増すでしょう。 稼働環境 すべてのリレーショナルデータベース もしも無限の資源があったなら 座標に整数のみを使う場合の限界 入れ子集合モデルの大きな欠点は、ノードを挿入(追加)するときに、自分より「右側」にある無関係なノードをもっと右へ

    第6回 SQLで木構造を扱う~入れ子区間モデル (1)もしも無限の資源があったなら | gihyo.jp
  • 入れ子区間モデルによる挿入と削除 - Tociyuki::Diary

    木構造を入れ子区間モデルで扱う方法のうち、挿入と削除をおこなう SQL 文を考えてみました。SQLite 3 でのみ動作検証しています。 ネタ元その1⇒「SQLアタマアカデミー:第6回 SQLで木構造を扱う〜入れ子区間モデル (1)もしも無限の資源があったなら |gihyo.jp … 技術評論社」 ネタ元その2⇒「SQLで木と階層構造のデータを扱う(1)―― 入れ子集合モデル」 テーブル作成 入れ子集合モデルの lft と rgt を INTEGER から REAL へ変更するだけです。 CREATE TABLE IF NOT EXISTS org ( person VARCHAR(32) PRIMARY KEY ,lft REAL NOT NULL ,rgt REAL NOT NULL ,CHECK (lft < rgt) ); CREATE INDEX IF NOT EXISTS or

    入れ子区間モデルによる挿入と削除 - Tociyuki::Diary
  • 1