sql >> データベース >  >> RDS >> Sqlserver

SQL Serverとは何ですか? (定義、バージョン、エディション)

    興奮した?それが、初日に新しいスキルを学ぶことの気持ちです。また、少し圧倒されることもあります。たくさんの質問があります。どこから始めればいいのかわかりません。 SQLServerを初めて学ぶことも同じように感じます。そして、それがこの記事の内容です。最初の重要な質問に答えます。

    準備はいいですか?

    SQL Serverの定義(MSSQLとは何ですか?)

    意味?意味?退屈に聞こえます。

    これは学習の最もエキサイティングな部分ではないかもしれませんが、私を信じてください。SQLServerを使い始めるときに理解する必要があります。このセクションでは、次の質問に対する回答を取得します。

    • SQL Serverとは何ですか? SQL Serverは何に使用されますか?
    • リレーショナルデータベース管理システム(RDBMS)とは何ですか?
    • SQL Serverデータベースとは何ですか?
    • データベーステーブルとは何ですか?

    Microsoft SQL Server(「続編サーバー」と発音)は、何十年にもわたって多くの企業で使用されている最も人気のあるデータベースの1つです。また、MSSQL、MS SQL Server、または単にSQLServerなどの他の名前とも一致します。これらのデータベースは、ビジネスを運営するための関連情報を保存するために使用されます。

    これは、Microsoftの主力データベースです。 Windows、Linux、Mac(Docker経由)で動作します。 Azure、AWS、GoogleCloudを介してクラウドで使用することもできます。

    しかし、今日では300を超えるデータベースがあります。これは、情報を保存するためのかなりの数の製品です。最も人気のあるものは、リレーショナルデータベース管理システム(RDBMS)です。そして、これがSQLServerの所属先です。

    RDBMS 構造化照会言語の略であるSQLを使用して、データの取得、挿入、更新、および削除を行います(主に)。 SQL Serverは、SQLの拡張機能であるT-SQLを使用してデータベースと対話します。これについては後で説明します。

    しかし、それを使用することでどのようなメリットがありますか?

    • 管理者、開発者、またはデータアナリストとして有望なキャリアをお楽しみください。
    • 企業がアプリの情報を保存および管理するための信頼性が高く、スケーラブルで安全な方法を利用できるように支援します。
    • MS SQLには、さまざまなユーザーフレンドリーなツールがあります。その1つが、Microsoftの無料ツールであるSQL Server Management Studio(SSMS)です。

    MSSQL Serverの用途は何ですか?

    MSSQL Serverは、データを効率的かつ安全に保存および管理します。そして、それはどのように行われますか?

    他のリレーショナルデータベースと同様に、SQLServerデータベース それぞれに共通のデータによって関連付けることができるテーブルに編成されています。一方、テーブル 列と行に編成されています。 SQLは、データベースとテーブルを作成するために使用される言語でもあります。

    非常に一般的な例を見てみましょう。このようにして、MSSQLServerの使用方法についても理解できます。

    電話帳

    電話帳が何であるか誰が知らないのですか?私たちのスマートフォンには名前があります。これらの名前には、1つ以上の電話番号を含めることができます。 1つ以上のメールアドレスやその他の情報を電話帳の名前にリンクすることもできます。

    そして、それは話の終わりではありません。

    一部のsmartyパンツは、電話帳を一部のサーバーにオンラインで同期する方法を発明しました。そのため、電話をリセットしたり、新しい電話を購入したりする必要がある場合でも、連絡先が完全に失われることはありません。すごいです。

    それがデータベースの力です。スマートフォンですべてを再入力する必要はありません。

    このようなMSSQLServerデータベースを作成する場合は、3つのテーブルが必要です。連絡先の名前、電話番号、メールアドレスです。

    しかし、なぜ3つのテーブルなのか

    その答えは、MSSQLServerを含むリレーショナルデータベースでテーブルがどのように設計されているかにあります。スマートフォンを購入する前は、連絡先を電話帳に保存していました。

    連絡先 電話番号
    請求書(自宅) 546-9999
    請求書(作業) 659-4545
    ジェーン 655-4576
    トニ(自宅) 455-7979
    トニ(仕事) 655-8877

    ビルはたった一人で、トニもそうです。ただし、番号が2つあるため、名前を繰り返す必要があり、メールアドレスを保存することはできません。しかし、今日では、連絡先情報の保存方法が異なります。

    連絡先 電話番号 メール
    請求書 546-9999 [email protected]
    659-4545 [email protected]
    ジェーン 655-4576 [email protected]
    トニ 455-7979 [email protected]
    655-8877

    名前を入力する必要があるのは1回だけです。次に、番号、メールアドレス、勤務先アドレス、メモなどを追加します。

    したがって、私たちのデータベースでは、連絡先の名前にはBill、Jane、Toniが含まれます。それが私たちの最初のテーブルです。次に、電話番号と電子メールアドレスは別々のテーブルにあります。しかし、それらは上の表のように配置された方法で関連しています。

    ポイントは何ですか?

    ストレージスペースを節約するために同じ情報が繰り返し保存されることはありません 。これが、SQLServerのようなリレーショナルデータベースがデータの操作を簡素化する方法です。とてもいいです!

    そのため、SQL Serverは、金融、健康、サービス、製造などの業界で信頼されています。また、GartnerPeerInsightsの5つ星レビューのうち4.5もあります。

    MicrosoftSQLServerエディション

    知っておくべきSQLServerのエディションはいくつかあります。また、不要な機能を備えたエディションを使用できなくなり、コストとリソースを節約できます。

    各エディションには、システム要件、制限、および価格があります。ただし、すべてのエディションは64ビットプロセッサのみをサポートします。学習者の方は、無料版をお探しかもしれません。

    SQL Serverにはいくつかのエディションがありますが、1台のマシンに異なるバージョンとエディションをインストールできます。これは最大50インスタンスまで実行できます。あなたが私に尋ねれば、完全に正気ではありませんが、それは許されています。それでも、それを実現するには非常識なリソースが必要です。

    とにかく、ここにSQLServerのさまざまなエディションがあります。

    SQL Server Enterprise Edition

    このエディションを説明する一言:PREMIUM。

    これは、ハイエンドデータセンター向けの最もフル機能のエディションです。これらのデータセンターには、超高速のパフォーマンスとエンドツーエンドのビジネスインテリジェンスが必要です。したがって、このエディションは、ミッションクリティカルなワークロードに対する高いサービス要求を可能にします。このエディションでは、データベースの最大サイズと計算能力も得られます。

    パフォーマンスと機能対価格についてもっと心配しているなら、これはそれです。しかし、学習しているだけなら、これはやり過ぎです。

    SQL Server Standard Edition

    SQL Server Standard Editionは、基本的なデータ管理とビジネスインテリジェンスを提供します。これは、中小規模の組織に適用でき、ITリソースが最小限の組織にも適しています。

    Standard Editionでは、データベースの最大サイズも取得できます。ただし、コンピューティング容量はエンタープライズエディションと比較して削減されています。

    SQL Server Web Edition

    これは、小規模から大規模のWebプロパティにSQLServerを使用したいWebホスティング業者向けの低総所有コストオプションです。 Web Editionでは、データベースの最大サイズも取得できます。ただし、計算能力はStandardEditionと比較して減少しています。機能と機能も削減されます。

    SQL Server Developer Edition

    これもEnterpriseEditionのようにフル機能です。ただし、展開は開発環境とテスト環境に限定されています。

    このエディションは無料で、初心者にもプロにも理想的です。ダウンロードして、デスクトップまたはラップトップにインストールできます。次に、学習を開始するか、それを使用してプロジェクトを作成します。

    SQL Server Express Editions

    エントリーレベルのデータ駆動型アプリのもう1つの無料版は、ExpressEditionです。データベースサイズは最大10GBのみです。追加するメモリの量に関係なく、使用されるRAMも最大1GBです。計算能力は4コアに制限されています。

    ただし、他のエディションの機能が必要な場合は、シームレスなアップグレードが可能です。

    LocalDBと呼ばれるExpressEditionの別のバージョンは軽量です。また、ゼロ構成のインストールがあり、前提条件が最も少なくなっています。

    T-SQLとは何ですか?

    T-SQLは、SQLのSQLServer言語実装です。プログラミング目的で標準SQLの拡張機能を提供します。 Transact-SQLまたはTransact構造化クエリ言語とも呼ばれます。

    これは、スクリプト、ストアドプロシージャ、関数、およびトリガーでSQLコマンドをプログラミングするために使用されます。 T-SQLの研究を進めるにつれて、これについてさらに学ぶことができます。

    T-SQLと標準SQLのプログラミングの顕著な違いの1つは、エラー処理です。プログラミングでは、コードで予想されるエラーを処理することがベストプラクティスです。コードは実行時に壊れることはなく、データにあらゆる種類の問題が残ります。

    T-SQLでのエラー処理の例を次に示します。

    BEGIN TRANSACTION
    
    BEGIN TRY
      INSERT INTO Table1
      (StringColumn, IntegerColumn)
      VALUES
      'sample text',100; 
    
      -- commit the changes upon successful insert
      COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
      -- rollback changes on error
      ROLLBACK TRANSACTION;
    END CATCH
    

    TRY-CATCHブロックは、エラー処理に関するT-SQL拡張機能です。上記のコードでは、トランザクションが開始されます。次に、 Table1に値を挿入しようとします。 。成功すると、トランザクションがコミットされます。挿入されたデータは、 Table1でも永続的になります。 。ただし、エラーが発生すると、CATCHブロックで実行が続行されます。そして、トランザクションはロールバックされます。

    4つの異なるグループの言語構成を使用してT-SQLクエリまたはコマンドを作成できます。これについては次に説明します。

    DDL、DML、DCL、およびTCLとは何ですか?

    4つのグループがTransact-SQLコマンドを定義します。それぞれを定義しましょう。

    DDL、またはデータ定義言語

    DDLには、データベースおよびデータベースオブジェクトを作成、変更、および保守するためのコマンドが含まれています。それらのいくつかを次に示します。

    • CREATE DATABASE –新しいデータベースの作成とデータベースオプションの定義に使用されます。
    • ALTER DATABASE –データベースのプロパティと設定を変更するために使用されます。
    • DROP DATABASE –データベースの削除に使用されます。
    • CREATE TABLE –新しい列を持つ新しいテーブルを作成するために使用されます
    • ALTER TABLE –テーブルの構造と列を変更するために使用されます。
    • DROP TABLE –テーブルの削除に使用されます。
    • CREATE INDEX –インデックスの作成に使用されます。各テーブルには、レコードをより高速に検索するための1つ以上のインデックスを含めることができます。

    DML、またはデータ操作言語

    DMLには、テーブルからレコードを取得するコマンドと、新しい行を挿入したり、既存の行を更新したり、行を削除したりするコマンドが含まれています。それらのいくつかを次に示します。

    • SELECT –テーブルから行を取得する必要がある場合に使用されます。
    • INSERT –テーブルに新しい行を追加する必要がある場合に使用されます。
    • UPDATE –テーブル内の既存の行の値を変更する必要がある場合に使用されます。
    • DELETE –テーブルの行を削除する必要がある場合に使用されます。

    DCL、またはデータ制御言語

    これには、データベースを保護し、データベースオブジェクトにアクセスするためのアクセス許可を付与および取り消すコマンドが含まれます。それらのいくつかを次に示します。

    • GRANT –データベース内のユーザーまたはロールにユーザー特権を許可するために使用されます。
    • 拒否–データベースオブジェクトに対してコマンドを実行する際のユーザーまたはユーザーロールを禁止します。
    • REVOKE –データベース内の既存のユーザーまたはロール特権を削除します。

    TCL、またはトランザクション制御言語

    上記のサンプルコードから、ほとんどのTCLコマンドを見てきました。ここに再びあります。

    • BEGIN TRANSACTION –トランザクションを開始します。データベースオブジェクトの変更は、COMMITTRANSACTIONが行われるまで保存されません。
    • COMMIT TRANSACTION –BEGINTRANSACTIONの後に行われたデータベースオブジェクトのすべての変更を永続的に保存します。
    • ROLLBACK TRANSACTION – BEGIN TRANSACTIONの後に行われたすべての変更を、何も起こらなかったかのようにキャンセルします。

    SQLServer最新バージョン

    執筆時点では、最新バージョンはMicrosoft SQL Server 2019またはバージョン15です。リリース日は2019年11月4日でした。システム要件の詳細については、公式ドキュメントを確認してください。次に、ここから最新バージョンをダウンロードできます。

    異なるセットアップから選択する場合は、クラウドまたはオンプレミスを選択できます。または、SQLServerの最新バージョンの無料版をダウンロードします。

    インストーラーには、 SQL Server Management Studio(SSMS)のダウンロードも含まれます。 。執筆時点でのSSMSの最新バージョンは18.9.2です。これはWindowsで機能します オペレーティングシステム。

    LinuxでSQLServerを学習したい場合 またはMac AzureDataStudioが必要です。 これはダウンロードページからも入手できます。

    以下のSQLServerダウンロードページを参照してください。

    SQLServer2019の概要

    初心者向けチュートリアルのすべての例でこれを使用します。 SQL ServerExpress2019またはSQLServer2019DeveloperEditionから選択できます。これらのエディションの無料ライセンスをお楽しみください。次回の記事では、これらを段階的にインストールする方法を学習します。

    スクリーンショットは、SQL ServerManagementStudioを使用してWindowsマシンからキャプチャされます。

    では、SQL Server 2019の新機能と更新は何ですか?

    パフォーマンス

    • 永続メモリのサポート。これは、標準のDIMM(メモリ)スロットに収まるタイプの不揮発性メディアです。標準のRAMとは異なり、停電やシステムのシャットダウン後も情報は残ります。
    • 以前のバージョンと比較してクエリをより高速に実行するためのインテリジェントクエリ処理の改善。
    • メモリ内のサポートTempDB TempDB クエリを遅くするボトルネックの1つです。 RAMで動作させると、以前のバージョンと比較してクエリが高速になります。

    セキュリティとコンプライアンス

    • データの検出と分類は、テーブルの列を機密データ(メールアドレス、電話番号など)としてラベル付けできるようにする新機能です。これにより、管理者はデータ監査を改善してこの情報を保護することもできます。
    • 安全なエンクレーブで常に暗号化されるデータ暗号化の改善。これにより、機密データを保護するための幅広い機能セットが可能になります。

    開発者およびDBAツール

    • Azure Data Studioは、LinuxおよびMacで実行されるSQLServer用のツールを持つために導入されました。また、SQL Serverの他に、AzureにデプロイされたPostgreSQLとMySQLを管理することもできます。
    • PolyBaseの改善。これにより、SQLServer内からリレーショナルデータと非リレーショナルデータをクエリできます。 MS SQL 2019では、Oracle、PostgreSQL、MongoDB、Teradata、およびODBC準拠のデータソースにアクセスできるようになりました。
    • グラフデータベース、UTF8 Unicodeサポート、および空間データの改善。
    • Javaなどの外部言語をSQLServerから実行できるようにするSQLServer言語拡張機能。

    OSとコンテナ全体の選択

    • PolyBase、MS DTC、機械学習、レプリケーションなどのSQLServerコンポーネントがSQLServerforLinuxで利用できるようになりました。
    • Ubuntuベースのコンテナに加えてRedHatEnterpriseLinuxベースのコンテナのサポート。

    その他のSQLServerバージョンリスト

    SQL Server 2019は、2030年1月8日までサポートされています。一方、引き続きサポートされている以前のバージョンのリストは次のとおりです。

    SQLServerバージョン サポートされるまで(MM / dd / yyyy)
    SQL Server 2017 2027年10月12日
    SQL Server 2016 07/14/2026
    SQL Server 2014 07/09/2024
    SQL Server 2012 2022年7月12日

    詳細および更新された情報については、こちらのMicrosoftライフサイクルページにアクセスしてください。

    Microsoftは、SQLServerを開発するときにコードネームも使用します。既知のコードネームのリストは次のとおりです。

    SQLServerのバージョン/バージョン番号 コードネーム
    2019(バージョン15) シアトル
    2017(バージョン14) ヘルシンキ
    2016(バージョン13) SQL 16
    2014(バージョン12) SQL 14
    2012(バージョン11) デナリ
    2008 R2(バージョン10.5) キリマンジャロ
    2008(バージョン10) カトマイ
    2005(バージョン9) ユコン
    2000(バージョン8) Shiloh

    SQLServerのバージョンとエディションを確認する方法

    これらのデータを2つの簡単な方法でチェックして、PCにインストールされているSQLServerがこの例で使用するものであることを確認できます。どちらの場合も、SSMSをインストールする必要があります。

    まず、入力するのが好きな人のために、新しいクエリを開きます SSMSのウィンドウと次のように入力します:

    SELECT @@version;

    次に、実行をクリックします ツールバーのボタンをクリックするか、 Ctrl-E を押します 。これが私のPCでの出力です:

    Microsoft SQL Server 2019 (RTM-CU12) (KB5004524) - 15.0.4153.1 (X64) 
    	Jul 19 2021 15:37:34 
    	Copyright (C) 2019 Microsoft Corporation
    	Developer Edition (64-bit) on Windows 10 Home Single Language 10.0 <X64> (Build 19043: )
    

    どうぞ。鉱山には最新の累積アップデートがあるため、バージョンは15.0.4153.1です。これはDeveloperEditionです。

    バージョンとエディションを知るもう1つの方法は、入力したくない人向けです。手順は次のとおりです。

    1. オブジェクトエクスプローラー SSMSの場合は、サーバーを右クリックします。
    2. プロパティを選択します 。
    3. サーバーのプロパティ ウィンドウで、製品を探します およびバージョン プロパティ。

    サーバーのプロパティの場合 、以下のステップ3のスクリーンショットを参照してください。

    要点

    Microsoft SQL Serverは、最高のリレーショナルデータベースの1つです。これは、データを開発および管理するためのキャリアの機会を開きます。また、SQL全般を学ぶための良い出発点でもあります。

    あらゆるビジネスニーズに適合するいくつかのエディションがあります。ただし、学習者の場合は、DeveloperEditionが最適です。今すぐダウンロードできます。次の記事では、ダウンロードしたインストーラーのインストールについて説明します。


    1. MySQLでのMID()関数のしくみ

    2. SELECTリストがGROUPBY句に含まれておらず、集計されていない列が含まれています.... sql_mode=only_full_group_byと互換性がありません

    3. docker-composeupの後にPostgresダンプをロードします

    4. タクシーサービスのデータベースモデル