実行結果 (titlelist.html)

(linkによる実行結果)

クエリtitles.sqlを実行すると映画タイトルのリストが生成されます。あるタイトルを選択すると映画のidを引数としてfilm.sqlが実行されます。この方法で、データベース表現図で描かれているクエリーのネットワークは、ハイパーリンクが選択されたときに呼び出されます。全体の構造のなかで他動な閉鎖領域については計算せずに、制限のないナビゲーションを実行することができます。関連するノードだけが要求に応じて実行されます。

クエリ
titles.sql

GENERATE HTML [ 
  "In-Theater Movies"@{align=center,fontsize=5}!
  [ invoke(f.title@{align=center}, 
           filename="DEMO/invoke/queries_new/film.sql", 
           condition="f.id="+f.id)
  ]!
]!
FROM	film_e f, act a
WHERE	a.film = f.id
film.sql

GENERATE HTML
  [ f.title@{fontsize=7,width=400,align=center}!
   { imagefile(f.pict, path="/ssql/DEMO/invoke/img/film")
     @{align="center"},
     {
       { "Director"@{width=40}, f.dir@{width=200} }!
       { "Starring"@{width=40},
         [ invoke(actor.name,
                  filename="DEMO/invoke/queries_new/actor.sql",
                  condition="actor.id="+actor.id)
         ]!@{width=200}
       }!
       { "Running"@{width=40}, f.length@{width=200} }!
       { invoke("Theaters"@{width=40},
                filename="DEMO/invoke/queries_new/cinema.sql",
                condition="f.id="+f.id) }
     }!
     f.story@{width=470}
   }
  ]!
FROM	film_e f, actor_e actor, act a
WHERE	a.film = f.id
AND	a.actor = actor.id
actor.sql

GENERATE HTML
  [ imagefile(actor.pict, path="/ssql/DEMO/invoke/img/actor")
    @{alien="center"},
    { actor.name@{fontsize=5}!
      { "Birthday", actor.birthday }!
      { "Biography"! actor.biography@{width=400} }!
      { "Act",
        [ invoke(f.title, 
                 filename="DEMO/invoke/queries_new/film.sql",
                 condition="f.id="+f.id)
        ]!
      }
    }
  ]!
FROM          actor_e actor, act a, film_e f
WHERE         actor.id = a.actor
and	      a.film = f.id
theater.sql

GENERATE HTML
  [ t.name@{fontsize=5}!
    { t.tel, t.addr }!
    imagefile(t.map, path="/ssql/DEMO/invoke/img/theater")@{alien=center}!
    [ invoke(f.title,
             filename="DEMO/invoke/queries_new/film.sql",
             condition="f.id="+f.id),
      s.timetab@{fontsize=3}
    ]!
  ]!
FROM          theater_e t, film_e f, show_e s, town_e town
WHERE         s.film = f.id
and	      s.theater = t.id
and	      t.town = town.id
;

town.sql

GENERATE HTML
  [ town.name@{fontsize=5}!
    imagefile(town.map, path="/ssql/DEMO/invoke/img/town")@{alien=center}!
    [
      invoke(t.name,
             filename="DEMO/invoke/queries_new/theater.sql",
             condition="t.id="+t.id),
      t.tel,t.addr
    ]!
  ]!
FROM          town_e town, theater_e t
WHERE         t.town = town.id


SuperSQL Group<ssql@db.ics.keio.ac.jp>
Department of Information and Computer Science
Keio University, Japan