skillup

技術ブログ

Database

SQLServerについて

投稿日:

今までDB環境といえば、95%以上がMySQLで、残り5%がPostgreSQLでしたが、SQLServerに触ることに・・・

名前しか聞いたことなかったのですが、ここ1か月ぐらいで少し調べたことなどを・・

環境構築系

Dockerでやろうとおもってまして、実際にできないことはないのですが、GUIツールなどがいろいろと制限を受けるようで、仕方なく(?)PCにSQLServer本体と付属のGUIツールを。

SQLServer

https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads
上記ページからExpress版を選べばよいと思います。

インストール手順については下記を参考に。
SQL Server 2019 ExpressをWindowsにインストールする方法

SQL Server Manegement Studio

A5SQLがつながりはしたのですが、設定が悪いのか、作成したDBがみえなかったので、これを使うことに・・・標準のGUIツールのようです。PHPMyAdminよりは使いやすいです(笑)

SQL Server Manegement Studioの使い方・SQLの基礎を徹底解説!

ローカルのホスト情報について

localhostでいいのかと思いきや、インスタンスという概念があるため、「自分自身のPC名(システム情報のシステム名などで見れる情報)\SQLEXPRESS」がサーバー名になります。

プログラムで接続する場合もこれが必要です。

SQL Server Express SQL Server Management Studioで接続する方法

認証方式について

Windows認証とSQLServer認証という2つの認証方式があります。

Windows認証

内部でアクセストークンを発行しているようでセキュリティレベルは高いようです。ローカルPCで使う場合はユーザーやパスワード設定が不要です。

【SQL Server】データベース認証方式について(SQL Server認証とWindows認証)

SQLServer認証

ローカルホストの場合はsa(system administrator:スーパーユーザー的なアカウント)で入れます。パスワードを後ほど設定することになります。

SQLServer認証のユーザーを作成してみた

特殊な型など

  • varcharがあるが、マルチバイトはnvarcharという型が推奨。
  • auto_incrementはないが代わりにIDENTITYをつかうことで自動採番を設定できます。
  • textが非推奨(照合順序によっては使えないことあり)
  • 地形図データとしてgeometry(平面座標系)以外にgeography(空間座標系)があり、より正確

RDBMS のデータ型の比較

-Database

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SQL基礎 手続き型言語と集合思考の言語

どんな仕事でもそうだと思いますが、長年惰性で使っていると日常の作業はなんとかできてるけど、実は深く理解していない&効率のいいやり方を知らない、ということが結構あります。 私の場合、ちょっと前にCSSを …

no image

DBUtils活用 その2

以前DBUtilsの活用を書きましたが、他の使い方がわかったのでメモ 以前はSelectでList<エンティティ>を取得したのですが、List<Map>でも取得できます。 ソー …

no image

MySQLのマイグレーション(workbench使用)

以前cakePHPにてマイグレーションの手法を紹介したのですが、当然PHP以外をつかっていたり、PHPでもcakeを使っていなければこの方法は通用しません。 何か、汎用的にデータベースの構造の差分がチ …

no image

データベース設計のアンチパターン リトライ+バッチ分割+バッチの再利用不可

Contents1 リトライ1.1 デメリット1.2 対策2 バッチ分割2.1 デメリット2.2 対策3 バッチ再利用不可3.1 デメリット3.2 対策 リトライ ※OLTP=オンライントランザクショ …

no image

サブクエリの使い方

以前も少し学習しましたが、今回からはサブクエリの扱い方です。特に異なった行の比較(年度計算など)に関して行われる自己結合をつかったものが非常に強力です。 例によってここを学習しています。 下記のような …