• ベストアンサー

既定値や入力規則はプログラムとDBのどちらに実装すべきか?

ACCESS2000で開発しており、将来SQLサーバーExpress2005に移行したいと考えています。 ACCESSでは既定値や入力規則などは、プログラムのみに記述すべきか、テーブルの機能を利用すべきか、それとも両方に実装すべきか。何か定石がありましたら、お教えください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

昔はプログラムに記述するべきだと考えていましたが、 現在はテーブル定義の活用も必要だと感じます。 テーブル機能のエラーをそのままユーザに表示 するのはみっともないので、当然プログラムでの制御 をメインとし、テーブルでの制御は最後の砦とするのが 私の考えです。 理由1 プログラム以外でデータの直修正を行わなくては ならない場合にデータの不整合が発生する可能性がある が、テーブルに入力規則などがあれば防止できる。 理由2 開発時に担当者がプログラムのミスにすぐに気がつく。 こんなところですかね。いずれも開発時に時間が多少 多くかかりますが、将来のトラブルがその分防げる と思いますよ。

ton_jiru
質問者

お礼

ありがとうございます。

関連するQ&A

  • 既定のプログラム変更

    初歩的な質問で申し訳ないですが、よろしくおねがいします。 WindowsXPにて、空のCDを挿入した際に起動するプログラムの既定設定を解除し、挿入するたびに起動プログラムを選択できるようにしたいのですが、変更方法がわかりません。 「プログラムのアクセスと既定の設定」を見たのですが空のCDに関する項目は見当たりませんでした。 自分なりにインターネットで検索したところ、Vistaに関しての記述は発見できたのですがXPに関しては発見に至らず往生しています。 ちなみに現在の既定プログラムはWindowsMediaPlayerです。 回答よろしくお願いいたします。失礼しました。

  • 共有したい場合は何を共有フォルダに移行すればいいですか?

    会社の業務についてですが教えてください。 OS:2000 アクセス2003を使用しています。 SQL Server Management Studio Expressは2005です。 テーブルをSQL Serverへ移行して フォームが入ったMDBファイルをハードディスクに保存し SQL Serverにあるテーブルをリンクテーブルとして表示させたいのですが D:\My Documents\SQL Server Management Studio Express ごと共有フォルダに移行すればいいのでしょうか? それとも特定のフォルダ(「Projects」など)のみ移行するべきなのでしょうか? また移行後必要な設定などがあれば教えてください!

  • SQL Serverの移行について

    SQL Server2000からSQL Server2008へ 移行したいです。 Accessからリンクテーブルをして使用しています。 移行後、Accessのプログラムを実行しようとすると、 エラーが発生します。ODBC接続を使用しています。 リンクテーブルマネージャで再リンクしてみたのですが、 うまくいきませんでした。 何かうまくいくためのヒント等わかるかたいらっしゃいますでしょうか?

  • Windows Update で失敗するプログラムがあります

    Windows Vista Home Premiumを使っています。 Windows Updateを実行したところ、 SQL Server 2005 Express Edition Service Pack 2 の インストールで何度も失敗します。 再度Windows Updateを試みるとき、すぐにインストールが始まるので ダウンロードはされているようです。 マイクロソフトのホームページを読むと、SQL Server 2005 Express Edition Service Pack 2 は開発者向けのプログラムのようですが、 開発者以外のユーザーが使用することはあるのでしょうか? また、このSQL Server 2005 Express Edition Service Pack 2 を インストールしないと何か問題があるのでしょうか? 問題がある場合、インストールする方法をご教授していただきますよう お願いいたします。

  • ASPでwebショップをプログラムする

    webショップを作る予定ですが、 データベースにアクセスを使い、ASPでプログラムしようと考えています。 質問1:レンタルサーバーなどで、買い物かごが使えるところがありますが、自分のプログラムにその様な借り物を組み込むのが使い勝手が悪い(そんな事できるかどうかもわかりません)ので、自分でプログラムする事にしましたが、何か問題ありますか?単純に、買い物かご用のテーブルにINSERTしていくやり方です。 質問2:アクセスを使うのは問題ありますか?本当はSQLサーバーを使いたいのですが、高いので。。。 質問3:SSLを組み込む?実装する?プログラムする?のがイメージがわかないのですが。具体的にどうすればいいのですか?レンタルサーバーにSSL機能というのがかかれているのですが、使い方がわかりません。 一度に質問してしまって申し訳ありません。 特に質問3は不安材料になっていますので 教えていただけるとうれしいです。 また、質問に対する答えだけでなく、 Webショップ作成に対するアドバイスなどもしていただけたらうれしいです。 よろしくお願いいたします。

  • VBでSQL-serverをプログラムする

    VBでmdbファイルを操作するプログラムを勉強していますが、データベースをサーバー管理するならば、AccessではなくSQL-serverなどを使った方が良いと聞きました。 質問なんですが、 SQL-serverには、Accessと同じようにユーザーフォームを使ってデータベースシステムを構築するような機能が付いているのでしょうか? そもそもOracle、dBase、SQL-serverといったデータベースソフトは、DBそのものを作成するソフトであって、DBシステムを構築するにはVBなどによるプログラム開発が必要なのでしょうか? 分かりにくい質問ですみません。

  • DB構造移行したいが、同じ構造にならない

    SQL Serverについて教えていただきたく、よろしくお願いいたします。 既存のデータベースと同じ構造のデータベースを別のサーバに構築すべく以下の作業を行ないましたが同じにはなりませんでした。足りない点などご指摘いただければありがたく存じます。 【同じでないと判断した理由】 「移行元DB」と「移行先DB」からDB作成スクリプトを生成し、スクリプトを比較したが同一ではなかった(列制約の記述) 例えば、移行元DBでは次の2行とも存在しますが、移行先DBでは2行目の([列名])を含む行が生成されません。 GRANT SELECT ON [dbo].[テーブル名] TO [public] AS [dbo] GRANT SELECT ON [dbo].[テーブル名] ([列名]) TO [public] AS [dbo] 上記のGRANT以外については同一でした。 【行なった作業】 SQL Server Management Studioにて、「移行元DB」を右クリック→タスク→スクリプト生成→全てのオブジェクトの生成→詳細設定にてインデックス・トリガ・オブジェクトレベル権限の各スクリプトをTrueにし、サーバのバージョン互換のスクリプトを"SQL Server 2000"に→スクリプト生成。 生成したDBでも上記の手順にてスクリプトを生成し、両者を比較した。 【環境】 元DB:SQL Server 2000 移行先DB:SQL Server 2008R2 上記作業を行なったサーバ:SQL Server 2008R2 当方、SQL Serverは初心者です。変な言い回しなどありましたらどうぞご容赦ください。 ご回答いただければ幸いに存じます。どうぞよろしくお願いいたします。

  • ASP.NETからSQLServerに接続出来ない

    ASP.NETからSQLServerにアクセスしようとすると、ログイン画面が表示されてしまいます。 今まで、問題なく運用出来ていましたが、新たにデータベースにテーブルを追加し、それにアクセスする処理を実行したところ、ログイン画面が表示されてしまいました。実施した手順は、以下の通りです。 ノートPC(開発機)のMicrosoft Visual Web Developer 2005でデータベースのテーブルを新規追加し、プログラムを検証したところ問題なかったので、プログラムを本番機(サーバ)にコピーし検証しようと思い、サーバ側でSQL Server Management Express 2005を用いてテーブルを新規追加して検証したところ、ログイン画面が表示されてしまいました。 実施した手順 1.ASP.NETのプログラム内で、新しいテーブルを参照する処理を追加。 2.ノートPC(開発機)内のMicrosoft Visual Web Developer 2005でテーブルを新規追加し、プログラムを検証。問題なくアクセスできた。 3.ノートPC(開発機)から本番機サーバにプログラムをコピー。 4.本番機サーバのSQL Server Management Express 2005でテーブルを新規追加。 5.本番機でプログラムを実行したところ、ログイン画面が表示されてしまった。 補足:従来のテーブルはsa認証なので、同様にsa認証でテーブルを追加。 データベース:SQLServer2005 OS:WindowsServer2003 SD SP2 このような場合は、どのように対応したら良いのでしょうか? ご存知の方いらっしゃいましたら、ご教授願います。 よろしくお願いいたします。

  • 「メモ型」をハイパーリンクにしたい(SQL Server ⇔access)

    「SQLサーバーのテーブルを既存のアプリケーションにリンクさせる」 でアクセスのテーブルをSQLサーバーへ移行し そのテーブルを「テーブルのリンク」でアクセスに表示させています。 (地球マークのアイコンが表示される) そのとき 元々アクセスでは「ハイパーリンク型」だったフィールドが、 SQLサーバーへ移行したら「メモ型」に変わりました。 アクセスのときはハイパーリンクをクリックすればURL先に飛べたのですが 「テーブルのリンク」で表示させているデータはメモ型な為、 #http://~# となってしまっています。 これをクエリでもなんでもいいので クリックしてURL先に飛べるようにするにはどうすればいいでしょう? よろしくお願いします。

  • 現在リンクテーブルで繋いでいるテーブルをSQLサーバーへ移行しようと思うのですが

    現在リンクテーブルで繋いでいるテーブルをSQLサーバーへ移行しようと思うのですが 「SQLサーバーのテーブルを既存のアプリケーションにリンクさせる」 「新しいAccessクライアント/サーバ-アプリケーションを作成する」 のどちらがいいのでしょうか。 よろしくお願いします。