--
-- @author Ernie Ghiglione (ErnieG@mm.st)
-- @creation-date 12-NOV-2003
-- @cvs-id $Id: lors-imsmd-create.sql,v 1.5 2005/05/17 16:35:10 miguelm Exp $
--
-- Copyright (C) 2004 Ernie Ghiglione
--
-- This package is free software; you can redistribute it and/or modify it under the
-- terms of the GNU General Public License as published by the Free Software
-- Foundation; either version 2 of the License, or (at your option) any later
-- version.
--
-- It is distributed in the hope that it will be useful, but WITHOUT ANY
-- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-- details.
--
-- IMS Metadata 1.2.1 Compliant
-- http://www.imsglobal.org/metadata/imsmdv1p2p1/imsmd_infov1p2p1.html
-- create ims metadata table
create table ims_md (
ims_md_id integer
constraint ims_md_if_fk
references acs_objects(object_id)
on delete cascade
constraint ims_md_id_pk
primary key,
resource_type varchar(100),
schema varchar(100),
schemaversion varchar(100)
);
-- General begins
create table ims_md_general (
ims_md_id integer
constraint ims_md_general_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade
constraint ims_md_general_ims_md_id_pk
primary key,
title_l varchar(100),
title_s varchar(1000),
structure_s varchar(1000),
structure_v varchar(1000),
agg_level_s varchar(1000),
agg_level_v varchar(1000)
);
comment on table ims_md_general is '
Groups information describing learning object as a whole.';
comment on column ims_md_general.structure_s is '
Underlying organizational structure of the resource
Multiplicity single value
Domain: vocabulary: {Collection, Mixed, Linear, Hierarchical, Networked, Branched, Parceled, Atomic}
Type: Vocabulary
';
comment on column ims_md_general.agg_level_s is '
The functional size of the resource.
Multiplicity: single value
Type: Vocabulary
';
-- create a sequence for ims_md_general_title
create sequence ims_md_general_title_seq start 1;
create table ims_md_general_title (
ims_md_ge_ti_id integer
constraint ims_md_ge_ti_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_title_fk
references ims_md(ims_md_id)
on delete cascade,
title_l varchar(100),
title_s varchar(1000)
);
-- create index for ims_md_general_title
create index ims_md_ge_ti__imd_md_id_idx on ims_md_general_title (ims_md_id);
comment on table ims_md_general_title is '
Learning objects name
Multiplicity: single valuekeywork_l
Type LangStringType (1000 char) ';
-- Create a sequence for ims_md-general_iden
create sequence ims_md_general_iden_seq start 1;
create table ims_md_general_iden (
ims_md_ge_iden_id integer
constraint ims_md_ge_iden_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_iden_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
identifier varchar(1000)
);
-- create index for ims_md_general_iden
create index ims_md_ge_iden__imd_md_id_idx on ims_md_general_iden (ims_md_id);
comment on table ims_md_general_iden is '
Globally unique label for learning object.
';
-- to ensure better performance we create a sequence for ims_md-general_iden
create sequence ims_md_general_cata_seq start 1;
create table ims_md_general_cata (
ims_md_ge_cata_id integer
constraint ims_md_ge_cata_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_cata_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
catalog varchar(1000),
entry_l varchar(100),
entry_s varchar(1000)
);
-- create index for ims_md_general_cata
create index ims_md_ge_cata__imd_md_id_idx on ims_md_general_cata (ims_md_id);
comment on table ims_md_general_cata is '
Describes the name of the catalog
';
-- sequence ims_md_general_lang_seq
create sequence ims_md_general_lang_seq start 1;
create table ims_md_general_lang (
ims_md_ge_lang_id integer
constraint ims_md_ge_lang_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_lang_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
language varchar(100)
);
-- create index for ims_md_general_lang
create index ims_md_ge_lang__imd_md_id_idx on ims_md_general_lang (ims_md_id);
comment on column ims_md_general_lang.language is '
Learning objects language (can be Language without Country subcode; implies intended language of target audience). "None" is also acceptable.
Multiplicity: unordered list, smallest permitted maximum: 10 items; ISO 639-ISO 3166, see also xml:lang (RFC1766)
Domain: LanguageID = Langcode(-Subcode)*, with Langcode a two-letter language code as defined by ISO639 and Subcode a country code from ISO3166.
Type: String (100 char)
';
-- create seq for ims_md_general_desc table
create sequence ims_md_general_desc_seq start 1;
create table ims_md_general_desc (
ims_md_ge_desc_id integer
constraint ims_md_ge_desc_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_desc_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
descrip_l varchar(100),
descrip_s varchar(2000)
);
-- create index for ims_md_general_desc
create index ims_md_ge_desc__imd_md_id_idx on ims_md_general_desc (ims_md_id);
comment on column ims_md_general_desc.descrip_l is '
Describes learning objects content.
Multiplicity: unordered list, smallest permitted maximum: 10 items
Type: LangStringType (2000 char)
';
-- create seq for ims_md_general_key table
create sequence ims_md_general_key_seq start 1;
create table ims_md_general_key (
ims_md_ge_key_id integer
constraint ims_md_ge_key_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_key_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
keyword_l varchar(100),
keyword_s varchar(1000)
);
-- create index for ims_md_general_key
create index ims_md_ge_key__imd_md_id_idx on ims_md_general_key (ims_md_id);
comment on column ims_md_general_key.keyword_l is '
Contains keyword description of the resource.
Multiplicity: unordered list, smallest permitted maximum: 10 items
Type: LangStringType (1000 char)
';
--create seq for ims_md_general_cover
create sequence ims_md_general_cover_seq start 1;
create table ims_md_general_cover (
ims_md_ge_cove_id integer
constraint ims_md_ge_cove_id_pk
primary key,
ims_md_id integer
constraint ims_md_ge_key_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
cover_l varchar(100),
cover_s varchar(1000)
);
-- create index for ims_md_general_cover
create index ims_md_ge_cover__imd_md_id_idx on ims_md_general_cover (ims_md_id);
comment on column ims_md_general_cover.cover_l is '
Temporal / spatial characteristics of content (e.g., historical context).
Multiplicity: unordered list, smallest permitted maximum: 10 items
Type: LangStringType (1000 char)
';
-- Life Cycle begins
create table ims_md_life_cycle (
ims_md_id integer
constraint ims_md_life_cycle_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade
constraint ims_md_life_cycle_ims_md_id_pk
primary key,
version_l varchar(100),
version_s varchar(50),
status_s varchar(1000),
status_v varchar(1000)
);
comment on table ims_md_life_cycle is '
History and current state of resource.
Multiplicity: single instance
';
comment on column ims_md_life_cycle.version_l is '
The edition of the learning object.
Multiplicity: single value
LangStringType (50 char)
';
comment on column ims_md_life_cycle.status_s is '
Learning objects editorial condition.
Multiplicity: single value
Domain: vocabulary: {Draft, Final, Revised, Unavailable}
Type: Vocabulary
';
-- for life cycle contributors we have to create a sequence since
-- otherwise the primary key get out of control and also the reference
-- to life cycle contributores entities is just not right
create sequence ims_md_life_cycle_contrib_seq start 1;
create table ims_md_life_cycle_contrib (
ims_md_lf_cont_id integer -- from sequence
constraint ims_md_lc_cont_ims_md_lf_id_pk
primary key,
ims_md_id integer
constraint ims_md_lc_contrib_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
role_s varchar(1000),
role_v varchar(1000),
cont_date varchar(200),
cont_date_l varchar(100),
cont_date_s varchar(1000)
);
-- create index for ims_md_life_cycle_contrib
create index ims_md_lf_cont__imd_md_id_idx on ims_md_life_cycle_contrib (ims_md_id);
comment on table ims_md_life_cycle_contrib is '
Persons or organizations contributing to the resource (includes creation, edits, and publication).
Multiplicity: unordered list; smallest permitted maximum items: 30
';
comment on column ims_md_life_cycle_contrib.role_s is '
Kind of contribution.
Multiplicity: single value
Domain: vocabulary: {Author, Publisher, Unknown, Initiator, Terminator, Validator, Editor, Graphical Designer, Technical Implementer, Content Provider, Technical Validator, Educational Validator, Script Writer, Instructional Designer}
Type: Vocab
';
comment on column ims_md_life_cycle_contrib.cont_date is '
Date of contribution.
Multiplicity: single value
Type: DateType
';
-- create sequence for ims_md_life_cycle_contrib_entity table
create sequence ims_md_life_cycle_contrib_entity_seq start 1;
create table ims_md_life_cycle_contrib_entity (
ims_md_lf_cont_enti_id integer
constraint ims_md_lf_cont_enti_id_pk
primary key,
ims_md_lf_cont_id integer
constraint ims_md_lf_cont_ent_fk
references ims_md_life_cycle_contrib(ims_md_lf_cont_id)
on delete cascade,
entity varchar(1000)
);
comment on table ims_md_life_cycle_contrib_entity is '
Entity or entities involved, most relevant first.
Multiplicity: ordered list; smallest permitted maximum items: 40; vCard
Domain: vCard
Type: String (1000 chars)
';
-- Metadata begins
create table ims_md_metadata (
ims_md_id integer
constraint ims_md_metadata_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade
constraint ims_md_metadata_ims_md_id_pk
primary key,
language varchar(100)
);
comment on table ims_md_metadata is '
Features of the description rather than the resource.
Multiplicity: single instance
';
comment on column ims_md_metadata.language is '
Language of the meta-data instance. This is the default language for all LangString values.
Multiplicity: single value
Type: String (100 char)
';
-- create seq for ims_md_metadata_cata
create sequence ims_md_metadata_cata_seq start 1;
create table ims_md_metadata_cata (
ims_md_md_cata_id integer
constraint ims_md_md_cata_id_pk
primary key,
ims_md_id integer
constraint ims_md_md_cata_ims_md_id_fk
references ims_md (ims_md_id)
on delete cascade,
catalog varchar(1000),
entry_l varchar(100),
entry_s varchar(1000)
);
-- create index for ims_md_metadata_cata
create index ims_md_md_cata__imd_md_id_idx on ims_md_metadata_cata (ims_md_id);
comment on table ims_md_metadata_cata is '
A unique label for the meta-data.
single value
';
comment on column ims_md_metadata_cata.catalog is '
Designation given to the meta-data instance. Source of following string value.
single value
String (1000 char)
';
-- create seq for ims_md_metadata_contrib
create sequence ims_md_metadata_contrib_seq start 1;
create table ims_md_metadata_contrib (
ims_md_md_cont_id integer -- from sequence
constraint ims_md_md_cont_ims_md_md_id_pk
primary key,
ims_md_id integer
constraint ims_md_md_contrib_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
role_s varchar(1000),
role_v varchar(1000),
cont_date varchar(200),
cont_date_l varchar(100),
cont_date_s varchar(1000)
);
-- create index for ims_md_metadata_cont
create index ims_md_md_cont__imd_md_id_idx on ims_md_metadata_contrib (ims_md_id);
comment on table ims_md_metadata_contrib is '
Persons or organizations contributing to the meta-data
Multiplicity: ordered list, smallest permitted maximum: 10 items
';
comment on column ims_md_metadata_contrib.role_s is '
Kind of contribution.
single value
Domain: vocabulary: {Creator, Validator}
';
comment on column ims_md_metadata_contrib.cont_date is '
Date of contribution.
single value
DateType
';
-- create sequence for ims_md_metadata_contrib_entity table
create sequence ims_md_metadata_contrib_entity_seq start 1;
create table ims_md_metadata_contrib_entity (
ims_md_md_cont_enti_id integer
constraint ims_md_md_cont_enti_id_pk
primary key,
ims_md_md_cont_id integer
constraint ims_md_lf_cont_ent_fk
references ims_md_metadata_contrib(ims_md_md_cont_id)
on delete cascade,
entity varchar(1000)
);
comment on column ims_md_metadata_contrib_entity.entity is '
Entity or entities involved, most relevant first.
Multiplicity: ordered list as vCard; smallest permitted maximum: 10 items
Domain: vCard
String (1000 char)
';
--create sequence for ims_md_metadata_scheme table
create sequence ims_md_metadata_scheme_seq start 1;
create table ims_md_metadata_scheme (
ims_md_md_sch_id integer
constraint ims_md_md_sch_id_pk
primary key,
ims_md_id integer
constraint ims_md_ms_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
scheme varchar(30)
);
comment on table ims_md_metadata_scheme is '
Names the structure of the meta-data (this includes version).
unordered list; smallest permitted maximum: 10 items
String (30 char)
';
-- Technical begins
create table ims_md_technical (
ims_md_id integer
constraint ims_md_te_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade
constraint ims_md_te_ims_md_id_pk
primary key,
t_size varchar(30),
instl_rmrks_l varchar(100),
instl_rmrks_s varchar(1000),
otr_plt_l varchar(100),
otr_plt_s varchar(1000),
duration varchar(200),
duration_l varchar(100),
duration_s varchar(1000)
);
comment on table ims_md_technical is '
Technical features of the learning object.
single instance
';
comment on column ims_md_technical.t_size is '
The size of the digital resource in bytes. Only the digits "0" - "9" should be used; the unit is bytes, not MBytes, GB, etc.
single value
String (30 char)
';
comment on column ims_md_technical.instl_rmrks_l is '
Description on how to install the resource.
single value
Type: LangStringType (1000 char)
';
comment on column ims_md_technical.otr_plt_l is '
Information about other software and hardware requirements.
single value
Type: LangStringType (1000 char)
';
comment on column ims_md_technical.duration is '
Time a continuous learning object takes when played at intended speed, in seconds.
Multiplicity: single value
Domain: ISO8601
Type: DateType
';
-- create sequence for ims_md_technical_format table
create sequence ims_md_technical_format_seq start 1;
create table ims_md_technical_format (
ims_md_te_fo_id integer
constraint ims_md_te_fo_id_pk
primary key,
ims_md_id integer
constraint ims_md_te_fo_id_fk
references ims_md(ims_md_id)
on delete cascade,
format varchar(500)
);
-- create index for ims_md_technical_format
create index ims_md_te_format__imd_md_id_idx on ims_md_technical_format (ims_md_id);
comment on column ims_md_technical_format.format is '
Technical data type of the resource.
Multiplicity: unordered list, smallest permitted maximum: 40 items
Domain: restricted: MIME type or "non-digital"
Type: String (500 char)
';
-- create sequence for ims_md_technical_location table
create sequence ims_md_technical_location_seq start 1;
create table ims_md_technical_location (
ims_md_te_lo_id integer
constraint ims_md_te_lo_id_pk
primary key,
ims_md_id integer
constraint ims_md_te_lo_id_fk
references ims_md(ims_md_id)
on delete cascade,
type varchar(100),
location varchar(1000)
);
-- create index for ims_md_technical_location
create index ims_md_te_location__imd_md_id_idx on ims_md_technical_location (ims_md_id);
comment on column ims_md_technical_location.type is '
Values permitted: TEXT or URI
Reference where the location is
';
comment on column ims_md_technical_location.location is '
A location or a method that resolves to a location of the resource. Preferable Location first.
Multiplicity: ordered list; smallest permitted maximum: 10 items
Type: String (1000 char)
';
-- create sequence for ims_md_technical_requirement table
create sequence ims_md_technical_requirement_seq start 1;
create table ims_md_technical_requirement (
ims_md_te_rq_id integer
constraint ims_md_te_rq_id_pk
primary key,
ims_md_id integer
constraint ims_md_te_rq_id_fk
references ims_md(ims_md_id)
on delete cascade,
type_s varchar(1000),
type_v varchar(1000),
name_s varchar(1000),
name_v varchar(1000),
min_version varchar(30),
max_version varchar(30)
);
-- create index for ims_md_technical_requirement
create index ims_md_te_req__imd_md_id_idx on ims_md_technical_requirement (ims_md_id);
comment on table ims_md_technical_requirement is '
Needs in order to access the resource. If there are multiple requirements, then the logical connector is AND.
multiple unordered instances; smallest permitted maximum: 40 items
';
comment on column ims_md_technical_requirement.type_s is '
Type of requirement.
Multiplicity: single value
Domain: vocabulary: {Operating System, Browser}
';
comment on column ims_md_technical_requirement.name_s is '
Name of the required item.
Multiplicity: single value
Domain: if Type="Operating System", then vocabulary: {PC-DOS, MS- Windows, MacOS, Unix, Multi-OS, Other, None} if Type="Browser" then vocabulary: {Any, Netscape Communicator, Microsoft Internet Explorer, Opera} if other type, then open vocabulary
';
comment on column ims_md_technical_requirement.min_version is '
Lowest version of the required item.
single value
String (30 char)
';
comment on column ims_md_technical_requirement.max_version is '
Highest version of the required item.
single value
String (30 char)
';
-- Educational begins
create table ims_md_educational (
ims_md_id integer
constraint ims_md_ed_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade
constraint ims_md_ed_ims_md_id_pk
primary key,
int_type_s varchar(1000),
int_type_v varchar(1000),
int_level_s varchar(1000),
int_level_v varchar(1000),
sem_density_s varchar(1000),
sem_density_v varchar(1000),
difficulty_s varchar(1000),
difficulty_v varchar(1000),
type_lrn_time varchar(200),
type_lrn_time_l varchar(100),
type_lrn_time_s varchar(1000)
);
comment on table ims_md_educational is '
Educational or pedagogic features of the learning object.
single instance
';
comment on column ims_md_educational.int_type_s is '
The type of interactivity supported by the learning object.
single value
vocabulary: {Active, Expositive, Mixed, Undefined}
';
comment on column ims_md_educational.int_level_s is '
Level of interactivity between an end user and the learning object.
Domain: vocabulary: {very low, low, medium, high, very high}
';
comment on column ims_md_educational.sem_density_s is '
Subjective measure of the learning objects usefulness as compared to its size or duration.
Domain: vocabulary: {very low, low, medium, high, very high}
';
comment on column ims_md_educational.difficulty_s is '
How hard it is to work through the learning object for the typical target audience.
single value
vocabulary: {very easy, easy, medium, difficult, very difficult}
';
comment on column ims_md_educational.type_lrn_time is '
Approximate or typical time it takes to work with the resource.
single value
Domain: ISO8601
Type: DateType
';
-- create seq from ims_md_educational_lrt table
create sequence ims_md_educational_lrt_seq start 1;
create table ims_md_educational_lrt (
ims_md_ed_lr_id integer
constraint ims_md_ed_lr_id_pk
primary key,
ims_md_id integer
constraint ims_md_ed_lr_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
lrt_s varchar(1000),
lrt_v varchar(1000)
);
-- create index for ims_md_educational_lrt
create index ims_md_ed_lrt__imd_md_id_idx on ims_md_educational_lrt (ims_md_id);
comment on table ims_md_educational_lrt is '
learningresourcetype (Specific kind of resource, most dominant kind first)
ordered list; smallest permitted maximum: 10 items
vocabulary: {Exercise, Simulation, Questionnaire, Diagram, Figure, Graph, Index, Slide, Table, Narrative Text, Exam, Experiment, ProblemStatement, SelfAssesment}
';
-- create seq from ims_md_educational_ieur table
create sequence ims_md_educational_ieur_seq start 1;
create table ims_md_educational_ieur (
ims_md_ed_ie_id integer
constraint ims_md_ed_ie_id_pk
primary key,
ims_md_id integer
constraint ims_md_ed_ie_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
ieur_s varchar(1000),
ieur_v varchar(1000)
);
-- create index for ims_md_educational_ieur
create index ims_md_ed_ieur__imd_md_id_idx on ims_md_educational_ieur (ims_md_id);
comment on table ims_md_educational_ieur is '
intendedenduserrole (Normal user of the learning object, most dominant first)
Multiplicity: ordered list, smallest permitted maximum:10 items
Domain: vocabulary: {Teacher, Author, Learner, Manager}
';
-- create seq from ims_md_educational_context table
create sequence ims_md_educational_context_seq start 1;
create table ims_md_educational_context (
ims_md_ed_co_id integer
constraint ims_md_ed_co_id_pk
primary key,
ims_md_id integer
constraint ims_md_ed_co_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
context_s varchar(1000),
context_v varchar(1000)
);
-- create index for ims_md_educational_context
create index ims_md_ed_cont__imd_md_id_idx on ims_md_educational_context (ims_md_id);
comment on table ims_md_educational_context is '
The typical learning environment where use of learning object is intended to take place.
Multiplicity: unordered list; smallest permitted maximum: 4 items;
Domain: vocabulary: {Primary Education, Secondary Education, Higher Education, University First Cycle, University Second Cycle, University Postgrade, Technical School First Cycle, Technical School Second Cycle, Professional Formation, Continuous Formation, Vocational Training}
';
-- create seq from ims_md_educational_tar table
create sequence ims_md_educational_tar_seq start 1;
create table ims_md_educational_tar (
ims_md_ed_ta_id integer
constraint ims_md_ed_ta_id_pk
primary key,
ims_md_id integer
constraint ims_md_ed_ta_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
tar_l varchar(100),
tar_s varchar(1000)
);
-- create index for ims_md_educational_tar
create index ims_md_ed_tar__imd_md_id_idx on ims_md_educational_tar (ims_md_id);
comment on table ims_md_educational_tar is '
typicalagerange (Age of the typical intended user)
Multiplicity: unordered list; smallest permitted maximum: 5 items
';
-- create seq from ims_md_educational_lang table
create sequence ims_md_educational_lang_seq start 1;
create table ims_md_educational_lang (
ims_md_ed_la_id integer
constraint ims_md_ed_la_id_pk
primary key,
ims_md_id integer
constraint ims_md_ed_la_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
language varchar(100)
);
-- create index for ims_md_educational_lang
create index ims_md_ed_lang__imd_md_id_idx on ims_md_educational_lang (ims_md_id);
comment on table ims_md_educational_lang is '
Users natural language.
smallest permitted maximum: 10 items
';
-- create seq from ims_md_educational_lrt table
create sequence ims_md_educational_descrip_seq start 1;
create table ims_md_educational_descrip (
ims_md_ed_de_id integer
constraint ims_md_ed_de_id_pk
primary key,
ims_md_id integer
constraint ims_md_ed_de_id_fk
references ims_md(ims_md_id)
on delete cascade,
descrip_l varchar(100),
descrip_s varchar(1000)
);
-- create index for ims_md_educational_descrip
create index ims_md_ed_descrip__imd_md_id_idx on ims_md_educational_descrip (ims_md_id);
comment on table ims_md_educational_descrip is '
Comments on how the learning object is to be used.
single value
Type: LangStringType (1000 char)
';
-- Rights begins
create table ims_md_rights (
ims_md_id integer
constraint ims_md_ri_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade
constraint ims_md_ri_ims_md_id_pk
primary key,
cost_s varchar(1000),
cost_v varchar(1000),
caor_s varchar(1000),
caor_v varchar(1000),
descrip_l varchar(100),
descrip_s varchar(1000)
);
comment on table ims_md_rights is '
Conditions of use of the resource.
single instance
';
comment on column ims_md_rights.cost_s is '
Whether use of the resource requires payment.
single value
vocabulary: {yes, no}
';
comment on column ims_md_rights.caor_s is '
copyrightandotherrestrictions
Whether copyright or other restrictions apply
single instance
vocabulary: {yes, no}
';
comment on column ims_md_rights.descrip_l is '
Description (Comments on the conditions of use of the resource)
single value
LangStringType (1000 char)
';
-- Relation begins
-- create seq for ims_md_relation table
create sequence ims_md_relation_seq start 1;
create table ims_md_relation (
ims_md_re_id integer
constraint ims_md_re_id_pk
primary key,
ims_md_id integer
constraint ims_md_re_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
kind_s varchar(1000),
kind_v varchar(1000)
);
-- create index for ims_md_relation
create index ims_md_re__imd_md_id_idx on ims_md_relation (ims_md_id);
comment on table ims_md_relation is '
Features of the resource in relationship to other learning objects.
Multiplicity: unordered list; smallest permitted maximum: 100 items
';
comment on column ims_md_relation.kind_s is '
Nature of the relationship between the resource being described and the one identified by Resource
single value
vocabulary list from Dublin Core: {IsPartOf, HasPart, IsVersionOf, HasVersion, IsFormatOf, HasFormat, References, IsReferencedBy, IsBasedOn, IsBasisFor, Requires, IsRequiredBy}
';
--create seq for ims_md_relation_resource table
create sequence ims_md_relation_resource_seq start 1;
create table ims_md_relation_resource (
ims_md_re_re_id integer
constraint ims_md_re_re_id_pk
primary key,
ims_md_re_id integer
constraint ims_md_re_re_rel_id_fk
references ims_md_relation(ims_md_re_id)
on delete cascade,
identifier varchar(1000),
descrip_l varchar(100),
descrip_s varchar(1000)
);
-- create index for ims_md_relation_resource
create index ims_md_re_res__imd_md_re_id_idx on ims_md_relation_resource (ims_md_re_id);
comment on table ims_md_relation_resource is '
Resource the relationship holds for.
single instance
';
comment on column ims_md_relation_resource.identifier is '
Unique Identifier of the other resource
single value
';
comment on column ims_md_relation_resource.descrip_l is '
Description of the other resource.
single value
LangStringType (1000 char)
';
--create seq for ims_md_relation_resource_catalog table
create sequence ims_md_relation_resource_catalog_seq start 1;
create table ims_md_relation_resource_catalog (
ims_md_re_re_ca_id integer
constraint ims_md_re_re_ca_id_pk
primary key,
ims_md_re_re_id integer
constraint ims_md_re_re_ca_fk
references ims_md_relation_resource(ims_md_re_re_id)
on delete cascade,
catalog varchar(1000),
entry_l varchar(100),
entry_s varchar(1000)
);
-- create index for ims_md_relation_resource_catalog
create index ims_md_re_re_cat__imd_md_re_re_id_idx on ims_md_relation_resource_catalog (ims_md_re_re_id);
comment on table ims_md_relation_resource_catalog is '
Description of the other resource.
unordered list; smallest permitted maximum: 10 items
';
comment on column ims_md_relation_resource_catalog.catalog is '
Source of following string value
single value
String (1000 char)
';
comment on column ims_md_relation_resource_catalog.entry_l is '
Actual value
single value
LangStringType (1000 char)
';
-- Annotation begins
-- create seq for ims_md_annotation table
create sequence ims_md_annotation_seq start 1;
create table ims_md_annotation (
ims_md_an_id integer
constraint ims_md_an_id_pk
primary key,
ims_md_id integer
constraint ims_md_an_ims_md_id_fk
references ims_md(ims_md_id)
on delete cascade,
entity varchar(1000),
date varchar(200),
date_l varchar(100),
date_s varchar(1000)
);
-- create index for ims_md_annotation
create index ims_md_an__imd_md_id_idx on ims_md_annotation (ims_md_id);
comment on table ims_md_annotation is '
Comments on the educational use of the learning object.
unordered list; smallest permitted maximum: 30 items
';
-- create seq for ims_md_annotation_descrip table
create sequence ims_md_annotation_descrip_seq start 1;
create table ims_md_annotation_descrip (
ims_md_an_de_id integer
constraint ims_md_an_de_id_pk
primary key,
ims_md_an_id integer
constraint ims_md_an_de_id_fk
references ims_md_annotation(ims_md_an_id)
on delete cascade,
descrip_l varchar(100),
descrip_s varchar(1000)
);
-- create index for ims_md_annotation_descrip
create index ims_md_an_desc__imd_md_an_id_idx on ims_md_annotation_descrip (ims_md_an_id);
comment on table ims_md_annotation_descrip is '
Annotation descriptions. It can have descriptions in several languages
according to the langstrings.
';
-- Classification begins
-- create seq for ims_md_classification table
create sequence ims_md_classification_seq start 1;
create table ims_md_classification (
ims_md_cl_id integer
constraint ims_md_cl_id_pk
primary key,
ims_md_id integer
constraint ims_md_cl_id_imsmdid_fk
references ims_md(ims_md_id)
on delete cascade,
purpose_s varchar(1000),
purpose_v varchar(1000)
);
-- create index for ims_md_annotation
create index ims_md_cl__imd_md_id_idx on ims_md_classification (ims_md_id);
comment on table ims_md_classification is '
Description of a characteristic of the resource by entries in classifications.
unordered list; smallest permitted maximum: 40 items
';
comment on column ims_md_classification.purpose_s is '
Characteristics of the resource described by this classification entry.
single value
vocabulary: {Discipline, Idea, Prerequisite, Educational Objective, Accessibility Restrictions, Educational Level, Skill Level, Security Level}
';
create sequence ims_md_classification_desc_seq start 1;
create table ims_md_classification_descrip (
ims_md_cl_de_id integer
constraint ims_md_cl_ed_id_pk
primary key,
ims_md_cl_id integer
constraint imd_md_cl_ed_id_fk
references ims_md_classification(ims_md_cl_id)
on delete cascade,
descrip_l varchar(100),
descrip_s varchar(1000)
);
-- create index for ims_md_classification_descrip
create index ims_md_cl_desc__imd_md_cl_id_idx on ims_md_classification_descrip (ims_md_cl_id);
comment on table ims_md_classification_descrip is '
A textual description of learning object relative to its stated purpose.
single value. However, it can have several langstrings
';
--create seq for ims_md_classification_taxpath table
create sequence ims_md_classification_taxpath_seq start 1;
create table ims_md_classification_taxpath (
ims_md_cl_ta_id integer
constraint ims_md_cl_ta_id_pk
primary key,
ims_md_cl_id integer
constraint ims_md_cl_ta_fk
references ims_md_classification(ims_md_cl_id)
on delete cascade,
source_l varchar(100),
source_v varchar(1000)
);
-- create index for ims_md_classification_taxpath
create index ims_md_cl_tax__imd_md_cl_id_idx on ims_md_classification_taxpath (ims_md_cl_id);
comment on table ims_md_classification_taxpath is '
A taxonomic path in a specific classification.
unordered instance; smallest permitted maximum: 15 items
';
comment on column ims_md_classification_taxpath.source_l is '
A specific classification.
single value
';
--create seq ims_md_classification_taxpath_taxon table
create sequence ims_md_classification_taxpath_taxon_seq start 1;
create table ims_md_classification_taxpath_taxon (
ims_md_cl_ta_ta_id integer
constraint ims_md_cl_ta_ta_id_pk
primary key,
ims_md_cl_ta_id integer
constraint ims_md_cl_ta_ta_fk
references ims_md_classification_taxpath(ims_md_cl_ta_id)
on delete cascade,
-- hierarchy is a column I inserted to show the hiearchy of the terms presented
-- ie:
-- hierarchy | taxon entry
-- 0 Information Science
-- 1 Information Processing
-- 2 Metadata
--ims_md_classification_taxpath_taxon
-- The hierarchy to be inserted by the SCORM package
hierarchy varchar(10),
identifier varchar(100),
entry_l varchar(100),
entry_s varchar(500)
);
-- create index for ims_md_classification_taxpath_taxon
create index ims_md_cl_tax_tax__imd_md_cl_ta_id_idx on ims_md_classification_taxpath_taxon (ims_md_cl_ta_id);
comment on table ims_md_classification_taxpath_taxon is '
An entry in a classification. An ordered list of Taxons creates a taxonomic path, i.e. "taxonomic stairway": this is a path from a more general to more specific entry in a classification.
ordered list; smallest permitted maximum: 15 items
';
--create seq for ims_md_classification_keyword table
create sequence ims_md_classification_keyword_seq start 1;
create table ims_md_classification_keyword (
ims_md_cl_ke_id integer
constraint ims_md_cl_ke_id_pk
primary key,
ims_md_cl_id integer
constraint ims_md_cl_ke_ims_md_cl_id_fk
references ims_md_classification(ims_md_cl_id)
on delete cascade,
keyword_l varchar(100),
keyword_s varchar(1000)
);
-- create index for ims_md_classification_keyword
create index ims_md_cl_key__imd_md_cl_id_idx on ims_md_classification_keyword (ims_md_cl_id);
comment on table ims_md_classification_keyword is '
Contains keyword description of learning objective relative to its stated purpose.
ordered list smallest permitted maximum: 40 items
';