Re: Database design

Hi Christophe,

Christophe Strobbe wrote:
> 
> Hi Shadi,
> 
> At 21:06 11/02/2009, Shadi Abou-Zahra wrote:
>> Ref: <http://www.w3.org/WAI/ER/tests/WebInterface/Mockups/tables>
>>
>> Please find an outline of the database I plan to implement for the 
>> test samples. Feedback is welcome!
>>
>> Especially the techniques, technologies, and features mappings is 
>> quite tricky. We have n:n relationships which is never a good sign...
> 
> Thanks for your work on the DB design. Below are a few comments. It is 
> possible that you have addressed them somehow, but it's important to 
> have this in an unambiguous and explicit form.
> 
> 
> Tests table:
> 
> Does the current design support test samples that reference more than 
> one technique? If the Tech column allows only a single technique ID (as 
> opposed to a list), can the Test ID column be unique? We may need a key 
> that is based on Test ID + Tech ID.

No. The idea is that each test sample maps to exactly one technique. Is 
this not the case?


> Files table:
> 
> I wonder if we really need to test files table in the database. The HTML 
> view of the metadata, which you can currently access by following the 
> link in the Title column 
> (<http://www.w3.org/WAI/ER/tests/WebInterface/>), also has this 
> information, and
> 1. the test files are probably rarely useful without the context 
> provided by the metadata (description, purpose, pass/fail, 
> technique/failure)
> 2. the XML metadata can specify whether the order of the test files is 
> important or not; this is necessary when the set of test files represent 
> a process with a file for each step in the process. This would be harder 
> to implement in a database (though not impossible).

We do need the files in a database to generate views such as this:
  - <http://www.w3.org/WAI/ER/tests/complete>

However, I did not think of the order of the files. I will look at that.


> Technique table:
> 
> This table should also address the fact that a single technique can be 
> relevant to multiple requirements (usually success criteria).

Good point.

Question: can test samples therefore also apply to several requirements?


> Technologies table:
> 
> A single test sample often relies on more than one technology: XHTML + 
> CSS, XHTML + JavaScript, XHTML + CSS + JavaScript. Would this table 
> treat HTML 4.01 and XHTML 1.0 as different technologies? Would it treat 
> XHTML 1.0 and XHTML 1.0 as different technologies? (The current metadata 
> do this by using different URLs. The disctinction between XHTML 1.0 and 
> XHTML 1.1 is relevant for techniques that use Ruby Annotation to address 
> SC 3.1.6 (Pronunciation).)

Yes, the thought is that each of CSS, HTML 4.01, XHTML 1.0, XHTML 1.1 is 
a separate technology (stored in the "Technology" table). A test sample 
can have any number of technologies (mapped through the "Technologies" 
table). The database does not consider technology families such as XHTML 
or such. Each technology (identified by its URI) is distinct.


> Features table:
> 
> No comments. (This table treats e.g. element INS in HTML 4.01 as a 
> different feature from INS in XHTML 1.0, just like our XML metadata, 
> because each technology feature has a URL.)

I had a tough time with this one. Note that there is no relationship 
between the features and the technologies in this database. It merely 
lists the features that belong to a test sample. I'd like to improve 
this (to facilitate the search functionality).


> Technology table:
> No comment.
> 
> 
> Feature table:
> No comment.
> 
> 
> Status table:
> No comment.
> 
> 
> Result table:
> Strictly speaking, TCDL 2.0's expectedResult attribute also allows the 
> value "cannotTell" 
> (<http://bentoweb.org/refs/TCDL2.0.html#adef-expectedresult>).

Yes, I had that in and dropped it again. Not sure why (cannot tell, ha 
ha). I'll put it back in.


> Requirement table:
> No comment. (Except that Principles currently don't have Understanding 
> docs or techniques/failures.)

Yes, I might drop the Principles given this context (see the separate 
thread on rulesets.xml).


> StrReview, CntReview, Ballot, Decision, decValue:
> No comment.

Thanks,
   Shadi

-- 
Shadi Abou-Zahra - http://www.w3.org/People/shadi/ |
   WAI International Program Office Activity Lead   |
  W3C Evaluation & Repair Tools Working Group Chair |

Received on Thursday, 12 February 2009 12:54:01 UTC