Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
20 views

Module 1 Overview of Database Systems – Managing Data – Historical Perspective

Uploaded by

saranyasingamani
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Module 1 Overview of Database Systems – Managing Data – Historical Perspective

Uploaded by

saranyasingamani
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Module 1

Overview of Database Systems – Managing Data – Historical


Perspective

Introduction
We are surrounded by data. Even our homes we deal with different kinds of data every day.
For instance, at home we have data related to income, and expenses such as electricity
charges, telephone/ mobile charges, grocery bills etc. Proper maintenance of these expenses
will increase the savings. Similarly, every organization is associated with data. For instance,
a retail company has data related to employees, purchase, and sales. The company has to
properly collect, process, store and disseminate data for its proper functioning. The functions
performed by a company depends on its nature and purpose and includes payroll, accounts
receivable and payable, sales reports and forecasts. A company must have accurate and
reliable data for effective decision making. For this, the company should maintain records of
its different operations with the help of appropriate models. The models will help in
identifying the relationship between data which is essential for appropriate decision making.

The collection of related data in any organization is called as database. For instance, in an
education institution the data related to students, faculty members, department, courses are
stored. The database is internally stored as relations with fields and records. The student
database is represented with the help of relations viz., students, faculty_members,
department, courses. The collection of these four relation is called ‘related collection’
because we can clearly see that there are some common attributes existing in any two
selected relations. Due to the common attributes the data in two or more relations can be
combined to find the complete details of a student. For example, the details of course name
and credits of courses undergone by a student can be found by combining the attributes
available in student and courses relations. The fields describe the relation. For instance, the
student relation may have fields such as student registration number, student name, enrolment
date, course undergoing, total credits, department. The attributes in a relation may belong to
different domains and may be of different data types. The columns in a relation represent the
fields or attribute. The rows in a relation represent the tuples or records.

In an education institution, there are different types of users who need different types of data
from the database. For instance, the student will be interested in the courses offered by a
department. The faculty members may be interested in finding out how many students have
opted for a particular course which is handled by him/ her. There has to be mechanism to
maintain the data and to retrieve the required data for a particular type of user. This function
is performed by a database system.
Relational Database Management System
A database system is an integrated collection of related data, along with details of the
interpretation of the data contained therein. A database management system (DBMS) is a
software system that allows access to data contained in a database. The objective of the
DBMS is to provide a convenient and effective method of defining, storing, and retrieving the
information contained in the database. The DBMS interfaces with application programs, so
that the data contained in the database can be used by multiple applications and users. By
data, we mean known facts that can be recorded and that have implicit meaning. The
management system is important because without the existence of some kind of rules and
regulations it is not possible to maintain the database. We have to select the particular
attributes which should be included in a particular table; the common attributes to create
relationship between two tables; if a new record has to be inserted or deleted then which
tables should have to be handled etc. These issues must be resolved by having some kind of
rules to follow in order to maintain the integrity of the database. Database systems are
designed to manage large bodies of information. Management of data involves both defining
structures for storage of information and providing mechanisms for the manipulation of
information. In addition, the database system must ensure the safety of the information
stored, despite system crashes or attempts at unauthorized access. If data are to be shared
among several users, the system must avoid possible anomalous results. Because information
is so important in most organizations, computer scientists have developed a large body of
concepts and techniques for managing data.

A Relational Database Management System (RDBMS) is a type of database management


system that organizes data into tables with rows and columns. The data in these tables is
related to each other based on common attributes, creating a structured and efficient way to
store and retrieve information. The relational model, introduced by E.F. Codd in 1970, forms
the basis for RDBMS.

Key characteristics of an RDBMS include:


1. Tables: Data is organized into tables, which consist of rows and columns. Each row
represents a record, and each column represents an attribute or field.
2. Relationships: Tables can be related to each other through common fields, known as
keys. Primary keys uniquely identify each record in a table, and foreign keys establish
relationships between tables.
3. Data Integrity: RDBMS ensures data integrity through constraints such as primary
key constraints, foreign key constraints, and unique constraints. These constraints
help maintain the accuracy and consistency of the data.
4. SQL (Structured Query Language): RDBMS uses SQL for defining and
manipulating the data. SQL provides a standardized way to interact with the database,
allowing users to perform operations like querying, updating, inserting, and deleting
data.
5. Normalization: The process of normalization is applied to reduce data redundancy
and dependency by organizing the data in such a way that ensures atomicity,
consistency, isolation, and durability (ACID properties).
6. ACID Properties: RDBMS follows the ACID properties, which stand for Atomicity,
Consistency, Isolation, and Durability. These properties ensure that database
transactions are reliable and maintain data integrity.
There are several popular Relational Database Management Systems (RDBMS) that are
widely used in various applications. Here are some examples:
1. MySQL: MySQL is an open-source RDBMS known for its speed and reliability. It is
commonly used in web applications and is the default database system for many
content management systems (CMS) like WordPress.
2. Oracle Database: Oracle Database is a powerful and feature-rich commercial
RDBMS developed by Oracle Corporation. It is widely used in enterprise-level
applications and supports large-scale databases.
3. Microsoft SQL Server: Developed by Microsoft, SQL Server is a popular RDBMS
that integrates well with Microsoft's ecosystem. It is often used in enterprise
environments for business applications, data warehousing, and analytics.
4. PostgreSQL: PostgreSQL is an open-source object-relational database system known
for its extensibility and support for advanced data types. It is commonly used in web
applications, GIS (Geographic Information System), and data warehousing.
5. SQLite: SQLite is a lightweight, embedded RDBMS that is self-contained and
doesn't require a separate server process. It is often used in mobile applications,
embedded systems, and desktop software.
6. IBM Db2: Db2, developed by IBM, is a family of data management products that
includes RDBMS solutions. It is used in enterprise applications and supports both
OLAP (Online Analytical Processing) and OLTP (Online Transaction Processing)
workloads.
7. MariaDB: MariaDB is an open-source RDBMS developed by the original developers
of MySQL. It aims to maintain compatibility with MySQL while also adding new
features and improvements.
8. MS Access: Microsoft Access is a desktop database management system that is part
of the Microsoft Office suite. It is commonly used for small to medium-sized projects
and is known for its ease of use.
9. Amazon Aurora: Amazon Aurora is a cloud-based RDBMS offered by Amazon
Web Services (AWS). It is compatible with MySQL and PostgreSQL and is designed
for high performance, scalability, and reliability in the cloud.
10. SQLite: SQLite is a self-contained, serverless, and zero-configuration database
engine. It is often used in embedded systems, mobile applications, and small-scale
projects.
These examples represent a mix of open-source and commercial RDBMS options, each with
its own strengths and use cases. The choice of an RDBMS depends on factors such as project
requirements, scalability needs, budget, and other specific considerations.
RDBMS is widely used in various applications and industries to manage and organize
structured data efficiently.

Relational Database Management Systems (RDBMS) are widely used across various
industries and applications due to their ability to efficiently manage and organize structured
data. Some common applications of RDBMS include:
1. Enterprise Resource Planning (ERP) Systems: RDBMS is often used in ERP
systems to centralize and manage data related to different business processes, such as
finance, human resources, inventory, and supply chain.
2. Customer Relationship Management (CRM): CRM systems utilize RDBMS to
store and manage customer-related data, such as contact information, interactions,
purchase history, and customer preferences.
3. Human Resources Management Systems (HRMS): RDBMS is employed in HRMS
to store employee information, payroll data, attendance records, and other HR-related
information.
4. Financial Systems: RDBMS is crucial in financial applications for managing
accounting data, transactions, budgeting, and financial reporting.
5. Healthcare Information Systems: Electronic Health Records (EHR) and other
healthcare information systems use RDBMS to store and manage patient data,
medical records, treatment history, and other healthcare-related information.
6. E-commerce Platforms: Online stores and e-commerce platforms use RDBMS to
manage product catalogs, customer orders, payment information, and inventory.
7. Supply Chain Management: RDBMS is employed in supply chain management
systems to track and manage inventory, orders, shipping details, and supplier
information.
8. Telecommunications Systems: RDBMS is used in telecommunications for managing
subscriber data, call records, billing information, and network configurations.
9. Educational Systems: Educational institutions use RDBMS to manage student
records, grades, course schedules, and other academic information.
10. Content Management Systems (CMS): Many CMS platforms use RDBMS to store
and retrieve content, user data, and other information related to websites and digital
content.
11. Government and Public Sector: Government agencies use RDBMS to manage
citizen records, permits, licenses, and other administrative data.
12. Data Warehousing: RDBMS is often employed in data warehousing solutions for
organizing and analyzing large volumes of data for business intelligence and decision-
making purposes.
These examples demonstrate the versatility and wide-ranging applications of RDBMS in
managing and organizing data efficiently across different domains and industries.

Managing Data using RDBMS


Relational Database Management Systems (RDBMS) are used to manage data in a structured
and organized manner. Here's a step-by-step explanation of how RDBMS is typically used to
manage data:
1. Database Design:
 Define the data model: Identify the entities, attributes, and relationships that
need to be represented in the database. This involves creating a conceptual
data model.
 Normalize the data: Apply normalization techniques to organize the data
efficiently, eliminate redundancy, and reduce data anomalies.
 Create tables: Based on the data model, create tables to store different types of
information. Each table corresponds to an entity in the data model.
2. Table Creation and Schema Definition:
 Specify data types: Define the data types for each column in the tables (e.g.,
text, integer, date).
 Set constraints: Establish constraints such as primary keys, foreign keys,
unique constraints, and check constraints to maintain data integrity.
3. Data Entry (Insert):
 Use SQL (Structured Query Language) to insert data into the tables.
 Follow the rules and constraints defined during the database design to ensure
the accuracy and consistency of the data.
4. Data Retrieval (Select):
 Use SQL queries to retrieve data from one or more tables based on specific
criteria.
 Leverage relational operations (e.g., joins, projections) to combine and filter
data as needed.
5. Data Updating (Update):
 Use SQL UPDATE statements to modify existing data in the tables.
 Ensure that updates adhere to constraints and do not violate data integrity.
6. Data Deletion (Delete):
 Use SQL DELETE statements to remove data from the tables.
 Cascading delete and other constraints can be used to manage relationships
between tables during deletion.
7. Query Optimization:
 Optimize SQL queries for better performance using indexing, query hints, and
other optimization techniques.
 Analyze and monitor query performance to identify and address bottlenecks.
8. Transaction Management:
 Group related operations into transactions to ensure the ACID properties
(Atomicity, Consistency, Isolation, Durability) are maintained.
 Use transactions to ensure that a series of operations either complete
successfully or leave the database in a consistent state.
9. Backup and Recovery:
 Regularly back up the database to prevent data loss in case of hardware
failures, human errors, or other unforeseen events.
 Implement recovery mechanisms to restore the database to a consistent state
after a failure.
10. Security and Access Control:
 Implement user authentication and authorization mechanisms to control access
to the database.
 Define roles and permissions to restrict users' ability to perform specific
operations on the data.
RDBMS provides a systematic and efficient way to manage data, ensuring data integrity,
consistency, and security throughout the database lifecycle. The use of SQL as a standardized
query language facilitates communication with the database and allows for effective data
manipulation and retrieval.

Historical Perspective

The evolution of Database Management Systems (DBMS) encompasses various models,


architectures, and technologies that have developed over time to address changing
requirements and technological advancements. Here's a broad overview of the evolution of
DBMS:
1. Hierarchical and Network Models - 1960s:
 In the early days, hierarchical and network models were prevalent. These
models represented data in tree-like or graph structures.
 Examples include IMS (Information Management System) and CODASYL
database systems.
2. Relational Model - 1970s:
Here is an overview of the major milestones in the evolution of RDBMS:
1. Foundation - 1970s:
 The concept of relational databases was introduced by Dr. E.F. Codd in his
seminal paper "A Relational Model of Data for Large Shared Data Banks"
published in 1970.
 The theoretical foundation of the relational model included the use of tables,
primary keys, foreign keys, and the concept of normalization.
2. System R - 1970s:
 IBM's System R project, initiated in the 1970s, was one of the first practical
implementations of a relational database system.
 It introduced concepts like SQL (Structured Query Language) for interacting
with databases.
3. Ingres - 1970s:
 The Ingres database system, developed at the University of California,
Berkeley, in the 1970s, was one of the earliest commercially available
RDBMS.
4. Oracle - 1979:
 Oracle Corporation, founded in 1977, released its first commercial relational
database management system, Oracle Database, in 1979.
 Oracle became a leader in the RDBMS market and continues to be a major
player today.
5. IBM Db2 - 1983:
 IBM released Db2 (Database 2) in 1983, which became a widely used
RDBMS in enterprise environments.
6. SQL Standardization - 1980s:
 SQL, the standardized query language for relational databases, underwent
standardization efforts during the 1980s, leading to a more consistent and
widely adopted language across RDBMS platforms.
7. Microsoft SQL Server - 1989:
 Microsoft released the first version of SQL Server in 1989, initially as a
Sybase-based product. Over time, it evolved into a separate product and
gained popularity in Windows-based environments.
8. MySQL - 1995:
 MySQL, an open-source RDBMS, was released in 1995. It gained popularity
for its ease of use, speed, and cost-effectiveness, particularly in web
application development.
9. PostgreSQL - 1996:
 PostgreSQL, another open-source RDBMS, was first released in 1996. It is
known for its extensibility, support for advanced data types, and adherence to
SQL standards.
10. SQLite - 2000:
 SQLite, a lightweight and self-contained RDBMS, was introduced in 2000. It
is widely used in embedded systems, mobile applications, and small-scale
projects.
The evolution of RDBMS has been characterized by ongoing advancements, standardization
efforts, the rise of open-source options, and adaptation to changing technology landscapes.
The continued development and integration of relational databases with emerging
technologies, such as cloud computing and big data analytics, ensure their relevance in
contemporary data management.
3. SQL and Commercialization - 1980s:
 SQL (Structured Query Language) emerged as the standard language for
interacting with relational databases.
 Commercial relational database management systems like Oracle, IBM Db2,
and Microsoft SQL Server gained popularity.
4. Object-Oriented Databases - 1980s-1990s:
 Object-oriented databases (OODBMS) emerged to handle complex data types
and relationships. These databases stored objects and classes directly.
 Examples include ObjectStore and ObjectDB.
5. Client-Server Architecture - 1980s-1990s:
 The client-server architecture became popular, with databases separating into
server components responsible for data storage and management and client
components for user interfaces.
 This architecture enhanced scalability and distributed computing.
6. Distributed Databases - 1990s:
 Distributed databases allowed data to be distributed across multiple locations
and managed by a centralized control system.
 Oracle Parallel Server and Microsoft SQL Server distributed databases are
examples.
7. Data Warehousing - 1990s:
 Data warehousing solutions evolved to support the consolidation of data from
multiple sources for business intelligence and reporting.
 Online Analytical Processing (OLAP) databases, such as Microsoft Analysis
Services, became popular.
8. Web Databases - Late 1990s-2000s:
 As the internet gained prominence, databases adapted to support web
applications and e-commerce.
 MySQL, PostgreSQL, and Microsoft SQL Server were widely used for web-
based applications.
9. NoSQL Movement - 2000s-2010s:
 The NoSQL movement emerged to address the challenges of handling large
volumes of unstructured or semi-structured data.
 NoSQL databases like MongoDB, Cassandra, and CouchDB offered
alternatives to traditional relational databases.
10. NewSQL - 2010s:
 NewSQL databases aimed to provide the benefits of traditional RDBMS with
improved scalability and performance for distributed architectures.
 Examples include Google Spanner and CockroachDB.
11. Cloud Databases - 2010s:
 Cloud-based database services, such as Amazon RDS, Google Cloud SQL,
and Microsoft Azure SQL Database, became popular, offering scalable and
managed database solutions in the cloud.
12. Graph Databases - 2010s:
 Graph databases, like Neo4j, gained traction for handling highly connected
data by representing relationships as first-class entities.
13. Blockchain and Decentralized Databases - 2010s:
 Blockchain technology introduced decentralized and distributed databases,
emphasizing security and immutability of data.
 Examples include Ethereum and Hyperledger Fabric.
The evolution of DBMS reflects the dynamic nature of information management, responding
to technological advancements, changing application requirements, and the growth of data in
terms of volume and complexity. Today, the landscape includes a diverse set of databases
catering to different use cases, ranging from traditional relational databases to NoSQL,
NewSQL, and specialized databases for specific data models.

You might also like