Подключение базы данных sqlite

from tkinter import *
from tkinter import messagebox as mb
import modul_1
from tkinter import filedialog as fd

def add_window():
    def add():
        name = en1.get()
        num = en2.get()
        time = en3.get()

        trains.add(name, num, time)

    add_w = Toplevel()
    add_w.title('Добавить')
    add_w.resizable(False, False)
    add_w.geometry('400x200')
    en1 = Entry(add_w)
    en2 = Entry(add_w)
    en3 = Entry(add_w)
    lb1 = Label(add_w, text="Пункт назначения")
    lb2 = Label(add_w, text="Номер поезда")
    lb3 = Label(add_w, text="Время отправления")
    bt1 = Button(add_w, text="Добавить", command=add)

    lb1.grid(row=0, column=0)
    lb2.grid(row=1, column=0)
    lb3.grid(row=2, column=0)
    en1.grid(row=0, column=1)
    en2.grid(row=1, column=1)
    en3.grid(row=2, column=1)
    bt1.grid(row=4, column=0, columnspan=2)


def extract_text():
    file_name = fd.asksaveasfilename()
    try:
        f = open(file_name, 'w')
    except (FileNotFoundError, TypeError):
        mb.showinfo("Ошибка","Файл не сохранен!")
    else:
        s = text.get(1.0, END)
        f.write(s)
        f.close()

def select_window():
    def choice():
        try:
            choice_en = int(en4.get())
            res = trains.select(choice_en)
            if res:
                for idx, name in enumerate(res, 1):
                    text.delete(0.0, END)
                    text.insert(0.0, '{:>4}: {}'.format(idx, modul_1.train.name))
            else:
                text.delete(0.0, END)
                text.insert(0.0, 'Такого пункта отправления нет')
        except():
            mb.showinfo("Выбор пункта",
                        "Введите пункт отправления!")
    sel_w = Toplevel()
    sel_w.title('Выбрать')
    sel_w.resizable(False, False)
    sel_w.geometry('225x100')
    lb4 = Label(sel_w, text="Введите пункт отправления поезда")
    en4 = Entry(sel_w)
    bt3 = Button(sel_w, text="Подтвердить", command=choice)
    lb4.pack(padx=2, pady=2)
    en4.pack(padx=2, pady=2)
    bt3.pack(padx=2, pady=2)

def insert_text():
    file_name = fd.askopenfilename()
    try:
        f = open(file_name)
    except(FileNotFoundError, TypeError):
        mb.showinfo("Открытие файла",
                    "Файл не выбран!")
    else:
        s = f.read()
        text.insert(1.0, s)
        f.close()


def help_window():
    help_w = Toplevel()
    help_w.title('Помощь')
    help_w.resizable(False, False)
    help_w['bg'] = 'white'
    img = PhotoImage(file='Справка.png')
    bt2 = Button(
        help_w,
        image=img,
        bg='white',
        borderwidth=0,
        activebackground='white',
        command=lambda: help_w.destroy()
    )
    bt2.image = img
    bt2.pack()

def show():
    text.delete(0.0, END)
    text.insert(0.0, trains)


if __name__ == '__main__':
    trains = modul_1.Staff()


    root = Tk()
    root.geometry('800x450')
    root.title('Расписание поездов')
    root.resizable(False, False)

    main_menu = Menu(root)
    root.config(menu=main_menu)

    file_menu = Menu(main_menu, tearoff=0)
    file_menu.add_command(label="Открыть", command=insert_text)
    file_menu.add_command(label="Добавить", command=add_window)
    file_menu.add_command(label="Сохранить", command=extract_text)
    main_menu.add_cascade(label="Файл", menu=file_menu)
    main_menu.add_command(label="Выбрать", command=select_window)
    main_menu.add_command(label="Показать", command=show)
    main_menu.add_command(label="Помощь", command=help_window)
    main_menu.add_command(label="Выход", command=lambda: root.destroy())

    text = Text(bg='white', width=100, height=100)
    text.pack(side=LEFT)
    scroll = Scrollbar(command=text.yview)
    scroll.pack(side=LEFT, fill=Y)
    text.config(yscrollcommand=scroll.set)

    root.mainloop()

каким образом можно подключить к данному коду sqlite?

Можно подключить, например опираясь на примеры:

Оно видимо должно быть в modul_1 внутри trains.add и т.д.