To be able to successfully design and maintain database we have to do the following:
1) Identify which part of the word’s data is of interest to us.
2) Identify what specific objects in that part of the word’s data are of interest to us.
3) Identify a relationship between the objects.
Software houses took up the challenge of designing a system that would help users in managing data in a database. These systems were called Database Management Systems (DBMS). Some of the DBMS developed by software houses were Oracle, Ingress, Sybase, etc. Let us look at Oracle as a Database Management System (DBMS).
Type of database
For any RDBMS to be accepted as a full-fledged RDBMS, it has to follow the twelve codd’s rules. There is a number of products called RDBMSs attempting to meet all the 12 codd’s rule. But, all the 12 rules have not been satisfied until now by any RDBMS. ORACLE, a popular RDBMS is not 100% relational, also does not obey all codd’s rule.
An overview of Databases and Instance
Two basic concepts have to be understood in order to make any sense out of the ORACLE architecture: database and instance.
Database is a set of data. Since ORACLE is an RDBMS, data in the database is stored in tables. ORACLE database stores its data in files. Internally there are database structures that provide a logical mapping of data files, allowing different type of data to be stored separately. These logical divisions are called Table spaces.
A table space is a logical division of a database. Each database has at least one table space (called the SYSTEM Table space). Other table space may be used to group user or applications together for ease of maintenance and for performance benefits. A table space cab belongs to only one database.
Each table space is constituted of one or more files, called data files, on a disk. A data file can belong to one and only one table space.
In order to access the data in database, ORACLE uses a set of background process that is shared by all users. In addition, there are memory structures that are used to store most recently required data from database.