Data : Data may be any fact related to any object/entity which is in consideration. For example, your name, age etc. are the examples of some data related to you. A picture, image, file, pdf, etc can also be considered as data.Data may be simple and at the same time can be unorganized.Data is always interpreted, by a human or machine, to derive a meaning.
Information : Information is a collection of data which have some meaning.Information is processed, structured, or presented in a given context to make it meaningful and useful.It is processed data which includes data that may have some link, context, relevance, and purpose. It also involves manipulation of raw data.Information cerates some meaning and improves the reliability of the data.e.g. the Age of student is 18 years
Database : A database is an organized collection of structured information, or data, typically stored electronically in a computer system. e.g. Database of a School or College contains the data and/or information about the student,attendance and exaimnation details of the student.
Database File : Database file is a file which stores data and objects such as tables, indexes, stored procedures, and views.
Field : A database field which can store a single piece of information. e.g. 18 value,stored in database.
Record : A database record is a set of fields. e.g. Personal Information of a single student in the database.
DBMS(Database Management Systems) : A DBMS is computerized system which manages the database according to the user's requirement.
Primary Key : is a field or set of fields which uniquely indentifies the value from the given table/relation.There are two properties of Primary Key :1) should not be null and 2) should be unique.e.g. Student ID is the paimary key in Student information table because in ideal condition and at a time a student has always unique ID in the college/school.
Foreign Key : : is a field which references the primary key of some othere table/relation.There are two properties of Primary Key :1) It may be duplicated or null and 2) The possible value should be in range from the Primary Key value only.e.g. StudentID in student attendance table. where StudentID field references the StudentID field of StudentInfor table.
There are many different types of databases available. The best database for a specific organization depends on how the organization wants to use/save the data.Following are the types available.
Relational databases : Relational databases became dominant in the 1980s. Items in a relational database are organized as a set of tables with columns and rows. Relational database technology provides the most efficient and flexible way to access structured information. e.g. Oracle Databse,MySQL etc.
Object-oriented databases : Information in an object-oriented database is represented in the form of objects, as in object-oriented programming.e.g. IBM informix
Distributed databases : A distributed database consists of two or more files located in different sites. The database may be stored on multiple computers, located in the same physical location, or scattered over different networks.e.g. IBM Cloudant
Data warehouses : A central repository for data, a data warehouse is a type of database specifically designed for fast query and analysis.
NoSQL databases : A NoSQL, or nonrelational database, allows unstructured and semistructured data to be stored and manipulated (in contrast to a relational database, which defines how all data inserted into the database must be composed). NoSQL databases grew popular as web applications became more common and more complex.e.g. MongoDB,Firebase
Graph databases : A graph database stores data in terms of entities and the relationships between entities.e.g. Neo4j
OLTP databases : An OLTP database is a speedy, analytic database designed for large numbers of transactions performed by multiple users.
The databases can be divided further according to the technology point view :
Open source databases : An open source database system is one whose source code is open source; such databases could be SQL or NoSQL databases.
Cloud databases : A cloud database is a collection of data, either structured or unstructured, that resides on a private, public, or hybrid cloud computing platform. There are two types of cloud database models: traditional and database as a service (DBaaS). With DBaaS, administrative tasks and maintenance are performed by a service provider.
Multimodel databas : Multimodel databases combine different types of database models into a single, integrated back end. This means they can accommodate various data types.
Document/JSON database : Designed for storing, retrieving, and managing document-oriented information, document databases are a modern way to store data in JSON format rather than rows and columns.
Self-driving databases : The newest and most groundbreaking type of database, self-driving databases (also known as autonomous databases) are cloud-based and use machine learning to automate database tuning, security, backups, updates, and other routine management tasks traditionally performed by database administrators.
Data redundancy : Data redundancy refers to the duplication of data, lets say we are managing the data of a college where a student is enrolled for two courses, the same student details in such case will be stored twice, which will take more storage than needed. Data redundancy often leads to higher storage costs and poor access time.
Data inconsistency : Data redundancy leads to data inconsistency, lets take the same example that we have taken above, a student is enrolled for two courses and we have student address stored twice, now lets say student requests to change his address, if the address is changed at one place and not on all the records then this can lead to data inconsistency.
Data Isolation : Because data are scattered in various files, and files may be in different formats, writing new application programs to retrieve the appropriate data is difficult.
Dependency on application programs : Changing files would lead to change in application programs.
Atomicity issues : Atomicity of a transaction refers to “All or nothing”, which means either all the operations in a transaction executes or none.
For example: Lets say Steve transfers 100$ to Negan’s account. This transaction consists multiple operations such as debit 100$ from Steve’s account, credit 100$ to Negan’s account. Like any other device, a computer system can fail lets say it fails after first operation then in that case Steve’s account would have been debited by 100$ but the amount was not credited to Negan’s account, in such case the rollback of operation should occur to maintain the atomicity of transaction. It is difficult to achieve atomicity in file processing systems.
Data Security : Data should be secured from unauthorised access, for example a student in a college should not be able to see the payroll details of the teachers, such kind of security constraints are difficult to apply in file processing systems.
Advantage of DBMS over file system
There are several advantages of Database management system over file system. Few of them are as follows:
No redundant data : Redundancy removed by data normalization. No data duplication saves storage and improves access time.
Data Consistency and Integrity : As we discussed earlier the root cause of data inconsistency is data redundancy, since data normalization takes care of the data redundancy, data inconsistency also been taken care of as part of it
Data Security : It is easier to apply access constraints in database systems so that only authorized user is able to access the data. Each user has a different set of access thus data is secured from the issues such as identity theft, data leaks and misuse of data.
Privacy : Limited access means privacy of data.
Easy access to data : Database systems manages data in such a way so that the data is easily accessible with fast response times.
Easy recovery : Since database systems keeps the backup of data, it is easier to do a full recovery of data in case of a failure.
Flexible : Database systems are more flexible than file processing systems.
Disadvantages of DBMS :
Cost : DBMS implementation cost is high compared to the file system
Complexity : Database systems are complex to understand
Performance : Database systems are generic, making them suitable for various applications. However this feature affect their performance for some applications