SQL Server パーティション関数における RANGE LEFT と RANGE RIGHT の動作比較
SQL Server でテーブルパーティショニングを実装する際、CREATE PARTITION FUNCTION で指定する RANGE LEFT と RANGE RIGHT の違いを理解することは、データの正確な振り分けにおいて非常に重要です。これらは、定義した境界値(Boundary Value)がどのパーティションに属するかを決定します。
1. RANGE LEFT の動作
RANGE LEFT を指定した場合、境界値はその値以下のグル ...
9月24日 01:21 投稿
SQL ServerのHierarchyIDによる階層データ管理
階層構造を持つデータを効率的に扱うため、SQL Serverではhierarchyid型が提供されている。この型は可変長で、ツリー構造内のノードまでのパスを格納する。値の生成と割り当てはアプリケーション側で行い、親子関係を構築する。
hierarchyidは深さ優先順序での比較をサポートする。2つの値xとyについてx < yは、深さ優先探索時にxがyより先に到達されることを意味する ...
9月19日 02:14 投稿
T-SQLデータベース操作の基礎と応用
データベースの作成
SQL Serverで新しいデータベースを作成するには、CREATE DATABASE文を使用します。主ファイルとログファイルの両方を明示的に定義できます。
CREATE DATABASE SampleDB
ON PRIMARY (
NAME = 'SampleDB_Data',
FILENAME = 'C:\Data\SampleDB.mdf',
SIZE = 5MB,
MAXSIZE = 30MB,
FILEGROWTH = 5%
)
LOG ON (
NAME = 'SampleDB_Lo ...
7月21日 02:04 投稿
SQL ServerからC#エンティティクラスを自動生成するT-SQLスクリプト
SQL Serverの既存テーブルから、C#のPOCOモデルクラスを効率的に生成するための汎用T-SQLスクリプトを提供します。このスクリプトは、システムカタログビューを活用してカラム名、データ型、NULL許容性、および拡張プロパティ(コメント)を抽出し、整形されたC#コードを出力します。
以下のスクリプトを実行する前に、対象テーブル名を変数 @TargetTable に設定してくだ ...
7月17日 19:58 投稿
SQL Serverのデータベース管理に不可欠なシステムビュー一覧
メタデータ参照とシステムビューの役割
SQL Serverでは、データベース内部の構造、セキュリティ設定、実行中のクエリ状態を把握するために sys スキーマが提供するシステムビューを参照します。これらのビューは、従来のレガシーテーブルよりも構造化されており、スキーマ設計の確認やパフォーマンスチューニングの基盤として不可欠です。
オブジェクト構成と列情報の取得 ...
7月10日 18:21 投稿
SQL Server および Oracle のスキーマ情報取得手法
SQL Server スキーマ取得
全データベース取得
USE MASTER
DECLARE @policy_enabled BIT
SET @policy_enabled = (
SELECT CONVERT(BIT, current_value)
FROM msdb.dbo.syspolicy_configuration
WHERE name = 'Enabled'
)
SELECT
db.name AS [DBName],
'Server[@Name=' + QUOTENAME(CAST(SERVERPROPERTY(N'Servername') AS SYSNAME), '''') + ']' +
'/Databa ...
7月3日 23:58 投稿
Microsoft SQL Server カスタム関数コレクション
SQL Serverには、開発者が日常業務で頻繁に使用する多くの処理をカスタム関数として実装できる柔軟性があります。ここでは、実用的なカスタム関数をコレクションとしてご紹介します。これらの関数は文字列操作、日時処理、データ変換など多岐にわたり、データベース開発の効率化に役立ちます。文字列処理関数文字列操作はデータ処理の基本です。以下に代表的な文字列処理関 ...
6月1日 00:41 投稿
SQL ServerにおけるUNIQUE制約の定義とPRIMARY KEYとの使い分け
単一列へのUNIQUE制約の適用
SQL Serverでテーブルを作成する際、特定のカラムの値を一意に保つ必要がある場合、UNIQUEキーワードをカラム定義に追加します。これにより、データベースエンジンはそのカラムに重複する値が挿入されることを防ぎます。
CREATE TABLE AppUsers (
UserID INT IDENTITY(1,1) PRIMARY KEY,
LoginName NVARCHAR(100) UNIQUE,
Role VAR ...
5月29日 18:13 投稿
SQL Serverにおけるビューインデックスの実装手法
SQL Serverのビューは保存されたT-SQLクエリであり、仮想テーブルとしてクエリを簡素化しセキュリティ層を追加します。ただし、インデックス作成には物理的実体が必要なため、標準ビューへの直接的なインデックス付与は不可能です。
インデックス付きビューの特性
SQL Server 2000以降で利用可能なインデックス付きビューは、データベース内に実体化(マテリアライズ)さ ...
5月16日 20:33 投稿