Uploaded by Mi Ro

Research Document About Database System

advertisement
What is Database?
A collected information which is in an organized form for easier access, management, and various
updating is known as a database.
A database is an organized collection of structured information, or data, typically stored
electronically in a computer system. A database is usually controlled by a database management system
(DBMS). Together, the data and the DBMS, along with the applications that are associated with them, are
referred to as a database system, often shortened to just database.
Containers having a huge amount of data are known as databases, for example, a public library
stores books. Databases are computer structures that save, organize, protect, and deliver data.
Any system that manages databases is called a database management system, or DBM. The typical
diagram representation for a database is a cylinder.
Data within the most common types of databases in operation today is typically modeled in rows
and columns in a series of tables to make processing and data querying efficient. The data can then be easily
accessed, managed, modified, updated, controlled, and organized. Most databases use structured query
language (SQL) for writing and querying data.
What is Structured Query Language (SQL)?
SQL is a programming language used by nearly all relational databases to query, manipulate, and
define data, and to provide access control.
Types of databases
There are many different types of databases. The best database for a specific organization depends
on how the organization intends to use the data.
•
Flat Databases. Flat Database ave the following characteristics − Simple, long and dominant, useful
for very small scale and simple applications.
•
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.
•
Object-oriented databases. Information in an object-oriented database is represented in the form of
objects, as in object-oriented programming.
•
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.
•
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.
•
Graph databases. A graph database stores data in terms of entities and the relationships between
entities.
•
OLTP databases. An OLTP database is a speedy, analytic database designed for large numbers of
transactions performed by multiple users.
These are only a few of the several dozen types of databases in use today. Other, less common
databases are tailored to very specific scientific, financial, or other functions. In addition to the different
database types, changes in technology development approaches and dramatic advances such as the cloud
and automation are propelling databases in entirely new directions. Some of the latest databases include
•
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 database. 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.
What is Database Management Systems?
Database Management Systems (DBMS) refer to the technology solution used to optimize and
manage the storage and retrieval of data from databases. DBMS offers a systematic approach to manage
databases via an interface for users as well as workloads accessing the databases via apps.
A database typically requires a comprehensive database software program known as a database
management system (DBMS). A DBMS serves as an interface between the database and its end users or
programs, allowing users to retrieve, update, and manage how the information is organized and optimized.
A DBMS also facilitates oversight and control of databases, enabling a variety of administrative operations
such as performance monitoring, tuning, and backup and recovery.
Some examples of popular database software or DBMSs include MySQL, Microsoft Access,
Microsoft SQL Server, FileMaker Pro, Oracle Database, and dBASE.
What is database software?
Database software is used to create, edit, and maintain database files and records, enabling easier
file and record creation, data entry, data editing, updating, and reporting. The software also handles data
storage, backup and reporting, multi-access control, and security. Strong database security is especially
important today, as data theft becomes more frequent. Database software is sometimes also referred to as a
“database management system” (DBMS).
Database software makes data management simpler by enabling users to store data in a structured
form and then access it. It typically has a graphical interface to help create and manage the data and, in
some cases, users can construct their own databases by using database software.
The management responsibilities for DBMS encompass:
•
Information within the databases
•
The processes applied to databases, such as access and modification
•
The database’s logic structure
DBMS also facilitates additional administrative operations such as change management, disaster
recovery, compliance, and performance monitoring, among others.
Components of DBMS
In order to facilitate these functions, DBMS has the following key components:
•
Software. DBMS is primarily a software system that can be considered as a management console
or an interface to interact with and manage databases. The interfacing also spreads across realworld physical systems that contribute data to the backend databases. The OS, networking software,
and the hardware infrastructure is involved in creating, accessing, managing, and processing the
databases.
•
Data. DBMS contains operational data, access to database records and metadata as a resource to
perform the necessary functionality. The data may include files with such as index files,
administrative information, and data dictionaries used to represent data flows, ownership, structure,
and relationships to other records or objects.
•
Procedures. While not a part of the DBMS software, procedures can be considered as instructions
on using DBMS. The documented guidelines assist users in designing, modifying, managing, and
processing databases.
•
Database languages. These are components of the DBMS used to access, modify, store, and retrieve
data items from databases; specify database schema; control user access; and perform other
associated database management operations. Types of DBMS languages include Data Definition
Language (DDL), Data Manipulation Language (DML), Database Access Language (DAL) and
Data Control Language (DCL).
•
Query processor. As a fundamental component of the DBMS, the query processor acts as an
intermediary between users and the DBMS data engine in order to communicate query requests.
When users enter an instruction in SQL language, the command is executed from the high-level
language instruction to a low-level language that the underlying machine can understand and
process to perform the appropriate DBMS functionality. In addition to instruction parsing and
translation, the query processor also optimizes queries to ensure fast processing and accurate
results.
•
Runtime database manager. A centralized management component of DBMS that handles
functionality associated with runtime data, which is commonly used for context-based database
access. This component checks for user authorization to request the query; processes the approved
queries; devises an optimal strategy for query execution; supports concurrency so that multiple
users can simultaneously work on same databases; and ensures integrity of data recorded into the
databases.
•
Database manager. Unlike the runtime database manager that handles queries and data at runtime,
the database manager performs DBMS functionality associated with the data within databases.
Database manager allows a set of commands to perform different DBMS operations that include
creating, deleting, backup, restoring, cloning, and other database maintenance tasks. The database
manager may also be used to update the database with patches from vendors.
•
Database engine. This is the core software component within the DBMS solution that performs the
core functions associated with data storage and retrieval. A database engine is also accessible via
APIs that allow users or apps to create, read, write, and delete records in databases.
•
Reporting. The report generator extracts useful information from DBMS files and displays it in
structured format based on defined specifications. This information may be used for further
analysis, decision making, or business intelligence.
DBMS system schematic
The following diagram illustrates the schematic of a DBMS system:
Benefits of DBMS
DBMS was designed to solve the fundamental problems associated with storing, managing,
accessing, securing, and auditing data in traditional file systems.
Traditional database applications were developed on top of the databases, which led to challenges
such as data redundancy, isolation, integrity constraints, and difficulty managing data access. A layer of
abstraction was required between users or apps and the databases at a physical and logical level.
Introducing DBMS software to manage databases results in the following benefits:
•
Data security. DBMS allows organizations to enforce policies that enable compliance and security.
The databases are available for appropriate users according to organizational policies. The DBMS
system is also responsible to maintain optimum performance of querying operations while ensuring
the validity, security and consistency of data items updated to a database.
•
Data sharing. Fast and efficient collaboration between users.
•
Data access and auditing. Controlled access to databases. Logging associated access activities
allows organizations to audit for security and compliance.
•
Data integration. Instead of operating island of database resources, a single interface is used to
manage databases with logical and physical relationships.
•
Abstraction and independence. Organizations can change the physical schema of database systems
without necessitating changes to the logical schema that govern database relationships. As a result,
organizations can upgrade storage and scale the infrastructure without impacting database
operations. Similarly, changes to the logical schema can be applied without altering the apps and
services that access the databases.
•
Uniform management and administration. A single console interface to perform basic
administrative tasks makes the job easier for database admins and IT users.
For data-driven business organizations, DBMS can turn into extremely complex technology
solutions that may require dedicated resources and in-house expertise. The size, cost and performance of a
DBMS varies with the system architecture and use cases, and should therefore be evaluated accordingly.
Also, a DBMS failure can incur significant losses to organizations that fail to maintain optimal functionality
of a DBMS system.
What is a MySQL database?
MySQL is an open source relational database management system based on SQL. It was designed
and optimized for web applications and can run on any platform. As new and different requirements
emerged with the internet, MySQL became the platform of choice for web developers and web-based
applications. Because it’s designed to process millions of queries and thousands of transactions, MySQL is
a popular choice for ecommerce businesses that need to manage multiple money transfers. On-demand
flexibility is the primary feature of MySQL.
MySQL is the DBMS behind some of the top websites and web-based applications in the world,
including Airbnb, Uber, LinkedIn, Facebook, Twitter, and YouTube.
Database challenges
Today’s large enterprise databases often support very complex queries and are expected to deliver
nearly instant responses to those queries. As a result, database administrators are constantly called upon to
employ a wide variety of methods to help improve performance. Some common challenges that they face
include:
•
Absorbing significant increases in data volume. The explosion of data coming in from sensors,
connected machines, and dozens of other sources keeps database administrators scrambling to
manage and organize their companies’ data efficiently.
•
Ensuring data security. Data breaches are happening everywhere these days, and hackers are getting
more inventive. It’s more important than ever to ensure that data is secure but also easily accessible
to users.
•
Keeping up with demand. In today’s fast-moving business environment, companies need real-time
access to their data to support timely decision-making and to take advantage of new opportunities.
•
Managing and maintaining the database and infrastructure. Database administrators must
continually watch the database for problems and perform preventative maintenance, as well as
apply software upgrades and patches. As databases become more complex and data volumes grow,
companies are faced with the expense of hiring additional talent to monitor and tune their databases.
•
Removing limits on scalability. A business needs to grow if it’s going to survive, and its data
management must grow along with it. But it’s very difficult for database administrators to predict
how much capacity the company will need, particularly with on-premises databases.
Addressing all of these challenges can be time-consuming and can prevent database administrators
from performing more strategic functions.
What is Database Design?
Database design is defined as a collection of steps that help with designing, creating, implementing,
and maintaining a business’s data management systems. The main purpose of designing a database is to
produce physical and logical models of designs for the proposed database system.
What is a Good Database Design?
A good database design process is governed by specific rules. The first rule dictates that redundant
data must be avoided; as it wastes space and increases the probability of faults and discrepancies within the
database. The next rule is that the accuracy and comprehensiveness of information is extremely imperative.
If the database contains erroneous information, any documents that fetch data from such a database will
also include inaccurate information. Consequently, any decisions based on those documents will be
misleading, thus, increasing the importance of a database design that caters to all of the above rules.
So, how can you ensure that your database design is good? A well-designed database is the one
that:
•
Distributes your data into tables based on specific subject areas to decrease data redundancy
•
Delivers the database the information needed to link the data in the tables
•
Provides support, and guarantees the precision and reliability of data
•
Caters to your information processing and reporting requirements
•
Functions interactively with the database operators as much as possible
Importance of Database Design
Database design defines the database structure used for planning, storing, and managing
information. Accuracy in data can only be accomplished if a database is designed to store only valuable
and necessary information.
A well-designed database is imperative in guaranteeing information consistency, eliminating
redundant data, efficiently executing queries, and improving the performance of the database. Meticulously
designing a database saves you from wasting time and getting frustrated during the database development
phase. A good database design also allows you to easily access and retrieve data whenever needed.
The reliability of data depends on the table structure; whereas creating primary and unique keys
guarantees uniformity in the stored information. Data replication can be avoided by forming a table of
probable values and using a key to denote the value. So, whenever the value changes, the alteration happens
only once in the main table.
As the general performance of a database depends on its design, a good database design uses simple
queries and faster implementation. It is easy to maintain and update; whereas fixing trivial interruptions in
a poor database design may harm stored events, views, and utilities.
Database Development Life Cycle
There are various stages in database development. However, it is not necessary to follow each of
the steps sequentially. The life cycle can be broadly divided into three steps: requirement analysis, database
designing, and implementation.
1. Requirement Analysis
Requirement analysis requires two steps:
•
Planning: In this stage, the plan of the entire Database Development Life Cycle is decided. It
also requires an analysis of the organization’s information systems strategy.
•
Defining the system: This stage explains and lays out the proposed database system’s scope.
2. Database designing
The actual database designing takes into account two key models:
•
Logical model: It is concerned with using the given requirements to create a database model.
The complete design is laid out on paper at this stage, without considering any specific DBMS
requirement or physically implementing it.
•
Physical model: This stage comes after the logical model and therefore involves physically
implementing the logical model. It takes the DBMS and other physical implementation factors
into consideration.
3. Implementation
The implementation stage of the database development life cycle is concerned with:
•
Data conversion and loading: It comprises data importation and data conversion coming from
the old system into the new database.
•
Testing: Finally, this stage identifies errors in the new system and make sure if all the database
requirement specification are met.
Database Designing Techniques
The two most common techniques used to design a database include:
•
Normalization: Tables are organized in such a way that it decreases data redundancy and
dependency. Larger tables are divided into smaller tables and are linked together using
relationships.
•
Entity-Relationship (ER) Modeling: It’s a graphical database design approach that models entities,
their attributes, and defines relationships among these entities to signify real-life objects. An entity
is any real-world item that’s different or unique from the surroundings.
How to Design Database: Steps of Designing Database
Database designing generally starts with identifying the purpose of your database. The relevant
data is then collected and organized into tables. Next, you specify the primary keys and analyze
relationships between different tables for an efficient data design. After refining the tables, the last step is
to apply normalization rules for table standardization.
Let’s look at these steps of database design in detail:
•
Define the objective of your database
The first step is to determine the purpose of your database. For example, if you are a small
home-based business, you could be designing a customer database that maintains a list of consumer
info to generate emails and reports. Hence, understanding the importance of a database is vital.
At the end of this step, you’ll have a strong mission statement that you can refer to
throughout the database design process. It’ll help you concentrate on your objectives when making
important decisions.
•
Locate and consolidate the necessary data
The next step is to collect all kinds of information that you might want to store in the
database. Begin with the current information. Mull over the questions you want your database to
answer, and it’ll help you decide which data needs to be recorded.
•
Distribute the data into tables
Once you’ve amassed all the necessary data items, the next step is to divide them into main
entities or subject areas. For example, if you are a retailer, some of your main entities could be
products, customers, suppliers, and orders. Each entity will then become a separate table.
•
Change data items into columns
Data is segregated into tables, such that every data item becomes a field and is shown as a
column. For instance, a Customer table might include fields like name, address, e-mail address, and
city.
After determining the preliminary set of columns for every table, you can refine them. For instance,
customer name can be recorded as two distinct columns: first name and last name. Likewise, you
can store the address in five distinct columns based on address, town, state, zip code, and region.
This will make it convenient for you to filter information.
•
Identify primary keys
The next step to improve your database design is to select a primary key for every table.
This primary key is a column or a set of column that’s used to distinctively pinpoint each row. For
instance, in your customer table, the primary key could be customer ID. This will allow you to
uniquely identify each row based on the customer ID.
More than one primary key can also exist, called a composite key, including multiple
columns. For example, in your Order Details table, primary keys could be order ID and product ID.
The composite key can be made using fields with similar or varying data types.
Similarly, if you wish to get an idea of your product sales, you can identify the product ID
from the Products table and the order number or ID from the Orders table.
•
Determine how tables are related
After dividing data into tables, information needs to be brought together in a meaningful
manner. So, explore each table and determine how the data in one table is linked with the data in
another table. If needed, you can add fields or form new tables to simplify the relationship based
on the types of information.
Below is an example of different entity types and relationship types.
Entity type
Branch
Staff
Supervisor
Property_for_Rent
Private Owner
Business_Owner
Advert
Interview
Client
Lease_Agreement
Inspection
Relationship type
Has
Manages
SupervisedBy
SupportedBy
SetsUp
Organize
CarryOut
Supervised
IsAvailableAt
ManagedBy
OwnedBy
Owns
Owns
Describes
PlacedIn
With
Views
Rents
Holds
AssociatedWith
MadeOf
Entity type
Staff
Property_for_Rent
Supervisor
Secretary
Interview
Lease_Agreement
Inspection
Staff
Branch
Staff
Owner
Property_for_Rent
Property_for_Rent
Property_for_Rent
Newspaper
Client
Property_for_Rent
Property_for_Rent
Lease_Agreement
Property_for_Rent
Property_for_Rent
Database Design Metholodlogy
In this step, you’ll create one-to-one, one-to-many, and/or many-to-many relationships
between different table entries.
When only one item from a table is associated with an item from another table, it’s called
a one-to-one (1:1) relationship. In a one-to-many (1:M) relationship, an item in one table is related
to many items in the other table, such as one customer placing several orders. A many-to-many
(M:N) relationship occurs if many items from one table are related to many items in other tables.
E1
One to one
1:1
One to many
E2
•
Enhance your database design
Now that you have all the required tables, fields, and relationships, the next step is to refine
your database design by creating and populating your tables with mockup information. Experiment
with the sample data by creating queries or adding new items. This will help you analyze your
design for faults and you’ll be able to highlight possible errors. If needed, adjust your design to
mitigate those problems.
•
Implement the normalization rules
The last step is to implement the normalization rules for your database design. It is a
systematic approach that removes redundancy and unwanted characteristics, such as Insertion,
Update, and Deletion irregularities.
This multi-step process stores data in a tabular form, eliminating redundant data from the
relation tables.
The database design process helps you simplify the design, development, execution, and
maintenance of your corporate data management system.
A good database design can help save disk storage space by reducing data redundancy. Along with
maintaining data precision and reliability, it allows you to access data in various ways. Moreover, a welldesigned database is easier to use and maintain, making integration a breeze.
References:
fw_error_www. (2021). Oracle. https://www.oracle.com/ph/database/what-is-database/
Introduction to Databases. (2018). Tutorialspoint. https://www.tutorialspoint.com/Introduction-toDatabases#:%7E:text=A%20collected%20information%20which%20is,is%20known%20as%20a
%20database.&text=Databases%20are%20computer%20structures%20that,database%20manage
ment%20system%2C%20or%20DBM.
GeeksforGeeks. (2019, October 11). Introduction of DBMS (Database Management System) | Set 1.
https://www.geeksforgeeks.org/introduction-of-dbms-database-management-system-set-1/
Raza, M. (2018). DBMS: An Intro to Database Management Systems. BMC Blogs.
https://www.bmc.com/blogs/dbms-database-management-systems/
Naeem, T. (2021, April 30). Database Design - Overview, Importance, and Techniques. Astera.
https://www.astera.com/type/blog/all-you-need-to-know-about-databasedesign/#:%7E:text=Database%20design%20is%20defined%20as,for%20the%20proposed%20dat
abase%20system.
Download