関係:モデルは各テーブルの主キーです
Product( maker, model, type )
PC( model, speed, ram, hd, price)
Laptop( model, speed, ram, hd, screen, price)
Printer( model, color, type, price)
最初の質問は、トランザクションを適切に開始してロールバックする方法です。私がやっていることは
START TRANSACTION;
--- my sql says ok
--- do my queries (8 rows affected)
ROLLBACK
--- Mysql says ok but 0 rows affected.
トランザクションが開始された後、ロールバックへの変更を取得できないようです。これを理解できたら、次のいくつかの問題から始めることができます。私はこれに特に問題があります
- すべてのPCに、同じメーカー、速度、RAM、ハードディスク、17インチの画面、モデル番号1100が大きく、価格が元のPCより500高いラップトップがあるという事実を挿入します。
PCのすべてのモデル番号は1000から1013であるため、すべてのモデル番号を1100以上にするには、PCのモデル番号に100を追加するだけです。
新しいラップトップの新しいモデル、メーカー、およびタイプを製品関係に挿入する必要があります。また、新しいラップトップをラップトップ関係に挿入する必要があります。この近くにサブクエリがあることはわかっています
(SELECT * FROM pc)
そこで、pcリレーションを取得し、すべてが17に設定されている画面列を追加してから、このリレーション全体をラップトップリレーションに追加します。また、各メーカーまたはPCが、製造するPCのすべてのモデルに対してlatptopを製造しているという事実も追加する必要があります。
これは私にとって非常に混乱します。私はそれをどのように処理するかわかりません。
どんな助けでも適用されます。