タグ

設計とデータベースに関するmasayoshinymのブックマーク (17)

  • DBの正規化ってどこまでガチガチにやるべきでしょうか?

    回答 (16件中の1件目) 思いつき気味に「軽ーい」気持ちでポエム的に書いちゃいますが・・・ 現場に軸足を置いた立ち位置での「そもそも論」で語ってしまうと、そもそも、現場の問題解決や設計においては、頭でっかち気味の「・・・やるべき」という考え方は適切でない気がしています。 何かの「教科書」どおりにシステムを作ったからと言って、先生に褒められるわけでもないわけですし、それだけで無条件に何か良いことが起きるわけでもありません。 ただ、「教科書」などに書かれている方法論が全く意味がないわけではありません。方法論が解決しようとしている問題が、「あなたの」現場にマッチしている場合は有用です。...

    DBの正規化ってどこまでガチガチにやるべきでしょうか?
  • 業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編

    はじめに こんにちは。 GMOアドマーケティングのKONCEです。 新卒で入社し、数年経ちました。日々の業務で学ぶことは多いですが、今年度は技術の深堀りをテーマにやっていきたいと思っています。 今回は入社してDBSQLに関しては業務内で学ぶことが多く、特別訓練をしていたわけではなかったのですが、「SQLアンチパターン」を用いて学びながら、改めて自分の現状を見つめ直していけたらと思います。 今回は学習を行う側面と自分自身のレベルについて見直していきたいので 知っていた → ○ 部分的に知っていた → △ 知らなかった → × を付けてみようと思います。 目次 SQLアンチパターンについて Ⅰ部 データベース論理設計のアンチパターン 2-1. [○]1章 ジェイウォーク(信号無視) 2-2. [×]2章 ナイーブツリー(素朴な木) 2-3. [○]3章 IDリクワイアド(とりあえずID) 2

    業務でどれだけSQL力がつくのか ~SQLアンチパターンを用いて確認~ 前編
  • RDBMSの苦手なことを 如何に乗り越えていくか / challenge-to-rdbms

    # 参考資料 - イミュータブルデータモデル(入門編) - https://www.slideshare.net/kawasima/ss-40471672 - イミュータブルデータモデル(世代編) - https://www.slideshare.net/kawasima/ss-44958468 - スタースキーマ(基礎) - https://zenn.dev/pei0804/articles/star-schema-design - ディメンション・モデリング - https://zenn.dev/pei0804/articles/dimensional-modeling - 失敗から学ぶRDBの正しい歩き方 - https://amzn.to/3vfD5nJ

    RDBMSの苦手なことを 如何に乗り越えていくか / challenge-to-rdbms
  • SQLアンチパターンもりもりDBを設計しよう! - Qiita

    概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良いなので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とりあえず考えることの多い”お金”を扱うシステムを想定してみます。 私はブラックジョークが好きなので、今回は「ちょっと怖い金融屋さんが使う債務者管理システム」のER図を設計してみようと思います。 ざっくりした要件 債務者を登録でき、プロフィールを入力できる。 債

    SQLアンチパターンもりもりDBを設計しよう! - Qiita
  • 履歴を持つデータの設計

    酔いどれ設計ナイト2019の発表資料です。

    履歴を持つデータの設計
  • 複雑な仕組みと向き合い、会計システムをリプレイスした話 - Qiita

    この記事は、「ランサーズ Advent Calendar 2018」の24日目の記事になります。 前日の記事は、@godgarden の「ランサーズに出戻って1年。担当した開発プロジェクトを振り返る。」でした。 はじめに この記事の目的 今年、ランサーズの会計システムのリプレイスを行ったので、リプレイスに至った背景、どのようなシステムにしたのかを書いていきます。 世の中に技術的なトピックはいろいろ上がってますが、ウェブサービスにおける会計システムの記事はあまりなかったので、こう言った課題に向き合っている方の参考になればと思います。 なぜ会計が必要か どんな事業・サービスにも継続していくには、運営するための利益が必要であり、その売上を管理するためには正しい売上の集計が必要です。このあたりは、どんなスタートアップのサービスでも気にして運営されていると思います。 そして、会社がパブリックになるに

    複雑な仕組みと向き合い、会計システムをリプレイスした話 - Qiita
  • データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳

    岡山にはオープンセミナー岡山と言う最高のイベントがあります。 okayama.open-seminar.org 昨日は id:t-wada さんや id:naoya さんの資料がホットエントリー入りしてました。 この登壇はそれと同じイベントになります。 その他の方も超豪華講師陣の中で、私が出来る精一杯の経験も踏まえたお話をさせていただきました。 speakerdeck.com この中で出て来る、データベースリファクタリングは当に素晴らしいです。 OracleベースなのですがMySQLだろうがPostgreSQLだろうが必ずためになるです。 ですが、このは既に廃刊になっており再販の予定もありません… 僕は後世に絶対必要なの一つだと思っているので再販のためにも皆さんの要望の声を上げていただけるとうれしいです。 そしたらもしかしたらが世に復活するかもしれません。 またSQLアンチパタ

    データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳
  • CircleCI x SchemaSpyでER図を新しくし続ける - hatappi.blog

    こんにちは @hatappi です 今回はCircleCIネタです 以前CircleCIを使って下記のようなものを作っていました qiita.com 何かとCircleCIにはお世話になってます 業務などでER図やテーブル定義書などを書く機会あると思います Excel? Google Sheets? MySQL Workbench? Cacoo?(html5化待ち遠しい) 色んな手段がありますが基はユーザーがメンテしてあげないと腐ります 😇 最初は頑張って更新するぞ!!と用意しても、どこかのタイミングで更新しなくなって中途半端な状態になり、それを新しく入った人が見て混乱するみたいなことがありました もう人が更新するのはやめたい 私はRailsを使っているのでmigrationしてテーブルを作成したりしているので、そのタイミングで勝手に作ってほしい データベースはMySQLです gem

    CircleCI x SchemaSpyでER図を新しくし続ける - hatappi.blog
  • 若手プログラマー必読!5分で理解できるER図の書き方5ステップ

    データベース設計の基中の基であるER図。ER図を書きたいけど、「記法が分からない」「どういうステップで書けば良いか分からない」という若手エンジニアも多いのではないでしょうか。 ER図は10種類近くあり、種類によって記法が異なります。このことが難しいイメージを与えていますが、実はそれほど難しいものではありません。覚えれば良いER図は2種類だけです。 しかも、この記事で解説している基礎知識を押えれば、たった5つのステップで作成することができます。 この記事では、ER図の基礎知識からER図の書き方まで、エンジニアが抑えておくべきER図の全知識をどこよりも分かりやすく解説します。 この記事を読み終えたとき、若手エンジニアもER図を書けるようになっているでしょう。 この記事を参考に最適なデータベース設計を進めて下さい。 1.ER図とは ER図とは、「データベース設計(データモデリング)で使う設計

    若手プログラマー必読!5分で理解できるER図の書き方5ステップ
    masayoshinym
    masayoshinym 2016/10/07
    5分で理解…5分?
  • アーキ部:テーブル設計をやってみよう! - そこに仁義はあるのか(仮)

    毎週金曜の定時後に弊社でアーキ部なるものが開催されています(✌'ω' ✌) スピードラーニング的に@kawasimaさんのお話を聞く会ですが、今週はテーブル設計がテーマでした! この記事がすごく良かったので、触発されてブログ書く!!! developer.hatenastaff.com お題 ↓のお題が出て、テーブル設計を考えてみるはなし。 要求仕様は以下のとおり。 ・宿の部屋は、シングルやツインのような部屋タイプが設定できます。 ・宿側で宿泊プランを設定できます。宿泊プランは適用される日付が設定できます。 ・プランには複数の部屋タイプが含まれることがあります。 ・宿側でプラン・部屋タイプ・宿泊日ごとに宿泊費の設定ができます。 ・カスタマはプラン・部屋タイプ・宿泊日を指定して宿泊予約ができます。 ・予約は会員でも非会員でも可能です。 ・また、会員・非会員に関わらず、宿をお気に入りに登録でき

    アーキ部:テーブル設計をやってみよう! - そこに仁義はあるのか(仮)
  • DB論理設計のノウハウ - Qiita

    DB設計の概要を簡単におさらいした後、論理設計について主にまとめていきます。 DB設計の全体手順のおさらい DB設計は、大きく論理設計と物理設計に分けられます。 概念スキーマを定義します。 エンティティの抽出 エンティティの定義 正規化 ER図の作成 物理設計 論理設計の結果を受けて、データを格納するための物理的な領域や格納方法を決めます。 テーブル定義 インデックス定義 ハードウェアのサイジング ストレージの冗長構成決定 ファイルの物理配置決定 テーブルの構成要素のおさらい 行と列 行(レコード):横のデータの組 列(カラム):縦のデータの組 キー キーとは、DBのテーブルから特定のデータを引き出すための鍵です。 主キー:その値を指定すれば、必ず一行のレコードを特定できるような列の組み合わせのこと。一意にレコードを識別するためにある 外部キー:2つのデーブル間の列同士で設定するもの。参照

    DB論理設計のノウハウ - Qiita
  • jCanvasによる楽々グラフィック描画 - Qiita

    データベースと言ったら、何を連想しますか?SQLOracle?いろいろと出てくると思いますが、きっと10位以内に入ってるキーワードとして、必ず「ER図」はあると思います。ER図は書くのが面倒なので、もし手元にある実際のデータベースからER図を自動的に書いてくれたら、こんなに楽なことはないですよね?はい、作ってみました。 この機能を作るために、いくつか図を描画するためのライブラリを検討しました。しかし、しっくり来るものは残念ながらありませんでした。一つ使えそうだったのがJointJSだったのですが、依存ライブラリとして「jQuery, Backbone, Lodash, Geometry, Vectorizer」というそうそうたるメンバーが必要で、やむなく断念しました。そう、ないものは自分で作るしかありません。ER図のような作図は、オブジェクトを描画すること自体は難しくありません。とにかく

    jCanvasによる楽々グラフィック描画 - Qiita
  • SQLアンチパターン - ジェイウォーク

    AIAWSで現世から離れる試み-仕事がちょっと大変な時もあったりするから�俺のかわりにAIにシステム作ってもらえるシステム作った話.pptxJun Suzuki

    SQLアンチパターン - ジェイウォーク
    masayoshinym
    masayoshinym 2015/09/14
    思いっきりアンチパターンやろうとしてたところだったので助かった。
  • DELETE_FLAG を付ける前に確認したいこと。 - Qiita

    DELETE_FLAG という思考停止フラグ DELETE_FLAG という boolean の列が DB 設計でよく話題になります。 論理削除という言葉で上手に論理武装し、スキを見せるとすぐに入れたがる人がおり、 一方でそれにつよく反対する人もいます。 自分の経験としては、広義の論理削除はありえると思いますが、実現方法が DELETE_FLAG だとなった時、それはあまり考えてないでなんとなくパターンとして盛り込んでる場合が多いと感じます。 ただし、設計に唯一の答えは無いので、もしかしたらそれが妥当な設計である場合があるかもしれません。 今回は「DELETE フラグがなぜダメなのか?」などという話をするつもりも、アンチパターンだと断言するつもりもありません。 問題は、仕様をきちんと把握すると、「最適な設計は DELETE_FLAG ではない」という場合が有って、その場合は、その最適な設計

    DELETE_FLAG を付ける前に確認したいこと。 - Qiita
  • DB設計でこだわりたい三つの要素

    http://connpass.com/event/10849/ しょぼちむにデータモデル設計について教えてくださいの会 #syoboben で話した資料です。

    DB設計でこだわりたい三つの要素
  • sqlt-diagram - 気軽に簡単にデータベースのダイアグラムを作成するソフトウェア MOONGIFT

    sqlt-diagram はPerl製のオープンソース・ソフトウェアです。データベース構造を示すスキーマからイメージファイルを作成するCUIのソフトウェアになります。面倒な設定は必要ありません。テーブル構造やテーブル同士の相関を気軽に確認できる便利なソフトウェアです。 sqlt-diagram の主な特徴 1) 面倒な設定は不要 コマンドラインでデータベースの種類、出力先、スキーマを記したファイル名を指定するだけです。以下は実行例となります。データベースは SQLite で、PNG形式の画像を出力します。 sqlt-diagram -d=SQLite -o=sample.png sample.sql 2) 画像は PNG/JPEGが選択可能 既定値はPNG形式となります。 3) フォント・サイズを4種類 small、medium、large、huge の4種類を指定できます。既定値は me

    sqlt-diagram - 気軽に簡単にデータベースのダイアグラムを作成するソフトウェア MOONGIFT
  • erd – ER図を作成するコマンドラインツール

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました データベースのダイアグラム(ER図)を作成する Haskell 製のコマンドラインツールです。テキストエディタで定義ファイルを作成し、コマンドを実行することでダイアグラムとなる画像を作成します。データベースを設計する際、テーブルとその関連付けについて全体像を手早く作成したい、そんな時に便利なソフトウェアです。 erd の主な特徴 1) データベースの全体像の設計に集中できる ダイアグラムにあるテーブル同士の配置など気にすることなく、とにかく全体的な設計を行いたい時に便利です。GUIツールも便利ですが、使い慣れたテキストエディタで、キーボードから手を離すことなく、思うままに設計を進めることができます。 2) er ファイルが必要 er ファイルと呼ぶ定義ファイルを作成します。このer

    erd – ER図を作成するコマンドラインツール
  • 1