Language)を作ります。資料としてのデータベース設計と、実装としてのデータベースに違いがでてしまう、ということがあります。このようなことを可能な限り防ぐために、どうしたらよいのかいろいろと試行錯誤してきたのですが、いったん解決の目処をつけましたので、まとめたいと思います。DDLの例DDLはおおむね、下記のような形でデータベースを定義します。ASC));仮に、あとから住所情報を登録するための項目が必要になった場合は下記のようにして項目を追加できます。`user_mailaddress`;これで住所用の項目(address)を、メールアドレス用項目(user_mailaddress)の後ろに追加することができました。資料が更新されずにどんどんと古い情報になってしまいがちです。忙しくなってくると「資料は後回し!」になってしまうのは(褒められたことではありませんが)かなりよく見受けられます。実装をもとにあとで資料を一挙に作ればよいのでは、というアプローチ(ツール)があります。ツールは、本番環境のデータベースに接続し、構造を解析し、Excelなどで設計書(らしきもの)を自動作成します。すれば実装と資料とに差異はでません。それなら「なんのための設計書(資料)か?」という気がします。設計はあくまで設計で、実装の前に行うべきものであり実装方針に間違いがないかレビューするためのものでもあります。実装情報を後追いで確認するためのものではないはずです。問題を解決するために(2)~資料をもとにDDLを作る一方、本来の手順どおりに、設計書をもとにDDLを作成する、というアプローチ(ツール)も存在しています。直接データベースシステムにテーブルそのものを作ったりします。実際に使ってみると、問題ないのはリリース前の開発段階だけでした。いうのは、このアプローチによるツールは、調べた限り、あくまで「作成」用のDDLしか作らず(冒頭の例でいえばCREATE文)差分を作るためのDDL(冒頭のALTER文)は作れないのです。一度リリースしてしまったシステムで、たとえばあとから「ユーザーの住所を追加したいね」となったら作成するべきDDLは、差分のみ(ALTER)です。根本的な問題意識はずっと変わりませんでした。少なくとも私が見つけたツール類でそれを実現することはできないのでした。結局、データベース設計書をみながら手作業でALTER文を作る、ということを繰り返してきました。実は、私自身もこれまで(2)に類するツールを、何度かExcelマクロで作成してきたのです。「差分(ALTER文)を自動生成する」というところにまでたどりついていませんでした。データベース設計にだけ目を向ければ、「新たに追加した項目の追加日」を設計書に明記しさえすれば、この日付をもとに「新しいテーブルなのか」「新しい項目なのか」を自動判断し、CREATE文またはALTER文を作ることができます。*そういう考えで作ったのがこれです。自動生成ツールDB設計ツール.zip設計書(例:DB論理設計20140601.xls)では、テーブルごと、項目ごとに「追加日」を記入することができます。リリース後に新たに追加する項目やテーブルには、「追加日」にその日を指定しておきます。「出力のベース日付」に「最後のリリース日」を指定して実行します。すると、「出力のベース日付」以降に追加されたテーブル・項目用のDDL(CREATE文とALTER文)を自動生成する仕組みです。いくつかの前提があります。COLUMNは作成しません)パーティションテーブルには対応してませんMITライセンスです技術者の方であれば、このファイルを解凍し、Excelファイルを開けばどう使うのか、すぐにおわかりになるのではないでしょうか。質問があれば、お問合せください。ご相談、ご質問などがありましたら何なりとお問い合わせください。)2.医療業界向けの業務改善システム※業務ウェブシステムの開発を効率化するための自社サービス「イルカベーカリー」をご提供しております。※医療業界向けに、臨床研究の無作為割付自動化のための自社サービス「ムジンワリ」をご提供しております。alert-warning">2017/1/1より、住所変更いたしました。中小企業様にご提案・開発してきた実績をもとに、システム構築について記載した様々な記事一覧です。様々な社内システムをご提案・開発してきた実績をもとに、システム構築について記載した様々な記事一覧です。情報システムをわかりやすく使いやすいものにするためのノウハウ、気をつけていることの記事一覧です。27個の記事UI(ユーザーインターフェース)は、システムの使い勝手を左右します。どんな点に気をつけているか、どんな考えでシステム開発しているかの記事一覧です。26個の記事これまで構築した様々なシステムのうち、顧客管理機能をどのような観点でご提案、開発しているかをまとめた記事一覧です。18個の記事これまで構築した様々なシステムのうち、受注情報を管理する機能をどのような観点でご提案、開発しているかをまとめた記事一覧です。要件定義とはどのようなシステムを構築するのかを決める作業です。要件定義において注意し、考えていることをまとめた記事一覧です。手作業をシステム化して効率化するだけでなく、それらの情報を集約して簡単に見えるようにし、社員が自律的に動ける組織を作ることが「みえる化」です。