タグ

databaseに関するwittのブックマーク (165)

  • SQL*Plusメモ(Hishidama's sqlplus for Oracle9i Memo)

    sqlplusの起動(オプション) [/2008-02-20] exp・imp [/2008-12-17] WindowsSQL*Plus [/2008-01-13] 起動時実行SQL [2006-11-21] SQL*Plusのコマンド [/2008-08-23] 起動 sqlplusの引数にユーザー名を指定すると、そのユーザーでログオン(接続)する。[2008-02-20] ユーザーの指定形式は「ユーザー」「ユーザー/パスワード」「ユーザー/パスワード@接続名」「ユーザー@接続名」等。 パスワードを指定していない場合は別途パスワードの入力が求められる。 接続名(サービス名)を省略した場合はデフォルトの接続先になる。 存在しないユーザーだったりパスワードが違ったり接続名が認識できなかったり間違っていたりするとエラーとなり、再度ユーザー名とパスワードの入力が要求される。(-Lオプションを

  • SQL*Plus - オラクル・Oracle SQL*Plus リファレンス

    オラクル1年生のための SQL*Plus の使い方:SQLPlus のコマンド一覧とシステム変数一覧などの入門者向け情報:SQL*Plusの起動、使用できるオプション、終了方法、外部のSQLファイルの実行の仕方、パラメータの渡し方、SQLPLUS コマンド一覧を使用例付きで紹介

  • SQL*Plus Guide Book

    データベースから一度に取り出すデータ列の数(バッチ)を設定する。1〜5000の値を設定できる。大きい値を設定すると、問合せや副問合せの効率が上がり、多くのデータ列を取り出すことができるが、その場合はメモリー容量が大きくなければならない。なお、値がほぼ100以上になると、パフォーマンスにはほとんど差がなくなる。ARRAYSIZEはSQL*Plusの動作結果にはまったく影響せず、単に効率を高めるだけの機能である。 [補足] 現在のマシンでの能力では特に必要はないが、データ量が多いテーブルを操作するときメモリ 不足になることがある。その場合、処理スピードが多少犠牲になるが正常に実行させるために 「set array 2」を指定するとよい。 Oracleにおいてデータベースに対する保留中の変更をコミットするタイミングを制御する。 ONにすると、INSERT、UPDATE、DELETEコマン

  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
  • データベースsqlite3.dllをVC++から使う

    SQLiteは、フリーソフトとして公開されているファイルベースのデータベースです。Webプログラミングの世界でも、PHP5に標準で入るようになって気軽に使えるようになって来ました。 このSQLiteは、ソースやdll版が公開されているので、自由に自分のプログラムに組み込むことができます。特別なインストールや設定も不要で、データベースのファイルを作成したり開いたら、後はSQLのコマンドでテーブルを作成したりデータを格納し、またデータを検索することが可能。大掛かりなデータベースシステムというより、ファイルをSQLのインターフェースで簡単にデータベースとして扱えるファイル処理用ライブラリ、といった感じですね。 今回は、SQLiteのdllをVC++から使ってみましょう。 まず、公式サイトのダウンロードページからWindows用のsqlite3.dllとソースファイルをダウンロードします。続いて、

  • SQLite バージョン 3 の C/C++ インターフェース

    [ 索引 | 原文 ] #define SQLITE_OK 0 /* 成功 */ #define SQLITE_ERROR 1 /* SQL エラーまたはデータベースが見つからない */ #define SQLITE_INTERNAL 2 /* SQLite 内部ロジックエラー */ #define SQLITE_PERM 3 /* アクセス権がない */ #define SQLITE_ABORT 4 /* コールバックルーチンが abort を要求した */ #define SQLITE_BUSY 5 /* データベースファイルがロックされえいる */ #define SQLITE_LOCKED 6 /* データベースのテーブルがロックされている */ #define SQLITE_NOMEM 7 /* malloc() に失敗した */ #define SQLITE_READONLY

  • SQLite Tutorial

    Copyright (c) 2004 by Mike Chirico mchirico@users.sourceforge.net This material may be distributed only subject to the terms and conditions set forth in the Open Publication License v1.0, 8 June 1999 or later. The latest update of this document . Updated: Thu Jan 11 17:35:19 EST 2007 This article explores the power and simplicity of sqlite3, starting with common commands and triggers. It then cove

    witt
    witt 2009/02/12
    英語版の本家
  • MySQLで使えてSQLiteで使えないSQL文 - public static void main

    とあるWebアプリケーションを正月休みの間開発していたのですが、諸般の事情により最初に使っていたMySQLからSQLiteに切り替えることになりました。 その際に、いくつかSQLを変更する必要があったので、SQLiteMySQLで使える文の違いをメモしておきます。 CREATE TABLE文 AUTO_INCREMENT IDなどでよく使うAUTO_INCREMENTですが、SQLiteではこれを付けると構文エラーになります。 では、どのようにAUTO_INCREMENTを実現するかというと、 CREATE TABLE hoge( id integer PRIMARY KEY ); というinteger型でプライマリキーのカラムに、 INSERT INTO hoge(id) values(null); と入れればオートインクリメントされます。 0を挿入するとMySQLだとインクリメントさ

    MySQLで使えてSQLiteで使えないSQL文 - public static void main
  • http://www.3rd-impact.net/

    witt
    witt 2009/02/11
    公式サイトを翻訳した文書
  • SQLiteで組み込みDB体験(2007年版)

    はじめに 1年前、長久 勝さんのアーティクル:「SQLiteで組み込みDB体験」が掲載されました。そこではSQLite3.3.5をコマンドラインからビルドし、ライブラリを生成する方法が解説されています。 今やSQLiteのバージョンは3.3.16(2007年4月20日現在)まで上がっています。この最新版SQLiteをVisual C++ 2005 Express Edition(以下、VC8EE)のIDE上でビルドする手順を解説します。 対象読者 格的なDBを使うまでもない、小さなアプリケーションでお手軽にDBを使ってみたいんだけど……なプログラマ 必要環境 Visual C++ 2005 Express EditionもしくはVisual Studio 2005 SQLite version 3.3.16 step-1:ダウンロード、ともかくビルド まずはソースを入手しましょう。SQL

    SQLiteで組み込みDB体験(2007年版)
  • プログラミング:moon Gamer

  • インデックスの基礎知識

    ■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲

  • さらに分かっておきたいトランジスタの種類 − @IT MONOist

    コロナ禍明けで以前の賑わいが戻ってきた「2023国際ロボット展(iREX2023)」。稿では、サービスロボットゾーンの展示を中心にレポートする。近年の目玉になっている川崎重工業の2足歩行ロボット「Kaleido」はさらに進化を遂げ、人機一体による“魔改造版”も登場。サンドイッチマンならぬ「サンドイッチロボ」も注目を集めた。

  • トランザクションの管理

    4 トランザクションの管理 この章では、トランザクションを定義し、トランザクションを使用して作業を管理する方法について説明します。 この章の内容は、次のとおりです。 トランザクションの概要 トランザクション管理の概要 自律型トランザクションの概要 トランザクションの概要 トランザクションは、1つ以上のSQL文を含む論理作業単位です。トランザクションはアトミック(基)な単位です。つまり、トランザクション内のすべてのSQL文は、すべてコミット(データベースに適用)されるか、すべてロールバック(データベースから取消し)されるかのどちらかになります。 トランザクションは、最初の実行可能なSQL文から開始します。トランザクションは、COMMIT文またはROLLBACK文を使用して明示的に、またはDDL文を発行して暗黙的にコミットまたはロールバックされた時点で終了します。 トランザクションの概念を具

  • SQL*Plusの基本

    witt
    witt 2008/09/19
    オートコミット(autocommit)について
  • ロックでOracleのデータを守り、競合を防ぐ

    ロックでOracleのデータを守り、競合を防ぐ:ORACLE MASTER Silver DBA講座(18)(1/2 ページ) ORACLE MASTER資格の中級に位置付けられ、取得すればOracle技術者としてグローバルに認定される「ORACLE MASTER Silver Oracle Database 10g」。例題を利用してポイントを押さえ、確実な合格を目指そう! 前回「UNDO管理でOracleのデータを守る」で、UNDOデータの管理に関するUNDO表領域、UNDOセグメントの構成や各種初期化パラメータについて紹介しました。今回は、ロックの競合の監視と解決を学びましょう。 ロックの競合の監視と解決 ポイント DML文を実行したときに取得されるロックの種類と、ロック競合が発生したときの監視方法が対象となります。ロック競合の中でも、特にデッドロックについては確認しておいた方がよいで

    ロックでOracleのデータを守り、競合を防ぐ
    witt
    witt 2008/09/19
    表に対する共有表ロック…同時にDDL文が発行されることを防止
  • 共有行ロックと排他行ロックの違い - shima111の日記

    select ... for update; select ... lock in share mode; の違いがよくわからなかった。 データを更新する時に必要なロックは、for update データを参照する時に必要なロックは、share mode と体感的に理解できるのだが、どちらのロックを取ったときも、他の誰もデータを更新、削除できない。 また、どちらのロックも、(for update していたら、他から参照できないのかと思いきや)他の誰からも参照は可能。 ん?となると、この2つのロック、何がどう違うの?? その答えは ここ に書いてあった。(リンク先はPostgresだが、MySQLでも同じこと) 共有ロックとは、排他ロック(更新、削除、FOR UPDATE)をブロックする/される一方、共有ロック同士では互いにブロックしないというものです。 なるほど、share mode はセマ

    共有行ロックと排他行ロックの違い - shima111の日記
  • 表ロックの種類と相互関係 - オラクル・Oracleをマスターするための基本と仕組み

    ● ロックを取得可能 × ロックの取得は不可能 ▲ ロックを取得可能であるが別セッションからの同一行へのアクセスは待機させられる(TX待機) ▼ ロックを取得可能であるが別セッションからの プライマリキー制約、ユニーク制約 に該当する行の INSERT は待機させられる(TX待機) ▲ ▼ に関して:トランザクションが分散トランザクションの場合には初期化パラメータによってタイムアウトが発生する。 参考 ⇒ ORA-02049: タイムアウト: 分散トランザクションがロックを待機しています。 共有ロックと排他ロック 共有ロック 共有ロックとは主に参照を行う際に掛けるロックであり複数設定することも可能。しかし SELECT の度にロックを掛けているわけではなく、データや表定義が変更されると困る操作のときにだけ掛けられる。 例: 更新予定の行を宣言して SELECT する(RSロック)、インデッ

  • Oracleの排他制御について教えてください

    #2 補足です。 2) SELECT FOR UPDATE文は NO WAIT オプションをつけたときは即時エラーに、 つけないときはロック解除待ちになります。 どちらを使うかはアプリケーションの作り方のポリシーによります。 セッション=クライアントとサーバの間の接続。データベースに接続してから切断するまでの間の接続が確立している状態 トランザクション=データベースの処理をひとまとまりにしたモノ。たとえば、口座Aから口座Bへの振り込み処理の場合、口座Aからの引き出し、口座Bへの振り込みの処理を1トランザクションとして扱います。どちらかが失敗した場合はロールバック(巻き戻し)、成功した場合はコミット(確定)します。 業務用アプリケーションの場合、大抵、1回のセッションの中では複数回のトランザクションが発生します。複数のユーザーがそのアプリケーションを利用していればその数だけセッションが張られ

    Oracleの排他制御について教えてください
    witt
    witt 2008/09/12
    SELECT FOR UPDATEを発行すると該当行が排他ロックされます。
  • データモデル・正規化

    ◆非正規形 納入伝票 (納入伝票番号、 日付、倉庫コード、倉庫名、倉庫住所、 一時保管場所候補1、一時保管場所候補2、 製品コード1、製品名1、製品級1、製品幅1、製品重量1、納入数量1、 製品コード2、製品名2、製品級2、製品幅2、製品重量2、納入数量2、 製品コード3、製品名3、製品級3、製品幅3、製品重量3、納入数量3) ◆第一正規化 第一正規化の目的は、集合(繰り返し)項目を別の表に分離することである。 非正規形の例では「製品コード」と「一時保管場所候補」が繰り返し項目であり、 ここをバラして別テーブルとする。 これによって、 納入伝票に書ける製品が3つまで、という制限も、 一時保管場所候補が2つまで、という制限も、 取り払うことが出来る。 このように、列の中の繰り返し項目を排除することで、 大体のテーブルの構造が見えてくる。 ◆第一正規形 納入伝票 (納入伝票番号、日付、