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

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



10
(別の長さではなく)VARCHAR(255)が頻繁に使用されるのを確認する理由はありますか?
複数のコース、本、および仕事で、VARCHAR(255)として定義されたテキストフィールドを「短い」テキストのデフォルトの一種として見ました。良い丸めの数字である以外に、 255の長さが頻繁に選択される理由はありますか?正当な理由があった過去のある時点からのホールドアウトですか(それが今日適用されるかどうかにかかわらず)? もちろん、ストリングの最大長がどういうわけかわかっている場合は、より厳しい制限がより理想的であることを理解しています。ただし、VARCHAR(255)を使用している場合は、おそらく最大長がわからないことを示していますが、それは「短い」文字列であることだけを示しています。 注:私はこの質問を見つけました(VARCHAR(255)V TINYBLOB V TINYTEXT)、VARCHAR(と言っていたnが)必要とn個の保存の1バイトのn <= 255、n個のストレージの2つのバイトをn個 255>。これが唯一の理由ですか?VARCHAR(256)と比較して2バイトしか節約できず、VARCHAR(253)と宣言することで、簡単に別の2バイトを節約できるため、それは一種の恣意的なようです。



3
PDOは最後に挿入されたIDを取得します
クエリがあり、最後に挿入されたIDを取得したい。フィールドIDは主キーであり、自動インクリメントです。 私はこのステートメントを使用する必要があることを知っています: LAST_INSERT_ID() このステートメントは、次のようなクエリで機能します。 $query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())"; しかし、次のステートメントを使用してIDを取得したい場合: $ID = LAST_INSERT_ID(); 私はこのエラーを受け取ります: Fatal error: Call to undefined function LAST_INSERT_ID() 何が悪いのですか?
158 php  mysql  database  pdo 

6
3NFとBCNFの違いを簡単な言葉で(8歳まで説明できる必要がある)
見積もりを読みました。 データはキー[1NF]、キー全体[2NF]に依存し、キー[3NF]にのみ依存しています。 しかし、3.5NFまたはBCNFと呼ばれているとおりに理解できません。これが私が理解していることです: BCNFは3NFよりも厳しい テーブル内のFDの左側はスーパーキー(または少なくとも候補キー)である必要があります では、なぜ、いくつかの3NFテーブルがBCNFにないのでしょうか。つまり、3NFの引用は「キー以外には何もない」と明示的に述べており、すべての属性が主キーにのみ依存していることを意味します。主キーは、結局のところ、主キーとして選択されるまでの候補キーです。 これまでの私の理解に関して何か問題があれば、私を訂正してください。あなたが提供できるあらゆる助けに感謝します。

5
ORMとODMの違いは何ですか?
ORM(ODM(Object Document Mapper)がドキュメントを扱う)の概念を理解している限り、ORM(ODM(Object Relational Mapper))がデータ間の関係をマッピングする限り、ORMとODMの違いを理解しようとしています。mySQLはORMの例であり、MongoDBはODMの例であると私は思いますか? 私はあなたが見ることができると確信しているように、私は概念の理論にあまり詳しくありません。誰かが2つの違いを明確にしてくれませんか?
157 database  orm  odm 

2
SQL ON DELETE CASCADE、削除はどのように行われますか?
次のように、データベースに2つの関係がある場合: CREATE TABLE Courses ( CourseID int NOT NULL PRIMARY KEY, Course VARCHAR(63) NOT NULL UNIQUE, Code CHAR(4) NOT NULL UNIQUE ); CREATE TABLE BookCourses ( EntryID int NOT NULL PRIMARY KEY, BookID int NOT NULL, Course CHAR(4) NOT NULL, CourseNum CHAR(3) NOT NULL, CourseSec CHAR(1) NOT NULL ); そして、私はこのように2つの間に外部キー関係を確立します: …

30
ACID準拠のNoSQLデータストアはありますか?
この投稿を改善してみませんか?この質問に対する詳細な回答を提供します。これには、引用と、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 ACID準拠のNoSQLデータストアはありますか?
156 database  nosql  acid 

5
SQLiteの長所と短所と共有設定[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する SQLiteデータベースと共有設定の間で情報を保存するための適切なメカニズムは何ですか? 共有設定を使用する理由 sqliteを使用する理由 私はそれらの違いを見つけようとしました、そしてそれはデータ保存のためのより良いメカニズムですが、Googleで適切な答えを見つけることができません。例と説明で私を助けてください。

11
雄弁なORMを使用したLaravelへの一括挿入
Eloquent ORMを使用してLaravelでデータベースの一括挿入を実行するにはどうすればよいですか? Laravel:https ://stackoverflow.com/a/10615821/600516でこれを達成したいの ですが、次のエラーが発生します。 SQLSTATE [HY093]:無効なパラメーター番号:名前付きパラメーターと位置パラメーターが混在しています。

5
リレーショナルテーブルの命名規則
私は新しいプロジェクトを始めており、最初からテーブル名と列名を取得したいと考えています。たとえば、私は常にテーブル名に複数を使用してきましたが、最近学んだ単数は正しいです。 したがって、「user」というテーブルを取得して、そのユーザーだけが持つ製品を取得した場合、テーブルの名前を「user_product」または単に「product」にする必要がありますか?これは1対多の関係です。 さらに、(何らかの理由で)各製品について複数の製品の説明がある場合、それは「user_product_description」または「product_description」または単に「説明」でしょうか?もちろん、適切な外部キーが設定されている場合。ユーザーの説明やアカウントの説明などがあるため、説明に名前を付けるだけでも問題があります。 列が2つだけの純粋なリレーショナルテーブル(多対多)が必要な場合はどうなりますか?「user_stuff」または「rel_user_stuff」のようなものですか?そして、最初の場合、たとえば「user_product」とこれをどのように区別しますか? どんな助けも高く評価されます。皆さんがお勧めする命名規則の標準がある場合は、自由にリンクしてください。 ありがとう


9
Docker化されたPostgreSQLデータベースのバックアップ/復元
Docker Webサイトで説明されているように、PostgreSQLデータベースをバックアップ/復元しようとしていますが、データが復元されません。 データベースイメージで使用されるボリュームは次のとおりです。 VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] そしてCMDは: CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"] 次のコマンドでDBコンテナーを作成します。 docker run -it --name "$DB_CONTAINER_NAME" -d "$DB_IMAGE_NAME" 次に、別のコンテナーを接続して、データを手動で挿入します。 docker run -it --rm --link "$DB_CONTAINER_NAME":db "$DB_IMAGE_NAME" sh -c 'exec bash' psql -d test -h $DB_PORT_5432_TCP_ADDR # insert some data in the db <CTRL-D> <CTRL-D> 次に、tarアーカイブが作成されます。 $ …

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