This project involves designing and implementing a database system for Qatar Tour Agency (QTA). The database is intended to manage reservations, tour packages, customer details, and tour guides. The system ensures smooth reservation processes, tour guide assignments, and efficient handling of tour trips for QTA. The project was carried out as part of the Database Systems Lab (CMPS 351) course at Qatar University.
- Fatima Ahmed (202008039)
- Shada Ibrahim (202108365)
- Layan Alwattar (202203559)
- Noor Ahmed (201905802)
The main objectives of this project include:
- Designing an Entity-Relationship Diagram (ERD) for the QTA database.
- Mapping the ERD to a relational schema.
- Implementing the database using SQL.
- Developing a Java-based GUI for interacting with the database.
- Ensuring data integrity using primary keys, foreign keys, and constraints.
The QTA database system supports the following functionalities:
- User Authentication: Tour agents log in using a username and password.
- Customer Management:
- Add a new customer.
- Update customer information.
- Remove a customer along with their reservations.
- Tour Reservation:
- Reserve multiple tour trips (reservations must be made 7 days in advance).
- View reservation status (Confirmed or Cancelled).
- Tour Management:
- Add and update tour trip details.
- Assign a tour guide who speaks at least two languages.
- Transaction Logging:
- Track additions, updates, and deletions in the system.
- Store transaction details including timestamp, agent ID, and username.
- Report Generation:
- View all reservations and their statuses.
- List all tour trips and assigned guides.
The database consists of the following key entities:
- Customer (CustomerID, CustName, Address)
- Reservation (ReservationID, ReservationDate, Status, CustomerID, AgentID)
- TourAgent (AgentID, AgentName, Username)
- Login (Username, Password)
- Transaction (TransactionID, Time, TransactionDate, Type, AgentID, Username)
- TourSite (SiteID, NearLandmark, SiteName)
- TourPackage (PackageID, PackName)
- TourTrip (TripID, Destination, Price, TourDate, StartTime, Duration, Location, PackageID, SiteID, GuideID)
- TourGuide (GuideID, GuideName)
- Language (LanguageID, LanguageName)
- Customers can make multiple reservations.
- Reservations are handled by tour agents.
- Each tour trip is associated with a tour package and tour site.
- Tour guides are assigned to tour trips.
- Tour guides speak multiple languages.
- Database Management System: Oracle SQL
- Programming Language: Java
- GUI Development: Java Swing / JavaFX
- ERD Modeling: ERDPlus, Draw.io, or SmartDraw
- SQL script for creating tables and inserting sample data.
- Constraints such as Primary Keys, Foreign Keys, and Check Constraints.
- SQL Triggers for logging transactions.
- SQL Views for generating reports.
- User-friendly interface for managing customers, reservations, and tours.
- Integrated login authentication for tour agents.
- Due Date: Phase 1 - March 9, 2024 | Phase 2 - April 27, 2024
- All project files are submitted in a ZIP file named in the format:
Fatima_Shada_Layan_Noor.zip
- The project follows Qatar University’s academic integrity policy.
For any queries regarding the project, please reach out to Fatima Hamza.