I've commited my marc stuff in the main branch. I've done this because when i asked for a marc branch i thought the main branch was the stable one. As Chris explains me it was the dev one, i think we don't need a marc branch. Why ? Because I want the marc-compliance for september-02, so i will have a hard work on it, and it should be in the next release (1.4 ?) Hope kiwis have had a good night, and americans will have to. See you tomorrow -- Paul
On Thu, 16 May 2002, paul POULAIN wrote:
I've commited my marc stuff in the main branch. I've done this because when i asked for a marc branch i thought the main branch was the stable one. As Chris explains me it was the dev one, i think we don't need a marc branch. Why ? Because I want the marc-compliance for september-02, so i will have a hard work on it, and it should be in the next release (1.4 ?)
Hope kiwis have had a good night, and americans will have to.
And Canadians? :) I have a Marc schema question for you Paul, if you're still around today... How do I store the following tag: 100 a Dolch, Edward W. q (Edward William), d 1889-1961 in marc_1XX_tag_table I'd put: bibcode=1234 tagnumber=100 tagorder=1 indicator=## tagvalue=Dolch, Edward W. valuebloblink=NULL I seem to be missing the subfield code, and I need a unique id for the record for editing purposes. Did you intend to put a separate record in marc_1XX_tag_table for each subfield? We'd also need some way to tie all the subfields of a given tag together. Steve.
On Thu, 16 May 2002, Tonnesen Steve wrote:
I seem to be missing the subfield code, and I need a unique id for the record for editing purposes. Did you intend to put a separate record in marc_1XX_tag_table for each subfield? We'd also need some way to tie all the subfields of a given tag together.
Suggestion: Add back in the subfield tables for storing subfield information: CREATE TABLE marc_0XX_tag_table ( tagcode bigint(20) unsigned NOT NULL auto_increment, bibcode bigint(20) NOT NULL default '0', tagnumber char(3) NOT NULL default '', tagorder tinyint(4) NOT NULL default '0', indicator char(2) NOT NULL default '', PRIMARY KEY (tagcode), KEY (bibcode,tagnumber,tagorder) ) TYPE=MyISAM; CREATE TABLE marc_0XX_subfield_table ( subfieldcode bigint(20) unsigned NOT NULL auto_increment, tagcode bigint(20) NOT NULL default '0', bibcode bigint(20) NOT NULL default '0', subfieldorder tinyint(4) NOT NULL default '0', subfieldcode char(1) NOT NULL default '', subfieldvalue varchar(255) default NULL, valuebloblink bigint(20) default NULL, PRIMARY KEY (subfieldcode), KEY (bibcode,tagcode,subfieldcode) ) TYPE=MyISAM; Then my previous example: 100 a Dolch, Edward W. q (Edward William), d 1889-1961 would be stored as: marc_1XX_tag_table tagcode=658 bibcode=154 tagnumber=100 tagorder=0 indicator=00 marc_1XX_subfield_table subfieldcode=1532 tagcode=658 bibcode=154 subfieldorder=1 subfieldcode=a subfieldvalue=Dolch, Edward W. valuebloblink=NULL subfieldcode=1533 tagcode=658 bibcode=154 subfieldorder=2 subfieldcode=q subfieldvalue=(Edward William), valuebloblink=NULL subfieldcode=1534 tagcode=658 bibcode=154 subfieldorder=1 subfieldcode=d subfieldvalue=1889-1961 valuebloblink=NULL It would also be possible to merge these two tables into one, but all of the subfields of a given tag would have to have a unique tag identifier to tie them together. Steve PS: If you're back on IRC this evening, you can beep me by typing: /msg steve Wake up already that sends me a private message and makes my console beep.
Tonnesen Steve wrote:
On Thu, 16 May 2002, paul POULAIN wrote:
And Canadians? :)
In french, américains, means people from notrh-America (mexico, US, Canada) AND people from USA. so in my mind yu were included ;-)
I have a Marc schema question for you Paul, if you're still around today...
How do I store the following tag:
100 a Dolch, Edward W. q (Edward William), d 1889-1961
in marc_1XX_tag_table I'd put:
bibcode=1234 tagnumber=100 tagorder=1 indicator=## tagvalue=Dolch, Edward W. valuebloblink=NULL
I seem to be missing the subfield code, and I need a unique id for the record for editing purposes. Did you intend to put a separate record in marc_1XX_tag_table for each subfield? We'd also need some way to tie all the subfields of a given tag together.
You did'nt undestand my idea : in the 1XX_tag_table, you store the full line. So, the record looks : bibcode=1234 tagnumber=100 tagorder=1 indicator=## tagvalue=$aDolch, Edward W.$q(Edward William)$d 1889-1961 valuebloblink=NULL Don't forget that the tag_tables are used only for presentation purposes only. We search all with tag_word table. We can split thit record with a simple regexp, to get more user-friendly presentation. A regexp is FASTER than reading 10 or 15 records from the database. More than that, with your structure, we have to join 3 tables (biblio, tag_table, subfield_table) before getting any information. With my structure, we need only 2. So, I think (no, in fact I'm sure ;-)) that we don't need a subfield_table. About other modifications : FROM : CREATE TABLE marc_biblio ( ! bibcode bigint(20) unsigned NOT NULL auto_increment, datecreated date NOT NULL default '0000-00-00', TO : CREATE TABLE marc_biblio ( ! bibid bigint(20) unsigned NOT NULL auto_increment, datecreated date NOT NULL default '0000-00-00', I agree. FROM : CREATE TABLE marc_0XX_tag_table ( ! bibcode bigint(20) NOT NULL default '0', tagnumber char(3) NOT NULL default '', tagorder tinyint(4) NOT NULL default '0', indicator char(2) NOT NULL default '', ! tagvalue varchar(255) default NULL, ! valuebloblink bigint(20) default NULL, ! PRIMARY KEY (bibcode,tagnumber,tagorder) ) TYPE=MyISAM; TO : CREATE TABLE marc_0XX_tag_table ( ! tagid bigint(20) unsigned NOT NULL auto_increment, ! bibid bigint(20) NOT NULL default '0', tagnumber char(3) NOT NULL default '', tagorder tinyint(4) NOT NULL default '0', indicator char(2) NOT NULL default '', ! PRIMARY KEY (tagid), ! KEY (bibid,tagnumber,tagorder) ) TYPE=MyISAM; I STRONGLY DISAGREE ! Why ? because (bibid,tagnumber,tagorder) IS A PRIMARY KEY. You can undoubtfully find a record with those three informations. So we don't need a auto_increment field that is redundant. It's a DB-design mistake. I'm (almost) sure it's a bad idea. Note tagvalue and valuebloblink deseappear and should also re-appear if we drop subfields_table. I won't be reachable before 4PM-GMT. I'll try to be on irc for a few moment at 4PM-GMT to speak with you about the structure. Hoping we will be able to reach a "definitive" structure. -- Paul
participants (2)
-
paul POULAIN -
Tonnesen Steve