conceptos con relacion a base de datos


conceptos con relación a base de datos(Oracle)

1-      BASE DE DATOS
Se le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto.
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. 

2-      SCHEMA | ESQUEMA
Describe la estructura de una base de datos, en un lenguaje formal soportado por un sistema de gestión de base de datos (DBMS). En una base de datos relacional, el esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla.
El esquema es generalmente almacenado en un diccionario de datos. Aunque generalmente el esquema es definido en un lenguaje de base de datos, el término se usa a menudo para referirse a una representación gráfica de la estructura de base de datos.
Tipos:
·         Esquema Conceptual, un mapa de conceptos y sus relaciones.
·         Esquema Lógico, un mapa de las entidades y sus atributos y las relaciones.
·         Esquema Físico, una aplicación de un esquema lógico.
·         Esquema Objeto, Base de datos Oracle Objeto.

3-      ROL
En general se emplean para asignar los privilegios relacionados con los usuarios finales de las aplicaciones de un sistema o para asignar roles a otro roles.
Los roles de la base de datos tienen la siguiente funcionalidad:
·         Un rol puede tener privilegios del sistema y privilegios de objetos del schema.
·         Un rol se puede asignar a otro roles (excepto a sí mismo directa o indirectamente).
·         A cualquier usuario de la base de datos se le puede asignar cualquier rol.
·         Un rol asignado a un usuario se puede habilitar o inhabilitar en cualquier momento.
·         Un rol garantizado indirectamente puede ser explícitamente habilitado o inhabilitado al usuario. No obstante para habilitar un rol que contiene otro roles, los roles contenidos se habilitan implícitamente habilitando el rol que los contiene.
En una base de datos cada rol debe ser único y ningún nombre de usuario o rol puede ser el mismo.
El dominio de seguridad de un usuario consiste de los privilegios de todos los objetos creados en su propio schema, los privilegios asignados explícitamente al usuario, los privilegios y roles garantizados al usuario que actualmente están habilitados, y los privilegios y roles garantizados al grupo de usuarios PUBLIC.
Un usuario requiere uno ó más privilegios del sistema y de objetos del schema para ejecutar sentencias DDL.
No obstante, existen algunas restricciones relacionada con los roles y los privilegios de los usuarios que son:
·         Todo privilegio del sistema o de objeto que permite a un usuario realizar una operación DDL se pueden usar si se reciben a través de un rol, con excepción del privilegio REFERENCES que no puede usarse si se recibe por medio de un rol.
·         Todo privilegio de sistema o de objeto que permite a un usuario realizar una operación DML que es requerida para ejecutar una sentencia DDL no se puede usar para ejecutar la sentencia DDL cuando se recibe por medio de un rol.
·         ORACLE provee automáticamente los roles CONNECT, RESOURCE, DBA, EXP_FULL_DATABASE and IMP_FULL_DATABASE para todos los usuarios de la base de datos.

4-      CATALOGO:
Contiene una descripción completa de la estructura de la base de datos y sus restricciones.  La información almacenada en el catalogo se denomina meta-datos. Su principal utilidad es la de conocer que datos existen sin acceder a ellos.

5-      ESQUEMA
Una base de datos puede contener uno o varios esquemas, que a su vez contiene tablas. Además, el esquema contiene otro tipo de objetos con nombre, como ser:
a.      Tipos de datos
b.      Funciones
c.       Operadores
Un objeto puede ser usado con el mismo nombre en esquemas diferentes. Esquemas en Bases de Datos.
Hay varias razones para usar esquemas en Bases de Datos:
a.      Para permitir que muchos usuarios usen una base de datos - sin interferir unos con otros.
b.      Para organizar los objetos de una Base de Datos en grupos - lógicos para hacerlos más manejables.
c.       Aplicaciones Third-party pueden ser “instaladas” en esquemas diferentes y así evitar colisiones con los nombres de los objetos entre distintas aplicaciones.
d.      Los esquemas son análogos a los directorios a nivel de S.O., con excepción que no pueden anidarse.
e.       Para crear un esquema se usa la sentencia: CREATE SCHEMA mi_Esquema;

6-      TABLESPACE | ESPACIO DE TABLA
Se crea automáticamente junto con la creación de la base de datos. Contiene las tablas del diccionario de datos para toda la base. Oracle recomienda que se cree al menos una tablespace adicional para almacenar datos de usuario, separada de la información del diccionario de datos. Esto reduce la disputa entre los objetos del diccionario y los objetos esquema para los mismos archivos. La tablespace SYSTEM está siempre online cuando se abre la base. Todos los datos almacenados correspondientes a unidades de programas PL/SQL (procedimientos, funciones, paquetes y triggers) residen en la tablespace SYSTEM.

Asignar más espacio a una base de datos

Se puede ampliar una base de tres formas:
Agregar un archivo a una tablespace.
ALTER TABLESPACE system ADD DATAFILE 'data2.ora'
Agregar una tablespace nueva.
CREATE TABLESPACE users DATAFILE 'data2.ora'
Incrementar el tamaño de un archivo de datos.
ALTER DATABASE DATAFILE 'data2.ora' AUTOEXTEND ON NEXT 20M MAXSIZE 1000m;
Se sugieren que cada base de datos tenga como mínimo 5 tablespaces además de SYSYEM:
·         TEMP (para los datos temporarios que se generan en las consultas)
·         RBS (rollback segments)
·         TOOLS (Para los Forms, Report Writer y Designer)
·         APPL_DATA (Para los applications data)
·         APPL_INDX (Para los applications index)
Las consideraciones por las que se sugieren estas divisiones son:
      • Minimizar la fragmentación
      • Minimizar la competencia por el disco
      • Separar los segmentos
      • Almacenar los archivos de datos
Los segmentos más propensos a la fragmentación son, en orden:
·         TEMP
·         RBSEGS
·         INDICES
·         TABLAS
·         DICCIONARIO de DATOS
La competencia por el disco se puede minimizar separando los grupos de segmentos que pueden ser accedidos simultáneamente:
·         Los segmentos del diccionario de datos y los demás segmentos.
·         Los segmentos de rollback de los demás segmentos.
·         Los segmentos de datos de sus correspondientes segmentos de índices.
Separar las tablas de acuerdo con sus características (necesidades de backup, requerimientos de acceso, necesidades de uso, crecimiento) deviene en ventajas en:
·         Recuperación y backup
·         Tamaño
·         Seguridad
·         Limpieza y claridad
Recomendaciones de Administración de los Archivos de Bases de Datos
·         Mantener al menos dos copias activas de los archivos de control[1] de la base de datos en al menos dos dispositivos físicos diferentes.
·         Mantener múltiples archivos de redo log y ubicarlos por grupos en diferentes discos.
·         Separar los tablespaces que puedan competir por recursos en discos y ubicarlos en diferentes discos físicos.

7-      EXTENDS | EXTIENDE
Una extensión es un número específico de bloques de datos contiguos, que se emplea para almacenar un tipo de información específico.
En la sentencia de definición de las tablas se han de incluir los siguientes parámetros de almacenamiento:
·         INITIAL: denota el tamaño de la extensión inicial.
·         NEXT: indica el tamaño de las extensiones siguientes.
·         MINEXTENTS: indica el número mínimo de extensiones.
·         MAXEXTENTS: indica el número máximo de extensiones.
·         PCTINCREASE: es un factor de crecimiento de una extensión a la siguiente.

8-      CREATE | CREAR
Este comando permite crear objetos de datos, como nuevas bases de datos, tablas, vistas y procedimientos almacenados.
Ejemplo (crear una tabla)
CREATE TABLE 'CUSTOMERS';

9-      ALTER | MODIFICAR
Este comando permite modificar la estructura de una tabla u objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar untrigger, etc.
Ejemplo (agregar columna a una tabla)
ALTER TABLE 'ALUMNOS' ADD EDAD INT UNSIGNED;

10-  DROP | ELIMINAR
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función, procedimiento o cualquier objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia ALTER.
Ejemplo
 DROP TABLE 'ALUMNOS';

11-  TRUNCATE | BORRAR TABLA
Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande. La desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de Datos), es en realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna transacción.
Ejemplo
 TRUNCATE TABLE 'NOMBRE_TABLA';

12-  RENAME | Renombrar
El RENAME sentencia se utiliza para cambiar el nombre de una tabla de base de datos.
CAMBIAR EL NOMBRE DE  TABLA  nombre_viejo  A  nombre_nuevo ;

13-   CONSTRAINTS | LIMITACIONES
Son especificaciones del DDL de SQL que se aplican a columnas o tuplas de una tabla. Algunos tipos especiales de constraints son: UNIQUE, NOT NULL, REFERENCES, CHECK; éste último permite especificar una amplia gama de reglas, como por ejemplo, rangos de valores y listas de valores, entre otros. Es conveniente que cada constraint tenga un nombre, pues cuando el constraint es violado el sistema indica su nombre y se puede saber exactamente qué falló. 

14-   TRIGGERS | DISPARADORES
Los triggers en SQL:99 son parecidos a los constraints, pero proveen mayor flexibilidad pues el usuario puede especificar un conjunto de acciones complejas a ejecutarse cuando el trigger se dispare. Los constraints actúan cuando se viola lo que ellos indican, pero el usuario no puede especificar acción alguna con esa violación, sino que el DBMS simplemente envía un mensaje de error e impide que se realice la operación que produjo la violación.
La descripción de un triggers contiene ocho (8) componentes, a saber:

·         Nombre, debe ser único en el esquema donde se define.
·         Tabla sujeto, es el nombre de la tabla cuyos datos, al ser alterados, van a activar al trigger.
·         Tiempo de la acción, le dice al DBMS cuándo ejecutar el cuerpo del trigger, lo cual puede ser antes (BEFORE) o después (AFTER) que ocurra el evento del trigger.
·         Evento, indica cuál es el comando de actualización sobre la tabla, que va a activar el trigger, este evento puede ser uno o más de los siguientes: INSERT, DELETE y UPDATE.
·         Lista de atributos, sólo se pueden especificar si el evento es un UPDATE.
·         Alias, tanto los valores de la tupla antes y después de la actualización, como las tablas pueden tener nombres que fungen de sinónimos de los nombres originales.
·         Cuerpo del trigger, comandos de SQL que se ejecutan cuando el trigger se dispara.
·         Sello de tiempo, indica cuándo fue creado el trigger.
Los triggers se definen con un comando de CREATE TRIGGER y para borrarlos se utiliza el comando DROP TRIGGER. Los triggers o disparadores son objetos de la base de datos que ejecutan acciones cuando se producen ciertos eventos (tanto DML como DDL) (inserciones, modificaciones, borrados, creación de tablas, etc.).

15-  GRANT | CONCEDER
Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas.
Las tareas sobre las que se pueden conceder permisos son las siguientes:
·         CONNECT
·         SELECT
·         INSERT
·         UPDATE
·         DELETE
·         USAGE

16-  REVOKE | REVOCAR
Permite eliminar permisos que previamente se han concedido con GRANT.
Las tareas sobre las que se pueden denegar permisos son las siguientes:
·         CONNECT
·         SELECT
·         INSERT
·         UPDATE
·         DELETE
·         USAGE

17-  COMMIT | HACER
La sentencia COMMIT termina una unidad de trabajo y confirma los cambios de la base de datos que ha realizado esa unidad de trabajo.

18-  ROLLBACK | RETROCEDER
La sentencia ROLLBACK se utiliza para restituir los cambios que se han hecho en la base de datos dentro de una unidad de trabajo o punto de salvaguarda.

19-  COMMENT | COMENTARIO
La sentencia COMMENT añade o sustituye comentarios en las descripciones del catálogo de diversos objetos.
Ejemplos
Ejemplo 1: Añada un comentario para la tabla EMPLOYEE.
     COMMENT ON TABLE EMPLOYEE
    IS 'Refleja la reorganización del primer trimestre'
Ejemplo 2: Añada un comentario para la vista EMP_VIEW1.
     COMMENT ON TABLE EMP_VIEW1
     IS 'Vista de la tabla EMPLOYEE sin la información de salarios'
Ejemplo 3: Añada un comentario para la columna EDLEVEL de la tabla EMPLOYEE.
     COMMENT ON COLUMN EMPLOYEE.EDLEVEL
              IS 'curso más alto aprobado en la escuela'
Ejemplo 4: Añada comentarios para dos columnas diferentes de la tabla EMPLOYEE.
     COMMENT ON EMPLOYEE
                (WORKDEPT IS 'vea los nombres en la tabla DEPARTMENT',
                EDLEVEL IS 'curso más alto aprobado en la escuela’)
Ejemplo 5: Pellow desea realizar un comentario sobre la función CENTRE, que ha creado en su esquema PELLOW, utilizando la signatura para identificar la función específica que se debe comentar.
      COMMENT ON FUNCTION CENTRE (INT, FLOAT)
              IS 'func CENTRE de Frank, utiliza método Chebychev'
Ejemplo 6: McBride desea realizar un comentario sobre otra función CENTRE, que ella creó en el esquema PELLOW, utilizando el nombre específico para identificar la instancia de función que hay que comentar:
     COMMENT ON SPECIFIC FUNCTION PELLOW.FOCUS92 IS
'La función CENTRE con mayor éxito de Louise, utiliza  la técnica de foco borroso browniana'
Ejemplo 7: Comente la función ATOMIC_WEIGHT en el esquema CHEM, donde se sabe que sólo hay una función con ese nombre:
      COMMENT ON FUNCTION CHEM.ATOMIC_WEIGHT
     IS 'toma números. Atómico, da peso atómico'
Ejemplo 8: Eigler desea realizar un comentario sobre el procedimiento SEARCH, que ha creado en su esquema EIGLER, utilizando la signatura para identificar el procedimiento específico que se debe comentar.
     COMMENT ON PROCEDURE SEARCH (CHAR,INT)
     IS 'algoritmo de sustitución y búsqueda masiva de Frank'
Ejemplo 9: McDonald desea realizar un comentario sobre otra función SEARCH, que creó en el esquema EIGLER, utilizando el nombre específico para identificar la instancia de procedimiento que hay que comentar:
      COMMENT ON SPECIFIC PROCEDURE EIGLER.DESTROY IS
     'Algoritmo de destrucción y búsqueda masiva de Patrick'
Ejemplo 10:  Realice un comentario sobre la función OSMOSIS en el esquema BIOLOGY, donde se sabe que sólo hay un procedimiento con dicho nombre:
     COMMENT ON PROCEDURE BIOLOGY.OSMOSIS
     IS 'Cálculos al modelar ósmosis'
Ejemplo 11: Realice un comentario sobre una especificación de índice denominada INDEXSPEC.
      COMMENT ON INDEX INDEXSPEC
IS 'Una especificación de índice que indica al optimizador que la tabla referenciada por el apodo NICK1 tiene un índice.
Ejemplo 12: Realice un comentario sobre el derivador cuyo nombre por omisión es NET8.
     COMMENT ON WRAPPER NET8
     IS 'El derivador de las fuentes de datos asociadas al software cliente Net8 de Oracle.'
Ejemplo 13: Cree un comentario sobre el esquema XML HR.EMPLOYEE.
     COMMENT ON XSROBJECT HR.EMPLOYEE
     IS 'Éste es el esquema XML base para los datos de empleado.'
Ejemplo 14: Cree un comentario para el contexto fiable APPSERVER.
      COMMENT ON TRUSTED CONTEXT APPSERVER
     IS 'WebSphere Server'

20-  STARTUP | INICIAR
El comando STARTUP es el comando de arranque de la base de datos, y tiene la siguiente sintaxis:
STARTUP [PFILE=’ARCHIVO_PARAMS’] [MODO]
El ARCHIVO_PARAMS es un archivo de parámetros que contiene una serie de valores que se utilizarán para poner en funcionamiento una instancia de la base de datos. Este archivo se denominaba initsid.ora en las versiones anteriores a la 9i, en las posteriores se denomina SPFILE. Jesús Miguel Muñoz Rodríguez Arranque y parada de la Base de datos. Ficheros de traza. 2 Administración avanzada Oracle Este archivo la analizaremos de una manera más profunda más adelante.
En caso de que la base de datos ya esté ejecutándose y queramos pasar a otro estado podemos usar el siguiente comando:
ALTER DATABASE MODO;
El MODO es el modo de arranque que se le puede indicar para que la base de datos pase a un estado u otro, en función de las tareas que se quieran realizar. Los distintos modos son NOMOUNT, MOUNT Y OPEN.

21-  SHUTDOWN | PARAR
Para parar la BD el comando base es shutdown como se puede ver en el siguiente ejemplo:

SVRMGR> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
Pero este comando se nos presenta con tres opciones: normalimmediate y abort.
Shutdown normal
Se impide el acceso a la BD, espera a que todos los usuarios completen todas sus peticiones y se desconecten del servidor. Purga todos los buffers de datos y cachés de redo log, actualizando los ficheros de datos y de redo log, se eliminan los bloqueos de ficheros, se completan las transacciones en marcha, se actualizan las cabeceras de ficheros, elimina los threads, libera los bloqueos de la BD por parte de la instancia, y sincroniza los ficheros de control y de datos. En resumen, la opción normal cierran la BD, desmonta la BD y para la instancia con cuidado y es la opción recomendada para parar la BD.
Shutdown immediate
En ciertas ocasiones puede ser necesario parar la BD de modo inmediato. Si es así, las sentencias en proceso son terminadas inmediatamente, cualquier transacción no confirmada (uncommitted) es vuelta atrás (rolled back) y la BD es parada. La única desventaja de utilizar esta opción es que Oracle no espera a que los usuarios se desconecten. Sin embargo, la BD será consistente y no se necesitará recuperación en el siguiente arranque.
Shutdown abort
En situaciones de emergencia, y cuando todo lo demás falla, se debe realizar una parada de este tipo. Por ejemplo, cuando un proceso de la instancia muere y la BD no puede pararse de modo normal o inmediato. Cuando se utiliza la opción abort las sentencias SQL son terminadas bruscamente, y las transacciones no confirmadas no son vueltas atrás. Parar la BD con la opción abort requiere recuperación en la siguiente vez que arranque la BD y esta opción debe ser utilizada sólo cuando no quede más remedio.
22-  TNSNAMES
El archivo tnsnames.ora es un archivo de configuración que contiene nombres de servicios en red mapeados, asignados a descriptores a través de los cuales se nos permite acceder. Está ubicado en los clientes.

Los parámetros del archivo son:
HOST: Dirección ip del servidor con el cual queremos conectar
PORT: Puerto donde escucha la base de datos
SERVICE_NAME: Nombre del servicio de base de datos al que queremos conectar
DESCRIPTOR DE CONEXION: En este caso el descriptor para conectarnos es CNNORASITE



23-   NULL VS VACIO
Un espacio en blanco es el CHAR(32). 
NULL equivale al CHAR(0) y define un objeto no asignado, mientras que ('') define un campo que se sabe sin contenido.
En esencia son distintos porque, como en programación C o VB, un objeto igual Nothing o NULL es un objeto sin asignación de memoria. Mientras que un objeto vacío es un objeto que apunta a un área de memoria, declarándola vacía.
El sentido de inexistencia es la determinación de estados de no relación entre valores de campos de tablas, que pueden ser útiles en determinadas consultas. Dentro de la definición de una tabla, sirve, por ejemplo, para definir campos pueden omitirse sin que afecten la consistencia de datos.

24-  IMPORT | IMPORTAR
El concepto básico detrás de importación es muy simple. Importación inserta los objetos de datos extraídos de una base de datos de Oracle por la utilidad de exportación (y almacenados en un archivo de volcado de exportación) en otra base de datos Oracle. Archivos de volcado de exportación sólo pueden ser leídas por Import. 
Dichos archivos pueden ser transferidos a través de FTP o transportados físicamente (en el caso de la cinta) a un sitio diferente. Los archivos pueden ser utilizados con la utilidad de importación para transferir datos entre bases de datos que se encuentran en las máquinas no conectadas a través de una red. Los archivos también se pueden utilizar como las copias de seguridad, además de los procedimientos de copia de seguridad normales.
Nota: Los archivos de volcado de exportación sólo pueden ser leídas por la importación utilidad de Oracle. Si necesita cargar datos de ASCII de formato fijo o archivos delimitados, véase la Parte II de este manual.

25-  EXPORT | EXPORTAR
Exportación proporciona una forma sencilla para que usted pueda transferir objetos de datos entre bases de datos Oracle, aunque residan en plataformas con diferentes configuraciones de hardware y software. Exportación extrae las definiciones de objetos y datos de tablas desde una base de datos Oracle y los almacena en un archivo de volcado de exportación de formato binario de Oracle se encuentra normalmente en el disco o cinta.
Dichos archivos pueden ser transferidos a través de FTP o transportados físicamente (en el caso de la cinta) a un sitio diferente. Los archivos pueden ser utilizados con la utilidad de importación para transferir datos entre bases de datos que se encuentran en las máquinas no conectadas a través de una red. Los archivos también se pueden utilizar como las copias de seguridad, además de los procedimientos de copia de seguridad normales.
Las utilidades de exportación e importación también pueden facilitar ciertos aspectos de la funcionalidad de Oracle replicación avanzada, tales como desconectado de instancias. 


Comentarios