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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
book_idtitletotal_pagesratingisbnpublished_datepublisher_id
01Lean Software Development: An Agile Toolkit2404.1797803200000002003-05-185
12Facing the Intelligence Explosion913.87None2013-02-017
23Scala in Action4193.7497819400000002013-04-101
34Patterns of Software: Tales from the Software ...2563.8497802000000001996-08-151
45Anatomy Of LISP4464.4397800700000001978-01-013
56Computing machinery and intelligence244.17None2009-03-224
67XML: Visual QuickStart Guide2693.6697803200000002009-01-015
78SQL Cookbook5953.9597806000000002005-12-017
89The Apollo Guidance Computer: Architecture And...4394.2997814400000002010-07-016
910Minds and Computers: An Introduction to the Ph...2223.5497807500000002007-02-137
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
publisher_idname
01O Reilly Media
12A Book Apart
23A K PETERS
34Academic Press
45Addison Wesley
56Albert&Sweigart
67Alfred A. Knopf
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
author_idfirst_namemiddle_namelast_name
01MerrittNoneEric
12LindaNoneMui
23AlecosNonePapadatos
34AnthonyNoneMolinaro
45DavidNoneCronin
56RichardNoneBlum
67YuvalNoahHarari
78PaulNoneAlbitz
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
book_idauthor_id
011
128
237
346
455
564
673
782
894
9101
\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 +}