Database and Database Management System

By Paribesh Sapkota

What is Database

The database is a collection of inter-related data which is used to retrieve, insert and delete the data efficiently. It is also used to organize the data in the form of a table, schema, views, and reports, etc.

Database Management System

  • Database management system is a software which is used to manage the database. For example: Mysql, Oracle, etc are a very popular commercial database which is used in different applications.
  • DBMS provides an interface to perform various operations like database creation, storing data in it, updating data, creating a table in the database and a lot more.
  • It provides protection and security to the database. In the case of multiple users, it also maintains data consistency.

DBMS allows users the following tasks:

  • Data Definition: It is used for creation, modification, and removal of definition that defines the organization of data in the database.
  • Data Updation: It is used for the insertion, modification, and deletion of the actual data in the database.
  • Data Retrieval: It is used to retrieve the data from the database which can be used by applications for various purposes.
  • User Administration: It is used for registering and monitoring users, maintain data integrity, enforcing data security, dealing with concurrency control, monitoring performance and recovering information corrupted by unexpected failure.

Characteristics of DBMS

  • It uses a digital repository established on a server to store and manage the information.
  • It can provide a clear and logical view of the process that manipulates data.
  • DBMS contains automatic backup and recovery procedures.
  • It contains ACID properties which maintain data in a healthy state in case of failure.
  • It can reduce the complex relationship between data.
  • It is used to support manipulation and processing of data.
  • It is used to provide security of data.
  • It can view the database from different viewpoints according to the requirements of the user.

 

Advantages of DBMS

  • Controls database redundancy: It can control data redundancy because it stores all the data in one single database file and that recorded data is placed in the database.
  • Data sharing: In DBMS, the authorized users of an organization can share the data among multiple users.
  • Easily Maintenance: It can be easily maintainable due to the centralized nature of the database system.
  • Reduce time: It reduces development time and maintenance need.
  • Backup: It provides backup and recovery subsystems which create automatic backup of data from hardware and software failures and restores the data if required.
  • multiple user interface: It provides different types of user interfaces like graphical user interfaces, application program interfaces

Disadvantages of DBMS

  • Cost of Hardware and Software: It requires a high speed of data processor and large memory size to run DBMS software.
  • Size: It occupies a large space of disks and large memory to run them efficiently.
  • Complexity: Database system creates additional complexity and requirements.
  • Higher impact of failure: Failure is highly impacted the database because in most of the organization, all the data stored in a single database and if the database is damaged due to electric failure or database corruption then the data may be lost forever.

Data Concepts and Characteristics:

  • Data: Raw facts and figures that are stored in a database.
  • Information: Processed and organized data that provides meaning and context.
  • Database Characteristics: Integrity (data accuracy and consistency), Security (controlled access), Independence (data and application independence), and Efficiency (optimized data retrieval and storage).

File System Approach

File based systems were an early attempt to computerize the manual system. It is also called a traditional based approach in which a decentralized approach was taken where each department stored and controlled its own data with the help of a data processing specialist. The main role of a data processing specialist was to create the necessary computer file structures, and also manage the data within structures and design some application programs that create reports based on file data.

DBMS:

A database approach is a well-organized collection of data that are related in a meaningful way which can be accessed by different users but stored only once in a system. The various operations performed by the DBMS system are: Insertion, deletion, selection, sorting etc.

 

Database models

Database models define the structure and organization of data within a database. Different models have evolved over time to address various data storage and retrieval needs. Here are some of the major database models:

  1. Hierarchical Model:
    • Structure: Organizes data in a tree-like structure, with parent-child relationships.
    • Representation: Each record has a single parent, except for the root record. Suitable for representing one-to-many relationships.
    • Example: IMS (Information Management System) is an example of a database system that uses the hierarchical model.
  2. Network Model:
    • Structure: Extends the hierarchical model by allowing each record to have multiple parent and child records.
    • Representation: Uses sets to represent many-to-many relationships more effectively.
    • Example: CODASYL (Conference on Data Systems Languages) databases were based on the network model.
  3. Relational Model:
    • Structure: Organizes data into tables with rows and columns.
    • Representation: Defines relationships between tables using keys, allowing for efficient querying and data retrieval.
    • Example: MySQL, PostgreSQL, and Oracle Database are popular relational database management systems (RDBMS) based on the relational model.
  4. Object-Oriented Model:
    • Structure: Represents data as objects, with attributes and methods.
    • Representation: Supports encapsulation, inheritance, and polymorphism, offering a more natural representation for certain types of data.
    • Example: Object-oriented databases like db4o and ObjectDB are designed based on this model.
  5. Entity-Relationship Model (ER Model):
    • Structure: Represents entities, their attributes, and the relationships between entities.
    • Representation: Uses diagrams to visually represent the structure of a database, making it easier to design and understand.
    • Example: ER diagrams are widely used in database design to model the relationships between entities.
  6. NoSQL Models:
    • Structure: Encompasses various non-relational database models that do not strictly adhere to the traditional relational model.
    • Types: Document-oriented (e.g., MongoDB), Key-value stores (e.g., Redis), Column-family stores (e.g., Apache Cassandra), and Graph databases (e.g., Neo4j).
    • Characteristics: NoSQL databases are designed to handle large volumes of unstructured or semi-structured data and often provide high scalability and flexibility.
  7. Graph Model:
    • Structure: Represents data as nodes, edges, and properties, making it suitable for data with complex relationships.
    • Representation: Well-suited for scenarios where the relationships between data elements are as important as the data itself.
    • Example: Neo4j is a popular graph database that uses the graph model.

DBMS Architecture

  • The DBMS design depends upon its architecture. The basic client/server architecture is used to deal with a large number of PCs, web servers, database servers and other components that are connected with networks.
  • The client/server architecture consists of many PCs and a workstation which are connected via the network.
  • DBMS architecture depends upon how users are connected to the database to get their request done.

Types of DBMS Architecture

Database architecture can be seen as a single tier or multi-tier. But logically, database architecture is of two types like: 2-tier architecture and 3-tier architecture.

1-Tier Architecture

  • In this architecture, the database is directly available to the user. It means the user can directly sit on the DBMS and uses it.
  • Any changes done here will directly be done on the database itself. It doesn’t provide a handy tool for end users.
  • The 1-Tier architecture is used for development of the local application, where programmers can directly communicate with the database for the quick response.

2-Tier Architecture

  • The 2-Tier architecture is same as basic client-server. In the two-tier architecture, applications on the client end can directly communicate with the database at the server side. For this interaction, API’s like: ODBCJDBC are used.
  • The user interfaces and application programs are run on the client-side.
  • The server side is responsible to provide the functionalities like: query processing and transaction management.
  • To communicate with the DBMS, client-side application establishes a connection with the server side.

3-Tier Architecture

  • The 3-Tier architecture contains another layer between the client and server. In this architecture, client can’t directly communicate with the server.
  • The application on the client-end interacts with an application server which further communicates with the database system.
  • End user has no idea about the existence of the database beyond the application server. The database also has no idea about any other user beyond the application.
  • The 3-Tier architecture is used in case of large web application.

Database applications

Database applications are software applications that interact with databases to perform various tasks, such as storing, retrieving, updating, and managing data. Databases play a crucial role in modern information systems, and their applications span across various domains. Here are some common types of database applications:

  1. Enterprise Resource Planning (ERP) Systems:
    • Purpose: Integrates and manages core business processes such as finance, human resources, and supply chain.
    • Example: SAP, Oracle ERP, Microsoft Dynamics.
  2. Customer Relationship Management (CRM) Systems:
    • Purpose: Manages interactions with customers, tracks sales leads, and facilitates customer communication.
    • Example: Salesforce, HubSpot CRM, Zoho CRM.
  3. Human Resource Management Systems (HRMS):
    • Purpose: Manages employee-related information, including payroll, benefits, attendance, and performance.
    • Example: Workday, BambooHR, ADP.
  4. Content Management Systems (CMS):
    • Purpose: Manages and organizes digital content, including documents, images, and multimedia.
    • Example: WordPress, Drupal, Joomla.
  5. E-commerce Platforms:
    • Purpose: Manages online product catalogs, orders, customer information, and inventory.
    • Example: Shopify, Magento, WooCommerce.
  6. Health Information Systems:
    • Purpose: Stores and manages patient records, medical history, and healthcare-related information.
    • Example: Epic Systems, Cerner, Allscripts.
  7. Banking and Finance Systems:
    • Purpose: Manages financial transactions, customer accounts, and regulatory compliance.
    • Example: Core banking systems, Bloomberg Terminal, T24.
  8. Geographic Information Systems (GIS):
    • Purpose: Stores and analyzes spatial and geographic data for mapping and decision-making.
    • Example: ArcGIS, QGIS, Google Maps API.
  9. Education Management Systems:
    • Purpose: Manages student records, schedules, grades, and educational resources.
    • Example: Blackboard, Canvas, Moodle.
  10. Supply Chain Management Systems:
    • Purpose: Tracks the movement of goods, manages inventory, and optimizes supply chain processes.
    • Example: Oracle SCM, SAP Integrated Business Planning, Kinaxis Rapid Response.

Cloud Databases:

A cloud database refers to a database service or system that is hosted and managed on a cloud computing platform. Instead of being hosted on-premises on dedicated hardware, a cloud database leverages the infrastructure and resources provided by cloud service providers. This approach offers several advantages, including scalability, flexibility, accessibility, and cost efficiency. Here are key aspects of cloud databases:

  1. Cloud Service Models:
    • Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet, allowing users to deploy and run applications. Users are responsible for managing the operating system, middleware, applications, and data.
    • Platform as a Service (PaaS): Offers a platform that includes infrastructure, development tools, and services. Users can focus on building and deploying applications without managing the underlying infrastructure.
    • Software as a Service (SaaS): Delivers applications over the internet as a service. Users access the software through a web browser without worrying about hardware, software, or maintenance.
  2. Characteristics of Cloud Databases:
    • Scalability: Cloud databases can easily scale horizontally or vertically to handle growing amounts of data or increased user demand. This scalability is achieved by adjusting resources such as CPU, storage, and memory.
    • Accessibility: Users can access cloud databases from anywhere with an internet connection, promoting collaboration and remote access.
    • Cost Efficiency: Cloud databases often operate on a pay-as-you-go model, allowing users to pay for the resources they consume. This can result in cost savings compared to traditional on-premises solutions.
    • Reliability and Availability: Cloud providers typically offer robust infrastructure with redundancy and backup mechanisms, ensuring high availability and data reliability.
    • Managed Services: Cloud database services often come with built-in management features, including automated backups, security protocols, and maintenance tasks, reducing the burden on users.
  3. Types of Cloud Databases:
    • Relational Cloud Databases: Offer traditional relational database management systems (RDBMS) as cloud services. Examples include Amazon RDS, Azure SQL Database, and Google Cloud SQL.
    • NoSQL Cloud Databases: Provide non-relational or NoSQL databases as cloud services. Examples include Amazon DynamoDB, Azure Cosmos DB, and Google Cloud Firestore.
    • Big Data and Analytics Databases: Cloud platforms also offer specialized databases for big data processing and analytics, such as Amazon Redshift, Azure Synapse Analytics, and Google BigQuery.
  4. Security Considerations:
    • Cloud database providers implement various security measures, including encryption, access controls, and regular security updates. However, users must also take responsibility for securing their data and applications.
  5. Popular Cloud Database Providers:
    • Amazon Web Services (AWS): Provides a wide range of cloud database services, including Amazon RDS, Amazon DynamoDB, and Amazon Aurora.
    • Microsoft Azure: Offers services such as Azure SQL Database, Cosmos DB, and Azure Database for MySQL and PostgreSQL.
    • Google Cloud Platform (GCP): Provides cloud database solutions like Cloud SQL, Cloud Firestore, and BigQuery.
Important Questions
Comments
Discussion
0 Comments
  Loading . . .