動的コンテンツを含む Web サイトを開発する必要がある場合は、データベースを使用する必要があります。現代の Web サイトはデータベースと切り離せないものですが、多くの開発者はデータベースがどのように機能するかをまだほとんど理解していません。
PHP は多くの種類のデータベースをサポートしていますが、PHP 認定は PHP の機能にのみ関連するため、この章のトピックでは特定のデータベース管理システムに特に焦点を当てません。さらに、MySQL AB などのほとんどの商用 DBMS には、独自の認定コースがあります。
この章では、特定の DBMS に関係なく、データベースの原則とデータベース プログラミングに関する知識をテストします。
質問
1.次の SQL ステートメントを考えてみましょう。返されるレコード数を制限するオプションはどれですか? (二者択一)
MY_TABLE から * を選択
A.可能であれば、クエリをストアドルーチンに変換するを使用してください
B.プログラムで許可されている場合は、クエリに返されるレコードの範囲を指定します
C.可能であれば、where 条件を追加します
D. DBMS が許可する場合は、クエリをビューに変換します
E. DBMS で許可されている場合は、プリペアドステートメントを使用してください
2.クエリによって返されたデータ セットは、______ 条件を追加してフィルタリングできますか?
答え: _____________
3.内部結合は何に使用されますか?
A.同じフィールドを介して 2 つのテーブルを 1 つの永続テーブルにリンクします
B.両方のテーブルの同じ同一行に基づいて結果セットを作成します
C.テーブル内のレコードに基づいてデータセットを作成します
D. 2 つのテーブルの同一レコードと 1 つのテーブルのすべてのレコードを含む結果セットを作成します
E.上記はどれも正しくありません
4. PHP 拡張ライブラリを持たない DBMS は次のうちどれですか?
A. MySQL
B. IBM DB/2
C. PostgreSQL
D. Microsoft SQLサーバー
E.上記はどれも正しくありません
5.次のスクリプトを考えてみましょう。 mysql_query 関数が、フィルターされていないクエリ ステートメントを開いているデータベース接続に送信すると仮定します。次のオプションのうち正しいものはどれですか? (二者択一)
以下はコードスニペットです:
$r = mysql_query (MYTABLE WHERE ID= . $_GET[ID] から削除します
);
?>
A. MYTABLE テーブルに複数のレコードがあります
B.ユーザーが入力したデータは適切にエスケープしてフィルター処理する必要があります
C.この関数を呼び出すと、他のレコードの数を含むレコードが生成されます
D. ID=0+OR+1 を URL に渡すと、MYTABLE 内のすべてのテーブルが削除されます
E.クエリステートメントにはデータベース名を含める必要があります
6. ______ ステートメントを使用すると、既存のテーブルに新しいレコードを追加できます。
答え: _____________
7。次の記述のうち正しいものはどれですか?
A.インデックスを使用すると、データの挿入を高速化できます
B.優れたインデックス戦略は、クロスサイト攻撃の防止に役立ちます
C.インデックスはデータベースの実際の用途に基づいて合理的に設計されるべきです
D.レコードを削除すると、テーブル全体のインデックスが破壊されます
E.インデックス作成が必要なのは数値レコード行のみです
8.結合はネストできますか?
A.できる
B.できません
9.次のデータテーブルとクエリについて考えてみましょう。クエリ速度を向上させるためにインデックスを追加するにはどうすればよいですか?
テーブルMYTABLEの作成 (
ID INT、
NAME VARCHAR (100)、
ADDRESS1 VARCHAR (100),
ADDRESS2 VARCHAR (100)、
郵便番号 VARCHAR (10)、
都市変数 (50)、
州の変数 (2)
)
ID、VARCHAR を選択します
マイテーブルより
0 と 100 の間の ID
名前と郵便番号で注文
A. IDにインデックスを追加
B. NAME と ADDRESS1 にインデックスを追加します
C. IDにインデックスを追加し、NAMEとZIPCODEにそれぞれインデックスを追加します
D.郵便番号と名前にインデックスを追加します
E.郵便番号に全文検索を追加