Task: equi-join-detect (source dataset: Auto-BI)

Your are given a database with related tables used for business intelligence analysis. Your task is to identify all key/foreign-key join relationships between the tables for this database. Recall that a join is a relationship between two tables, that allows rows from one table to be combined with rows from another, based on a set of common join columns.
 
 
No explanation needed. Please return all join relationships in the following JSON format:
{
  "joins": [
    {
      "from_table": "table-1",
      "from_column": "column-1",
      "to_table": "table-2",
      "to_column": "column-3"
    }, 
	...
  ]
}

Tables:

Table: DIM_CANDIDATO
|   SK_CANDIDATO |   NK_CANDIDDATO | NM_CANDIDATO    |
|---------------:|----------------:|:----------------|
|              0 |              -1 | NA              |
|              1 |             100 | Candidato 100   |
|              2 |            1000 | Candidato 1000  |
|              3 |           10000 | Candidato 10000 |
|              4 |           10001 | Candidato 10001 |
|              5 |           10002 | Candidato 10002 |
|              6 |           10003 | Candidato 10003 |
|              7 |           10004 | Candidato 10004 |
|              8 |           10005 | Candidato 10005 |
|              9 |           10006 | Candidato 10006 |


Table: DIM_CURSO
|   SK_CURSO |   NK_CURSO | NM_CURSO   |
|-----------:|-----------:|:-----------|
|          0 |         -1 | NA         |
|          1 |         55 | Curso 55   |
|          2 |         26 | Curso 26   |
|          3 |         41 | Curso 41   |
|          4 |         15 | Curso 15   |
|          5 |          5 | Curso 5    |
|          6 |         54 | Curso 54   |
|          7 |         40 | Curso 40   |
|          8 |         44 | Curso 44   |
|          9 |         50 | Curso 50   |


Table: DIM_DATA
|   SK_DATA | DATA                    |   COD_SEMANA |   DIA_SEMANA | NOME_DIA_SEMANA   |   DIA |   MES | NOME_MES   | MES_ANO   | NOME_MES_ANO   |   TRIMESTRE | NOME_TRIMESTRE     | TRIMESTRE_ANO   | NOME_TRIMESTRE_ANO      |   SEMESTRE | NOME_SEMESTRE     | SEMESTRE_ANO   | NOME_SEMESTRE_ANO      |   ANO | TIPO_DIA   |
|----------:|:------------------------|-------------:|-------------:|:------------------|------:|------:|:-----------|:----------|:---------------|------------:|:-------------------|:----------------|:------------------------|-----------:|:------------------|:---------------|:-----------------------|------:|:-----------|
|  20180101 | 2018-01-01 00:00:00.000 |            1 |            2 | Segunda           |     1 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180102 | 2018-01-02 00:00:00.000 |            1 |            3 | Terça             |     2 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180103 | 2018-01-03 00:00:00.000 |            1 |            4 | Quarta            |     3 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180104 | 2018-01-04 00:00:00.000 |            1 |            5 | Quinta            |     4 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180105 | 2018-01-05 00:00:00.000 |            1 |            6 | Sexta             |     5 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180108 | 2018-01-08 00:00:00.000 |            2 |            2 | Segunda           |     8 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180109 | 2018-01-09 00:00:00.000 |            2 |            3 | Terça             |     9 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180110 | 2018-01-10 00:00:00.000 |            2 |            4 | Quarta            |    10 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180111 | 2018-01-11 00:00:00.000 |            2 |            5 | Quinta            |    11 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |
|  20180112 | 2018-01-12 00:00:00.000 |            2 |            6 | Sexta             |    12 |     1 | Janeiro    | 01 - 2018 | Janeiro - 2018 |           1 | Primeiro Trimestre | 01 - 2018       | Primeiro Trimestre 2018 |          1 | Primeiro Semestre | 01 - 2018      | Primeiro Semestre 2018 |  2018 | Dia Útil   |


Table: DIM_FORMA_PAG
|   SK_FORMA_PAG |   NK_FORMA_PAG | NM_FORMA_PAG      |
|---------------:|---------------:|:------------------|
|              0 |             -1 | NA                |
|              1 |              1 | Boleto            |
|              2 |              3 | Isento            |
|              3 |              2 | Cartão de Crédito |


Table: DIM_HORA
|   SK_HORA |   HORA |   MINUTO | PADRAO   | PERIODO   |   PERIODO_ORDER |
|----------:|-------:|---------:|:---------|:----------|----------------:|
|         0 |      0 |        0 | AM       | Madrugada |               1 |
|         1 |      0 |        1 | AM       | Madrugada |               1 |
|         2 |      0 |        2 | AM       | Madrugada |               1 |
|         3 |      0 |        3 | AM       | Madrugada |               1 |
|         4 |      0 |        4 | AM       | Madrugada |               1 |
|         5 |      0 |        5 | AM       | Madrugada |               1 |
|         6 |      0 |        6 | AM       | Madrugada |               1 |
|         7 |      0 |        7 | AM       | Madrugada |               1 |
|         8 |      0 |        8 | AM       | Madrugada |               1 |
|         9 |      0 |        9 | AM       | Madrugada |               1 |


Table: DIM_PROCESSO
|   SK_PROCESSO |   NK_PROCESSO | NM_PROCESSO   | PERIODO_LETIVO   |
|--------------:|--------------:|:--------------|:-----------------|
|             0 |            -1 | NA            | NA               |
|             1 |            22 | Processo 22   | 2019/2           |
|             2 |            16 | Processo 16   | 2019/1           |
|             3 |            25 | Processo 25   | 2020/1           |
|             4 |            15 | Processo 15   | 2019/1           |
|             5 |            23 | Processo 23   | 2019/2           |
|             6 |            21 | Processo 21   | 2019/2           |
|             7 |            19 | Processo 19   | 2019/2           |
|             8 |            10 | Processo 10   | 2019/1           |
|             9 |            26 | Processo 26   | 2020/1           |


Table: FATO_INSCRICOES
|   SK_CANDIDATO |   SK_CURSO |   SK_PROCESSO |     SK_DATA |   SK_HORA |   BOLSA_ESTUDO |   CALL_CENTER |
|---------------:|-----------:|--------------:|------------:|----------:|---------------:|--------------:|
|             91 |         21 |             2 | 2.01902e+07 |      2052 |              0 |             0 |
|            123 |         21 |             2 | 2.01902e+07 |      1504 |              0 |             0 |
|            171 |         21 |             2 | 2.01902e+07 |      1755 |              0 |             0 |
|            242 |         21 |             2 | 2.01902e+07 |      1323 |              0 |             0 |
|            369 |         21 |             2 | 2.01902e+07 |      2345 |              0 |             0 |
|            529 |         21 |             2 | 2.01902e+07 |       817 |              0 |             0 |
|            592 |         21 |             2 | 2.01902e+07 |      1952 |              0 |             0 |
|            642 |         21 |             2 | 2.01902e+07 |      1800 |              0 |             0 |
|            643 |         21 |             2 | 2.01902e+07 |      1801 |              0 |             0 |
|            681 |         21 |             2 | 2.01902e+07 |      1919 |              0 |             0 |


Table: FATO_INSCRICOES_PAGA
|   SK_CANDIDATO |   SK_CURSO |   SK_PROCESSO |   SK_FORMA_PAG |     SK_DATA |   SK_HORA |   CALL_CENTER |   BOLSA_ESTUDO |   VALOR |
|---------------:|-----------:|--------------:|---------------:|------------:|----------:|--------------:|---------------:|--------:|
|             12 |         21 |            17 |              1 | 2.01809e+07 |         0 |             1 |              0 |     300 |
|             19 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|             33 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|             45 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|             49 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|             99 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|            109 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|            136 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |
|            137 |         21 |            17 |              1 | 2.0181e+07  |         0 |             0 |              0 |     300 |
|            143 |         21 |            17 |              1 | 2.01809e+07 |         0 |             0 |              0 |     300 |


Table: FATO_PRE_INSCRICOES
|   SK_CANDIDATO |   SK_PROCESSO |   SK_CURSO |     SK_DATA |   SK_HORA |
|---------------:|--------------:|-----------:|------------:|----------:|
|             91 |             2 |         21 | 2.01902e+07 |      2048 |
|            123 |             2 |         21 | 2.01902e+07 |      1503 |
|            171 |             2 |         21 | 2.01902e+07 |      1754 |
|            242 |             2 |         21 | 2.01902e+07 |      1321 |
|            369 |             2 |         21 | 2.01902e+07 |      2343 |
|            529 |             2 |         21 | 2.01902e+07 |       816 |
|            592 |             2 |         21 | 2.01902e+07 |      1946 |
|            642 |             2 |         21 | 2.01902e+07 |      1758 |
|            643 |             2 |         21 | 2.01902e+07 |      1759 |
|            681 |             2 |         21 | 2.01902e+07 |      1916 |


Table: Metricas


 


tables: name: DIM_CANDIDATO
data: DIM_CANDIDATO.csv
name: DIM_CURSO
data: DIM_CURSO.csv
name: DIM_DATA
data: DIM_DATA.csv
name: DIM_FORMA_PAG
data: DIM_FORMA_PAG.csv
name: DIM_HORA
data: DIM_HORA.csv
name: DIM_PROCESSO
data: DIM_PROCESSO.csv
name: FATO_INSCRICOES
data: FATO_INSCRICOES.csv
name: FATO_INSCRICOES_PAGA
data: FATO_INSCRICOES_PAGA.csv
name: FATO_PRE_INSCRICOES
data: FATO_PRE_INSCRICOES.csv
name: Metricas
data: Metricas.csv
label: FATO_INSCRICOES
SK_CANDIDATO
DIM_CANDIDATO
SK_CANDIDATO
FATO_INSCRICOES_PAGA
SK_CANDIDATO
DIM_CANDIDATO
SK_CANDIDATO
FATO_PRE_INSCRICOES
SK_CANDIDATO
DIM_CANDIDATO
SK_CANDIDATO
FATO_INSCRICOES
SK_CURSO
DIM_CURSO
SK_CURSO
FATO_INSCRICOES_PAGA
SK_CURSO
DIM_CURSO
SK_CURSO
FATO_PRE_INSCRICOES
SK_CURSO
DIM_CURSO
SK_CURSO
FATO_INSCRICOES
SK_DATA
DIM_DATA
SK_DATA
FATO_INSCRICOES_PAGA
SK_DATA
DIM_DATA
SK_DATA
FATO_PRE_INSCRICOES
SK_DATA
DIM_DATA
SK_DATA
FATO_INSCRICOES_PAGA
SK_FORMA_PAG
DIM_FORMA_PAG
SK_FORMA_PAG
FATO_INSCRICOES
SK_HORA
DIM_HORA
SK_HORA
FATO_INSCRICOES_PAGA
SK_HORA
DIM_HORA
SK_HORA
FATO_PRE_INSCRICOES
SK_HORA
DIM_HORA
SK_HORA
FATO_INSCRICOES
SK_PROCESSO
DIM_PROCESSO
SK_PROCESSO
FATO_INSCRICOES_PAGA
SK_PROCESSO
DIM_PROCESSO
SK_PROCESSO
FATO_PRE_INSCRICOES
SK_PROCESSO
DIM_PROCESSO
SK_PROCESSO
output: {
    "joins": [
        {
            "from_table": "FATO_INSCRICOES",
            "from_column": "SK_CANDIDATO",
            "to_table": "DIM_CANDIDATO",
            "to_column": "SK_CANDIDATO"
        },
        {
            "from_table": "FATO_INSCRICOES_PAGA",
            "from_column": "SK_CANDIDATO",
            "to_table": "DIM_CANDIDATO",
            "to_column": "SK_CANDIDATO"
        },
        {
            "from_table": "FATO_PRE_INSCRICOES",
            "from_column": "SK_CANDIDATO",
            "to_table": "DIM_CANDIDATO",
            "to_column": "SK_CANDIDATO"
        },
        {
            "from_table": "FATO_INSCRICOES",
            "from_column": "SK_CURSO",
            "to_table": "DIM_CURSO",
            "to_column": "SK_CURSO"
        },
        {
            "from_table": "FATO_INSCRICOES_PAGA",
            "from_column": "SK_CURSO",
            "to_table": "DIM_CURSO",
            "to_column": "SK_CURSO"
        },
        {
            "from_table": "FATO_PRE_INSCRICOES",
            "from_column": "SK_CURSO",
            "to_table": "DIM_CURSO",
            "to_column": "SK_CURSO"
        },
        {
            "from_table": "FATO_INSCRICOES",
            "from_column": "SK_DATA",
            "to_table": "DIM_DATA",
            "to_column": "SK_DATA"
        },
        {
            "from_table": "FATO_INSCRICOES_PAGA",
            "from_column": "SK_DATA",
            "to_table": "DIM_DATA",
            "to_column": "SK_DATA"
        },
        {
            "from_table": "FATO_PRE_INSCRICOES",
            "from_column": "SK_DATA",
            "to_table": "DIM_DATA",
            "to_column": "SK_DATA"
        },
        {
            "from_table": "FATO_INSCRICOES_PAGA",
            "from_column": "SK_FORMA_PAG",
            "to_table": "DIM_FORMA_PAG",
            "to_column": "SK_FORMA_PAG"
        },
        {
            "from_table": "FATO_INSCRICOES",
            "from_column": "SK_HORA",
            "to_table": "DIM_HORA",
            "to_column": "SK_HORA"
        },
        {
            "from_table": "FATO_INSCRICOES_PAGA",
            "from_column": "SK_HORA",
            "to_table": "DIM_HORA",
            "to_column": "SK_HORA"
        },
        {
            "from_table": "FATO_PRE_INSCRICOES",
            "from_column": "SK_HORA",
            "to_table": "DIM_HORA",
            "to_column": "SK_HORA"
        },
        {
            "from_table": "FATO_INSCRICOES",
            "from_column": "SK_PROCESSO",
            "to_table": "DIM_PROCESSO",
            "to_column": "SK_PROCESSO"
        },
        {
            "from_table": "FATO_INSCRICOES_PAGA",
            "from_column": "SK_PROCESSO",
            "to_table": "DIM_PROCESSO",
            "to_column": "SK_PROCESSO"
        },
        {
            "from_table": "FATO_PRE_INSCRICOES",
            "from_column": "SK_PROCESSO",
            "to_table": "DIM_PROCESSO",
            "to_column": "SK_PROCESSO"
        }
    ]
}