H17午後I 問1
携帯電話会社の顧客情報を管理するデータベースの基礎理論
集合演算に一見戸惑うが落ち着けば全く問題ないハズ。
設問3(3)で,顧客番号“N0001”を例にしてと指定があり,手がかりと思うのか,単なる記述条件と思うのかで,悩み具合が違うようで。
設問3(1)
使用度数[年月度,電話番号]÷((契約電話番号[顧客番号 = "N0001"]) [電話番号])
顧客番号が"N0001"である電話番号は,001001 と 001002
電話番号{001001,001002}を両方含んでいる年月度を探す。
解答例:設問3(1) a: 200503 b: 200504
設問3(2)
「表のすべての記入欄が埋まるとは限らない」とは書いていないので,すべて埋まるものと考える。
かなりのサービス問題では?
設問3(2)
式① = 使用度数[年月度]
単なる射影
式①
200501
200502
200503
200504
式② = 契約電話番号[顧客番号 = "N0001"]
単なる選択
式②
N0001, 001001
N0001, 001002
式③ = 式① × ((式②)[電話番号])
式②を射影して,式①と直積
式③
200501, 001001
200501, 001002
200502, 001001
200502, 001002
200503, 001001
200503, 001002
200504, 001001
200504, 001002
式④ = (式③) - 使用度数[年月度,電話番号]
式③と射影した使用度数との差集合演算
式③の方にだけあるタプルが残る。
式④
200501, 001002
200502, 001002
式⑤ = 式① - ((式④)[年月度])
式①と射影した式④との差集合演算
式①の方にだけあるタプルが残る。
式⑤
200503
200504
設問3(3)
図5,図6の関係演算で正しく求められない場合を検討
考慮する記述
・解約後,電話番号は別の契約で再利用(表2)
・契約電話番号は,契約中の電話番号を保持
・契約電話番号は,新規契約日に追加され,解約日の翌月の月初日に削除される
解約ばかりに目が行くが。。。視点を変えてみて
顧客番号"N0001"において,年月度200504に,電話番号001003が追加された場合を考えると
年月度200503は2台で複数契約割引,
年月度200504は3台で複数契約割引 と,ならないといけないのだが
200503が図5,図6共に欠落しないだろうか?
ということで
N0001の電話番号が年月度200504に1台増えた場合
解答例:設問3(3)
N0001の電話番号が年月度200504にもう1台増えた場合(30字)
設問3(1)(2)
確かにこれは簡単すぎ。小学生でもできそうな単純な計算
式⑤なんて図5の答とまったく同じじゃんw
これなら、前は問1を30分で切り上げ、他の問に行ったほうがよいと言ったが、問1に40分くらい時間かけて設問3(1)(2)を解くのも得策
ただ(3)はちょっと考えなきゃならない分、時間をロストしそうだが