On Wednesday 28 August 2002 09:36 am, Richard Poole wrote:
> You could do it with one more table, perhaps?
Yes, I actually did it as follows to be for further normalization purposes,
thanks for the tip!
create table "package_versions" (
"version_id" integer not null unique default
nextval('package_versions_version_id_seq') primary key,
"package_id" integer not null references "packages" ("package_id"),
"package_version" varchar(16) not null default '0.0.1',
unique ("package_id", "package_version")
);
create table "package_info" (
"info_id" integer not null unique default
nextval('package_info_info_id_seq') primary key,
"package_version_id" integer not null references "package_versions"
("version_id"),
"info_type" varchar(32) not null default 'extra_data',
"info_value" text not null default 'Default',
unique ("package_version_id", "package_version")
);
create table "box_packages" (
"install_id" integer not null unique default
nextval('box_packages_install_id_seq') primary key,
"box_id" integer not null references "boxes" ("box_id"),
"package_version_id" integer not null references "package_versions"
("version_id"),
"install_date" timestamp with time zone not null,
"uninstall_date" timestamp with time zone not null default '9999-12-31
23:59:59',
unique ("box_id", "package_version_id", "install_date")
);
--
Casey Allen Shobe / Network Security Analyst & PHP Developer
SecureWorks, Inc. / 404.327.6339 x169 / Fax: 404.728.0144
cshobe@secureworks.net / http://www.secureworks.net
Content is my own and does not necessarily represent my company.