DBMS – Collection of interrelated data and a set of programs to access those data.
Data Abstraction – Abstraction are the methods (levels) to simplify users’ interactions with the database system by hiding the complexities of actual data storage and access methodologies. There are three levels of Data Abstraction.
- Physical Level – The lowest level of abstraction describing how the data is actually stored. (example – file structure, data block structure, storing of values in those blocks etc.)
- Logical Level – The next higher level of abstraction describing what data are stored in the database and what relationships exist among those data. (example – Tables, their columns, relationship between tables etc.)
- View Level – The highest level of abstraction describing only part of the entire database and may consist of objects to provide the data to the user for interaction / interface. (example – views, synonyms, programs showing only account information of customers to a teller in a bank etc.)
Instance – Databases change over time as information is inserted or deleted or processed. The cache of information fetched from the database for carrying out these tasks at a particular moment is called an instance of the database.
Schema – The overall design of the database is called as database schema. (example – set of tables and related objects ). Schemas with reference to the physical level of abstraction may be called as Physical Schema. Schemas with reference to the logical level of abstraction may be called as Logical Schema. A database may also have several schemas at the view level abstraction sometimes called as subschemas.
Data Models – Conceptual tools for describing data, data relationships, data semantics and consistency constraints. A data model provides a way to describe the design of the database at the physical, logical and view level. It provides the means to exchange ideas of database structure between the developers and users of the database in the initial design stage. There are four data models –
- Relational Model – Relational model uses a collection of table to represent both data and relationships among those data. Most widely used model complying to most of currently available database systems.
- E – R model – The entity relationship data model is based on a perception of real world that consists of a collection of basic objects called entities and of relationships among those objects. An entity is a “thing” or “object” or an “idea” in the real world that is distinguishable from other objects.
- Object Based Data Model – This is an extension to the E-R model with notions of encapsulation, methods and object identity. This is an object oriented concept implemented in relational model.
- Semi-structured Data Model – Permits the use of tags as delimitation for data for example XML. The model is convenient when information is exchanged with external parties.
- Network Model – Data in network model are represented by collection of records and relationships among data are represented by links which can be viewed as pointers. The records in the database are organized as collections of arbitrary graphs.
- Hierarchical Model – Similar to network model in the sense that data and relationships among the data are represented by records and links with the difference that records are organized as collections of trees.
Data Independence – Data independence is the name given to ability to modify the schema without having any impact on the applications/programs which access the data. Two level of data independence –
- Physical data independence – ability to modify the physical schema without causing the application programs to be rewritten.
- Logical data independence – ability to modify the logical schema without causing impact on the application. However since the applications normally refer to the logical structures of the database, the logical data independence is difficult to achieve without the use of view level abstraction. However 100% independence is still not possible.