Создать сценарий SQLite - PullRequest
       10

Создать сценарий SQLite

1 голос
/ 13 декабря 2011

Я использую Enterprise Architect для моделирования баз данных.Теперь я хочу сгенерировать несколько таблиц для базы данных SQLite, но они не реализуют полный SQL92.

Моя проблема в ALTER TABLE Node ADD CONSTRAINT FK_name FOREIGN KEY (field) REFERENCES TABLE_NAME (ID)

Есть ли хороший сценарий / модель для создания сценариев SQLite?

Pedro

EDIT

PRAGMA foreign_keys = ON;

CREATE TABLE MonitoredData ( 
ID INTEGER PRIMARY KEY NOT NULL,
NODE INTEGER,
MINUTE INTEGER,
HOUR INTEGER,
DAY INTEGER,
MONTH INTEGER,
YEAR INTEGER,
SPAN INTEGER
);
CREATE TABLE Node ( 
ID INTEGER PRIMARY KEY NOT NULL,
MEMORY_USAGE INTEGER,
CPU_USAGE INTEGER,
NETWORK_USAGE INTEGER,
DISK_USAGE INTEGER
FOREIGN KEY(ID) REFERENCES MonitoredData(NODE)
);
CREATE TABLE MemoryUsage ( 
ID INTEGER PRIMARY KEY NOT NULL,
SIZE INTEGER,
RESIDENT INTEGER,
SHARE INTEGER,
TEXT INTEGER,
DATA INTEGER,
VIRTUALSIZE INTEGER,
RSS INTEGER,
RSSLIM TEXT,
MEM_TOTAL INTEGER,
MEM_USED INTEGER,
MEM_FREE INTEGER,
MEM_BUFFERS INTEGER,
MEM_CACHED INTEGER
FOREIGN KEY(ID) REFERENCES Node(MEMORY_USAGE)
);

1 Ответ

0 голосов
/ 13 декабря 2011

SQLite требует, чтобы ограничения внешнего ключа создавались одновременно с таблицей. Из документов :

CREATE TABLE track(
  trackid     INTEGER, 
  trackname   TEXT, 
  trackartist INTEGER,
  FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);

Вам также необходимо включить принудительное применение внешнего ключа для для каждого соединения (по историческим причинам):

PRAGMA foreign_keys = ON;
...