- ベストアンサー
データベースとして流用
SOHOのオンライン講座を受けています。 課題は、エクセルに商品カタログを入力した後CSV形式に、データベースとして流用するために それを念頭に入れて作業すること、となっています。この意味を教えてください。 課題は、基本的には自分で調べて完成させてから提出し、その後誤りを指摘されるというものです。 ●データベースとして流用するデータは、何に注意をして入力すればいいのですか? よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
では、私の方につけられた補足についてのみフォローします。 > 仕様書には「品名が2行になっていてもセル内で改行しないでスペースで区切って1行にする」 > となっているのですが ... そんなことだろうと想像してました。まあ、私が想定していた一行は、 Excel のシートの一行のつもりではあったのですが。 データベースとして流用する、とは言いつつも、Access 程度しか 想像してないし、流用も Excel が吐き出したCSV形式のファイルを 直接取り込むだけなんですね。 Access は、一行をひとつのレコードとみなしてしまうので、ひとつの 商品を表す一連のデータが CSV形式のファイルで、複数行に分割され てしまうのは、とても都合が悪いです。 でも、普通は「流用する」というときには、そのデータベースに合わせた 情報の加工をするのが当たり前なので、あくまでも課題のための問題と いうことでしょうね。
その他の回答 (3)
- shigatsu
- ベストアンサー率26% (511/1924)
実際にデータを入れていくと「あれ?これってもっと簡単にまとめて入力できないんだろうか」って思うような列が出てくると思います。 商品カタログだとすると、各商品のメーカに関する情報などがそう感じでくると思います。 実際にはそういうのは別のデータ(テーブル)として管理するんですが・・・ 入力に改行があっても特に問題は無いんですが、CSVにするというところで引っかかりますね。 CSVは基本的に1行(改行まで)で1レコードとなりますので、途中に改行が入るとそこで中途半端な2レコードに分割されてしまいます。 あと注意することは ・英数字は全半角どちらかに統一する。(できれば半角がベスト) ・できればカンマは入れない。 ・できれば空白は入れない。 この3つはそんなに重要じゃないですが、やった方がいいって感じですね。
お礼
>商品カタログだとすると、各商品のメーカに関する情報などがそう感じでくると思います。 >実際にはそういうのは別のデータ(テーブル)として管理するんですが・・・ 今回は、品名、品番、個数、備考が少し、といった内容なので、別のテーブルとして 管理するものはないようです。内容が増えてくるとそうなってくるのですね。 >CSVは基本的に1行(改行まで)で1レコードとなりますので、途中に改行が入ると >そこで中途半端な2レコードに分割されてしまいます。 それで1行じゃないといけないんですね。 ・英数字は半角に統一しました。 ・カンマは全部半角スペースにするということでしたので、そうしました。 ・空白を入れない、というのがあてはまらないのですが、やった<方がいい>という ことですので、今回は該当しないということでしょうか・・・。 お返事ありがとうございました♪
- JunkMaster
- ベストアンサー率21% (23/106)
横方向に項目(=フィール)が並び、縦方向に個々のデータが並ぶ(=レコード)表を作成すればいいのです。そうすれば、CSVファイルに出力したときに1行が1件(1レコード)のデータをあらわすことができます。同一のフィールドはデータベースに流用することを考えると列固定です。ですのでカタログ番号(もしあれば)を入力する場所は下方向にずらっと並ぶはずですが、これがあちこちに散らばってたり、横方向に並ぶ(ということは、個々のデータが横方向に並ぶということになりますが)と誤りです。
補足
お返事ありがとうございます。 質問が漠然としていて、スミマセンでした。補足します。 フォームは決まったものがあって、単にデータを入力するだけの課題ですので、縦にデータが 並ぶ形になっています。また項目も横にならんでいます。 私としては、商品名が半角コンマで区切ってあるのがひっかけかなぁと思っています。 半角コンマは全部半角スペースに直すように、となっているからです。 この、半角のコンマ、スペースは、CSV形式と何か関連がありそうですが、どうなのでしょうか?
- a-kuma
- ベストアンサー率50% (1122/2211)
なんか良く分からん課題ですね。 とりあえず一番大事なのは、検索するためのキーを入力すること、 キーに相当する文字は、統一を取ること(CASE、CASEなんて 使い分けない)です。 データベースに使う、ということは、探し出すデータになる、 ということですから。 まあ、採点する人のレベルも考慮すると、ひとつの商品を 一行で入力すること、も付け加えておきましょうか。
補足
さっそくご回答ありがとうございます。 仕様書には「品名が2行になっていてもセル内で改行しないでスペースで区切って1行にする」 となっているのですが、これは、a-kumaさんがおっしゃる、 「採点する人のレベルも考慮すると、ひとつの商品を 一行で入力すること、も付け加えておきましょうか。 と関係ありますか? それとも、改行が入ると、データとして他に流用する際に何か不都合があるという意味でしょうか?
お礼
>Access は、一行をひとつのレコードとみなしてしまうので、ひとつの >商品を表す一連のデータが CSV形式のファイルで、複数行に分割され >てしまうのは、とても都合が悪いです。 そうだったんですか、よく分かりました。 >あくまでも課題のための問題ということでしょうね。 はい、そうなんです。2度にわたるお返事、どうもありがとうございました!