タグ

sqlに関するokinakaのブックマーク (21)

  • SQLFluffを使ってSQLをリント(Lint)する

    SQLFluffって何? Fishtown Analytics社(dbtを作っている会社)が作ったSQLのリントツールです。 Dataformdbt等を活用することで、多人数でのSQLのメンテナンスを実行していく上でコーディング規約の策定やその準拠が出来ているかというのを継続的に保つ必要性がでてくると思います。 このSQLFluffは他のプログラム言語でよくあるリントがある開発を導入することができます。 SQLFluff インストール

    SQLFluffを使ってSQLをリント(Lint)する
  • Sqlcommenter のご紹介: オープンソース ORM の自動インストルメンテーション ライブラリ | Google Cloud 公式ブログ

    ※この投稿は米国時間 2021 年 1 月 29 日に、Google Cloud blog に投稿されたものの抄訳です。 オブジェクト リレーショナル マッピング(ORM)を使用すると、任意のプログラム言語のアプリケーション コードと自然に統合される、オブジェクト指向の枠組みを使用したクエリを容易に作成できるようになります。多くのフルスタック開発者は、自身のアプリケーションでデータベース コードを記述するために ORM ツールに頼っていますが、その場合 SQL ステートメントは ORM ライブラリによって生成されるため、アプリケーション開発者にとって、どのアプリケーション コードがスロークエリにつながっているかを把握することがより難しくなる可能性があります。次の例は、2 行の Django アプリケーション コードが、ORM ライブラリによって 1 つの SQL ステートメントに変換される

    Sqlcommenter のご紹介: オープンソース ORM の自動インストルメンテーション ライブラリ | Google Cloud 公式ブログ
  • データベーススキーマの差分を解消するツールを作った話 - Evolutionary Architectures

    この記事は Kyash Advent Calendar 2019 2日目の記事です。 今回はKyashで利用しているPostgreSQLにおいて、スキーマの差分を解消するツールを作った話についてです。 ツールのリポジトリはこちらになります。 github.com このツールは、2つのPostgreSQLインスタンスからpg_dumpすることにより得られたDDL間の差分を検出し、差分を解消するためのDDLを生成することができます。 社内システムで活用できることを最初のゴールとして開発しました。 こんなことができます。 例えば、入力用のDDLをsource.sqlとdesired.sqlとして用意し、 source.sqlの状態からdesired.sqlの状態に変更するためのDDLを生成してみます。 pg_dumpを使うことを想定して最低限の実装をしているので、入力用のDDLがこんな感じになっ

    データベーススキーマの差分を解消するツールを作った話 - Evolutionary Architectures
  • stfuawsc

    404 Not Found

    okinaka
    okinaka 2019/02/28
  • SQLで羃等にDBスキーマ管理ができるツール「sqldef」を作った - k0kubun's blog

    sqldefのリポジトリ github.com これは何か Ridgepoleというツールをご存じでしょうか。 これはRubyのDSLでcreate_tableやadd_index等を書いてスキーマ定義をしておくとそれと実際のスキーマの差異を埋めるために必要なDDLを自動で生成・適用できる便利なツールです。一方、 で言われているように、Ridgepoleを動作させるためにはRubyやActiveRecordといった依存をインストールする必要があり、Railsアプリケーション以外で使う場合には少々面倒なことになります。*1 *2 そこで、Pure Goで書くことでワンバイナリにし、また別言語圏の人でも使いやすいよう、RubyのDSLのかわりに、誰でも知ってるSQLCREATE TABLEやALTER TABLEを書いて同じことができるようにしたのがsqldefです。 使用例 現時点ではMy

    SQLで羃等にDBスキーマ管理ができるツール「sqldef」を作った - k0kubun's blog
  • SQLスタイルガイド · SQL style guide by Simon Holywell

    概要 全般 推奨 非推奨 命名規則 通則 表 列 別名、相関名 ストアド・プロシージャ 統一的接尾辞 問合せ文 予約語 空白類 インデント 望ましい形式 Create文 データ型の選択 デフォルト値の指定 制約とキー 非推奨設計 付録 予約語リファレンス SQLスタイルガイド(日語訳) 日語訳について 日語訳は誤訳や原文の最新版に追随していない恐れがあります。誤訳や改善点があれば、GitHubのissueまたはpull requestを使用するか、Twitterでお知らせください。 翻訳: 久利史之 @nkuritw 概要 このガイドラインは利用の他、forkしたり、自分自身のものに改変したりすることができます。ここで大事なのはスタイルを選択しそれを踏襲することです。変更の提案やバグの修正にはGitHubのissueまたはpull requestを使用してください。 このガイドライン

    okinaka
    okinaka 2018/05/16
  • CSV/TSVに対してSQL発行できるツール「q」 | DevelopersIO

    今日はCSV/TSVなどのテキストファイルをSQLで操作できるツール「q」の紹介です。 使いどころ データ処理を実施する時にはDBに保存されているデータやテキストファイルなどをCSVやTSV等の一定のフォーマットに変換して処理することが多いと思います。そのデータ内容を確認するときには、例えばExcel等に貼り付けることもあると思います。ただ、Excelではデータ量が数百万件規模になってくるとソフトウェアの制約上、処理が行えません。 データベースに保存されている大量のデータを処理・取得する際によく用いられるのはSQLです。SQLはデータ操作のための非常によくできたインターフェースであり、かなりの数のエンジニアが利用できるのではないでしょうか。 単純なCSVファイルに対してもSQLを利用して検索が実施できれば楽だと思って探していたところ、「q」にたどり着きました。 インストール qには様々なイ

    CSV/TSVに対してSQL発行できるツール「q」 | DevelopersIO
  • MyBatis MigrationsとBambooとSchemaSpyでデータベースの構成を管理する - bluebird

    このエントリーは、ゆかむアドベントカレンダー - ゆかむ | Doorkeeperの7日目エントリーです。 はじめまして。@setoazusa です。こんなハンドルですが、男性です。 都内のSIerで、TDDの導入や、DevOpsの推進、プロジェクトメンバーのフォローなどを仕事にしています。 IT技術者のコミュニティでは、TDDBCなどのコミュニティなどを中心に活動しています。よろしくお願いします。 ゆかむさんとは、第2回 ゆかむ勉強会 - connpassで、「CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化」というお題で話をさせていただきました。 CIサーバーとSchemaSpyでデータベースのドキュメント作成を自動化 from Hiroyuki Ohnaka 今日は、その話の続きで、データベースのスキーマ管理のために、ツール同士をどう連携させているかという話を

    MyBatis MigrationsとBambooとSchemaSpyでデータベースの構成を管理する - bluebird
  • SQLを整形、ハイライトして分かりやすい表示を実現·pgFormatter MOONGIFT

    pgFormatterはPostgreSQLをはじめとするSQLを整形するソフトウェアです。 SQLは文法さえ覚えてしまえば誰でも使えるようになる反面、書き方が冗長的でものすごく複雑な形になってしまうことが多々あります。そこで使ってみたいのがpgFormatterSQL整形ツールです。 元のSQLです。 こんな感じに整形されます。 デモです。こんな複雑なSQLも… すっきり見やすく! インデントが深くても見やすいです。 pgFormatterはその名の通り、PostgreSQLのシンタックスハイライトに対応しています。SQLとしてはSQL-92/99/2003/2008/2011のキーワードに対応しています。キーワードや関数の大文字化(または逆に小文字化)も指定できます。 pgFormatterPerl製、PostgreSQL Licenceのオープンソース・ソフトウェアです。 MOO

    SQLを整形、ハイライトして分かりやすい表示を実現·pgFormatter MOONGIFT
    okinaka
    okinaka 2013/01/30
  • 泣き別れしたデータの統合 ―ASP.NETでの実装方法

    はじめに 前回は重複値抽出に焦点を当て、名寄せ処理は「不要なレコードを削除」という単純な方法を紹介しました。今回は名寄せ処理に重点を置き、「各レコードに泣き別れしたフィールド値を統合」する方法を紹介し、ASP.NETでの実装例を紹介します。 対応可能なRDB MySQL(4.1以上)、SQL Server、Access、PostgreSQLOracleなどのRDBで可能です。ただし、EXISTS演算子とサブクエリー(第1回参照)が利用できないSQLiteでは不可です。 必要となる前提知識と環境 前半部分はSQL命令の解説になるので、SQLの基礎知識が前提となります。 後半部分は各回を通して、ASP.NET開発の基礎知識(SQL Serverへのアクセス方法、MultiViewコントロールの使い方を含む)、および以下の環境が前提となります。 開発ツール:Visual Web Develop

    泣き別れしたデータの統合 ―ASP.NETでの実装方法
    okinaka
    okinaka 2012/11/02
  • リアルタイム・ランキングを考える | GREE Engineering

    はじめに こんにちは。プラットフォーム開発部のsp1rytusと申します。 先日、私もついに30歳のおっさんになってしまいました。加齢臭が出ないようにがんばります! ランキングって? ランキングは誰でもわかる、何らかの得点をソートして順位位置を決定する凄く簡単でシンプルなものです。しかし、ゲームを扱うコンテンツ・サービスにおいては、得点を通算/日別に順位付けされたものが直ぐに目に入るように、他人と自分を比較する非常に重要な役割を果たしています。そこで、この記事では次の3つ要件を満たすようなランキング・システムの難しさと、それを解決するための一例を簡単に説明させて頂きます。 順位付けはリアルタイムに行い、集計時間を必要としない。 100万件以上の得点データが扱える。 すべてのデータが正しい順位付けで取得できる(線形補完などで順位を概算しない)。 リアルタイムによる正確な順位付けは、データ件数

    リアルタイム・ランキングを考える | GREE Engineering
    okinaka
    okinaka 2010/07/21
  • Web上で見やすいSQLに整形する·SQL整形ツール DML Breaker MOONGIFT

    SQL整形ツール DML BreakerはJavaScript製のオープンソース・ソフトウェア。O/Rマッピングソフトウェアは数多く登場しているが、より細かな最適化を求めたり、旧来のシステムではまだまだSQLを使わざるを得ない場面が多い。またログに吐き出されたSQLをチェックしたりする必要がある場面は多々ある。 WHEREでつないだ版 そんな時に出力されたSQLを手作業でフィールド単位に分けたり、テーブル名を並べたりするのは手間のかかる作業だ。そこで使ってみたいのがSQL整形ツール DML Breakerになる。このソフトウェアは貼付けたSQLを解析して読みやすいSQLに変換してくれるのだ。 CRUD(SELECT/INSERT/UPDATE/DELETE)のSQLに対応しており、適切な改行やインデントを挿入してくれる。Webブラウザ上で動作するので社内に一つであれば皆で使えて便利だろう。

    Web上で見やすいSQLに整形する·SQL整形ツール DML Breaker MOONGIFT
    okinaka
    okinaka 2009/11/16
  • SQLアタマ養成講座 記事一覧 | gihyo.jp

    第6回SQL流行間比較(2) 直近⁠⁠、直近の1つ前⁠⁠、そのまた1つ前… ミック 2009-05-19

    SQLアタマ養成講座 記事一覧 | gihyo.jp
    okinaka
    okinaka 2009/09/29
  • SQLアタマアカデミー 記事一覧 | gihyo.jp

    最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (5)集合指向と手続き型 ミック 2010-05-28 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (4)OLAP関数と集約関数を組み合わせる ミック 2010-05-27

    SQLアタマアカデミー 記事一覧 | gihyo.jp
    okinaka
    okinaka 2009/09/29
  • 第1回 連番の特性を利用してデータ操作をもっと自由に SQLで連番を扱う (4)連番の生成 | gihyo.jp

    連番の生成~どうしてもループが嫌と言うならしかたない~ これまで、あらかじめ複数行を保持するテーブルを対象に連番を割り当てていました。今度は動的に連番を生成する方法を考えます。 ループを使わずに1行のデータをn行に増やす 表7のような1行だけデータを持つテーブルがあります。データの中身は重要ではないので気にしないでください。 表7 OneRow みなさんに考えてほしいのは、この1行のデータを3行に増やしてもらうことです。しかもその際、図6のように連番を付与します。 図6 連番列「seq」が追加されている seq col1 col2 col3 --- ---- ---- ---- 1 test data col 2 test data col 3 test data col ここで条件が1つあります。それは、3行に限らずn行に簡単に一般化できる方法であることです。もしこの問題を手続き型言語で

    第1回 連番の特性を利用してデータ操作をもっと自由に SQLで連番を扱う (4)連番の生成 | gihyo.jp
    okinaka
    okinaka 2009/07/06
  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

    okinaka
    okinaka 2009/06/25
  • 分析関数の衝撃6(応用編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    分析関数の衝撃6(応用編)
    okinaka
    okinaka 2008/11/02
  • http://www.vieka.com/esqldoc/sql92bnf.htm

    okinaka
    okinaka 2007/12/01
  • NOT_FOUND 404

    ■ ファイルが見つかりません。 Not Found 誤ったURLを入力された可能性があります。再度ご確認のうえURLをご入力ください。

    okinaka
    okinaka 2007/12/01
  • BlancoSqlEditorPlugin - Eclipse用 SQL編集プラグイン

    [blanco,Framework,software,opensource,free,LGPL,Java,blancoSqlEditorPlugin,Eclipse,プラグイン,SQL,整形] SQL文を整形するEcilpseプラグインです。Eclipse上で sql拡張子と関連づけられた SQLエディタとして動作します。

    okinaka
    okinaka 2007/12/01