Estoy realmente confundido con los términos base de datos, usuario y esquema. ¿Alguien puede explicar cómo son diferentes entre sí (si lo son)?
Si son iguales, ¿cuáles son las similitudes entre ellos? ¿Cómo los usamos? ¿Y cómo los creamos?
Estoy realmente confundido con los términos base de datos, usuario y esquema. ¿Alguien puede explicar cómo son diferentes entre sí (si lo son)?
Si son iguales, ¿cuáles son las similitudes entre ellos? ¿Cómo los usamos? ¿Y cómo los creamos?
Respuestas:
En Oracle, los usuarios y los esquemas son esencialmente lo mismo. Puede considerar que un usuario es la cuenta que usa para conectarse a una base de datos, y un esquema es el conjunto de objetos (tablas, vistas, etc.) que pertenecen a esa cuenta.
Vea esta publicación sobre Desbordamiento de pila: ¿ diferencia entre un usuario y un esquema en Oracle? para más detalles y enlaces extra.
Crea usuarios con la create user
declaración. Esto también "crea" el esquema (inicialmente vacío): no puede crear un esquema como tal, está vinculado al usuario. Una vez que se crea el usuario, un administrador puede otorgar privilegios al usuario, lo que le permitirá crear tablas, ejecutar select
consultas insert
y todo lo demás.
La base de datos es lo que contiene todos los usuarios que ha creado y sus datos (y un grupo de usuarios, tablas, vistas, etc.definidos del sistema que hacen que todo funcione). Debería consultar la documentación de Oracle Database Architecture en la Guía de conceptos (en realidad, vale la pena leer toda la página; hay una sección sobre usuarios y esquemas más arriba en esa página) para obtener una introducción a qué es una base de datos y qué instancia de base de datos es - dos conceptos importantes.
Puede crear una base de datos con la create database
declaración, una vez que haya instalado la pila de software de Oracle. Pero usar dbca
(asistente de creación de bases de datos) es más fácil de comenzar.
Según la forma en que a veces se usa la terminología , a USER
y a SCHEMA
son algo similares. Pero también hay una gran diferencia. A USER
puede llamarse a SCHEMA
si el " USER
" posee algún objeto, de lo contrario solo seguirá siendo un " USER
". Una vez que USER
posee al menos un objeto, en virtud de todas sus definiciones anteriores ... USER
ahora se puede llamar a SCHEMA
.
Para comenzar a entender la diferencia, creo que debemos comenzar a decir que esta nomenclatura fue un error de Oracle.
Supongo que si tiene un ERP llamado TRITON, quiere que su base de datos se llame TRITON, o si mi compañía se llama JENNY EXPORT, podría decidir que mi base de datos se llame JENNYEXP o algo así, no es necesario ningún usuario con el mismo nombre .
En Oracle, debe crear un USUARIO antes de crear las tablas y, por extraño que parezca, esta colección de TABLAS se llama SCHEMA.
Luego, puede crear los usuarios reales y otorgar los permisos adecuados para trabajar con una base de datos como TRITON según este ejemplo, por cierto, si se conecta a través del DESARROLLADOR SQL, debe NOMBRAR UNA CONEXIÓN.
Sé que sueno un poco frustrado, pero tiene más sentido para mí la convención de nomenclatura de MS SQL SERVER y podría agregar que trabajé con Oracle antes que SQL SERVER.
La base de datos es una colección de datos, donde realmente se almacenan los datos. Es un componente de memoria física conectado a una computadora instalada con el software DBMS para manipular los datos en ese componente de memoria, la computadora instalada con el software dbms se llama servidor o servidor de base de datos. Tanto el servidor (computadora) como la base de datos (componente de memoria) son diferentes pero La mayoría de las veces se conoce como Igual según la situación.
Las dos palabras, usuario y esquema, son intercambiables, por eso la mayoría de las personas se confunden con estas palabras.
El usuario es una cuenta para conectar la base de datos (Servidor). podemos crear usuarios usando CREAR USUARIO IDENTIFICADO POR.
En realidad, Oracle Database contiene una estructura lógica y física para procesar los datos. El esquema también estructura lógica para procesar los datos en la base de datos (componente de memoria). Oracle lo crea automáticamente cuando lo crea el usuario. Contiene todos los objetos creados por el usuario asociado a ese esquema. Por ejemplo, si creé un usuario con nombre, santhosh
entonces santhosh
Oracle crea un esquema llamado , Oracle almacena todos los objetos creados por el usuario santhosh
en el santhosh
esquema.
Podemos crear un esquema utilizando la CREATE SCHEMA
instrucción, pero Oracle crea automáticamente un usuario para ese esquema.
Podemos descartar el esquema mediante el uso de la DROP SCHEMA <name> RESTRICT
instrucción, pero no puede eliminar objetos contenidos en el esquema, por lo tanto, para descartar el esquema, debe estar vacío. aquí la palabra restringir le obliga a especificar ese esquema sin objetos.
Si intentamos eliminar un usuario que contenga objetos en su esquema, debemos especificar la CASCADE
palabra porque Oracle no le permite eliminar un usuario que contenga objetos.
DROP USER <name> CASCADE
entonces Oracle elimina los objetos en el esquema y luego deja caer al usuario automáticamente. Los objetos referidos a estos objetos de esquema de otras vistas de esquema y sinónimos privados pasan a un estado no válido.
Agregaría que las declaraciones anteriores se aplican a la implementación de Oracle, pero otras bases de datos, incluido SQL Server y PostgreSQL, usan el esquema solo como un espacio de nombres, es decir, una forma de agrupar objetos. Por ejemplo, el esquema de ensayo podría agrupar todos los objetos utilizados en los datos de ensayo, el esquema de contabilidad podría agrupar todos los objetos relacionados con la contabilidad.
Le digo de acuerdo con conceptos que no se basan en ningún tipo de sistema de administración de bases de datos que esté utilizando.
Conceptualmente: Base de datos: es solo una pila de datos, en su mayoría datos relacionados o no relacionados no administrados .
Esquema: el esquema se refiere a la estructuración formal de los datos relacionados / no relacionados no administrados para que pueda ser administrado por algún sistema de gestión que comprenda la definición formal proporcionada por el esquema. Esquema es básicamente un esquema para proporcionar una visión general. Por ejemplo, tiene XSD que define el esquema para crear XML. Tiene RDBMS que define sus propios esquemas basados en Reglas Codd que básicamente definen esquemas para crear RDBMS.
Ahora, si quieres saber más sobre esto, consulta este enlace .
El usuario usa el lenguaje formal especificado por el esquema para acceder a la Base de Datos