Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question

Design a Client class that interfaces with your SQLDatabase Server (from the class Server).  The Client sends a SQLQuery to the SQLDatabase and receives a Dataframe from the SQLDatabase.  Your class should contain the default __dunders__ and potentially introduce some custom __dunders__.

classServer.py (Just change if this file has something doesn't run or doesn't fit with new code)

import sqlite3
import pandas as pd


class Server:
def __init__(self, db_name):
self.db = sqlite3.connect(db_name)
self.cursor = self.db.cursor()

def __enter__(self):
return self

def __exit__(self, exc_type, exc_val, exc_tb):
self.db.close()

def create_table(self, table_schema):
self.cursor.execute(table_schema)
self.db.commit()

def insert_data(self, table_name, data):
for i in range(len(data)):
keys = ", ".join(data.columns)
values = ", ".join([f"'{value}'" if pd.isna(value) else str(value) for value in data.iloc[i]])
self.cursor.execute(f"INSERT INTO {table_name} ({keys}) VALUES ({values})")
self.db.commit()

def search_data(self, table_name, year):
self.cursor.execute(f"SELECT * FROM {table_name} WHERE year={year}")
results = self.cursor.fetchall()
if results:
# Convert the fetched data into a DataFrame
df = pd.DataFrame(results, columns=[desc[0] for desc in self.cursor.description])
return df
else:
return None

def delete_data(self, table_name, year):
self.cursor.execute(f"DELETE FROM {table_name} WHERE year={year}")
self.db.commit()
return self.cursor.rowcount > 0
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education