{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:27:21Z","timestamp":1761611241108},"reference-count":10,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[2009,3,4]],"date-time":"2009-03-04T00:00:00Z","timestamp":1236124800000},"content-version":"unspecified","delay-in-days":5390,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Struct. Comp. Sci."],"published-print":{"date-parts":[[1994,6]]},"abstract":"<jats:p>We propose a formalization of standard database management systems using topos theory. In this treatment, all constructions take place within an ambient topos, which thereby serves as the \u2018universe of discourse\u2019. A database schema is defined using objects and morphisms in the ambient topos. A database state for a given schema involves not only the ambient topos but also an internal category within the topos. This approach neatly separates the schema from the state data by placing them in distinct category structures. It is shown that database states can either be regarded syntactically as objects in an external topos or semantically as morphisms in an internal slice category. A number of operations are introduced that correspond to operations used in standard database systems. Extraction selects some of the tables, attributes and domains of a database state. The squeeze operation performs an \u2018elimination of duplicates\u2019, which can be combined with extraction to obtain an operation called \u2018projection\u2019 in standard relational database systems. A join operation is defined, which generalizes the relational join operation and can be used for the cartesian product and selection operations. Finally, \u2018boolean\u2019 operations of intersection, union and difference are introduced and related to the other operations.<\/jats:p>","DOI":"10.1017\/s0960129500000426","type":"journal-article","created":{"date-parts":[[2009,3,4]],"date-time":"2009-03-04T09:01:15Z","timestamp":1236157275000},"page":"147-183","source":"Crossref","is-referenced-by-count":12,"title":["A categorical approach to database semantics"],"prefix":"10.1017","volume":"4","author":[{"given":"Kenneth","family":"Baclawski","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dan","family":"Simovici","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"William","family":"White","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"56","published-online":{"date-parts":[[2009,3,4]]},"reference":[{"key":"S0960129500000426_ref002","volume-title":"Category Theory for Computing Science","author":"Barr","year":"1990"},{"key":"S0960129500000426_ref007","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-9839-7"},{"key":"S0960129500000426_ref001","volume-title":"Categories, Types, and Structures","author":"Asperti","year":"1991"},{"key":"S0960129500000426_ref003","doi-asserted-by":"publisher","DOI":"10.1017\/S0004972700044828"},{"key":"S0960129500000426_ref010","volume-title":"Data Models, Database Languages and Database Management Systems","author":"Vossen","year":"1991"},{"key":"S0960129500000426_ref005","volume-title":"Database Technology","author":"Hughes","year":"1988"},{"key":"S0960129500000426_ref004","volume-title":"Topoi - The Categorical Analysis of Logic","author":"Goldblatt","year":"1979"},{"key":"S0960129500000426_ref006","volume-title":"Topos Theory","author":"Johnstone","year":"1977"},{"key":"S0960129500000426_ref008","first-page":"269","article-title":"Nested relational structures","volume":"3","author":"Thomas","year":"1986","journal-title":"Advances in Computing Research"},{"key":"S0960129500000426_ref009","volume-title":"Principles of Database and Knowledge-Base Systems","author":"Ullman","year":"1988"}],"container-title":["Mathematical Structures in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0960129500000426","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,15]],"date-time":"2019-05-15T03:49:34Z","timestamp":1557892174000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0960129500000426\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,6]]},"references-count":10,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1994,6]]}},"alternative-id":["S0960129500000426"],"URL":"https:\/\/doi.org\/10.1017\/s0960129500000426","relation":{},"ISSN":["0960-1295","1469-8072"],"issn-type":[{"value":"0960-1295","type":"print"},{"value":"1469-8072","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,6]]}}}