KEMBAR78
Week I | PDF | Databases | No Sql
0% found this document useful (0 votes)
5 views6 pages

Week I

The document provides an overview of database systems, including their purpose, types, and roles in real-world applications. It contrasts file-based systems with database management systems (DBMS), highlighting advantages such as data integrity, security, and efficient querying. Various types of databases are discussed, including relational, NoSQL, and cloud databases, emphasizing their significance in sectors like business, healthcare, and education.

Uploaded by

maturay345
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views6 pages

Week I

The document provides an overview of database systems, including their purpose, types, and roles in real-world applications. It contrasts file-based systems with database management systems (DBMS), highlighting advantages such as data integrity, security, and efficient querying. Various types of databases are discussed, including relational, NoSQL, and cloud databases, emphasizing their significance in sectors like business, healthcare, and education.

Uploaded by

maturay345
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

1|Pa g e W K O N E D ATA B A S E

Week 1: Introduction to Database Systems

 Course overview and DBMS introduction


 File-Based Systems vs Databases.
 Types of Databases
 Roles of Databases in Real-World Applications

Course overview and DBMS introduction

A database system is a collection of interrelated data and a set of programs that allow users to
access and modify these data. A major purpose of a database system is to provide users with an
abstract view of the data. That is, the system hides certain details of how the data are stored and
maintained. The collection of data, usually referred to as the database, contains information
relevant to an enterprise. The primary goal of a DBMS is to provide a way to store and retrieve
database information that is both convenient and efficient. 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.
The earliest database systems arose in the 1960s in response to the computerized management of
commercial data. Those earlier applications were relatively simple compared to modern database
applications. Modern applications include highly sophisticated, worldwide enterprises. All
database applications, old and new, share important common elements. The central aspect of the
application is not a program performing some calculation, but rather the data themselves. Today,
some of the most valuable corporations are valuable not because of their physical assets, but
rather because of the information they own. Imagine a bank without its data on accounts and
customers or a social-network site that loses the connections among its users. Such companies’
value would be almost totally lost under such circumstances.
Database systems are used to manage collections of data that:
• are highly valuable,
• are relatively large, and
• are accessed by multiple users and applications, often at the same time.
The first database applications had only simple, precisely formatted, structured data. Today,
database applications may include data with complex relationships and a more variable structure.
As an example of an application with structured data, consider a university’s records regarding
courses, students, and course registration. The university keeps the same type of information
about each course: course-identifier, title, department, course number, etc., and similarly for
students: student-identifier, name, ad dress, phone, etc. Course registration is a collection of
pairs: one course identifier and one student identifier. Information of this sort has a standard,
2|Pa g e W K O N E D ATA B A S E

repeating structure and is representative of the type of database applications that go back to the
1960s. Contrast this simple university database application with a social-networking site. Users
of the site post varying types of information about themselves ranging from simple items such as
name or date of birth, to complex posts consisting of text, images, videos, and links to other
users. There is only a limited amount of common structure among these data. Both of these
applications, however, share the basic features of a database.
Modern database systems exploit commonalities in the structure of data to gain efficiency but
also allow for weakly structured data and for data whose formats are highly variable. As a result,
a database system isa large, complex software system whose task is to manage a large, complex
collection of data. Managing complexity is challenging, not only in the management of data but
in any domain. Key to the management of complexity is the concept of abstraction. Abstraction
allows a person to use a complex device or system without having to know the details of how
that device or system is constructed. A person is able, for example, to drive a car by knowing
how to operate its controls. However, the driver does not need to know how the motor was built
nor how it operates. All the driver needs to know is an abstraction of what the motor does.
Similarly, for a large, complex collection of data, a database system provides a simpler, abstract
view of the information so that users and application programmers do not need to be aware of the
underlying details of how data are stored and organized. By providing a high level of abstraction,
a database system makes it possible for an enterprise to combine data of various types into a
unified repository of the information needed to run the enterprise. Here are some representative
applications:
Enterprise Information
Sales: For customer, product, and purchase information
Accounting: For payments, receipts, account balances, assets, and other accounting information.
Human resources: For information about employees, salaries, payroll taxes, and benefits, and
for generation of paychecks.
Manufacturing: For management of the supply chain and for tracking production of items in
factories, inventories of items in warehouses and stores, and orders for items.
Banking and Finance
Banking: For customer information, accounts, loans, and banking transactions.
Credit card transactions: For purchases on credit cards and generation of monthly statements.
Finance: For storing information about holdings, sales, and purchases of financial instruments
such as stocks and bonds; also, for storing real-time market data to enable online trading by
customers and automated trading by the firm.
Universities: For student information, course registrations, and grades (in addition to standard
enterprise information such as human resources and accounting).
3|Pa g e W K O N E D ATA B A S E

Airlines: For reservations and schedule information. Airlines were among the first to use
databases in a geographically distributed manner.
Telecommunication: For keeping records of calls, texts, and data usage, generating monthly
bills, maintaining balances on prepaid calling cards, and storing information about the
communication networks.
Web-based services
Social media: For keeping records of users, connections between users (such as friend/follows
information), posts made by users, rating/like information about posts, etc.
Online retailers: For keeping records of sales data and orders as for any retailer, but also for
tracking a user’s product views, search terms, etc., for the purpose of identifying the best items to
recommend to that user.
Online advertisements: For keeping records of click history to enable targeted advertisements,
product suggestions, news articles, etc. People access such databases every time they do a web
search, make an online purchase, or access a social-networking site.
Document databases: For maintaining collections of new articles, patents, published research
papers, etc.
Navigation systems: For maintaining the locations of varies places of interest along with the
exact routes of roads, train systems, buses, etc.

File-Based Systems Versus Database

A database is an organized collection of data that can be easily accessed, managed, and updated.
It is typically controlled by a Database Management System (DBMS), which serves as an
interface between the users and the data. In contrast, a file-based system involves storing data in
files, often without centralized control or a standardized structure. While both systems are used
to store information, databases offer several advantages over traditional file-based systems in
terms of efficiency, scalability, and functionality.

File-based systems involve storing data in files without the use of a DBMS. While this approach
may seem straightforward, it has significant limitations compared to modern database systems.

Data Redundancy and Inconsistency: In file-based systems, the same data might be duplicated
across multiple files, leading to redundancy. Changes in one file may not reflect in others,
causing inconsistency. Databases eliminate this problem by centralizing data and enforcing
constraints like unique keys.

Data Integrity and Security: Databases provide mechanisms to ensure data accuracy and
protect against unauthorized access through user authentication and roles. File-based systems
lack such built-in integrity and security features, making them less reliable.
4|Pa g e W K O N E D ATA B A S E

Data Access and Querying: File-based systems require custom programs to retrieve or
manipulate data, which can be inefficient and error-prone. In contrast, databases allow
sophisticated querying using languages like SQL, enabling faster and more flexible data
retrieval.

Concurrency Control: Databases support multiple users accessing and modifying data
simultaneously without conflicts, thanks to transaction management. File-based systems often
lack concurrency controls, leading to data corruption in multi-user environments.

Scalability and Performance: Modern databases are designed to handle large volumes of data
efficiently and scale horizontally or vertically as needed. File-based systems become
cumbersome and inefficient with increasing data size.

Data Relationships and Structure: File-based systems struggle to represent complex


relationships between data elements. Databases, especially relational ones, excel at defining and
managing interrelated data through normalization and foreign key constraints.

Backup and Recovery: Databases offer robust mechanisms for automated backups and
recovery, ensuring data safety. File-based systems often rely on manual backups, which can be
error-prone and time-consuming.

Types of Databases

Databases can be classified based on their structure, purpose, and use cases. Below is an
explanation of the major types of databases:

Relational Databases (RDBMS): Relational databases organize data into tables (rows and
columns) with relationships established between tables using primary and foreign keys. SQL
(Structured Query Language) is the standard language for interacting with relational databases.
Examples include MySQL, PostgreSQL, and Oracle Database. These databases are widely used
in applications requiring complex querying and transactional operations.

NoSQL Databases: NoSQL databases are designed for unstructured or semi-structured data and
offer greater flexibility than relational databases. They are suitable for handling large volumes of
data with high velocity. Categories of NoSQL databases include:

o Document Stores (e.g., MongoDB): Store data as JSON-like documents.


o Key-Value Stores (e.g., Redis): Use simple key-value pairs.
o Column-Family Stores (e.g., Apache Cassandra): Organize data by columns
instead of rows.
o Graph Databases (e.g., Neo4j): Represent data as nodes and relationships, ideal
for analyzing interconnected data.

Hierarchical Databases: These databases structure data in a tree-like format, with parent-child
relationships between records. They are used in legacy systems and applications like IBM's
Information Management System (IMS).
5|Pa g e W K O N E D ATA B A S E

Network Databases: Network databases use a graph structure with many-to-many relationships,
offering more flexibility than hierarchical models. These are less common today but were
historically significant.

Object-Oriented Databases (OODBMS): Object-oriented databases store data as objects,


similar to the object-oriented programming paradigm. They are useful for applications with
complex data structures, such as multimedia systems and CAD software.

Distributed Databases: A distributed database is spread across multiple physical locations,


either on different servers or regions. These databases are designed for scalability and fault
tolerance. Examples include Google Spanner and Amazon DynamoDB.

Cloud Databases: Cloud databases are hosted on cloud platforms and provide benefits like
scalability, cost efficiency, and easy integration with other cloud services. Examples include
Google BigQuery and Amazon RDS.

Time-Series Databases: These are specialized databases optimized for time-stamped data, such
as sensor readings or financial market data. Examples include InfluxDB and TimescaleDB.

Roles of Databases in Real-World Applications

Databases play a vital role in real-world applications by serving as the backbone of data
management across various industries. They enable efficient storage, retrieval, and manipulation
of data, ensuring reliability and accessibility for decision-making and operations. In business,
databases support customer relationship management, inventory tracking, and financial
transactions, facilitating seamless operations and data-driven strategies. In healthcare, databases
are essential for maintaining electronic health records, managing patient information, and
supporting research through data analysis. Educational institutions rely on databases for
managing student records, grades, and learning management systems, ensuring organized
academic processes.

In government, databases support public administration through the management of citizen


information, tax records, and public services, enhancing transparency and efficiency. The
banking and finance sector uses databases to manage accounts, process transactions, and prevent
fraud, ensuring secure and efficient financial operations. In e-commerce, databases power
product catalogs, customer accounts, and transaction histories, enabling personalized shopping
experiences and efficient order processing. Moreover, scientific research benefits from databases
by organizing and analyzing vast amounts of data for experiments, studies, and simulations.

Entertainment platforms use databases to manage user accounts, recommend content, and
analyze user behavior, enhancing user experience. In transportation, databases facilitate logistics
management, ticketing systems, and real-time tracking of vehicles, ensuring operational
efficiency. Social media platforms rely heavily on databases to store user profiles, posts, and
interactions, supporting vast networks of communication. Overall, databases are integral to
modern life, providing structured data management that drives innovation, efficiency, and
convenience in diverse real-world applications.
6|Pa g e W K O N E D ATA B A S E

To understand the purpose of database systems, let’s consider part of a university organization
that, among other data, keeps information about all instructors, students, departments, and course
offerings. One way to keep the information on a computer is to store it in operating-system files.
To allow users to manipulate the information, the system has several application programs that
manipulate the files, including programs to:
• Add new students, instructors, and courses.
• Register students for courses and generate class rosters.
• Assign grades to students, compute grade point averages (GPA), and generate transcripts.
Programmers develop these application programs to meet the needs of the university.
New application programs are added to the system as the need arises. For example, suppose that
a university decides to create a new major. As a result, the university creates a new department
and creates new permanent files (or adds information to existing files) to record information
about all the instructors in the department, students in that major, course offerings, degree
requirements, and so on. The university
may have to write new application programs to deal with rules specific to the new major. New
application programs may also have to be written to handle new rules in the university. Thus, as
time goes by, the system acquires more files and more application programs.

You might also like