|
1.业务模型的抽象
假设有一些关系,用来记录每个人的身份证号,姓名和工作单位,还包含他/她的每个孩子的身份证号,姓名和出生地,以及他/她所拥有的每辆汽车的牌照和型号。
由现实世界的已知事实得知:
(1)有一些人可能由若干辆汽车,这些汽车可能是同一型号,也可能不是同一型号
(2)有一些人没有汽车,如果某人由汽车,他的每辆汽车都有一个牌照
(3)有一些人肯能由若干孩子,有一些人没有孩子
(4)同时,过20年以后,可能这个孩子又会变成别人的父亲或母亲(这里请你着重考虑)
初步设计的关系模式如下:
(身份证号,姓名,工作单位,C身份证号,C姓名,C出生地,汽车牌照,型号):其中C身份证号,C姓名,C出生地,分别是孩子的身份证号,姓名,出生地。如果用这种方式实现,当这个孩子变成父亲的时候,怎么办,这种方式明显不好,你可有别的思路来解决这个问题
请将你的思路分解成关系模式,确定主键,同时说明你解决这种问题的思路是什么,请着重描述你是如何解决孩子将来也会变成别人的父亲,母亲的问题?根据你的思路,如何解决从父亲找到孩子,从孩子找到父亲,如何找到一个人的前100代?
请写出需要的几个表,以及表的字段,表的主键?
2设计题目
设计算法的要求是:
(1)算法要通用,和这种类似的小计,总计都能处理。
(2)能容你可以自己定义放在那里,比如可以在数组,链表,或者你自己随意定义的结构内,表格线只是为了好看,和写算法没有关系
(3)针对年级求小计的时候,2001,2002届的那些行是紧挨在一起的
(4)本题思路要开阔,自己可以设计一些文件
(5)如果在在如上内容里加上学校这么一列,再按学校来求和,你的程序应同样能实现
(6)设计的结果是:
FUNC(参数1,参数2,参数3.。。。。。。参数N)
要说明参数的含义,函数里面的代码可以大致描述一下,不用完全写代码
请注意,只用C语言的内容,不要写类,答案是通用的,能够处理不如有1万个不通列的内容 |
|