Made byBobr AI

Blood Bank Management System: Database & SQL Design

Explore a comprehensive Blood Bank Management System database design, featuring ER diagrams, 3NF normalization, and practical SQL implementation queries.

#database-design#sql-implementation#er-diagram#normalization#blood-bank-system#relational-database#dbms-project
Watch
Pitch
BLOOD BANK MANAGEMENT SYSTEM
Database Design, Normalization & SQL Implementation
Submitted By:
Sameer Rashid — F2024376440
Haider Ali — F2024376338
CC230 — Database Management Systems
University of Management and Technology
Spring 2026
Made byBobr AI
What is the Blood Bank Management System?

The Blood Bank Management System (BBMS) is a relational database application designed to manage the complete lifecycle of blood donation, screening, storage, requests, and blood issuing.

It integrates donors, blood banks, hospitals, patients, and staff into a single system to ensure safe and efficient blood management.

This project demonstrates practical applications of:

  • ER Modeling
  • Database Normalization
  • SQL Implementation
  • Relational Database Design
10
Tables in Schema
10+
SQL Queries
8
Blood Groups
5
Blood Banks
Made byBobr AI
Table of Contents
01
Introduction & Project Overview
02
System Entities & Relationships
03
Database Design
04
Normalization Overview
05
ER Diagram
06
SQL Tables & Schema
07
SQL Queries
08
Conclusion
Made byBobr AI
System Entities & Relationships
Donor
Individuals donating blood.
Donation
Records of blood donations.
Screening Test
Blood safety test information.
Blood Unit
Tracks stored blood units.
Blood Bank
Storage facilities.
Staff
Employees working in blood banks.
Hospital
Medical institutions requesting blood.
Patient
Patients requiring blood.
Request
Blood requests generated by hospitals.
Blood Issue
Issued blood records.
Made byBobr AI
Database Design
The Blood Bank Management System is designed using relational database principles.
Conceptual Design
Represents entities and their relationships through ER modeling.
Logical Design
Transforms entities into relational tables using primary keys and foreign keys.
Physical Design
Implements tables using SQL with proper data types and constraints.
Made byBobr AI
System Data Flow
Database Architecture
Donor
Donation
Screening Test
Blood Unit
Blood Bank
Hospital
Patient
Request
Blood Issue
Made byBobr AI
Why Normalization?

Benefits of Normalization

  • Reduce redundancy
  • Eliminate duplicate data
  • Improve consistency
  • Maintain integrity
  • Increase efficiency
Detailed normalization was performed in Assignment 3. Only the final normalized structure is presented here.
UNF
Unnormalized Form
1NF
First Normal Form
2NF
Second Normal Form
3NF
Third Normal Form
Made byBobr AI
Entity Relationship Diagram
The ER diagram represents all entities and their relationships using primary keys and foreign keys.
donates yields stores employs tests fulfills resolves makes submits supplies Donor Donor_ID FK: None Name, Age, Blood_Group Donation Donation_ID FK: Donor_ID Date, Quantity, Camp Blood_Unit Unit_ID FK: Donation_ID, Bank_ID Volume, Expiry_Date Blood_Bank Bank_ID FK: None Facility, Phone, Location Staff Staff_ID FK: Bank_ID Name, Role, Shift Screening_Test Test_ID FK: Donation_ID Pathogen, Result, Status Blood_Issue Issue_ID FK: Req_ID, Unit_ID Dispatch_Date, Courier Request Req_ID FK: Hosp_ID, Patient_ID Urgency, Date_Required Hospital Hospital_ID FK: None Name, Ward, Region Patient Patient_ID FK: None Name, Diagnosis
PK = Primary Key
|
FK = Foreign Key
Made byBobr AI
SQL Tables & Schema
1. Donor
DonorIDPK, Name, BloodGroup, Age, Phone
2. Donation
DonationIDPK, DonorIDFK, DonationDate, Quantity
3. Screening_Test
TestIDPK, DonationIDFK, Result, TestDate
4. Blood_Bank
BankIDPK, BankName, Location, Capacity
5. Blood_Unit
UnitIDPK, BankIDFK, BloodGroup, Quantity, ExpiryDate
6. Staff
StaffIDPK, BankIDFK, Name, Role, Phone
7. Hospital
HospitalIDPK, HospitalName, Location, Phone
8. Patient
PatientIDPK, HospitalIDFK, Name, BloodGroup, Age
9. Request
RequestIDPK, HospitalIDFK, BloodGroup, QuantityNeeded, RequestDate
10. Blood_Issue
IssueIDPK, RequestIDFK, UnitIDFK, IssueDate
Made byBobr AI
SQL Table Creation
The database was implemented using CREATE TABLE statements with proper constraints.
CREATE TABLE Donor
CREATE TABLE Donor ( DonorID INT PRIMARY KEY, Name VARCHAR(100), BloodGroup VARCHAR(5), Age INT, Phone VARCHAR(15) );
CREATE TABLE Donation
CREATE TABLE Donation ( DonationID INT PRIMARY KEY, DonorID INT, DonationDate DATE, Quantity INT, FOREIGN KEY (DonorID) REFERENCES Donor(DonorID) );
CREATE TABLE Screening_Test
CREATE TABLE Screening_Test ( TestID INT PRIMARY KEY, DonationID INT, Result VARCHAR(20), TestDate DATE, FOREIGN KEY (DonationID) REFERENCES Donation(DonationID) );
CREATE TABLE Blood_Unit
CREATE TABLE Blood_Unit ( UnitID INT PRIMARY KEY, BankID INT, BloodGroup VARCHAR(5), Quantity INT, ExpiryDate DATE, FOREIGN KEY (BankID) REFERENCES Blood_Bank(BankID) );
Made byBobr AI
Basic SQL Queries
Query Donors
SELECT * FROM Donor;
Retrieves all donor records
Query Donations
SELECT * FROM Donation;
Retrieves all donation records
Query Blood Units
SELECT * FROM Blood_Unit;
Retrieves all blood unit records
Query Patients
SELECT * FROM Patient;
Retrieves all patient records
Made byBobr AI
SQL JOIN Queries
JOIN operations combine information from multiple tables.
Staff with Blood Bank
SELECT Staff.Name, Staff.Role,
       Blood_Bank.BankName
FROM Staff
INNER JOIN Blood_Bank
  ON Staff.BankID =
     Blood_Bank.BankID;
Patients with Requests
SELECT Patient.Name,
       Patient.BloodGroup,
       Request.RequestDate
FROM Patient
INNER JOIN Request
  ON Patient.HospitalID =
     Request.HospitalID;
Blood Issue with Patient
SELECT Patient.Name,
       Blood_Issue.IssueDate,
       Blood_Unit.BloodGroup
FROM Blood_Issue
JOIN Request
  ON Blood_Issue.RequestID =
     Request.RequestID
JOIN Patient
  ON Request.HospitalID =
     Patient.HospitalID;
Made byBobr AI
Aggregate Functions

Total Donations by Donor

SQL
SELECT DonorID, COUNT(*) AS TotalDonations
FROM Donation
GROUP BY DonorID;
COUNT()
Counts rows in groups

Blood Units by Blood Group

SQL
SELECT BloodGroup, SUM(Quantity) AS TotalUnits
FROM Blood_Unit
GROUP BY BloodGroup;
GROUP BY
Groups results by column

Patients per Hospital

SQL
SELECT HospitalID, COUNT(*) AS TotalPatients
FROM Patient
GROUP BY HospitalID;
SUM()
Calculates total values
Made byBobr AI
Project Achievements

ER Modeling

Entity-relationship diagram designed

Database Design

Relational schema created

Normalization

Tables normalized to 3NF

Primary Keys

Unique identifiers defined

Foreign Keys

Referential integrity enforced

SQL Queries

Basic SELECT queries written

JOIN Operations

Multi-table JOINs implemented

Aggregate Functions

COUNT, SUM, GROUP BY used

Relational DB Implementation

Full database deployed

Made byBobr AI
CONCLUSION
Summary
The Blood Bank Management System provides an efficient solution for managing blood donations, testing, storage, requests, and distribution.
The project demonstrates practical applications of database design, normalization, ER modeling, and SQL implementation.
Database Design
Normalization
ER Modeling
SQL Implementation
10 Tables
Complete schema
3NF
Fully normalized
10+ Queries
SQL implemented
Made byBobr AI
Questions?
Thank You For Your Attention
Presented By
Sameer Rashid
Haider Ali
CC230 — Database Management Systems | Spring 2026
Made byBobr AI
Bobr AI

DESIGNER-MADE
PRESENTATION,
GENERATED FROM
YOUR PROMPT

Create your own professional slide deck with real images, data charts, and unique design in under a minute.

Generate For Free

Blood Bank Management System: Database & SQL Design

Explore a comprehensive Blood Bank Management System database design, featuring ER diagrams, 3NF normalization, and practical SQL implementation queries.

BLOOD BANK MANAGEMENT SYSTEM

Database Design, Normalization & SQL Implementation

Submitted By:

Sameer Rashid — F2024376440

Haider Ali — F2024376338

CC230 — Database Management Systems

University of Management and Technology

Spring 2026

What is the Blood Bank Management System?

The Blood Bank Management System (BBMS) is a relational database application designed to manage the complete lifecycle of blood donation, screening, storage, requests, and blood issuing.

It integrates donors, blood banks, hospitals, patients, and staff into a single system to ensure safe and efficient blood management.

This project demonstrates practical applications of:

ER Modeling

Database Normalization

SQL Implementation

Relational Database Design

10

Tables in Schema

10+

SQL Queries

8

Blood Groups

5

Blood Banks

Table of Contents

01

Introduction & Project Overview

02

System Entities & Relationships

03

Database Design

04

Normalization Overview

05

ER Diagram

06

SQL Tables & Schema

07

SQL Queries

08

Conclusion

System Entities & Relationships

Donor

Individuals donating blood.

Donation

Records of blood donations.

Screening Test

Blood safety test information.

Blood Unit

Tracks stored blood units.

Blood Bank

Storage facilities.

Staff

Employees working in blood banks.

Hospital

Medical institutions requesting blood.

Patient

Patients requiring blood.

Request

Blood requests generated by hospitals.

Blood Issue

Issued blood records.

Database Design

The Blood Bank Management System is designed using relational database principles.

Conceptual Design

Represents entities and their relationships through ER modeling.

Logical Design

Transforms entities into relational tables using primary keys and foreign keys.

Physical Design

Implements tables using SQL with proper data types and constraints.

Database Architecture

System Data Flow

Donor

Donation

Screening Test

Blood Unit

Blood Bank

Hospital

Patient

Request

Blood Issue

Why Normalization?

Benefits of Normalization

Reduce redundancy

Eliminate duplicate data

Improve consistency

Maintain integrity

Increase efficiency

Detailed normalization was performed in Assignment 3. Only the final normalized structure is presented here.

UNF

Unnormalized Form

1NF

First Normal Form

2NF

Second Normal Form

3NF

Third Normal Form

Entity Relationship Diagram

The ER diagram represents all entities and their relationships using primary keys and foreign keys.

SQL Tables & Schema

1. Donor

2. Donation

3. Screening_Test

4. Blood_Bank

5. Blood_Unit

6. Staff

7. Hospital

8. Patient

9. Request

10. Blood_Issue

SQL Table Creation

The database was implemented using CREATE TABLE statements with proper constraints.

CREATE TABLE Donor

CREATE TABLE Donation

CREATE TABLE Screening_Test

CREATE TABLE Blood_Unit

Basic SQL Queries

Query Donors

Donor

Retrieves all donor records

Query Donations

Donation

Retrieves all donation records

Query Blood Units

Blood_Unit

Retrieves all blood unit records

Query Patients

Patient

Retrieves all patient records

SQL JOIN Queries

JOIN operations combine information from multiple tables.

Staff with Blood Bank

Staff.Name, Staff.Role,

Blood_Bank.BankName

Staff

Blood_Bank

Staff.BankID =

Blood_Bank.BankID

Patients with Requests

Patient.Name,

Patient.BloodGroup,

Request.RequestDate

Patient

Request

Patient.HospitalID =

Request.HospitalID

Blood Issue with Patient

Patient.Name,

Blood_Issue.IssueDate,

Blood_Unit.BloodGroup

Blood_Issue

Request

Blood_Issue.RequestID =

Request.RequestID

Patient

Request.HospitalID =

Patient.HospitalID

Aggregate Functions

Total Donations by Donor

<span style="color: #FF8A65; font-weight: bold;">SELECT</span> DonorID, <span style="color: #FF5252; font-weight: bold;">COUNT</span>(*) <span style="color: #FF8A65; font-weight: bold;">AS</span> TotalDonations<br><span style="color: #FF8A65; font-weight: bold;">FROM</span> Donation<br><span style="color: #FF8A65; font-weight: bold;">GROUP BY</span> DonorID;

Blood Units by Blood Group

<span style="color: #FF8A65; font-weight: bold;">SELECT</span> BloodGroup, <span style="color: #FF5252; font-weight: bold;">SUM</span>(Quantity) <span style="color: #FF8A65; font-weight: bold;">AS</span> TotalUnits<br><span style="color: #FF8A65; font-weight: bold;">FROM</span> Blood_Unit<br><span style="color: #FF8A65; font-weight: bold;">GROUP BY</span> BloodGroup;

Patients per Hospital

<span style="color: #FF8A65; font-weight: bold;">SELECT</span> HospitalID, <span style="color: #FF5252; font-weight: bold;">COUNT</span>(*) <span style="color: #FF8A65; font-weight: bold;">AS</span> TotalPatients<br><span style="color: #FF8A65; font-weight: bold;">FROM</span> Patient<br><span style="color: #FF8A65; font-weight: bold;">GROUP BY</span> HospitalID;

COUNT()

Counts rows in groups

GROUP BY

Groups results by column

SUM()

Calculates total values

Project Achievements

ER Modeling

Entity-relationship diagram designed

Database Design

Relational schema created

Normalization

Tables normalized to 3NF

Primary Keys

Unique identifiers defined

Foreign Keys

Referential integrity enforced

SQL Queries

Basic SELECT queries written

JOIN Operations

Multi-table JOINs implemented

Aggregate Functions

COUNT, SUM, GROUP BY used

Relational DB Implementation

Full database deployed

CONCLUSION

Summary

The Blood Bank Management System provides an efficient solution for managing blood donations, testing, storage, requests, and distribution.

The project demonstrates practical applications of database design, normalization, ER modeling, and SQL implementation.

Database Design

Normalization

ER Modeling

SQL Implementation

10 Tables

Complete schema

3NF

Fully normalized

10+ Queries

SQL implemented

Questions?

Thank You For Your Attention

Presented By

Sameer Rashid

Haider Ali

CC230 — Database Management Systems | Spring 2026