タグ

2024年1月12日のブックマーク (6件)

  • SQLアンチパターン

    ジェウォークについて 多対多の中間テーブルを作成しないでリスト構造で1カラム内に複数データを入れてしまうケース アンチパターン:カンマ区切りのリストを格納する -- ex. account_ids を文字列のカンマ区切りで表現している INSERT INTO foo_table (id, name, account_ids) VALUES (1, "jon", "10,20,30"); 上手くいっていると思える点 多対多の関係性が必要になってもリスト構造のカラムを追加することで表現できる アンチな点 検索のパフォーマンスに影響がでる 検索クエリの条件をパターンマッチにしないと特定の項目を抽出できない 条件式によっては意図しない結果が取れてしまう(WHERE区で正規表現を正しく書く必要がある) インデックスの効果も得られない 結合条件を作るのも一苦労 リスト構造にすることはカラムの型としては

  • 6つのデータベーススキーマ設計のご紹介とその活用法 - Qiita

    この記事では、データベーススキーマとは何か、6つのデータベーススキーマ設計、およびそれらがどのように、なぜ使用されるのかについて説明します。 データベースの構築には、様々な工夫が施されています。構築前には、開発者は何を含むべきか、異なる側面がどのように連動するかを計画します。この計画により、データベースがその用途に必要な設計であることが保証されます。そして、コーディング担当者はスキーマを使用してデータベースの設計を実装します。 データベーススキーマは、開発者がデータベースをどのように構築すべきかを可視化するための設計図です。プロジェクトに含まれる情報のフィールドを示す参照点を提供し、何か問題があった場合、開発者はスキーマを参照して対策を講じます。 また、データ管理者はスキーマを使用して、データベースを実装する前に完全に設計されていることを確認します。なぜなら、一旦データベースを実装すると、

    6つのデータベーススキーマ設計のご紹介とその活用法 - Qiita
  • BOM(部品表)マイスターの知恵袋

    趣旨 昨今,製造業各社は,環境対応や品質問題によるリコール対応にてんてこ舞い。こうした問題に対応するには,製品の基礎情報整備が必須となる。これが「製造業はPLM(Product Lifecycle Management)経営を実践せねばならぬ」という背景にある。しかしPLM経営を実行することは,とてもハードルが高いように感じる方が大半。そんな大げさなシステムを入れなくてはならないのか,大規模にデータやコード体系を改めなくてはならないのか,といった議論になってしまう。 実はPLMの基は,部品情報と製品を組成する部品の組み合わせ情報を管理することに過ぎない。ごくシンプルな仕事の仕方だ。コツは要るが,それほど難しくない。部品情報と部品の組み合わせ情報は正にBOM(部品表)の世界であり,これらを整理整頓するだけなのだ。 連載では,直近に製造業で起きた事件・課題の解決を,BOMの世界から具体的に

    BOM(部品表)マイスターの知恵袋
  • 2つの階層構造「自己参照型」と「部品表型」 - 設計者の発言

    「階層型」のデータ構造は業務システムでしばしば目にするものだが、苦手意識を持っている開発者が少なくない。その原因として「自己参照型」と「部品表型」とが区別できていない点を指摘できる。これらを確実に区別して、ややこしい階層構造を攻略しよう。 ■自己参照型と部品表型 まずは、比較的わかりやすい「自己参照型」について説明しよう。インスタンス付きのデータモデルを見てもらえばよくわかる(図1)。組織レコードが「上位組織ID」で他の組織レコードを参照するので「自己参照型」と私は呼んでいる。組織階層の他に、フォルダ構成や勘定科目の体系もこれに含まれる。 図1.自己参照型の例 自己参照型に「有効期間」を与えると、図2のようになる。上位組織IDは{組織ID+発効年月}の複合主キーを持つテーブル「期間別組織属性」の属性として置かれる。期間別組織属性の上に存在する同じ組織IDを持つ複数レコードが存在するとして、

    2つの階層構造「自己参照型」と「部品表型」 - 設計者の発言
  • やさしい図解で学ぶ 中間テーブル 多対多 概念編 - Qiita

    中間テーブルって? "join table もしくは junction table"とも呼ばれ、その名の通り、2つのテーブルの中間にもう一つ、それぞれに接続されたテーブルを指します。 ↓ER図で見てみると これが"中間テーブル"です。(ER図とは?やER図の見方はこちら) では、簡潔にどんな時に用いるかというと 下図のように2つのテーブルの間に " 多対多 " という関係性が生まれた時、ある問題を解決する1つの方法としてこの中間テーブルを配置します。 多対多の意味がなかなかわかりにくいかと思いますので、これから詳しく図解を使ってちょっとずつ掴んでいきましょう。 1.まずは多対多のイメージ 多対多とは........ 例えば、 下の画像のようなプログラミング学習サイトを製作しているとします。 このサイトではユーザーは学習したいプログラミングコースをカスタマイズして選ぶことができるとします。

    やさしい図解で学ぶ 中間テーブル 多対多 概念編 - Qiita
  • 【連載記事】ユーザーのためのデータモデル入門 : 富士通エンジニアリングテクノロジーズ

    新しく、「ユーザーのためのデータモデル入門」という連載をはじめることになりました。データモデルについて書かれたはたくさんありますが、殆どはデータモデルを作る人のために書かれたで、データベースの設計のために必要な正規化の手順とかそういったことが書かれています。ただ、モデルは読む人がいて初めて目的を達成するものですから、そのために必要なことを中心に解説したものがあってもいいのではないかと思い、この連載を計画しました。いままでこのジャンルを敬遠していた方も、お付き合いいただけると幸いです。 JEMUG会長 國澤 直樹 私たち、「Japan Enterprise Modeling ユーザー会(JEMUG)」は、1997年からモデリング・ツールのベストセラーである、CA ERwin Data Modeler(以下「ERwin」という)のユーザー会として活発な活動を展開してまいりました。 ユーザー