关于 oracle 和 c++ 的问题
试题1:使用ORACLE编写一个完整的解决方案。已知数据库中有表A(ID NUMBER(18),SEQ NUMBER(18),START_DATE DATE,MSG VARCHAR(256)),B(ID NUMBER(18),SEQ NUMBER(18),START_DATE DATE,MSG VARCHAR(256)).请在数据库中建表,表名为(T_学员全名拼音_A,T_学员全名拼音_B),同时往表A中插入10万条数据,表B中插入10万条数据,其中表A中数据与表B中数据有重复数据不少1000条记录,重复的标志为ID、SEQ值相等。使用SQL语句查出A表重复记录值,然后把B表重复的记录删除掉,然后使用统计语句统计出A表每天的数据量。
要求:
1、解决全过程的SQL语句和代码按照执行顺序全部保留。
2、数据插入采用C++、OCCI实现,使用批量插入方式。
3、记录查找重复记录所用时间,使用ORACLE命令实现。
4、start_date按照10万/31的比率分配。时间指定为2008年/3月/1-31日。
5、查找重复记录和统计要求速度最快,如果没有性能优化,则此题扣减1/3分数。
6、ID、SEQ数值填写要求使用ORACLE的序列号功能。
7、表的主键为ID.
试题2:使用C++实现数据存储类。数据存储中有多种有名字数据类,每类数据有多条记录,每类数据的每条记录的大小均一致,单条记录的长度为255*32字节,每类数据可以存放的条数为1024条,一共可以支持16类数据,实现增加单条记录、删除某类数据的某条记录、清除某类数据、查询某类数据的指定某条数据功能。
已知:
1、使用MALLOC分配255*16字节的空间速度比较慢。
2、99%情况下每类数据每次使用时不会超过16条记录。
3、每类数据都有一个唯一的名字。
要求:
1、增加、删除和查询的函数格式至少要包括(数据类名)。
2、要求函数执行速度最快、占用内存空间最小。
3、数据类名存放采用MAP容器实现。
4、不得出现任何数字或者字符串常量,采用宏定义、enum方式解决。
5、所有命名规则按照某个熟悉的规则命名,比如匈牙利命名法。
6、每个变量和函数必须有相应的注释,注释格式采用/**/。在算法的关键处增加注释。
7、数据增加采用APPEND模式附加在最后。如果在数据中间有空闲空间,则增加到空闲空间中。
8、数据删除可以指定删除那条记录。
9、数据变化时要动态记录那个空间空闲、那个空间占用。
10、函数返回值为执行成功、失败原因,类型为int,失败原因可有多个。
11、数据类名与存储空间不存在一一对应的关系。
12、函数内变量的声明和函数逻辑分开,不得在函数执行过程中声明变量。
13、变量初始化按照使用前初始化的方式。
14、每个函数的行数不得超过200行。
15、不得使用任何全局或者静态变量。
16、在析构函数中实现释放所有分配空间。
17、单条记录声明为结构体,struct data{char rec[255*32]};此结构体非最终结构体,需要按照上述规则进行调整。
18、编写测试程序进行测试。