楼主: ~贝贝~

[Tips] ITPUB“盛拓传媒杯”SQL数据库编程大赛最后一题,答题结束,进入评审期!

 关闭 [复制链接]
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
141#
发表于 2011-3-30 23:16 | 只看该作者
明天一定会有好多人更新答案哦,好壮观啊

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
142#
发表于 2011-3-30 23:28 | 只看该作者
原帖由 lugionline 于 2011-3-30 23:15 发表


哇,你是说一个用户使用一个服务的时间范围不会有多条记录重复覆盖的情况发生?

就是说 用户 A,服务 S,usage 表中不会出现像这样时间重叠的记录?

A, S, 2010-01-01 到 2010-01-10
A, S, 2010-01-05 到 2010-01-15

那为什么前面OO又说按1计算呢,那不是暗指时间可能重叠么?

这题目都快结束了都没有搞定题目的范围,怎么出的题呢


不好意思,我们原来考虑不周,没有沟通好,最近又忙着第三期评卷,我直到今天才看到这个问题。OO早在几天前回答了,那就以OO的说法为准吧,说实在我也很喜欢有交叉的这个想法。

使用道具 举报

回复
论坛徽章:
32
祖国60周年纪念徽章
日期:2009-10-09 08:28:002013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-06-28 11:09:23ITPUB季度 技术新星
日期:2013-07-30 16:04:58优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09红孩儿
日期:2014-03-04 16:40:38美羊羊
日期:2015-02-16 16:36:28懒羊羊
日期:2015-03-04 14:52:11
143#
发表于 2011-3-30 23:31 | 只看该作者
大家跑的测试数据效率如何:
begin
    for t in(select table_name from user_tables where table_name in('SERVICE_USAGE',
                                                                    'SERVICES',
                                                                    'COMPANIES',
                                                                    'SERVICE_USERS',
                                                                    'SERVICE_RATES')) loop
        execute immediate 'alter table ' || t.table_name || ' disable primary key cascade';
        execute immediate 'truncate table ' || t.table_name;
    end loop;
    --假设有100个服务
    insert into services
    select rownum, 'service ' || rownum
      from dual connect by rownum <= 100;

    --假设有100个公司
    insert into companies
    select rownum, 'company ' || rownum
      from dual connect by rownum <= 100;
      
    --假设每个公司有30个员工
    insert into service_users
    select rownum, company_id, 'user ' || rownum
      from companies, (select rownum r from dual connect by rownum <= 30);

    --每个员工使用每项服务
    insert into service_usage
    select rn, user_id, service_id, add_months(a, mm), add_months(b, mm) + dd from (
    select rownum rn, user_id, service_id, date'2010-1-1' a, date'2010-1-1' b, trunc(dbms_random.value(1,12)) mm, trunc(dbms_random.value(1,13)) dd
      from service_users, services);
   
    --每个公司都有使用每项服务
    insert into service_rates
    select SERVICE_ID, COMPANY_ID, r , r USER_COUNT_MIN, decode(r, 4, 9999999, r) USER_COUNT_MAX, trunc(dbms_random.value(1,13)) RATE
      from services, companies, (select rownum r from dual connect by rownum <= 4);
    commit;
end;

使用道具 举报

回复
论坛徽章:
65
蛋疼蛋
日期:2012-11-06 13:54:02茶鸡蛋
日期:2013-07-04 10:51:21夏利
日期:2013-07-31 10:15:14劳斯莱斯
日期:2013-08-13 16:19:43林肯
日期:2013-08-28 09:03:36奥迪
日期:2013-09-24 16:02:28红旗
日期:2014-02-07 17:53:58马上有房
日期:2014-03-10 09:56:55马上有钱
日期:2014-03-24 17:46:34马上加薪
日期:2014-04-17 12:58:00
144#
发表于 2011-3-30 23:49 | 只看该作者

提交答案

先提交一个答案。明天有时间再琢磨琢磨。
SQL大赛第4期(todayz).rar (1.56 KB, 下载次数: 3)

使用道具 举报

回复
论坛徽章:
4
SQL大赛参与纪念
日期:2011-04-13 12:08:17ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:53:54ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15
145#
发表于 2011-3-31 02:04 | 只看该作者

重在参与

SQL大赛第四期(jxmarvel).rar

1.25 KB, 阅读权限: 11, 下载次数: 2

使用道具 举报

回复
论坛徽章:
9607
土豪章
日期:2013-12-31 14:11:39土豪章
日期:2013-12-31 14:11:39阿森纳
日期:2013-06-03 17:00:31阿森纳
日期:2013-10-11 09:27:58法拉利
日期:2013-12-27 15:20:30林肯
日期:2013-12-27 15:19:09法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30
146#
发表于 2011-3-31 07:59 | 只看该作者
原帖由 regonly1 于 2011-3-30 23:31 发表
大家跑的测试数据效率如何:
begin
    for t in(select table_name from user_tables where table_name in('SERVICE_USAGE',
                                                                    'SERVICES',
                                                                    'COMPANIES',
                                                                    'SERVICE_USERS',
                                                                    'SERVICE_RATES')) loop
        execute immediate 'alter table ' || t.table_name || ' disable primary key cascade';
        execute immediate 'truncate table ' || t.table_name;
    end loop;
    --假设有100个服务
    insert into services
    select rownum, 'service ' || rownum
      from dual connect by rownum  



我之前测试过99公司,26服务,每个公司100号人
一年的跨度区间

使用道具 举报

回复
论坛徽章:
281
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-01-04 11:51:22蛋疼蛋
日期:2011-12-29 07:37:22迷宫蛋
日期:2011-12-26 14:19:41茶鸡蛋
日期:2011-11-17 09:20:52茶鸡蛋
日期:2011-11-10 22:42:38ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15茶鸡蛋
日期:2011-10-24 09:48:48ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47
147#
发表于 2011-3-31 09:52 | 只看该作者
更新一下~~~

SQL大赛第4期(junsansi).rar

1.27 KB, 阅读权限: 66, 下载次数: 2

使用道具 举报

回复
论坛徽章:
32
祖国60周年纪念徽章
日期:2009-10-09 08:28:002013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-06-28 11:09:23ITPUB季度 技术新星
日期:2013-07-30 16:04:58优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09红孩儿
日期:2014-03-04 16:40:38美羊羊
日期:2015-02-16 16:36:28懒羊羊
日期:2015-03-04 14:52:11
148#
发表于 2011-3-31 09:57 | 只看该作者
我测试了100个公司,100个服务,80个房产经纪

使用道具 举报

回复
论坛徽章:
9607
土豪章
日期:2013-12-31 14:11:39土豪章
日期:2013-12-31 14:11:39阿森纳
日期:2013-06-03 17:00:31阿森纳
日期:2013-10-11 09:27:58法拉利
日期:2013-12-27 15:20:30林肯
日期:2013-12-27 15:19:09法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30
149#
发表于 2011-3-31 10:21 | 只看该作者
原帖由 regonly1 于 2011-3-31 09:57 发表
我测试了100个公司,100个服务,80个房产经纪

usage那个表多少记录?

使用道具 举报

回复
论坛徽章:
32
祖国60周年纪念徽章
日期:2009-10-09 08:28:002013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-06-28 11:09:23ITPUB季度 技术新星
日期:2013-07-30 16:04:58优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09红孩儿
日期:2014-03-04 16:40:38美羊羊
日期:2015-02-16 16:36:28懒羊羊
日期:2015-03-04 14:52:11
150#
发表于 2011-3-31 10:34 | 只看该作者
usage表80w

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表