diff --git a/Assessment2425DataCaseScenario.csv b/Assessment2425DataCaseScenario.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7e07be280f3b54205359287e8552f04610f1b3a9
--- /dev/null
+++ b/Assessment2425DataCaseScenario.csv
@@ -0,0 +1,21 @@
+Name,Email,DOB,Street,City,Country,Zip Code,Favorite Book,Favorite Drink,Favorite Activity,Neighbour 1,Neighbour1Email,Neighbour 2,Neighbour2Email
+Person 1,person1@email.com,3/15/1995,12 Maple St,London,England,E1 6AN,A New Beginning,Lemonade,Outdoor Running,Neighbor A,neighborA@email.com,Neighbor B,neighborB@email.com
+Person 2,person2@email.com,6/22/1993,45 Oak Ave,Manchester,England,M1 2WD,The Road to Success,Coffee,Hiking,Neighbor C,neighborC@email.com,Neighbor D,neighborD@email.com
+Person 3,person3@email.com,9/10/1991,89 Pine Rd,Birmingham,England,B1 1AB,Endless Possibilities,Smoothie,Swimming,Neighbor E,neighborE@email.com,Neighbor F,neighborF@email.com
+Person 4,person4@email.com,12/5/1998,23 Birch St,Edinburgh,Scotland,EH1 1YZ,Journey of Life,Iced Tea,Traveling,Neighbor G,neighborG@email.com,Neighbor H,neighborH@email.com
+Person 5,person5@email.com,11/30/1983,67 Cedar Ln,Bristol,England,BS1 3XE,The Adventure Continues,Green Tea,Gardening,Neighbor I,neighborI@email.com,Neighbor J,neighborJ@email.com
+Person 6,person6@email.com,7/18/1989,56 Elm St,Liverpool,England,L1 1AA,Finding Inner Peace,Coconut Water,Reading,Neighbor K,neighborK@email.com,Neighbor L,neighborL@email.com
+Person 7,person7@email.com,4/25/1996,12 Maple St,Glasgow,Scotland,G1 2TF,Exploring New Horizons,Fruit Juice,Cycling,Neighbor M,neighborM@email.com,Neighbor N,neighborN@email.com
+Person 8,person8@email.com,1/9/1990,89 Oak Dr,Leeds,England,LS1 3AB,The Great Journey,Water,Hiking,Neighbor O,neighborO@email.com,Neighbor P,neighborP@email.com
+Person 9,person9@email.com,8/17/1993,123 Pine Rd,Newcastle,England,NE1 2AB,The Power of Change,Hot Chocolate,Skiing,Neighbor Q,neighborQ@email.com,Neighbor R,neighborR@email.com
+Person 10,person10@email.com,10/22/1997,15 Elm St,Cardiff,Wales,CF10 3AF,New Beginnings Await,Fruit Smoothie,Jogging,Neighbor S,neighborS@email.com,Neighbor T,neighborT@email.com
+Person 11,person11@email.com,5/13/1992,78 Oak Ln,Sheffield,England,S1 4GT,Wandering Souls,Sparkling Water,Rock Climbing,Neighbor U,neighborU@email.com,Neighbor V,neighborV@email.com
+Person 12,person12@email.com,2/27/1986,56 Birch Rd,Nottingham,England,NG1 2PB,Freedom and Choice,Herbal Tea,Yoga,Neighbor W,neighborW@email.com,Neighbor X,neighborX@email.com
+Person 13,person13@email.com,11/25/1991,10 Holy St,Cardiff,Wales,CF10 2NF,New Beginnings Await,Smoothie,Hiking,Neighbor Y,neighborY@email.com,Neighbor Z,neighborZ@email.com
+Person 14,person14@email.com,2/1/1987,34 Willow Rd,Edinburgh,Scotland,EH1 1AB,Chasing Dreams,Lemonade,Running,Neighbor AA,neighborAA@email.com,Neighbor AB,neighborAB@email.com
+Person 15,person15@email.com,8/12/1984,78 Cedar Ave,Cambridge,England,CB1 2SE,The Endless Journey,Iced Coffee,Cycling,Neighbor AC,neighborAC@email.com,Neighbor AD,neighborAD@email.com
+Person 16,person16@email.com,3/9/1990,45 Maple Rd,Oxford,England,OX2 6TP,The Future Ahead,Fruit Juice,Yoga,Neighbor AE,neighborAE@email.com,Neighbor AF,neighborAF@email.com
+Person 17,person17@email.com,11/17/1995,23 Birch Ave,Southampton,England,SO14 3HL,The Path to Glory,Green Tea,Gardening,Neighbor AG,neighborAG@email.com,Neighbor AH,neighborAH@email.com
+Person 18,person18@email.com,6/20/1994,12 Elm Blvd,Leicester,England,LE1 3PL,Life�s Adventure,Coconut Water,Hiking,Neighbor AI,neighborAI@email.com,Neighbor AJ,neighborAJ@email.com
+Person 19,person19@email.com,12/11/1992,56 Oak Rd,Norwich,England,NR1 4BE,Into the Wild,Herbal Tea,Swimming,Neighbor AK,neighborAK@email.com,Neighbor AL,neighborAL@email.com
+Person 20,person20@email.com,9/25/1988,89 Pine Ave,Cardiff,Wales,CF10 3BC,The Adventure Continues,Water,Hiking,Neighbor AM,neighborAM@email.com,Neighbor AN,neighborAN@email.com
diff --git a/Assessment2425DataCaseScenario.xlsx b/Assessment2425DataCaseScenario.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..3d4158b5d78aa101245c944834bc0fd1132e611a
Binary files /dev/null and b/Assessment2425DataCaseScenario.xlsx differ
diff --git a/Task 1/ER.mwb b/Task 1/ER.mwb
new file mode 100644
index 0000000000000000000000000000000000000000..72a8a3a7fe415c375229f14ce7e01d26ba96df4f
Binary files /dev/null and b/Task 1/ER.mwb differ
diff --git a/Task 1/ER.mwb.bak b/Task 1/ER.mwb.bak
new file mode 100644
index 0000000000000000000000000000000000000000..81353d4453ec6055f747deadfbea904d370b113d
Binary files /dev/null and b/Task 1/ER.mwb.bak differ
diff --git a/Task 1/Table_setup.sql b/Task 1/Table_setup.sql
new file mode 100644
index 0000000000000000000000000000000000000000..ce9c9f0ff940a87f4931ed28833ecca4f6703040
--- /dev/null
+++ b/Task 1/Table_setup.sql	
@@ -0,0 +1,33 @@
+CREATE TABLE person (
+    PersonID INT PRIMARY KEY,
+    Name VARCHAR(255) NOT NULL,
+    Email VARCHAR(255) UNIQUE NOT NULL,
+    DOB DATE NOT NULL
+);
+
+CREATE TABLE address (
+    AddressID INT PRIMARY KEY,
+    PersonID INT,
+    Street VARCHAR(255) NOT NULL,
+    City VARCHAR(100) NOT NULL,
+    Country VARCHAR(100) NOT NULL,
+    ZipCode VARCHAR(20) NOT NULL,
+    FOREIGN KEY (PersonID) REFERENCES person(PersonID) ON DELETE CASCADE
+);
+
+CREATE TABLE favorites (
+    FavoriteID INT PRIMARY KEY,
+    PersonID INT,
+    FavoriteBook VARCHAR(255),
+    FavoriteDrink VARCHAR(255),
+    FavoriteActivity VARCHAR(255),
+    FOREIGN KEY (PersonID) REFERENCES person(PersonID) ON DELETE CASCADE
+);
+
+CREATE TABLE neighbour (
+    NeighbourID INT PRIMARY KEY,
+    PersonID INT,
+    NeighbourName VARCHAR(255),
+    NeighbourEmail VARCHAR(255),
+    FOREIGN KEY (PersonID) REFERENCES person(PersonID) ON DELETE CASCADE
+);
diff --git a/Task 1/adress_import.sql b/Task 1/adress_import.sql
new file mode 100644
index 0000000000000000000000000000000000000000..59d861e0da8da3b7706ec972a56be22997f02947
--- /dev/null
+++ b/Task 1/adress_import.sql	
@@ -0,0 +1,12 @@
+LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Assessment2425DataCaseScenario.csv'
+INTO TABLE Address
+FIELDS TERMINATED BY ','  
+LINES TERMINATED BY '\r\n'
+IGNORE 1 ROWS
+(@dummy1, @dummy2, @dummy3, @Street, @City, @Country, @ZipCode, @dummy4, @dummy5, @dummy6, @dummy7, @dummy8, @dummy9, @dummy10)
+SET 
+    PersonID = (SELECT PersonID FROM Person WHERE Email = @dummy2),
+    Street = @Street,
+    City = @City,
+    Country = @Country,
+    ZipCode = @ZipCode;
diff --git a/Task 1/favourite_import.sql b/Task 1/favourite_import.sql
new file mode 100644
index 0000000000000000000000000000000000000000..dea045ba135238fe708136757dacd998a0fd5d33
--- /dev/null
+++ b/Task 1/favourite_import.sql	
@@ -0,0 +1,11 @@
+LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Assessment2425DataCaseScenario.csv'
+INTO TABLE Favorites
+FIELDS TERMINATED BY ','  
+LINES TERMINATED BY '\r\n'
+IGNORE 1 ROWS
+(@dummy1, @dummy2, @dummy3, @dummy4, @dummy5, @dummy6, @dummy7, @FavoriteBook, @FavoriteDrink, @FavoriteActivity, @dummy8, @dummy9, @dummy10, @dummy11)
+SET 
+    PersonID = (SELECT PersonID FROM Person WHERE Email = @dummy2),
+    FavoriteBook = @FavoriteBook,
+    FavoriteDrink = @FavoriteDrink,
+    FavoriteActivity = @FavoriteActivity;
diff --git a/Task 1/initial_setup.sql b/Task 1/initial_setup.sql
new file mode 100644
index 0000000000000000000000000000000000000000..999b87f8152d508c10ed6e818a0982b08b130c1e
--- /dev/null
+++ b/Task 1/initial_setup.sql	
@@ -0,0 +1,2 @@
+CREATE DATABASE PeopleDB;
+USE PeopleDB;
\ No newline at end of file
diff --git a/Task 1/neighbour2_import.sql b/Task 1/neighbour2_import.sql
new file mode 100644
index 0000000000000000000000000000000000000000..6573c29d4070366fcd73d63612671ed75eff8739
--- /dev/null
+++ b/Task 1/neighbour2_import.sql	
@@ -0,0 +1,11 @@
+LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Assessment2425DataCaseScenario.csv'
+INTO TABLE Neighbour
+FIELDS TERMINATED BY ','  
+LINES TERMINATED BY '\r\n'
+IGNORE 1 ROWS
+(@dummy1, @dummy2, @dummy3, @du
+mmy4, @dummy5, @dummy6, @dummy7, @dummy8, @dummy9, @dummy10, @Neighbour1, @Neighbour1Email, @Neighbour2, @Neighbour2Email)
+SET 
+    PersonID = (SELECT PersonID FROM Person WHERE Email = @dummy2),
+    NeighbourName = @Neighbour2,
+    NeighbourEmail = @Neighbour2Email;
diff --git a/Task 1/neighbour_import.sql b/Task 1/neighbour_import.sql
new file mode 100644
index 0000000000000000000000000000000000000000..a2732929fba2009803252dc4f7672ba1112d0922
--- /dev/null
+++ b/Task 1/neighbour_import.sql	
@@ -0,0 +1,10 @@
+LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Assessment2425DataCaseScenario.csv'
+INTO TABLE Neighbour
+FIELDS TERMINATED BY ','  
+LINES TERMINATED BY '\r\n'
+IGNORE 1 ROWS
+(@dummy1, @dummy2, @dummy3, @dummy4, @dummy5, @dummy6, @dummy7, @dummy8, @dummy9, @dummy10, @Neighbour1, @Neighbour1Email, @Neighbour2, @Neighbour2Email)
+SET 
+    PersonID = (SELECT PersonID FROM Person WHERE Email = @dummy2),
+    NeighbourName = @Neighbour1,
+    NeighbourEmail = @Neighbour1Email;
diff --git a/Task 1/person_import.sql b/Task 1/person_import.sql
new file mode 100644
index 0000000000000000000000000000000000000000..cc861cc1b167bfd12561c26264d8980aaa9ea2a5
--- /dev/null
+++ b/Task 1/person_import.sql	
@@ -0,0 +1,9 @@
+LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Assessment2425DataCaseScenario.csv'
+INTO TABLE Person
+FIELDS TERMINATED BY ','  
+LINES TERMINATED BY '\r\n'
+IGNORE 1 ROWS
+(@Name, Email, @DOB, @dummy1, @dummy2, @dummy3, @dummy4, @dummy5, @dummy6, @dummy7, @dummy8, @dummy9, @dummy10, @dummy11)
+SET 
+    PersonID = CAST(SUBSTRING_INDEX(@Name, ' ', -1) AS UNSIGNED), -- Extracts numeric ID
+    DOB = STR_TO_DATE(@DOB, '%m/%d/%Y');
diff --git a/Task 2/insert_data.py b/Task 2/insert_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..b6e4cb4866829de2e49914c3463d3c675d191fae
--- /dev/null
+++ b/Task 2/insert_data.py	
@@ -0,0 +1,39 @@
+import pandas as pd
+from setup import collection
+
+# Load the Excel file (update the filename if needed)
+file_path = "Assessment2425DataCaseScenario.xlsx"  # Change to the correct file path
+df = pd.read_excel(file_path)
+
+# Convert Excel data to a format suitable for MongoDB
+persons_data = []
+for _, row in df.iterrows():
+    person = {
+        "name": row["Name"],
+        "email": row["Email"],
+        "dob": row["DOB"],
+        "address": {
+            "street": row["Street"],
+            "city": row["City"],
+            "country": row["Country"],
+            "zip_code": str(row["Zip Code"])  # Convert zip code to string to prevent issues
+        },
+        "favourites": {
+            "book": row["Favorite Book"],
+            "drink": row["Favorite Drink"],
+            "activity": row["Favorite Activity"]
+        },
+        "neighbours": [
+            {"name": row["Neighbour 1"], "email": row["Neighbour1Email"]} if pd.notna(row["Neighbour 1"]) else None,
+            {"name": row["Neighbour 2"], "email": row["Neighbour2Email"]} if pd.notna(row["Neighbour 2"]) else None
+        ]
+    }
+    
+    # Remove None values (if no neighbour exists)
+    person["neighbours"] = [n for n in person["neighbours"] if n is not None]
+
+    persons_data.append(person)
+
+# Insert data into MongoDB
+collection.insert_many(persons_data)
+print("Excel data inserted into MongoDB successfully!")
diff --git a/Task 2/queries.py b/Task 2/queries.py
new file mode 100644
index 0000000000000000000000000000000000000000..3852cedc2a5c8cc966eb904f45bcaeb4606ab589
--- /dev/null
+++ b/Task 2/queries.py	
@@ -0,0 +1,61 @@
+from setup import collection
+from datetime import datetime
+
+# Function to calculate age from DOB
+def calculate_age(dob):
+    if isinstance(dob, str):  # If dob is a string, convert it
+        dob = datetime.strptime(dob, "%Y-%m-%d")  # Adjust format if needed
+
+    birth_year = dob.year  # Extract year directly
+    current_year = datetime.now().year
+    return current_year - birth_year
+
+### 1️⃣ Display Person's Name and Age
+print("\n--- Persons and Their Age ---")
+for person in collection.find({}, {"name": 1, "dob": 1}):
+    age = calculate_age(person["dob"])
+    print(f"Name: {person['name']}, Age: {age}")
+
+### 2️⃣ Group Persons by Their Favourite Drink and Return Average Age
+print("\n--- Average Age by Favourite Drink ---")
+pipeline = [
+    {
+        "$group": {
+            "_id": "$favourites.drink",
+            "average_age": {"$avg": {"$subtract": [datetime.now().year, {"$toInt": {"$substr": ["$dob", 0, 4]}}]}}
+        }
+    }
+]
+results = collection.aggregate(pipeline)
+for res in results:
+    print(f"Drink: {res['_id']}, Average Age: {res['average_age']}")
+
+### 3️⃣ Display Average Age of People Who Like Hiking
+print("\n--- Average Age of People Who Like Hiking ---")
+pipeline = [
+    {"$match": {"favourites.activity": "Hiking"}},
+    {
+        "$group": {
+            "_id": None,
+            "average_age": {"$avg": {"$subtract": [datetime.now().year, {"$toInt": {"$substr": ["$dob", 0, 4]}}]}}
+        }
+    }
+]
+result = list(collection.aggregate(pipeline))
+print(f"Average age of people who like Hiking: {result[0]['average_age']}")
+
+### 4️⃣ Display Total Number of People from Each City
+print("\n--- Total Number of People per City ---")
+pipeline = [
+    {"$group": {"_id": "$address.city", "total_people": {"$sum": 1}}},
+    {"$sort": {"total_people": 1}}
+]
+results = collection.aggregate(pipeline)
+for res in results:
+    print(f"City: {res['_id']}, Total People: {res['total_people']}")
+
+### 5️⃣ Display Name of Person(s) Whose Neighbour is 'Neighbour C'
+print("\n--- People Whose Neighbour is 'Neighbour C' ---")
+results = collection.find({"neighbours.name": "Neighbor C"}, {"name": 1, "_id": 0})
+for person in results:
+    print(person["name"])
diff --git a/Task 2/setup.py b/Task 2/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fedda2731729577e67b2e18192aeb921db22944
--- /dev/null
+++ b/Task 2/setup.py	
@@ -0,0 +1,10 @@
+from pymongo import MongoClient
+
+# Connect to MongoDB
+client = MongoClient("mongodb://localhost:27017/")
+
+# Create the database and collection
+db = client["task2_nosql"]
+collection = db["persons"]
+
+print("MongoDB connection successful!")
diff --git a/__pycache__/setup.cpython-313.pyc b/__pycache__/setup.cpython-313.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c6f6bd13c3f6b59b801666c39151b69a8116b12c
Binary files /dev/null and b/__pycache__/setup.cpython-313.pyc differ