New and hopefully last version of the MARC-DB. Is the fastest in benchmark, everybody agree ;-) (Sergey, Steve and me, Paul)
This commit is contained in:
parent
740b30464a
commit
646ee4100f
|
|
@ -1,6 +1,14 @@
|
|||
# $Id$
|
||||
#
|
||||
# $Log$
|
||||
# Revision 1.13 2002/06/04 07:56:56 tipaul
|
||||
# New and hopefully last version of the MARC-DB. Is the fastest in benchmark, everybody agree ;-) (Sergey, Steve and me, Paul)
|
||||
#
|
||||
# Revision 1.13 2002/06/04 Paul
|
||||
# should be the last version... remains only 2 tables : the main table and the subfield one.
|
||||
# benchmark shows this structure is the fastest. I had to add indicator in the subfield table. should be in a tag_table, but as it's the
|
||||
# only real information that should be in this table, it has been thrown to subfield table (not a normal form, but an optimized one...)
|
||||
#
|
||||
# Revision 1.12 2002/05/31 20:03:17 tonnesen
|
||||
# removed another _sergey
|
||||
#
|
||||
|
|
@ -22,39 +30,31 @@ CREATE TABLE marc_biblio (
|
|||
KEY origincode (origincode)
|
||||
) TYPE=MyISAM;
|
||||
|
||||
CREATE TABLE marc_tag_table (
|
||||
tagid bigint(20) unsigned NOT NULL auto_increment, # tag identifier
|
||||
bibid bigint(20) NOT NULL default '0', # biblio identifier
|
||||
tag char(3) NOT NULL default '', # tag number (eg 110)
|
||||
tagorder tinyint(4) NOT NULL default '0', # display order of tag within a record
|
||||
PRIMARY KEY (tagid),
|
||||
KEY (bibid),
|
||||
KEY (tag)
|
||||
);
|
||||
|
||||
CREATE TABLE marc_subfield_table (
|
||||
subfieldid bigint(20) unsigned NOT NULL auto_increment, # subfield identifier
|
||||
tagid bigint(20), # tag identifier
|
||||
subfieldorder tinyint(4) NOT NULL default '0', # display order for subfields within a tag
|
||||
subfieldcode char(1) NOT NULL default '', # subfield code
|
||||
subfieldvalue varchar(255) default NULL, # the subfields value if not longer than 255 char
|
||||
valuebloblink bigint(20) default NULL, # the link to the blob, if value is longer than 255 char
|
||||
PRIMARY KEY (subfieldid),
|
||||
KEY (tagid)
|
||||
subfieldid bigint(20) unsigned NOT NULL auto_increment, # subfield identifier
|
||||
tagid bigint(20), # tag identifier
|
||||
indicator char(2) # tag indicator
|
||||
subfieldorder tinyint(4) NOT NULL default '0', # display order for subfields within a tag
|
||||
subfieldcode char(1) NOT NULL default '', # subfield code
|
||||
subfieldvalue varchar(255) default NULL, # the subfields value if not longer than 255 char
|
||||
valuebloblink bigint(20) default NULL, # the link to the blob, if value is longer than 255 char
|
||||
PRIMARY KEY (subfieldid),
|
||||
KEY tagid (tagid),
|
||||
KEY tag (tag),
|
||||
KEY bibid (bibid),
|
||||
KEY subfieldorder (subfieldorder),
|
||||
KEY subfieldcode (subfieldcode),
|
||||
KEY subfieldvalue (subfieldvalue)
|
||||
);
|
||||
|
||||
|
||||
# marc_blob_subfield containts subfields longer than 255 car.
|
||||
# They are linked to a marc_subfield_table record by bloblink
|
||||
CREATE TABLE marc_blob_tag (
|
||||
CREATE TABLE marc_blob_subfield (
|
||||
blobidlink bigint(20) NOT NULL auto_increment,
|
||||
subfieldvalue longtext NOT NULL,
|
||||
PRIMARY KEY (blobidlink)
|
||||
) TYPE=MyISAM;
|
||||
|
||||
|
||||
|
||||
|
||||
# The next two tables are used for labelling the tags and subfields for
|
||||
# different implementions of marc USMARC, UNIMARC, CANMARC, UKMARC, etc.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue