今回は、SQLの中でも特に重要な構文である「結合」について解説します。一言で結合といっても、いろいろなやり方があります。まずは、比較的単純な方法から解説します(編集部) 今回と次回の2回に分けて、SQLの中でも、最も重要な構文の1つである結合について説明します。「結合って難しそう」というイメージをお持ちの方も多いかもしれませんが、1つ1つの構文はそれほど複雑ではありません。整理して覚えましょう。 本連載で使っている「apex.oracle.com」の環境には「EMP」「DEPT」という複数の表があります。これは、リレーショナルデータベース(RDB)では一般的なことです。RDBでは、データを格納するストレージ領域を効率良く使うため、「正規化」というルールに従って、データを格納する表を複数に分割するように設計します。分割された複数の表から、関係するデータを取り出すことを「結合」と呼びます。 結
概要 データベースのテーブル定義書を自動的に生成して、ブラウザ上で確認できるWebアプリケーションを作成しました。自動生成によって、テーブル定義が更新されたときに、手動でドキュメントを更新する手間を省きます。もちろん、このWebアプリケーションは、アクセスが限定された場所で動かすことを想定しています。 ただし、今回作成したWebアプリケーションはMySQL、MariaDBにしか対応していません。 ソースコードの方はGitHubで公開しています。 画面例 テーブル一覧 テーブル名をクリックすると、そのテーブルの定義書のページに飛びます。 テーブル情報、カラム一覧、キー一覧、外部キー一覧が表示されます。 開発環境 使用したプログラミング言語はPython3で、WebフレームワークはFlaskです。今回作るのは小規模なWebアプリケーションなので、お手軽に作れるFlaskを使用しました。 データ
Python and ActiveX Data Objects (ADO)を参考にMS AccessのMDBにアクセスしてみました。 使用しているMDBは「Win32OLE 活用法 【第 3 回】 ADODB」のsample1.mdbです。 # -*- coding: cp932 -*- import win32com.client import sys import codecs # 参考 # http://www.ecp.cc/pyado.html#1 conn = win32com.client.Dispatch(r'ADODB.Connection') DSN ='DRIVER={Microsoft Access Driver (*.mdb)};Dbq=C:\\Python27\\test\\COM\\sample1.mdb' # MS SQL Server のとき # DSN =
Accessデータベース内にテーブルを準備 まずはAccessでこんなテーブルをを作ってみました。 都道府県ごとの面積や人口、区市町村数などをまとめたデータです。テーブル名は「データ」という名前です。 このテーブルを含むAccessデータベースファイルを「test.accdb」というファイル名で、今回のエクセルVBAを記述したファイルと同じフォルダに格納しました。 エクセルVBAからこのデータベースへの接続を試みていきます。 ADODB.Connectionオブジェクトでデータベースに接続する Accessデータベースと接続をしてやり取りをする際には、ADODB.Connectionオブジェクトを使います。 ADODB…?どこかで聞いたような名前ですね… ADOはActiveX Data Objectsの略で ADOとは、Microsoftが提唱しているデータアクセス技術のことである。 引
これで、第三正規形の完成です。多くのシステムではここまで、正規化すれば実用レベルです。例えば市役所の電話番号が変わった場合、第二正規形では複数の電話番号を更新する必要がありますが、第三正規形まで行うと、電話テーブルの一つのレコードを更新するだけですみます。顧客の社名が変わる場合でも一箇所ですみます。商品が増えた場合も1レコードの追加です。この様な状態を一事実一箇所(1 fact in 1 place)といい、データの操作が最小の労力で行えます。効率が良いですね。 正規化の過程をざっと復習すると以下のような感じです。 ・非正規形から第一正規形 繰り返しグループを排除ために、繰り返しグループとキーとなる項目で分割する。 ・第一正規形から第二正規形 主キー以外のキー項目に関数従属しているものを分割する ・第二正規形から第三正規形 推移的に関数従属しているものを分割する。 以上の3ステップですね。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く