タグ

DBに関するkomajirou3のブックマーク (6)

  • 第7回 マスタ/詳細テーブルにおける更新処理

    連載目次 前回ではマスタ/詳細テーブルを参照する画面を作成し、さらにID番号をそのまま表示しているテキストボックスやDataGridViewコントロールの列を、顧客名や商品名で表示/設定できるコンボボックスに変更しました。 今回は、前回作成したサンプル・プログラム*1に機能を追加し、追加・更新・削除を行った注文データや注文明細データがデータベースに保存されるようにしていきます。この処理では2つのテーブルを同時に扱わなければならず、その整合性を保つために、処理するテーブルやデータテーブルの順番をよく考慮する必要があります。 ではプログラミングの前準備として、まずはリレーションシップの設定から行っていきましょう。 データセットにおける外部キー制約の設定 最初に、データセットに追加されている注文データテーブルと注文明細データテーブルの間のリレーションシップ(前回で「注文/注文明細リレーション」と

    第7回 マスタ/詳細テーブルにおける更新処理
  • 第12回 [データモデル編]ちょっとした工夫でER図は分かりやすくなる

    データモデルの構造が大体固まってきたら,細かい所を確認していかなければなりません。今回は,データモデルの細かいところをレビューで確認する際に有用な,ちょっとした工夫をご紹介しましょう。 発注者はレビューポイントを見失う データモデルのレビューでは,発注者がレビュー個所を見失いがちです。文章で書かれた設計書であれば,文章の流れに沿って説明し,時には章のタイトルや構成の切れ目で確認しながら,レビューを進めることができます。しかし,ER図という「一枚の絵」を説明する場合は,そういうわけにいきません。ただでさえ見慣れない表記法のER図の解釈に気を取られるうえ,どこからでも見ることができるER図の上で,発注者の視点はすぐ迷子になってしまいます。 このため,ER図のレビューの際には,発注者に対して「どこの議論をしたいのか」「どこが確認のポイントになるのか」を明らかにしたうえで,説明することが重要です。

    第12回 [データモデル編]ちょっとした工夫でER図は分かりやすくなる
  • DECLARE CURSOR (Transact-SQL) - SQL Server

    適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Transact-SQL サーバー カーソルの属性を定義します。これには、スクロール動作や、カーソルが操作する結果セットを作成するクエリなどが含まれます。 DECLARE CURSOR は、ISO 標準に基づく構文と、Transact-SQL拡張機能のセットを使用する構文の両方で指定できます。 Transact-SQL 構文表記規則 構文 ISO 構文: DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ_ONLY | UPDATE [ OF column_name [ , ...n ] ] } ] [ ; ] Transact-SQL

    DECLARE CURSOR (Transact-SQL) - SQL Server
  • Transact-SQL カーソル

    Transact-SQL カーソルは、主にストアド プロシージャ、トリガー、および Transact-SQL スクリプトの中で使用され、結果セットの内容を他の Transact-SQL ステートメントで使用できるようにします。 ストアド プロシージャやトリガーの中で Transact-SQL カーソルを使用する典型的な処理を以下に示します。 カーソルが返すデータを格納する Transact-SQL 変数を宣言します。結果セットの各列に 1 つずつの変数を宣言します。それぞれの変数は、対応する列から返される値を格納できるサイズが確保され、その列のデータ型から暗黙的に変換可能なデータ型で宣言します。 DECLARE CURSOR ステートメントを使用して、Transact-SQL カーソルを SELECT ステートメントに関連付けます。DECLARE CURSOR ステートメントでは、カーソル

    Transact-SQL カーソル
  • 対話型トランザクション処理の設計方法

    .NETエンタープライズWebアプリケーション 開発技術大全 ― エンタープライズWebアプリ開発に必要な知識と設計セオリー ― .NETエンタープライズWebアプリケーション 開発技術大全 Vol.5 トランザクション設計編 2005年3月22日発売! 記事は、日経BPソフトプレス/マイクロソフトプレスより2005年3月22日発行の書籍『.NETエンタープライズWebアプリケーション開発技術大全 Vol.5 トランザクション設計編』より、同社の許可を得てその内容を転載したものです。 同書はマイクロソフトのコンサルタントが執筆した.NETシステム設計/構築のための技術解説書で、全5巻で構成されています。 シリーズ最終巻となるこの第5巻では、大規模システムにおけるデータベース処理には欠かすことのできないトランザクション処理について、詳細かつ実践的に多くの図版を交えながら、全体を3部に分けて

  • MySQLのINSERT/UPDATE時におこる不整合対策 - LukeSilvia’s diary

    先日、作っているアプリケーションにバグが発生しました。バグの内容は次のようなものでした。 同時に存在してはいけないはずのデータが、DB に存在する 整合性のチェックはアプリケーションレベルで行っている 一意制約のような単純なものではないので、アプリケーションレベルで実装 整合性のチェックロジックは正しい これに対し、バグは次のような状況で発生したと仮説を立てました。 ユーザがレコードを一括登録しようとする 登録ボタンを押したがレスポンスが遅い この間、整合性チェックが走っている ユーザはもう一度登録ボタンを押した 2回目の登録の整合性チェックが走り始める 1回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックの間、DBにはまだ1回目の登録によるINSERTが実行されていないので、チェックを通過した 結

    MySQLのINSERT/UPDATE時におこる不整合対策 - LukeSilvia’s diary
  • 1