0% found this document useful (0 votes)
3 views

Python 3

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Python 3

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 74

DAV PUBLIC SCHOOL , SEC - 7 ,ROHINI ,

DELHI - 110085

SUBMITTED BY – Sonal
CLASS – XIITH B
ROLL NUMBER - 33
PROJECT NAME – Space Agency Management
ACKNOWLEDGEMENT

I would like to express my gratitude to my teacher,


Mrs. Shalu Ghose, for her guidance and support
throughout this project. Her feedback and
encouragement have been invaluable. I also
appreciate the wealth of resources available online
and the conductive environment provided by my
educational institution.

Thank you all for your support and inspiration.


CERTIFICATE

This is to certify that Sonal, Anushka, Priyansh of class


XIITH – B have completed their project titled “Space
Agency Management” under the guidance of Mrs.
Shalu Ghose for the academic year 2024-2025. The
certified students have been dedicated the completion
of their work before the given deadline without
missing any important details from the project. It also
certifies hat this project is teamwork of all students
and can be submitted for evaluation.

Teacher’s signature

_________________
INTRODUCTION

The Space Agency Management System is a specialized


software solution developed to facilitate the efficient
management of key operational components within a
space agency. This system focuses on five primary
areas: missions, personnel, space instruments, launch
vehicles, satellites. By integrating these modules, the
system ensures seamless coordination and effective
management of resources, personnel, and
technological assets crucial for successful space
missions
TABLE STRUCTURES
mysql> desc missions;

+------------------------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+------------------------+--------------+------+-----+---------+-------+

| NAME | varchar(30) | YES | | NULL | |

| OBJECTIVE | varchar(100) | YES | | NULL | |

| TARGET | varchar(15) | YES | | NULL | |

| SPACECRAFT_NAME | varchar(20) | YES | | NULL | |

| SPACECRAFT_WEIGHT_kg | int | YES | | NULL | |

| LAUNCH_VEHICLE | varchar(20) | YES | | NULL | |

| TYPE | varchar(10) | YES | | NULL | |

| POWER_SOURCE | varchar(20) | YES | | NULL | |

| STATUS | varchar(20) | YES | | NULL | |

| ESTIMATED_COST_$ | int | YES | | NULL | |

| SPACE_INSTRUMENTS_USED | varchar(100) | YES | | NULL | |

+------------------------+--------------+------+-----+---------+-------+

11 rows in set (0.04 sec)

mysql> desc personnel;

+------------------+--------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+------------------+--------------+------+-----+---------+----------------+

| ID | int | NO | PRI | NULL | auto_increment |

| NAME | varchar(40) | YES | | NULL | |

| ROLE | varchar(30) | YES | | NULL | |

| DEPARTMENT | varchar(40) | YES | | NULL | |

| HIRE_DATE | date | YES | | NULL | |

| SALARY_$ | int | YES | | NULL | |

| EXPERIENCE_LEVEL | varchar(10) | YES | | NULL | |

| mission_assigned | varchar(100) | YES | | NULL | |

+------------------+--------------+------+-----+---------+----------------+

8 rows in set (0.01 sec)

mysql> desc space_instruments;

+----------------------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------------------+-------------+------+-----+---------+----------------+

| INSTRUMENT_ID | int | NO | PRI | NULL | auto_increment |


| INSTRUMENT_NAME | varchar(40) | YES | | NULL | |

| TYPE | varchar(40) | YES | | NULL | |

| FUNCTION | varchar(90) | YES | | NULL | |

| DIMENSIONS | varchar(30) | YES | | NULL | |

| MASS_KG | int | YES | | NULL | |

| POWER_CONSUMPTION(W) | varchar(7) | YES | | NULL | |

| COST_$ | int | YES | | NULL | |

| status | varchar(50) | YES | | NULL | |

| QUANTITY | int | YES | | NULL | |

+----------------------+-------------+------+-----+---------+----------------+

10 rows in set (0.01 sec)

mysql> desc launch_vehicles;

+----------------+--------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------------+--------------+------+-----+---------+----------------+

| VEHICLE_ID | int | NO | PRI | NULL | auto_increment |

| VEHICLE_NAME | varchar(20) | YES | | NULL | |

| MANUFACTURER | varchar(30) | YES | | NULL | |

| CAPACITY_KG | int | YES | | NULL | |

| ENGINE_TYPE | varchar(20) | YES | | NULL | |

| HEIGHT_meter | int | YES | | NULL | |

| diameter_meter | decimal(5,0) | YES | | NULL | |

| STATUS | varchar(30) | YES | | NULL | |

+----------------+--------------+------+-----+---------+----------------+

8 rows in set (0.01 sec)

mysql> desc satellites;

+----------------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------------+-------------+------+-----+---------+----------------+

| SATELLITE_ID | int | NO | PRI | NULL | auto_increment |

| SATELLITE_NAME | varchar(20) | YES | | NULL | |

| LAUNCH_DATE | date | YES | | NULL | |

| PURPOSE | varchar(30) | YES | | NULL | |

| status | varchar(20) | YES | | NULL | |

| ORBIT_TYPE | varchar(20) | YES | | NULL | |

| WEIGHT_KG | int | YES | | NULL | |

+----------------+-------------+------+-----+---------+----------------+

7 rows in set (0.01 sec)


CODE
import pymysql as py

#connecting python with mysql and creating database

db1 = py.connect(

host = "localhost",

user = "root",

passwd = "Sejal@20",)

cur = db1.cursor()

cur.execute("CREATE DATABASE IF NOT EXISTS SSA;")

#creating tables

db1 = py.connect(

host = "localhost",

user = "root",

passwd = "Sejal@20",

db = "SSA")

cur = db1.cursor()

cur.execute("""CREATE TABLE IF NOT EXISTS MISSIONS(

NAME VARCHAR(30),

OBJECTIVE VARCHAR(100),

TARGET VARCHAR(15),

SPACECRAFT_NAME VARCHAR(20),

SPACECRAFT_WEIGHT_kg INT(10),

LAUNCH_VEHICLE VARCHAR(20),

TYPE VARCHAR(10),

POWER_SOURCE VARCHAR(20),

STATUS VARCHAR(20),

ESTIMATED_COST_$ INT(30),

SPACE_INSTRUMENTS_USED VARCHAR(100));""")

cur.execute("""CREATE TABLE IF NOT EXISTS PERSONNEL(

ID INT PRIMARY KEY AUTO_INCREMENT,

NAME VARCHAR(40),

ROLE VARCHAR(30),

DEPARTMENT VARCHAR(40),

HIRE_DATE DATE,

SALARY_$ INT(7),
EXPERIENCE_LEVEL VARCHAR(10),

MISSION_ASSIGNED VARCHAR(100));""")

cur.execute("""CREATE TABLE IF NOT EXISTS SPACE_INSTRUMENTS(

INSTRUMENT_ID INT PRIMARY KEY AUTO_INCREMENT,

INSTRUMENT_NAME VARCHAR(40),

TYPE VARCHAR (40),

`FUNCTION` VARCHAR(90),

DIMENSIONS VARCHAR(30),

MASS_KG INT(2),

`POWER_CONSUMPTION(W)` VARCHAR(7),

COST_$ INT(10),

STATUS VARCHAR(50),

QUANTITY INT(3));""")

cur.execute("""CREATE TABLE IF NOT EXISTS LAUNCH_VEHICLES(

VEHICLE_ID INT PRIMARY KEY AUTO_INCREMENT,

VEHICLE_NAME VARCHAR(20),

MANUFACTURER VARCHAR(30),

CAPACITY_KG INT(5),

ENGINE_TYPE VARCHAR(20),

HEIGHT_meter INT(3),

DIAMETER_meter DECIMAL(5),

STATUS VARCHAR(30));""")

cur.execute("""CREATE TABLE IF NOT EXISTS SATELLITES(

SATELLITE_ID INT PRIMARY KEY AUTO_INCREMENT,

SATELLITE_NAME VARCHAR(20),

LAUNCH_DATE DATE,

PURPOSE VARCHAR(30),

STATUS VARCHAR(20),

ORBIT_TYPE VARCHAR(20),

WEIGHT_KG INT(5));""")

db1.commit()

#Functions for table MISSIONS

#Viewing all the missions

def view_missions():

db1 = py.connect(
host = "localhost",

user = "root",

passwd = "Sejal@20",

db = "SSA")

cur = db1.cursor()

cur.execute("Select * from missions ;")

rows = cur.fetchall()

columns = [desc[0] for desc in cur.description]

col_width = [len(col) for col in columns]

for row in rows:

for i, val in enumerate(row):

col_width[i] = max(col_width[i], len(str(val)))

col_format = " | ".join(["{:<" + str(width) + "}" for width in col_width])

row_format = " | ".join(["{:<" + str(col_width[i]) + "}" for i in range(len(col_width))])

print(col_format.format(*columns))

print("-" * (sum(col_width) + 3 * (len(columns) - 1)))

for row in rows:

print(row_format.format(*[str(val) for val in row]))

#adding a new mission

def add_mission():

db1 = py.connect(

host = "localhost",

user = "root",

passwd = "Sejal@20",

db = "SSA")

cur = db1.cursor()

while True:

nam = input("Enter name of the mission:")

obj = input("Enter objective of the mission:")

tar = input("Enter target:")

spc = input("Enter name of the spacecraft to be used in the mission:")

wt = int(input("Enter weight of the spacecraft(in kg):"))


lnch = input("Enter name of the launch vehicle to be used in the mission:")

typ = input("Enter type of the mission:")

pwr = input("Enter power source:")

stat = input("Enter status of the mission:")

estcost = int(input("Enter the estimated cost of the mission:"))

inst = input("Enter the name of the instruments used in the mission:")

query = "INSERT INTO missions values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"

cur.execute(query,(nam,obj,tar,spc,wt,lnch,typ,pwr,stat,estcost,inst))

db1.commit()

print("record inserted successfully!")

restart = input("Do you want to add another mission?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unacceptable")

print("Exiting...")

break

#updating a mission

def update_mission():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')

cur = db1.cursor()

while True:

a = input("Enter name of the mission you want to update/change:")

cur.execute("SELECT * from missions where name = '%s' "%(a))

res = cur.fetchone()

if res is None:

print("This mission does not exist in the table")

if input("Do you want to start again?(y/n):")=='y':

pass
else:

print("exiting...")

break

else:

b = int(input("""What do you want to update/change?

1.name

2.objective

3.target

4.spacecraft name

5.spacecraft weight

6.launch vehicle

7.type of the mission

8.power source

9.status

10.estimated cost

11.space instruments used

Enter here:"""))

if b==1:

c = input("Enter update:")

cur.execute("UPDATE missions set name = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==2:

c = input("Enter update:")

cur.execute("UPDATE missions set objective = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==3:

c = input("Enter update:")

cur.execute("UPDATE missions set target = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==4:

c = input("Enter update:")

cur.execute("UPDATE missions set spacecraft_name = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==5:

c = input("Enter update:")

cur.execute("UPDATE missions set spacecraft_weight_kg = '%s' WHERE name = '%s'


"%(c,a))
print("updated successfully!")

db1.commit()

elif b==6:

c = input("Enter update:")

cur.execute("UPDATE missions set launch_vehicle = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==7:

c = input("Enter update:")

cur.execute("UPDATE missions set type = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==8:

c = input("Enter update:")

cur.execute("UPDATE missions set power_source = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==9:

c = input("Enter updated status:")

cur.execute("UPDATE missions set status = '%s' WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==10:

c = int(input("Enter updated cost:"))

cur.execute("UPDATE missions set estimated_cost_$ =%d WHERE name = '%s' "%(c,a))

print("updated successfully!")

db1.commit()

elif b==11:

c = input("Do you want to add or remove any instrument?(a,r):")

if c=='a':

d = input("Enter the name of the instrument(s) you want to add:")

cur.execute("UPDATE missions set space_instruments_used =


CONCAT(space_instruments_used,',','%s') WHERE name = '%s' "%(d,a))

print("updated successfully!")

db1.commit()

elif c=='r':

d = input("Enter the name(s) of the instrument you want to remove:")

cur.execute("""update missions set space_instruments_used = TRIM(

BOTH ',' FROM REPLACE(space_instruments_used,'%s','')) where name =


'%s' """%(d,a))

print("updated successfully!")

db1.commit()

else:
print("Value not accepted")

print("starting again...")

pass

restart = input("Do you want to update again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#Deleting a mission

def del_mission():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')

cur = db1.cursor()

while True:

a = input("Enter the name of the mission you want to delete:")

cur.execute("SELECT * from missions where name = '%s' "%(a))

res = cur.fetchone()

if res is None:

print("This mission does not exist in the table")

if input("Do you want to start again?(y/n):")=='y':

pass

else:

print("exiting...")

break

else:

b = input("Are you sure you want to delete this mission from the table?(y/n):")

if b=='n':

print("exiting..")
break

elif b=='y':

cur.execute("delete from missions where name='%s'"%(a))

db1.commit()

print("Record deleted successfully!")

restart = input("Do you want to delete anything else?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value not accepted")

print("starting again...")

pass

#searching a mission

def search_mission():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')

cur = db1.cursor()

while True:

a = input("Enter the name of the mission you want to search:")

cur.execute("Select * from missions where name = '%s' "%(a))

res = cur.fetchone()

if res is None:

print("This mission does not exist in the table")

if input("Do you want to start again?(y/n):")=='y':

pass

else:

print("exiting...")

break

else:

print("Here are all the details of the mission",a)

print(res)

if input("Would you like to exit now?(y/n):")=='n':


pass

else:

break

#listing missions by status

def list_mission():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')

cur = db1.cursor()

while True:

stat = int(input("""Which missions do you want to see?

1.planned

2.ongoing

3.completed

Enter here:"""))

if stat==1:

cur.execute("SELECT * FROM missions where status = 'planned' ")

for x in cur.fetchall():

print(x)

break

elif stat==2:

cur.execute("SELECT * FROM missions where status = 'ongoing'")

for x in cur.fetchall():

print(x)

break

elif stat==3:

cur.execute("SELECT * FROM missions where status = 'completed'")

for x in cur.fetchall():

print(x)

break

else:

print("Value not accepted")

print("starting again..")

pass
restart = input("Do you want to list again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#functions for table PERSONNEL

#viewing details of all the personnel members

def view_personnel():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')

cur = db1.cursor()

cur.execute("SELECT * FROM personnel")

rows = cur.fetchall()

columns = [desc[0] for desc in cur.description]

col_width = [len(col) for col in columns]

for row in rows:

for i, val in enumerate(row):

col_width[i] = max(col_width[i], len(str(val)))

col_format = " | ".join(["{:<" + str(width) + "}" for width in col_width])

row_format = " | ".join(["{:<" + str(col_width[i]) + "}" for i in range(len(col_width))])

print(col_format.format(*columns))

print("-" * (sum(col_width) + 3 * (len(columns) - 1)))

for row in rows:

print(row_format.format(*[str(val) for val in row]))

#adding a new personnel member


def add_personnel():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')

cur = db1.cursor()

while True:

nam = input("Enter name :")

role = input("Enter role :")

dept = input("Enter department :")

hdate = input("Enter hire date :")

sal = int(input("Enter salary :"))

exp = input("Enter experience level :")

assign = input("Enter the mission assigned :")

query = "INSERT INTO personnel


(name,role,department,hire_date,salary_$,experience_level,mission_assigned)
values(%s,%s,%s,%s,%s,%s,%s)"

cur.execute(query,(nam,role,dept,hdate,sal,exp,assign))

db1.commit()

print("Record inserted successfully!")

restart = input("Do you want to add another personnel member?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unacceptable")

print("Exiting...")

break

#uodating information of the personnel members

def update_personnel():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = 'SSA')
cur = db1.cursor()

while True:

a = int(input("Enter the ID of the member whose details you want to update/change:"))

cur.execute("Select *from personnel where ID = %d "%(a))

res = cur.fetchone()

if res is None:

print("This ID do not exist in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

b = int(input("""What do you want to update/change?

1.Name

2.Role

3.Department

4.Hire Date

5.Salary

6.Exp

7.Mission Assigned

Enter here:"""))

if b==1:

updt = input("Enter updated name:")

cur.execute("UPDATE personnel set name = '%s' WHERE ID = %d "%(updt,a))

print("updated successfully!")

db1.commit()

elif b==2:

updt = input("Enter update:")

cur.execute("UPDATE personnel set role = '%s' WHERE ID = %d "%(updt,a))

print("updated successfully!")

db1.commit()

elif b==3:

updt = input("Enter update:")

cur.execute("UPDATE personnel set department = '%s' WHERE ID = %d "%(updt,a))

print("updated successfully!")

db1.commit()

elif b==4:

updt = input("Enter update:")

cur.execute("UPDATE personnel set hire_date = '%s' WHERE ID = %d "%(updt,a))

print("updated successfully!")
db1.commit()

elif b==5:

updt = int(input("Enter update:"))

cur.execute("UPDATE personnel set salary_$ = %d WHERE ID = %d "%(updt,a))

print("updated successfully!")

db1.commit()

elif b==6:

updt = input("Enter update:")

cur.execute("UPDATE personnel set experience_level = '%s' WHERE ID = %d


"%(updt,a))

print("updated successfully!")

db1.commit()

elif b==7:

updt = input("Enter update:")

cur.execute("UPDATE personnel set mission_assigned = '%s' WHERE ID = %d


"%(updt,a))

print("updated successfully!")

db1.commit()

else:

print("Value not accepted")

print("starting again...")

pass

restart = input("Do you want to update again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#deleting all the information of a personnel member

def del_personnel():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()
while True:

a = int(input("Enter ID of the member whose information is to be deleted:"))

cur.execute("select * from personnel where ID = %d "%(a))

res = cur.fetchone()

if res is None:

print("This ID do not exist in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

b = input("Are you sure you want to delete this information from the table?(y/n):")

if b=='n':

print("exiting..")

break

elif b=='y':

cur.execute("delete from personnel where ID = %d "%(a))

db1.commit()

print("Record deleted successfully!")

restart = input("Do you want to delete anything else?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

else:

print("Value not accepted")

print("starting again...")

pass

#assigning personnel members missions

def assign_personnel():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()
while True:

nam = input("Enter the name of the member who is to be assigned a mission:")

cur.execute("SELECT * from personnel where name = '%s' "%(nam))

res = cur.fetchone()

if res is None:

print("This member is not present in the table!")

if input("Do you want to start again?(y/n):")=='n':

break

else:

mis = input("Enter the the name of the mission assigned:")

cur.execute("UPDATE personnel set mission_assigned = '%s' WHERE name = '%s'


"%(mis,nam))

db1.commit()

print("mission assigned successfully")

restart = input("Do you want to assign another mission?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#Functions for table SPACE_INSTRUMENTS

#viewing the table

def view_instruments():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

cur.execute("SELECT * from space_instruments ;")

rows = cur.fetchall()

columns = [desc[0] for desc in cur.description]

col_width = [len(col) for col in columns]


for row in rows:

for i, val in enumerate(row):

col_width[i] = max(col_width[i], len(str(val)))

col_format = " | ".join(["{:<" + str(width) + "}" for width in col_width])

row_format = " | ".join(["{:<" + str(col_width[i]) + "}" for i in range(len(col_width))])

print(col_format.format(*columns))

print("-" * (sum(col_width) + 3 * (len(columns) - 1)))

for row in rows:

print(row_format.format(*[str(val) for val in row]))

#adding new instrument

def add_instrument():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

name = input("Enter name of the instrument:")

typ = input("Enter type of the instrument:")

func = input("Enter function of the instrument:")

sz = input("Enter dimensions of the instrument:")

mass = int(input("Enter mass of the instrument:"))

pwr = int(input("Enter power consumption of the instrument:"))

cst = int(input("Enter cost of the instrument:"))

stat = input("Enter status:")

qty = int(input("Enter quantity available:"))

query = "INSERT INTO space_instruments


(instrument_name,type,`function`,dimensions,mass_kg,`power_consumption(w)`,cost_$,status,quantity)
values(%s,%s,%s,%s,%s,%s,%s,%s,%s)"

cur.execute(query,(name,typ,func,sz,mass,pwr,cst,stat,qty))

db1.commit()

print("Row inserted successfully!")

restart = input("Do you want to add another instrument to the table?(y/n):")


if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#deleting an instrument from the table

def del_instrument():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

a = int(input("Enter ID of the instrument which is to be deleted from the table:"))

cur.execute("SELECT * from space_instruments where instrument_id = %d"%(a))

res = cur.fetchall()

if res is None:

print("There is no record of this instrument in the table")

if input("Do you want to start again?(y/n):")=='y':

pass

else:

break

else:

b = input("Are you sure you want to delete this instrument from the table?(y/n)")

if b=='n':

print("Exiting...")

break

elif b=='y':

cur.execute("Delete from space_instruments where instrument_ID = %d "%(a))

db1.commit()

print("record deleted successfully!")

else:

print("Value not acceptable")


print("starting again...")

continue

restart = input("Do you want to delete anything else?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#updating an instrument

def update_instrument():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

a = int(input("Enter the ID of the instrument which is to be updated/changed:"))

cur.execute("SELECT * from space_instruments where instrument_id = %d "%(a))

res = cur.fetchone()

if res is None:

print("There is no such ID in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

b = int(input("""What do you want to update/change?

1.Instrument name

2.Function

3.Dimensions

4.Mass

5.Power Consumption

6.Cost

7.Status
Enter here:"""))

if b==1:

updt = input("Enter updated name:")

cur.execute("UPDATE space_instruments set instrument_name = '%s' WHERE


instrument_ID = %d "%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==2:

updt = input("Enter the updated function:")

cur.execute("UPDATE space_instruments set `functions` = '%s' WHERE instrument_ID =


%d "%(updt,a))

db1.commit()

print("Updated successfuly!")

elif b==3:

updt = input("Enter update:")

cur.execute("UPDATE space_instruments set dimensions = '%s' WHERE instrument_ID =


%d "%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==4:

updt = input("Enter update:")

cur.execute("UPDATE space_instruments set mass_kg = %s WHERE instrument_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==5:

updt = input("Enter update:")

cur.execute("UPDATE space_instruments set `power_consumption(w)` = %s WHERE


instrument_ID = %d "%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==6:

updt = input("Enter update:")

cur.execute("UPDATE space_instruments set cost_$ = %s WHERE instrument_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==7:

updt = input("Enter update:")

cur.execute("UPDATE space_instruments set status = '%s' WHERE instrument_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

else:
print("Value Not Valid.")

print("Starting Again...")

continue

restart = input("Do you want to update again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#listing instruments by their type

def list_instruments():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

lst=int(input("""What type of instruments do you want to see?

1.Telescope

2.Spectrometer

3.Radiometer

4.Camera

5.Gyroscope

6.Magnetometer

7.Plasma Analyzer

8.Photometer

9.Particle Detector

10.Radar

11.Altimeter

12.Gas Chromatograph

13.Anemometer

14.Environmental sensors

Enter here:"""))
print("Here is all the information of the intruments of given type:")

if lst==1:

cur.execute("SELECT * from space_instruments WHERE type = 'telescope' ;")

for x in cur.fetchall():

print(x)

elif lst==2:

cur.execute("SELECT * from space_instruments WHERE type = 'spectrometer' ;")

for x in cur.fetchall():

print(x)

elif lst==3:

cur.execute("SELECT * from space_instruments WHERE type = 'radiometer' ;")

for x in cur.fetchall():

print(x)

elif lst==4:

cur.execute("SELECT * from space_instruments WHERE type = 'camera' ;")

for x in cur.fetchall():

print(x)

elif lst==5:

cur.execute("SELECT * from space_instruments WHERE type = 'Gyroscope' ;")

for x in cur.fetchall():

print(x)

elif lst==6:

cur.execute("SELECT * from space_instruments WHERE type = 'magnetometer' ;")

for x in cur.fetchall():

print(x)

elif lst==7:

cur.execute("SELECT * from space_instruments WHERE type = 'plasma analyser' ;")

for x in cur.fetchall():

print(x)

elif lst==8:

cur.execute("SELECT * from space_instruments WHERE type = 'photometer' ;")

for x in cur.fetchall():

print(x)

elif lst==9:

cur.execute("SELECT * from space_instruments WHERE type = 'particle detector ;")

for x in cur.fetchall():

print(x)

elif lst==10:

cur.execute("SELECT * from space_instruments WHERE type = 'radar' ;")

for x in cur.fetchall():

print(x)

elif lst==11:
cur.execute("SELECT * from space_instruments WHERE type = 'altimeter' ;")

for x in cur.fetchall():

print(x)

elif lst==12:

cur.execute("SELECT * from space_instruments WHERE type = 'gas chromatograph' ;")

for x in cur.fetchall():

print(x)

elif lst==13:

cur.execute("SELECT * from space_instruments WHERE type = 'anemometer' ;")

for x in cur.fetchall():

print(x)

elif lst==14:

cur.execute("SELECT * from space_instruments WHERE type = 'environmental sensors' ;")

for x in cur.fetchall():

print(x)

else:

print("Value unacceptable")

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

restart = input("Do you want to search again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#assigning instruments to a mission

def assign_instrument():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()
while True:

a = input("Enter ID of the instrument to assign it to a specific mission:")

cur.execute("SELECT instrument_name from space_instruments where instrument_id =%s "%(a))

res = cur.fetchone()

if res is None:

print("There is no such instrument in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

assign = input("Enter name of the mission to which instrument is to be assigned:")

cur.execute("UPDATE missions set space_instruments_used =


CONCAT(space_instruments_used,',','%s') WHERE name = '%s' "%(res[0],assign))

db1.commit()

print("assigned successfully")

restart = input("Do you want to assign again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#Functions for table LAUNCH_VEHICLES

#viewing the table

def view_launch_vehicles():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

cur.execute("SELECT * from launch_vehicles ;")

rows = cur.fetchall()

columns = [desc[0] for desc in cur.description]


col_width = [len(col) for col in columns]

for row in rows:

for i, val in enumerate(row):

col_width[i] = max(col_width[i], len(str(val)))

col_format = " | ".join(["{:<" + str(width) + "}" for width in col_width])

row_format = " | ".join(["{:<" + str(col_width[i]) + "}" for i in range(len(col_width))])

print(col_format.format(*columns))

print("-" * (sum(col_width) + 3 * (len(columns) - 1)))

for row in rows:

print(row_format.format(*[str(val) for val in row]))

#adding new launch vehicle

def add_launch_vehicle():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

name = input("Enter name of the launch vehicle:")

mfg = input("Enter name of the manufacturer:")

cpt = input("Enter capacity :")

eng = input("Enter engine type of the launch vehicle:")

hght = float(input("Enter height of the launch vehicle:"))

d = float(input("Enter diameter of the launch vehicle:"))

stat = input("Enter status :")

query = "INSERT INTO launch_vehicles


(vehicle_name,manufacturer,capacity_kg,engine_type,height_meter,diameter_meter,status)values(%s,%s,%s,
%s,%s,%s,%s)"

cur.execute(query,(name,mfg,cpt,eng,hght,d,stat))

db1.commit()

print("Record inserted successfully!")

restart = input("Do you want to add another launch vehicle to the table?(y/n):")
if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#deleting a launch vehicle

def del_launch_vehicle():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

a = int(input("Enter the vehicle ID which is to be deleted:"))

cur.execute("SELECT * from launch_vehicles where vehicle_id = %d "%(a))

res = cur.fetchone()

if res is None:

print("There is no such vehicle ID in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

else:

b = input("Are you sure you want to delete this record?(y/n):")

if b=='n':

print("Exiting...")

break

elif b=='y':

cur.execute("DELETE from launch_vehicles where vehicle_ID = %d "%(a))

db1.commit()

print("record deleted successfully!")

else:

print("Value unaccepteable")
print("Exiting...")

break

restart = input("Do you want to delete anything else?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#updating the table

def update_launch_vehicle():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

a = int(input("Enter the ID of the vehicle which is to be updated:"))

cur.execute("SELECT * from launch_vehicles where vehicle_id = %d "%(a))

res = cur.fetchone()

if res is None:

print("There is no such vehicle ID in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

b = int(input("""What do you want to update/change?

1.Vehicle Name

2.Manufacturer

3.Capacity

4.Engine Type

5.Height

6.Diameter

7.Status
Enter here:"""))

if b==1:

updt = input("Enter update:")

cur.execute("UPDATE launch_vehicles set vehicle_name = '%s' WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

elif b==2:

updt = input("Enter update:")

cur.execute("UPDATE launch_vehicles set manufacturer = '%s' WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

elif b==3:

updt = int(input("Enter update:"))

cur.execute("UPDATE launch_vehicles set capacity_kg = %d WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

elif b==4:

updt = input("Enter update:")

cur.execute("UPDATE launch_vehicles set engine_type = '%s' WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

elif b==5:

updt = int(input("Enter update:"))

cur.execute("UPDATE launch_vehicles set height_meter = %d WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

elif b==6:

updt = int(input("Enter update:"))

cur.execute("UPDATE launch_vehicles set diameter_meter = %d WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

elif b==7:

updt = input("Enter update:")

cur.execute("UPDATE launch_vehicles set status = '%s' WHERE vehicle_ID = %d


"%(updt,a))

db1.commit()

print("updated successfully!")

else:

print("Value unacceptable")
if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

restart = input("Do you want to update again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#listing launch vehicles as per their payload capacity

def list_launch_vehicle():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

a = int(input("Enter the minimum capacity that the launch vehicle should have:"))

cur.execute("SELECT * from launch_vehicles where capacity_kg > %d "%(a))

res = cur.fetchall()

if res is None:

print("There is no launch vehicle having capacity higher than",a)

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

else:

print("Here are all the details of all the launch vehicles having capacity higher
than",a)

for x in res:

print(x)

restart = input("Do you want to list again?(y/n):")


if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#Functions for table SATELLITES

#viewing the table

def view_satellites():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

cur.execute("SELECT * from satellites ;")

rows = cur.fetchall()

columns = [desc[0] for desc in cur.description]

col_width = [len(col) for col in columns]

for row in rows:

for i, val in enumerate(row):

col_width[i] = max(col_width[i], len(str(val)))

col_format = " | ".join(["{:<" + str(width) + "}" for width in col_width])

row_format = " | ".join(["{:<" + str(col_width[i]) + "}" for i in range(len(col_width))])

print(col_format.format(*columns))

print("-" * (sum(col_width) + 3 * (len(columns) - 1)))

for row in rows:

print(row_format.format(*[str(val) for val in row]))

#adding a new satellite

def add_satellite():
db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

name = input("Enter name of the satellite:")

ldate = input("Enter launch date:")

pur = input("Enter purpose for the launch of the satellite:")

stat = input("Enter status:")

orbtype = input("Enter the type of the orbit:")

wt = int(input("Enter weight of the satellite:"))

query = "INSERT INTO satellites


(satellite_name,launch_date,purpose,status,orbit_type,weight_kg)values(%s,%s,%s,%s,%s,%s)"

cur.execute(query,(name,ldate,pur,stat,orbtype,wt))

db1.commit()

print("Record inserted successfully!")

restart = input("Do you want to add another satellite to the table?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#deleting a record from the table

def del_satellite():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()
while True:

a = int(input("Enter the vehicle ID which is to be deleted:"))

cur.execute("SELECT * from satellites WHERE satellite_id = %d "%(a))

res = cur.fetchone()

if res is None:

print("There is not such ID in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

else:

b = input("Are you sure you want to delete this record?(y/n):")

if b=='n':

print("Exitiing...")

break

elif b=='y':

cur.execute("DELETE from satellites where satellite_ID = %d "%(a))

db1.commit()

print("Record deleted successfully!")

else:

print("Value unacceptable")

print("Exiting...")

break

restart = input("Do you want to delete anything else?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#updating the table

def update_satellite():

db1 = py.connect(

host = 'localhost',

user = 'root',
passwd = 'Sejal@20',

db = "SSA")

cur = db1.cursor()

while True:

a = int(input("Enter ID of the satellite which id to be updated/changed:"))

cur.execute("SELECT * from satellites WHERE satellite_id = %d "%(a))

res = cur.fetchone()

if res is None:

print("There is not such ID in the table")

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

else:

b = int(input("""What do you want to update/change?

1.Satellite Name

2.Launch date

3.Purpose

4.Status

5.Orbit type

6.Weight

Enter here:"""))

if b==1:

updt = input("Enter update:")

cur.execute("UPDATE satellites set satellite_name = '%s' WHERE satellite_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==2:

updt = input("Enter update:")

cur.execute("UPDATE satellites set launch_date = '%s' WHERE satellite_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==3:

updt = input("Enter update:")

cur.execute("UPDATE satellites set purpose = '%s' WHERE satellite_ID = %d


"%(updt,a))

db1.commit()
print("Updated successfully!")

elif b==4:

updt = input("Enter update:")

cur.execute("UPDATE satellites set status = '%s' WHERE satellite_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==5:

updt = input("Enter update:")

cur.execute("UPDATE satellites set orbit_type = '%s' WHERE satellite_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

elif b==6:

updt = int(input("Enter update:"))

cur.execute("UPDATE satellites set weight_kg = %d WHERE satellite_ID = %d


"%(updt,a))

db1.commit()

print("Updated successfully!")

else:

print("Value unacceptable")

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

restart = input("Do you want to update again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

#listing satellites by their purpose and status

def list_satellite():

db1 = py.connect(

host = 'localhost',

user = 'root',

passwd = 'Sejal@20',
db = "SSA")

cur = db1.cursor()

while True:

a = int(input("""On what basis do you want list the satellite's information?

1.Purpose

2.Status

Enter here:"""))

if a==1:

b=int(input("""select the purpose:

1.Communication

2.Weather

3.GPS

4.Earth Observation

5.Research

Enter here:"""))

if b==1:

cur.execute("SELECT * from satellites WHERE purpose = 'communication' ;")

for x in cur.fetchall():

print(x)

elif b==2:

cur.execute("SELECT * from satellites WHERE purpose ='weather' ;")

for x in cur.fetchall():

print(x)

elif b==3:

cur.execute("SELECT * from satellites WHERE purpose = 'GPS' ;")

for x in cur.fetchall():

print(x)

elif b==4:

cur.execute("SELECT * from satellites WHERE purpose = 'earth observation' ;")

for x in cur.fetchall():

print(x)

elif b==5:

cur.execute("SELECT * from satellites WHERE purpose = 'research' ;")

for x in cur.fetchall():

print(x)

else:

print("Value unacceptable")

if input("Do you want to start again?(y/n):")=='n':

break
else:

pass

restart = input("Do you want to list again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

elif a==2:

b = int(input("""select status:

1.Operational

2.Decommissioned

Enter here:"""))

if b==1:

cur.execute("SELECT * from satellites WHERE status = 'operational' ;")

for x in cur.fetchall():

print(x)

elif b==2:

cur.execute("SELECT * from satellites WHERE status = 'decommissioned' ;")

for x in cur.fetchall():

print(x)

else:

print("Value unacceptable")

if input("Do you want to start again?")=='n':

break

else:

pass

restart = input("Do you want to search again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break
else:

print("Value unacceptable")

if input("Do you want to start again?(y/n):")=='n':

break

else:

pass

#MENU

print("""WELCOME TO Solaris Space Authority(SSA) management system""")

while True:

print("""which table would you like to manage:

1.Missions

2.Personnel

3.Space instruments

4.Launch vehicles

5.Satellites""")

a = int(input("Enter your choice :"))

while True:

if a==1:

print("""What do you want to do?

1.Display the table.

2.Add a new mission to the table.

3.Delete an existing mission from the table.

4.Update/change an existing mission.

5.Search a particular mission.

6.List mission as per their status.""")

ch = int(input("Enter your choice here:"))

if ch==1:

view_missions()

elif ch==2:

add_mission()

elif ch==3:

del_mission()

elif ch==4:

update_mission()

elif ch==5:
search_mission()

elif ch==6:

list_mission()

else:

print("INVALID VALUE")

restart = input("Do you want to perform again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

elif a==2:

print("""What do you want to do?

1.Display the table.

2.Add a new member to the table.

3.Remove an existing member from the table.

4.Update/change details of a member.

5.Assign mission to a member.""")

ch = int(input("Enter your choice here:"))

if ch==1:

view_personnel()

elif ch==2:

add_personnel()

elif ch==3:

del_personnel()

elif ch==4:

update_personnel()

elif ch==5:

assign_personnel()

else:

print("INVALID VALUE")

restart = input("Do you want to perform again?(y/n):")

if restart=='y':

pass
elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

elif a==3:

print("""What do you want to do?

1.Display the table.

2.Add a new instrument to the table.

3.Delete an instrument from the table.

4.Update/change details of an existing instrument.

5.List instruments as per their type.

6.Assign an instrument to a mission.""")

ch = int(input("Enter your choice here:"))

if ch==1:

view_instruments()

elif ch==2:

add_instrument()

elif ch==3:

del_instrument()

elif ch==4:

update_instrument()

elif ch==5:

list_instruments()

elif ch==6:

assign_instrument()

else:

print("INVALID VALUE")

restart = input("Do you want to perform again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break
elif a==4:

print("""What do you want to do?

1.Display the table.

2.Add a new vehicle to the table.

3.Delete a vehicle from the table.

4.Update/change details of a launch vehicle.

5.List launch vehicles as per their capacity.""")

ch = int(input("Enter your choice here:"))

if ch==1:

view_launch_vehicles()

elif ch==2:

add_launch_vehicle()

elif ch==3:

del_launch_vehicle()

elif ch==4:

update_launch_vehicle()

elif ch==5:

list_launch_vehicle()

else:

print("INVALID VALUE")

restart = input("Do you want to perform again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

elif a==5:

print("""What do you want to do?

1.Display the table.

2.Add a new satellite to the table.

3.Delete an existing satellite from the table

4.Update/change details of a satellite.

5.List satellite by their purpose and status.""")


ch = int(input("Enter your choice here:"))

if ch==1:

view_satellites()

elif ch==2:

add_satellite()

elif ch==3:

del_satellite()

elif ch==4:

update_satellite()

elif ch==5:

list_satellite()

else:

print("INVALID VALUE")

restart = input("Do you want to perform again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

else:

print("INVALID VALUE")

restart = input("Do you want to perform again?(y/n):")

if restart=='y':

pass

elif restart=='n':

break

else:

print("Value unaccepptable")

print("Exiting...")

break

res = input("Would you like to switch to another table?(y/n):")

if res=='y':

pass
elif res=='n':

print("Exiting...")

break

else:

print("INVALID VALUE")

if input("start again?(y/n):")=='y':

pass

else:

break
OUTPUT
WELCOME TO Solaris Space Authority(SSA) management system

which table would you like to manage:

1.Missions

2.Personnel

3.Space instruments

4.Launch vehicles

5.Satellites

Enter your choice :1

What do you want to do?

1.Display the table.

2.Add a new mission to the table.

3.Delete an existing mission from the table.

4.Update/change an existing mission.

5.Search a particular mission.

6.List mission as per their status.

Enter your choice here:2

Enter name of the mission:Poseidon Journey

Enter objective of the mission:Study Neptune's Atmosphere and Magnetic Field

Enter target:Neptune

Enter name of the spacecraft to be used in the mission:Nereus

Enter weight of the spacecraft(in kg):3200

Enter name of the launch vehicle to be used in the mission:AstraX1

Enter type of the mission:Orbiter

Enter power source:RTG

Enter status of the mission:Planned

Enter the estimated cost of the mission:1200000000

Enter the name of the instruments used in the mission:SpecTron,MagProbeX,AstraVision

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Helio-Probe

Enter objective of the mission:Explore Solar Wind and Heliosphere

Enter target:Sun

Enter name of the spacecraft to be used in the mission:sol invictus

Enter weight of the spacecraft(in kg):1000

Enter name of the launch vehicle to be used in the mission:Solis IV

Enter type of the mission:Probe

Enter power source:Solar Panel

Enter status of the mission:Ongoing

Enter the estimated cost of the mission:500000000

Enter the name of the instruments used in the mission:PlasmaWaveDetector,Neutrinonet,MagProbeX

record inserted successfully!

Do you want to add another mission?(y/n):y


Enter name of the mission:Gaia observer

Enter objective of the mission:Map the Milky Way Galaxy

Enter target:Milky Way

Enter name of the spacecraft to be used in the mission:Calypso

Enter weight of the spacecraft(in kg):2500

Enter name of the launch vehicle to be used in the mission:Kautilya Launcher

Enter type of the mission:Survey

Enter power source:Solar Panels

Enter status of the mission:Planned

Enter the estimated cost of the mission:750000000

Enter the name of the instruments used in the mission:StarScope-1,Luxor,Photonix

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:LunaQuest

Enter objective of the mission:Investigate Lunar Surface Composition

Enter target:Moon

Enter name of the spacecraft to be used in the mission:Selene Rover

Enter weight of the spacecraft(in kg):1200

Enter name of the launch vehicle to be used in the mission:Prithvi Pioneer

Enter type of the mission:Rover

Enter power source:Solar Panels

Enter status of the mission:Completed

Enter the estimated cost of the mission:600000000

Enter the name of the instruments used in the mission:Quantis,LumaLens,Stratabore

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Vespera

Enter objective of the mission:Study Venusian Atmosphere and Weather

Enter target:Venus

Enter name of the spacecraft to be used in the mission:Vespera

Enter weight of the spacecraft(in kg):1300

Enter name of the launch vehicle to be used in the mission:Solaris Arrow

Enter type of the mission:Orbiter

Enter power source:Solar Panels

Enter status of the mission:Ongoing

Enter the estimated cost of the mission:650000000

Enter the name of the instruments used in the mission:AeroSense,SpectraX,VistaCam,Luxor

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Sedna Scout

Enter objective of the mission:Explore Trans-Neptunian Object Sedna

Enter target:Sedna

Enter name of the spacecraft to be used in the mission:Permafrost

Enter weight of the spacecraft(in kg):1700

Enter name of the launch vehicle to be used in the mission:DeepSpaceX


Enter type of the mission:Flyby

Enter power source:RTG

Enter status of the mission:Planned

Enter the estimated cost of the mission:950000000

Enter the name of the instruments used in the mission:VisionRay,PartiScan,ImagoPro,Beamix

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Titan Voyager

Enter objective of the mission:Analyze Titan's Atmosphere And Surface

Enter target:Titan

Enter name of the spacecraft to be used in the mission:Kronos Lander

Enter weight of the spacecraft(in kg):2800

Enter name of the launch vehicle to be used in the mission:Titan V

Enter type of the mission:Lander

Enter power source:RTGG

Enter status of the mission:Planned

Enter the estimated cost of the mission:900000000

Enter the name of the instruments used in the mission:ChromatoScope,VistaCam,SpecTron

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Perseus

Enter objective of the mission:Study Europa's ice crust and subsurface ocean

Enter target:Europa

Enter name of the spacecraft to be used in the mission:Perseus

Enter weight of the spacecraft(in kg):1500

Enter name of the launch vehicle to be used in the mission:Titan V

Enter type of the mission:Orbiter

Enter power source:Solar Panels

Enter status of the mission:Planned

Enter the estimated cost of the mission:800000000

Enter the name of the instruments used in the mission:RadarScope,MagnetoScope,OptiCam

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Solar Sentinel

Enter objective of the mission:Monitor Solar Poles

Enter target:Sun

Enter name of the spacecraft to be used in the mission:HelioSentinel

Enter weight of the spacecraft(in kg):1100

Enter name of the launch vehicle to be used in the mission:Solis IV

Enter type of the mission:Orbiter

Enter power source:Solar Panels

Enter status of the mission:Completed

Enter the estimated cost of the mission:550000000

Enter the name of the instruments used in the mission:FluxMeter,ImagoPro,SpectroVision

record inserted successfully!


Do you want to add another mission?(y/n):y

Enter name of the mission:Mars Rover Next

Enter objective of the mission:Research Human Habitability on Mars

Enter target:Mars

Enter name of the spacecraft to be used in the mission:Stratos

Enter weight of the spacecraft(in kg):2400

Enter name of the launch vehicle to be used in the mission:Prithvi Pioneer

Enter type of the mission:Lander

Enter power source:Solar Panels

Enter status of the mission:Ongoing

Enter the estimated cost of the mission:1000000000

Enter the name of the instruments used in the mission:BioGauge,OptiCam,Terrabore

record inserted successfully!

Do you want to add another mission?(y/n):y

Enter name of the mission:Icarus

Enter objective of the mission:Explore Enceladus' geysers and subsurface ocean

Enter target:Enceladus

Enter name of the spacecraft to be used in the mission:Icarus

Enter weight of the spacecraft(in kg):2200

Enter name of the launch vehicle to be used in the mission:Saturn V

Enter type of the mission:Lander

Enter power source:RTG

Enter status of the mission:Planned

Enter the estimated cost of the mission:1100000000

Enter the name of the instruments used in the mission:CoreBore,SpectroVision,ImagoPro

record inserted successfully!

Do you want to add another mission?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new mission to the table.

3.Delete an existing mission from the table.

4.Update/change an existing mission.

5.Search a particular mission.

6.List mission as per their status.

Enter your choice here:1

NAME | OBJECTIVE | TARGET | SPACECRAFT_NAME |


SPACECRAFT_WEIGHT_kg | LAUNCH_VEHICLE | TYPE | POWER_SOURCE | STATUS | ESTIMATED_COST_$ |
SPACE_INSTRUMENTS_USED

-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
--------

Poseidon Journey | Study Neptune's Atmosphere and Magnetic Field | Neptune | Nereus | 3200
| AstraX1 | Orbiter | RTG | Planned | 1200000000 | SpecTron,MagProbeX,AstraVision

Helio-Probe | Explore Solar Wind and Heliosphere | Sun | sol invictus | 1000
| Solis IV | Probe | Solar Panel | Ongoing | 500000000 |
PlasmaWaveDetector,Neutrinonet,MagProbeX

Gaia observer | Map the Milky Way Galaxy | Milky Way | Calypso | 2500
| Kautilya Launcher | Survey | Solar Panels | Planned | 750000000 | StarScope-1,Luxor,Photonix
LunaQuest | Investigate Lunar Surface Composition | Moon | Selene Rover | 1200
| Prithvi Pioneer | Rover | Solar Panels | Completed | 600000000 | Quantis,LumaLens,Stratabore

Vespera | Study Venusian Atmosphere and Weather | Venus | Vespera | 1300


| Solaris Arrow | Orbiter | Solar Panels | Ongoing | 650000000 | AeroSense,SpectraX,VistaCam,Luxor

Sedna Scout | Explore Trans-Neptunian Object Sedna | Sedna | Permafrost | 1700


| DeepSpaceX | Flyby | RTG | Planned | 950000000 | VisionRay,PartiScan,ImagoPro,Beamix

Titan Voyager | Analyze Titan's Atmosphere And Surface | Titan | Kronos Lander | 2800
| Titan V | Lander | RTGG | Planned | 900000000 | ChromatoScope,VistaCam,SpecTron

Perseus | Study Europa's ice crust and subsurface ocean | Europa | Perseus | 1500
| Titan V | Orbiter | Solar Panels | Planned | 800000000 | RadarScope,MagnetoScope,OptiCam

Solar Sentinel | Monitor Solar Poles | Sun | HelioSentinel | 1100


| Solis IV | Orbiter | Solar Panels | Completed | 550000000 | FluxMeter,ImagoPro,SpectroVision

Mars Rover Next | Research Human Habitability on Mars | Mars | Stratos | 2400
| Prithvi Pioneer | Lander | Solar Panels | Ongoing | 1000000000 | BioGauge,OptiCam,Terrabore

Icarus | Explore Enceladus' geysers and subsurface ocean | Enceladus | Icarus | 2200
| Saturn V | Lander | RTG | Planned | 1100000000 | CoreBore,SpectroVision,ImagoPro

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new mission to the table.

3.Delete an existing mission from the table.

4.Update/change an existing mission.

5.Search a particular mission.

6.List mission as per their status.

Enter your choice here:4

Enter name of the mission you want to update/change:Titan Voyager

What do you want to update/change?

1.name

2.objective

3.target

4.spacecraft name

5.spacecraft weight

6.launch vehicle

7.type of the mission

8.power source

9.status

10.estimated cost

11.space instruments used

Enter here:8

Enter update:RTG

updated successfully!

Do you want to update again?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new mission to the table.

3.Delete an existing mission from the table.

4.Update/change an existing mission.

5.Search a particular mission.


6.List mission as per their status.

Enter your choice here:6

Which missions do you want to see?

1.planned

2.ongoing

3.completed

Enter here:1

('Poseidon Journey', "Study Neptune's Atmosphere and Magnetic Field", 'Neptune', 'Nereus', 3200, 'AstraX1',
'Orbiter', 'RTG', 'Planned', 1200000000, 'SpecTron,MagProbeX,AstraVision')

('Gaia observer', 'Map the Milky Way Galaxy', 'Milky Way', 'Calypso', 2500, 'Kautilya Launcher', 'Survey', 'Solar
Panels', 'Planned', 750000000, 'StarScope-1,Luxor,Photonix')

('Sedna Scout', 'Explore Trans-Neptunian Object Sedna', 'Sedna', 'Permafrost', 1700, 'DeepSpaceX', 'Flyby', 'RTG',
'Planned', 950000000, 'VisionRay,PartiScan,ImagoPro,Beamix')

('Titan Voyager', "Analyze Titan's Atmosphere And Surface", 'Titan', 'Kronos Lander', 2800, 'Titan V', 'Lander',
'RTG', 'Planned', 900000000, 'ChromatoScope,VistaCam,SpecTron')

('Perseus', "Study Europa's ice crust and subsurface ocean", 'Europa', 'Perseus', 1500, 'Titan V', 'Orbiter',
'Solar Panels', 'Planned', 800000000, 'RadarScope,MagnetoScope,OptiCam')

('Icarus', "Explore Enceladus' geysers and subsurface ocean", 'Enceladus', 'Icarus', 2200, 'Saturn V', 'Lander',
'RTG', 'Planned', 1100000000, 'CoreBore,SpectroVision,ImagoPro')

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new mission to the table.

3.Delete an existing mission from the table.

4.Update/change an existing mission.

5.Search a particular mission.

6.List mission as per their status.

Enter your choice here:5

Enter the name of the mission you want to search:Gaia Observer

Here are all the details of the mission Gaia Observer

('Gaia observer', 'Map the Milky Way Galaxy', 'Milky Way', 'Calypso', 2500, 'Kautilya Launcher', 'Survey', 'Solar
Panels', 'Planned', 750000000, 'StarScope-1,Luxor,Photonix')

Would you like to exit now?(y/n):y

Do you want to perform again?(y/n):n

Would you like to switch to another table?(y/n):y

which table would you like to manage:

1.Missions

2.Personnel

3.Space instruments

4.Launch vehicles

5.Satellites

Enter your choice :2

What do you want to do?

1.Display the table.

2.Add a new member to the table.

3.Remove an existing member from the table.

4.Update/change details of a member.

5.Assign mission to a member.


Enter your choice here:2

Enter name :Dr. Aditi Sharma

Enter role :Cheif Scientist

Enter department :Research and Development

Enter hire date :2015-06-10

Enter salary :150000

Enter experience level :Senior

Enter the mission assigned :Poseidon Journey,LunaQuest

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :John Mitchell

Enter role :Project Manager

Enter department :Mission Control

Enter hire date :2017-09-15

Enter salary :120000

Enter experience level :Mid

Enter the mission assigned :Helio-Probe,Titan Voyager

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Dr. Emily Watson

Enter role :Astrophysicist

Enter department :Astrophysics

Enter hire date :2016-01-05

Enter salary :140000

Enter experience level :Senior

Enter the mission assigned :Gaia observer

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Michael Chen

Enter role :Flight Director

Enter department :Flight Operations

Enter hire date :2018-04-20

Enter salary :115000

Enter experience level :Mid

Enter the mission assigned :

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Dr. Sarah Thompson

Enter role :Lead Engineer

Enter department :Engineering

Enter hire date :2014-11-30

Enter salary :135000

Enter experience level :Senior

Enter the mission assigned :Titan Voyager,Poseidon Journey

Record inserted successfully!


Do you want to add another personnel member?(y/n):y

Enter name :Karen

Enter role :System Analyst

Enter department :IT & Systems

Enter hire date :2019-07-18

Enter salary :95000

Enter experience level :

Enter the mission assigned :Perseus,Vespera

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Dr, Rakesh Mehta

Enter role :Mission Specialist

Enter department :Space Science

Enter hire date :2015-03-25

Enter salary :125000

Enter experience level :Senior

Enter the mission assigned :Sedna Scout,Icarus

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Priya Singh

Enter role :Communications Officer

Enter department :Communications

Enter hire date :2017-10-12

Enter salary :85000

Enter experience level :Mid

Enter the mission assigned :Solar Sentinel,Vespera

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Dr. Anjali Nair

Enter role :Payload Specialist

Enter department :Payload Operations

Enter hire date :2016-06-07

Enter salary :130000

Enter experience level :Senior

Enter the mission assigned :Mars Rover Next

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Daniel Green

Enter role :Navigation Engineer

Enter department :Navigation

Enter hire date :2018-11-23

Enter salary :105000

Enter experience level :Mid

Enter the mission assigned :Sedna Scout,Helio-Probe

Record inserted successfully!


Do you want to add another personnel member?(y/n):y

Enter name :Jessica Wright

Enter role :Environmental Engineer

Enter department :Environmental Systems

Enter hire date :2019-05-01

Enter salary :90000

Enter experience level :Junior

Enter the mission assigned :Solar Sentinel,LunaQuest

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Dr. Thomas Hughes

Enter role :Geologist

Enter department :Geology

Enter hire date :2015-08-14

Enter salary :110000

Enter experience level :Mid

Enter the mission assigned :Vespera

Record inserted successfully!

Do you want to add another personnel member?(y/n):y

Enter name :Richard Martinez

Enter role :Software Developer

Enter department :Software Development

Enter hire date :2018-02-27

Enter salary :100000

Enter experience level :Mid

Enter the mission assigned :Orbitus

Record inserted successfully!

Do you want to add another personnel member?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new member to the table.

3.Remove an existing member from the table.

4.Update/change details of a member.

5.Assign mission to a member.

Enter your choice here:1

ID | NAME | ROLE | DEPARTMENT | HIRE_DATE | SALARY_$ |


EXPERIENCE_LEVEL | MISSION_ASSIGNED

-------------------------------------------------------------------------------------------------------------------
------------------------------------

1 | Dr. Aditi Sharma | Cheif Scientist | Research and Development | 2015-06-10 | 150000 | Senior
| Poseidon Journey,LunaQuest

2 | John Mitchell | Project Manager | Mission Control | 2017-09-15 | 120000 | Mid


| Helio-Probe,Titan Voyager

3 | Dr. Emily Watson | Astrophysicist | Astrophysics | 2016-01-05 | 140000 | Senior


| Gaia observer

4 | Michael Chen | Flight Director | Flight Operations | 2018-04-20 | 115000 | Mid


|
5 | Dr. Sarah Thompson | Lead Engineer | Engineering | 2014-11-30 | 135000 | Senior
| Titan Voyager,Poseidon Journey

6 | Karen | System Analyst | IT & Systems | 2019-07-18 | 95000 |


| Perseus,Vespera

7 | Dr, Rakesh Mehta | Mission Specialist | Space Science | 2015-03-25 | 125000 | Senior
| Sedna Scout,Icarus

8 | Priya Singh | Communications Officer | Communications | 2017-10-12 | 85000 | Mid


| Solar Sentinel,Vespera

9 | Dr. Anjali Nair | Payload Specialist | Payload Operations | 2016-06-07 | 130000 | Senior
| Mars Rover Next

10 | Daniel Green | Navigation Engineer | Navigation | 2018-11-23 | 105000 | Mid


| Sedna Scout,Helio-Probe

11 | Jessica Wright | Environmental Engineer | Environmental Systems | 2019-05-01 | 90000 | Junior


| Solar Sentinel,LunaQuest

12 | Dr. Thomas Hughes | Geologist | Geology | 2015-08-14 | 110000 | Mid


| Vespera

13 | Richard Martinez | Software Developer | Software Development | 2018-02-27 | 100000 | Mid


| Orbitus

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new member to the table.

3.Remove an existing member from the table.

4.Update/change details of a member.

5.Assign mission to a member.

Enter your choice here:4

Enter the ID of the member whose details you want to update/change:6

What do you want to update/change?

1.Name

2.Role

3.Department

4.Hire Date

5.Salary

6.Exp

7.Mission Assigned

Enter here:1

Enter updated name:Karen Patel

updated successfully!

Do you want to update again?(y/n):y

Enter the ID of the member whose details you want to update/change:6

What do you want to update/change?

1.Name

2.Role

3.Department

4.Hire Date

5.Salary

6.Exp

7.Mission Assigned

Enter here:6
Enter update:Junior

updated successfully!

Do you want to update again?(y/n):y

Enter the ID of the member whose details you want to update/change:7

What do you want to update/change?

1.Name

2.Role

3.Department

4.Hire Date

5.Salary

6.Exp

7.Mission Assigned

Enter here:1

Enter updated name:Dr. Rakesh Mehta

updated successfully!

Do you want to update again?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new member to the table.

3.Remove an existing member from the table.

4.Update/change details of a member.

5.Assign mission to a member.

Enter your choice here:5

Enter the name of the member who is to be assigned a mission:Michael Chen

Enter the the name of the mission assigned:LunaQuest,Icarus

mission assigned successfully

Do you want to assign another mission?(y/n):nss

Do you want to perform again?(y/n):n

Would you like to switch to another table?(y/n):y

which table would you like to manage:

1.Missions

2.Personnel

3.Space instruments

4.Launch vehicles

5.Satellites

Enter your choice :3

What do you want to do?

1.Display the table.

2.Add a new instrument to the table.

3.Delete an instrument from the table.

4.Update/change details of an existing instrument.

5.List instruments as per their type.

6.Assign an instrument to a mission.

Enter your choice here:2


Enter name of the instrument:SpecTron

Enter type of the instrument:Spectrometer

Enter function of the instrument:Analyzes light to determine composition

Enter dimensions of the instrument:14 x 5 x 5

Enter mass of the instrument:190ss

Enter power consumption of the instrument:4700

Enter cost of the instrument:14000000

Enter status:In use

Enter quantity available:3

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:MagProbeX

Enter type of the instrument:Magnetometer

Enter function of the instrument:Measures Magnetic Fields

Enter dimensions of the instrument:13 x 6 x 6

Enter mass of the instrument:56

Enter power consumption of the instrument:5300

Enter cost of the instrument:17000000

Enter status:In use

Enter quantity available:3

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:AstraVision

Enter type of the instrument:Camera

Enter function of the instrument:Captures high resolution images

Enter dimensions of the instrument:9 x 4 x 4

Enter mass of the instrument:70

Enter power consumption of the instrument:4100

Enter cost of the instrument:1150000

Enter status:In use

Enter quantity available:4

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:PlasmaWaveDetector

Enter type of the instrument:Plasma Analyzer

Enter function of the instrument:Analyzes Plasma Properties

Enter dimensions of the instrument:13 x 5 x 5

Enter mass of the instrument:120

Enter power consumption of the instrument:5000

Enter cost of the instrument:14000000

Enter status:Under maintenance

Enter quantity available:2

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:Neutrinonet


Enter type of the instrument:Particle Detector

Enter function of the instrument:Detects and Measures Particles

Enter dimensions of the instrument:15 x 4 x 4

Enter mass of the instrument:600

Enter power consumption of the instrument:3400

Enter cost of the instrument:87000000

Enter status:Not in use

Enter quantity available:1

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:StarScope-1

Enter type of the instrument:Telescope

Enter function of the instrument:Observes Distant Objects

Enter dimensions of the instrument:17 x 5 x 5

Enter mass of the instrument:780

Enter power consumption of the instrument:43000

Enter cost of the instrument:19000000

Enter status:In use

Enter quantity available:4

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:Luxor

Enter type of the instrument:Photometer

Enter function of the instrument:Measures the Intensity Of Light

Enter dimensions of the instrument:12 x 5 x 5

Enter mass of the instrument:430

Enter power consumption of the instrument:4200

Enter cost of the instrument:76000000

Enter status:In use

Enter quantity available:5

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:photonix

Enter type of the instrument:spectrometer

Enter function of the instrument:Analyzes light to determine composition

Enter dimensions of the instrument:14 x 8 x 8

Enter mass of the instrument:560

Enter power consumption of the instrument:4300

Enter cost of the instrument:45000000

Enter status:in use

Enter quantity available:4

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:Quantis

Enter type of the instrument:spectrmeter


Enter function of the instrument:Analyzes light to determmine composition

Enter dimensions of the instrument:17 x 4 x 4

Enter mass of the instrument:320

Enter power consumption of the instrument:3100

Enter cost of the instrument:12000000

Enter status:in use

Enter quantity available:3

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:

Enter type of the instrument:camera

Enter function of the instrument:Captures high resolution images

Enter dimensions of the instrument:16 x 7 x 7

Enter mass of the instrument:930

Enter power consumption of the instrument:6000

Enter cost of the instrument:56000000

Enter status:not in use

Enter quantity available:3

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:stratabore

Enter type of the instrument:drill

Enter function of the instrument:collects subsurface samples

Enter dimensions of the instrument:12 x 4 x 4

Enter mass of the instrument:540

Enter power consumption of the instrument:3000

Enter cost of the instrument:130000000

Enter status:Under maintenance

Enter quantity available:3

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:AeroSense

Enter type of the instrument:Anemometer

Enter function of the instrument:Measures wind speed

Enter dimensions of the instrument:14 x 6 x 6

Enter mass of the instrument:670

Enter power consumption of the instrument:4700

Enter cost of the instrument:32000

Enter status:in use

Enter quantity available:5

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:SpectraX

Enter type of the instrument:spectroscope

Enter function of the instrument:Analyzes light to determine composition


Enter dimensions of the instrument:18 x 6 x 6

Enter mass of the instrument:570

Enter power consumption of the instrument:1430

Enter cost of the instrument:53000000

Enter status:in use

Enter quantity available:3

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:ChromatoScope

Enter type of the instrument:gas chromatograph

Enter function of the instrument:Seperates and analyzes gases

Enter dimensions of the instrument:15 x 8 x 8

Enter mass of the instrument:970

Enter power consumption of the instrument:4390

Enter cost of the instrument:25000000

Enter status:not in use

Enter quantity available:2

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:ImagoPro

Enter type of the instrument:Camera

Enter function of the instrument:Captures high resolution images

Enter dimensions of the instrument:15 x 4 x 4

Enter mass of the instrument:380

Enter power consumption of the instrument:3700

Enter cost of the instrument:85000000

Enter status:in use

Enter quantity available:5

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:BioGauge

Enter type of the instrument:Environmental Sensor

Enter function of the instrument:Monitors Environmental conditions

Enter dimensions of the instrument:13 x 6 x 6

Enter mass of the instrument:270

Enter power consumption of the instrument:5700

Enter cost of the instrument:7680000

Enter status:in use

Enter quantity available:6

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:RadarScope

Enter type of the instrument:Radar

Enter function of the instrument:Measures Distances and surface features

Enter dimensions of the instrument:14 x 8 x 8


Enter mass of the instrument:568

Enter power consumption of the instrument:3567

Enter cost of the instrument:29000000

Enter status:in use

Enter quantity available:5

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):y

Enter name of the instrument:corebore

Enter type of the instrument:drill

Enter function of the instrument:collects subsurface samples

Enter dimensions of the instrument:16 x 5 x 5

Enter mass of the instrument:460

Enter power consumption of the instrument:1560

Enter cost of the instrument:56000000

Enter status:in use

Enter quantity available:2

Row inserted successfully!

Do you want to add another instrument to the table?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new instrument to the table.

3.Delete an instrument from the tabe.

4.Update/change details of an existing instrument.s

5.List instruments as per their type.

6.Assign an instrument to a mission.

Enter your choice here:1

INSTRUMENT_ID | INSTRUMENT_NAME | TYPE | FUNCTION | DIMENSIONS |


MASS_KG | POWER_CONSUMPTION(W) | COST_$ | status | QUANTITY

-------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------

1 | SpecTron | Spectrometer | Analyzes light to determine composition | 14 x 5 x 5 |


190 | 4700 | 14000000 | In use | 3

2 | MagProbeX | Magnetometer | Measures Magnetic Fields | 13 x 6 x 6 |


56 | 5300 | 17000000 | In use | 3

3 | AstraVision | Camera | Captures high resolution images | 9 x 4 x 4 |


70 | 4100 | 1150000 | In use | 4

4 | PlasmaWaveDetector | Plasma Analyzer | Analyzes Plasma Properties | 13 x 5 x 5 |


120 | 5000 | 14000000 | Under maintenance | 2

5 | Neutrinonet | Particle Detector | Detects and Measures Particles | 15 x 4 x 4 |


600 | 3400 | 87000000 | Not in use | 1

6 | StarScope-1 | Telescope | Observes Distant Objects | 17 x 5 x 5 |


780 | 43000 | 19000000 | In use | 4

7 | Luxor | Photometer | Measures the Intensity Of Light | 12 x 5 x 5 |


430 | 4200 | 76000000 | In use | 5

8 | photonix | spectrometer | Analyzes light to determine composition | 14 x 8 x 8 |


560 | 4300 | 45000000 | in use | 4

9 | Quantis | spectrmeter | Analyzes light to determmine composition | 17 x 4 x 4 |


320 | 3100 | 12000000 | in use | 3

10 | | camera | Captures high resolution images | 16 x 7 x 7 |


930 | 6000 | 56000000 | not in use | 3
11 | stratabore | drill | collects subsurface samples | 12 x 4 x 4 |
540 | 3000 | 130000000 | Under maintenance | 3

12 | AeroSense | Anemometer | Measures wind speed | 14 x 6 x 6 |


670 | 4700 | 32000 | in use | 5

13 | SpectraX | spectroscope | Analyzes light to determine composition | 18 x 6 x 6 |


570 | 1430 | 53000000 | in use | 3

14 | ChromatoScope | gas chromatograph | Seperates and analyzes gases | 15 x 8 x 8 |


970 | 4390 | 25000000 | not in use | 2

15 | ImagoPro | Camera | Captures high resolution images | 15 x 4 x 4 |


380 | 3700 | 85000000 | in use | 5

16 | BioGauge | Environmental Sensor | Monitors Environmental conditions | 13 x 6 x 6 |


270 | 5700 | 7680000 | in use | 6

17 | RadarScope | Radar | Measures Distances and surface features | 14 x 8 x 8 |


568 | 3567 | 29000000 | in use | 5

18 | corebore | drill | collects subsurface samples | 16 x 5 x 5 |


460 | 1560 | 56000000 | in use | 2

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new instrument to the table.

3.Delete an instrument from the table.

4.Update/change details of an existing instrument.

5.List instruments as per their type.

6.Assign an instrument to a mission.

Enter your choice here:4

Enter the ID of the instrument which is to be updated/changed:10

What do you want to update/change?

1.Instrument name

2.Function

3.Dimensions

4.Mass

5.Power Consumption

6.Cost

7.Status

Enter here:1

Enter updated name:OptiCam

Updated successfully!

Do you want to update again?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new instrument to the table.

3.Delete an instrument from the table.

4.Update/change details of an existing instrument.

5.List instruments as per their type.

6.Assign an instrument to a mission.

Enter your choice here:5

What type of instruments do you want to see?

1.Telescope
2.Spectrometer

3.Radiometer

4.Camera

5.Gyroscope

6.Magnetometer

7.Plasma Analyzer

8.Photometer

9.Particle Detector

10.Radar

11.Altimeter

12.Gas Chromatograph

13.Anemometer

14.Environmental sensors

Enter here:4

Here is all the information of the intruments of given type:

(3, 'AstraVision', 'Camera', 'Captures high resolution images', '9 x 4 x 4', 70, '4100', 1150000, 'In use', 4)

(10, 'OptiCam', 'camera', 'Captures high resolution images', '16 x 7 x 7', 930, '6000', 56000000, 'not in use', 3)

(15, 'ImagoPro', 'Camera', 'Captures high resolution images', '15 x 4 x 4', 380, '3700', 85000000, 'in use', 5)

Do you want to search again?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new instrument to the table.

3.Delete an instrument from the table.

4.Update/change details of an existing instrument.

5.List instruments as per their type.

6.Assign an instrument to a mission.

Enter your choice here:3

Enter ID of the instrument which is to be deleted from the table:8

Are you sure you want to delete this instrument from the table?(y/n)y

record deleted successfully!

Do you want to delete anything else?(y/n):n

Do you want to perform again?(y/n):n

Would you like to switch to another table?(y/n):y

which table would you like to manage:

1.Missions

2.Personnel

3.Space instruments

4.Launch vehicles

5.Satellites

Enter your choice :4

What do you want to do?

1.Display the table.

2.Add a new vehicle to the table.

3.Delete a vehicle from the table.


4.Update/change details of a launch vehicle.

5.List launch vehicles as per their capacity.

Enter your choice here:2

Enter name of the launch vehicle:Solaris Arrow

Enter name of the manufacturer:AeroSpace Innovations

Enter capacity :15000

Enter engine type of the launch vehicle:Liquid Fuel

Enter height of the launch vehicle:70

Enter diameter of the launch vehicle:3.7

Enter status :Operational

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:Prithvi Pioneer

Enter name of the manufacturer:Global Launch Systems

Enter capacity :18000

Enter engine type of the launch vehicle:Hybrid

Enter height of the launch vehicle:80

Enter diameter of the launch vehicle:4

Enter status :Operational

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:Kautilya Launcher

Enter name of the manufacturer:Indian Space Dynamics

Enter capacity :12000

Enter engine type of the launch vehicle:Solid Fuel

Enter height of the launch vehicle:60

Enter diameter of the launch vehicle:3.2

Enter status :Under Development

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:AstraX1

Enter name of the manufacturer:Northern Aerospace

Enter capacity :10000

Enter engine type of the launch vehicle:Liquid Fuel

Enter height of the launch vehicle:65

Enter diameter of the launch vehicle:3.5

Enter status :Operational

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:Solis IV

Enter name of the manufacturer:EuroLaunch

Enter capacity :20000

Enter engine type of the launch vehicle:Liquid Fuel

Enter height of the launch vehicle:75

Enter diameter of the launch vehicle:3.8


Enter status :Retired

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:DeepSpaceX

Enter name of the manufacturer:Cosmic Innovations

Enter capacity :25000

Enter engine type of the launch vehicle:Liquid fuel

Enter height of the launch vehicle:85

Enter diameter of the launch vehicle:4.2

Enter status :Operational

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:Titan V

Enter name of the manufacturer:Space Frontier Corp

Enter capacity :22000

Enter engine type of the launch vehicle:Hybrid

Enter height of the launch vehicle:90

Enter diameter of the launch vehicle:4.5

Enter status :Operational

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):y

Enter name of the launch vehicle:Saturn V

Enter name of the manufacturer:Aerospace Innovations

Enter capacity :30000

Enter engine type of the launch vehicle:Liquid Fuel

Enter height of the launch vehicle:110

Enter diameter of the launch vehicle:10.1

Enter status :Retired

Record inserted successfully!

Do you want to add another launch vehicle to the table?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new vehicle to the table.

3.Delete a vehicle from the table.

4.Update/change details of a launch vehicle.

5.List launch vehicles as per their capacity.

Enter your choice here:1

VEHICLE_ID | VEHICLE_NAME | MANUFACTURER | CAPACITY_KG | ENGINE_TYPE | HEIGHT_meter | diameter_meter


| STATUS

-------------------------------------------------------------------------------------------------------------------
-------------------

1 | Solaris Arrow | AeroSpace Innovations | 15000 | Liquid Fuel | 70 | 4


| Operational

2 | Prithvi Pioneer | Global Launch Systems | 18000 | Hybrid | 80 | 4


| Operational
3 | Kautilya Launcher | Indian Space Dynamics | 12000 | Solid Fuel | 60 | 3
| Under Development

4 | AstraX1 | Northern Aerospace | 10000 | Liquid Fuel | 65 | 4


| Operational

5 | Solis IV | EuroLaunch | 20000 | Liquid Fuel | 75 | 4


| Retired

6 | DeepSpaceX | Cosmic Innovations | 25000 | Liquid fuel | 85 | 4


| Operational

7 | Titan V | Space Frontier Corp | 22000 | Hybrid | 90 | 5


| Operational

8 | Saturn V | Aerospace Innovations | 30000 | Liquid Fuel | 110 | 10


| Retired

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new vehicle to the table.

3.Delete a vehicle from the table.

4.Update/change details of a launch vehicle.

5.List launch vehicles as per their capacity.

Enter your choice here:4

Enter the ID of the vehicle which is to be updated:5

What do you want to update/change?

1.Vehicle Name

2.Manufacturer

3.Capacity

4.Engine Type

5.Height

6.Diameter

7.Status

Enter here:4

Enter update:Solid Fuel

updated successfully!

Do you want to update again?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new vehicle to the table.

3.Delete a vehicle from the table.

4.Update/change details of a launch vehicle.

5.List launch vehicles as per their capacity.

Enter your choice here:3

Enter the vehicle ID which is to be deleted:5

Are you sure you want to delete this record?(y/n):y

record deleted successfully!

Do you want to delete anything else?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.


2.Add a new vehicle to the table.

3.Delete a vehicle from the table.

4.Update/change details of a launch vehicle.

5.List launch vehicles as per their capacity.

Enter your choice here:5

Enter the minimum capacity that the launch vehicle should have:15000

Here are all the details of all the launch vehicles having capacity higher than 15000

(2, 'Prithvi Pioneer', 'Global Launch Systems', 18000, 'Hybrid', 80, Decimal('4'), 'Operational')

(6, 'DeepSpaceX', 'Cosmic Innovations', 25000, 'Liquid fuel', 85, Decimal('4'), 'Operational')

(7, 'Titan V', 'Space Frontier Corp', 22000, 'Hybrid', 90, Decimal('5'), 'Operational')

(8, 'Saturn V', 'Aerospace Innovations', 30000, 'Liquid Fuel', 110, Decimal('10'), 'Retired')

Do you want to list again?(y/n):n

Do you want to perform again?(y/n):n

Would you like to switch to another table?(y/n):y

which table would you like to manage:

1.Missions

2.Personnel

3.Space instruments

4.Launch vehicles

5.Satellites

Enter your choice :5

What do you want to do?

1.Display the table.

2.Add a new satellite to the table.

3.Delete an existing satellite from the table

4.Update/change details of a satellite.

5.List satellite by their purpose and status.

Enter your choice here:2

Enter name of the satellite:ApolloSat-1

Enter launch date:2022-01-15

Enter purpose for the launch of the satellite:Communication

Enter status:Operational

Enter the type of the orbit:Geostationary

Enter weight of the satellite:1200

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:GeoWeather-2

Enter launch date:2021-05-23

Enter purpose for the launch of the satellite:Weather

Enter status:Operational

Enter the type of the orbit:Polar

Enter weight of the satellite:800

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:NavStar-3


Enter launch date:2023-03-10

Enter purpose for the launch of the satellite:GPS

Enter status:Operational

Enter the type of the orbit:Medium Earth

Enter weight of the satellite:1500

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:ApolloSat-2

Enter launch date:2019-11-01

Enter purpose for the launch of the satellite:Communication

Enter status:Decommissioned

Enter the type of the orbit:Geostationary

Enter weight of the satellite:1100

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:EarthObs-1

Enter launch date:2020-07-14

Enter purpose for the launch of the satellite:Earth Observation

Enter status:Operational

Enter the type of the orbit:Low Earth

Enter weight of the satellite:900

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:MarsRelay-1

Enter launch date:2023-08-21

Enter purpose for the launch of the satellite:Research

Enter status:Operational

Enter the type of the orbit:Heliocentric

Enter weight of the satellite:1300

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:LunarComm-1

Enter launch date:2018-04-18

Enter purpose for the launch of the satellite:Communication

Enter status:Operational

Enter the type of the orbit:Lunar

Enter weight of the satellite:1000

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:SpaceTel-4

Enter launch date:2022-10-03

Enter purpose for the launch of the satellite:Research

Enter status:Operational

Enter the type of the orbit:Geostationary

Enter weight of the satellite:1400


Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:ApolloSat-3

Enter launch date:2021-12-05

Enter purpose for the launch of the satellite:Communication

Enter status:Operational

Enter the type of the orbit:Geostationary

Enter weight of the satellite:1150

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):y

Enter name of the satellite:GeoWeather-3

Enter launch date:2020-02-27

Enter purpose for the launch of the satellite:Weather

Enter status:Operational

Enter the type of the orbit:Polar

Enter weight of the satellite:850

Record inserted successfully!

Do you want to add another satellite to the table?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new satellite to the table.

3.Delete an existing satellite from the table

4.Update/change details of a satellite.

5.List satellite by their purpose and status.

Enter your choice here:4

Enter ID of the satellite which id to be updated/changed:7

What do you want to update/change?

1.Satellite Name

2.Launch date

3.Purpose

4.Status

5.Orbit type

6.Weight

Enter here:4

Enter update:Decommissioned

Updated successfully!

Do you want to update again?(y/n):n

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new satellite to the table.

3.Delete an existing satellite from the table

4.Update/change details of a satellite.

5.List satellite by their purpose and status.


Enter your choice here:1

SATELLITE_ID | SATELLITE_NAME | LAUNCH_DATE | PURPOSE | status | ORBIT_TYPE | WEIGHT_KG

------------------------------------------------------------------------------------------------------------

1 | ApolloSat-1 | 2022-01-15 | Communication | Operational | Geostationary | 1200

2 | GeoWeather-2 | 2021-05-23 | Weather | Operational | Polar | 800

3 | NavStar-3 | 2023-03-10 | GPS | Operational | Medium Earth | 1500

4 | ApolloSat-2 | 2019-11-01 | Communication | Decommissioned | Geostationary | 1100

5 | EarthObs-1 | 2020-07-14 | Earth Observation | Operational | Low Earth | 900

6 | MarsRelay-1 | 2023-08-21 | Research | Operational | Heliocentric | 1300

7 | LunarComm-1 | 2018-04-18 | Communication | Decommissioned | Lunar | 1000

8 | SpaceTel-4 | 2022-10-03 | Research | Operational | Geostationary | 1400

9 | ApolloSat-3 | 2021-12-05 | Communication | Operational | Geostationary | 1150

10 | GeoWeather-3 | 2020-02-27 | Weather | Operational | Polar | 850

Do you want to perform again?(y/n):y

What do you want to do?

1.Display the table.

2.Add a new satellite to the table.

3.Delete an existing satellite from the table

4.Update/change details of a satellite.

5.List satellite by their purpose and status.

Enter your choice here:5

On what basis do you want list the satellite's information?

1.Purpose

2.Status

Enter here:1

select the purpose:

1.Communication

2.Weather

3.GPS

4.Earth Observation

5.Research

Enter here:1

(1, 'ApolloSat-1', datetime.date(2022, 1, 15), 'Communication', 'Operational', 'Geostationary', 1200)

(4, 'ApolloSat-2', datetime.date(2019, 11, 1), 'Communication', 'Decommissioned', 'Geostationary', 1100)

(7, 'LunarComm-1', datetime.date(2018, 4, 18), 'Communication', 'Decommissioned', 'Lunar', 1000)

(9, 'ApolloSat-3', datetime.date(2021, 12, 5), 'Communication', 'Operational', 'Geostationary', 1150)

Do you want to list again?(y/n):y

On what basis do you want list the satellite's information?

1.Purpose

2.Status

Enter here:2

select status:

1.Operational

2.Decommissioned

Enter here:2
(4, 'ApolloSat-2', datetime.date(2019, 11, 1), 'Communication', 'Decommissioned', 'Geostationary', 1100)

(7, 'LunarComm-1', datetime.date(2018, 4, 18), 'Communication', 'Decommissioned', 'Lunar', 1000)

Do you want to search again?(y/n):n

Do you want to perform again?(y/n):n

Would you like to switch to another table?(y/n):n

Exiting...
BIBLIOGRAPHY

Sources used for gathering information:

1. Class notes – for basic code

2. www.google.com – for searching some websites


for help

3. www.youtube.com – for learning more about


python MySQL interface

4. https://science.nasa.gov – to get idea what


management space agencies need

You might also like