{"text_format":"3","workbook":"xlsx","n_sheets":1,"sheets":["Lapa1"],"read":"whole","date_system":"1900"}

{"sheet":"Lapa1","index":0,"n_rows":27,"n_cols":17,"rows_kept":27,"merged":[[1,1,1,2],[1,5,1,6],[1,9,1,10],[1,13,1,14],[9,5,9,6],[9,9,9,10],[9,13,9,14],[13,1,13,2]]}
[]
["Table that saves data about users","users",null,null,"Table that saves data about songs","songs",null,null,"Table that saves data about song artists","artists",null,null,"Table that saves data about song difficulties","difficulty",null,null,"Datubāze: musicquiz"]
["User ID","id","INT(10)",null,"Song ID","id","INT(10)",null,"Artist ID","id","INT(10)",null,"Difficulty ID","id","INT(10)"]
["User's username (UNIQUE KEY)","username","VARCHAR(50)",null,"Song title","title","VARCHAR(255)",null,"Artist's name (UNIQUE KEY)","name","VARCHAR(50)",null,"Difficulty name","name","VARCHAR(255)"]
["User's bio, if added","bio","VARCHAR(255)",null,"Song's release date","release_date","DATE"]
["User's profile picture, if added","pfp","MEDIUMBLOB",null,"Song's music video URL","video_url","VARCHAR(255)"]
["User's password (encrypted)","password","VARCHAR(255)"]
["User's profile creation date and time","created_at","DATETIME"]
["User's total points (default = 0)","total_points","INT(10)"]
["User's total experience (default = 0)","total_xp","INT(10)",null,"Table that saves the relation of songs and artists","songs_artists",null,null,"Table that saves data about games and their chosen settings","game_runs",null,null,"Table that saves the relations between songs and their difficulty","songs_difficulty"]
["User's level (default = 1)","level","INT(10)",null,"A song's and artists' relation ID","id","INT(10)",null,"Game ID","id","INT(10)",null,"Song's and difficulties' relation ID","id","INT(10)"]
[{"$nulls":4},"Song ID (FOREIGN KEY)","songs_id","INT(10)",null,"User ID (FOREIGN KEY), who's playing current game","user_id","INT(10)",null,"Song ID (FOREIGN KEY)","songs_id","INT(10)"]
[{"$nulls":4},"Artist ID (FOREIGN KEY)","artists_id","INT(10)",null,"Song count (min 5, max 50)","songs_count","TINYINT(3)",null,"Difficulty ID (FOREIGN KEY)","difficulty_id","INT(10)"]
["Table that logs player's game rounds","run_rounds",{"$nulls":6},"Guess time for each song (min 5 seconds, max 60 seconds)","guess_time","TINYINT(3)"]
["Game round ID","id","INT(10)",{"$nulls":5},"When did this game get started","started_at","DATETIME"]
["Game ID (FOREIGN KEY)","game_runs_id","INT(10)",{"$nulls":5},"When did the game end","finished_at","DATETIME"]
["The round/question by order","round_index","TINYINT(3)",{"$nulls":5},"How many points the user earned from this game (how many guesses are correct)","points_earned","INT(10)"]
["The correct song's ID (FOREIGN KEY)","songs_id","INT(10)",{"$nulls":5},"How much experience the user gained from this game","xp_earned","INT(10)"]
["First out of the 4 song options","option1","INT(10)"]
["Second out of the 4 song options","option2","INT(10)"]
["Third out of the 4 song options","option3","INT(10)"]
["Fourth out of the 4 song options","option4","INT(10)"]
["The user's chosen option","chosen_option","TINYINT(3)"]
["When did the user answer","answered_at","DATETIME"]
["The time taken for the user to answer","time_taken","INT(10)"]
["Did the user choose the correct option (songs_id = option?)","is_correct","TINYINT(1)"]
["The amount of xp earned in the round (depends on how quickly the user answered + was it correct)","xp_awarded","INT(10)"]