abministracion bd unidad ii

Upload: maximiliano-fernandez-torres

Post on 10-Oct-2015

9 views

Category:

Documents


0 download

TRANSCRIPT

NOMBRE DEL ESTUDIANTE: MAXIMILIANO FERNANDEZ TORRES

NOMBRE DEL INTRUCTOR: IGN. EVA MORA COLORADO

MATERIA: ADMINISTRACION DE BASES DE DATOS

GRUPO: 602-B

Arquitectura del gestorCaractersticas del DBMSEl DBMS:Database management system(DBMS),es unconjunto de programasque se encargan de manejar la creacin y todos los accesos a lasbases de datos, est compuesto por:

DDL:LenguajedeDefinicin de Datos

DML: Lenguaje deManipulacin de Datos

SQL:Lenguaje de Consulta.

*Definiruna base de datos: consiste en especificar lostipos de datos, estructuras y restricciones para los datos que sealmacenarn.

*Construiruna base de datos: es elproceso de almacenar los datos sobre algnmedio de almacenamiento.

*Manipularuna base de datos: incluye funciones comoconsulta, actualizacin, etc. de bases de datos.

Si el sistema soporta bases dedatos relacionales sellamaRDBMSen ingls oSGBDRen espaol.Ejemplo de DistintosDBMSRelacionales Existentes En ElMercadoActual:Si se trata de una base de datosrelacional(veremos acontinuacinqu significa esto), es probable queel lenguajeusado para recuperar las informaciones que se nos muestran sea SQL(Structured QueryLanguage).

Los DBMSms comunes sonOracle,SQL server, Informix, Sysbase,Caractersticasde algunosDBMSBases de datos jerrquicos: los datos se organizan engruposunidos entre ellos por relaciones de posesin, enlas que un conjunto de datos puede tener otrosconjuntosde datos, pero un conjunto puede pertenecer slo a otro conjunto. Laestructuraresultante 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 bidimensionalcompuesta 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 conjuntode clases que definen las caractersticas y elcomportamientode 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 deinteligenciaque les permite saber cmo comportarse, sin tener que apoyarse en aplicaciones externas.

Diferencia entre undbmsy una base de datos.

La base de datos es una coleccin dearchivosinterrelacionadosalmacenados en conjunto sin redundancia y la dbmses un conjunto de numerosasrutinas desoftwareinterrelacionadas cada una de ellas es responsable de una determinada tarea.2.1.1 Estructura de memoria y procesos de la instanciaLamemoriase puede estructurar en las siguientes partes: reaGlobal delsistema(SGA), la cual se comparte entretodos losservidores ylos procesosen segundo plano. reas globales deprogramas(PGA), que es privada para cadaservidory proceso ensegundoplanos; a cada proceso se asigna un PGA. rea de Ordenaciones (Sort Areas). Memoria Virtual rea de cdigo de software.

Instancia de una Base de DatosCada instancia est asociada a unabase 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.

Cuandoseinicia 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 datosfsica.nicamente eladministradorde 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 lainformacinque contiene.

2.1.2 Estructuras fsicas de la base de datos

La Arquitectura de Oracle tiene tres componentes bsicos:1. La Estructura de memoria1. Los Procesos 1. 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 datosC. 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

Tamaomximode labase de datos4 GBSin limite

Sistema Operativo:Windows Server, Windows Seven, Linux, Unix

Arquitectura del Sistema32/64-bit

Protocolo de redTCP/IP

Protocolo de red TCP/IP con SSL

La regla general paradeterminarel tamao de la memoria virtual depende del tamao de memoriaRAMinstalada. 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 transaccionalUna 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 llevaninsertoupdateodelete. Todo aqul software que tiene un log de transacciones (que es la "bitcora" que permite hacer operaciones decommitorollback), 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: Crear una base de datos. Crear una tabla. Introducir datos en la tabla. Recuperar datos desde la tabla de varias maneras. Emplear mltiples tablas.2.1.5 Variables de Ambiente y archivos importantes para instalacin.Variable: Es unespacioen memoria al cual se le da un nombre hayvariablesespecficas que se crean al momento de entraral sistema, pero tambin hay variables que pueden ser definidas por el usuario.Las variablesson 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 enforma correctalos comandos del Shell.Toman su valorinicialgeneralmente de un archivo. Profile, pero hay veces en que el usuario tiene que modificarlos valoresde alguna variable de ambiente cuando est tratando de instalar o ejecutar un nuevo programa.

2.1.6 Procedimiento general de instalacin de un DBMSDesarrolladoresque trabajan en PHP, Java, .NET, XML, yOpen SourceApplications

DBAsque necesitan desarrollar librementeVendedores de Software y hardwareque necesitan distribuir sin cargosInstituciones educativasy estudiantesque cursan materias relacionados con base de datosOracle es lder en bases de datos. Con Oracle XE, es posible desarrollar ydesplegar aplicacionespotentes, actualizar sin costo y generar complejas migraciones.OracleExpress Editionse 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 unainterfacebasada en browser (Navegador) para:Administrar la base de datosCrear tablas, vistas, y otros objetos de base de datosImportar, exportar, y vertablas de datosEjecutar consultas y scripts SQLGenerar reportesOracle Database XE incluye OracleApplication Expressrelease 2.1, un ambiente de desarrollo grfico paracrear aplicaciones Webcon 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 comandosSQL (SQL*Plus), para ejecutar sentencias SQL y comandos PL/SQL y ejecutar scriptsSQL* Loader, para insertar datos en la base de datosUtilidades para importar, exportar y volcar la base de datos2.1.7 Procedimientos para configuracin del DBMSPara 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) EliminacinCuando una tabla ya no es til y no vamos a volver a necesitarla debe ser borrada. Esta operacin se puede realizar con el comandoDROP TABLE.DROP TABLEnombre 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 DescribeMySQL 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 siguienteDESCRIBEnombre Tabla.DESCRIBE f1;

Comando SHOW TABLES y SHOW CREATE TABLEEl comandoSHOW TABLESmuestra las tablas dentro de una base de datos SHOW CREATE TABLESmuestra la estructura de creacin de la tabla.ModificacinEsta operacin se puede realizar con el comandoALTER TABLE. Para usar ALTER TABLE, necesita permisosALTER,INSERTyCREATEpara la tabla.La sintaxis Para MySQL esALTER [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_optionsConsidere el ejemploPropietario - Automvil, bajo el criterio de hacienda del Gobierno del Estado de Veracruz, Mxico. Modificaremos el ejemplo para aadir el atributocolorsegn la sintaxis MySQL

ALTER TABLE automovil ADD(color CHAR(15) NOT NULL);

Ejemplo: Eliminar una llave forneaALTER TABLEautomovilDROP FOREIGN KEYFK_Propietario;Ejemplo: Agregar una llave foranea con borrado en cascadaALTER TABLE automovil ADDCONSTRAINT FK_PropietarioFOREIGN KEY (idPropietario)REFERENCES propietario (idPropietario)ON DELETE CASCADE;Puede ejecutar mltiples clusulasADD,ALTER,DROP, yCHANGEen un nico comando ALTER TABLE. Esta es una extensin MySQL al estndar SQL, que permite slo una de cada clusula por comandoALTER TABLE.