CREATE TABLE IF NOT EXISTS numerals (
    id		INTEGER
			PRIMARY KEY
			AUTOINCREMENT
			NOT NULL
			UNIQUE,
    [numeric]	INTEGER	NOT NULL,
	ident		VARCHAR(90) DEFAULT NULL,
    romanic		VARCHAR(90) DEFAULT NULL,
	binari		VARCHAR(90) DEFAULT NULL,
	hexadec		VARCHAR(90) DEFAULT NULL,
	catalan		VARCHAR(90) DEFAULT NULL,
	spanish		VARCHAR(90) DEFAULT NULL,
	english		VARCHAR(90) DEFAULT NULL,
	french		VARCHAR(90) DEFAULT NULL,
	german		VARCHAR(90) DEFAULT NULL,
	italian		VARCHAR(90) DEFAULT NULL,
	portuguese	VARCHAR(90) DEFAULT NULL,
	danish		VARCHAR(90) DEFAULT NULL,
	rowpos		INTEGER   DEFAULT NULL,
	flags		INTEGER   DEFAULT 0,
	status		INTEGER   DEFAULT 1
);

CREATE TABLE IF NOT EXISTS grups (
	id
			INTEGER PRIMARY KEY
			AUTOINCREMENT
			NOT NULL
			UNIQUE,
	nom		VARCHAR(90) NOT NULL,
	ident	VARCHAR(90) DEFAULT NULL,
	status	INTEGER(1)	DEFAULT 1
);

CREATE TABLE IF NOT EXISTS numerals_grups (
	numeral_id
			INTEGER KEY
			NOT NULL
			REFERENCES numerals(id)
				ON DELETE CASCADE,
	grup_id
			INTEGER KEY
			NOT NULL
			REFERENCES grups(id)
				ON DELETE CASCADE
);

CREATE UNIQUE INDEX IF NOT EXISTS idx_numerals_grups_pk ON numerals_grups (numeral_id, grup_id);