-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdatabase.py
76 lines (65 loc) · 3.56 KB
/
database.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import sqlite3
class Tables:
def __init__(self):
conn = sqlite3.connect('attendance.db')
conn.execute('PRAGMA foreign_keys=on;')
conn.execute('''CREATE TABLE IF NOT EXISTS COURSE
(course_id varchar(30) PRIMARY KEY,
course_name varchar(30) NOT NULL);''')
conn.execute('''CREATE TABLE IF NOT EXISTS TEACHER
(faculty_id varchar(30) PRIMARY KEY,
ffname varchar(30) NOT NULL,
flname varchar(30) NOT NULL,
password varchar(30) NOT NULL,
course_id varchar(30) NOT NULL,
FOREIGN KEY (course_id) REFERENCES course (course_id) ON DELETE CASCADE);''')
conn.execute('''CREATE TABLE IF NOT EXISTS STUDENT
(roll_no varchar(30) PRIMARY KEY,
sfname varchar(30) NOT NULL,
slname varchar(30) NOT NULL,
password varchar(30) NOT NULL);''')
conn.execute('''CREATE TABLE IF NOT EXISTS ATTENDANCE
(roll_no varchar(30) NOT NULL,
date DATE NOT NULL,
status BOOLEAN NOT NULL,
course_id varchar(30) NOT NULL,
faculty_id varchar(30) NOT NULL,
attention_status DECIMAL(5,2) NOT NULL,
FOREIGN KEY (roll_no) REFERENCES STUDENT (roll_no) ON DELETE CASCADE,
FOREIGN KEY (course_id) REFERENCES course (course_id) ON DELETE CASCADE);''')
conn.execute('''CREATE TABLE IF NOT EXISTS STUDIES
(course_id varchar(30) NOT NULL,
roll_no varchar(30) NOT NULL,
faculty_id varchar(30) NOT NULL,
FOREIGN KEY (course_id) REFERENCES course (course_id) ON DELETE CASCADE,
FOREIGN KEY (roll_no) REFERENCES STUDENT (roll_no) ON DELETE CASCADE,
FOREIGN KEY (faculty_id) REFERENCES TEACHER (faculty_id)ON DELETE CASCADE) ;''')
conn.execute('''CREATE TABLE IF NOT EXISTS CLASSES
(date DATE NOT NULL,
faculty_id varchar(30) NOT NULL,
FOREIGN KEY (faculty_id) REFERENCES TEACHER (faculty_id)ON DELETE CASCADE) ;''')
cursor = conn.execute("SELECT COUNT(*) FROM COURSE")
cnt = cursor.fetchall()
if cnt[0][0] == 0:
cursor.execute(
"INSERT INTO COURSE VALUES ('2CE1','DSA')")
cursor.execute(
"INSERT INTO COURSE VALUES ('2CE2','OOP')")
cursor.execute(
"INSERT INTO COURSE VALUES ('2CE3','DBMS')")
cursor.execute(
"INSERT INTO COURSE VALUES ('2CE4','OS')")
cursor = conn.execute("SELECT COUNT(*) FROM TEACHER")
cnt = cursor.fetchall()
if cnt[0][0] == 0:
cursor.execute(
"INSERT INTO TEACHER VALUES ('1', 'Pawan', 'Patel', '2001', '2CE1')")
cursor.execute(
"INSERT INTO TEACHER VALUES ('2', 'Vivek', 'Patel', '2001', '2CE2')")
cursor.execute(
"INSERT INTO TEACHER VALUES ('3', 'Yug', 'Patel', '2001', '2CE3')")
cursor.execute(
"INSERT INTO TEACHER VALUES ('4', 'Krunal', 'Patel', '2001', '2CE4')")
# cursor.execute("INSERT INTO CLASSES VALUES ('2022-10-26', '1')")
conn.commit()
conn.close()