Unit 9 Fundamentals of Database
Unit 9 Fundamentals of Database
Fundamentals
of database
Why this Chapter?
Computerized applications developed for personal use, for organizations and for
enterprises,access, manipulate and manage the data. The data is stored in a
database for easy access and retrieval. It is essential to have an understanding of
the concepts of the database system to be able to manipulate the database and
manage it properly. The purpose of this chapter is to introduce you to the
fundamentals of the Databases
Introduction
Database is a collection of related data and data is a collection of facts and figures that can be
processed to produce information.
Mostly data represents recordable facts. Data aids in producing information, which is based on facts.
For example, if we have data about marks obtained by all students, we can then conclude about
toppers and average marks.
A database management system stores data in such a way that it becomes easier to retrieve,
manipulate, and produce information.
Characteristics of DBMS
1. Real-world entity: A modern DBMS is more realistic and uses real-world entities to design its
architecture. It uses the behavior and attributes too. For example, a school database may use
students as an entity and their age as an attribute.
2. Relation-based tables: DBMS allows entities and relations among them to form tables. A user
can understand the architecture of a database just by looking at the table names.
3. Isolation of data and application: A database system is entirely different than its data. A
database is an active entity, whereas data is said to be passive, on which the database works
and organizes. DBMS also stores metadata, which is data about data, to ease its own process.
4. Less redundancy: DBMS follows the rules of normalization, which splits a relation when any of
its attributes is having redundancy in values. Normalization is a mathematically rich and
scientific process that reduces data redundancy.
6. ACID Properties: DBMS follows the concepts of Atomicity, Consistency, Isolation, and Durability
(normally shortened as ACID). These concepts are applied on transactions, which manipulate data in a
database. ACID properties help the database stay healthy in multi-transactional environments and in
case of failure.
7. Multiuser and Concurrent Access: DBMS supports multi-user environment and allows them to access
and manipulate data in parallel. Though there are restrictions on transactions when users attempt to
handle the same data item, but users are always unaware of them.
8. Multiple views: DBMS offers multiple views for different users. A user who is in the Sales department
will have a different view of database than a person working in the Production department. This feature
enables the users to have a concentrate view of the database according to their requirements.
9. Security : Features like multiple views offer security to some extent where users are unable to access
data of other users and departments. DBMS offers methods to impose constraints while entering data
into the database and retrieving the same at a later stage. DBMS offers many different levels of security
features, which enables multiple users to have different views with different features.
Database Models
Data models define how the logical structure of a database is modelled. Data Models are
fundamental entities to introduce abstraction in a DBMS. Data models define how data is connected
to each other and how they are processed and stored inside the system.
There are Two types of data models
Entity-Relationship Model
Entity-Relationship (ER) Model is based on the notion of real-world entities and relationships among
them. While formulating real-world scenario into the database model, the ER Model creates entity
set, relationship set, general attributes, and constraints.
ER Model is best used for the conceptual design of a database.
For example, in a school database, a student is considered as an entity. Student has various
attributes like name, age, class, etc.
Database Models
Data models define how the logical structure of a database is modelled. Data Models are
fundamental entities to introduce abstraction in a DBMS. Data models define how data is connected
to each other and how they are processed and stored inside the system.
There are Two types of data models
Entity-Relationship Model
Entity-Relationship (ER) Model is based on the notion of real-world entities and relationships among
them. While formulating real-world scenario into the database model, the ER Model creates entity
set, relationship set, general attributes, and constraints.
ER Model is best used for the conceptual design of a database.
For example, in a school database, a student is considered as an entity. Student has various
attributes like name, age, class, etc.
Relationships among entities
The logical association among entities is called relationship. Relationships are mapped with entities
in various ways. Mapping cardinalities define the number of associations between two entities.
2. Relational Model
The most popular data model in DBMS is the Relational Model. It is more scientific model than
others.
This model is based on first-order predicate logic and defines a table as an n-ary relation.
Why SQL?
Allows users to define the data in database and manipulate that data.
Allows to embed within other languages using SQL modules, libraries & pre-compilers.
There are various components included in the process. These components are Query Dispatcher,
Optimization Engines, Classic Query Engine and SQL Query Engine, etc. Classic query engine
handles all non-SQL queries, but SQL query engine won't handle logical files
SQL Command
The standard SQL commands to interact with relational databases are CREATE, SELECT, INSERT,
UPDATE, DELETE and DROP. These commands can be classified based on their nature.
Database concepts
A database is a collection of logically related records.
A table is a two-dimensional structure made up of rows (tuples, records) and columns (attributes,
fields).
Example: a table of students engaged in sports activities, where a student is allowed to participate in
at most one activity
Table Characteristics
1. Field
Every table is broken up into smaller entities called fields. The fields in the CUSTOMERS table
consist of Student ID, Activity, Fee. A field is a column in a table that is designed to maintain
specific information about every record in the table.
2. Record (Row)
A record, also called a row of data, is each individual entry that exists in a table. For example,
there are 4 records in the above table. Following is a single row of data or record in the
CUSTOMERS table.
3. Column
Each column has a unique attribute name, each column (attribute) description (metadata) is
stored in the database order is unimportant all entries in a column have the same data type
4. Primary Keys
Primary key is an attribute or a collection of attributes whose value(s) uniquely identify each row
in a relation, a primary key should be minimal: it should not contain unnecessary attribute swe
assume that a student is allowed to participate in at most one activity then the only possible
primary key in the above table is StudentID. Sometimes there is more than one possible choice.
Each possible choice is called a candidate key. If we allow the students to participate in more than
one activity, then the only possible primary key is the combined value of StudentID and
Activitysuch a multi-attribute primary key is called a composite key or concatenated key
5. Composite Keys
A table can only have one primary key but sometimes the primary key can be made up of several
fields. Concatenation means putting two things next to one another. License Plate is not a
possible primary key, because two different cars can have the same license plate number if
they’re from different states but if we concatenate LicensePlate and State, the resulting value of
(LicensePlate, State) must be unique.
6. Foreign Key
A foreign key is an attribute or a collection of attributes whose value are intended to match the
primary key of some related record (usually in a different table)
Database design
Database design provides a means to represent real world entities in a form that can be processed
by the computer. Database models present a process of abstracting real-world entities into computer
representations.
To develop a good design, one has to understand the meaning of information and the intended use of
stored representation within the computer system. Once we develop the understanding and identify
the use of information in the application, we can determine how much and what kind of information
we require.
After determination of application’s information requirement, it will be clear that which data entities
represent information redundancies, entities that are critical, useful and are not related to the
applications.
It is important to collect and analyze the static and dynamic information available about real world
applications before starting the database design.
Steps of Database Design
1. Requirement analysis
To determine how to construct the DBMS for an application, the designer must first determine the
scope of the problem requiring the database system. Requirement analysis are used to define
the scope of the requirement of an application. It includes,
● Defining the human factors of the application,
● Defining the application’s functionality,
● Defining all the information managed and used by the application,
● Determining from where to where all interfaces to an application are derived Identifying all
the resource requirements including hardware, software and other physical resources.
● Deciding on the security requirements and mechanisms.
● Defining the quality, reliability, performance and operational aspect of the application.
2. Information Modelling
The objective of information modelling is to identify the major entities that are fundamental in an
application and model them in the target database schema model.
The information collected during the requirement analysis stage forms the input for information
modelling. This information will enable the database designer to fully and correctly define the
major entities to be modelled in the database.
The attributes that define the entities of the application are grouped together according to the
data model used and stored for further reference.
3. Design Constraints
The database systems require certain controls and limits for it to truly represent the real-world
system behavior. These limits or controls are called constraints in database parlance There are
many kinds of database constraints as follows
a. Structural Constraint
b. Type Constraint
c. Range Constraint
d. Relationship Constraint
e. Temporal Constraint
a. Structural Constraint
The structure of the information within the database gives an idea about entities in the database.
For example, simple data structures are represented using simple structures while complex data
structures will need advanced structures. Structural constraints are specified to force the
placement of information into structures that best matches the application
b. Type Constraint
A type constraint limits the application to only one representation of information for an entity’s
attribute. For example, the database designer might want to limit the name attribute to a fixed
length character string, the age attribute to a number etc. Type constraints allow a limitation of
the range of information representations that an attribute can have.
c. Range Constraint
Range constraints can limit the values an attribute can take. It refers to the possible values that a
particular data item can have. Range constraints can be used to limit the value of a particular
attribute within a range.
For example, We can specify that the employee numbers should be in the range 1000-9999.
d. Relation Constraint
These constraints represent relationships on values between entities. For example, there could
be a relationship constraint between the entities Manager and Employee that the maximum
bonus of manager should not be greater than six times that of the employee
e. Temporal Constraint
These constraints indicate the time period for which some information is valid. For example, the
value of attribute sale tax or exercise duty is valid for a specific period. Once the period is over,
new values will come into effect.
Database Security
Database security involves protecting a database from unauthorized access, malicious destruction
and even any accidental loss or misuse. Due to the high value of data incorporate databases, there is
strong motivation for unauthorized users to gain access to it, for instance, competitors or dissatisfied
employees
The competitors may have strong motivation to access confidential information about product
development plans, cost-saving initiatives and customer profiles.
Some may want to access information regarding unannounced financial results, business
transactions and even customers credit card numbers. They may not only steal the valuable
information, in fact, if they have access to the database, they may even destroy it and great havoc
may occur.
There are various ways we can secure our system. The types of computer-based controls to threats on
computer systems range from physical controls to administrative policies and procedures.
1. Authorization
Authorization is the granting of a right or privilege that enables a subject to have legitimate access to a system
or a system’s object.
Usually, a user or subject can gain access to or a system through individual user accounts where each user is
given a unique identifier, which is used by the operating system to determine that they have the authorization
to do so.
2. Access Control
Access controls to a database system is based on the granting and revoking of privileges. A privilege allows a
user to create or access (that is read, write or modify) a database object or to execute a DBMS utility.
The DBMS keeps track of how these privileges are granted to users and possibly revoked and ensures that at all
times only users with necessary privileges can access an object.
3. Views
A view is created by querying one or more of the base tables, producing a dynamic result table for the user at
the time of the request. The user may be allowed to access the view but not the base tables which the view is
based. The view mechanism hides some parts of the database from certain users and the user is not aware of
the existence of any attributes or rows that are missing from the view.
4. Backup and recovery
Backup is the process of periodically taking a copy of the database and log file to offline storage media. Backup
is very important for a DBMS to recover the database following a failure or damage.
5. Encryption
Encryption is the process of encoding of the data using a special algorithm that renders the data unreadable by
any program without the decryption key . Data encryption can be used to protect highly sensitive data like
customer credit card numbers or user password. Some DBMS products include encryption routines that would
automatically encode the sensitive data when they are stored or transmitted over communication channels
The main hardware components that should be fault-tolerant are disk drives, disk controllers, CPU, power
supplies and cooling fans
Data Warehouse
Data Warehouse (DW) is a relational database that is designed for query and analysis rather than
transaction processing. It includes historical data derived from transaction data from single and multiple
sources.
It provides integrated, enterprise-wide, historical data and focuses on providing support for decision-
makers for data modeling and analysis.
A Data Warehouse is a group of data specific to the entire organization, not only to a particular group of
users.
It is not used for daily operations and transaction processing but used for making decisions.
A Data Warehouse can be viewed as a data system with the following attributes:
• It is a database designed for investigative tasks, using data from various applications.
• It supports a relatively small number of clients with relatively long interactions.
• It includes current and historical data to provide a historical perspective of information.
• Its usage is read-intensive.
• It contains a few large tables.
Data Mining
The process of extracting information to identify patterns, trends, and useful data that would allow the
business to take the data-driven decision from huge sets of data is called Data Mining.
In other words, we can say that Data Mining is the process of investigating hidden patterns of information
to various perspectives for categorization into useful data, which is collected and assembled in areas such
as data warehouses, efficient analysis, data mining algorithm, helping decision making and other data
requirement to eventually cost-cutting and generating revenue.
Who is Database Administrator??
A database administrator (DBA) is a person or group in charge of implementing DBMS in an organization.
The DBA job requires a high degree of technical expertise. DBA consists of a team of people rather than
just one person.
The primary role of Database administrator is as follows −
• Database design
• Performance issues
• Database accessibility
• Capacity issues
• Data replication
• Table Maintenance
Responsibility of DBA
The responsibilities of DBA are as follows −
• Makes the decision concerning the content of the database.
• Plans the storage structure and access strategy.
• Provides the support to the users.
• Defines the security and integrity checks.
• Interpreter backup and recovery strategies.
• Monitoring the performance and responding to the changes in the requirements.
Skills required for DBA
The skills required to be a successful DBA are as follows −
• Database designing.
• Knowledge of Structured Query Language (SQL).
• Know about distributed architecture.
• Knowledge on different operating servers.
• Idea on Relational Database Management System (RDBMS).
• Ready to face challenges and solve the problems quickly.