Difference between DBMS and File system are
DBMS File System
DBMS is a collection of data. In DBMS, the File system is a collection of data. In this system, the user has
user is not required to write the procedures. to write the procedures for managing the database.
DBMS gives an abstract view of data that File system provides the detail of the data representation and
hides the details. storage of data.
DBMS provides a crash recovery File system doesn’t have a crash mechanism, i.e., if the
mechanism, i.e., DBMS protects the user system crashes while entering some data, then the content of
from the system failure. the file will be lost.
DBMS provides a good protection
It is very difficult to protect a file under the file system.
mechanism.
DBMS contains a wide variety of
sophisticated techniques to store and retrieve File system can’t efficiently store and retrieve the data.
the data.
In the File system, concurrent access has many problems like
DBMS takes care of Concurrent access of
redirecting the file while other deleting some information or
data using some form of locking.
updating some information.
Database Models
A Database model defines the logical design and structure of a database and defines how data
will be stored, accessed, and updated in a database management system.
Types of Database models
✓ Hierarchical database
✓ Network database
✓ Relational database
✓ Entity-relationship database
✓ Object-Oriented database
Hierarchical Model
A Hierarchical database arranges data in a tree-like structure, with a clear hierarchy. The data can
be stored in a top-down or bottom-up format. It uses a parent-child relationship to represent the
data, where each data item has a link to its parent item. In Hierarchical DBMS, parents can have
multiple children, while each child can have only one parent.
Network Model
The network database model allows for a child to have multiple parents, making it suitable for
representing complex relationships like many-to-many connections, such as orders and parts.
Entities are organized in a graph, accessible through various paths.
Relational Model
The relational DBMS is the most widely used model due to its simplicity. It normalizes data into
rows and columns within tables. Data is stored in fixed structures and manipulated using SQL.
Entity-Relationship Model
The Entity-Relationship (ER) Model is based on real-world entities and their relationships. It
represents connections by dividing objects of interest into entities and their characteristics into
attributes.
Object-Oriented Model
In the Object-Oriented Model, data is stored as objects with defined classes that contain data
values and associated operations. It views the database as a collection of objects.
Different types of Database Users
Any user who uses database and takes benefits from the database is considered a Database Users.
They can be programmers, scientists, engineers, business person or can be an employee.
Database users are categorized based upon their interaction with the database.
These are seven types of data base users in DBMS.
1. Database Administrator (DBA) :
Database Administrator (DBA) is a person/team who is responsible for managing the
overall database management system. i.e. the schema and also controls the 3 levels of
database.
The DBA will then create a new account id and password for the user if he/she need to
access the data base.
DBA is also responsible for providing security to the data base and he allows only the
authorized users to access/modify the data base.
✓ DBA also monitors the recovery and back up and provide technical support.
✓ The DBA has a DBA account in the DBMS which called a system or superuser
account.
✓ DBA repairs damage caused due to hardware and/or software failures.
1. Naive / Parametric End Users:
Parametric End Users are the unsophisticated who don’t have any DBMS knowledge but
they frequently use the data base applications in their daily life to get the desired results.
For example, online library system, ticket booking systems, ATMs etc which has
existing application and users use them to interact with the database to fulfill their
requests.
2. System Analyst:
System Analyst is a user who analyses the requirements of parametric end users. They
check whether all the requirements of end users are satisfied.
3. Sophisticated Users:
Sophisticated users can be engineers, scientists, business analyst, who are familiar with
the database. They can develop their own data base applications according to their
requirement. They don’t write the program code but they interact the data base by writing
SQL queries directly through the query processor.
4. Data Base Designers:
Database Designers are the users who design the structure of data base which includes
tables, indexes, views, constraints, triggers, stored procedures. He/she controls what data
must be stored and how the data items to be related.
5. Application Program:
Application Program are the back-end programmers who write the code for the
application programs. They are the computer professionals. These programs could be
written in programming languages such as Visual Basic, Developer, C, FORTRAN,
COBOL, etc.
6. Casual Users / Temporary Users:
Casual Users are the users who occasionally use/access the data base but each time when
they access the data base they require the new information, for example, Middle or
higher-level manager.
Characteristics of DBMS are as follows:
A modern DBMS has the following characteristics:
1. Less redundancy –
DBMS follows the rules of normalization which is a mathematically rich and scientific
process that reduces data redundancy.
2. Consistency –
DBMS helps to achieve consistency as compared to earlier forms of data storing
applications like file-processing systems.
3. Query Language –
It is more efficient to retrieve and manipulate data. Traditionally it was not possible
where file-processing system was used.
4. Isolation of data and application –
DBMS also stores metadata, which is data about data, to ease its own process.
5. Relation-based tables –
DBMS allows entities and relations among them to form tables.
6. Multiuser and Concurrent Access –
DBMS supports multi-user environment and allows them to access and manipulate data
in parallel.
7. ACID Properties –
DBMS follows the concepts transactions, i.e., ACID properties: Atomicity, Consistency,
Isolation, and Durability.
8. Multiple views –
DBMS offers multiple views for different users for same table or group of tables.
9. Security –
DBMS offers many different levels of security features, which enables multiple users to
have different views with different features.
Types of database utilities and its functions
Database utilities have the following types of functions:
1. Loading: A loading utility is used to load existing data files—such as text files or
sequential files—into the database. Usually, the current (source) format of the data file
and the desired (target) database file structure are specified to the utility, which then
automatically reformats the data and stores it in the database.
With the proliferation of DBMSs, transferring data from one DBMS to another is
becoming common in many organizations. Some vendors are offering products that
generate the appropriate loading programs, given the existing source and target database
storage descriptions (internal schemas). Such tools are also called conversion tools.
2. Backup: A backup utility creates a backup copy of the database, usually by dumping
the entire database onto tape or other mass storage medium. The backup copy can be used
to restore the database in case of catastrophic disk failure.
Incremental backups are also often used, where only changes since the previous backup
are recorded. Incremental backup is more complex, but saves storage space.
3. Database storage reorganization: This utility can be used to reorganize a set of
database files into different file organizations, and create new access paths to
improve performance.
4. Performance monitoring: Such a utility monitors database usage and provides
statistics to the DBA. The DBA uses the statistics in making decisions such as whether
or not to reorganize files or whether to add or drop indexes to improve performance.
Relational Model Concepts
Different types of Relational Model Concepts are as follows:
1. Attribute: Each column in a Table. Attributes are the properties which define a relation.
e.g., Student_Rollno, NAME, etc.
2. Tables – In the Relational model the, relations are saved in the table format. It is stored
along with its entities. A table has two properties rows and columns. Rows represent
records and columns represent attributes.
3. Tuple – It is nothing but a single row of a table, which contains a single record.
4. Relation Schema: A relation schema represents the name of the relation with its
attributes.
5. Degree: The total number of attributes which in the relation is called the degree of the
relation.
6. Cardinality: Total number of rows present in the Table.
7. Column: The column represents the set of values for a specific attribute.
8. Relation instance – Relation instance is a finite set of tuples in the RDBMS system.
Relation instances never have duplicate tuples.
9. Relation key – Every row has one, two or multiple attributes, which is called relation
key.
10. Attribute domain – Every attribute has some pre-defined value and scope which is
known as attribute domain