タグ

Databaseに関するmasa8aurumのブックマーク (68)

  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • 命名法 - 主キーはサロゲートキーで、テーブル名はナチュラルキーで(笑) - SQLer 生島勘富 のブログ

    完全に新規の案件というのは当に少ないので、実践できることはほぼない理想論ですが、私の理想とするテーブル構造と命名法です。 まずは、サロゲートキーについて サロゲートキーというのは業務上意味のないキーのことです。 例えば、生徒テーブルは、年次・クラスID・生徒番号で一意になるとしましょう。 この「年次・クラスID・生徒番号」の複合キーを主キーとせずに、システム側で採番した一意な値を主キーとすることをサロゲートキーといいます。 「年次・クラスID・生徒番号」はナチュラルキーといいます。 基は全テーブルをサロゲートキーにする方が効率的です。 サロゲートキーを使わない例外 私なりの基準は関係テーブルの場合、他に情報がない場合サロゲートキーは使いません。 例えば ■ 生徒テーブル ID 年次 クラスID 生徒番号 名前 生年月日 …… ■ 科目マスタ ID 名前 …… ■ 履修マスタ(サロゲート

    命名法 - 主キーはサロゲートキーで、テーブル名はナチュラルキーで(笑) - SQLer 生島勘富 のブログ
  • きれいなデータの作り方

    情報システムのデータには、重複や誤り、抜けがある。汚れたデータを放置すれば、いずれ業務が回らなくなり、成長を支える情報活用もおぼつかない。宝の山に進化させるのは現場の腕にかかっている。汚れたデータはどのようにしてきれいにするのか。ターゲットはDBだけではない。データの入力側、出力側の対策も重要だ。現場が実践する数々の有効なテクニックを紹介する。 目次

    きれいなデータの作り方
  • SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?

    OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation

    SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
    masa8aurum
    masa8aurum 2012/12/07
    O/Rマッパーと言いながら実際にはSQLクエリビルダーの話をしている。内容には同意。 / 分解・構築・抽象化
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • データベースとSQLの業務スキルレベル 判別表 (5段階) - 主に言語とシステム開発に関して

    スキルチェックの目次へ リレーショナル・データベースを利用したシステム開発の,簡易スキルチェックのための調査表。印刷用。 データベース・エンジニアのレベルを測定する。 レベルは,0から4までの5段階。 (0) 非エンジニア (1) 初学者(入門書を学習してゆく段階) (2) ノーマル(基礎的な知識があり,ある程度の動くものを作れるようになった段階) (3) 中級者(開発プロジェクトで1人月としてカウントできる水準) (4) 上級者(メインPG/メンターとして,主設計を任せられる水準) Webアプリのプロジェクト開始時に作業振り分けをするにあたって,新規メンバ全員にこれを渡して回答してもらうという用途を想定。 なお,開発上のスキルをチェックする事が主眼なので,DBAとしての技量はあまり考慮しない。 下記で「自分に当てはまる項目が最も多いレベルが,自分の属するレベルである」とする。 ※ただし,

    データベースとSQLの業務スキルレベル 判別表 (5段階) - 主に言語とシステム開発に関して
    masa8aurum
    masa8aurum 2012/07/10
     これでチェック。
  • データベースの問題を発見するスクリプト

    連載はDB2 UDB V8のシステム管理者、およびアプリケーション開発者のために、パフォーマンス・チューニングに必要な技法を紹介する。記事の原文はIBM developerWorksで2004年4月に公開された「Best practices for tuning DB2 UDB v8.1 and its databases」で、DB2の設計、配置、構成、SQL、運用管理、モニタリングといった内容を、実践的な操作を中心に解説している。想定する読者はDB2データベース管理の中級レベルのスキルを持っているユーザーである。スクリーン・ショットなど一部のコンテンツは、日語版のものに差し替えている。(編集局)

    データベースの問題を発見するスクリプト
  • 基礎から理解するデータベースのしくみ(6)

    データベースのインデックス*1の作成やパラメータの設定は,システムのパフォーマンスを大きく左右します。加えて,メンテナンスの手間にも影響します。「面倒な設定作業はほとんどツールに任せている」なんていう人もいるかもしれませんが,こうした作業をきちんとやることは実用的なシステムを作るには避けて通れません。では,最適なインデックス作成やパラメータ設定ができるようになるにはどうすればよいのでしょうか。 Part2では,リレーショナル・データベース管理システム(RDBMS)がデータをディスクに格納するやり方やアクセス方法について解説します。さらに,高速な検索が可能なBツリー・インデックスやハッシュ・インデックスのしくみなどを学んでいきましょう。 データベースには3種類のファイルがある 最初に,データベースを構成するファイルについて簡単に触れておきましょう。データベースは大きく分けて,「データ・ファイ

    基礎から理解するデータベースのしくみ(6)
    masa8aurum
    masa8aurum 2012/05/04
     データの格納方法を知ろう(1)