属性の決定(その2)
属性の決定の続きです。前回示した生徒名簿テーブルと家族テーブルの表について詳しい解説をします。
まず生徒名簿テーブルから。生徒番号はコードとしての意味を持ちますから、テキスト型にします。コードの場合、コード体系というのを決めておく事があります。つまり番号をどういうルールで付番するするかという事です。単純に古い順に1から順番に振っていくという方法もありますが、コードを見てある程度の意味付けが出来ると便利な場合が多いので、ここでは最初の4桁を入学年度の西暦の年、残り3桁を連番にしてみました。
姓漢字、姓かな、名漢字、名かなは共にテキスト50桁にしましたが、何桁にするかはあまり厳密に考えなくてもいいでしょう。実際のデータが既にあって最大の長さがわかっている場合は、プラス10桁位にしておけばいいでしょう。むやみに桁を取りすぎると容量の無駄遣いになるし、少なければデータが入り切らなくなる可能性がありますので、長さを決めるのは実は結構難しいのです。
ここでACCESSのうれしい特徴があります。他のデータベースだと設計時にフィールドの型や長さを決めたあと、データが蓄積されていった場合、後でデザインを変更するのは非常にやっかいになります。データを退避して、デザインを変更し、元に戻す(場合によっては変換する)必要があります。
これがACCESSだとデータを入れたまま、テーブルのデザインを変更することが出来るのです。つまり、型や長さを自由に変えることが出来るのです。ただ注意しないといけないのは長さを長くする分には問題ないのですが、短くするときにはデータが途中で切れてしまう可能性がありますので、最大長のデータを確認してから行う必要があります。型を変更する場合も数値からテキスト型にする場合は問題ありませんが、テキスト型から数値型にする場合は当然の事ながら数値以外が入っていないことを確認する必要があります。もし、数字以外のデータが入っていた場合は変換エラーが起き、そのデータは失われてしまいます。
性別は男と女しかありませんからテキスト2桁で問題ないです。
生年月日、入学年月日、卒業年月日は日付時刻型です。もちろん時刻は入力しませんが。
学年は数値型ですが、実際にはもっと細かい設定が必要です。それはACCESSでテーブル定義をするときに考慮しましょう。
クラスは例えば1組、2組、あるいはA組、B組、あるいはさくら組、花組等いろいろ考えられるので、テキスト10桁にしました。
郵便番号はハイフン付きの8桁。
住所の都道府県からビル名まではテキスト100桁にしました。実際にはもっと少なくても大丈夫かもしれませんが、余裕を取っておきます。都道府県に関してはマスタを持ってコードで管理する方法もありますが、ここでは都道府県名そのものを格納することにします。
TEL、FAX、携帯電話はハイフン付きでテキスト20桁にしました。これも余裕を取っています。ハイフン無しにした場合、入力は楽なのですが、表示したときに見にくいかと思います。自動でハイフンを付けるには区切りを判断するのは難しいと判断しました。
メールアドレスに関しても余裕を持ってテキスト50桁にしました。
次に家族テーブルに行きます。生徒番号は生徒名簿テーブルの連結フィールドなので、当然生徒名簿テーブルと同じです。
家族番号は生徒名簿テーブルと関連性を持たせた方がいいと判断し、生徒番号(7桁)+連番2桁にしました。
名漢字、名かなは生徒名簿テーブルと同じテキスト50桁にします。
続柄はテキスト10桁もあれば充分でしょう。この続柄もコード化する方法もある事は前にも述べたとおりです。
連絡先はTEL、携帯電話、メールアドレス、住所等汎用的に使うフィールドなので、テキスト100桁にしておきます。
以上一通り、テーブルを設計しましたので、次は実際にACCESSのテーブルを作成していくことにします。
まず生徒名簿テーブルから。生徒番号はコードとしての意味を持ちますから、テキスト型にします。コードの場合、コード体系というのを決めておく事があります。つまり番号をどういうルールで付番するするかという事です。単純に古い順に1から順番に振っていくという方法もありますが、コードを見てある程度の意味付けが出来ると便利な場合が多いので、ここでは最初の4桁を入学年度の西暦の年、残り3桁を連番にしてみました。
姓漢字、姓かな、名漢字、名かなは共にテキスト50桁にしましたが、何桁にするかはあまり厳密に考えなくてもいいでしょう。実際のデータが既にあって最大の長さがわかっている場合は、プラス10桁位にしておけばいいでしょう。むやみに桁を取りすぎると容量の無駄遣いになるし、少なければデータが入り切らなくなる可能性がありますので、長さを決めるのは実は結構難しいのです。
ここでACCESSのうれしい特徴があります。他のデータベースだと設計時にフィールドの型や長さを決めたあと、データが蓄積されていった場合、後でデザインを変更するのは非常にやっかいになります。データを退避して、デザインを変更し、元に戻す(場合によっては変換する)必要があります。
これがACCESSだとデータを入れたまま、テーブルのデザインを変更することが出来るのです。つまり、型や長さを自由に変えることが出来るのです。ただ注意しないといけないのは長さを長くする分には問題ないのですが、短くするときにはデータが途中で切れてしまう可能性がありますので、最大長のデータを確認してから行う必要があります。型を変更する場合も数値からテキスト型にする場合は問題ありませんが、テキスト型から数値型にする場合は当然の事ながら数値以外が入っていないことを確認する必要があります。もし、数字以外のデータが入っていた場合は変換エラーが起き、そのデータは失われてしまいます。
性別は男と女しかありませんからテキスト2桁で問題ないです。
生年月日、入学年月日、卒業年月日は日付時刻型です。もちろん時刻は入力しませんが。
学年は数値型ですが、実際にはもっと細かい設定が必要です。それはACCESSでテーブル定義をするときに考慮しましょう。
クラスは例えば1組、2組、あるいはA組、B組、あるいはさくら組、花組等いろいろ考えられるので、テキスト10桁にしました。
郵便番号はハイフン付きの8桁。
住所の都道府県からビル名まではテキスト100桁にしました。実際にはもっと少なくても大丈夫かもしれませんが、余裕を取っておきます。都道府県に関してはマスタを持ってコードで管理する方法もありますが、ここでは都道府県名そのものを格納することにします。
TEL、FAX、携帯電話はハイフン付きでテキスト20桁にしました。これも余裕を取っています。ハイフン無しにした場合、入力は楽なのですが、表示したときに見にくいかと思います。自動でハイフンを付けるには区切りを判断するのは難しいと判断しました。
メールアドレスに関しても余裕を持ってテキスト50桁にしました。
次に家族テーブルに行きます。生徒番号は生徒名簿テーブルの連結フィールドなので、当然生徒名簿テーブルと同じです。
家族番号は生徒名簿テーブルと関連性を持たせた方がいいと判断し、生徒番号(7桁)+連番2桁にしました。
名漢字、名かなは生徒名簿テーブルと同じテキスト50桁にします。
続柄はテキスト10桁もあれば充分でしょう。この続柄もコード化する方法もある事は前にも述べたとおりです。
連絡先はTEL、携帯電話、メールアドレス、住所等汎用的に使うフィールドなので、テキスト100桁にしておきます。
以上一通り、テーブルを設計しましたので、次は実際にACCESSのテーブルを作成していくことにします。
- 関連記事
スポンサーサイト