[
    {
        "tabla": "Usuario",
        "atributos": [
            "tiene_autorizador: no_visibles_columnas: contrasenya,correo"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "nombre",
                "tipo": "VARCHAR",
                "detalles": "(256) UNIQUE NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "domicilio",
                "tipo": "VARCHAR",
                "detalles": "(1024)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "correo",
                "tipo": "VARCHAR",
                "detalles": "(512)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "contrasenya",
                "tipo": "VARCHAR",
                "detalles": "(512)",
                "atributos": []
            }
        ],
        "script": "CREATE TABLE Usuario /*\n  @tiene_autorizador: no_visibles_columnas: contrasenya,correo\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  nombre VARCHAR(256) UNIQUE NOT NULL,\n  domicilio VARCHAR(1024),\n  correo VARCHAR (512),\n  contrasenya VARCHAR(512)\n);"
    },
    {
        "tabla": "Grupo",
        "atributos": [
            "tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "nombre",
                "tipo": "VARCHAR",
                "detalles": "(256) UNIQUE NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "descripcion",
                "tipo": "TEXT",
                "detalles": "",
                "atributos": []
            }
        ],
        "script": "\n\nCREATE TABLE Grupo /*\n  @tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  nombre VARCHAR(256) UNIQUE NOT NULL,\n  descripcion TEXT\n);"
    },
    {
        "tabla": "Permiso",
        "atributos": [
            "tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "nombre",
                "tipo": "VARCHAR",
                "detalles": "(256) UNIQUE NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "descripcion",
                "tipo": "TEXT",
                "detalles": "",
                "atributos": []
            }
        ],
        "script": "\n\nCREATE TABLE Permiso /*\n  @tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  nombre VARCHAR(256) UNIQUE NOT NULL,\n  descripcion TEXT\n);"
    },
    {
        "tabla": "Permiso_de_grupo",
        "atributos": [
            "tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_permiso",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_grupo",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_grupo",
                "tabla_foranea": "Grupo",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_permiso",
                "tabla_foranea": "Permiso",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Permiso_de_grupo /*\n  @tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  id_permiso INTEGER,\n  id_grupo INTEGER,\n  FOREIGN KEY (id_grupo) REFERENCES Grupo (id),\n  FOREIGN KEY (id_permiso) REFERENCES Permiso (id)\n);"
    },
    {
        "tabla": "Permiso_de_usuario",
        "atributos": [
            "tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_permiso",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_usuario",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_usuario",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_permiso",
                "tabla_foranea": "Permiso",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Permiso_de_usuario /*\n  @tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  id_permiso INTEGER,\n  id_usuario INTEGER,\n  FOREIGN KEY (id_usuario) REFERENCES Usuario (id),\n  FOREIGN KEY (id_permiso) REFERENCES Permiso (id)\n);"
    },
    {
        "tabla": "Grupo_de_usuario",
        "atributos": [
            "tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_usuario",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_grupo",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_grupo",
                "tabla_foranea": "Grupo",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_usuario",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Grupo_de_usuario /*\n  @tiene_autorizador: incluir: insert | update | delete: {\"permisos\":[\"permiso de administración\"]}\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  id_usuario INTEGER,\n  id_grupo INTEGER,\n  FOREIGN KEY (id_grupo) REFERENCES Grupo (id),\n  FOREIGN KEY (id_usuario) REFERENCES Usuario (id)\n);"
    },
    {
        "tabla": "Sesion",
        "atributos": [
            "tiene_autorizador: es_administrador",
            "nombre_humano: Sesión"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_usuario",
                "tipo": "INTEGER",
                "detalles": "NOT NULL UNIQUE",
                "atributos": [
                    "nombre_humano: ID de usuario"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "token_de_sesion",
                "tipo": "VARCHAR",
                "detalles": "(128)",
                "atributos": [
                    "nombre_humano: Token de sesión"
                ]
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_usuario",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Sesion /*\n  @tiene_autorizador: es_administrador\n  @nombre_humano: Sesión\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  id_usuario INTEGER NOT NULL UNIQUE /*\n    @nombre_humano: ID de usuario\n  */,\n  token_de_sesion VARCHAR(128) /*\n    @nombre_humano: Token de sesión\n  */,\n  FOREIGN KEY (id_usuario) REFERENCES Usuario (id)\n);"
    },
    {
        "tabla": "Fichero",
        "atributos": [
            "tiene_fichero: fichero",
            "tiene_autorizador: solo_insertable_por_mismo_usuario: id_usuario",
            "tiene_autorizador: solo_actualizable_por_mismo_usuario: id_usuario",
            "tiene_autorizador: solo_eliminable_por_mismo_usuario: id_usuario"
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_usuario",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "fichero",
                "tipo": "VARCHAR",
                "detalles": "(512)",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_usuario",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\n\nCREATE TABLE Fichero /*\n  @tiene_fichero: fichero\n  @tiene_autorizador: solo_insertable_por_mismo_usuario: id_usuario\n  @tiene_autorizador: solo_actualizable_por_mismo_usuario: id_usuario\n  @tiene_autorizador: solo_eliminable_por_mismo_usuario: id_usuario\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  id_usuario INTEGER,\n  fichero VARCHAR(512),\n  FOREIGN KEY (id_usuario) REFERENCES Usuario (id)\n);"
    },
    {
        "tabla": "Post_de_blog",
        "atributos": [
            "tiene_fichero: imagen",
            [
                "tiene_autorizables:",
                [
                    "@tiene_autorizador: no_actualizable",
                    "@tiene_autorizador: no_eliminable"
                ]
            ]
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "titulo",
                "tipo": "VARCHAR",
                "detalles": "(255) UNIQUE NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "subtitulo",
                "tipo": "VARCHAR",
                "detalles": "(255)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "fecha_de_creacion",
                "tipo": "DATETIME",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_momento_de_creacion",
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "imagen",
                "tipo": "VARCHAR",
                "detalles": "(255)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "tags",
                "tipo": "VARCHAR",
                "detalles": "(1024)",
                "atributos": [
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "contenido",
                "tipo": "TEXT",
                "detalles": "NOT NULL",
                "atributos": [
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "id_de_autor",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_id_de_usuario"
                ]
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_autor",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\n\nCREATE TABLE Post_de_blog /*\n  @tiene_fichero: imagen\n  @tiene_autorizables:\n    - @tiene_autorizador: no_actualizable\n    - @tiene_autorizador: no_eliminable\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  titulo VARCHAR(255) UNIQUE NOT NULL,\n  subtitulo VARCHAR(255),\n  fecha_de_creacion DATETIME /*\n    @tiene_autorizador: fijar_momento_de_creacion\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  imagen VARCHAR(255),\n  tags VARCHAR(1024) /*\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  contenido TEXT NOT NULL /*\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  id_de_autor INTEGER /*\n    @tiene_autorizador: fijar_id_de_usuario\n  */,\n  FOREIGN KEY (id_de_autor) REFERENCES Usuario (id)\n);"
    },
    {
        "tabla": "Comentario_de_post_de_blog",
        "atributos": [
            [
                "tiene_autorizables:",
                [
                    "@tiene_autorizador: no_actualizable",
                    "@tiene_autorizador: no_eliminable"
                ]
            ]
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "fecha_de_creacion",
                "tipo": "DATETIME",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_momento_de_creacion",
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "tags",
                "tipo": "VARCHAR",
                "detalles": "(1024)",
                "atributos": [
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "contenido",
                "tipo": "TEXT",
                "detalles": "NOT NULL",
                "atributos": [
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "id_de_autor",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_id_de_usuario"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "id_de_comentario",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_de_post_de_blog",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_autor",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_comentario",
                "tabla_foranea": "Comentario_de_post_de_blog",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_post_de_blog",
                "tabla_foranea": "Post_de_blog",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Comentario_de_post_de_blog /*\n  @tiene_autorizables:\n    - @tiene_autorizador: no_actualizable\n    - @tiene_autorizador: no_eliminable\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  fecha_de_creacion DATETIME /*\n    @tiene_autorizador: fijar_momento_de_creacion\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  tags VARCHAR(1024) /*\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  contenido TEXT NOT NULL /*\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  id_de_autor INTEGER /*\n    @tiene_autorizador: fijar_id_de_usuario\n  */,\n  id_de_comentario INTEGER,\n  id_de_post_de_blog INTEGER,\n  FOREIGN KEY (id_de_autor) REFERENCES Usuario (id),\n  FOREIGN KEY (id_de_comentario) REFERENCES Comentario_de_post_de_blog (id),\n  FOREIGN KEY (id_de_post_de_blog) REFERENCES Post_de_blog (id)\n);"
    },
    {
        "tabla": "Tema_de_foro",
        "atributos": [
            [
                "tiene_autorizables:",
                [
                    "@tiene_autorizador: no_actualizable",
                    "@tiene_autorizador: no_eliminable"
                ]
            ]
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "titulo",
                "tipo": "VARCHAR",
                "detalles": "(255) NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "descripcion",
                "tipo": "VARCHAR",
                "detalles": "(255) NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "tags",
                "tipo": "VARCHAR",
                "detalles": "(255)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "seccion",
                "tipo": "VARCHAR",
                "detalles": "(255)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "orden",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            }
        ],
        "script": "\n\n\nCREATE TABLE Tema_de_foro /*\n  @tiene_autorizables:\n    - @tiene_autorizador: no_actualizable\n    - @tiene_autorizador: no_eliminable\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  titulo VARCHAR(255) NOT NULL,\n  descripcion VARCHAR(255) NOT NULL,\n  tags VARCHAR(255),\n  seccion VARCHAR(255),\n  orden INTEGER\n);"
    },
    {
        "tabla": "Post_de_foro",
        "atributos": [
            [
                "tiene_autorizables:",
                [
                    "@tiene_autorizador: no_actualizable",
                    "@tiene_autorizador: no_eliminable"
                ]
            ]
        ],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "titulo",
                "tipo": "VARCHAR",
                "detalles": "(255) NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "subtitulo",
                "tipo": "VARCHAR",
                "detalles": "(512)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "contenido",
                "tipo": "TEXT",
                "detalles": "NOT NULL",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "tags",
                "tipo": "VARCHAR",
                "detalles": "(255)",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "fecha_de_creacion",
                "tipo": "DATETIME",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_momento_de_creacion",
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "id_de_tema",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_de_autor",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_id_de_usuario"
                ]
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_tema",
                "tabla_foranea": "Tema_de_foro",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_autor",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Post_de_foro /*\n  @tiene_autorizables:\n    - @tiene_autorizador: no_actualizable\n    - @tiene_autorizador: no_eliminable\n*/ (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  titulo VARCHAR(255) NOT NULL,\n  subtitulo VARCHAR(512),\n  contenido TEXT NOT NULL,\n  tags VARCHAR(255),\n  fecha_de_creacion DATETIME /*\n    @tiene_autorizador: fijar_momento_de_creacion\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  id_de_tema INTEGER,\n  id_de_autor INTEGER /*\n    @tiene_autorizador: fijar_id_de_usuario\n  */,\n  FOREIGN KEY (id_de_tema) REFERENCES Tema_de_foro (id),\n  FOREIGN KEY (id_de_autor) REFERENCES Usuario (id)\n);"
    },
    {
        "tabla": "Comentario_de_post_de_foro",
        "atributos": [],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "contenido",
                "tipo": "TEXT",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "fecha_de_creacion",
                "tipo": "DATETIME",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_momento_de_creacion",
                    "tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "id_de_autor",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": [
                    "tiene_autorizador: fijar_id_de_usuario"
                ]
            },
            {
                "sentencia": "columna",
                "columna": "id_de_post_de_foro",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_autor",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_de_post_de_foro",
                "tabla_foranea": "Post_de_foro",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\nCREATE TABLE Comentario_de_post_de_foro (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  contenido TEXT,\n  fecha_de_creacion DATETIME /*\n    @tiene_autorizador: fijar_momento_de_creacion\n    @tiene_autorizador: solo_modificable_por: {\"permisos\":[\"permiso de administración\"]}\n  */,\n  id_de_autor INTEGER /*\n    @tiene_autorizador: fijar_id_de_usuario\n  */,\n  id_de_post_de_foro INTEGER,\n  FOREIGN KEY (id_de_autor) REFERENCES Usuario (id),\n  FOREIGN KEY (id_de_post_de_foro) REFERENCES Post_de_foro (id)\n);"
    },
    {
        "tabla": "Mensaje",
        "atributos": [],
        "composicion": [
            {
                "sentencia": "columna",
                "columna": "id",
                "tipo": "INTEGER",
                "detalles": "PRIMARY KEY AUTOINCREMENT",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "contenido",
                "tipo": "TEXT",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "fecha_de_creacion",
                "tipo": "DATETIME",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_usuario_origen",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_usuario_destino",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "columna",
                "columna": "id_mensaje_respondido",
                "tipo": "INTEGER",
                "detalles": "",
                "atributos": []
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_usuario_origen",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_usuario_destino",
                "tabla_foranea": "Usuario",
                "columna_foranea": "id"
            },
            {
                "sentencia": "clave foránea",
                "columna": "id_mensaje_respondido",
                "tabla_foranea": "Mensaje",
                "columna_foranea": "id"
            }
        ],
        "script": "\n\n\nCREATE TABLE Mensaje (\n  id INTEGER PRIMARY KEY AUTOINCREMENT,\n  contenido TEXT,\n  fecha_de_creacion DATETIME,\n  id_usuario_origen INTEGER,\n  id_usuario_destino INTEGER,\n  id_mensaje_respondido INTEGER,\n  FOREIGN KEY (id_usuario_origen) REFERENCES Usuario (id),\n  FOREIGN KEY (id_usuario_destino) REFERENCES Usuario (id),\n  FOREIGN KEY (id_mensaje_respondido) REFERENCES Mensaje (id)\n);"
    }
]