{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,12]],"date-time":"2026-03-12T12:22:12Z","timestamp":1773318132732,"version":"3.50.1"},"reference-count":12,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2020,8]]},"abstract":"<jats:p>In relational database management systems, views are rarely automatically updatable because of the inherent ambiguity of view updates. To allow view updates, database administrators have to decide and implement an update strategy that must be well-behaved with the view definition to guarantee consistency between the view and the underlying database. In this demonstration, we explore the development process of such view update strategies with the assistance of our framework, called BIRDS. BIRDS enables users to specify view update strategies declaratively using Datalog. BIRDS validates the well-behavedness of user-written update strategies, then optimizes and compiles them into SQL code run in PostgreSQL databases. BIRDS further explains the unexpected behavior of user-written Datalog programs using generated counterexamples, thereby assists users in correcting their programs. We demonstrate all the steps in developing view update strategies via an easy to use interface provided by our system.<\/jats:p>","DOI":"10.14778\/3415478.3415503","type":"journal-article","created":{"date-parts":[[2020,9,14]],"date-time":"2020-09-14T18:46:35Z","timestamp":1600109195000},"page":"2897-2900","source":"Crossref","is-referenced-by-count":2,"title":["BIRDS"],"prefix":"10.14778","volume":"13","author":[{"given":"Van-Dang","family":"Tran","sequence":"first","affiliation":[{"name":"The Graduate University for Advanced Studies, SOKENDAI, Japan and National Institute of Informatics, Japan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hiroyuki","family":"Kato","sequence":"additional","affiliation":[{"name":"National Institute of Informatics, Japan and The Graduate University for Advanced Studies, SOKENDAI, Japan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhenjiang","family":"Hu","sequence":"additional","affiliation":[{"name":"Peking University, China and National Institute of Informatics, Japan"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,8]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"PostgreSQL. https:\/\/www.postgresql.org."},{"key":"e_1_2_1_2_1","unstructured":"PostgreSQL 9.6.17 Documentation: CREATE VIEW. https:\/\/www.postgresql.org\/docs\/9.6\/sql-createview.html."},{"key":"e_1_2_1_3_1","unstructured":"The Racket programming language. racket-lang.org."},{"key":"e_1_2_1_4_1","unstructured":"Z3: Theorem Prover. https:\/\/z3prover.github.io."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/69.43410"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-02408-5_19"},{"key":"e_1_2_1_7_1","first-page":"368","volume-title":"VLDB","author":"Dayal U.","year":"1978","unstructured":"U. Dayal and P. A. Bernstein. On the updatability of relational views. In VLDB, pages 368--377, 1978."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/319732.319740"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11432-015-5316-8"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1232420.1232424"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509578.2509586"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.14778\/3377369.3377380"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3415478.3415503","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,9,17]],"date-time":"2025-09-17T02:34:32Z","timestamp":1758076472000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3415478.3415503"}},"subtitle":["programming view update strategies in datalog"],"short-title":[],"issued":{"date-parts":[[2020,8]]},"references-count":12,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2020,8]]}},"alternative-id":["10.14778\/3415478.3415503"],"URL":"https:\/\/doi.org\/10.14778\/3415478.3415503","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2020,8]]}}}