The Digital Archive Database Tool Shih Lin Computing Center Academia Sinica
Metadata on the Way Complication Over one thousand standards Change Rapidly increasing requirements More usage
Complication Over one hundred data elements Deeper and wider hierarchy Multiple occurrences of compound and leaf nodes Various data types Links between metadata records
Puzzle of Knowledge Exports I realize the data. I know its logical structure. Basically, I am clear what I want to do on it. What! You(the software developer) want me to freeze my requirement? How could I clarify the detail so soon? I am not satisfied with your database system. Why is it so hard to make it better? I want to make some “reasonable” changes. Why do you don’t think they are easy?
Major Concept(1) Generic schema oriented Web page driven Common facilities supported and Integrated Middleware: DBMS neutral – MySql, Oracle and more
Major Concept(2) Sophisticated Efficient Flexibility and extensibility Small program size Fast development Easy to learn Ready for change
Generic Schema(1) Field –Name –Data type: string, integer, float, date, time, timestamp and blob –Length –Constraint(value range) –Keyword-code mapping: single and multiple levels –Automatic value setting during insertion and update –Not null
Generic Schema(2) Table –Primary key: automatically given or not –Relation between two tables Many-to-one One-to-one: special case of many-to-one relation Many-to-many: not supported –Foreign key v.s. primary key Simple or compound keys Pseudo key
Table Net(1) If some tables are put together, there must be some relations among them. Specify the main table. Construct a table net from the main table according to the many-to-one relations between each pair of tables. Many-to-one relation in two way –One-to-many: parent-child relation –Many-to-one: reference relation
Table Net(2) Table hierarchy: follow parent-child relations only Reference tree: follow reference relations only Full table net: follow both parent-child and reference relations Tens of tables Table path
Web Page Management page: insert, update, delete and search Query page: search only List page: list search results briefly Report page: show the detail of search results
Management Page Handle a table hierarchy Insert, update and delete Search and fetch Multiplex input elements: text, hidden, select, radio, checkbox, textarea and file Entry check Multi-level selection menus: static and dynamic Upload files to a file pool or blob fields
System Specification Languages: PHP and JavaScript. Python in the future. DBMS: MySql, Oracle and more in the future. Web server: Apache OS: Linux, Windows or any OS in which Apache works Browsers: IE for management pages. Various browsers for other pages.