A database model determines the logical structure of a database and determines in which manner data can be stored, organized and manipulated on a fundamental basis. before the databases are designed, the only way to store data was are in file storage, which increases the complexity as programmers had to go to great lengths to extract the data, and their programs had to perform complex parsing and relating.
There are various languages like Perl process the text in an easier manner due to its powerful regular expressions. However, accessing the data from files is still a complex task. There is no standard way to access data due to which systems are more prone to errors, are slower to develop, and are more difficult to maintain. there is a problem of Data redundancy (where data is duplicated unnecessarily) and poor data integrity (where data is not changed in all locations, leading to wrong or outdated data being supplied).
To solve such problems, database management systems (DBMSs) were developed which provides a standard and reliable way to access and update data. There is an intermediary layer between the application and the data, and the programmer can concentrate on developing the application, rather than worrying about data access issues.
Therefore, we can define a database model as a logical model which is concerned with how the data is represented. the database designers look after a higher, more conceptual level rather than being worry about the physical storage of data, reducing the gap between the real-world problem for which the application is being developed and the technical implementation.
A data model is used for organizing data elements and to standardize the relationship between data elements. Since data elements are used to document real life people, places and things and the events between them represents reality, for example, a building has many windows, or a dog has two eyes. A model helps in structuring the data, along with that it also defines a set of operations that can be performed on the data. A given DBMS may provide more than one models. The best structure depends on the application's data natural organization, and on the requirements of concerned applications, some of the various factors are −
THE FLAT (OR TABLE) MODEL is most conventional and simple data model, which consists of a single, two-dimensional array of data elements, in which all members of a given column represents similar values, and all members of a row represent relations to one another. For example, columns are used for name and password that are a part of a system security database. Each row contains specific password associated with a specific user. Columns of the table contain a type which defines a character data, date or time information, integers, or floating-point numbers.
Now we can say that a flat file database is a database which stored an ordinary unstructured file also known as a "flat file". The file gets entirely stored into the computer's memory so that to access the data structure and its manipulation on a computer system becomes easy. After the database operations get completed the file gets out of the computer system and transferred to the host's file system. This story mode is said to be "flat” because it has no indexing structure and there are usually no structural relationships between the records.
This flat model suits best for the small, simple databases. As the size of data grows, the memory access becomes difficult and requires more sophisticated databases. A list of names, contact number, address, a city which is written by hand is a flat file database, If the same information gets recorded on a spreadsheet then it can be used online for improved search capabilities. One can also transfer the data by using a flat file database model
The following example illustrates the basic elements of a flat-file database. It consists of a series of columns and rows organized into a table.
The columns include the name (a person's name, second column); team (the name of an athletic team supported by the person, third column); and a numeric unique ID, (used to uniquely identify records, first column).
The following type of data representation is quite standard for a flat-file database −
| 101 || Abhinav|| Blues|
| 102 || Aditya|| Blues|
| 103 || Anjali || Pink|
| 104 || Bhavna|| Pink|
| 105 || Charu || Pink|
| 106 || Divy || Blues|
| 107 || Disha|| Pink|
| 108 || Eashan || Blues|
| 109 || Gauri|| Pink|