Skip to content

Instantly share code, notes, and snippets.

@SebDeclercq
Created May 18, 2012 09:03
Show Gist options
  • Save SebDeclercq/2724117 to your computer and use it in GitHub Desktop.
Save SebDeclercq/2724117 to your computer and use it in GitHub Desktop.
-- CREATE STANDARD TABLES FOR LawDB.db
CREATE TABLE Law (
id integer primary key autoincrement,
content text not null,
lastdate date not null,
presc text
);
CREATE TABLE LawVersion (
lawid integer references Law(id),
numid text primary key not null,
date date not null
);
CREATE TABLE Article (
numid text references LawVersion(numid) not null,
lawid integer references Law(id) not null,
numord integer not null,
content text not null,
primary key (numid,numord)
);
CREATE TABLE Preamble (
numid text references LawVersion(numid),
lawid integer references Law(id),
text text not null,
primary key (numid)
);
CREATE TABLE Appendix (
numid text references LawVersion(numid),
lawid integer references Law(id),
numart integer references Article(numord),
text text not null,
primary key (numid,numart)
);
-- CREATE FULL-TEXT SEARCH (FTS) VIRTUAL TABLES
CREATE VIRTUAL TABLE Law_idx USING FTS4 (
content="title",id,content,lastdate,presc);
CREATE VIRTUAL TABLE Article_idx USING FTS4 (
content="text",numid,lawid,numord,content);
-- CREATE TRIGGERS FOR AUTOMATED UPDATES
CREATE TRIGGER Law_bu BEFORE UPDATE ON Law BEGIN
DELETE FROM Law_idx WHERE docid = old.rowid;
END;
CREATE TRIGGER Article_bu BEFORE UPDATE ON Article BEGIN
DELETE FROM Article_idx WHERE docid = old.rowid;
END;
CREATE TRIGGER Law_bd BEFORE DELETE ON Law BEGIN
DELETE FROM Law_idx WHERE docid = old.rowid;
END;
CREATE TRIGGER Article_bd BEFORE DELETE ON Article BEGIN
DELETE FROM Article_idx WHERE docid = old.rowid;
END;
CREATE TRIGGER Law_au AFTER UPDATE ON Law BEGIN
INSERT INTO Law_idx(docid,content,lastdate,presc) VALUES
(new.rowid,new.content,new.lastdate,new.presc);
END;
CREATE TRIGGER Article_au AFTER UPDATE ON Article BEGIN
INSERT INTO Article_idx(docid,content,numid,lawid,numord) VALUES
(new.rowid,new.content,new.numid,new.lawid,new.numord);
END;
CREATE TRIGGER Law_ai AFTER INSERT ON Law BEGIN
INSERT INTO Law_idx(docid,content,lastdate,presc) VALUES
(new.rowid,new.content,new.lastdate,new.presc);
END;
CREATE TRIGGER Article_ai AFTER INSERT ON Article BEGIN
INSERT INTO Article_idx(docid,content,numid,lawid,numord) VALUES
(new.rowid,new.content,new.numid,new.lawid,new.numord);
END;
-- POPULATE DATABASE
INSERT INTO Law (lastdate,content) VALUES
('2002-19-03','Arrêté royal relatif à l''hygiène générale des denrées alimentaires');
INSERT INTO LawVersion (lawid,numid,date) SELECT
id, '2004022434', '1997-02-07' FROM Law WHERE lastdate = '2002-19-03';
INSERT INTO Preamble SELECT
numid,lawid,
'ALBERT II, Roi des Belges,
A tous, présents et à venir, Salut.
Vu la loi du 24 janvier 1977 relative à la protection de la santé des consommateurs en ce qui
concerne les denrées alimentaires et les autres produits, notamment les articles 2, 3, 3°, a), remplacé
par la loi du 22 mars 1989, 11, § 4, ajouté par la loi du 9 février 1994, et 20, § 1er;
Vu la directive 93/43/CEE du Conseil du 14 juin 1993 relative à l''hygiène des denrées alimentaires;
Vu l''avis du Conseil d''Etat;
Sur la proposition de Notre Ministre de la Santé publique et des Pensions et de l''avis de Nos
Ministres qui en ont délibéré en Conseil,
Nous avons arrêté et arrêtons :'
FROM LawVersion WHERE numid = '2004022434';
INSERT INTO Article SELECT
numid,lawid,1,
'Pour l''application du présent arrêté, on entend par :
1° établissement : le lieu ou l''ensemble de lieux où sont exercées, de manière principale ou
accessoire, des activités de fabrication, de mise dans le commerce ou d''exportation de denrées
alimentaires;
2° responsable d''un établissement : toute personne responsable du respect des dispositions du présent
arrêté dans un établissement;
3° local : le lieu isolé de l''environnement par des parois et pourvu d''un plafond;
4° contamination ou altération : la présence ou l''apparition dans une denrée alimentaire de substances
biologiques, chimiques ou physiques dans une quantité pouvant mettre la santé en danger ou rendre
cette denrée alimentaire impropre à la consommation humaine;
5° sécurité et salubrité : l''absence de contamination ou d''altération;
6° hygiène des denrées alimentaires, ci-après dénommée hygiène : toutes les mesures qui sont
nécessaires pour garantir la sécurité et la salubrité des denrées alimentaires;
7° guide de bonnes pratiques d''hygiène, ci-après dénommé "guide" : le document qui contient un
ensemble de mesures ou de recommandations d''hygiène relatives à un secteur alimentaire donné et/ou
à une famille de denrées alimentaires donnée;
8° autorité compétente : l''Inspection Générale des denrées alimentaires du Ministère des Affaires
sociales, de la Santé publique et de l''Environnement;
9° fonctionnaires chargés de la surveillance : les fonctionnaires de l''autorité compétente, ainsi que
toute autre personne désignée par ou en vertu de l''article 11, § 1er, de la loi du 24 janvier 1977 relative
à la protection de la santé des consommateurs en ce qui concerne les denrées alimentaires et les autres
produits.'
FROM LawVersion WHERE numid = '2004022434';
INSERT INTO Article SELECT
numid,lawid,2,
'§ 1. Le présent arrêté s''applique sans préjudice des dispositions spécifiques relatives à
l''hygiène lors de la fabrication ou de la mise dans le commerce de certaines denrées alimentaires.
§ 2. Le présent arrêté n''est pas d''application :
1° à la production agricole primaire, qui comprend par exemple la récolte, l''abattage et la traite;
2° à la vente à la ferme, directement au consommateur, des denrées alimentaires non transformées
qui sont produites sur place et qui constituent la production agricole primaire;
3° aux établissements laitiers tels que définis à l''arrêté royal du 7 mars 1994 relatif à l''agrément des
établissements laitiers, où la fabrication du lait, du beurre, du yaourt, du fromage, de la poudre de lait
ou de la crème, constitue l''activité principale.'
FROM LawVersion WHERE numid = '2004022434';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment