データディクショナリビュー データディクショナリビューとはデータベース内のオブジェクト(表やビュー、索引、プロシージャなどなど)や表領域、ユーザ、権限などデータベースに係わる様々な情報をテーブル形式で取得することができるものです。 データディクショナリの種類 データディクショナリには大きく分けて「DBA_」で始まるもの、「ALL_」で始まるもの、「USER_」で始まるものとその他のものがあります。 大まかに言うと、取得できる情報の範囲が違うということです。ここで紹介するデータディクショナリビューはほんの一部ですので、どんなものがあるか見てみたい方は、以下のSQLを実行してみてください。 データディクショナリの一覧を表示する SELECT TABLE_NAME FROM DICTIONARY; 表示できない場合は、ディクショナリを作成していない可能性があります。 作成用のスクリプトは「%OR
最終更新日:2023/01/03 はじめに オラクルデータベースでシステムの開発をしたり、データベースの勉強をしている時に 「あ、この構文どうやって書くんだったかなぁ」とか 「こういう処理がしたいんだけど何かいい関数がないかなぁ」、 「データベースの情報が取得したいんだけど、どうやるんだろう?」といった ちょこっと調べたい時に使ってもらえればと思い、当サイトを開設しました。 内容は自分が開発してる時にちょっと調べたいと思ったことを中心に書きましたので、 たぶん皆さんのお役に立てると思います。 当サイトはリンクフリーです。 皆様のページにリンクを貼っていただければ嬉しいです。(*^_^*)
SQL例文集(オブジェクト情報関連1) オブジェクト情報編1では、各種オブジェクトに関する情報を調べるSQL例文を紹介します。 ※データディクショナリ名の接頭辞は(DBA_)で表示してあります。ログインユーザの権限や用途に合わせて接頭辞を(ALL_)、または(USER_)に読み替えてください。 接頭辞の意味については→データディクショナリ編をご覧ください。 オブジェクト情報関連 オブジェクト情報取得SQL例文 --☆ユーザ名の一覧を表示する。 SELECT USERNAME FROM DBA_USERS; --☆テーブル名の一覧を表示する。 SELECT TABLE_NAME FROM DBA_TABLES; --(SELECT * FROM TAB; でも可) --☆インデックス名の一覧を表示する。 SELECT INDEX_NAME FROM DBA_INDEXES; --☆ビュー名の
一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する
世の中には多種多様なデータベースがあるが、中でもまず知っておくべきは、広く業務で使われているリレーショナルデータベースだ。@IT eBook Vol.2は、@IT Database Expertフォーラムの人気連載、『ゼロからのリレーショナルデータベース入門』全12回を一冊に再編集してお届けする。 本連載は、タイトル通り「RDBの運用とはどのようなものか」をざっと理解できるように企画した、まさしく入門用のコンテンツ。書籍などの「入門書」では、ある程度データベースシステム運用の経験がある人を対象にした、いわば“プロのための入門書”であったり、特定のプロダクトに入り込んだ難しい解説が多いものだったりと、前提知識なしで「どんなものか」をイメージするには、少々ハードルが高いものも少なくない。その点、本連載はさほど前提知識がなくとも「どんなものか」をイメージしやすいよう配慮して仕上げている。 特に、
SE学院では、プログラミング言語やデータベース、開発ツールなど、システムエンジニアやプログラマのスキルアップに役立つ情報を提供しています。
私が前職で教わったことの一つに、「協業のオキテ」があった。文字通り「協業をするときに絶対に守るべきこと」である。 なにかの役に立つかもしれないので、ここに記す。 1.相手に儲けさせる自信がなければ「協業しよう」と言わない。 私の当時の上司は「協業がうまくいくかどうかは、協業相手が儲かるかどうかにかかっている。」と言った。それはとても単純であるが、当たり前のルールだ。 つまり相手の事業上の課題を見抜き、それの解決策を持って声をかける必要がある。 2.協業相手と自分たちのターゲット顧客は同一でなくてはいけない 極めて重要な要素の一つ。協業の理由はもちろん「単体でやるよりも、協業したほうが良い成果が上がる」からなのだが、顧客ターゲットが同じでなければ協業の意味はかなり薄れる。 3.見込み顧客名簿がすでにある。 「一緒に顧客開拓しましょう」は、大体うまくいかない。市場がなくてお互いがっかりするか、
Oracleの場合のみに言えることですが、SQL構文は すべて大文字で記述したほうがパフォーマンスがよくなります。 理由は、Oracleの内部では英字を大文字で管理しているためです。 小文字で記述しても内部で大文字に変換されるので、 最初から大文字で記述することによって余計な変換処理がなくなり、 パフォーマンスがよくなります。 また、PL/SQLについてもすべて大文字で記述したほうがよいです。 この場合の利点は、コンパイルエラー時のコードの見易さにあります。 SQL構文と同様に、Oracleの内部で大文字で変換されるため、 コンパイルエラーの内容もすべて大文字に変換されて出力されます。 小文字と大文字でそれほど変わりはないという人もいると思いますが、 開発者ならば利点のない記述よりも少しでも利点のある記述を 選択したほうがよいでしょう。 大文字に変換するのにどれぐらい掛かるでしょう? 10
VB.NETだとCreatObject関数を使って、暗黙の遅延バインディングを利用することによって、 お手軽に実現できる出来るExcelの操作も、C#で実現するとなると、ちょっと面倒くさいことになります。 事前バインディングでも実装することもできるが、事前バインディングだと Excelのバージョン違いを吸収することができないので、なにかとウマクナイ。 できればExcelバージョンに依存しないように、遅延バインディングで*1実現したいところです。 そんなときは、.NET FCLの中からActivatorやらReflectionやらを使いましょう。 以下のサンプルはただExcelファイルを開くだけのプログラムです。 using System; using System.Windows.Forms; using System.Reflection; namespace WindowsApplic
はじめに この記事は、インドリ氏による『スレッドセーフとインテルTBBのコンテナ』に記載されている誤りを訂正することを目的としています。インドリ氏の記事では、TBBコンテナの紹介に注意するあまり、マルチスレッドプログラミングに潜む危険、その危険を取り除く方法についての記述が正しくありません。本記事では、マルチスレッドプログラミングを安全に設計する方法を説明することを目的とします。 本記事で用いるコードは、C言語に類似していますが、C言語ではありません。振る舞いを理解していただきやすくするための仮想言語です。実行できる環境はありません。 「競合」という問題 ここに、1つのリンゴがあります。そして、2人の人が、そのリンゴの前にいます。ここで2人に向かって「リンゴを食べて良いですよ」とだけ言うと、どうなるでしょうか。お互いに譲り合うか、もしくは取り合いをするでしょう。ここで2人が仲良くリンゴにあ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く