| 
      ■データベースの作成 | 
        | 
    
     
      |   | 
        | 
      ●学習内容 | 
        | 
    
     
      |   | 
        | 
        | 
       最初に今回のプログラムで使用するデータベースを作成します。これが無いと何も出来ません。Delphiでデータベースを作るためには、DatabaseDesktopを使って作成します。ここでは、表の設計からデータベースの作成までを行います。簡単な操作しかしないのでサクサクと進めていってください。では、以下の手順で進めていきます。  | 
        | 
    
     
      |   | 
        | 
        | 
       
          | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
    
     
       | 
        | 
      ●データモデルの作成 | 
        | 
    
     
      |   | 
        | 
        | 
       
          データモデルの作成はデータベース化したい対象をデータとしてどの様に表現するかを創造する作業だと思ってください。データモデルを作成するには、必要な項目の一覧を作成し、テーブル正規化していきます。以下に今回のプログラムで使用するデータ項目をあげておきます。正規化したテーブルは次の『テーブルの設計』を見てください。正規化の手順は、データベースの基礎知識を参考にしてください。  
       | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
        | 
       
        
           
            | 項目 | 
            説明 | 
           
           
            | Cinema_code | 
            映画名を一意に識別するため | 
           
           
            | Cinema_name 
               | 
            映画名 | 
           
           
            | W_day 
               | 
            登録日 | 
           
           
            | Comment 
               | 
            コメント | 
           
           
            | Image 
               | 
            JPEGイメージ | 
           
           
            | Genre_code 
               | 
            ジャンルを一意に識別するため | 
           
           
            | Genre_name 
               | 
            ジャンル名 | 
           
           
            | Staff_code 
               | 
            スタッフを一意に識別するため | 
           
           
            | Staff_name 
               | 
            スタッフ名 | 
           
           
            | Staff_genre_code 
               | 
            役職名を一意に識別するため | 
           
           
            | Staff_genre_name 
               | 
            役職名 | 
           
         
       | 
         | 
    
     
      |   | 
        | 
        | 
       
        
       | 
        | 
    
     
       | 
        | 
      ●テーブルの設計 | 
        | 
    
     
      |   | 
        | 
        | 
       データモデルを作成し、正規化さえ終われば後は流れ作業みたいなものです。正規化されたデータモデルをもとに、テーブルを設計します。つまり、表名,項目名,型,サイズを決めることです。テーブルを設計したものが以下の表です。 | 
        | 
    
    
      |   | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
        | 
       
        
           
            | 表名(ファイル名):Cinema.db | 
           
           
            | 項目名 | 
            型 | 
             
               サイズ 
             | 
            キー | 
           
           
            | Cinema_code | 
            カウンタ型(+) | 
             
                 
             | 
            〇 | 
           
           
            | Cienma_name | 
            文字型(A) | 
             
                 
             | 
              | 
           
           
            | W_day | 
            日付時間型(@) | 
             
                 
             | 
              | 
           
           
            | Comment | 
            文字型(A) | 
             
               255 
             | 
              | 
           
           
            | Image | 
            バイナリ型(B) | 
             
                 
             | 
              | 
           
           
            | Genre_code | 
            倍長整数型(I) | 
             
                 
             | 
              | 
           
           
             | 
               | 
             
                
             | 
             | 
           
           
            | 表名(ファイル名):Genre.db | 
           
           
            | 項目名 | 
            型 | 
             
               サイズ 
             | 
            キー | 
           
           
            | Genre_code | 
            カウンタ型(+) | 
             
                 
             | 
            〇 | 
           
           
            | Genre_name | 
            文字型(A) | 
             
                 
             | 
              | 
           
           
            |   | 
           
           
            | 表名(ファイル名):staff.db | 
           
           
            | 項目名 | 
             
               型 
             | 
             
               サイズ 
             | 
             
               キー 
             | 
           
           
            | staff_code | 
             
               カウンタ型(+) 
             | 
             
                 
             | 
             
               〇 
             | 
           
           
            | cienma_code | 
             
               倍長整数型(I) 
             | 
             
                 
             | 
             
                 
             | 
           
           
            | staff_name | 
             
               文字型(A) 
             | 
             
               40 
             | 
             
              
             | 
           
           
            | staff_genre_code | 
             
               倍長整数型(I) 
             | 
             
              
             | 
             
              
             | 
           
           
             | 
             
                  
             | 
             
                
             | 
             
                
             | 
           
           
            | 表名(ファイル名):staff_genre.db | 
           
           
            | 項目名 | 
             
               型 
             | 
             
               サイズ 
             | 
             
               キー 
             | 
           
           
            | staff_genre_code | 
             
               カウンタ型(+) 
             | 
             
                 
             | 
             
               〇 
             | 
           
           
            | staff_genre_name | 
             
               文字型(A) 
             | 
             
                 
             | 
             
                 
             | 
           
         
       | 
        | 
    
     
      |   | 
        | 
        | 
       
        
       | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
        | 
    
     
       | 
        | 
      ●データベースエリアスの作成 | 
        | 
    
     
      |   | 
        | 
        | 
       Delphiでデータベースに接続する際TTable,TQueryコンポーネントを使い、そのDatabaseNameプロパティにデータベースエリアスを指定します。エリアスには、データベースに接続するときに使うドライバの種類、データベースファイルへのパスなどを記述します。ここでは、DatabaseExploreを使って作成します。 | 
        | 
    
     
      |   | 
        | 
        | 
            | 
         | 
          | 
    
     
      |   | 
        | 
      ★操作方法 | 
        | 
    
     
      |   | 
        | 
        | 
      @[DatabaseExplore]を起動→[オブジェクト]→[新規作成]を選択 
        A作成するテーブルの種類を[STANDARD]に選択 
        Bエリアス名を記述(今回はCinemaというエリアス名で) 
        CデータベースファイルのPATHを記述(ファイルを保存しておく任意の場所)  | 
        | 
    
     
      |   | 
        | 
        | 
       
        
       | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
        | 
       
        
       | 
        | 
    
     
      |   | 
        | 
        | 
       
        
       | 
        | 
    
     
       | 
        | 
      ●テーブルの作成 | 
        | 
    
     
      |   | 
        | 
        | 
       
          データベースエリアスを作成したので今度は、DatabaseDesktopを用いてデータベースを設計どおりに作成します。 
       | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
        | 
    
     
      |   | 
        | 
      ★操作方法 | 
        | 
    
     
      |   | 
        | 
        | 
       
         @[DatabaseDesktop]を起動→[ファイル]→[新規作成]→[テーブル]を選択 
          A作成するテーブルの種類を「Paradox7」に選択する  
          Bテーブルの設計に従いテーブルを作成(項目名、型、幅、キーを指定する) 
          Cファイル名をテーブル名で保存する 
          D保存する場所をエリアスで指定したパスにする。 
       | 
        | 
    
     
      |   | 
        | 
        | 
       
        
       | 
        | 
    
     
      |   | 
        | 
        | 
        | 
       
        
       | 
        | 
    
     
      |   | 
        | 
        | 
        | 
        | 
        |