Database Management Systems Project
This project is a comprehensive E-Commerce Database Management System designed to manage user information, product inventory, orders, payments, and shipping details. It is developed using Oracle SQL, adhering to data integrity principles, normalization standards, and relational database concepts (RDBMS).
The primary objective of this project is to model a structured and efficient system for an e-commerce platform. The system supports the following core functions:
- User registration and account management.
- Product management with a hierarchical category structure.
- Order placement and status tracking (Processing -> Shipped -> Delivered).
- Payment processing and financial record keeping.
The high-level entity relationships and cardinalities.

The mapping of entities to relational tables (7-Step Mapping).

The actual database implementation view showing data types and constraints.

The database is built upon 7 main entities:
- USERS: Stores customer and admin information.
- ADDRESSES: Manages user shipping/billing addresses (1:N relationship).
- PRODUCTS: Contains inventory, pricing, and product details.
- CATEGORIES: Classifies products using a self-referencing hierarchical structure (Subcategories).
- ORDERS: Stores order headers and total amounts.
- ORDER_DETAILS: Links products to orders, preserving historical price data (
SalePrice). - PAYMENTS: Records payment transactions for orders (1:1 relationship).
The database design has been optimized for performance and data integrity:
- 1NF (First Normal Form): All tables contain atomic values, and there are no repeating groups.
- 2NF (Second Normal Form): All tables have single-column primary keys, eliminating partial dependencies.
- 3NF (Third Normal Form): Most tables are fully compatible. The
ADDRESSEStable is intentionally denormalized (keeping City/District together) for ease of use, while all other entities strictly follow 3NF.
The project includes advanced SQL queries for reporting and analysis:
- Best-Selling Products: Lists the top 5 products based on total quantity sold.
- Customer Analysis: Retrieves the order history and total spending of a specific user.
- Financial Control: Identifies orders with incomplete or failed payments.
- Time-Based Reporting: Lists all orders created in a specific period (e.g., May 2025).
This project has been tested and implemented on Oracle Live SQL.