Bug #39974 MySQL calls ‘schemas’ ‘databases’.
Submitted: 10 Oct 2008 13:11 Modified: 20 Aug 2009 12:14
Reporter: Leandro DUTRA Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S4 (Feature request)
Version: OS:Any
Assigned to: CPU Architecture:Any

[10 Oct 2008 13:11] Leandro DUTRA
Description:
MySQL Administrator confuses users by calling schemas by the name of databases.

How to repeat:
Open the interface.

Suggested fix:
s/database/schema/g
[10 Oct 2008 13:53] Valeriy Kravchuk
Sorry, but this is not a bug. SCHEMA and DATABASE are synonyms for MySQL server. Read http://dev.mysql.com/doc/refman/5.1/en/show-create-database.html.
[10 Oct 2008 14:00] Leandro DUTRA
OK, I will open a bug against MySQL Server.
[10 Oct 2008 14:01] Leandro DUTRA
Non-conformance to the ISO SQL standard, and to the concepts of databases in general.
[10 Oct 2008 15:19] Valeriy Kravchuk
Request for support of schemas, not only databases, looks like a reasonable feature request to me.
[10 Oct 2008 16:48] Leandro DUTRA
I fear I wasn’t understood.  MySQL already has schemas, the problem is calling them databases.  Databases under MySQL are actually servers hearing on specific ports.
[11 Oct 2008 15:49] Peter Laursen
'show schemas' and 'show databases is the same in MySQL!

I found this: http://wiki.answers.com/Q/Difference_between_schema_and_database

"Database schema are the logical structure of entities (tables or object classes) and their relationships (keys, or object associations) in a database. Schema can exist at different levels of abstraction (see: en.wikipedia.org/wiki/Database_schema).

Schema themselves may or may not exist as such in a database. In general schema at the higher levels of abstraction are design models that are captured in printed documents, and authored by business analysts and database designers, rather than created by database programmers and stored in the database itself. But in some types of databases, schema at any level of abstaction can be realized physically. 

In Oracle databases, schema can be realized as schema objects, which are a part of an Oracle database. These schema objects may represent a human user's conceptual model of the knowledge captured in an enterprise database. Thus defined, there can be many schema that can be associated with one physical database."

http://en.wikipedia.org/wiki/Database_schema:

"The schema (pronounced skee-ma) of a database system is its structure described in a formal language supported by the database management system (DBMS). In a relational database, the schema defines the tables, the fields in each table, and the relationships between fields and tables.

Schemas are generally stored in a data dictionary. Although a schema is defined in text database language, the term is often used to refer to a graphical depiction of the database structure.[1]"

As regards 1st quote I think that in MySQL "Schema can exist at ONE level of abstraction" only . .that is the sum of CREATE STATEMENTS defining all objects of a database

As regards 2nd quote, schema is here (some kind of representation of) DDL for a database. Now I only think MySQL use term 'schema' in a data-less/structure-only/DDL context, so I do not see much problem.

But clarity is always a good thing!  

What standards sya here I do not know, but Oracle is not *per definition* more correct than MySQL (even thouhg it often is *in practice*!
[3 Aug 2009 17:28] Konstantin Osipov
Please do not verify bugs that have no test case.
[20 Aug 2009 12:14] Konstantin Osipov
Than you for a feature request.