ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Bases";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

皆さん、こんにちは。 私は日記を作ります。 タスクはどこで… 似ている枝を探す


@andrew   (2001-12-04 11:38) [0]

...入力した日付の一意性を確認する必要があります。 そのため、同時に2つのイベントはありません。 「insert into .....」の前に、テーブルコンストラクターまたはクエリにこのチェックを実行する方法を教えていないのですか? よろしくお願いします!



Val   (2001-12-04 13:11) [1]

チェックは必要ありませんが、この日付フィールドを含む一意のインデックス



@andrew   (2001-12-04 13:58) [2]

そして、これは「日付フィールドを含む」のようなものですか? フィールド「日付」が一意であることを意味しますか? これが意図されている場合、これは完全に適切ではありません。 実際に興味がある 時間間隔 イベントは交差しませんでした。 例 午前中に5から8までの1つのイベント。 もう1つは、6から7です。 インデックスの一意性をチェックすると、SQLで記録できますが、記録はできません。



@andrew   (2001-12-04 14:05) [3]

実際、あなたは私の問題を解決するためのいくつかのアルゴリズムを思いつくことができます。 私の頭の中で回転している最も基本的なもの、つまり、最初にすべての値を返し、次にそれらをソートして、見て...など -非常に長いブレーキ。 たぶん誰かが出会って、私の質問に対するいくつかの既成の解決策を知っているかもしれません:迅速かつシンプルでありながら、できればソフトウェアレベルではなく、SQLまたはSQLクエリレベルで ソフトウェアレベルの問題の解決方法では、多数のユーザーがすぐに作業する場合、「select * ...; check .....; if all-ok-insert something ....」という遅延が致命的になる可能性があります。

事前に感謝します!



Mick   (2001-12-04 14:07) [4]

通常、通常のマガジンは順番に書き込まれます。 日付はクライアントではなくサーバーによって挿入されます。 特定のプロセスが5で開始され、8で終了した場合、ジャーナルには開始の1レコード(午前中の5)、終了の1つのレコード(午前中の8)、およびその間に何が起こったかを示す一連のレコードがあります。



Nest   (2001-12-04 14:14) [5]

はい、昨日、私もそのような質問をしました。
しかし今のところ、私は彼の決定を延期しました-もっと重要なことがあります。
一般的に、期間は2meパラメーターで特徴付けられるべきだと思います。
start_time_ dateおよびend_time_date。
そのため、すべての瞬間にイベントのみが発生する可能性がある場合、イベントを入力するときは以下を確認する必要があります
[1.date_time_start <end_time_date]
2。end_time_timeが空または入力date_time_startより大きいエントリはありません。

おそらく、これらの考えを思い起こさせる必要があります-時間はありませんでした。
転がりますか?



@andrew   (2001-12-04 14:17) [6]

>ミック
そうでもない。
これは、コンピューターという言葉の意味の雑誌ではなく、主催者としての雑誌、つまり将来の計画を書き留めることができる日記です。



@andrew   (2001-12-04 14:24) [7]

>巣
ええ、原則として、アイデアは明確です。 しかし、これはソフトウェアソリューションです。 つまり 大まかに言って、何かを書き留める前に、次のことを行います。
1。 time_dateでソートして、すべてのレコードを返します。
2。 最終行になります(Query1.Last)
3。 挿入するものの開始時間が> =最後のレコードの終了時間である場合、挿入を実行できます。
ソフトウェアではなく、リクエストで同じことを行うことは可能ですか?

数人の同時作業で、あなたが台無しにできることをただ恐れています。



Nest   (2001-12-04 14:36) [8]

そして、なぜ乗ってみませんか?
1.Query1:最大値を選択(DCK)
2.If query1.fields [0] .asdatetime> DVN入力の場合、中止

確認を行い、単一のリクエストを挿入するには、私見である必要があります。%@ tsyaを削除することは悪くありません。 そして、ペアは難しくありません。



Nest   (2001-12-04 14:38) [9]

たぶんそれは可能です-ただ座って基本ロジックについて考え、WHEREリクエストでこれをどのように提示するかを考えてください。
私はアイデアを出しました-さらに考えてみてください。 私には本当に時間がありません。



Mick   (2001-12-04 14:39) [10]

ログテーブルの非正規化のパスをたどることができます。
構造:
1キーフィールド(任意の人工的なプライマリキー)
2日付
3時間フィールド(1日の時間数による)

次へ:
クライアントは挿入された間隔の連続性をチェックします(簡単)
テーブル内のトリガーは、同じ日付のレコードの同じ名前のフィールドにNOT NULL値があるかどうかを確認します。
存在する場合、イベントのオーバーラップをキャッチし、存在しない場合、すべてが正常です。



Sam   (2001-12-04 19:27) [11]

トリガーはどうですか?



kaif   (2001-12-04 20:17) [12]

数年前、私は医師との約束を整理するためのそのような正確なタスクを解決しました。 InterBaseで行いました。 アルゴリズムは完全に重要です。 これが迅速に機能するためには、もちろんインデックスが必要です。 ギャップを個別のレコードとして作成する必要がありました;ギャップを「つぶす」と「接着する」のストアドプロシージャが必要でした。 最初に、「空き時間のギャップ」が作成され、次に時間がかかるため分割されます。 したがって、その数は徐々に増加しています。 特定のケースは、これらのギャップの代理一意インデックスに関連付けられています。 多数のユーザーの同時アクセスで、迅速かつ一貫して機能しました。 私はよく考えて、さまざまなオプションを試しました。 個々のギャップを作成、削除、使用されるオブジェクトに変えなければ、他の良い解決策を見つけることができませんでした。



ページ: 1 全枝

フォーラム: "Bases";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.6 MB
時間:0.028 c
6-22302
イゴール
2001-10-11 20:10
2002.01.08
Delphiのソケット


7-22447
名前のありません
2001-08-26 03:43
2002.01.08
アイコンを更新する


1-22255
ドミトリー・カタエフ
2001-12-14 14:51
2002.01.08
IEで新しいメニュー項目を実装する方法。これは右ボタン(たとえば、Regetなど)によって呼び出されます。


14-22357
ヴィクトル・シェルバコフ
2001-11-01 12:40
2002.01.08
写真の回復


1-22088
ミハリョフ・ドミトリー
2001-12-19 14:58
2002.01.08
プログラムからイベントを呼び出す





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア ロシア語 セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский