タグ付けされた質問 「database」

データベースは、整理されたデータの集まりです。これは、スキーマ、テーブル、クエリ、レポート、ビュー、およびその他のオブジェクトのコレクションです。データは通常、情報を必要とするプロセスをサポートする方法で現実の側面をモデル化するように編成されます。データベースの設計について質問がある場合は、このタグを使用してください。特定のデータベース管理システム(MySQLなど)に関するものである場合は、代わりにそのタグを使用してください。

5
Oracle Database 11gで新しいスキーマ/新しいユーザーを作成するにはどうすればよいですか?
私は会社でのインターンシップに応募しましたが、質問として、特定の要件を備えた会社のスキーマを作成し、DDLファイルを郵送するように求められました。Oracle Database 11g Express Editionをインストールしましたが、Oracle Database 11gで新しいスキーマを作成するにはどうすればよいですか?ネットで解決策を探しましたが、どうしたらいいのかわかりませんでした。スキーマを作成した後、どのファイルをメールで送信する必要がありますか?

10
SQLServerで同じ例外を再スローする方法
tryブロックで発生したばかりのSQLServerで同じ例外を再スローしたいと思います。同じメッセージをスローできますが、同じエラーをスローしたいと思います。 BEGIN TRANSACTION BEGIN TRY INSERT INTO Tags.tblDomain (DomainName, SubDomainId, DomainCode, Description) VALUES(@DomainName, @SubDomainId, @DomainCode, @Description) COMMIT TRANSACTION END TRY BEGIN CATCH declare @severity int; declare @state int; select @severity=error_severity(), @state=error_state(); RAISERROR(@@Error,@ErrorSeverity,@state); ROLLBACK TRANSACTION END CATCH RAISERROR(@@Error, @ErrorSeverity, @state); この行にはエラーが表示されますが、そのような機能が必要です。これにより、エラー番号50000のエラーが発生しますが@@error、渡したエラー番号をスローしたいのですが、 フロントエンドでこのエラーをキャプチャしたいと思います。 すなわち catch (SqlException ex) { if ex.number==2627 MessageBox.show("Duplicate value …


14
Railsを使用して、主キーを整数型の列ではないように設定するにはどうすればよいですか?
Railsの移行を使用してデータベーススキーマを管理しており、主キー(特に文字列)として非整数値を使用したい単純なテーブルを作成しています。私の問題から抽象化するためにemployees、従業員が英数字の文字列で識別されるテーブルがあるとしましょう"134SNW"。 次のような移行でテーブルを作成してみました。 create_table :employees, {:primary_key => :emp_id} do |t| t.string :emp_id t.string :first_name t.string :last_name end これが私に与えるのは、その行t.string :emp_idを完全に無視して先に進み、整数列にしたように見えることです。execute呼び出しでSQLを記述せずに、railsにPRIMARY_KEY制約(PostgreSQLを使用しています)を生成させる他の方法はありますか? 注:文字列列を主キーとして使用するのは最善ではないことを私は知っているので、整数の主キーを追加するというだけの答えはありません。とにかく追加するかもしれませんが、この質問はまだ有効です。

2
H2とHSQLDBのどちらが優れていますか?[閉まっている]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 8年前に閉鎖されました。 HSQLDB2.0はまもなくリリースされます。私の知る限り、ほとんどのユーザーはHSQLDBよりもH2を好むので、H2よりもパフォーマンスが優れているのではないかと思います。HSQLDB2.0のMVCCサポートに興味があります。H2のMVCCはまだ実験段階であることがわかりました。サポート/ドキュメント化、並行性、パフォーマンスに関して、どちらが優れていますか?

3
アチーブメントシステムをコーディングするための最良の方法
自分のサイトで使用するアチーブメントシステムを設計するための最良の方法を考えています。データベース構造は、3つ以上の連続したレコードが欠落していることを伝えるための最良の方法で見つけることができます。このスレッドは、実際には開発者からアイデアを得るための拡張機能です。 このウェブサイトでバッジ/達成システムについて多くの話をしているときに私が抱えている問題は、それだけです-それはすべて話であり、コードはありません。実際のコード実装例はどこにありますか? ここで、人々が貢献してくれることを願っているデザインを提案し、拡張可能なアチーブメントシステムをコーディングするための優れたデザインを作成できることを願っています。これが最善だと言っているわけではありませんが、それは可能性のあるスターティングブロックです。 お気軽にご意見をお寄せください。 私のシステム設計のアイデア 一般的なコンセンサスは、「イベントベースのシステム」を作成することであるようです。投稿の作成、削除などの既知のイベントが発生するたびに、そのようにイベントクラスが呼び出されます。 $event->trigger('POST_CREATED', array('id' => 8)); 次に、イベントクラスは、このイベントを「リッスン」しているバッジを見つけ、次にrequiresそのファイルを見つけて、次のようにそのクラスのインスタンスを作成します。 require '/badges/' . $file; $badge = new $class; 次に、呼び出されたときtriggerに受信したデータを渡すデフォルトのイベントを呼び出します。 $badge->default_event($data); バッジ ここで本当の魔法が起こります。各バッジには、バッジを授与するかどうかを決定するための独自のクエリ/ロジックがあります。各バッジは、たとえば次の形式で設定されます。 class Badge_Name extends Badge { const _BADGE_500 = 'POST_500'; const _BADGE_300 = 'POST_300'; const _BADGE_100 = 'POST_100'; function get_user_post_count() { $escaped_user_id = mysql_real_escape_string($this->user_id); $r = mysql_query("SELECT COUNT(*) …


6
クライアント/サーバーデータベースの同期
中央サーバー上のデータを、常にオンラインであるとは限らないクライアントアプリケーションと同期するためのいくつかの一般的な戦略を探しています。 私の特定のケースでは、sqliteデータベースを備えたAndroid電話アプリケーションとMySQLデータベースを備えたPHPWebアプリケーションがあります。 ユーザーは、電話アプリケーションとWebアプリケーションで情報を追加および編集できるようになります。電話がサーバーとすぐに通信できない場合でも、1か所で行った変更がすべての場所に反映されるようにする必要があります。 電話からサーバーに、またはその逆にデータを転送する方法には関心がありません。たとえば、MySQLで利用可能なレプリケーション機能を使用できないという理由だけで、特定のテクノロジについて言及しています。 クライアント/サーバーデータの同期の問題が長い間発生していることを知っています。問題を処理するためのパターンに関する情報(記事、書籍、アドバイスなど)が必要です。同期を処理して長所、短所、およびトレードオフを比較するための一般的な戦略について知りたいのですが。

5
SQLiteテーブルから最後の自動インクリメントIDを取得するにはどうすればよいですか?
ID(主キー、自動インクリメント)列とコンテンツ(テキスト)列を持つメッセージテーブルがあります。 ユーザー名(主キー、テキスト)とハッシュの列を持つユーザーテーブルがあります。 メッセージは1人の送信者(ユーザー)から多くの受信者(ユーザー)に送信され、受信者(ユーザー)は多くのメッセージを持つことができます。 MessageID(MessagesテーブルのID列を参照)とRecipient(Usersテーブルのusername列を参照)の2つの列を持つMessages_Recipientsテーブルを作成しました。このテーブルは、受信者とメッセージの間の多対多の関係を表します。 だから、私が持っている質問はこれです。新しいメッセージのIDは、データベースに保存された後に作成されます。しかし、この新しいMessageIDを取得するために、追加したばかりのMessageRowへの参照を保持するにはどうすればよいですか?もちろん、最後に追加された行をデータベースでいつでも検索できますが、マルチスレッド環境では別の行が返される可能性がありますか? 編集:私はSQLiteについて理解しているので、を使用できますSELECT last_insert_rowid()。しかし、ADO.Netからこのステートメントを呼び出すにはどうすればよいですか? 私の永続性コード(メッセージとmessagesRecipientsはDataTablesです): public void Persist(Message message) { pm_databaseDataSet.MessagesRow messagerow; messagerow=messages.AddMessagesRow(message.Sender, message.TimeSent.ToFileTime(), message.Content, message.TimeCreated.ToFileTime()); UpdateMessages(); var x = messagerow;//I hoped the messagerow would hold a //reference to the new row in the Messages table, but it does not. foreach (var recipient in message.Recipients) { var …


13
73億行の市場データを保存する方法(読み取るように最適化)?
1998年以降の1000株の1分間のデータのデータセットがあり、その合計(2012-1998)*(365*24*60)*1000 = 7.3 Billionは行の周りにあります。 ほとんど(99.9%)は、読み取り要求のみを実行します。 このデータをデータベースに保存するための最良の方法は何ですか? 7.3B行の1つの大きなテーブル? 1000テーブル(銘柄記号ごとに1つ)、それぞれ730万行? データベースエンジンの推奨事項はありますか?(Amazon RDSのMySQLを使用する予定です) 私はこれほど大きなデータセットを扱うことに慣れていないので、これは私が学ぶ絶好の機会です。私はあなたの助けとアドバイスに感謝します。 編集: これはサンプル行です: 「XX」、20041208、938、43.7444、43.7541、43.735、43.7444、35116.7、1、0、0 列1は銘柄記号、列2は日付、列3は分、残りは始値-高値-安値-終値、出来高、および3つの整数列です。 ほとんどのクエリは、「2012年4月12日12:15から2012年4月13日12:52までのAAPLの価格を教えてください」のようになります。 ハードウェアについて:Amazon RDSを使用する予定なので、柔軟に対応できます。
84 database 


6
データベースに営業時間を保存する
私は現在、営業時間をデータベースに保存するための最良の方法を模索しています。 例えば: ビジネスAの営業時間は次のとおりです 月曜日:午前9時〜午後5時 火曜日:午前9時〜午後5時 水曜日:午前9時〜午後5時 木曜日:午前9時〜午後5時 金曜日:午前9時〜午後5時 土曜日:午前9時〜正午 日曜日:休業 現在、私は次のようなデータモデルを持っています CREATE TABLE "business_hours" ( "id" integer NOT NULL PRIMARY KEY, "day" varchar(16) NOT NULL, "open_time" time, "close_time" time ) ここで、「日」はコード内の7日間の選択に制限されています(ORMを介して)。ビジネスが特定の日に休業しているかどうかをテストするために、open_timeとclose_timeがNULLであるかどうかを確認します。これは、中間テーブル(多対多の関係)を介してビジネスに関連しています。 このデータベーススキームについて何か提案はありますか?それについての何かが私には正しくないようです。


9
ORA-00904:識別子が無効です
Oracleデータベースを使用して次の内部結合クエリを作成しようとしました。 SELECT Employee.EMPLID as EmpID, Employee.FIRST_NAME AS Name, Team.DEPARTMENT_CODE AS TeamID, Team.Department_Name AS teamname FROM PS_TBL_EMPLOYEE_DETAILS Employee INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID それは以下のエラーを与えます: INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID * ERROR at line 4: ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier 1つのテーブルのDDLは次のとおりです。 CREATE TABLE "HRMS"."PS_TBL_DEPARTMENT_DETAILS" ( "Company Code" …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.