NOMBRE DEL ESTUDIANTE: MAXIMILIANO FERNANDEZ TORRES
NOMBRE DEL INTRUCTOR: IGN. EVA MORA COLORADO
MATERIA: ADMINISTRACION DE BASES DE DATOS
GRUPO: 602-B
Arquitectura del gestor Caractersticas del DBMS El DBMS: Database management system (DBMS), es un conjunto de programas que se encargan de manejar la creacin y todos los accesos a las bases de datos, est compuesto por:
DDL: Lenguaje de Definicin de Datos
DML: Lenguaje de Manipulacin de Datos
SQL: Lenguaje de Consulta.
* Definir una base de datos: consiste en especificar los tipos de datos, estructuras y restricciones para los datos que se almacenarn.
* Construir una base de datos: es el proceso de almacenar los datos sobre algn medio de almacenamiento.
* Manipular una base de datos: incluye funciones como consulta, actualizacin, etc. de bases de datos.
Si el sistema soporta bases de datos relacionales se llama RDBMS en ingls o SGBDR en espaol. Ejemplo de Distintos DBMS Relacionales Existentes En El Mercado Actual: Si se trata de una base de datos relacional (veremos a continuacin qu significa esto), es probable que el lenguaje usado para recuperar las informaciones que se nos muestran sea SQL (Structured Query Language).
Los DBMS ms comunes son Oracle, SQL server, Informix, Sysbase, Caractersticas de algunos DBMS Bases de datos jerrquicos: los datos se organizan en grupos unidos entre ellos por relaciones de posesin, en las que un conjunto de datos puede tener otros conjuntos de datos, pero un conjunto puede pertenecer slo a otro conjunto. La estructura resultante es un rbol de conjuntos de datos.
Bases de datos reticulares: el modelo reticular es muy parecido al jerrquico, y de hecho nace como una extensin de este ltimo. Tambin en este modelo conjunto de datos estn unidos por relaciones de posesin, pero cada conjunto de datos puede pertenecer a uno o ms conjuntos.
Bases de datos relacionales: las bases de datos que pertenecen a esta categora se basan en el modelo relaciones, cuya estructura principal es la relacin, es decir una tabla bidimensional compuesta por lneas y columnas. Cada lnea, que en terminologa relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. Las caractersticas de cada entidad estn definidas por las columnas de las relaciones, que se llaman atributos. Entidades con caractersticas comunes, es decir descritas por el mismo conjunto de atributos, formarn parte de la misma relacin.
Base de datos por objetos (object-oriented): el esquema de una base de datos por objetos est representado por un conjunto de clases que definen las caractersticas y el comportamiento de los objetos que poblarn la base de datos. La diferencia principal respecto a los modelos examinados hasta ahora es la no positividad de los datos. En efecto, con una base de datos tradicional (entendiendo con este trmino cualquier base de datos no por objetos), las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos object-oriented, al contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos. En cierto sentido, se podr pensar en los objetos como en datos a los que se les ha puesto una inyeccin de inteligencia que les permite saber cmo comportarse, sin tener que apoyarse en aplicaciones externas.
Diferencia entre un dbms y una base de datos.
La base de datos es una coleccin de archivos interrelacionados almacenados en conjunto sin redundancia y la dbms es un conjunto de numerosas rutinas de software interrelacionadas cada una de ellas es responsable de una determinada tarea. 2.1.1 Estructura de memoria y procesos de la instancia La memoria se puede estructurar en las siguientes partes:
rea Global del sistema (SGA), la cual se comparte entre todos los servidores y los procesos en segundo plano. reas globales de programas (PGA), que es privada para cada servidor y proceso en segundo planos; a cada proceso se asigna un PGA. rea de Ordenaciones (Sort Areas). Memoria Virtual rea de cdigo de software.
Instancia de una Base de Datos Cada instancia est asociada a una base de datos. Cuando se inicia una base de datos en un servidor (independientemente del tipo de computadora), se le asigna un rea de memoria (SGA) y lanza uno o ms procesos. A la combinacin del SGA y de los procesos es lo que se llama instancia. La memoria y los procesos de una instancia gestionan los datos de la base de datos asociada de forma eficiente y sirven a uno o varios usuarios.
Cuando se inicia una instancia El DBMS monta la base de datos, es decir, asocia dicha instancia a su base de datos correspondiente. En una misma computadora pueden ejecutarse varias instancias simultneamente, accediendo cada una a su propia base de datos fsica. nicamente el administrador de la base de datos puede iniciar una instancia y abrir una base de datos. Si una base de datos est abierta, entonces el administrador puede cerrarla y, cuando esto ocurre, los usuarios no pueden acceder a la informacin que contiene.
2.1.2 Estructuras fsicas de la base de datos
La Arquitectura de Oracle tiene tres componentes bsicos: 1. La Estructura de memoria 2. Los Procesos 3. Los Archivos.
ESTRUCTURA DE LA MEMORIA: Es la estructura de memoria compartida que contienen datos e informacin de control para una instancia de una base de datos, cada instancia tiene sus propias estructuras de memoria y se localiza en la memoria virtual del computador. Las estructuras de memoria se denominan System Global rea (SGA) la cual es un rea compartida por todos los usuarios y se divide en tres partes: Fondo comn compartido (Shared pool): Se utiliza durante el procesamiento de comandos. Tiene dos zonas: Library Cache: almacena informacin relacionada a la instruccin de SQL: Data Dictionary Cache (Dictionary Cache o Row Cache): almacena la informacin de uso ms frecuente sobre el diccionario de datos. Esta informacin incluye definicin de columnas, usuarios, passwords y privilegios. Esta informacin es usada durante tiempo de compilacin. rea de Memoria rpida (Database buffer cache): mantiene los bloques de datos ledos directamente de los archivos de datos. Cuando se procesa una consulta, el servidor busca los bloques de datos requeridos en esta estructura. Si no se encuentra, el proceso servidor lee el bloque de la memoria secundaria y coloca una copia. Est organizada en dos listas: Lista de sucios: bloques que han sufrido modificaciones y no han sido escritos en disco. Lista de menos recientemente usados: mantiene los bloques libres, los bloques a los que se est accediendo actualmente y los bloques sucios que an no han sido remitidos a la lista de sucios.
rea de registro de rehacer (Redo log buffer): es un buffer circular que mantiene todos los cambios que han sido realizados sobre la base de datos por operaciones de insert, update, delete, create, alter y drop. Las entradas de este buffer contienen toda la informacin necesaria para reconstruir los cambios realizados a la base de datos por medio de cualquier instruccin (el bloque que ha sido cambiado, la posicin de cambio y el nuevo valor). El uso es estrictamente secuencial.
ARCHIVOS: Los archivos que maneja Oracle, se clasifican en cuatro grupos:
A. Los Archivos de Datos (Datafiles): sirve para el almacenamiento fsico de las tablas, ndices y procedimientos, estos son los nicos que contienen los datos de los usuarios de la base de datos. B. Archivos de Control (control files): tiene la descripcin fsica y direccin de los archivos para el arranque correcto de la base de datos C. Archivos de Rehacer (redo log files): tienen los cambios que se han hecho a la base de datos para recuperar fallas o para manejar transacciones. Debe estar conformado por dos grupos como mnimo y cada grupo debe estar en discos separados. El principal propsito de estos archivos es de servir de respaldo de los datos en la memoria RAM. D. Archivos fuera de lnea (archived files): archivos opcionales donde se pueda guardar informacin vieja de los archivos de rehacer, convenientes para respaldos de base de datos
LOS PROCESOS:
Los procesos son programas que se ejecutan para permitir el acceso a los datos, se cargan en memoria y son transportados para los usuarios. Se clasifican en tres grupos:
Procesos de Base o de Soporte: se encargan de traer datos desde y hacia la estructura de memoria (SGA), cada uno tiene su propia rea de memoria; los procesos de este tipo son los siguientes: Database Writer (DBWR): se encarga de copiar los bloques desde el buffer cache hasta la memoria secundaria.
Log Writer (LGWR): escribe las entradas desde el Log Buffer a disco. La escritura de bloques del Redo Log Buffer a disco ocurre secuencialmente y bajo las siguientes reglas: Cuando el Redo Log est lleno en un 33% o ms. Cuando ocurre un time-out (cada tres segundos). Antes de que el DBWR escriba algn bloque modificado a disco. Cuando una transaccin se compromete.
Checkpoint (CKPT): encargado de notificar al DBWR para que se escriban en los archivos de datos todos los bloques contenidos en la lista de sucios. Este proceso es invocado en intervalos de tiempo determinados. El CKPT es opcional, si no existe las funciones son realizadas por el LGWR.
System Monitor (SMON): Encargado de realizar un proceso de recuperacin rpida cada vez que una instancia es inicializada. Esta labor incluye limpieza de las estructuras de datos de soporte a la ejecucin de consultas y llevar a la base de datos a un estado estable previo a la ejecucin de aquellas transacciones que no hayan culminado exitosamente. Tambin se encarga de desfragmentar el espacio fsico de almacenamiento uniendo bloques de datos libres en la memoria secundaria.
Process Monitor (PMON): lleva la pista de los procesos de la base de datos y efecta labores de limpieza (liberar recursos y bloques ocupados en los caches) si alguno de ellos termina prematuramente.
Archive (ARCH): copia las bitcoras activas cuando stas se encuentran llenas. Este proceso se encuentra activo slo cuando el DBMS se encuentra operando en modo ARCHIVELOG, el nico modo que admite recuperacin de los datos frente a fallas del sistema. Recoverer (RECO): resuelve transacciones distribuidas que se encuentran pendientes debido a la red o a fallas ocurridas en la base de datos distribuida.
Dispatcher (Dnnn): se crea por cada sesin de trabajo activa; es responsable de enrutar los requerimientos desde el proceso usuario, al cual se encuentra asociado, hacia los procesos servidores y retornar la respuesta al proceso de usuario adecuado. Estos procesos se crean solo cuando se ejecuta con la opcin multithreading.
Procesos de Usuario: se encarga de ejecutar el cdigo de aplicacin del usuario y manejar el perfil del usuario con sus variables de ambiente. Estos procesos no se pueden comunicar directamente con la base de datos, por lo que la comunicacin la establecen mediante procesos de servidores. Procesos de Servidores: estos procesos ejecutan las rdenes SQL de los usuarios y llevan los datos del buffer cach para que los procesos de usuario puedan tener acceso a los datos.
2.1.3 Requerimientos para instalacin
Tamao mximo de la base de datos 4 GB Sin limite Sistema Operativo: Windows Server, Windows Seven, Linux, Unix
Arquitectura del Sistema 32/64-bit
Protocolo de red TCP/IP
Protocolo de red TCP/IP con SSL
La regla general para determinar el tamao de la memoria virtual depende del tamao de memoria RAM instalada. Si su sistema tiene menos de 4 GB de RAM por lo general el espacio de intercambio debe ser de al menos dos veces este tamao. Si usted tiene ms de 8 GB de memoria RAM instalada puede considerar usar el mismo tamao como espacio de intercambio. Cuanta ms memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, a menos que tenga un proceso inadecuado.
2.1.4 Instalacin del software de BD en modo transaccional Una base de datos en modo transaccional significa que la BD ser capaz de que las operaciones de insercin y actualizacin se hagan dentro de una transaccin, es un componente que procesa informacin descomponindola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algn error en la operacin se omite todo el proceso de modificacin de la base de datos, si no sucede ningn error se hacen toda la operacin con xito. Una transaccin es un conjunto de lneas de un programa que llevan insert o update o delete. Todo aqul software que tiene un log de transacciones (que es la "bitcora" que permite hacer operaciones de commit o rollback), propiamente es un software de BD; aqul que no lo tiene (v.g. D-Base), propiamente no lo es. Todo software de base de datos es transaccional; si el software de la BD no es "transaccional", en realidad NO es un "software" de BD; en todo caso, es un software que emula el funcionamiento de un verdadero software de BD. Cada transaccin debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio. Se usan los siguientes mtodos: 1. Begin TRans para iniciar la transaccin. 2. CommitTrans para efectuar los cambios con xito. 3. RollbackTrans para deshacer los cambios. Y depende que base de datos uses para efectuar las operaciones pero, es la misma teora para cualquier BD. Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a una base de datos. Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos de informacin sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la informacin deseada. Entonces, podr responder una variedad de preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos seran: o Crear una base de datos. o Crear una tabla. o Introducir datos en la tabla. o Recuperar datos desde la tabla de varias maneras. o Emplear mltiples tablas. 2.1.5 Variables de Ambiente y archivos importantes para instalacin. Variable: Es un espacio en memoria al cual se le da un nombre hay variables especficas que se crean al momento de entrar al sistema, pero tambin hay variables que pueden ser definidas por el usuario. Las variables son una forma de pasar informacin a los programas al momento de ejecutarlos
Variables de ambiente: Se usan para personalizar el entorno en el que se ejecutan los programas y para ejecutar en forma correcta los comandos del Shell. Toman su valor inicial generalmente de un archivo. Profile, pero hay veces en que el usuario tiene que modificar los valores de alguna variable de ambiente cuando est tratando de instalar o ejecutar un nuevo programa.
2.1.6 Procedimiento general de instalacin de un DBMS Desarrolladores que trabajan en PHP, Java, .NET, XML, y Open Source Applications
DBAs que necesitan desarrollar libremente Vendedores de Software y hardware que necesitan distribuir sin cargos Instituciones educativas y estudiantes que cursan materias relacionados con base de datos Oracle es lder en bases de datos. Con Oracle XE, es posible desarrollar y desplegar aplicaciones potentes, actualizar sin costo y generar complejas migraciones.
Oracle Express Edition se instala en una mquina con cualquier nmero de procesadores, solo puede contener una base de datos y direccionar un mximo de 4GB de datos y un mximo de 1GB RAM.
Oracle Database XE, usa una interface basada en browser (Navegador) para: Administrar la base de datos Crear tablas, vistas, y otros objetos de base de datos Importar, exportar, y ver tablas de datos Ejecutar consultas y scripts SQL Generar reportes
Oracle Database XE incluye Oracle Application Express release 2.1, un ambiente de desarrollo grfico para crear aplicaciones Web con base de datos. Oracle Database XE es una versin reducida de Oracle con las mismas caractersticas y potencialidad de Oracle Database. Es necesario destacar que no soporta todos los tipos de datos de Oracle Database XE.
Oracle Database XE incluye las siguientes utilidades:
Lnea de comandos SQL (SQL*Plus), para ejecutar sentencias SQL y comandos PL/SQL y ejecutar scripts SQL* Loader, para insertar datos en la base de datos Utilidades para importar, exportar y volcar la base de datos 2.1.7 Procedimientos para configuracin del DBMS Para configurar nuestro DBMS podemos acceder a las siguientes pantallas, para Oracle o MySQL.
El esquema de una base de datos (en ingls, Database Schema) describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador 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.
Oracle generalmente asocia un 'username' como esquemas en este caso SYSTEM y HR (Recursos humanos).
Por otro lado MySQL presenta dos esquemas information_schema y MySQL ambos guardan informacin sobre privilegios y procedimientos del gestor y no deben ser elimandos.
2.1.8 Comandos generales de alta y baja del DBMS (DROP) Eliminacin
Cuando una tabla ya no es til y no vamos a volver a necesitarla debe ser borrada. Esta operacin se puede realizar con el comando DROP TABLE.
DROP TABLE nombre tabla [CASCADE CONSTRAINTS][PURGE]
Se borra la tabla de la base de datos, borrando toda la informacin contenida en la tabla, es decir, todas las filas. Tambin se borrar toda la informacin que sobre la tabla existiera en el diccionario.
Comando Describe
MySQL proporciona este comando que resulta til para conocer la estructura de una tabla, las columnas que la forman y su tipo y restricciones. La sintsis es la siguiente DESCRIBE nombre Tabla.
DESCRIBE f1;
Comando SHOW TABLES y SHOW CREATE TABLE
El comando SHOW TABLES muestra las tablas dentro de una base de datos SHOW CREATE TABLES muestra la estructura de creacin de la tabla. Modificacin
Esta operacin se puede realizar con el comando ALTER TABLE. Para usar ALTER TABLE, necesita permisos ALTER, INSERT y CREATE para la tabla. La sintaxis Para MySQL es
ALTER [IGNORE] TABLE tbl_name Alter specification [, alter specification] ...;
Alter specification: ADD [COLUMN] column definition [FIRST | AFTER col_name] | ADD [COLUMN] (column_definition...) | ADD INDEX [index_name] [index_type] (index_col_name,...) | ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) | ADD [CONSTRAINT [symbol]] UNIQUE [index_name] [index_type] (index_col_name,...) | ADD [FULLTEXT|SPATIAL] [index_name] (index_col_name,...) | ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) [Reference definition] | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} | CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name] | MODIFY [COLUMN] column_definition [FIRST | AFTER col_name] | DROP [COLUMN] col_name | DROP PRIMARY KEY | DROP INDEX index_name | DROP FOREIGN KEY fk_symbol | DISABLE KEYS | ENABLE KEYS | RENAME [TO] new_tbl_name | ORDER BY col_name | CONVERT TO CHARACTER SET charset_name [COLLATE collation name] | [DEFAULT] CHARACTER SET charset_name [COLLATE collation name] | DISCARD TABLESPACE | IMPORT TABLESPACE | table_options Considere el ejemplo Propietario - Automvil, bajo el criterio de hacienda del Gobierno del Estado de Veracruz, Mxico. Modificaremos el ejemplo para aadir el atributo color segn la sintaxis MySQL
ALTER TABLE automovil ADD(color CHAR(15) NOT NULL);
Ejemplo: Eliminar una llave fornea ALTER TABLE automovil DROP FOREIGN KEY FK_Propietario;
Ejemplo: Agregar una llave foranea con borrado en cascada
ALTER TABLE automovil ADD CONSTRAINT FK_Propietario FOREIGN KEY (idPropietario) REFERENCES propietario (idPropietario) ON DELETE CASCADE;
Puede ejecutar mltiples clusulas ADD, ALTER, DROP, y CHANGE en un nico comando ALTER TABLE. Esta es una extensin MySQL al estndar SQL, que permite slo una de cada clusula por comando ALTER TABLE.