Dbms
Dbms
Dbms
BELAGAVI-590018
Submitted by:
Asst. Professor
Dept. of CSE
CERTIFICATE
Certified that the mini project work entitled “College Record Management System “has been
successfully carried out by ”Choudhary Rahul Roy bearing USN ”1RN21CD011” and “Harsh
Kumar” bearing USN ”1RN21CD016”, bonafide students of ”RNS Institute of Technology” in
partial fulfilment of the requirements for the 5th semester of ”Bachelor of Engineering in Computer
Science and Engineering (Data Science) of Visvesvaraya Technological University”, Belagavi,
during the academic year 2021-2025. It is certified that all corrections/suggestions indicated for
Internal Assessment have been incorporated in the report deposited in the departmental library. The
project report has been approved as it satisfies the DBMS laboratory requirements of 5th semester BE,
CSE(DS).
External Viva:
Name of the Examiners Signature with Date
1.
2.
Acknowledgement
Any achievement does not depend solely on individual efforts but on the guidance, encouragement
and cooperation of intellectuals, elders and friends. Several personalities, in their capacities, have
helped us to carry out this project work. We want to take this opportunity to thank them all.
We would like to profoundly thank the Management of RNS Institute of Technology for providinga
healthy environment for the successful completion of this project work.
We are grateful to our Director Dr. M K Venkatesha,and Principal Dr. Ramesh Babu H S, RNSIT,
Bangalore, for their support towards the completion of this mini project.
We would like to thank Dr. Mohan H S, Professor & Head, Department of Computer Science &
Engineering, RNSIT, Bangalore, for his valuable suggestions and expert advice.
We deeply express our sincere gratitude to our guide Ms. Ancy Thomas, Associate Professor,
Department of CSE, RNSIT, Bangalore, for her able guidance, regular source of encouragement and
assistance throughout this project.
We would like to thank all the teaching and non-teaching staff of Department of Computer Science &
Engineering, RNSIT, Bengaluru-98 for their constant support and encouragement.
i
Abstract
This Project deals with Placement Experience Database System. This system is developed for
placement related activities such as displaying the companies in which the student has been recruited.
In today’s modern world we are seeing that everything is going digital.SO we developed a website
where the students can login or signup in our website to view their current status like for which
all the companies the student has applied for, what are the suggestions given by the company to the
student, does the student need to submit the project or not, how much offers does the student currently
has etc.
Thus, by visiting our website the student can keep a track of the companies in which he has applied
and can view their status of a particular company.
ii
Contents
Acknowledgement i
Abstract ii
1 Introduction 1
1.1 DATABASE TECHNOLOGIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 CHARACTERISTICS OF DATABASE APPROACH . . . . . . . . . . . . . . . . . 2
1.3 APPLICATIONS OF DBMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 PROBLEM DESCRIPTION/STATEMENT . . . . . . . . . . . . . . . . . . . . . . 4
2 Requirement Analysis 5
2.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Major Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.2 End User Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.3 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.4 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.5 ERN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.6 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.7 XAMPP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Database Design 10
3.1 ER Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Relational Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
iii
4 Implementation 13
4.1 Creating Database Connection ............................................................................................ 13
4.2 Architecture used(4-tier architecture) ................................................................................. 13
4.2.1 Pseudo Code For Major Functionalities ................................................................. 15
References 23
Chapter 1
Introduction
The essential feature of database technology is that it provides an internal representation (model) of
the external world of interest. Examples are, the representation of a particular date/time/flight/aircraft
in an airline reservation or of the item code/item description/quantity on hand/reorder level/reorder
quantity in a stock control system. The technology involved is concerned primarily with maintaining
the internal representation consistent with external reality; this involves the results of extensive RD
over the past 30 years in areas such as user requirements analysis, data modelling, process modelling,
data integrity, concurrency, transactions, file organisation, indexing, rollback and recovery, persistent
programming, object-orientation, logic programming, deductive database systems, active database
systems... and in all these (and other) areas there remains much more to be done. The essential point
is that database technology is a CORE TECHNOLOGY which has links to:
Relational DBMS is the modern base technology for many business applications. It offers flexibility
and easy-to-use tools at the expense of ultimate performance. More recently relational systems
have started extending their facilities in directions like information retrieval, object orientation and
deductive/active systems which lead to the so-called ’Extended Relational Systems’.
Information Retrieval Systems began with handling library catalogues and then extended to full free-
text by utilizing inverted index technology with a lexicon or thesaurus. Modern systems utilize some
KBS (knowledge-based systems) techniques to improve the retrieval. Object-Oriented DBMS started
for engineering applications in which objects are complex, have versions and need to be treated
as a complete entity. OODBMSs share many of the OOPL features such as identity, inheritance, late
binding, overloading and overriding. OODBMSs have found favors in engineering and office systems
but haven’t been successful yet in traditional application areas. Deductive / Active DBMS has evolved
over the last 20 years and combines logic programming technology with database technology. This allows
the database itself to react to the external events and also to maintain its integrity dynamically with
respect to the real world.
Traditional form included organizing the data in file format. DBMS was a new concept then, and all
kinds of research was done to make it overcome the deficiencies in traditional style of data
management. A modern DBMS has the following characteristics
• Real-world entity A modern DBMS is more realistic and uses real-world entities to design
its architecture. It uses behavior and attribute too. For example, a school database may use
students as an entity and their age as an attribute.
• Relation-based tables DBMS allows entities and relations to form tables. A user can understand the
architecture of a database by just looking at the table names.
• 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.
• Less redundancy DBMS follows the rules of normalization, which splits a relation when any of
its attributes has redundancy in its values. Normalization is a mathematically rich and scientific
process that will reduces the data redundancy
• Consistency: Consistency is a state where every relation in a database remains consistent. There
exists methods and techniques, that can detect an attempt of leaving database in an inconsistent
state. DBMS can provide greater consistency as compared to earlier forms of data storing
applications like file-processing systems.
• Query Language DBMS is equipped with query language, which makes it more efficient to
retrieve and manipulate data. A user can apply as many and the filtering options as required to
retrieve a set of data. Traditionally it was not possible where file-processing system was used
• 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 to stay healthy in multi-
transactional environments and also in case of failure.
• Security Features like multiple views offer security to certain extent when users are unable to
access the 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 viewswith
different features. For example, a user in the Sales department cannot see the data that belongs
to the Purchase department. It can also be helpful in deciding how much data of the Sales
department should be displayed to the user. Since a DBMS is not saved on the disk as traditional
file systems, it is very hard for miscreants to break the code.
• 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.
• Telecom: There is a database to keeps track of the information regarding the calls made,
network usage, customer details etc. Without the database system it is hard to maintain such
huge amounts of data which gets updated every millisecond.
• Banking System: For storing information regarding a customer, keeping a track of his/her day-to-
day credit and debit transactions, generating bank statements etc. is done with through Database
management systems.
• Education sector: Database systems are frequently used in schools and colleges to store and
retrieve the data regarding the student, staff details, course details, exam details, payroll data,
attendance details, fees detail etc. There is lots of inter-related data that needs to be stored and
retrieved in an efficient manner.
• Online shopping: You must be aware of the online shopping websites such as Amazon, Flip kart etc.
These sites store the product information, your addresses and preferences, credit details and
provide you the relevant list of products based on your query. All this involves a Database
management system.
✓ Develop a Department Record Management System to efficiently manage and organize various
departmental records within an organization. The system should provide a centralized platform
for storing, accessing, and updating records, enhancing overall workflow efficiency and data
management practices. Key features should include user authentication, record categorization,
search functionality, version control, and accessibility controls to ensure data security and
integrity. The system should be user-friendly, scalable, and customizable to meet the specific
needs of different departments within the organization
Requirement Analysis
The Hardware requirements are very minimal and the program can be run on most of the machines.
Processor: i5 processor, Processor Speed: 1.2 GHz RAM: 1 GB Storage Space: 40 GB Monitor
Resolution: 1024*768 or 1336*768 or 1280*1024
1. Operating System used: Windows 10 2. Technologies used: HTML, CSS, ERN, Tailwind CSS.
2. . XAMPP Server: MySQL 4. IDE used: Visual Studio Code 5. Browser that supports HTML
2.3.3 HTML
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and
web applications. With Cascading Style Sheets (CSS) and JavaScript it forms a triad of cornerstone
technologies for the World Wide Web. Web browsers receive HTML documents from a web server
or from a local storage and render them to multimedia web pages. HTML describes the structure of
a web page semantically and originally included cues for the appearance of the document. HTML
elements are the building blocks of HTML pages. With HTML constructs, images and other objects
like interactive forms can be embedded into the rendered page. It provides a way to create structured
documents by denoting structural semantics for the text like headings, paragraphs, lists, links, quotes
and other items. HTML elements are delimited by tags that are written within angle brackets. Tags
such as img tag and input tag introduce content into the page directly. Other tags such as ¡p¿...¡/p¿
surround and provide information about document text and may include other tags as sub-elements.
Browsers do not display the HTML tags, but use them to interpret the content of the page. HTML can
also embed programs written in a scripting language such as JavaScript which affect the behavior and
content of web pages. Inclusion of CSS defines the look and layout of content.
2.3.4 CSS
Cascading Style Sheets (CSS) is a style sheet language which is used for describing the presentation
of a document written in markup language. Although most often its used to set the visual style
of web pages and user interfaces written in HTML and XHTML, the language can be applied to
any XML document, including plain XML, SVG and XUL, and is also applicable to rendering in
speech, or on other media. Along with HTML and JavaScript, CSS is a cornerstone technology used
by most websites to create visually engaging webpages, user interfaces for web applications, and user
interfaces for many mobile applications. CSS is designed primarily to enable the separation of
presentation and content, including aspects such as the layout, colors, and fonts. This separation can
improve content accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple HTML pages to share the formatting by specifying the relevant CSS
in a separate .CSS file, and reduce complexity and repetition in the structural content.
Express.js, Node.js, and React are three popular technologies in the web development ecosystem.
Node.js is a runtime environment that allows developers to run JavaScript code server-side, enabling
the creation of scalable and high-performance network applications. Express.js is a web application
framework built on top of Node.js, providing a robust set of features for building web applications
and APIs with ease. It simplifies the process of handling HTTP requests, routing, middleware
integration, and more. React, on the other hand, is a JavaScript library for building user interfaces. It
enables developers to create dynamic and interactive UI components, facilitating the development of
single-page applications (SPAs) with a component-based architecture. Reacts declarative and
efficient approach to building UIs, along with its virtual DOM, makes it a popular choice for frontend
development, often used in conjunction with Express.js and Node.js to build full-stack web
applications.
2.3.6 MySQL
MySQL is a Relational Database Management System (RDBMS). MySQL server can manage many
databases at the same time. In fact, many people might have different databases managed by a single
MySQL server. Each database consists of a structure to hold onto the data itself. A data-base can exist
without data, only a structure, be totally empty, twiddling its thumbs and waiting for data to bestored
in it. Data in a database is stored in one or more tables. You must create the data-base and the tables
before you can add any data to the database. First you create the empty database. Then you add empty
tables to the database. Database tables are organized in rows and columns. Each row represents an
entity in the database, such as a customer, a book, or a project. Each column contains an item of
information about the entity, such as a customer name, a book name, or a project start date.The place
where a particular row and column intersect, the individual cell of the table, is called a field. Tables
in databases can be related. Often a row in one table is related to several rows in anothertable. For
instance, you might have a database containing data about books you own. You would havea book table
and an author table. One row in the author table might contain information about the author of several
books in the book table. When tables are related, you include a column in one tableto hold data that
matches data in the column of another table. MySQL, the most popular Open Source
SQL database management system, is developed, distributed, and supported by MySQL AB. MySQL
AB is a commercial company, founded by the MySQL developers. It is a second-generation Open-
Source company that unites Open Restaurant Management System Source values and methodology
with a successful business model.
• MySQL software is Open Source. Open-Source means that it is possible for anyone to use and
modify the software. Anybody can download the MySQL software from the Internet and use it
without paying anything. If you wish, you may study the source code and change it to suit your
needs. The MySQL software uses the GPL (GNU General Public License), to define what you
may and may not do with the software in different situations. The MySQL Database Server is
very fast, reliable, and easy to use.
• MySQL can be easily integrated with popular programming languages and frameworks,
making it a preferred choice for web development projects.
• MySQL software is Open Source. Open-Source means that it is possible for anyone to use and
modify the software. Anybody can download the MySQL software from the Internet and use it
without paying anything. If you wish, you may study the source code and change it to suit your
needs. The MySQL software uses the GPL (GNU General Public License), to define what you
may and may not do with the software in different situations. The MySQL Database Server is
very fast, reliable, and easy to use.
MySQL Server was originally developed to handle large databases and has been successfully used in
highly demanding production environments for several years. MySQL Server today offers a rich and
useful set of functions. Its connectivity, speed, and security make MySQL Server highly suited for
accessing databases on the Internet.
Xampp server installs a complete, ready-to-use development environment. Xampp server allows you
to fit your needs and allows you to setup a local server with the same characteristics as your
production. While setting up the server and PHP on your own, you have two choices for the method of
connecting PHP to the server. For many servers, PHP has a direct module interface (also called SAPI).
These servers include Apache, Microsoft Internet Information Server, Netscape and iPlanet servers.
Many other servers support ISAPI, the Microsoft module interface (OmniHTTPd for example). If
PHP has no module support for your web server, you can always use it as a CGI or Fast CGI processor.
This means you set up your server to use the CGI executable of PHP to process all PHP file requests
on the server.
Database Design
3.1 ER Diagram
Implementation
• Creating a database for a college management system project using MySQL involves several
steps to ensure efficient data organization and retrieval. First, you'll need to define the entities
and relationships that represent various aspects of the college system, such as students,
courses, instructors, departments, and enrollments. Once the database schema is designed,
you can use SQL commands to create the necessary tables, specifying the appropriate data
types, constraints, and relationships using foreign keys. For instance, you might have tables
for students with columns like student ID, name, email, and department ID, with the
department ID serving as a foreign key linked to the departments table. Similarly, courses
can have attributes such as course ID, title, credits, and instructor ID. After creating the tables,
you can populate them with sample data or integrate scripts to import data from external
sources. Additionally, you may need to define stored procedures, triggers, or views to enforce
business rules, automate tasks, or simplify complex queries. Regular maintenance tasks like
indexing, backup, and optimization should also be considered to ensure database performance
and reliability. Overall, careful planning and execution are essential to create a well-
structured MySQL database for a college management system project, enabling efficient data
management and retrieval for various functionalities such as student registration, course
scheduling, and academic record keeping.
• By separating concerns into distinct layers, the 4-tier architecture promotes modularity,
scalability, and maintainability in software development. It enables easier management of
complexity, facilitates code reusability, and supports the evolution of the system over time by
allowing modifications to individual layers without affecting the entire application.
Additionally, this architecture promotes a clear separation of concerns, making it easier to
understand, develop, and test each component independently.
Presentation layer
This is the topmost level of the application. The presentation tier displays information related to
services such as browsing merchandise, purchasing and shopping cart contents. It also communicates
with other tiers and puts out the results to the browser/client tier and to all other tiers in the network.
In simple terms, it is a layer which users can access directly (such as a web page, or an operating
system’s GUI).
Business Layer
Business layer or domain logic is the part of the program that encodes the real-world business rules
which determine how data can be created, stored, and changed. It is contrasted with the remainder of
the software that might be concerned with lower-level details of managing a database or displaying
the user interface, system infrastructure, or generally connecting various parts of the program.
A Data Access Layer (DAL) in computer software, is a layer of computer program which provides
simplified access to data stored in persistent storage. For example, the DAL might return a reference
to an object (in terms of object-oriented programming) with its attributes instead of a row of fields
from a database table. This allows the client (or user) modules to be created with a higher level of
abstraction. This kind of model could be implemented by creating a class of data access methods that
directly reference a corresponding set of databases stored procedures. Another implementation could
potentially retrieve or write records to or from a file system. The DAL hides the complexity of the
underlying data store from the external world.
Control layer
The control layer is responsible for the communication between business and presentation layer. It
connects logic and data with each other and provides a better connectivity and separation between
layers
The landing page of the college record management system features a clean and intuitive design,
presenting essential information and options for users. At the center of the page is a prominent login
section specifically designed for administrators, distinguished by its emphasis and clarity. The login
form includes fields for entering credentials such as username and password, ensuring secure access
to administrative functionalities. Alongside the login form, brief instructions or hints may be provided
to guide users through the login process. Additionally, the landing page may incorporate branding
elements, such as the college logo or colors, to maintain consistency with the institution's identity.
Overall, the landing page efficiently serves its purpose of providing a gateway for administrators to
access the record management system with ease and security.
Figure 5.2 describes the login page; A login page specifies the login URL in a web application that
users must pass through to get to the authenticated URL at the heart of the application. Authenticated
URLs are URLs that become accessible to users only after they successfully log in to the login URL.
The dashboard page serves as a centralized hub within an application, presenting key information,
statistics, and functionalities in a visually appealing and easily digestible format. Typically, it
provides users with an overview of important metrics, such as performance indicators, recent
activities, or upcoming events, tailored to their roles or preferences. Through interactive widgets,
charts, and graphs, users can quickly assess trends, track progress, and take informed actions.
6.1 Conclusion
• The conclusion of a college record management system project would typically involve
summarizing the key findings, outcomes, and reflections on the development process. This
section encapsulates the project's achievements, challenges, and potential future directions.
• Firstly, the conclusion may highlight the successful implementation of the college record
management system, emphasizing its functionality in efficiently managing student records,
course information, faculty data, and administrative tasks. It would discuss how the system
addresses the initial requirements and objectives set forth at the beginning of the project.
• Secondly, the conclusion might reflect on the challenges encountered during the development
process. This could include technical hurdles, such as integrating different modules or
ensuring data consistency, as well as logistical challenges like time constraints or resource
limitations. Discussing how these challenges were overcome or mitigated demonstrates the
project team's problem-solving abilities.
Future enhancements for a college record management system may include integrating advanced
analytics for insights into student performance and administrative efficiency, implementing machine
learning algorithms for predictive analytics, incorporating blockchain technology for enhanced data
security and integrity, developing a mobile application for convenient access to the system, and
enabling seamless integration with other campus systems such as library management or finance.
[1] Ramez Elmarsi and Shamkant B. Navathe,”Fundamentals of Database Systems” , Pearson, 7th
edition,2017.
23