2008-11-18 544 views
107

Esta es probablemente una pregunta n00blike (o peor). Pero siempre he visto un esquema como una definición de tabla en una base de datos. Esto es incorrecto o no completamente correcto. No recuerdo mucho de mis cursos de base de datos.¿Cuál es la diferencia entre un esquema y una tabla y una base de datos?

+1

En el esquema oracle solo se lo remite a un usuario. Es entonces cuando creamos un usuario, el esquema se creará ahora, podemos agregar tablas, vistas, paquetes de índices, etc. como – Ali786

Respuesta

183

esquema : base de datos : mesa :: planta : casa : habitación

+0

, bien: D pensó que había algo más que eso – anbanm

+50

Un poco críptico, pero no incorrecto; pero ¿realmente crees que un n00b autoproclamado lo entendería? –

+4

Buena analogía. Cambiaría el "plano de planta" por "planos azules" porque el esquema tiene más que solo tablas, y los planos contienen el cableado, la calefacción y la plomería. –

13

En pocas palabras, un esquema es la definición de la base de datos, por lo que incluye mesas, vistas, procedimientos almacenados, índices, claves principales y externas, etc.

84

A relación esquema es la definición lógica de una tabla - define w cuál es el nombre de la tabla, y cuál es el nombre y el tipo de cada columna. Es como un plan o un plan. Un esquema de base de datos es la colección de esquemas de relación para una base de datos completa.

A tabla es una estructura con un grupo de filas (también conocido como "tuplas"), cada una de las cuales tiene los atributos definidos por el esquema. Las tablas también pueden tener índices en ellas para ayudar a buscar valores en ciertas columnas.

A base de datos es, formalmente, cualquier colección de datos. En este contexto, la base de datos sería una colección de tablas. A DBMS (Sistema de gestión de bases de datos) es el software (como MySQL, SQL Server, Oracle, etc.) que gestiona y ejecuta una base de datos.

+1

Un esquema de base de datos también incluye índices, vistas, etc. –

+1

seguramente esto no es correcto. una base de datos no es una colección de tablas como tal. Puede tener 30 bases de datos sin tener una tabla, por ejemplo. – Robert

+0

@Robert: ¿cuál sería el sentido de tener una base de datos sin tablas? –

10

Se ha demostrado que esta publicación particular se relaciona solo con Oracle y la definición de cambios de esquema cuando se encuentra en el contexto de otra base de datos.

Probablemente la cosa poco a poco a Google hasta, pero FYI términos no parecen variar en sus definiciones, que es lo más molesto :)

En una base de datos Oracle es una base de datos. En su mente piense en esto como los archivos de datos y los registros de rehacer y la presencia física real en el disco de la base de datos (es decir, no la instancia)

Un esquema es efectivamente un usuario. Más específicamente, es un conjunto de tablas/procs/índices, etc. propiedad de un usuario. Otro usuario tiene un esquema diferente (tablas que posee), sin embargo, el usuario también puede ver los esquemas en los que haya seleccionado privilegios. De modo que una base de datos puede constar de cientos de esquemas y cada esquema cientos de tablas. Puede tener tablas con el mismo nombre en diferentes esquemas, que están en la misma base de datos.

Una tabla es una tabla, un conjunto de filas y columnas que contiene datos y está contenida en esquemas.

Las definiciones pueden ser diferentes en SQL Server, por ejemplo. No estoy enterado de esto

2

Más sobre esquemas:

En SQL 2005 Un esquema es una forma de agrupar objetos. Es un contenedor en el que puedes colocar objetos. La gente puede poseer este objeto. Puede otorgar derechos sobre el esquema.

En 2000, un esquema era equivalente a un usuario. Ahora se ha liberado y es bastante útil. Puede lanzar todos sus procesos de usuario en un esquema determinado y sus procesos de administración en otro.Otorgue EXECUTE al usuario/rol apropiado y ya ha aprobado EXECUTE en procedimientos específicos. Bonito.

La notación de puntos sería algo así:

Server.Database.Schema.Object

o

myserver01.Adventureworks.Accounting.Beans

1

En esquema de Oracle es un usuario bajo una base de datos, por ejemplo, scott es un esquema en la base de datos orcl. En una base de datos podemos tener muchos esquemas como scott

0

Schemas contains Databases.

Las bases de datos son parte de un esquema.

Entonces, esquemas> bases de datos.

esquemas contiene puntos de vista, procedimiento (s) almacenado, la base de datos (s), gatillo (s), etc.

7

esquema comporta parecer como un objeto padre como se ha visto en el mundo de programación orientada a objetos. así que no es una base de datos en sí misma. tal vez this link es útil.

Pero, en MySQL, los dos son equivalentes. La palabra clave DATABASE o DATABASES se puede reemplazar por SCHEMA o SCHEMAS donde sea que aparezca. Ejemplos:

  • Crear base de datos < => CREATE SCHEMA
  • VER BASES DE DATOS < => Mostrar SCHEMAS

Documentation of MySQL

ESQUEMA DE BASE DE DATOS & términos son algo DBMS dependiente.

A La tabla es un conjunto de elementos de datos (valores) que se organiza utilizando un modelo de columnas verticales (que se identifican por su nombre) y filas horizontales. Una base de datos contiene uno o más (generalmente) Cuadros. Y usted almacena sus datos en estas tablas. Las tablas pueden estar relacionadas entre sí (See here).

2

A Schema es una colección de objetos de base de datos que también incluye estructuras lógicas. Tiene el nombre del usuario que lo posee. A database puede tener cualquier cantidad de Esquemas. Una tabla de una base de datos puede aparecer en dos esquemas diferentes del mismo nombre. Un usuario puede ver cualquier esquema para el cual se le ha asignado privilegio de selección.

0

Un esquema no es un plan para toda la base de datos. Es un plan/contenedor para un subconjunto de objetos (ej.tables) dentro de una base de datos.

Esto equivale a decir que puede tener múltiples objetos (por ejemplo, tablas) dentro de una base de datos que no necesariamente caen dentro de la misma categoría funcional. Entonces puede agruparlos bajo varios esquemas y otorgarles permisos de acceso de usuario diferentes.

Dicho esto, no estoy seguro de si puede tener una tabla en varios esquemas. La interfaz de usuario de Management Studio ofrece un menú desplegable para asignar un esquema a una tabla y, por lo tanto, permite elegir solo un esquema.Supongo que si lo haces con TSQL, podría crear 2 (o múltiples) objetos diferentes con diferentes ID de objeto.

0

Una base de datos esquema es una forma de agrupar lógicamente objetos como tablas, vistas, procedimientos almacenados, etc. Piense en un esquema como un contenedor de objetos. Y las tablas son colecciones de filas y columnas. combinación de todas las tablas hace un db.

+0

Esas primeras oraciones son exactamente las mismas .... http://stackoverflow.com/a/29042133/2308683 –

2

la concepción del esquema es diferente en el software de db diferente.

aquí yo sólo se refieren a esquema de Oracle:


Objetos de Esquema

Un esquema es una colección de estructuras lógicas de datos, o los objetos del esquema. Un esquema es propiedad de un usuario de base de datos y tiene el mismo nombre que ese usuario. Cada usuario posee un único esquema. Los objetos de esquema pueden ser creados y manipulados con SQL e incluyen los siguientes tipos de objetos:

Clusters Restricciones Base de datos Enlaces base de datos activa Dimensiones bibliotecas procedimiento externo tablas organizadas por índices Índices Indextypes clases de Java, Java recursos, fuentes de Java vistas materializadas vista materializada registros tablas de objetos tipos de objetos objeto vistas Operadores Paquetes Secuencias funciones almacenadas, procedimientos almacenados sinónimos Tablas Vistas


Nonschema Objetos

Otros tipos de objetos también se almacenan en la base de datos y pueden ser creados y manipulados con SQL pero no están contenido en un esquema:

Contextos Directorios Archivos de parámetros (PFILE) y archivos de parámetros del servidor (SPFILE) Perfiles Roles segmentos de rollback de tablas para Usuarios

1

Como MusiGenesis ponen tan bien, en la mayoría de las bases de datos:

esquema: Base de datos: tabla :: planos de pisos: casa: sala de

Pero, en Oracle puede ser más fácil pensar en:

schema: database: table :: owner: hou se: room

1

Un esquema de base de datos es una forma de agrupar lógicamente objetos como tablas, vistas, procedimientos almacenados, etc. Piense en un esquema como un contenedor de objetos. Puede asignar permisos de inicio de sesión de usuario a un único esquema para que el usuario solo pueda acceder a los objetos a los que tiene autorización de acceso.

Cuestiones relacionadas