![Amazon.co.jp: 前処理大全[データ分析のためのSQL/R/Python実践テクニック]: 本橋智光: 本](https://cdn-ak-scissors.b.st-hatena.com/image/square/9f36daa9e737818c4819c2e291b07a7b2e7a8849/height=288;version=1;width=512/https%3A%2F%2Fm.media-amazon.com%2Fimages%2FI%2F61D0XQc0fwL._SL500_.jpg)
ずっと前から積ん読状態だった「SQLアンチパターン」を読みました。 何年積んでたか分からないSQLアンチパターン読み終わったー。噂に違わずいい本ですねー。もっと早く読むべきだった。— @ketancho (@ketancho) 2018年3月6日 噂通りとても良い本で、まさに「エンジニアとしての血肉本」と言えます。1, 2年目の頃に読んでおくべきだったなーと少し後悔しています。 SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る 読んで終わりだと身につかないと思うので、自分なりのチェックポイントを言語化しておこうと思います。長くなってしまったので、章ごとに4つに分けたいと思います。この記事はその第一弾と
Webエンジニアの森脇です。 Railsアプリケーションで採用しているDB設計(スキーマ定義)について紹介します。 ※ Railsでは当たり前もの、Railsに依存していない内容も含んでいます。 前提 環境違えば、採用するルールも異なると思いますので、まずは弊社で利用している環境を記載します。 DBはPostgreSQL 9.x 開発言語は、Rails 4.x,5.xを利用 命名ルール Railsの規約に沿う命名を採用しています。DB設計にこだわりがあるメンバーにとっては、異論があるルールもあるのですが、アプリケーション開発の生産性も考慮しRailsの規約に寄り添うのがよいと判断をしました。 テーブル 動詞は使用せず、名詞とする 複数形とする 1:n のテーブル名は「単数形_複数形」 とする n:n のテーブル名は「複数形_複数形」とする カラム カラム名にテーブル名のprefixは付与し
はじめに こんにちは、R&D本部アドプラットフォーム開発部の村岡です。 九州工業大学の先端情報工学専攻を予定通り修了してジーニーに17卒入社し、現在は主にGenieeSSPの開発を行っています。 以前こちらの記事を書きましたが、今回もMySQL関連の記事となります。 GenieeSSPについて GenieeSSPは、広告配信のレスポンスタイムを短くするために、数十万の広告枠の配信設定をすべてインメモリで保持しています。 全広告枠の配信設定はMySQLに保存されています。配信設定を変更する、つまりDBのデータを変更する方法は、現在の運用では4つあります。 営業担当や、広告運用チームなどが操作画面を使って更新する。 操作画面では対応できない場合などに、エンジニアの運用チームが手作業で更新する。 配信パラメータ最適化のためのバッチが更新する。 リリース時などにエンジニアが権限をもらって更新する(
「ユーザー目線」のシステムを目指して RDBが従来の階層型DBに比べて優れていた点はいくつか挙げることができますが、シェアを伸ばすうえで最も大きな影響は、ユーザーが使いやすいデータ構造とインタフェースにこだわったことです。すなわち、「テーブル」と「SQL」の発明です。 RDBでは、すべてのデータを「テーブル」というただ一つのデータ形式によって表現します。テーブルは、見た目が「二次元表」に似ているため*3、Microsoft ExcelやGoogle ドキュメントなどのスプレッドシートを使い慣れた人が見ると、データを格納する方法が直観的にイメージしやすいという利点があります。実際、こうした二次元表によるデータ管理は、Excelなどのソフトウェアが登場する前から一般的な方法だったため、RDBが登場した当時の人々にとっても受け入れやすいものでした。 テーブルが画期的だった点は、もう一つあります。
どんなプログラム言語でも「関数」というものが存在します。Excelのそれが一番イメージしやすいかと思いますが、SQL Serverでもモチロン関数はあって、これを使いこなせるかどうかで生産性やパフォーマンスが全然違ってきます。 関数は非常に種類が多く、複雑な使い方もあるので、今回は簡単なところだけを説明します。 関数とは 数学の授業で関数って習いましたよね?一次関数とか二次関数とかのアレです。あの関数とは「ある一方の値が決まった時、もう一方の値がただ一つ決まること」だと私は習いました。SQL Serverの関数も基本的な考え方は同じです。 プログラムに特化した関数の説明をすると、「ある処理に対して、何らかのデータを入力すると、その処理結果がアウトプットされる処理」のことです。言葉だけじゃ難しいですがここで言う「何らかのデータを入力」するデータ(値)そのもののことを「引数(ひきすう)」と言い
2 つのテーブルを結合してデータを取得する方法の中で、指定したそれぞれのテーブルのカラムの値が一致するデータだけではなくどちらかのテーブルにだけデータがある場合も合わせて取得する方法が外部結合です。ここでは SQLite で外部結合を行うための LEFT OUTER JOIN 句の使い方について解説します。 外部結合とは 最初に外部結合について簡単に説明しておきます。外部結合とは2つのテーブルでそれぞれ結合の対象となるカラムを指定し、それぞれのカラムに同じ値が格納されているデータを結合して取得するものです。内部結合の場合は、一致しないデータは取得しませんでしたが、外部結合の場合は一致しない場合もデータとして取得します。 次の図を見て下さい。左側のテーブルと右側のテーブルを外部結合します。結合の対象となるカラムは左側のテーブルが「部署ID」、右側のテーブルが「ID」です。この2つのカラムの値
2016年度版 無料でプログラミング学習ができるサイト10個を調べてみたでは、プログミング学習サイトについて調査をしましたが、今回はSQLの学習サイトについてです。 ただ、そもそもSQLとはなんでしょうか? それには、SQLと関係が深い「データベース(DB:DataBase)」の説明をする必要がありますが、「データベース(DB:DataBase)」とはデータの集合体という意味です。 つまり、手帳に友達や得意先の名前と電話番号が記載されているなら,それも立派なデータベースですし、電話番号をEXCELで管理している場合には、これでコンピュータが使える「データベース(DB:DataBase)」となります。 しかし、電話帳ぐらいならEXCELでもいいのですが、得意先が増えて担当者も複数人に増え、そこで顧客の売上管理まで行おうとすると、EXCELだと「どれが最新で正しいのデータか分からない」というよ
検索をする際に、SQLServerでは正規表現を使うことはできません。 使い勝手は正規表現ほどではありませんが、似たようなものがありますので検証してみました。 まずは、テーブルを作成します。 CREATE TABLE TEXT_TEST ( [id] INT, [text] NVARCHAR(255) ) 今回検証に使うテストデータは以下となります。 INSERT INTO TEXT_TEST VALUES (1, N'123'), (2, N'abc'), (3, N'aBc'), (4, N'a c'), (5, N'A C'), (6, N'123'), (7, N'漢字a') (8, N'1bc') 照合順序に左右されたくないため、ここではCOLLATE句でJapanese_BIN2を指定しています。 半角英数字以外を含むレコードを抽出 SELECT * FROM TEXT_TES
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く