一个网站的诞生- MagicDict开发总结3 [日语字典数据结构]

首先感谢各位ACCESS数据库大牛在上一篇文章的评论中,对我的批评和帮助。这样的话,上一篇文章也没有白写了。

的确,一直在Mainframe上做开发,ACESS只是入门级别的水平,学习的道路还很长很长,需要 大石头 这样的高手的指教和提点。

这篇文章,可能不会涉及到任何技术面的东西。主要介绍一下日语单词的特征,就当一个日语知识的简单普及了。[园子里面日语好的朋友应该有很多]

日语在线字典,可能是所有字典里面最复杂的。

日语,分为平假名,片假名和汉字:

平假名是从中国偷师过来的,一般用于书写日本原来的文字,日语的平假名表示了一个单词的发音。一个假名对应一个发音。

例如 [はな] 就是一个片假名,这个词语怎么读,看了平假名就知道读法了。(读作 Ha[は] Na [な]。)

片假名和平假名的作用一样,只不过,写为片假名是表示这个单词是外来语。

比如[テスト]这个词语,来自于英语的Test,读音是 テ[Te] ス[Su] ト[To]。平假名和片假名是一一对应的,本质上没有什么区别,唯一的区别是用片假名书写的表示外来语。(当然,你也可以把片假名写成平假名,テスト写为てすと则不能体现出这个词语是外来词汇了)

日语里面也有汉字,在文章,报纸等正式的书面资料里面,可以使用汉字的地方,都应该使用汉字。

例如 「勉強」这样的词语,一般都是以汉字的形式出现的。(平假名:べんきょう)

不同的汉字可以发音相同(平假名相同)

相同的汉字也可以发音不同。。。。

 

这样的话,表示一个日语单词,就需要这样的一个结构

汉字   平假名   片假名   外来语

-------------------

勉強   べんきょう                 

    てすと   テスト    Test       外来语

花   はな                                         相同读音,不同汉字

鼻   はな                                     

人   ひと               相同汉字,不同读音 

人   じん

 

此外,还有一种叫罗马字的东西,平假名和片假名是用日本文字来表示读音的,罗马字是以拉丁字母的形式来表示读音的。

平假名的 はな 用罗马字表示为 HA[は]NA[な],这样表格又扩展了。

 

汉字   平假名   片假名   外来语       罗马字

--------------------------------

勉強   べんきょう                                  BENKIYOU

    てすと   テスト    Test      TESUTO              外来语

花   はな                                          HANA                 相同读音,不同汉字

鼻   はな                                      HANA

人   ひと               HIDO                  相同汉字,不同读音 

人   じん                                          JIN

接下来的话,要考虑表格的主键了。

主键应该是没有任何意义的东西,例如身份证号码那样,应该只是一个代码。但是这个代码也不应该是完全和所代表记录无关的东西,比如GUID,或者自增ID那样[关于这点欢迎提出不同意见]。身份证号码里面包含出身地,生日等信息。

在这个表格里面,注意到平假名是各个单词都共有的,所以,我使用的方法是根据平假名来生成主键。

1。每个假名拥有一个两位的代码 例如

あ01 い02 

2。取每个单词的前两个假名,构成一个4位的代码,如果单词本身只有一个假名,则4位代码的后两位则为00。我们称他为主代码

3。所有单词在编号之前,根据片假名,先做排序操作,同样主代码的单词,根据其位置,拥有一个4位的辅助代码。

4。最后,主代码+ 辅助代码就构成了主键。

主键           假名       汉字

15000012 ご           後
15000013 ご           五
15020001 こい         鯉
15020002 こい         濃い
15020003 こい         故意
15020004 ごい        語彙
15020005 こいあい    濃藍
15020006 こいしい    恋しい

 

需要说明的是,主代码是单词的固有属性,是固定的。

辅助代码在每次重新生成数据库的时候可能会变动。[每月通过工具,自动重新生成一次数据库]

所以说主键在一个时间点是固定的东西,但是在不同时间点,则是动态的。

 

 

一个人做网站太苦了,有人愿意加入网站开发吗?日语单词检索网站,ASPNET开发的。

有兴趣的写信给我 root#magicdict.com   [convert # to @ ]

或者加MSN mynightelfplayer@hotmail.com

网站地址 http://www.magicdict.com/

 

posted @ 2011-05-30 09:25  灰毛毛  阅读(2018)  评论(4编辑  收藏  举报