学习心得 - 计算机是练出来的
发表于:2007-07-04来源:作者:点击数:
标签:
“计算机是怎么学出来的?”,赵老师发问。 “计算机是练出来的
“计算机是怎么学出来的?”,赵老师发问。
“计算机是练出来的!”,众同学异口同声。
怎么瞅着像广告?呵呵,一天的Oracle小项目之后,这,却是我们的真实感受。
项目是一个有关录像租像系统数据库的建设。建立表、约束、增加字段、创建序列、录入数据、从数据字典里查询建立好的对象以及检索插入的数据。最后通过一个脚本出具一张报表。这个看似简单的项目却将前面四天学习的Oracle知识有机地联系起来。
一共有五张报表:Title记录录像基本资料;Title_copy记录租借状态;Rental记录租借时间;Reservation记录预订情况;member 表记录顾客资料。由ERD图生成的Table Instance Charts已经给出,我们只须对着直接建表。
收获来自于挫折。项目的八道题目一环紧扣一环。Rental表的copy_id、title_id为联合外键与Title_copy表的对应字段成主外键关系。初始单独设Rental表的copy_id字段外键约束,咦,怎么提示主键为非唯一键。OK,将Title_copy表的copy_id字段加上Unique Constraint。表建好了,然后插入数据。一个表、二个表...插入不了数据?怎么又是表Title_copy?天,范例数据copy_id竟有重复值。删除Unique constraint,以后Rental表无法建立。不删,数据又录入不了。前后进退不得,这......,联合外键率先发难。
另外一个细节来自于为Title表的price字段增加非空约束。用Alter TABLE table ADD [CONSTRAINT constraint]死活不让。在第12章仔细Search,原来NOT NULL约束在修改字段时完成。天,这不正是赵老师在课堂上强调的。
匆匆完成项目后才有心情对项目题目更仔细推敲。像租借状态为什么不直接写入Title表而用Title_copy表保存是因为同一个录像带存在多个拷贝。Title_copy表中采用title_id和copy_id联合主键才能是唯一值。录像租借数据库如此,图书租借不也一样吗? Oracle的学习以一个项目作为结束,而明天,便要踏上Java的征程。
原文转自:http://www.ltesting.net