<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/security.database.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'security.database.design.php',
    1 => 'データベースのデザイン',
    2 => 'データベースのデザイン',
  ),
  'up' => 
  array (
    0 => 'security.database.php',
    1 => 'データベースのセキュリティ',
  ),
  'prev' => 
  array (
    0 => 'security.database.php',
    1 => 'データベースのセキュリティ',
  ),
  'next' => 
  array (
    0 => 'security.database.connection.php',
    1 => 'データベースへの接続',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'security/database.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="security.database.design" class="sect1">
    <h2 class="title">データベースのデザイン</h2>
     <p class="simpara">
      他人が用意した既存のものを使用するのでない限り、最初に行うのはデータベースの作成です。
      データベースが作成されると、そのデータベースのオーナーは作成コマンドを
      実行したユーザーになります。通常、オーナー(とスーパーユーザー)のみが
      そのデータベースに対して操作を行うことが出来ます。他のユーザーがデータベースを
      使用するには適切な権利が与えられている必要があります。
     </p>
     <p class="simpara">
      アプリケーションはデータベースにオーナー、もしくはスーパーユーザーとして接続することは絶対にしてはなりません。
     なぜならこれらのユーザーは
      例えばスキーマの変更(テーブルの削除等)や全コンテンツの削除、といったあらゆるクエリーを実行することが出来るからです。
     </p>
     <p class="simpara">
      貴方が作成するアプリケーションがデータベースに対して行う操作の各方面ごとに、
      操作対象となるオブジェクトに対して、出来る限り少ない権限を持った複数の
      ユーザーを作成した方が良いでしょう。ユーザーに対しては、最低限必要な権限のみを
      与え、関係の無いデータへのアクセスを許可しないようにします。これは、
      万が一侵入者がそのユーザーの権限を以ってデータベースにアクセスした際に、
      アプリケーションと関係の無いデータにまでアクセスされることを防ぐためです。
     </p>
   </div><?php manual_footer($setup); ?>