De SQLite -database manager packs een uitgebreide feature set in een kleine software bibliotheek - minder dan 350KB . Dit wordt bereikt efficiëntie deels door compromissen in zijn data types , bijvoorbeeld , het ondersteunt integer , karakter en BLOB-velden , maar niet ENUM . Kan je werken rond de ENUM beperking en veel van dezelfde functionaliteit door benutting van andere functies SQLite 's en door zorgvuldige application programming . ENUM Gegevenstype Wanneer u maakt een opsomming of ENUM , datatype , een lijst van goedgekeurde gegevens waarden te definiëren je . Bijvoorbeeld , een tabel van filmclassificaties gegevens bevat een aantal sterren , van nul tot vier - geen film krijgt een tien - sterren , het maakt niet uit hoe goed het is , en niemand krijgt een negatieve waardering , ongeacht hoe slecht het is . U kunt een ENUM gebruiken voor star rating veld van de tafel , waardoor het de waarden van de gehele getallen van nul tot vier . Sommige programmeertalen , zoals Java en SQL-database managers zoals MySQL en Oracle zijn de ENUM data type , maar het maakt geen deel uit van de SQL- 92 standaard . SQL Field Constraints < br > Hoewel SQLite niet een ENUM- gegevenstype aanbieden , kunt u een eigenschap heet een controlebeperking om een veld toe te voegen , waardoor forceren om waarden uit een beperkte lijst te accepteren . Stel bijvoorbeeld dat u het opzetten van een veld staat en willen haar waarden op de set van twee tekens Amerikaanse staat afkortingen beperken . Wanneer u de tabel in SQLite maken , het instellen van het veld staat als CHAR type en voeg vervolgens een check constraint dat de 50 staat afkortingen staan . SQLite ondersteunt check beperkingen vanaf versie 3.3.0 ; vóór die versie , SQLite ontleed beperkingen, maar heb ze niet afdwingen . Als u een beperking toe te voegen aan een tafel waar al gegevens zijn , is SQLite niet controleren van de bestaande waarden . Als een gebruiker probeert waarden aan de tabel die niet zijn opgenomen in de randvoorwaarden toe te voegen , SQLite genereert een fout , de transactie te blokkeren . SQL-instructies Als een extra test om ervoor te zorgen dat de gegevens tabellen de juiste waarden , creëren SQL SELECT statements die zoeken naar deze waarden . Bijvoorbeeld , de volgende SELECT- instructie ziet er voor film score records die een onjuist aantal sterren hebben : SELECT COUNT ( * ) FROM movie_ratings WAAR sterren NOT IN ( 0,1,2,3,4 ) < br > het geeft een nul telling indien hij vaststelt platen hebben sterbeoordelingen liggen buiten het bereik van nul tot vier . Gebruik tests zoals deze om te controleren of tafels juiste waarden . Als u vindt records met onjuiste gegevens , onderzoekt de cheque beperkingen voor ontbrekende of extra waarden . Program Logic Naast SQL statements , de logica in toepassingsprogramma's kunnen ook controleren of de waarden van de data in te gaan op SQLite databases . Bijvoorbeeld , als gebruikers typen informatie in een data entry scherm vorm , de logica van het scherm toetst elke waarde en toont een bericht dat de gebruiker vraagt om onjuiste gegevens te lossen .
|