A collection of programs that enables information to be stored in, modified, and extracted from a database. There are many different types of DBMSs, ranging from small systems that run on personal computers to huge systems that run on mainframes. From a technical standpoint, the systems can differ widely. The terms relational, network, flat, and hierarchical all refer to the way a DBMS organizes information internally (see database model). This internal organization affects how quickly and flexibly the information can be extracted when the DBMS processes requests for information from a database. The requests are made in the form of a query, which is a stylized question (see database query).