From http://en.wikipedia.org/wiki/Extension_(semantics)#Computer_science
In computer science, some database textbooks use the term ‘intension’ to refer to the schema of a database, and ‘extension’ to refer to particular instances of a database.
does a “particular instance of a database” mean
- a database,
or - a tuple of a relational database, for a relational database viewed as a relation in mathematics?
Thanks.
2
The way that I’ve seen “instance” used, at least in business contexts, is a deployment of a given database (schema + data). For example, I might say “this report is dangerous, because it is going against the master instance and may be slow; it should use the reporting instance.” Or you might have “five instances of the testing database” on your staging servers.
I have seen that term mostly used in an Oracle context. From the Oracle docs:
A database instance is a set of memory structures that manage database
files. A database is a set of physical files on disk created by the
CREATE DATABASE statement. The instance manages its associated data
and serves the users of the database.
So in that context, the term database means simply the files holding the schema and the actual data, while database instance refers to the server processes and the related memory structures which actually manage those files.
Microsoft, for example, uses the term “instance” for “a copy of the sqlservr.exe executable that runs as an operating system service”, so the meaning is very similar, though in that context one instance can manage multiple databases.
I am not sure if other vendors use the terms exactly in one of the above meanings, but I would not be too surprised.
In general, a database instance describes a complete database environment, including the RDBMS
software, table structure, stored procedures and other functionality. Database administrators might create multiple instances of the same database for different purposes.