ベーシックインカムあるので暇です、勉強します。

タイトル通り自給自足学生やってます。BI:5M JPY行ったら婚活します笑笑

ファイルとデータベース

●ファイル

f:id:r0371n:20200527184727p:plain

ファイルとはコンピューター上でデータを入れておく「入れ物」を意味します。

ファイルにはソフトウェアの命令が記述された「プログラムファイル」、ソフトウェアで扱うデータが格納されたファイルを「データファイル」と言います。

さらに、データファイルには台帳機能を持つ「マスタファイル」と取引記録機能をもつ「トランザクションファイル」があります。

以上が「用途別」のファイル分類です。「形式別」のファイル分類には文字データで格納される「テキストファイル」と2進数でデータが格納される「バイナリファイル」があります。

・フォルダ

ファイルの置き場所になるもので、階層構造になっています。

・バス

フォルダ名とファイル名をつなげたものです。

 

●テキストファイル

テキストファイルにはカンマやタブなどでデータを区切る「可変長ファイル」と、

データの長さ、桁数が決まっている「固定長ファイル」があります。

可変長ファイルの中でも区切りがカンマになっている物を「CSV形式」と言います。

また、テキストファイルでは文字情報が「文字コード」によって格納されています。

文字コードとはコンピュータの2進数と文字の対応づけを定義した物です。

文字コードには下記のものがあります。

ASCII:英数字を扱う基本的コード。

JIS:日本語の文字コードWindowsで使用されているのは「シフトJIS」。

EUCUNIXなどで使われる文字コード。日本語可。

Unicode世界の主要言語に対応したコード。

 

●バイナリファイル

バイナリファイルには画像、音声、動画のファイルがあります。

BMPWindowsで標準的に使われる画像ファイル。

JPEG:圧縮画像ファイル。画質を落として圧縮している。デジカメ画像などに使用。

GIF:JPEGはフルカラーなのに対して256色しか扱えない代わりに圧縮時画質は落ちない。WEBアイコンやイラストに使用。

PNG:GIFの機能を拡張したもの。

TIFF:記憶形式の異なる様々な画像を保存できるファイル形式。

MPEG:動画ファイルによく用いられる。

WAV、MP3:音声ファイルによく用いられる。

 

●データベース

データベースは複数の人でデータを共有するもので、データベースを管理するソフトウェアをDBMSと言います。データベース活用のメリットは複数人が同時作業できる事、データを一元管理できる事、セキュリティが向上することなどがあります。

・リレーショナルデータベース

現在一般的に使われているデータベースで、複数の表と、表の間の関係(リレーション)でデータを表します。

製品管理表を例にとると、製品別No.を「主キー」、製品名や価格、数量を「外部キー」と呼びます。主キーはその列の情報だけでデータを特定できるもの、外部キーはリレーションの参照元にある列を指します。リレーショナルデータベースを管理するソフトウェアRDBMSと言います。

●正規化

元のデータからリレーション別に表を分けることを「正規化」と言います。

上記の例であれば製品管理表から製品別価格一覧、製品別在庫数など細分化していくことです。

順序としてはまず繰返し項目(製品別No.)を分割する(第一正規化)、

主キーに従属する部分を分割する(第二正規化)、主キーから独立した部分を分割する(第三正規化)となります。

(社内全員で「製品管理表」にデータを入力すると、価格のみ入力すれば良い人、数量のみ入力すればいい人も入力内容が重複し、ズレやミスが発生しやすくなりますので、

正規化を実施し、自分の担当するデータのみの入力で済むようにすることでデータベース活用のメリットを享受しやすくなります。)

 

●データベーススキーマ

データベースの構造を定義したもので、「3層スキーマ方式」があります。

外部スキーマ:利用者(アプリケーション)から見たDB。

概念スキーマ:データの論理構造を定義するもの。

内部スキーマ:ハードディスク領域など記憶装置上の格納方法などを定義するもの。

 

SQL

SQLとはデータベースにアクセスする為の言語です。アプリケーションからデータベースにアクセスする為の言語とも言い換えられます。

SQLには管理用の言語「DDL」と操作用の言語「DML」に分かれます。

DMLにはSELECT、INSERT、UPDATE、DELETEの4種類があります。

・SELECT文

SELECT文はデータベースから欲しいデータを取り出す言語です。

構文は下記の通りです。

SELECT【列名】FROM【表名】WHERE【条件】