diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..30a9b15
Binary files /dev/null and b/.DS_Store differ
diff --git a/db_TEST/.idea/.gitignore b/db_TEST/.idea/.gitignore
new file mode 100644
index 0000000..b58b603
--- /dev/null
+++ b/db_TEST/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/db_TEST/.idea/dataSources.local.xml b/db_TEST/.idea/dataSources.local.xml
new file mode 100644
index 0000000..5b68003
--- /dev/null
+++ b/db_TEST/.idea/dataSources.local.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ #@
+ `
+ true
+
+
+ master_key
+ root
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_TEST/.idea/dataSources.xml b/db_TEST/.idea/dataSources.xml
new file mode 100644
index 0000000..1e6bd54
--- /dev/null
+++ b/db_TEST/.idea/dataSources.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ mysql.8
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://localhost:3306
+
+
+
+
+
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c.xml b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c.xml
new file mode 100644
index 0000000..04a3814
--- /dev/null
+++ b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c.xml
@@ -0,0 +1,4048 @@
+
+
+
+
+ caching_sha2_password
+ mixed/mixed
+ InnoDB
+ InnoDB
+ |root||root|localhost|ALLOW_NONEXISTENT_DEFINER|G
+|root||root|localhost|ALTER|G
+|root||root|localhost|ALTER ROUTINE|G
+|root||root|localhost|APPLICATION_PASSWORD_ADMIN|G
+|root||mysql.infoschema|localhost|AUDIT_ABORT_EXEMPT|G
+|root||mysql.session|localhost|AUDIT_ABORT_EXEMPT|G
+|root||mysql.sys|localhost|AUDIT_ABORT_EXEMPT|G
+|root||root|localhost|AUDIT_ABORT_EXEMPT|G
+|root||root|localhost|AUDIT_ADMIN|G
+|root||mysql.session|localhost|AUTHENTICATION_POLICY_ADMIN|G
+|root||root|localhost|AUTHENTICATION_POLICY_ADMIN|G
+|root||mysql.session|localhost|BACKUP_ADMIN|G
+|root||root|localhost|BACKUP_ADMIN|G
+|root||root|localhost|BINLOG_ADMIN|G
+|root||root|localhost|BINLOG_ENCRYPTION_ADMIN|G
+|root||mysql.session|localhost|CLONE_ADMIN|G
+|root||root|localhost|CLONE_ADMIN|G
+|root||mysql.session|localhost|CONNECTION_ADMIN|G
+|root||root|localhost|CONNECTION_ADMIN|G
+|root||root|localhost|CREATE|G
+|root||root|localhost|CREATE ROLE|G
+|root||root|localhost|CREATE ROUTINE|G
+|root||root|localhost|CREATE TABLESPACE|G
+|root||root|localhost|CREATE TEMPORARY TABLES|G
+|root||root|localhost|CREATE USER|G
+|root||root|localhost|CREATE VIEW|G
+|root||root|localhost|CREATE_SPATIAL_REFERENCE_SYSTEM|G
+|root||root|localhost|DELETE|G
+|root||root|localhost|DROP|G
+|root||root|localhost|DROP ROLE|G
+|root||root|localhost|ENCRYPTION_KEY_ADMIN|G
+|root||root|localhost|EVENT|G
+|root||root|localhost|EXECUTE|G
+|root||root|localhost|FILE|G
+|root||mysql.infoschema|localhost|FIREWALL_EXEMPT|G
+|root||mysql.session|localhost|FIREWALL_EXEMPT|G
+|root||mysql.sys|localhost|FIREWALL_EXEMPT|G
+|root||root|localhost|FIREWALL_EXEMPT|G
+|root||root|localhost|FLUSH_OPTIMIZER_COSTS|G
+|root||root|localhost|FLUSH_PRIVILEGES|G
+|root||root|localhost|FLUSH_STATUS|G
+|root||root|localhost|FLUSH_TABLES|G
+|root||root|localhost|FLUSH_USER_RESOURCES|G
+|root||root|localhost|GROUP_REPLICATION_ADMIN|G
+|root||root|localhost|GROUP_REPLICATION_STREAM|G
+|root||root|localhost|INDEX|G
+|root||root|localhost|INNODB_REDO_LOG_ARCHIVE|G
+|root||root|localhost|INNODB_REDO_LOG_ENABLE|G
+|root||root|localhost|INSERT|G
+|root||root|localhost|LOCK TABLES|G
+|root||root|localhost|OPTIMIZE_LOCAL_TABLE|G
+|root||root|localhost|PASSWORDLESS_USER_ADMIN|G
+|root||mysql.session|localhost|PERSIST_RO_VARIABLES_ADMIN|G
+|root||root|localhost|PERSIST_RO_VARIABLES_ADMIN|G
+|root||root|localhost|PROCESS|G
+|root||root|localhost|REFERENCES|G
+|root||root|localhost|RELOAD|G
+|root||root|localhost|REPLICATION CLIENT|G
+|root||root|localhost|REPLICATION SLAVE|G
+|root||root|localhost|REPLICATION_APPLIER|G
+|root||root|localhost|REPLICATION_SLAVE_ADMIN|G
+|root||root|localhost|RESOURCE_GROUP_ADMIN|G
+|root||root|localhost|RESOURCE_GROUP_USER|G
+|root||root|localhost|ROLE_ADMIN|G
+|root||mysql.infoschema|localhost|SELECT|G
+|root||root|localhost|SELECT|G
+|root||root|localhost|SENSITIVE_VARIABLES_OBSERVER|G
+|root||root|localhost|SERVICE_CONNECTION_ADMIN|G
+|root||mysql.session|localhost|SESSION_VARIABLES_ADMIN|G
+|root||root|localhost|SESSION_VARIABLES_ADMIN|G
+|root||root|localhost|SET_ANY_DEFINER|G
+|root||root|localhost|SHOW DATABASES|G
+|root||root|localhost|SHOW VIEW|G
+|root||root|localhost|SHOW_ROUTINE|G
+|root||mysql.session|localhost|SHUTDOWN|G
+|root||root|localhost|SHUTDOWN|G
+|root||mysql.session|localhost|SUPER|G
+|root||root|localhost|SUPER|G
+|root||mysql.infoschema|localhost|SYSTEM_USER|G
+|root||mysql.session|localhost|SYSTEM_USER|G
+|root||mysql.sys|localhost|SYSTEM_USER|G
+|root||root|localhost|SYSTEM_USER|G
+|root||mysql.session|localhost|SYSTEM_VARIABLES_ADMIN|G
+|root||root|localhost|SYSTEM_VARIABLES_ADMIN|G
+|root||root|localhost|TABLE_ENCRYPTION_ADMIN|G
+|root||root|localhost|TELEMETRY_LOG_ADMIN|G
+|root||root|localhost|TRANSACTION_GTID_TAG|G
+|root||root|localhost|TRIGGER|G
+|root||root|localhost|UPDATE|G
+|root||root|localhost|XA_RECOVER_ADMIN|G
+|root||root|localhost|grant option|G
+performance_schema|schema||mysql.session|localhost|SELECT|G
+sys|schema||mysql.sys|localhost|TRIGGER|G
+ 9.4.0
+
+
+ armscii8
+
+
+ armscii8
+ 1
+
+
+ ascii
+
+
+ ascii
+ 1
+
+
+ big5
+
+
+ big5
+ 1
+
+
+ binary
+ 1
+
+
+ cp1250
+
+
+ cp1250
+
+
+ cp1250
+
+
+ cp1250
+ 1
+
+
+ cp1250
+
+
+ cp1251
+
+
+ cp1251
+
+
+ cp1251
+ 1
+
+
+ cp1251
+
+
+ cp1251
+
+
+ cp1256
+
+
+ cp1256
+ 1
+
+
+ cp1257
+
+
+ cp1257
+ 1
+
+
+ cp1257
+
+
+ cp850
+
+
+ cp850
+ 1
+
+
+ cp852
+
+
+ cp852
+ 1
+
+
+ cp866
+
+
+ cp866
+ 1
+
+
+ cp932
+
+
+ cp932
+ 1
+
+
+ dec8
+
+
+ dec8
+ 1
+
+
+ eucjpms
+
+
+ eucjpms
+ 1
+
+
+ euckr
+
+
+ euckr
+ 1
+
+
+ gb18030
+
+
+ gb18030
+ 1
+
+
+ gb18030
+
+
+ gb2312
+
+
+ gb2312
+ 1
+
+
+ gbk
+
+
+ gbk
+ 1
+
+
+ geostd8
+
+
+ geostd8
+ 1
+
+
+ greek
+
+
+ greek
+ 1
+
+
+ hebrew
+
+
+ hebrew
+ 1
+
+
+ hp8
+
+
+ hp8
+ 1
+
+
+ keybcs2
+
+
+ keybcs2
+ 1
+
+
+ koi8r
+
+
+ koi8r
+ 1
+
+
+ koi8u
+
+
+ koi8u
+ 1
+
+
+ latin1
+
+
+ latin1
+
+
+ latin1
+
+
+ latin1
+
+
+ latin1
+
+
+ latin1
+
+
+ latin1
+
+
+ latin1
+ 1
+
+
+ latin2
+
+
+ latin2
+
+
+ latin2
+
+
+ latin2
+ 1
+
+
+ latin2
+
+
+ latin5
+
+
+ latin5
+ 1
+
+
+ latin7
+
+
+ latin7
+
+
+ latin7
+ 1
+
+
+ latin7
+
+
+ macce
+
+
+ macce
+ 1
+
+
+ macroman
+
+
+ macroman
+ 1
+
+
+ sjis
+
+
+ sjis
+ 1
+
+
+ swe7
+
+
+ swe7
+ 1
+
+
+ tis620
+
+
+ tis620
+ 1
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+ 1
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ucs2
+
+
+ ujis
+
+
+ ujis
+ 1
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+ 1
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16
+
+
+ utf16le
+
+
+ utf16le
+ 1
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+ 1
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf32
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+ 1
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb3
+
+
+ utf8mb4
+ 1
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb4
+
+
+ utf8mb3_general_ci
+
+
+ 3
+ user|||mysql.session|localhost|SELECT|G
+ 3
+ 2025-10-04.15:17:42
+ utf8mb4_0900_ai_ci
+
+
+ utf8mb4_0900_ai_ci
+
+
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ 3
+ 2025-10-04.15:38:26
+ utf8mb4_0900_ai_ci
+
+
+ 0
+ localhost
+
+
+ 0
+ localhost
+
+
+ 0
+ localhost
+
+
+ localhost
+
+
+ Column privileges
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ Components
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+ utf8mb3_general_ci
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ Database privileges
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ Default roles
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ User defined functions
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ General log
+ 3
+ CSV
+ utf8mb3_general_ci
+
+
+ Extended global grants
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb4_0900_ai_ci
+
+
+ help categories
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ help keywords
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ keyword-topic relation
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ help topics
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ latin1_swedish_ci
+
+
+ Password history for user accounts
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ MySQL plugins
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Procedure privileges
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ User proxy privileges
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ The source configuration details
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ The managed source configuration details
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ The group configuration version.
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb4_0900_ai_ci
+
+
+ The member actions configuration.
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb4_0900_ai_ci
+
+
+ Role hierarchy and role grants
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ MySQL Foreign Servers table
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Master Information
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Relay Log Information
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Worker Information
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Slow log
+ 3
+ CSV
+ utf8mb3_general_ci
+
+
+ Table privileges
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ Time zones
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Leap seconds information for time zones
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Time zone names
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Time zone transitions
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Time zone transition types
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_general_ci
+
+
+ Users and global privileges
+ 3
+ InnoDB
+ row_format
+DYNAMIC
+stats_persistent
+0
+ utf8mb3_bin
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ 3
+ InnoDB
+ utf8mb4_0900_ai_ci
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(64)|0s
+
+
+ ''
+ 1
+ 3
+ char(32)|0s
+
+
+ ''
+ 1
+ 4
+ char(64)|0s
+
+
+ ''
+ 1
+ 5
+ char(64)|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 6
+ timestamp|0s
+
+
+ ''
+ 1
+ 7
+ set('Select', 'Insert', 'Update', 'References')|0e
+ utf8mb3_general_ci
+
+
+ Host
+User
+Db
+Table_name
+Column_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ int unsigned|0s
+
+
+ 1
+ 3
+ text|0s
+
+
+ component_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ varchar(6)|0s
+
+
+ 2
+ varchar(255)|0s
+
+
+ course_code
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(64)|0s
+
+
+ ''
+ 1
+ 3
+ char(32)|0s
+
+
+ 'N'
+ 1
+ 4
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 5
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 6
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 7
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 8
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 9
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 10
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 11
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 12
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 13
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 14
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 15
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 16
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 17
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 18
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 19
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 20
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 21
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 22
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ Host
+User
+Db
+ btree
+ 1
+
+
+ User
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(32)|0s
+
+
+ '%'
+ 1
+ 3
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 4
+ char(32)|0s
+
+
+ HOST
+USER
+DEFAULT_ROLE_HOST
+DEFAULT_ROLE_USER
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ varchar(64)|0s
+
+
+ 1
+ 2
+ int|0s
+
+
+ 1
+ 3
+ varchar(64)|0s
+
+
+ 4
+ float|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 5
+ timestamp|0s
+
+
+ 6
+ varchar(1024)|0s
+
+
+ generated-virtual
+ (case `cost_name` when _utf8mb4'io_block_read_cost' then 1.0 when _utf8mb4'memory_block_read_cost' then 0.25 else NULL end)
+ 7
+ float|0s
+
+
+ cost_name
+engine_name
+device_type
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(64)|0s
+
+
+ 0
+ 1
+ 2
+ tinyint|0s
+
+
+ ''
+ 1
+ 3
+ char(128)|0s
+
+
+ 1
+ 4
+ enum('function', 'aggregate')|0e
+ utf8mb3_general_ci
+
+
+ name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ CURRENT_TIMESTAMP(6)
+ 1
+ CURRENT_TIMESTAMP(6)
+ 1
+ timestamp(6)|0s
+
+
+ 1
+ 2
+ mediumtext|0s
+
+
+ 1
+ 3
+ bigint unsigned|0s
+
+
+ 1
+ 4
+ int unsigned|0s
+
+
+ 1
+ 5
+ varchar(64)|0s
+
+
+ 1
+ 6
+ mediumblob|0s
+
+
+ ''
+ 1
+ 1
+ char(32)|0s
+
+
+ ''
+ 1
+ 2
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 3
+ char(32)|0s
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 4
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ USER
+HOST
+PRIV
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ 1
+ int|0s
+
+
+ 2
+ varchar(255)|0s
+
+
+ 3
+ varchar(8)|0s
+
+
+ 4
+ int|0s
+
+
+ section_id
+ id
+ section
+
+
+ id
+ btree
+ 1
+
+
+ section_id
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ uuid of the source where the transaction was originally executed.
+ 1
+ 1
+ char(36)|0s
+
+
+ First number of interval.
+ 1
+ 2
+ bigint|0s
+
+
+ Last number of interval.
+ 1
+ 3
+ bigint|0s
+
+
+ GTID Tag.
+ 1
+ 4
+ char(32)|0s
+
+
+ source_uuid
+gtid_tag
+interval_start
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ smallint unsigned|0s
+
+
+ 1
+ 2
+ char(64)|0s
+
+
+ 3
+ smallint unsigned|0s
+
+
+ 1
+ 4
+ text|0s
+
+
+ help_category_id
+ btree
+ 1
+
+
+ name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ name
+
+
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ char(64)|0s
+
+
+ help_keyword_id
+ btree
+ 1
+
+
+ name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ name
+
+
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ int unsigned|0s
+
+
+ help_keyword_id
+help_topic_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ char(64)|0s
+
+
+ 1
+ 3
+ smallint unsigned|0s
+
+
+ 1
+ 4
+ text|0s
+
+
+ 1
+ 5
+ text|0s
+
+
+ 1
+ 6
+ text|0s
+
+
+ help_topic_id
+ btree
+ 1
+
+
+ name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ name
+
+
+ 1
+ 1
+ varchar(64)|0s
+
+
+ 1
+ 2
+ varchar(199)|0s
+
+
+ 1
+ 3
+ varchar(64)|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 4
+ timestamp|0s
+
+
+ 1
+ 5
+ varchar(64)|0s
+
+
+ 1
+ 6
+ bigint unsigned|0s
+
+
+ 7
+ bigint unsigned|0s
+
+
+ 1
+ 8
+ varchar(1024)|0s
+
+
+ database_name
+table_name
+index_name
+stat_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ varchar(64)|0s
+
+
+ 1
+ 2
+ varchar(199)|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 3
+ timestamp|0s
+
+
+ 1
+ 4
+ bigint unsigned|0s
+
+
+ 1
+ 5
+ bigint unsigned|0s
+
+
+ 1
+ 6
+ bigint unsigned|0s
+
+
+ database_name
+table_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ bigint unsigned|0s
+
+
+ 1
+ 2
+ varchar(255)|0s
+
+
+ 1
+ 3
+ bigint unsigned|0s
+
+
+ 1
+ 4
+ int unsigned|0s
+
+
+ 1
+ 5
+ int unsigned|0s
+
+
+ 1
+ 6
+ int unsigned|0s
+
+
+ 1
+ 7
+ int unsigned|0s
+
+
+ 1
+ 8
+ int unsigned|0s
+
+
+ 1
+ 9
+ bigint unsigned|0s
+
+
+ 1
+ 10
+ int unsigned|0s
+
+
+ 1
+ 11
+ bigint unsigned|0s
+
+
+ 1
+ 12
+ varchar(255)|0s
+
+
+ epoch
+orig_server_id
+orig_epoch
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(32)|0s
+
+
+ CURRENT_TIMESTAMP(6)
+ 1
+ 3
+ timestamp(6)|0s
+
+
+ 4
+ text|0s
+
+
+ Host
+User
+Password_timestamp
+ Password_timestamp
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ varchar(64)|0s
+
+
+ ''
+ 1
+ 2
+ varchar(128)|0s
+
+
+ name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(64)|0s
+
+
+ ''
+ 1
+ 3
+ char(32)|0s
+
+
+ ''
+ 1
+ 4
+ char(64)|0s
+ utf8mb3_general_ci
+
+
+ 1
+ 5
+ enum('FUNCTION', 'PROCEDURE', 'LIBRARY')|0e
+
+
+ ''
+ 1
+ 6
+ varchar(288)|0s
+
+
+ ''
+ 1
+ 7
+ set('Execute', 'Alter Routine', 'Grant')|0e
+ utf8mb3_general_ci
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 8
+ timestamp|0s
+
+
+ Host
+User
+Db
+Routine_name
+Routine_type
+ btree
+ 1
+
+
+ Grantor
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(32)|0s
+
+
+ ''
+ 1
+ 3
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 4
+ char(32)|0s
+
+
+ 0
+ 1
+ 5
+ tinyint(1)|0s
+
+
+ ''
+ 1
+ 6
+ varchar(288)|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 7
+ timestamp|0s
+
+
+ Host
+User
+Proxied_host
+Proxied_user
+ btree
+ 1
+
+
+ Grantor
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ The replication channel name that connects source and replica.
+ 1
+ 1
+ char(64)|0s
+
+
+ The source hostname that the replica will attempt to switch over the replication connection to in case of a failure.
+ 1
+ 2
+ char(255)|0s
+ ascii_general_ci
+
+
+ The source port that the replica will attempt to switch over the replication connection to in case of a failure.
+ 1
+ 3
+ int unsigned|0s
+
+
+ The source network namespace that the replica will attempt to switch over the replication connection to in case of a failure. If its value is empty, connections use the default (global) namespace.
+ 1
+ 4
+ char(64)|0s
+
+
+ The order in which the replica shall try to switch the connection over to when there are failures. Weight can be set to a number between 1 and 100, where 100 is the highest weight and 1 the lowest.
+ 1
+ 5
+ tinyint unsigned|0s
+
+
+ The name of the group which this server belongs to.
+ ''
+ 1
+ 6
+ char(64)|0s
+
+
+ Channel_name
+Host
+Port
+Network_namespace
+Managed_name
+ btree
+ 1
+
+
+ Channel_name
+Managed_name
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ The replication channel name that connects source and replica.
+ 1
+ 1
+ char(64)|0s
+
+
+ The name of the source which needs to be managed.
+ ''
+ 1
+ 2
+ char(64)|0s
+
+
+ Determines the managed type.
+ ''
+ 1
+ 3
+ char(64)|0s
+
+
+ The data to help manage group. For Managed_type = GroupReplication, Configuration value should contain {"Primary_weight": 80, "Secondary_weight": 60}, so that it assigns weight=80 to PRIMARY of the group, and weight=60 for rest of the members in mysql.replication_asynchronous_connection_failover table.
+ 4
+ json|0s
+
+
+ Channel_name
+Managed_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ The configuration name.
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ The version of the configuration name.
+ 1
+ 2
+ bigint unsigned|0s
+
+
+ name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ The action name.
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ The event that will trigger the action.
+ 1
+ 2
+ char(64)|0s
+ ascii_general_ci
+
+
+ Whether the action is enabled.
+ 1
+ 3
+ tinyint(1)|0s
+
+
+ The action type.
+ 1
+ 4
+ char(64)|0s
+ ascii_general_ci
+
+
+ The order on which the action will be run, value between 1 and 100, lower values first.
+ 1
+ 5
+ tinyint unsigned|0s
+
+
+ On errors during the action will be handled: IGNORE, CRITICAL.
+ 1
+ 6
+ char(64)|0s
+ ascii_general_ci
+
+
+ name
+event
+ btree
+ 1
+
+
+ event
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(32)|0s
+
+
+ ''
+ 1
+ 3
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 4
+ char(32)|0s
+
+
+ 'N'
+ 1
+ 5
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ FROM_HOST
+FROM_USER
+TO_HOST
+TO_USER
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ varchar(8)|0s
+
+
+ 2
+ varchar(6)|0s
+
+
+ 3
+ smallint|0s
+
+
+ 4
+ varchar(255)|0s
+
+
+ course_code
+ course_code
+ course
+
+
+ id
+ btree
+ 1
+
+
+ course_code
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ varchar(64)|0s
+
+
+ 2
+ float|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 3
+ timestamp|0s
+
+
+ 4
+ varchar(1024)|0s
+
+
+ generated-virtual
+ (case `cost_name` when _utf8mb4'disk_temptable_create_cost' then 20.0 when _utf8mb4'disk_temptable_row_cost' then 0.5 when _utf8mb4'key_compare_cost' then 0.05 when _utf8mb4'memory_temptable_create_cost' then 1.0 when _utf8mb4'memory_temptable_row_cost' then 0.1 when _utf8mb4'row_evaluate_cost' then 0.1 else NULL end)
+ 5
+ float|0s
+
+
+ cost_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(64)|0s
+
+
+ ''
+ 1
+ 2
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 3
+ char(64)|0s
+
+
+ ''
+ 1
+ 4
+ char(64)|0s
+
+
+ ''
+ 1
+ 5
+ char(64)|0s
+
+
+ 0
+ 1
+ 6
+ int|0s
+
+
+ ''
+ 1
+ 7
+ char(64)|0s
+
+
+ ''
+ 1
+ 8
+ char(64)|0s
+
+
+ ''
+ 1
+ 9
+ char(64)|0s
+
+
+ Server_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ Number of lines in the file.
+ 1
+ 1
+ int unsigned|0s
+
+
+ The name of the master binary log currently being read from the master.
+ 1
+ 2
+ text|0s
+ utf8mb3_bin
+
+
+ The master log position of the last read event.
+ 1
+ 3
+ bigint unsigned|0s
+
+
+ The host name of the source.
+ 4
+ varchar(255)|0s
+ ascii_general_ci
+
+
+ The user name used to connect to the master.
+ 5
+ text|0s
+ utf8mb3_bin
+
+
+ The password used to connect to the master.
+ 6
+ text|0s
+ utf8mb3_bin
+
+
+ The network port used to connect to the master.
+ 1
+ 7
+ int unsigned|0s
+
+
+ The period (in seconds) that the slave will wait before trying to reconnect to the master.
+ 1
+ 8
+ int unsigned|0s
+
+
+ Indicates whether the server supports SSL connections.
+ 1
+ 9
+ tinyint(1)|0s
+
+
+ The file used for the Certificate Authority (CA) certificate.
+ 10
+ text|0s
+ utf8mb3_bin
+
+
+ The path to the Certificate Authority (CA) certificates.
+ 11
+ text|0s
+ utf8mb3_bin
+
+
+ The name of the SSL certificate file.
+ 12
+ text|0s
+ utf8mb3_bin
+
+
+ The name of the cipher in use for the SSL connection.
+ 13
+ text|0s
+ utf8mb3_bin
+
+
+ The name of the SSL key file.
+ 14
+ text|0s
+ utf8mb3_bin
+
+
+ Whether to verify the server certificate.
+ 1
+ 15
+ tinyint(1)|0s
+
+
+ 1
+ 16
+ float|0s
+
+
+ Displays which interface is employed when connecting to the MySQL server
+ 17
+ text|0s
+ utf8mb3_bin
+
+
+ The number of server IDs to be ignored, followed by the actual server IDs
+ 18
+ text|0s
+ utf8mb3_bin
+
+
+ The master server uuid.
+ 19
+ text|0s
+ utf8mb3_bin
+
+
+ Number of reconnect attempts, to the master, before giving up.
+ 1
+ 20
+ bigint unsigned|0s
+
+
+ The file used for the Certificate Revocation List (CRL)
+ 21
+ text|0s
+ utf8mb3_bin
+
+
+ The path used for Certificate Revocation List (CRL) files
+ 22
+ text|0s
+ utf8mb3_bin
+
+
+ Indicates whether GTIDs will be used to retrieve events from the master.
+ 1
+ 23
+ tinyint(1)|0s
+
+
+ The channel on which the replica is connected to a source. Used in Multisource Replication
+ 1
+ 24
+ varchar(64)|0s
+
+
+ Tls version
+ 25
+ text|0s
+ utf8mb3_bin
+
+
+ The file containing public key of master server.
+ 26
+ text|0s
+ utf8mb3_bin
+
+
+ Preference to get public key from master.
+ 1
+ 27
+ tinyint(1)|0s
+
+
+ Network namespace used for communication with the master server.
+ 28
+ text|0s
+ utf8mb3_bin
+
+
+ Compression algorithm supported for data transfer between source and replica.
+ 1
+ 29
+ varchar(64)|0s
+ utf8mb3_bin
+
+
+ Compression level associated with zstd compression algorithm.
+ 1
+ 30
+ int unsigned|0s
+
+
+ Ciphersuites used for TLS 1.3 communication with the master server.
+ 31
+ text|0s
+ utf8mb3_bin
+
+
+ Indicates whether the channel connection failover is enabled.
+ 0
+ 1
+ 32
+ tinyint(1)|0s
+
+
+ Indicates if this channel only uses GTIDs and does not persist positions.
+ 0
+ 1
+ 33
+ tinyint(1)|0s
+
+
+ Channel_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ Number of lines in the file or rows in the table. Used to version table definitions.
+ 1
+ 1
+ int unsigned|0s
+
+
+ The name of the current relay log file.
+ 2
+ text|0s
+ utf8mb3_bin
+
+
+ The relay log position of the last executed event.
+ 3
+ bigint unsigned|0s
+
+
+ The name of the master binary log file from which the events in the relay log file were read.
+ 4
+ text|0s
+ utf8mb3_bin
+
+
+ The master log position of the last executed event.
+ 5
+ bigint unsigned|0s
+
+
+ The number of seconds that the slave must lag behind the master.
+ 6
+ int|0s
+
+
+ 7
+ int unsigned|0s
+
+
+ Internal Id that uniquely identifies this record.
+ 8
+ int unsigned|0s
+
+
+ The channel on which the replica is connected to a source. Used in Multisource Replication
+ 1
+ 9
+ varchar(64)|0s
+
+
+ Username part of PRIVILEGE_CHECKS_USER.
+ 10
+ varchar(32)|0s
+ utf8mb3_bin
+
+
+ Hostname part of PRIVILEGE_CHECKS_USER.
+ 11
+ varchar(255)|0s
+ ascii_general_ci
+
+
+ Indicates whether the channel shall only accept row based events.
+ 1
+ 12
+ tinyint(1)|0s
+
+
+ Indicates what is the channel policy regarding tables without primary keys on create and alter table queries
+ 'STREAM'
+ 1
+ 13
+ enum('STREAM', 'ON', 'OFF', 'GENERATE')|0e
+
+
+ Indicates whether the channel will generate a new GTID for anonymous transactions. OFF means that anonymous transactions will remain anonymous. LOCAL means that anonymous transactions will be assigned a newly generated GTID based on server_uuid. UUID indicates that anonymous transactions will be assigned a newly generated GTID based on Assign_gtids_to_anonymous_transactions_value
+ 'OFF'
+ 1
+ 14
+ enum('OFF', 'LOCAL', 'UUID')|0e
+
+
+ Indicates the UUID used while generating GTIDs for anonymous transactions
+ 15
+ text|0s
+ utf8mb3_bin
+
+
+ Channel_name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ text|0s
+ utf8mb3_bin
+
+
+ 1
+ 3
+ bigint unsigned|0s
+
+
+ 1
+ 4
+ text|0s
+ utf8mb3_bin
+
+
+ 1
+ 5
+ bigint unsigned|0s
+
+
+ 1
+ 6
+ text|0s
+ utf8mb3_bin
+
+
+ 1
+ 7
+ bigint unsigned|0s
+
+
+ 1
+ 8
+ text|0s
+ utf8mb3_bin
+
+
+ 1
+ 9
+ bigint unsigned|0s
+
+
+ 1
+ 10
+ int unsigned|0s
+
+
+ 1
+ 11
+ int unsigned|0s
+
+
+ 1
+ 12
+ blob|0s
+
+
+ The channel on which the replica is connected to a source. Used in Multisource Replication
+ 1
+ 13
+ varchar(64)|0s
+
+
+ Channel_name
+Id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ CURRENT_TIMESTAMP(6)
+ 1
+ CURRENT_TIMESTAMP(6)
+ 1
+ timestamp(6)|0s
+
+
+ 1
+ 2
+ mediumtext|0s
+
+
+ 1
+ 3
+ time(6)|0s
+
+
+ 1
+ 4
+ time(6)|0s
+
+
+ 1
+ 5
+ int|0s
+
+
+ 1
+ 6
+ int|0s
+
+
+ 1
+ 7
+ varchar(512)|0s
+
+
+ 1
+ 8
+ int|0s
+
+
+ 1
+ 9
+ int|0s
+
+
+ 1
+ 10
+ int unsigned|0s
+
+
+ 1
+ 11
+ mediumblob|0s
+
+
+ 1
+ 12
+ bigint unsigned|0s
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(64)|0s
+
+
+ ''
+ 1
+ 3
+ char(32)|0s
+
+
+ ''
+ 1
+ 4
+ char(64)|0s
+
+
+ ''
+ 1
+ 5
+ varchar(288)|0s
+
+
+ CURRENT_TIMESTAMP
+ 1
+ CURRENT_TIMESTAMP
+ 6
+ timestamp|0s
+
+
+ ''
+ 1
+ 7
+ set('Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter', 'Create View', 'Show view', 'Trigger')|0e
+ utf8mb3_general_ci
+
+
+ ''
+ 1
+ 8
+ set('Select', 'Insert', 'Update', 'References')|0e
+ utf8mb3_general_ci
+
+
+ Host
+User
+Db
+Table_name
+ btree
+ 1
+
+
+ Grantor
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ 1
+ int unsigned|0s
+
+
+ 'N'
+ 1
+ 2
+ enum('Y', 'N')|0e
+
+
+ Time_zone_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ bigint|0s
+
+
+ 1
+ 2
+ int|0s
+
+
+ Transition_time
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ char(64)|0s
+
+
+ 1
+ 2
+ int unsigned|0s
+
+
+ Name
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ bigint|0s
+
+
+ 1
+ 3
+ int unsigned|0s
+
+
+ Time_zone_id
+Transition_time
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ int unsigned|0s
+
+
+ 1
+ 2
+ int unsigned|0s
+
+
+ 0
+ 1
+ 3
+ int|0s
+
+
+ '0'
+ 1
+ 4
+ tinyint unsigned|0s
+
+
+ ''
+ 1
+ 5
+ char(8)|0s
+
+
+ Time_zone_id
+Transition_type_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ ''
+ 1
+ 1
+ char(255)|0s
+ ascii_general_ci
+
+
+ ''
+ 1
+ 2
+ char(32)|0s
+
+
+ 'N'
+ 1
+ 3
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 4
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 5
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 6
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 7
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 8
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 9
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 10
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 11
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 12
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 13
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 14
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 15
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 16
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 17
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 18
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 19
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 20
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 21
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 22
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 23
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 24
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 25
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 26
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 27
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 28
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 29
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 30
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 31
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ ''
+ 1
+ 32
+ enum('', 'ANY', 'X509', 'SPECIFIED')|0e
+ utf8mb3_general_ci
+
+
+ 1
+ 33
+ blob|0s
+
+
+ 1
+ 34
+ blob|0s
+
+
+ 1
+ 35
+ blob|0s
+
+
+ '0'
+ 1
+ 36
+ int unsigned|0s
+
+
+ '0'
+ 1
+ 37
+ int unsigned|0s
+
+
+ '0'
+ 1
+ 38
+ int unsigned|0s
+
+
+ '0'
+ 1
+ 39
+ int unsigned|0s
+
+
+ 'caching_sha2_password'
+ 1
+ 40
+ char(64)|0s
+
+
+ 41
+ text|0s
+
+
+ 'N'
+ 1
+ 42
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 43
+ timestamp|0s
+
+
+ 44
+ smallint unsigned|0s
+
+
+ 'N'
+ 1
+ 45
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 46
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 'N'
+ 1
+ 47
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 48
+ smallint unsigned|0s
+
+
+ 49
+ smallint unsigned|0s
+
+
+ 50
+ enum('N', 'Y')|0e
+ utf8mb3_general_ci
+
+
+ 51
+ json|0s
+
+
+ Host
+User
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 1
+ 1
+ 1
+ int|0s
+
+
+ 1
+ 2
+ varchar(255)|0s
+
+
+ 1
+ 3
+ int|0s
+
+
+ 1
+ 4
+ int|0s
+
+
+ 1
+ 5
+ int|0s
+
+
+ author_id
+ author_id
+ Authors
+
+
+ article_id
+ btree
+ 1
+
+
+ title
+ btree
+ 1
+
+
+ author_id
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ title
+
+
+ 1
+ 1
+ 1
+ int|0s
+
+
+ 1
+ 2
+ varchar(50)|0s
+
+
+ 1
+ 3
+ varchar(50)|0s
+
+
+ author_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 4
+ 1
+ 1
+ int|0s
+
+
+ 1
+ 2
+ varchar(50)|0s
+
+
+ 1
+ 3
+ int|0s
+
+
+ aircraft_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 14
+ 1
+ 1
+ int|0s
+
+
+ 1
+ 2
+ int|0s
+
+
+ 1
+ 3
+ int|0s
+
+
+ customer_id
+ customer_id
+ customers
+
+
+ flight_id
+ flight_id
+ flights
+
+
+ booking_id
+ btree
+ 1
+
+
+ customer_id
+ btree
+
+
+ flight_id
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 9
+ 1
+ 1
+ int|0s
+
+
+ 1
+ 2
+ varchar(50)|0s
+
+
+ 1
+ 3
+ varchar(50)|0s
+
+
+ 1
+ 4
+ varchar(20)|0s
+
+
+ 1
+ 5
+ int|0s
+
+
+ customer_id
+ btree
+ 1
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ 6
+ 1
+ 1
+ int|0s
+
+
+ 1
+ 2
+ varchar(20)|0s
+
+
+ 1
+ 3
+ int|0s
+
+
+ 1
+ 4
+ int|0s
+
+
+ aircraft_id
+ aircraft_id
+ aircrafts
+
+
+ flight_id
+ btree
+ 1
+
+
+ number
+ btree
+ 1
+
+
+ aircraft_id
+ btree
+
+
+ 1
+ 1
+ PRIMARY
+
+
+ number
+
+
+
\ No newline at end of file
diff --git a/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/information_schema.FNRwLQ.meta b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/information_schema.FNRwLQ.meta
new file mode 100644
index 0000000..1ff3db2
--- /dev/null
+++ b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/information_schema.FNRwLQ.meta
@@ -0,0 +1,2 @@
+#n:information_schema
+! [null, 0, null, null, -2147483648, -2147483648]
diff --git a/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/mysql.osA4Bg.meta b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/mysql.osA4Bg.meta
new file mode 100644
index 0000000..86a53f1
--- /dev/null
+++ b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/mysql.osA4Bg.meta
@@ -0,0 +1,2 @@
+#n:mysql
+! [null, 0, null, null, -2147483648, -2147483648]
diff --git a/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/performance_schema.kIw0nw.meta b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/performance_schema.kIw0nw.meta
new file mode 100644
index 0000000..9394db1
--- /dev/null
+++ b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/performance_schema.kIw0nw.meta
@@ -0,0 +1,2 @@
+#n:performance_schema
+! [null, 0, null, null, -2147483648, -2147483648]
diff --git a/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/sys.zb4BAA.meta b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/sys.zb4BAA.meta
new file mode 100644
index 0000000..2f4470b
--- /dev/null
+++ b/db_TEST/.idea/dataSources/7d429f0c-7fa6-4b49-99f3-e1c72eb09e8c/storage_v2/_src_/schema/sys.zb4BAA.meta
@@ -0,0 +1,2 @@
+#n:sys
+! [null, 0, null, null, -2147483648, -2147483648]
diff --git a/db_TEST/.idea/data_source_mapping.xml b/db_TEST/.idea/data_source_mapping.xml
new file mode 100644
index 0000000..a368912
--- /dev/null
+++ b/db_TEST/.idea/data_source_mapping.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_TEST/.idea/misc.xml b/db_TEST/.idea/misc.xml
new file mode 100644
index 0000000..639900d
--- /dev/null
+++ b/db_TEST/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_TEST/.idea/modules.xml b/db_TEST/.idea/modules.xml
new file mode 100644
index 0000000..e18de5c
--- /dev/null
+++ b/db_TEST/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_TEST/.idea/sqlDataSources.xml b/db_TEST/.idea/sqlDataSources.xml
new file mode 100644
index 0000000..a77a79e
--- /dev/null
+++ b/db_TEST/.idea/sqlDataSources.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_TEST/Exercise 1.sql b/db_TEST/Exercise 1.sql
new file mode 100644
index 0000000..b07ac0d
--- /dev/null
+++ b/db_TEST/Exercise 1.sql
@@ -0,0 +1,31 @@
+CREATE TABLE Authors
+(
+ author_id INT AUTO_INCREMENT PRIMARY KEY,
+ first_name VARCHAR(50) NOT NULL,
+ last_name VARCHAR(50) NOT NULL
+);
+
+CREATE TABLE Articles
+(
+ article_id INT AUTO_INCREMENT PRIMARY KEY,
+ title VARCHAR(255) UNIQUE NOT NULL,
+ word_count INT NOT NULL,
+ views INT NOT NULL,
+ author_id INT NOT NULL,
+ FOREIGN KEY (author_id) REFERENCES Authors (author_id)
+);
+
+INSERT INTO Authors (first_name, last_name) VALUES
+ ('Maria', 'Charlotte'),
+ ('Juan', 'Perez'),
+ ('Gemma', 'Alcocer');
+
+INSERT INTO Articles (title, word_count, views, author_id) VALUES
+ ('Best Paint Colors', 814, 14, 1),
+ ('Small Space Decorating Tips', 1146, 221, 2),
+ ('Hot Accessories', 986, 105, 1),
+ ('Mixing Textures', 765, 22, 1),
+ ('Kitchen Refresh', 1242, 307, 2),
+ ('Homemade Art Hacks', 1002, 193, 1),
+ ('Refinishing Wood Floors', 1571, 7542, 3);
+
diff --git a/db_TEST/Exercise 2.sql b/db_TEST/Exercise 2.sql
new file mode 100644
index 0000000..a1d433b
--- /dev/null
+++ b/db_TEST/Exercise 2.sql
@@ -0,0 +1,86 @@
+DROP TABLE IF EXISTS bookings;
+DROP TABLE IF EXISTS customers;
+DROP TABLE IF EXISTS flights;
+DROP TABLE IF EXISTS aircrafts;
+
+
+
+CREATE TABLE customers
+(
+ customer_id INT AUTO_INCREMENT PRIMARY KEY,
+ first_name VARCHAR(50) NOT NULL,
+ last_name VARCHAR(50) NOT NULL,
+ status VARCHAR(20) NOT NULL,
+ mileage int NOT NULL
+);
+
+CREATE TABLE aircrafts
+(
+ aircraft_id INT AUTO_INCREMENT PRIMARY KEY,
+ model VARCHAR(50) NOT NULL,
+ seats int NOT NULL
+);
+
+CREATE TABLE flights
+(
+ flight_id INT AUTO_INCREMENT PRIMARY KEY,
+ number VARCHAR(20) UNIQUE NOT NULL,
+ aircraft_id INT NOT NULL,
+ mileage INT NOT NULL,
+ FOREIGN KEY (aircraft_id) REFERENCES aircrafts (aircraft_id)
+);
+
+CREATE TABLE bookings
+(
+ booking_id INT AUTO_INCREMENT PRIMARY KEY,
+ customer_id INT NOT NULL,
+ flight_id INT NOT NULL,
+ FOREIGN KEY (customer_id) REFERENCES customers (customer_id),
+ FOREIGN KEY (flight_id) REFERENCES flights (flight_id)
+);
+
+
+INSERT INTO aircrafts (model, seats) VALUES
+ ('Boeing 747', 400),
+ ('Airbus A330', 236),
+ ('Boeing 777', 264);
+
+INSERT INTO customers (first_name, last_name, status, mileage) VALUES
+ ('Agustine', 'Riviera', 'Silver', 115235),
+ ('Alaina', 'Sepulvida', 'None', 6008),
+ ('Tom', 'Jones', 'Gold', 205767),
+ ('Sam', 'Rio', 'None', 2653),
+ ('Jessica', 'James', 'Silver', 127656),
+ ('Ana', 'Janco', 'Silver', 136773),
+ ('Jennifer', 'Cortez', 'Gold', 300582),
+ ('Christian', 'Janco', 'Silver', 14642);
+
+INSERT INTO flights (number, aircraft_id, mileage) VALUES
+ ('DL143', 1, 135),
+ ('DL122', 2, 4370),
+ ('DL53', 3, 2078),
+ ('DL222', 3, 1765),
+ ('DL37', 1, 531);
+
+INSERT INTO bookings (customer_id, flight_id) VALUES
+-- Agustine Riviera
+(1, 1),
+(1, 2),
+-- Alaina Sepulvida
+(2, 2),
+-- Tom Jones
+(3, 2),
+(3, 3),
+(3, 4),
+-- Sam Rio
+(4, 1),
+(4, 5),
+-- Jessica James
+(5, 1),
+(5, 2),
+-- Ana Janco
+(6, 4),
+-- Jennifer Cortez
+(7, 4),
+-- Christian Janco
+(8, 4);
diff --git a/db_TEST/Exercise 3.sql b/db_TEST/Exercise 3.sql
new file mode 100644
index 0000000..9d35f54
--- /dev/null
+++ b/db_TEST/Exercise 3.sql
@@ -0,0 +1,24 @@
+Total number of flights: 5
+Average flight distance: 1775.8
+Average number of seats per aircraft: 300
+Average miles flown by customers, grouped by status:
+ Silver: 98576.5000
+ None: 4330.5000
+ Gold: 253174.5000
+
+Max miles flown by customers, grouped by status:
+ Silver,136773
+ None,6008
+ Gold,300582
+
+Number of aircrafts with "Boeing" in their name: 2
+Flights with distance between 300 and 2000 miles:
+ DL222,3,1765
+ DL37,1,531
+
+Average flight distance booked, grouped by customer status:
+ Silver,2090.0000
+ None,1678.6667
+ Gold,2494.5000
+
+Most booked aircraft among Gold status members: Boeing 777,3
diff --git a/db_TEST/db_TEST.iml b/db_TEST/db_TEST.iml
new file mode 100644
index 0000000..9a5cfce
--- /dev/null
+++ b/db_TEST/db_TEST.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/db_TEST/dv b/db_TEST/dv
new file mode 100644
index 0000000..7971b27
--- /dev/null
+++ b/db_TEST/dv
@@ -0,0 +1,156 @@
+use week6;
+
+// Exersice 1
+DROP TABLE IF EXISTS Articles;
+DROP TABLE IF EXISTS Authors;
+
+
+CREATE TABLE Authors
+(
+ author_id INT AUTO_INCREMENT PRIMARY KEY,
+ first_name VARCHAR(50) NOT NULL,
+ last_name VARCHAR(50) NOT NULL
+);
+
+CREATE TABLE Articles
+(
+ article_id INT AUTO_INCREMENT PRIMARY KEY,
+ title VARCHAR(255) UNIQUE NOT NULL,
+ word_count INT NOT NULL,
+ views INT NOT NULL,
+ author_id INT NOT NULL,
+ FOREIGN KEY (author_id) REFERENCES Authors (author_id)
+);
+
+INSERT INTO Authors (first_name, last_name) VALUES
+ ('Maria', 'Charlotte'),
+ ('Juan', 'Perez'),
+ ('Gemma', 'Alcocer');
+
+INSERT INTO Articles (title, word_count, views, author_id) VALUES
+ ('Best Paint Colors', 814, 14, 1),
+ ('Small Space Decorating Tips', 1146, 221, 2),
+ ('Hot Accessories', 986, 105, 1),
+ ('Mixing Textures', 765, 22, 1),
+ ('Kitchen Refresh', 1242, 307, 2),
+ ('Homemade Art Hacks', 1002, 193, 1),
+ ('Refinishing Wood Floors', 1571, 7542, 3);
+
+
+
+// Exersice 2
+use week6;
+
+DROP TABLE IF EXISTS bookings;
+DROP TABLE IF EXISTS customers;
+DROP TABLE IF EXISTS flights;
+DROP TABLE IF EXISTS aircrafts;
+
+
+
+CREATE TABLE customers
+(
+ customer_id INT AUTO_INCREMENT PRIMARY KEY,
+ first_name VARCHAR(50) NOT NULL,
+ last_name VARCHAR(50) NOT NULL,
+ status VARCHAR(20) NOT NULL,
+ mileage int NOT NULL
+);
+
+CREATE TABLE aircrafts
+(
+ aircraft_id INT AUTO_INCREMENT PRIMARY KEY,
+ model VARCHAR(50) NOT NULL,
+ seats int NOT NULL
+);
+
+CREATE TABLE flights
+(
+ flight_id INT AUTO_INCREMENT PRIMARY KEY,
+ number VARCHAR(20) UNIQUE NOT NULL,
+ aircraft_id INT NOT NULL,
+ mileage INT NOT NULL,
+ FOREIGN KEY (aircraft_id) REFERENCES aircrafts (aircraft_id)
+);
+
+CREATE TABLE bookings
+(
+ booking_id INT AUTO_INCREMENT PRIMARY KEY,
+ customer_id INT NOT NULL,
+ flight_id INT NOT NULL,
+ FOREIGN KEY (customer_id) REFERENCES customers (customer_id),
+ FOREIGN KEY (flight_id) REFERENCES flights (flight_id)
+);
+
+
+INSERT INTO aircrafts (model, seats) VALUES
+ ('Boeing 747', 400),
+ ('Airbus A330', 236),
+ ('Boeing 777', 264);
+
+INSERT INTO customers (first_name, last_name, status, mileage) VALUES
+ ('Agustine', 'Riviera', 'Silver', 115235),
+ ('Alaina', 'Sepulvida', 'None', 6008),
+ ('Tom', 'Jones', 'Gold', 205767),
+ ('Sam', 'Rio', 'None', 2653),
+ ('Jessica', 'James', 'Silver', 127656),
+ ('Ana', 'Janco', 'Silver', 136773),
+ ('Jennifer', 'Cortez', 'Gold', 300582),
+ ('Christian', 'Janco', 'Silver', 14642);
+
+INSERT INTO flights (number, aircraft_id, mileage) VALUES
+ ('DL143', 1, 135),
+ ('DL122', 2, 4370),
+ ('DL53', 3, 2078),
+ ('DL222', 3, 1765),
+ ('DL37', 1, 531);
+
+INSERT INTO bookings (customer_id, flight_id) VALUES
+-- Agustine Riviera
+(1, 1),
+(1, 2),
+-- Alaina Sepulvida
+(2, 2),
+-- Tom Jones
+(3, 2),
+(3, 3),
+(3, 4),
+-- Sam Rio
+(4, 1),
+(4, 5),
+-- Jessica James
+(5, 1),
+(5, 2),
+-- Ana Janco
+(6, 4),
+-- Jennifer Cortez
+(7, 4),
+-- Christian Janco
+(8, 4);
+
+
+// Exercise 3
+Total number of flights: 5
+Average flight distance: 1775.8
+Average number of seats per aircraft: 300
+Average miles flown by customers, grouped by status:
+ Silver: 98576.5000
+ None: 4330.5000
+ Gold: 253174.5000
+
+Max miles flown by customers, grouped by status:
+ Silver,136773
+ None,6008
+ Gold,300582
+
+Number of aircrafts with "Boeing" in their name: 2
+Flights with distance between 300 and 2000 miles:
+ DL222,3,1765
+ DL37,1,531
+
+Average flight distance booked, grouped by customer status:
+ Silver,2090.0000
+ None,1678.6667
+ Gold,2494.5000
+
+Most booked aircraft among Gold status members: Boeing 777,3