よつやTips

元IT技術者がおくる情シス超入門:VB.NET / SQLServer / 弥生製品 / ひとり情シス

【備忘】SQLServerで文字列に全角カナ・半角カナを区別させるには。

半角が含まれてるかどうかの比較なら、バイト数で全角と半角の比較をすればかんたんに出来ますが、もう一種、比較の場合について。

www.yotsuyatips.com

SELECT *
  FROM [TableName] WITH(NOLOCK)
 WHERE ([FieldName] LIKE '%[ア-ン]%' COLLATE Japanese_BIN)

これでもイケちゃうというやつです。

SQLServerでは通常、全角と半角の区別を付けてくれないのですが、CALLATE句を利用することによって、照合順序を変更することができます。

詳細はこの辺を参考にどうぞ。↓

Windows 照合順序並べ替えスタイル

超初心者向け!SQLServerデータベースの構造

こんにちは。暑くて外に出る気がしない四ツ屋です。

今日はSQLServerのデータ構造の基本をさらっとお伝えしますね。
夏なのでさらっと……
 
1.データベース
2.テーブル
3.カラム(列)
4.レコード(行)
5.フィールド
 
これだけ覚えておけばとりあえずは大丈夫です。
 
■データベース構造の中身について
 
1.データベースについて
アプリケーションソフトのデータを格納する「箱」のようなものです。
システムの構造によって、データベースの構造は変わります。
例えば、アプリケーションとデータベースは1:1には限りません。
たとえば、会社内で同一の商品マスタを複数の部署が参照し、その部署ごとに出荷管理システムが存在する場合、1つのアプリケーションで複数のデータベースを参照することもありますね。
複数のテーブルの集まりが「データベース」です。
 
 
2.テーブルについて
では、データベースの中身「テーブル」についてです。
データベースがエクセルファイル本体だとすると、テーブルとは表、ワークシートのようなものです。
テーブルはそれぞれ、格納する内容によって名前をつけ、その中身が分かるようになっています。
 
ひとつのテーブルに何でもかんでも入れればいいというわけではないので、データの種別ごとにテーブルが分けられるように設計されるのが通常です。
 
 
3.カラム(列)
テーブルの構造は設計・開発時に決められ、後から変更する場合には注意が必要です。
アプリケーションでデータの登録・更新をするなどの場合に、データベース側だけ変更がかかっていると、エラーになることがあるためです。
そのため、データベースのカラムを追加・削除したり、変更したりする場合には、アプリケーションの利用を止めることがあります。
 
カラムとは、テーブルの「列」のことです。
分かりやすく「住所録」で例えると、名前、住所、電話番号など、どの情報を格納するか、が決められています。
また、カラムごとに、どのようなデータの形式かを格納するかも決めます。
この形式のことを「データ型」といいます。
たとえばエクセルではセルごとにフォーマットを「文字列」や「数値」「日付」などを設定することができますが、SQLServerではカラムごとに決めています。
エクセルのようにセルごとにデータ型を変えることはできません。
 
4.レコード(行)
レコードとは、テーブルの「行」のことです。
テーブルという「表」において、カラムが列、レコードが行ですね。この概念が非常に重要です。
 
レコードは、アプリケーションの操作や、クエリによって新規登録、更新、削除を行うことができ、その場合、カラムとは異なり、追加・変更をする場合にも特にデータベースの構造が変わる訳ではありません。
 

f:id:yotsuya_yz:20170712235620p:plain


(図)カラムとレコード、テーブルの説明図です。
 
5.フィールド
フィールドとは、上記の図でいうところの各セルを指します。
例えばデータベース上で一つのフィールドの値を特定するには、どのレコードのどのカラムか、ということがわかれば特定ができます。
フィールドに入る値は、カラムで設定した書式に基づいた値を格納しています。
 
 
■正規化とは?
先程、テーブルの説明で「何でもかんでも入れればいいというわけではない」と書きました。
 
例えば、サイトで会員登録したユーザー情報と、その会員のサイトでの購入履歴は同じテーブルに格納することは基本しません。
まったく用途が異なるものだからです。
そういった場合は、ユーザーのIDだけを、購入履歴側のテーブルに格納することによって、どのユーザーがいつ、何を購入しているのかが分かるようになります。
 
どこまで同じテーブルに入れ、どれを異なるテーブルに格納するかは、アプリケーションの設計によりますが、要は、効率よくデータベースを管理するか?ということにあります。
 
正規化は詳しくやるとものすごくめんどうくさいので、もっと教えろよ四ツ屋!という方は、こういうサイトをご覧頂くといいかなと思います。
 

 

www.fellow-ship.com

超初心者向け!SQLServerとは?わかりやすく解説

こんばんは。四ツ屋です。 毎日あつくてへばりそうです。 

本日は手始めに、SQLServerについて少し話をしたいと思います。

まずは概要から、ざくっと説明していこうと思います。

 

 

SQLServerとは?

SQLとか、サーバーとか。システムに触っているとよく見かける単語かと思います。

SQLServerとは、Microsoftから出ている、データベースの管理システムを指します。

同様のものは、OracleMySQL、Postgreなどがありますね。

こちらで紹介をしていくのはMicrosoft SQL Serverとします。

データベース(以下、DB)というのは、平たくいえばデータ(情報)を入れる箱のことです。

実態はmdfファイルという、ファイルの中にデータが収められています。

この中身にデータを入れたり、データを取り出したり、更新したりするのです。

 

■何を入れておくの?

基本的には、結構何でも入っちゃいます。

文字、数値、日付なんかが一番よく使われますね。

補足ですが、データベースにはそれぞれ「データ型」(かた、と読みます)が決まっていて、どこにどんな型のデータを入れるかは、データベースの構造を決めるときに、管理者が設計します。

 

例えば、エクセルも各セルごとに、書式を「文字列」や「数値」「金額」などに設定すると、¥マークがついたりしますよね。データベースでは、それが列ごとに決められていると思えば、想像がつくでしょうか。

 

■実際、どんな風に使われるの?

アプリケーションから、入力したデータや計算されたデータを、データベースに格納します。

最も基本的な構文はこの4つだけです。

SELECT(抽出)

INSERT(新規登録)

UPDATE(更新)

DELETE(削除)

意外と少ないと思われそうですが、こんなものだったりします。

あとは、データが入っているテーブルをあれこれいじったりする構文もありますが、基本のデータやりとりはこれだけ覚えておけば間違いないです。

 

■管理用のアプリケーションについて

データベースの作成や、中身のデータを見るには、じゃあどうしたらいいの?

という話になりますよね。大丈夫です。Microsoftさんですから、ぬかりないですね。

 Microsoft SQLServer Management Studio (ばばーん!)

というソフトがあります。

大事なことなので赤くしました。(笑)

 

SQLServerもアプリケーションですが、こちらはデータベースを管理するアプリケーションです。

アプリケーションとのやりとり以外は、ManagementStudioで、ほとんどのことができてしまいます。

次回は、環境の構築方法をお話しします!