データベーススペシャリスト掲示板


[0457] 午後2の問1

 自信ないやつさん(No.1) 
午後2は問1を解いたんですが6割の自信がないです
特に後半設問2と3が全然でした
どんな解答すべきだったのか気になります…
自信ある方教えてください
2022.10.09 22:59
撃沈さん(No.2) 
それっぽく回答しましたが、自信ないです。
皆様の回答も知りたいです。

設問2
(1)where句でA.累計予約可能客室数  く  B.累計稼働客室数を指定する
(2)同一客室に紐づく複数の客室タイプが予約可能であっても、客室番号でカウントしているので、予約可能は一部屋となるから。
(3)客室在庫
(4)
(a)同一客室にも関わらず、時間帯によって定員が変わる(b)客室登録の際客室番号に加え、客室タイプも確認し登録するという作業

ク  施設コード  客室タイプコード  年月日  予約可能数  割当済数

ケ施設コード  予約番号  開始時間帯コード  終了時間帯コード
(2)c1
施設利用ビューへアクセスするAP処理が、削除により不具合を起こすから
(3)b3後b2でとりが定義の前に更新があった場合
コ  宿泊テーブルが適切にコミットされた
問題  二つのテーブルに差異が生じる
2022.10.10 08:42
おちた。さん(No.3) 
今回はダメっぽいので、来年頑張ります。
撃沈さん、ちゃんと全部解答できててすごいですね。
自分は全然わからなかったのですが、自分と解答違う部分は↓でした。

設問2
(2)客室テーブルに同一客室で、客室タイプが異なる行がないため。
  (count()は行数えるのでどの項目でも変わらない(NULLは除くけど))
(4)(b)宿泊登録時は客室タイプは、予約ですでに決まってるので違う?(答えわからん)
2022.10.10 13:46
撃沈さん(No.4) 
ありがとうございます。
自信あるところがないので微妙です、、
今日見直しても答えわかりませんね。

どのみち午後1で多分落ちたので来年頑張ります。
2022.10.10 13:53
あかあかさん(No.5) 
(3)のテーブル名は客室在庫と客室タイプで迷いました。
2022.10.10 15:01
N.O.さん(No.6) 
設問3(4)は以下のように解答しました。
問題:トリガによる更新処理がループする。
コの内容:手順番号[b4]による"宿泊"テーブルの更新ではないこと。
2022.10.12 00:15
にゃんちゃんさん(No.7) 
DB・シルバーエキスパート
やけくそ気味に埋めた答案です(午後1もそうですが)。

設問1
(1)
a:〇
b:〇
c:×
d:〇
e:×
f:〇
ア:予約,プラン明細
イ:宿泊,宿泊者
(2)
ウ:SUM(A.人数)
エ:EXISTS
オ:A.チェックイン年月日>C.チェックイン年月日
カ:D.会員予約区分='1'
キ:COALESCE(R2.リピート会員数,0)/R1.累計新規会員数
(3)2,5,1,3,4,5,4,3,2
設問2
(1)客室稼働率が100より大きい行を選択するWHERE句を追記する
(2)時間帯ごとに予約可能枠があることを考えておらず期間中の客室番号をカウントしているから
(3)客室タイプ
(4)
a:定員変更前の予約人数が定員を超えてしまう可能性があること
b:予約対象の時間帯に予約人数が定員以下であるかどうかの確認作業
設問3
(1)
ク(PK):施設コード,客室タイプコード,時間帯,年月日
ク(PK以外):価格区分,定員,予約可能数,割当済数
ケ(PK):施設コード,予約番号,予約明細番号
ケ(PK以外):時間帯,人数,客室番号
(2)C1
  "施設利用"ビューを参照しようとして見つからないAPがあるから
(3)"宿泊"テーブルから"施設利用"テーブルに複写された行が、複写後に"宿泊"テーブルで変更された場合
(4)
問題:b2とb4のトリガーの実行がループする
コ:行の旧値と新値が変化している

[午後2の感想]
そもそもの業務理解ができてないので(特に貸会議室あたりから)、勝手な思い込みと当てずっぽうで部分点がもらえればいいなと思って埋めました。
設問2(1)については、SELECTの別名がWHEREで使えないことは理解したうえでの記述であることは察していただきたいっす。
設問3(1)については、何がしたいのかまるでピンと来ないので、とりあえず既存の関係スキーマを見て真似しました。
物理分割とかバッファとかインデックスとか見積行数とかバックアップ方式とか、問1では聞いてくれてもよかったんじゃないのかい?と思いました。
2022.10.12 01:06
地蔵さん(No.8) 
設問1の(2)のオ、カって同じ会員が過去に宿泊したことがあるかを抽出しなければならないので、
オ  C.チェックイン年月日  く  A.チェックイン年月日

カ  B.会員番号  =  D.会員番号

じゃないでしょうか。

ウはCOUNT(※)としました。
COUUNT(distinct 会員番号)と迷いましたが
2022.10.12 09:01
にゃんちゃんさん(No.9) 
DB・シルバーエキスパート
>地蔵さん
SQL穴埋めも、テーブルと列の業務的な意味がよく分からなくてとりあえず文法的に合うように入れただけですね…。
2022.10.12 11:03
地蔵さん(No.10) 
ありがとうございます。
私も自信ないので、とりあえず回答あげてみただけです。。
2022.10.12 12:32
地蔵さん(No.11) 
TACとITECで午後2の解答違いますね結構。
2022.10.13 18:54
にゃんちゃんさん(No.12) 
DB・シルバーエキスパート
面白いくらい違いますねw
iTecだと合格点ありそうですが
TACだと半分も取れてなさそう。

午後1がTAC採点の部分点なしだと55/100なので
部分点とかいろいろ謎の力で60/100を超えてくれて
午後2もiTec採点で合格していてくれれば・・・
2022.10.13 19:04
地蔵さん(No.13) 
部分点気になりますね。
テーブル設計にも部分点有ればいいのですが、
属性が1つ漏れてたとかで点数半分もらえたらギリ合格しそうです。
2022.10.13 19:15
GinSanaさん(No.14) 
DB・シルバーエキスパート
>キ:COALESCE(R2.リピート会員数,0)/R1.累計新規会員数

仕事とかで書くとき、割る数もコアレスで1を入れときたくなりますね。まったく新規会員がいない初回、ゼロディバイドで落ちるかな?とか思ったんですが
caseで割る数は書かないとならなかった?
2022.10.13 22:12
にゃんちゃんさん(No.15) 
DB・シルバーエキスパート
問題用紙1ページ目に「リピート会員がいない施設のリピート率はゼロにする」とあったので
NULLを0埋めしてくれってことかと思いCOALESCE使いました。
割る数NULL,0は気を付けないのかなあと思いましたが
翌ページのSQL(S3)に似たようなのがあったので
「あ、これがヒントになってるのね」と思って真似しました。

2社とも回答は素直に割っただけだったので、自己採点しながら驚嘆の声を出しました。
2022.10.13 22:43

【返信投稿用フォーム】

お名前(10文字以内)

顔アイコン


本文(2,000文字以内)

投稿削除用のパスワード(20文字以内)

プレビュー
※宣伝や迷惑行為を防止するため、当サイトとIPAサイト以外のURLを含む文章の投稿は禁止されています。
※同一人物が作成できるスレッドは24時間に1つまでに制限されています。

投稿記事削除用フォーム

投稿No. パスワード 
© 2016-2022 データベーススペシャリストドットコム All Rights Reserved.

Pagetop