你好,我不确定这是否是一个好问题,但是这里,我对如何制作牙齿图数据库的数据结构感到很困惑。我首先考虑过制作像这样的数据结构
teeth_table
teeth_id (Primary key)
teeth_1 (These are 32 tooth)
until teeth_32 (These are 32 tooth)
patient_id (Foreign key connected to the patient table)
我的第二个计划是为每颗牙齿制作一张单独的桌子(我猜这会占用很多时间吗?)
tooth01_table
tooth_id
tooth_name
tooth_condition
tooth_recommendation
tooth_treatment
patient_id
这就是我的想法, 我的计划是制作一张桌子,当患者从下拉列表中选择牙齿时,它会显示以下内容
牙齿|条件|推荐|治疗
那么你们认为牙齿图数据库的设计是什么?
牙齿图就像这些
http://www.mouthandteeth.com/img/FDI-tooth-numbering-system.gif
答案 0 :(得分:1)
我推荐以下设计:
CREATE TABLE tooth (
tooth_code char(2) NOT NULL PRIMARY KEY,
-- teeth don't have real numbers
-- it is a qudrant number + tooth number combination
-- therefore char(2)
tooth_cat varchar(50) NOT NULL
CHECK (tooth_cat IN ('incisor','canine','premolar','molar')
-- though I find this info redundant,
-- category can be deduced from tooth_code
);
CREATE TABLE mounth (
patient_id int4 NOT NULL,
tooth_code char(2) NOT NULL,
inspect_dt timestamp with time zone NOT NULL,
condition text,
suggestion text,
treatment text,
PRIMARY KEY (patient_id, tooth_code, inspect_dt),
FOREIGN KEY (patient_id) REFERENCES patient,
FOREIGN KEY (tooth_code) REFERENCES tooth
);
mouth
tooth_code
,' cos id
通常表示数字值,但我们在这里没有实数,尽管它们看起来相似mouth
,也许patient_inspections
或类似的将是更好的匹配。