<prompt> Tengeneza hati ya Python ambayo: a. Inaunganisha kwenye hifadhidata ya PostgreSQL. b. Huunda majedwali ya wanafunzi, kozi, na maandikisho. c. Huingiza data ya sampuli kwenye majedwali haya. d. Huendesha swali ili kupata wanafunzi wote waliojiandikisha katika kozi mahususi na huonyesha majina yao na tarehe za kujiandikisha.PLINFORMAT  <response>: kuagiza psycopg2 Badilisha maadili haya na sifa zako za hifadhidatadb_name jina_la_dbdb_user mtumiaji_wakodb_password nenosiri_lakodb_host host_db_yakodb_port bandari_yako_ya_db Unganisha kwenye hifadhidata ya PostgreSQLmuunganisho psycopg2.connect dbnamedb_name, mtumiajidb_user, nenosiridb_nenosiri, mwenyejidb_mwenyeji, bandaridb_bandaricursor connection.cursor Unda meza za wanafunzi, kozi, na uandikishajicursor.executeTUNZA JEDWALI IKIWA HAIPO wanafunzi id UFUNGUO WA MSINGI WA SERIAL, jina VARCHAR255 SIO BATILI;cursor.executeTUNZA JEDWALI KAMA HAIPO kozi id UFUNGUO WA MSINGI WA SERIAL, jina VARCHAR255 SIO BATILI;cursor.executeTUNZA JEDWALI IKIWA HAIPO uandikishaji id UFUNGUO WA MSINGI WA SERIAL, kitambulisho cha_mwanafunzi INTEGER MAREJEO wanafunziid, course_id INTEGER REFERENCES koziid, kujiandikisha_tarehe TAREHE SI BATILI; Ingiza data ya sampuli kwenye jedwalicursor.executeINGIZA KWA wanafunzi jina MAADILI John Doe, Jane Smith;cursor.executeINSERT IN kozi jina VALUES Python Programming, Data Science;cursor.executeINGIZA KATIKA uandikishaji kitambulisho_cha_mwanafunzi, kitambulisho_cha_kozi, tarehe_ya_kujiandikisha THAMANI 1, 1, 2022-01-01, 2, 1, 2022-01-02, 1, 2, 2022-01-03;Fanya mabadilikoconnection.commit Tafuta wanafunzi wote waliojiandikisha katika kozi maalum na uonyeshe majina yao na tarehe za kujiandikishacourse_name Python Programmingcursor.executeCHAGUA s.name, e.enrollment_tareheKUTOKA uandikishaji eJIUNGE na wanafunzi ON e.student_id s.idJIUNGE na kozi c ON e.course_id c.idWAPI c.name s;, jina la kozi,matokeo cursor.fetchallprintfWanafunzi waliojiandikisha katika course_name:kwa matokeo ya matokeo: chapafmatokeo0 - Tarehe ya Kujiandikisha: matokeo1 Funga muunganisho wa hifadhidatacursor.closeconnection.close 