diff --git a/src/database.db b/src/database.db
new file mode 100644
index 000000000..813606781
Binary files /dev/null and b/src/database.db differ
diff --git a/src/show_db.ipynb b/src/show_db.ipynb
new file mode 100644
index 000000000..dd4c90659
--- /dev/null
+++ b/src/show_db.ipynb
@@ -0,0 +1,595 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "60dfa6d8",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import sqlite3\n",
+ "\n",
+ "conn = sqlite3.connect('database.db')\n",
+ "cursor = conn.cursor()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "26ae7b49",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# 2) Create the tables\n",
+ "with open('sql/create.sql', 'r') as create:\n",
+ " crea = create.read()\n",
+ " cursor.executescript(crea)\n",
+ "\n",
+ "# 3) Insert data\n",
+ "with open('sql/insert.sql', 'r') as insert:\n",
+ " inserta = insert.read()\n",
+ " cursor.executescript(inserta)\n",
+ "\n",
+ "\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "e1e85410",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Database 'database.db' dropped successfully.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import os\n",
+ "\n",
+ "database_file = 'database.db'\n",
+ "if os.path.exists(database_file):\n",
+ " os.remove(database_file)\n",
+ " print(f\"Database '{database_file}' dropped successfully.\")\n",
+ "else:\n",
+ " print(f\"Database '{database_file}' does not exist.\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "7330dfc7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " book_id | \n",
+ " title | \n",
+ " total_pages | \n",
+ " rating | \n",
+ " isbn | \n",
+ " published_date | \n",
+ " publisher_id | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " Lean Software Development: An Agile Toolkit | \n",
+ " 240 | \n",
+ " 4.17 | \n",
+ " 9780320000000 | \n",
+ " 2003-05-18 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " Facing the Intelligence Explosion | \n",
+ " 91 | \n",
+ " 3.87 | \n",
+ " None | \n",
+ " 2013-02-01 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " Scala in Action | \n",
+ " 419 | \n",
+ " 3.74 | \n",
+ " 9781940000000 | \n",
+ " 2013-04-10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " Patterns of Software: Tales from the Software ... | \n",
+ " 256 | \n",
+ " 3.84 | \n",
+ " 9780200000000 | \n",
+ " 1996-08-15 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " Anatomy Of LISP | \n",
+ " 446 | \n",
+ " 4.43 | \n",
+ " 9780070000000 | \n",
+ " 1978-01-01 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 6 | \n",
+ " Computing machinery and intelligence | \n",
+ " 24 | \n",
+ " 4.17 | \n",
+ " None | \n",
+ " 2009-03-22 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 7 | \n",
+ " XML: Visual QuickStart Guide | \n",
+ " 269 | \n",
+ " 3.66 | \n",
+ " 9780320000000 | \n",
+ " 2009-01-01 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 8 | \n",
+ " SQL Cookbook | \n",
+ " 595 | \n",
+ " 3.95 | \n",
+ " 9780600000000 | \n",
+ " 2005-12-01 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 9 | \n",
+ " The Apollo Guidance Computer: Architecture And... | \n",
+ " 439 | \n",
+ " 4.29 | \n",
+ " 9781440000000 | \n",
+ " 2010-07-01 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 10 | \n",
+ " Minds and Computers: An Introduction to the Ph... | \n",
+ " 222 | \n",
+ " 3.54 | \n",
+ " 9780750000000 | \n",
+ " 2007-02-13 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " book_id title total_pages \\\n",
+ "0 1 Lean Software Development: An Agile Toolkit 240 \n",
+ "1 2 Facing the Intelligence Explosion 91 \n",
+ "2 3 Scala in Action 419 \n",
+ "3 4 Patterns of Software: Tales from the Software ... 256 \n",
+ "4 5 Anatomy Of LISP 446 \n",
+ "5 6 Computing machinery and intelligence 24 \n",
+ "6 7 XML: Visual QuickStart Guide 269 \n",
+ "7 8 SQL Cookbook 595 \n",
+ "8 9 The Apollo Guidance Computer: Architecture And... 439 \n",
+ "9 10 Minds and Computers: An Introduction to the Ph... 222 \n",
+ "\n",
+ " rating isbn published_date publisher_id \n",
+ "0 4.17 9780320000000 2003-05-18 5 \n",
+ "1 3.87 None 2013-02-01 7 \n",
+ "2 3.74 9781940000000 2013-04-10 1 \n",
+ "3 3.84 9780200000000 1996-08-15 1 \n",
+ "4 4.43 9780070000000 1978-01-01 3 \n",
+ "5 4.17 None 2009-03-22 4 \n",
+ "6 3.66 9780320000000 2009-01-01 5 \n",
+ "7 3.95 9780600000000 2005-12-01 7 \n",
+ "8 4.29 9781440000000 2010-07-01 6 \n",
+ "9 3.54 9780750000000 2007-02-13 7 "
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "query = \"SELECT * FROM books\"\n",
+ "query2 = \"SELECT * FROM publishers\"\n",
+ "df_books = pd.read_sql(query, conn)\n",
+ "df_books"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "27fc3c6d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " publisher_id | \n",
+ " name | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " O Reilly Media | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " A Book Apart | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " A K PETERS | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " Academic Press | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " Addison Wesley | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 6 | \n",
+ " Albert&Sweigart | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 7 | \n",
+ " Alfred A. Knopf | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " publisher_id name\n",
+ "0 1 O Reilly Media\n",
+ "1 2 A Book Apart\n",
+ "2 3 A K PETERS\n",
+ "3 4 Academic Press\n",
+ "4 5 Addison Wesley\n",
+ "5 6 Albert&Sweigart\n",
+ "6 7 Alfred A. Knopf"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "query2 = \"SELECT * FROM publishers\"\n",
+ "df_publishers = pd.read_sql(query2, conn)\n",
+ "df_publishers\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "b76c0ee7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " author_id | \n",
+ " first_name | \n",
+ " middle_name | \n",
+ " last_name | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " Merritt | \n",
+ " None | \n",
+ " Eric | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " Linda | \n",
+ " None | \n",
+ " Mui | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " Alecos | \n",
+ " None | \n",
+ " Papadatos | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " Anthony | \n",
+ " None | \n",
+ " Molinaro | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " David | \n",
+ " None | \n",
+ " Cronin | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 6 | \n",
+ " Richard | \n",
+ " None | \n",
+ " Blum | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 7 | \n",
+ " Yuval | \n",
+ " Noah | \n",
+ " Harari | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 8 | \n",
+ " Paul | \n",
+ " None | \n",
+ " Albitz | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " author_id first_name middle_name last_name\n",
+ "0 1 Merritt None Eric\n",
+ "1 2 Linda None Mui\n",
+ "2 3 Alecos None Papadatos\n",
+ "3 4 Anthony None Molinaro\n",
+ "4 5 David None Cronin\n",
+ "5 6 Richard None Blum\n",
+ "6 7 Yuval Noah Harari\n",
+ "7 8 Paul None Albitz"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "query3 = \"SELECT * FROM authors\"\n",
+ "df_authors = pd.read_sql(query3, conn)\n",
+ "df_authors\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "75c4d8d1",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " book_id | \n",
+ " author_id | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 6 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 7 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 8 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 9 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " book_id author_id\n",
+ "0 1 1\n",
+ "1 2 8\n",
+ "2 3 7\n",
+ "3 4 6\n",
+ "4 5 5\n",
+ "5 6 4\n",
+ "6 7 3\n",
+ "7 8 2\n",
+ "8 9 4\n",
+ "9 10 1"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "query4 = \"SELECT * FROM book_authors\"\n",
+ "df_book_authors = pd.read_sql(query4, conn)\n",
+ "df_book_authors"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "b1d7920a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "conn.close()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.12.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}