2017-07-17 14 views
2

こんにちは私はCS分野では新しいですが、この質問をする前に私はすでにそれを探そうとしていましたが、それは私が見つけた2つの定義を混乱させました。 。 このリンクで私は正しい答えが複数見つかりましたか? What is purpose of database schema?データベーススキーマは正確に何ですか?

私は両方が互いに異なる私をガイドしていると思います。この事は私のために私を混乱させた。..

1)SQLスキーマは、オブジェクトのコンテナです。たとえば、大規模なエンタープライズアプリケーションを使用している可能性があります。さまざまな目的で異なるスキーマを使用することをお勧めします(HR関連のテーブルをHRスキーマに、会計関連のテーブルを会計スキーマに入れるなど)。スキーマは任意のユーザーが所有でき、所有権は譲渡することができます。

2)データベーススキーマは、そのテーブルのすべてを含むデータベースの全体構成を、説明する定義であり、関係、インデックスなど

私の質問は、私が利用可能な複数の回答を読んだことが異なっているが、私はもっ​​と混乱させた複数の答えを見つけた。

答えて

2

どちらも正しい。 「スキーマ」には複数の意味があります。最初の意味は、オブジェクトコンテナであるCREATE SCHEMAで得られる種類のスキーマです。 2番目の意味は、SQL Serverに依存しない「データベーススキーマ」の一般的な意味です。通常、意味が意図されている文脈から明らかです - 「データベーススキーマ」は一般的には特異ですが、単一のデータベース内の「スキーマ」はコンテナを参照します。したがって、特に混乱させたい場合は、複数のスキーマがあり、その中に複数のスキーマがあることを話すことができます。

2

簡単に言えばSchemaあなたは新しいデータベース・インスタンスを作成するために、MySQLなどのリレーショナルデータベースにCREATE SCHEMA MYDATABASECREATE DATABASE MYDATABASEの両方を使用することができますdatabase instance

の同義語で、話します。

単語Schemaは、かつてはあまりにも学術的であると考えられていたが、やや古くなった。

どちらもOkeyですが、Schemaはちょっとオタクです。

+0

あなたが言っていることは、特にMySQLの場合です(質問はSQL Serverに関するものです)。 MySQLでは、 'SCHEMA'は' DATABASE'の構文上の同義語です。しかし、MySQLデータベースであっても、データベース自体を混乱させることなくデータベーススキーマについて話すのは普通です。これは、使用されるデータベースシステムとは独立した抽象的な概念です(SQL Serverスキーマは実装の詳細です)。 –

関連する問題