タグ

Databaseに関するikajigokuのブックマーク (9)

  • 3値論理

    なぜ「= NULL」ではなく「IS NULL」と書かなくてはならないのか? これは、気になっている人も多いはずです。まだ SQL に不慣れな頃、ある列が NULL である行を選択しようとして、 SELECT * FROM table_A WHERE col_1 = NULL; というクエリを書いてしまい、エラーになったり思い通りの結果が得られなかった、という経験は、ほぼ全ての人が持っているでしょう。ちょうど C言語や JAVA を習い始めのころに「if (a = 5)」と書いてしまう間違いとよく似ています。最初は、言語仕様の汚さにぶつぶつ文句をいいながらも、そのうち「IS NULL」という書き方に慣れてしまって、疑問を持たなくなります。 でもどう考えても奇妙な書き方ですよね。こんな素直でない書き方をしなくてはならないということには、やはりそれなりの理由があるのです。今からその理由を説明しま

  • リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック] - Qiita

    はじめに 最近エンジニア界隈では「リーダブルコード」が話題なっていますね。 リーダブルコードでは、このような定理が紹介されています。 「コードは他の人が最短時間で理解できるように書かなければいけない。」 Dustin Boswell リーダブルコード P.3 より引用 SQLでも同じことが言えそうです。 リーダブルなSQLを書いてないと結婚できない時代が今まさに到来しようとしています。 皆さん、クソSQL1を読んだことがありますね? クソSQLを書いたことがありますね? 僕は、あります。 そこで、記事ではどうしたらリーダブルなSQLが書けるかというアイデアを紹介します。 処理の流れの順に上から読めるようにする 人間のメンタルモデルは、問題やタスクを小さなステップに分割し、それぞれを順番に実行することに適しています。 サブクエリを使ったSQLでは、処理の流れは上から下ではなく、ネストされた

    リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック] - Qiita
  • MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な

    MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
  • ブートキャンプDATABASE

    2019年度リクルート新人ブートキャンプ エンジニアコースの講義資料です

    ブートキャンプDATABASE
  • リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します!(2019年度版) | Recruit Tech Blog

    こんにちは。セキュリティエンジニアの平松です。 毎年、大きな反響を頂いているエンジニアコース新人研修の内容を今年も公開します。 リクルートテクノロジーズの新人研修 リクルートテクノロジーズでは、新卒採用の新人向けに3ヶ月間の技術研修「ブートキャンプ」を実施しています。 新人たちは採用時の応募職種によって振り分けられ、各職種に適した内容のブートキャンプを受講します。 今年のブートキャンプは以下の3つのコースで実施しました。 スタンダードコース:プログラミングやWebサービスの構造の基礎を学び、その後1つのスマホサイトを企画からリリースまで行うコース。 エンジニアコース:現場での技術に即した実践的な内容を学び、その後実際のサービスでチーム開発のOJTを実施するコース。 データサイエンティストコース:現場でのデータ解析の実務に即した実践的な内容を学ぶコース。 記事では、実際に「エンジニアコース

    リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します!(2019年度版) | Recruit Tech Blog
  • COBOLってこんな言語

    日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。 https://anond.hatelabo.jp/20190205192741 COBOL質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルなデータ処理を想定している感じ。 SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通はJavaRubyで全体の流れを記述してデータベース入出力をSQLで書く。

    COBOLってこんな言語
  • FirebaseのRulesを理解する - Qiita

    らこです。 FirebaseにはRulesというデータのアクセシビリティを管理する仕組みがあるのですが、一見複雑そうに見えるため取っ付きづらいと思ってる人が多いように思われます。 ですが当は簡単でわかりやすいので、今回はRulesの基的な部分から解説します。 Rulesを理解すれば、Firebaseを使う上で望ましいデータベース構造が見えてくるので、Firebaseを使ってみようと思う方はまずRulesから理解しましょう。 Firebaseって何?という人はこちらのブログ記事にわかりやすく紹介されています。 Rulesの基礎 FirebaseはMongoのような他のKVSとは違い、すべてのデータを1つのJSONの中に配置します。シンプルなチャットを例にすれば、次のようなデータ構造になります。 { "messages": { "user001": { "user": "laco", "t

    FirebaseのRulesを理解する - Qiita
  • Firebaseで作る簡単リアルタイムウェブアプリケーション(前編)

    Firebaseは2014年10月にGoogleに買収されたことで一躍有名になったBaaS(Backend as a Service)です。記事ではちょっとしたリアルタイムウェブアプリケーションを作りながらFirebaseの機能を紹介します。 Firebaseとは Firebaseはデータストレージ、ユーザー管理などアプリケーションのバックエンドとして必要となる機能をサービスを提供することで、アプリケーション開発者がクライアントサイドの開発に集中できるようにしてくれるBaaS(Backend as a Service)の一種です。 2014年10月にGoogleに買収され、Google Cloud PlatformGCP)の一員となりました。この買収によりGCPにはPaaS(Platform as a Service)としてGoogle App Engine、IaaS(Infrastr

    Firebaseで作る簡単リアルタイムウェブアプリケーション(前編)
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • 1