週刊アスキーに「わくわくどうぶつパズルパレード」が紹介記事が掲載されました。 第3位となっております。 http://weekly.ascii.jp/elem/000/000/395/395599/ ありがとうございます。
週刊アスキーに「わくわくどうぶつパズルパレード」が紹介記事が掲載されました。 第3位となっております。 http://weekly.ascii.jp/elem/000/000/395/395599/ ありがとうございます。
はじめに 弊社のデータ分析案件において、RedshiftにてSQLを実行してデータを抽出することが増えてまいりました。SQLはデータの抽出には強力なのですが、JavaやRubyなどのプログラミング言語と比べると独特であることも事実です。 例えば(PL/SQLなどは除いてですが) ループがない 変数に代入して次の処理に行くことができない メソッドやクラスに処理を分割できない などです。 これらの特徴からSQLでデータ抽出を行う為には、JavaやRubyなどとは異なった手法を取る必要があります。そこで「JavaやRubyとかでは・・・というやり方でやるのだけど、SQLではどうやるのだろう」というケースについて、シリーズ形式で何回かに分けて取り上げたいと思います。 尚、SQLの基本的な構文(select、join、group byなど)については説明しません。またデータベースの種類に関わらず使用
2006年07月10日 クエリを思いつかなかった子のために。これはあくまでヒントだぞ。 以降の例では Oracle9iリリース2で説明しています。 データベースのテーブルには、何故か無駄に横長のものがあったりします。 ホスト時代のデータセットイメージをそのままテーブルフォーマットにしちゃったようなやつですね。項目名に「FILLER1」とか名前がついている( ̄▽ ̄; こんなテーブルがあるとします。 SQL> DESC 売上ランキング横; 名前 NULL? 型 ---------------------------- -------- -------------------------- 売上年 VARCHAR2(4) 1位製品 VARCHAR2(10) 1位売上 NUMBER(5) 2位製品 VARCHAR2(10) 2位売上 NUMBER(5) 3位製品 VARCHAR2(10) 3位売上
テーブル名/インデックス名/カラム名を変更する(ALTER TABLE RENAME文) 作成済みのテーブルに対してテーブル名の変更やカラム名の変更を行うには ALTER TABLE RENAME 文を使います。書式は次の通りです。 テーブル名の変更 ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name インデックス名の変更 ALTER TABLE tbl_name RENAME INDEX old_index_name TO new_index_name カラム名の変更 ALTER TABLE tbl_name RENAME COLUMN old_col_name TO new_col_name
顧客テーブルの性別には"男性"と"女性"という属性がありますが、ここでは、それらの値を数値に対応させてフィールドに格納しています。値が1の場合は男性、値が2の場合は女性を意味します。 性別のように、いくつかの決まった文字列が複数のレコードで繰り返し使われる場合、一般的に、その文字列を数値と対応させて、フィールドには数値の方を格納するといった方法がよく使われます。理由としては、文字列で管理するよりも、数値で管理したほうがデータ容量が少なくて済み、検索処理で発生する負荷を軽減させることができるからです。 SELECT命令文で全レコードを選択 SELECT命令文を使ってテーブルに登録された全レコードを選択する場合は、SELECTの後に続くアスタリスク( * )を指定し、FROMで表示対象のテーブル名を指定します。 SELECT * FROM テーブル名; アスタリスク( * )は全フィールドを意
テーブルにデータを追加する場合、 INSERT 文でデータを指定して追加する方法の他に、他のテーブルに格納されているデータを SELECT 文で取得し追加することもできます。ここでは SQLite でテーブルから取得したデータを別のテーブルに追加する方法について解説します。
今回はデータベースの正規化について取り上げます。 PostgreSQL固有ではなく、RDBMS全般に関わる一般的なテーマですが、データベースを扱う上で重要な下地となる部分ですので、ぜひ基礎固めとしてご利用ください。「正規化」はOSS-DB Exam Silverの出題範囲にも含まれていますので、受験を考えている方も気を抜かずに取り組みましょう。 正規化とは データの重複をなくし整合的にデータを取り扱えるようにデータベースを設計することを、データベースの正規化と呼びます。正規化を行っておくと、データの追加・更新・削除などに伴うデータの不整合や喪失が起きるのを防ぎ、メンテナンスの効率を高めることができます。 正規化の段階には、第1~第5正規形およびボイスコッド正規形がありますが、ここでは、データベースを設計する際に一般的に用いられる第1~第3正規形までを、前回登場したテーブルをもとにして説明し
設計のヒント 設計の基本 SQL は非常に便利な上、データを格納しておく専用のソフトウェアだけあって、多量のデータの扱いは非常に得意です。しかし、それも適切に設計し、適切にコーディングした場合です。簡単に、そこら辺の説明をしたいと思います。 まず、よく言われることですが、データベースの設計だけが良くても、プログラムの設計だけが良くてもダメです。とはいっても、実際は全く同時に設計が行えるわけではありません。多くの場合、データベースの設計が出来ない限り、プログラムの設計は途中までしかできないからです。 データベースの設計は大きく分けて次の二点があります。 物理的な構成 内部オブジェクト(テーブルとか)の仕組み 物理的な構成とは、どのマシンで動かすか、からに始まり、データベースを格納するディレクトリをどこにするかといことまでです。現実的に、PostgreSQL はクラスタリング構成が出来ないので
8.1. UNION 演算子 UNION 演算子は、2つのクエリの出力を和結合します。すなわち、2つのクエリの結果を結合し、そこから重複する行を削除します。次の図の黄色の部分が、「QUERY A」と「QUERY B」の和集合です。 sample.20-1 はテーブル BLUE とテーブル RED から、この二つの販売店が取り扱っている製品を出力するものです。 -- sample.20-1 -- /* UNION */ SELECT * FROM BLUE UNION SELECT * FROM RED ; 実行結果 製品名 ────────── AVENILE PRIMERA GLOLIA STAJIA CEDRIK BLUE BARD DATSON PRESAJU LAULEL TERANO SANNY SKYLINN samle.20-1 の出力結果から分かるように、重複する製品は表示
SELECT文の統合「UNION」 今回は、問い合わせの統合(UNION)と、NULLに関連するトピックを解説し、SELECT文の最後の回とします。 UNION句を使用すると、これまでに使用してきたSQL文の結果を統合して、1つの結果とすることができます。これは、四半期ごとの売り上げデータを別のテーブルに持っている場合に、集計した結果を1つの表として参照したい場合など、複数の問い合わせ結果のマージを実施したい場合に役立ちます。 今回は、製品ごとに付けられた単価のパターンをすべて洗い出す、というSQL文を作成してみましょう。製品の単価は、製品マスターテーブル(Products)に基本となる単価が保存されています。また、取引ごとに製品の単価を決定しているので、注文の明細テーブル(Order Details)にも、その取引における製品の単価が登録されています。これらの2つのテーブルからの別々の問
参考:pandasでRDBの読み書きをする Pandasは、R言語のdata.frameと呼ばれるデータ構造をPythonに移植したもので、 データ解析によく使われるライブラリ。 データ解析にはデータベースが切っても切れない関係であるため、 PandasはSQLと密に連携できるようになっている。 SQLには色々な方言があるのだが、Pythonでそれらの方言を統一的に扱おうとしているのがSQLAlchemyというライブラリ。 そこで、PandasからSQLAlchemyを使ってデータベースから読んだデータをDataFrameに変換するには: import sqlalchemy import pandas as pd # この例ではsqliteを使うが、 engine = sqlalchemy.create_engine('sqlite:///example.db') # 例えば、Postgr
Let'sプログラミングでは初心者の方を対象にJavaやPython、PHP、Rubyなど色々なプログラミング言語の解説を行っています。 Java Java入門 これからJavaを使ったプログラミングの習得を目指している方を対象としたチュートリアルです サーブレット(Servlet) / JSP入門 サーバサイドで動作するアプリケーションの作成方法 Androidプログラミング入門 モバイル向けプラットフォーム Android で動くアプリの作成 Swingを使ってみよう GUIを使ったJavaアプリケーションの作成で使用するSwing入門です Eclipse入門 開発環境として広く使われているEclipseのインストールと活用法 Javadocの記述 ソースコードからHTML形式の仕様書を生成します Apache POIでExcelを操作 Excelファイルの作成・操作
前回は、IDEF1XによってER図を記述する方法について説明しました。ER図によって記述された概念モデルは、基本的に特定のデータモデルを意識したものではありません。 したがって、概念モデルをリレーショナルモデルとして適切な形式に変換する必要があります。これは、データベース設計においては論理設計の段階にあたります。今回は、概念モデルからリレーショナルモデルに変換する手順について説明します。 多対多の関連 概念モデルでは実体間を多対多の関連として記述することができます。たとえば、「顧客が製品を注文する」ということは、図1のように「顧客」と「製品」という実体間を「注文する」という関連として記述することができます。 図1 「顧客が製品を注文する」の概念モデル このとき、顧客は複数の製品を注文し、製品は複数の顧客から注文されるということであれば、「注文する」という関連は多対多となります。 しか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く