Database

context: A database management system (DBMS) is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Sybase, SAP HANA, and IBM DB2. A database is not generally portable across different DBMSs, but different DBMS can interoperate by using standards such as SQL and ODBC or JDBC to allow a single application to work with more than one DBMS. Database management systems are often classified according to the database model that they support; the most popular database systems since the 1980s have all supported the relational model as represented by the SQL language.[disputed – discuss] Sometimes a DBMS is loosely referred to as a 'database'.
qas: answers: text: database management system
question: What does DBMS stand for?

answers: text: to allow the definition, creation, querying, update, and administration of databases
question: What is the purpose of a DBMS?

answers: text: SQL language
question: What is the most popular DBMS?

answers: text: according to the database model that they support
question: How are DBMSs classified?

context: Formally, a "database" refers to a set of related data and the way it is organized. Access to these data is usually provided by a "database management system" (DBMS) consisting of an integrated set of computer software that allows users to interact with one or more databases and provides access to all of the data contained in the database (although restrictions may exist that limit access to particular data). The DBMS provides various functions that allow entry, storage and retrieval of large quantities of information and provides ways to manage how that information is organized.
qas: answers: text: by a "database management system" (DBMS)
question: How is data accessed?

answers: text: large quantities
question: How much data can a DBMS store?

answers: text: an integrated set of computer software
question: A DBMS consists of what?

context: Physically, database servers are dedicated computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with generous memory and RAID disk arrays used for stable storage. RAID is used for recovery of data if any of the disks fail. Hardware database accelerators, connected to one or more servers via a high-speed channel, are also used in large volume transaction processing environments. DBMSs are found at the heart of most database applications. DBMSs may be built around a custom multitasking kernel with built-in networking support, but modern DBMSs typically rely on a standard operating system to provide these functions. from databases before the inception of Structured Query Language (SQL). The data recovered was disparate, redundant and disorderly, since there was no proper method to fetch it and arrange it in a concrete structure.[citation needed]
qas: answers: text: DBMSs
question: What do most database applications contain?

answers: text: RAID
question: What is used to recover data if disks suffer a failure?

answers: text: Hardware database accelerators
question: How can large quantities of data be accessed?

answers: text: standard operating system
question: What is required for a modern DBMS to function?

context: A DBMS has evolved into a complex software system and its development typically requires thousands of human years of development effort.[a] Some general-purpose DBMSs such as Adabas, Oracle and DB2 have been undergoing upgrades since the 1970s. General-purpose DBMSs aim to meet the needs of as many applications as possible, which adds to the complexity. However, the fact that their development cost can be spread over a large number of users means that they are often the most cost-effective approach. However, a general-purpose DBMS is not always the optimal solution: in some cases a general-purpose DBMS may introduce unnecessary overhead. Therefore, there are many examples of systems that use special-purpose databases. A common example is an email system that performs many of the functions of a general-purpose DBMS such as the insertion and deletion of messages composed of various items of data or associating messages with a particular email address; but these functions are limited to what is required to handle email and don't provide the user with all of the functionality that would be available using a general-purpose DBMS.
qas: answers: text: thousands of human years
question: How long can it take to create a DBMS?

answers: text: Adabas, Oracle and DB2
question: Name three DBMSs that have been used since the 1970s.

answers: text: spread over a large number of users
question: How is the cost to create a DBMS distributed?

answers: text: an email system
question: Name an example of a general-purpose DBMS.

context: Many other databases have application software that accesses the database on behalf of end-users, without exposing the DBMS interface directly. Application programmers may use a wire protocol directly, or more likely through an application programming interface. Database designers and database administrators interact with the DBMS through dedicated interfaces to build and maintain the applications' databases, and thus need some more knowledge and understanding about how DBMSs operate and the DBMSs' external interfaces and tuning parameters.
qas: answers: text: application software
question: How are many databases accessed?

answers: text: through dedicated interfaces
question: How do administrators work with the DBMS?

answers: text: wire protocol
question: What is a way for programmers to use the DBMS?

context: The relational model, first proposed in 1970 by Edgar F. Codd, departed from this tradition by insisting that applications should search for data by content, rather than by following links. The relational model employs sets of ledger-style tables, each used for a different type of entity. Only in the mid-1980s did computing hardware become powerful enough to allow the wide deployment of relational systems (DBMSs plus applications). By the early 1990s, however, relational systems dominated in all large-scale data processing applications, and as of 2015[update] they remain dominant : IBM DB2, Oracle, MySQL and Microsoft SQL Server are the top DBMS. The dominant database language, standardised SQL for the relational model, has influenced database languages for other data models.[citation needed]
qas: answers: text: Edgar F. Codd
question: Who created the relational model of DBMS?

answers: text: by content
question: Instead of using links, how was information found in a relational model?

answers: text: 1980s
question: In what decade did computer hardware become able to handle a relational system?

answers: text: relational systems
question: What type of system in still prominent to this day?

answers: text: SQL
question: What database language is the most prominent?

context: As computers grew in speed and capability, a number of general-purpose database systems emerged; by the mid-1960s a number of such systems had come into commercial use. Interest in a standard began to grow, and Charles Bachman, author of one such product, the Integrated Data Store (IDS), founded the "Database Task Group" within CODASYL, the group responsible for the creation and standardization of COBOL. In 1971 the Database Task Group delivered their standard, which generally became known as the "CODASYL approach", and soon a number of commercial products based on this approach entered the market.
qas: answers: text: Interest in a standard
question: Why was COBOL created?

answers: text: mid-1960s
question: When were DBMSs first used commercially?

answers: text: 1971
question: When was the standard protocol completed?

answers: text: Database Task Group
question: What group discovered COBOL?

answers: text: CODASYL approach
question: What was the standard protocol called?

context: IBM also had their own DBMS in 1966, known as Information Management System (IMS). IMS was a development of software written for the Apollo program on the System/360. IMS was generally similar in concept to CODASYL, but used a strict hierarchy for its model of data navigation instead of CODASYL's network model. Both concepts later became known as navigational databases due to the way data was accessed, and Bachman's 1973 Turing Award presentation was The Programmer as Navigator. IMS is classified[by whom?] as a hierarchical database. IDMS and Cincom Systems' TOTAL database are classified as network databases. IMS remains in use as of 2014[update].
qas: answers: text: Information Management System (IMS)
question: What was the DBMS created by IBM called?

answers: text: the Apollo program
question: What was the purpose of the IBM DBMS?

answers: text: hierarchical database
question: What is the classification of IMS?

answers: text: The Programmer as Navigator
question: What was the name of Bachman's Turing Award presentation in 1973?

context: In this paper, he described a new system for storing and working with large databases. Instead of records being stored in some sort of linked list of free-form records as in CODASYL, Codd's idea was to use a "table" of fixed-length records, with each table used for a different type of entity. A linked-list system would be very inefficient when storing "sparse" databases where some of the data for any one record could be left empty. The relational model solved this by splitting the data into a series of normalized tables (or relations), with optional elements being moved out of the main table to where they would take up room only if needed. Data may be freely inserted, deleted and edited in these tables, with the DBMS doing whatever maintenance needed to present a table view to the application/user.
qas: answers: text: Codd
question: Who proposed using a table to store data?

answers: text: A linked-list system
question: How is data accessed in a table?

answers: text: relational
question: What model solved the problem of databases where information was missing?

answers: text: DBMS
question: What system assists a user in seeing a table?

context: The relational model also allowed the content of the database to evolve without constant rewriting of links and pointers. The relational part comes from entities referencing other entities in what is known as one-to-many relationship, like a traditional hierarchical model, and many-to-many relationship, like a navigational (network) model. Thus, a relational model can express both hierarchical and navigational models, as well as its native tabular model, allowing for pure or combined modeling in terms of these three models, as the application requires.
qas: answers: text: without constant rewriting of links and pointers
question: How was the relational model able to improve over time?

answers: text: one-to-many
question: What is the relationship called in a hierarchical model?

answers: text: many-to-many
question: What is the relationship called in a navigational model?

answers: text: tabular
question: What is a third type of model that can be combined with heirarchical and navigation models?

context: For instance, a common use of a database system is to track information about users, their name, login information, various addresses and phone numbers. In the navigational approach all of this data would be placed in a single record, and unused items would simply not be placed in the database. In the relational approach, the data would be normalized into a user table, an address table and a phone number table (for instance). Records would be created in these optional tables only if the address or phone numbers were actually provided.
qas: answers: text: in a single record
question: How is information stored in a navigational system?

answers: text: to track information about users
question: How is a database system frequently used?

answers: text: normalized into a user table
question: How is information stored in a relational system?

answers: text: not be placed in the database
question: What happens to blank data fields in a navigational system?

context: Linking the information back together is the key to this system. In the relational model, some bit of information was used as a "key", uniquely defining a particular record. When information was being collected about a user, information stored in the optional tables would be found by searching for this key. For instance, if the login name of a user is unique, addresses and phone numbers for that user would be recorded with the login name as its key. This simple "re-linking" of related data back into a single collection is something that traditional computer languages are not designed for.
qas: answers: text: uniquely defining a particular record
question: What is a key used for?

answers: text: re-linking
question: What technique is used to collect into one place?

answers: text: a "key"
question: How is information accessed in a relational model?

answers: text: by searching for this key
question: How is data in an optional table accessed?

context: Just as the navigational approach would require programs to loop in order to collect records, the relational approach would require loops to collect information about any one record. Codd's solution to the necessary looping was a set-oriented language, a suggestion that would later spawn the ubiquitous SQL. Using a branch of mathematics known as tuple calculus, he demonstrated that such a system could support all the operations of normal databases (inserting, updating etc.) as well as providing a simple system for finding and returning sets of data in a single operation.
qas: answers: text: require programs to loop
question: How does a program collect information using a navigational system?

answers: text: a set-oriented language
question: What is used to solve the problem of looping?

answers: text: SQL
question: What computer language came about as a result of the looping problem?

answers: text: tuple calculus
question: What type of math was used to create a system to find data sets?

answers: text: Codd
question: Who used tuple calculus to show the functionality of databases?

context: Codd's paper was picked up by two people at Berkeley, Eugene Wong and Michael Stonebraker. They started a project known as INGRES using funding that had already been allocated for a geographical database project and student programmers to produce code. Beginning in 1973, INGRES delivered its first test products which were generally ready for widespread use in 1979. INGRES was similar to System R in a number of ways, including the use of a "language" for data access, known as QUEL. Over time, INGRES moved to the emerging SQL standard.
qas: answers: text: Eugene Wong and Michael Stonebraker
question: Who used Codd's paper at Berkeley to improve a geographical database?

answers: text: INGRES
question: What was the name of the project to create a geographical database?

answers: text: 1973
question: When was INGRES first tested?

answers: text: QUEL
question: What computer language was used in INGRES to access data?

answers: text: INGRES moved to the emerging SQL standard
question: Is QUEL still used to access data in INGRES?

context: Another approach to hardware support for database management was ICL's CAFS accelerator, a hardware disk controller with programmable search capabilities. In the long term, these efforts were generally unsuccessful because specialized database machines could not keep pace with the rapid development and progress of general-purpose computers. Thus most database systems nowadays are software systems running on general-purpose hardware, using general-purpose computer data storage. However this idea is still pursued for certain applications by some companies like Netezza and Oracle (Exadata).
qas: answers: text: a hardware disk controller with programmable search capabilities
question: What is a CAFS accelerator?

answers: text: efforts were generally unsuccessful
question: Did the CAFS accelerator work as planned?

answers: text: general-purpose hardware
question: How are today's database systems run?

answers: text: Netezza and Oracle (Exadata)
question: Name a company that is still working on the CAFS accellerator?

context: IBM started working on a prototype system loosely based on Codd's concepts as System R in the early 1970s. The first version was ready in 1974/5, and work then started on multi-table systems in which the data could be split so that all of the data for a record (some of which is optional) did not have to be stored in a single large "chunk". Subsequent multi-user versions were tested by customers in 1978 and 1979, by which time a standardized query language – SQL[citation needed] – had been added. Codd's ideas were establishing themselves as both workable and superior to CODASYL, pushing IBM to develop a true production version of System R, known as SQL/DS, and, later, Database 2 (DB2).
qas: answers: text: System R
question: What is the system IBM created using Codd's research?

answers: text: 1974/5
question: When was IBM's system released?

answers: text: multi-table systems
question: What did System R work on to change the way data was stored?

answers: text: SQL
question: When customers first tested IBM's system, what computer language had been added? 

answers: text: SQL/DS, and, later, Database 2 (DB2)
question: What was the name of the database product created by IBM?

context: The 1980s ushered in the age of desktop computing. The new computers empowered their users with spreadsheets like Lotus 1-2-3 and database software like dBASE. The dBASE product was lightweight and easy for any computer user to understand out of the box. C. Wayne Ratliff the creator of dBASE stated: "dBASE was different from programs like BASIC, C, FORTRAN, and COBOL in that a lot of the dirty work had already been done. The data manipulation is done by dBASE instead of by the user, so the user can concentrate on what he is doing, rather than having to mess with the dirty details of opening, reading, and closing files, and managing space allocation." dBASE was one of the top selling software titles in the 1980s and early 1990s.
qas: answers: text: C. Wayne Ratliff
question: Who created dBASE?

answers: text: data manipulation is done by dBASE
question: Why was dBASE unique?

answers: text: lightweight and easy for any computer user to understand out of the box
question: Why was dBASE successful?

answers: text: managing space allocation
question: What is a benefit of using dBASE?

context: The 1990s, along with a rise in object-oriented programming, saw a growth in how data in various databases were handled. Programmers and designers began to treat the data in their databases as objects. That is to say that if a person's data were in a database, that person's attributes, such as their address, phone number, and age, were now considered to belong to that person instead of being extraneous data. This allows for relations between data to be relations to objects and their attributes and not to individual fields. The term "object-relational impedance mismatch" described the inconvenience of translating between programmed objects and database tables. Object databases and object-relational databases attempt to solve this problem by providing an object-oriented language (sometimes as extensions to SQL) that programmers can use as alternative to purely relational SQL. On the programming side, libraries known as object-relational mappings (ORMs) attempt to solve the same problem.
qas: answers: text: object-oriented
question: In the 1990s, what type of programming changed the handling of databases?

answers: text: object-relational impedance mismatch
question: What term is used for the difficulty in database table and programmed object translation?

answers: text: object-oriented language
question: How is the problem of object-relational impedance mismatch corrected?

answers: text: object-relational mappings (ORMs)
question: What is the library programmers use to solve object-relational impedance mismatch?

context: 
XML databases are a type of structured document-oriented database that allows querying based on XML document attributes. XML databases are mostly used in enterprise database management, where XML is being used as the machine-to-machine data interoperability standard. XML database management systems include commercial software MarkLogic and Oracle Berkeley DB XML, and a free use software Clusterpoint Distributed XML/JSON Database. All are enterprise software database platforms and support industry standard ACID-compliant transaction processing with strong database consistency characteristics and high level of database security.
qas: answers: text: structured document-oriented database
question: What kind of database is XML?

answers: text: enterprise database management
question: Where are XML databases frequently used?

answers: text: ACID-compliant transaction processing
question: What type of processing is used in enterprise database software?

answers: text: machine-to-machine data
question: How is XML used in enterprise database management?

context: In recent years there was a high demand for massively distributed databases with high partition tolerance but according to the CAP theorem it is impossible for a distributed system to simultaneously provide consistency, availability and partition tolerance guarantees. A distributed system can satisfy any two of these guarantees at the same time, but not all three. For that reason many NoSQL databases are using what is called eventual consistency to provide both availability and partition tolerance guarantees with a reduced level of data consistency.
qas: answers: text: eventual consistency
question: What is used to offer a balance in guarantees?

answers: text: the CAP theorem
question: What explains the difficulty in a system containing availability, consistency, and partition tolerance guarantees?

answers: text: two
question: How many guarantees will most databases tolerate?

context: The first task of a database designer is to produce a conceptual data model that reflects the structure of the information to be held in the database. A common approach to this is to develop an entity-relationship model, often with the aid of drawing tools. Another popular approach is the Unified Modeling Language. A successful data model will accurately reflect the possible state of the external world being modeled: for example, if people can have more than one phone number, it will allow this information to be captured. Designing a good conceptual data model requires a good understanding of the application domain; it typically involves asking deep questions about the things of interest to an organisation, like "can a customer also be a supplier?", or "if a product is sold with two different forms of packaging, are those the same product or different products?", or "if a plane flies from New York to Dubai via Frankfurt, is that one flight or two (or maybe even three)?". The answers to these questions establish definitions of the terminology used for entities (customers, products, flights, flight segments) and their relationships and attributes.
qas: answers: text: reflects the structure of the information to be held
question: What should a conceptual data model do?

answers: text: accurately reflect the possible state of the external world being modeled
question: What makes a successful data model?

answers: text: definitions of the terminology used for entities
question: Asking questions about an organization's needs will help to create what?

answers: text: the application domain
question: What must one understand in order to create a successful data model?

context: Having produced a conceptual data model that users are happy with, the next stage is to translate this into a schema that implements the relevant data structures within the database. This process is often called logical database design, and the output is a logical data model expressed in the form of a schema. Whereas the conceptual data model is (in theory at least) independent of the choice of database technology, the logical data model will be expressed in terms of a particular database model supported by the chosen DBMS. (The terms data model and database model are often used interchangeably, but in this article we use data model for the design of a specific database, and database model for the modelling notation used to express that design.)
qas: answers: text: database technology
question: A conceptual data model in separate from the choice of what?

answers: text: schema
question: In what form is the output of a logical database design?

answers: text: logical
question: Which data model is displayed as a specific model that uses DBMS?

context: The final stage of database design is to make the decisions that affect performance, scalability, recovery, security, and the like. This is often called physical database design. A key goal during this stage is data independence, meaning that the decisions made for performance optimization purposes should be invisible to end-users and applications. Physical design is driven mainly by performance requirements, and requires a good knowledge of the expected workload and access patterns, and a deep understanding of the features offered by the chosen DBMS.
qas: answers: text: performance, scalability, recovery, security
question: What decisions must be made in the last stage of database design?

answers: text: data independence
question: What is an important goal in in this final stage?

answers: text: Physical design
question: What factor is reflected in performance requirements?

context: While there is typically only one conceptual (or logical) and physical (or internal) view of the data, there can be any number of different external views. This allows users to see database information in a more business-related way rather than from a technical, processing viewpoint. For example, a financial department of a company needs the payment details of all employees as part of the company's expenses, but does not need details about employees that are the interest of the human resources department. Thus different departments need different views of the company's database.
qas: answers: text: one
question: How many conceptual or physical views of data are there?

answers: text: any number
question: How many different external views of data are there?

answers: text: see database information in a more business-related way
question: What is the benefit of external views of data?

context: The conceptual view provides a level of indirection between internal and external. On one hand it provides a common view of the database, independent of different external view structures, and on the other hand it abstracts away details of how the data are stored or managed (internal level). In principle every level, and even every external view, can be presented by a different data model. In practice usually a given DBMS uses the same data model for both the external and the conceptual levels (e.g., relational model). The internal level, which is hidden inside the DBMS and depends on its implementation, requires a different level of detail and uses its own types of data structure types.
qas: answers: text: a level of indirection between internal and external
question: What does the conceptual view offer?

answers: text: abstracts away details
question: How does the conceptual view handle how data is managed?

answers: text: common
question: What type of view does the conceptual view offer?

context: Database storage is the container of the physical materialization of a database. It comprises the internal (physical) level in the database architecture. It also contains all the information needed (e.g., metadata, "data about the data", and internal data structures) to reconstruct the conceptual level and external level from the internal level when needed. Putting data into permanent storage is generally the responsibility of the database engine a.k.a. "storage engine". Though typically accessed by a DBMS through the underlying operating system (and often utilizing the operating systems' file systems as intermediates for storage layout), storage properties and configuration setting are extremely important for the efficient operation of the DBMS, and thus are closely maintained by database administrators. A DBMS, while in operation, always has its database residing in several types of storage (e.g., memory and external storage). The database data and the additional needed information, possibly in very large amounts, are coded into bits. Data typically reside in the storage in structures that look completely different from the way the data look in the conceptual and external levels, but in ways that attempt to optimize (the best possible) these levels' reconstruction when needed by users and programs, as well as for computing additional types of needed information from the data (e.g., when querying the database).
qas: answers: text: database engine
question: What is responsible for putting information into permanent storage?

answers: text: storage properties and configuration setting
question: What do database administrators closely monitor?

answers: text: physical materialization of a database
question: What is database storage?

answers: text: several types of storage
question: While working, does DBMS store information in one place?

answers: text: bits
question: What are huge quantities of information stored as?

context: Database access control deals with controlling who (a person or a certain computer program) is allowed to access what information in the database. The information may comprise specific database objects (e.g., record types, specific records, data structures), certain computations over certain objects (e.g., query types, or specific queries), or utilizing specific access paths to the former (e.g., using specific indexes or other data structures to access information). Database access controls are set by special authorized (by the database owner) personnel that uses dedicated protected security DBMS interfaces.
qas: answers: text: who (a person or a certain computer program) is allowed to access what information
question: What does database access limit?

answers: text: record types, specific records, data structures
question: What are examples of database objects?

answers: text: special authorized (by the database owner) personnel
question: Who sets database access?

context: This may be managed directly on an individual basis, or by the assignment of individuals and privileges to groups, or (in the most elaborate models) through the assignment of individuals and groups to roles which are then granted entitlements. Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called "subschemas". For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data. If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases.
qas: answers: text: unauthorized users from viewing or updating the database
question: What does data security avoid?

answers: text: subschemas
question: What is a subset of a database called that can be accessed by using a password?

answers: text: managing personal databases
question: What is possible when a DBMS interrogate and update a database?

context: Database transactions can be used to introduce some level of fault tolerance and data integrity after recovery from a crash. A database transaction is a unit of work, typically encapsulating a number of operations over a database (e.g., reading a database object, writing, acquiring lock, etc.), an abstraction supported in database and also other systems. Each transaction has well defined boundaries in terms of which program/code executions are included in that transaction (determined by the transaction's programmer via special transaction commands).
qas: answers: text: transaction
question: What is a unit of work called in a database?

answers: text: Each transaction has well defined boundaries
question: Are transactions limited?

answers: text: fault tolerance
question: How can database transactions ensure accuracy after a crash?

context: A database built with one DBMS is not portable to another DBMS (i.e., the other DBMS cannot run it). However, in some situations it is desirable to move, migrate a database from one DBMS to another. The reasons are primarily economical (different DBMSs may have different total costs of ownership or TCOs), functional, and operational (different DBMSs may have different capabilities). The migration involves the database's transformation from one DBMS type to another. The transformation should maintain (if possible) the database related application (i.e., all related application programs) intact. Thus, the database's conceptual and external architectural levels should be maintained in the transformation. It may be desired that also some aspects of the architecture internal level are maintained. A complex or large database migration may be a complicated and costly (one-time) project by itself, which should be factored into the decision to migrate. This in spite of the fact that tools may exist to help migration between specific DBMSs. Typically a DBMS vendor provides tools to help importing databases from other popular DBMSs.
qas: answers: text: primarily economical
question: Why would someone attempt to unite two different databases?

answers: text: database related application
question: In order to merge, what must the database maintain?

answers: text: conceptual and external architectural levels
question: What are the important parts of the database related application that should be moved?

answers: text: vendor provides tools
question: How can a DBMS database migration be made easier?

answers: text: ano
question: Can a DBMS be transfered to a different DBMS?

context: Sometimes it is desired to bring a database back to a previous state (for many reasons, e.g., cases when the database is found corrupted due to a software error, or if it has been updated with erroneous data). To achieve this a backup operation is done occasionally or continuously, where each desired database state (i.e., the values of its data and their embedding in database's data structures) is kept within dedicated backup files (many techniques exist to do this effectively). When this state is needed, i.e., when it is decided by a database administrator to bring the database back to this state (e.g., by specifying this state by a desired point in time when the database was in this state), these files are utilized to restore that state.
qas: answers: text: database is found corrupted
question: Name a reason to take a database backward in time?

answers: text: dedicated backup files
question: Is each database backup kept in the same file?

answers: text: database administrator
question: Who can restore a database that has been corrupted?

answers: text: desired point in time
question: What parameter is requiret to restore a database?

context: Static analysis techniques for software verification can be applied also in the scenario of query languages. In particular, the *Abstract interpretation framework has been extended to the field of query languages for relational databases as a way to support sound approximation techniques. The semantics of query languages can be tuned according to suitable abstractions of the concrete domain of data. The abstraction of relational database system has many interesting applications, in particular, for security purposes, such as fine grained access control, watermarking, etc.
qas: answers: text: software verification
question: How can static analysis be useful with query languages?

answers: text: sound approximation techniques
question: What do query languages support in abstract interpretation frameworks?

answers: text: watermarking
question: What is a security measure that uses a relational database system?

answers: text: according to suitable abstractions of the concrete domain of data
question: Can query languages be adjusted?