porta folio

Upload: carlosz-barrera

Post on 07-Jan-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Trabajo de investigacion

TRANSCRIPT

UNIDAD ACADMICA DE LA REGIN DE LA MONTAA(UARM)

Materia: Administracin de Base de Datos

Maestro: Fidencio Meneses Garca

Tema: Portafolio de evidencias

Alumno: Carlos Manuel Barrera Ixtlahuac

Cuatrimestre: 4 (Septiembre - Diciembre)Grupo: A

Carrera: Tecnologas de la Informacin y Comunicacin (TIC)rea (Sistemas Informticos)

Chilapa de lvarez Gro, Octubre del 2014ContenidoUNIDAD I. Instalacin de un servidor de base de datos2Equipos de servidor2Anlisis costo -beneficio6Instalacin del SGBD8Manejo de un SGBD19UNIDAD II. Esquema fsico y conectividad de BD21Esquema fsico de la BD21Localizacin de los archivos de BD22Conectividad a base de datos25UNIDAD III. Respaldos y restauracin de bases de datos27Dispositivos de almacenamiento27Anlisis de requerimientos (Aeropuerto)29Anlisis de requerimientos (Hospital)30

UNIDAD I. Instalacin de un servidor de base de datosEquipos de servidorConjunto de Hardware y Software que responde a los requerimientos de un cliente. Los Servidores proporcionan un servicio al cliente y devuelven los resultados. En algunos casos existen procesos auxiliares que se encargan de recibir las solicitudes del cliente, verificar la proteccin, activar un proceso servidor para satisfacer el pedido, recibir su respuesta y enviarla al cliente. Adems, deben manejar los interbloqueos, la recuperacin ante fallas, y otros aspectos afines. Por las razones anteriores, la plataforma computacional asociada con los servidores es ms poderosa que la de los clientes. Por esta razn se utilizan PCs poderosas, estaciones de trabajo, minicomputadores o sistemas grandes. Adems deben manejar servicios como administracin de la red, mensajes, control y administracin de la entrada al sistema ("login"), auditora y recuperacin y contabilidad.Tipos Comunes de Servidores:Servidor de Archivos (FTP, Novell).Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).Servidor de ComunicacionesServidor de Impresin.Servidor de Terminal.Servidor de Aplicaciones (Windows NT, Novell).Funciones Comunes del Servidor:Acceso, almacenamiento y organizacin de datos.Actualizacin de datos almacenados.Administracin de recursos compartidos.Ejecucin de toda la lgica para procesar una transaccin.Procesamiento comn de elementos del servidor (Datos, capacidad de CPU, almacenamiento en disco, capacidad de impresin, manejo de memoria y comunicacin).Gestin de perifricos compartidos.Control de accesos concurrentes a bases de datos compartidas.Enlaces de comunicaciones con otras redes de rea local o extensaPara que los clientes y los servidores puedan comunicarse se requiere una infraestructura de comunicaciones, la cual proporciona los mecanismos bsicos de direccionamiento y transporte. La mayora de los sistemas Cliente/Servidor actuales, se basan en redes locales y por lo tanto utilizan protocolos no orientados a conexin, lo cual implica que las aplicaciones deben hacer las verificaciones.Red de comunicacin.-Es todo aquel conjunto de elementos basados en hardware y software que permite establecer un enlace entre los clientes y los servidores, se clasifican por su tamao LAN, MAN y WAN. La red debe tener caractersticas adecuadas de desempeo, confiabilidad, transparencia y administracin.Entre las principales caractersticas de la arquitectura cliente / servidor, se pueden destacar las siguientes:El servidor presenta a todos sus clientes una interface nica y bien definida.El cliente no necesita conocer la lgica del servidor, slo su interface externa.El cliente no depende de la ubicacin fsica del servidor, ni del tipo de equipo fsico en el que se encuentra, ni de su sistema operativo.Los cambios en el servidor implican pocos o ningn cambio en el cliente.1.6.1 Componentes de aplicaciones.Una infraestructura Cliente/Servidor consta de tres componentes esenciales, todos ellos de igual importancia y estrechamente ligados:Plataforma OperativaEntorno de Desarrollo de Aplicaciones.Gestin de Sistemas.Funciones de componentes.Plataforma Operativa.-La plataforma deber soportar todos los modelos de distribucin Cliente/Servidor, todos los servicios de comunicacin, y deber utilizar, preferentemente, componentes estndar de la industria para los servicios de distribucin. Los desarrollos propios deben coexistir con las aplicaciones estndar y su integracin deber ser imperceptible para el usuario. Igualmente, podrn acomodarse programas escritos utilizando diferentes tecnologas y herramientas.Entorno de Desarrollo de Aplicaciones.- Debe elegirse despus de la plataforma operativa. Un entorno de aplicacin incremental, debe posibilitar la coexistencia de procesos cliente y servidor desarrollados con distintos lenguajes de programacin y/o herramientas, as como utilizar distintas tecnologas (por ejemplo, lenguaje procedural, lenguaje orientado a objetos, multimedia), y que han sido puestas en explotacin en distintos momentos del tiempo.Gestin de Sistemas.- Estas funciones aumentan considerablemente el costo de una solucin, pero no se pueden evitar. Siempre deben adaptarse a las necesidades de la organizacin, y al decidir la plataforma operativa y el entorno de desarrollo, es decir, en las primeras fases de la definicin de la solucin.Una arquitectura es un conjunto de reglas, definiciones, trminos y modelos que se emplean para producir un producto.

La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectan procesos distribuidos y computo cooperativo.La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de informacin, en el que las transacciones se dividen en procesos independientes que cooperan entre s para intercambiar informacin, servicios o recursos. Se denomina cliente al proceso que inicia el dilogo o solicita los recursos y servidor, al proceso que responde a las solicitudes. Es el modelo de interaccin ms comn entre aplicaciones en una red.Beneficios:Mejor aprovechamiento de la potencia de cmputo (Reparte el trabajo).Reduce el trfico en la Red. (Viajan requerimientos).Opera bajo sistemas abiertos.Permite el uso de interfaces grficas variadas y verstiles. Qu es el Cliente?Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Los Clientes interactan con el usuario, usualmente en forma grfica. Frecuentemente se comunican con procesos auxiliares que se encargan de establecer conexin con el servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de sincronizacin y de seguridad.

Caractersticas: El Cliente oculta al Servidor y la Red. Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas. Dedicado a la cesin del usuario ( Inicia...Termina ). El mtodo ms comn por el que se solicitan los servicios es a travs de RPC (Remote Procedure Calls).Funciones Comunes del Cliente: Mantener y procesar todo el dialogo con el usuario. Manejo de pantallas. Mens e interpretacin de comandos. Entrada de datos y validacin. Procesamiento de ayudas. Recuperacin de errores. Generacin de consultas e informes sobre las bases de datos.

Anlisis costo -beneficioPara qu sirve?La tcnica de Anlisis de Costo/Beneficio, tiene como objetivo fundamental proporcionar una medida de la rentabilidad de un proyecto, mediante la comparacin de los costos previstos con los beneficios esperados en la realizacin del mismo. Esta tcnica se debe utilizar al comparar proyectos para la toma de decisiones. Un anlisis Costo/Beneficio por si solo no es una gua clara para tomar una buena decisin. Existen otros puntos que deben ser tomados en cuenta, ej. La moral de los empleados, la seguridad, las obligaciones legales y la satisfaccin del cliente. El anlisis Costo-Beneficio, permite definir la factibilidad de las alternativas planteadas o de un proyecto a ser desarrollado. La utilidad de la presente tcnica es la siguiente: Para valorar la necesidad y oportunidad de la realizacin de un proyecto. Para seleccionar la alternativa ms beneficiosa de un proyecto. Para estimar adecuadamente los recursos econmicos necesarios, en el plazo de realizacin de un proyecto. 2. Cmo se elabora?El anlisis Costo/Beneficio involucra los siguientes 6 pasos: 1. Llevar a cabo una lluvia de ideas o reunir datos provenientes de factores importantes relacionados con cada una de sus decisiones. 2. Elaborar dos listas, la primera con los requerimientos para implantar el proyecto y la segunda con los beneficios que traer el nuevo sistema (vertabla 1en el apartado 3. Formato y la tabla 1 en el apartado 4. Ejemplo). Antes de redactar la lista es necesario tener presente que los costos son tangibles, es decir, se pueden medir en alguna unidad econmica, mientras que los beneficios pueden ser tangibles y no tangibles, es decir pueden darse en forma objetiva o subjetiva. 3. Determinar los costos relacionados con cada factor. Algunos costos como la mano de obra, sern exactos mientras que otros debern ser estimados. 4. Sumar los costos totales para cada decisin propuesta. 5. Determinar los beneficios en alguna unidad econmica para cada decisin. 6. Poner las cifras de los costos y beneficios totales en una forma de relacin donde los beneficios son el numerador y los costos son el denominador. Beneficio costos 7. Comparar las relaciones Beneficios a costos para las diferentes decisiones propuestas. La mejor solucin, en trminos financieros, es aqulla con la relacin ms alta. 3. Formato

Instalacin del SGBD

Luego de laInstalacin de Apache en Windows 7y laInstalacin de PHP 5 en Windows 7, continuamos dejando a punto nuestro servidor Web paradesarrollo LAMP en Windows 7, para esto veamos ahora comoActivar MySQL en Windows 7.Tambin puedesInstalar MySQL en Windows 8 y 7 desde el archivo comprimido, sin instalador siguiendo nuestro otro tutorial en el link.Ahora toca el turno de Instalar la base de datosMySQL, que es una de las ms utilizadas por las diferentes aplicaciones webs desarrolladas en PHP, por ejemploWordPress,phpBB,vBulletin,Joomla,Drupal, entre otras tantas.Descargar MySQL para Windows 7Desde este enlace podemos descargar laltima versin disponible de MySQLque en este momento esMySQL Community Server 5.1.45, que nos la proveeSUNde forma totalmente gratuita.En el sitio tenemos una versin Essentials que se recomienda por ellos, y contiene lo bsico para tener funcional elMySQL Server. Igualmente en mi caso prefiero utilizar e instalar la versin Full con instaladorWindows (x86, 64-bit), MSI Installerde 98 megas que descarga un archivo llamadomysql-5.1.45-winx64.msi. Recuerda que puede existir una versin ms nueva y debes seleccionar 32 o 64bits segn sea tu caso.Instalar MySQL en WindowsTenemos tres tipos de instalacin,tpica,completaypersonalizada, tpica y completa son muy sencillas basta con seleccionar siguiente, siguiente, siguiente., pero haremos la instalacin personalizada para puntualizar ciertos aspectos interesantes de la instalacin deMySQL.

Luego de seleccionarCustom(personalizada), nos pide indicar que elementos instalaremos, por defecto instalar todo menos los Developers Components, son opcionales, contienen ejemplos, scripts y algunas libreras para los ms curiosos.La carpeta de instalacin por defecto esc:\Archivos de Programa\MySQL\MySQL Server 5.1\, podemos cambiarla con elbotn Change, y debes recordarla para ms adelante. Presionamos siguiente e instalar para que comience a realizar la instalacin de MySQL.Al finalizar la instalacin nos presenta la versin Entreprise que es de pago y lo hace a modo de publicidad, presionamos siguiente para continuar.

Es momento deconfigurar MySQL Server como un servicio en Windows 7y si lo deseamos registrarnos en SunConnect para obtener noticias, novedades y notificaciones de actualizaciones deMySQL, luego presionamos Finalizar.Configurar y Activar Servidor MySQL en WindowsEn el asistente de configuraciones podemos decidir entre una configuracin detallada o estndar.La instalacin estndar agrega MySQL como un servicio Windowsque se ejecuta automticamente al iniciar, se debe utilizar en computadoras que no tengan instaladas MySQL.

Pero haremos la configuracin detallada que por ser ms precisa nos permite ahondar ms en este artculo. En este punto de la configuracin nos brinda tres formas posible: Developer MachineEs la que vamos a utilizar nosotros como desarrolladores, ya que usaremos MySQL ms que nada para testear nuestras aplicaciones. En esta opcin MySQL Server se configura para utilizar un mnimo de recursos y memorias de forma de dejar parte del PC disponible para usarlo en otras aplicaciones. Server MachineRecomendada cuando instalamos MySQL Server en un servidor donde existen otras aplicaciones en modo Servidor, por ejemplo Aplicaciones Web que se sirven de este mismo servidor. En este caso MySQL hace un uso intermedio de memoria y recursos. Dedicated MySQL Server MachineEsta opcin configura MySQL asumiendo que solo MySQL Server estar corriendo en este servidor, no deja lugar a que corran otras aplicaciones. En esta configuracin MySQL utilizara toda la memoria y recursos disponibles.Seleccionaremos en nuestro casoDeveloper Machine:

y presionamos siguiente. Ahora debemos definir el tipo de uso que se le dar a las bases de datos.

Tambin se presenta tres opciones, debemos seleccionar una de ellas dependiendo del tipo de optimizacin que deseamos: Multifunctional DatabaseDefine un propsito general, es la que seleccionaremos en nuestro caso para testing y desarrollo. Optimizara el servidor para transacciones rpidas enInnoDByMyISAM. Transactional Database OnlySe optimiza para servidor de aplicaciones y aplicaciones web. Seleccionaremos esta opcin si la aplicacin que consume datos deMySQLest en produccin y utiliza principalmenteInnoDB, aunque tambin admiteMyISAMaunque no lo beneficia. Non-Transactional Database OnlyOptimo para aplicaciones web sencillas, de control o programas de anlisis. Solo se activa el modelo no-transaccionalMyISAM, por tanto no admiteInnoDB.En nuestro caso seleccionaremosMultifunctional Database.

La siguiente seleccin es la carpeta donde se almacenaran los datos, por defecto podemos usar una subcarpeta que se crear en el lugar de la instalacin de MySQL, y continuamos con siguiente.

La cantidad de conexiones concurrentes al servidor es lo siguiente que debemos definir, si son hasta 20 conexiones seleccionamosDecision Support (DSS)/OLAP, en caso de requerir hasta 500 conexiones concurrentes seleccionamosOnline Transaction Processing (OLTP), o en este caso como es para testing seleccionamosManual Setting, y definimos el nmero de conexiones usando 5 o 10 conexiones.La configuracin de red es lo siguiente que debemos definir

La configuracin de red es lo siguiente que debemos definir indicando su utilizaremos protocoloTCP/IPy el puerto, dejaremos los valores por defecto indicando el puerto3306y tambin marcando Add firewall exception for this port de forma de no tener problemas con el Firewall, y presionamos siguiente.El juego de caracteres es lo siguiente a indicar

por defecto defineStandard Character Set, olatin1, tambin conocido comoiso-8859-1, pero la mayora de los servidores web y aplicaciones comoWordPressutilizan por defectoUTF8ya que soporta mejor caracteres multilenguaje, la opcin esBest Support For Multilingualismque seleccionaremos en este caso, la ltima opcinManual Selected Default Character Set / Collationnos permite seleccionar manualmente el Char Set.Debemos indicar ahora queMySQL Serverse ejecutar como unServicio Windows(Install As Windows Service),

indicar un nombre de servicio, que dejaremos como MySQL, y marcaremos tambin la opcin deincluir los archivos de ejecucin de MySQL en el PATH de Windows(Include Bin Directory in Windows PATH) y continuamos con siguiente.En este punto debemos prestar mucha atencin

ya que es donde definimos elpassword del administradorprincipal delServidor MySQL, o sea el usuarioroot. Tambin podemos indicar si queremos que nuestras bases de datos se accedan desde maquinas remotas con el usuarioroot, y continuamos con siguiente.

hemos culminado con estos los pasos, presionamosExecutepara que se termine deInstalar y Configurar MySQL. PresionamosFinishcuando aparezca el mensaje final de instalacin.

Manejo de un SGBD

Funciones de un SGBD Las funciones provistas por un SGBD pueden agruparse en tres clases:

Consulta y actualizacin de datosMantenimiento de esquemasManejo de transacciones Consulta y Actualizacin sta es la clase ms bsica de funciones y la nica que es visible "desde afuera". Consiste en un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer, manipular y modifica la informacin almacenada en la base de datos. Algunos sistemas proveen una nica interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQL permite ejecutar consultas y actualizaciones en una notacin vagamente similar al lenguaje natural. La expresin: select matricula, nombre from alumnos where carrera = "Ingeniera" and edad < 21produce como resultado una tabla con los nmeros de matrcula y los nombres de todos los alumnos menores de edad de la carrera de Ingeniera.

Mantenimiento de esquemas El esquema de la base de datos es la descripcin de la estructura de la informacin almacenada en ella. Por ejemplo, para un sistema basado en tablas, el esquema puede consistir en una lista de tablas en uso, los campos que contienen, el tipo de datos de cada campo, descripciones en lenguaje natural del propsito de cada tabla y cada campo, y restricciones sobre los valores admisibles en cada campo. As como los usuarios necesitan acceder, agregar y modificar datos, tambin necesitan acceder, agregar y modificar el esquema de datos. Por ejemplo, un usuario que se acerca por primera vez a una base de datos querr saber antes que nada qu informacin contiene sta, un programador puede escribir programas que definan y creen nuevos tipos de entidades, o eliminen algunos preexistentes; el DBA necesita controlar qu usuarios tienen accesos a qu informacin, formulando reglas de seguridad que se hacen parte del esquema.

Manejo de Transacciones Una de las reas principales de aplicacin de los sgbd's es lo que se llama procesamiento de transacciones. Una transaccin es un programa de aplicacin, generalmente de duracin breve, que accede y actualiza una parte tambin generalmente pequea de la base de datos. Tpicos ejemplos son un depsito o extraccin de una cuenta bancaria, o una reservacin en un vuelo, o una verificacin de una tarjeta de crdito. El menejo de transacciones consiste en controlar mltiples transacciones ejecutando el paralelo sobre una misma base de datos corriendo en un sistema que puede fallar. Los objetivos del gestor de transacciones del sgbd son: evitar que las transacciones interfieran unas con otras al ejecutar en paralelo, y garantizar que la base de datos no sea daada en forma irreparable por cadas, ya sea del sistema en s o de alguna de las transacciones. El primero de los objetivos da lugar a lo que se llama control de paralelismo; el segundo, a tcnicas de recuperacin.

UNIDAD II. Esquema fsico y conectividad de BDEsquema fsico de la BD El esquema fsico de una base de datos, depende del tipo de SGBD y de un SGBD especfico.El esquema fsico de una base de datos es una descripcin de la implementacin de una base de datos en memoria secundaria, describiendo las estructuras de almacenamiento y los mtodos de acceso a esos datos.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.El esquema es generalmente almacenado en un Diccionario de Datos. Aunque generalmente el esquema es definido en un lenguaje de Base de datos, el trmino se usa a menudo para referirse a una representacin grfica de la estructura de base de datos (Diseo de lgico de la base de datos).Generalmente en la prctica el trmino esquema de la base de datos se refiere al diseo fsico de la base de datos.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.Sintaxis bsica para crear una base de datos en Oracle ( No aplica en Oracle express)CREATE DATABASE nombre_baseDatosSintaxis bsica para crear una base de datos en MySQLCREATE DATABASE IF NOT EXISTS nombre_baseDatos;Para conocer las bases datos creadas useSHOW DATABASES;

Localizacin de los archivos de BD

Archivos de bases de datos de SQL ServerLas bases de datos de SQL Server tienen tres tipos de archivo:Los archivos de datos principales: tienen la extensin .mdf de manera predeterminada. Todas las bases de datos tienen un archivo de datos principal.Los archivos de datos secundarios: tienen la extensin .ndf de manera predeterminada. Los archivos de datos secundarios son opcionales. Algunas bases de datos pueden no tener ninguno, mientras es posible que otras tengan varios archivos de datos secundarios.Los archivos de registro: tienen la extensin .ldf de manera predeterminada. Todas las bases de datos tienen por lo menos un archivo de registro.Asegrese de que todos los volmenes que contengan los archivos antes mencionados estn incluidos en la copia de seguridad. Por ejemplo, si sus bases de datos se encuentran en C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ y sus archivos de registro se encuentran en F:\TLs\, deber hacer una copia de seguridad de ambos volmenes C:\ y F:\.Determinar las rutas hacia todos los archivos de las bases de datos de una instancia utilizando Transact-SQLEl siguiente script Transact-SQL se puede utilizar "tal cual" para determinar las rutas hacia todos los archivos de bases de datos de una instancia.Create Table ##temp(DatabaseName sysname, Name sysname, physical_name nvarchar(500), size decimal (18,2), FreeSpace decimal (18,2))Exec sp_msforeachdb 'Use [?];Insert Into ##temp (DatabaseName, Name, physical_name, Size, FreeSpace) Select DB_NAME() AS [DatabaseName], Name, physical_name, Cast(Cast(Round(cast(size as decimal) * 8.0/1024.0,2) as decimal(18,2)) as nvarchar) Size, Cast(Cast(Round(cast(size as decimal) * 8.0/1024.0,2) as decimal(18,2)) - Cast(FILEPROPERTY(name, ''SpaceUsed'') * 8.0/1024.0 as decimal(18,2)) as nvarchar) As FreeSpace From sys.database_files'Select * From ##tempdrop table ##temp

Determinar la ubicacin de los archivos de las bases de datos utilizando SQL Server Management StudioUbicaciones predeterminadasLos archivos de bases de datos de SQL Server se encuentran en las ubicaciones predeterminadas a menos que haya personalizado manualmente las rutas. Para conocer las ubicaciones predeterminadas de los archivos de base de datos:

Ejecute Microsoft SQL Server Management Studio y conctese a la instancia necesaria.Haga clic con el botn derecho en el nombre de la instancia y seleccione Propiedades.Abra la pgina Configuracin de la base de datos y visualice las rutas especificadas en la seccin Ubicaciones predeterminadas de la base de datos.Ubicaciones personalizadasSi las ubicaciones de los archivos de base de datos de SQL Server fueron personalizadas, proceda de la siguiente manera.En Microsoft SQL Server Management Studio, expanda la instancia necesaria.Haga clic con el botn derecho en la base de datos y despus haga clic en Propiedades. Esta accin abrir el cuadro de dilogo Propiedades de la base de datos.En el panel Seleccionar una pgina, haga clic en Archivos y visualice las rutas especificadas en la seccin Archivos de base de datos.

Conectividad a base de datosConectividad con Base de DatosLas aplicaciones requieren tanto registrar como leer datos para generar informacin, estos datos pueden estar almacenados en una Base de Datos.Las API: Una interfaz de programacin de aplicacionesoAPI(del inglesApplication Programming Interface) es el conjunto defunciones y procedimientos, en laprogramacin orientada a objetos que ofrece cierta bibliotecapara ser utilizado por otro software como una capa de abstraccin. Su funcin es ser una interfaz entre la aplicacin y la base de datos.Las API:ODBC (Open Data Base Connectivity): Esta tecnologa proporciona una interfaz comn para tener acceso a bases de datos SQL heterogneas. ODBC est basado en SQL (Structured Query Language) como un estndar para tener acceso a datos. ODBC permite la conexin fcil desde varios lenguajes de programacin y se utiliza mucho en el entorno Windows. Sobre ODBD Microsoft ha construido sus extensiones OLE DB y ADOJDBC (Java Data Base Connectivity): se trata del estndar para la conectividad entre el lenguaje Java y un amplio rango de sistemas gestores de bases de datos. Los JDBC pueden desenvolverse tanto en un nivel cliente, esto es, trabajando del lado de la aplicacin, o en el servidor directamente relacionado con la base de datos. Cuando se encuentre a nivel cliente, trabajar con la tecnologa ODBC para acceso a los datos.El puente JDBC-ODBC: fue uno de los primeros controladores disponibles, implementa un enlace para utilizar un controlador ODBC desde Java. Con el tiempo han surgido controladores JDBC especficos para cada base de datos que mejoran el rendimiento del puente JDBC-ODBC. Controladores Java parcialmente nativos: usan tanto cdigo Java como binario especfico de cada plataforma. Controladores JDBC-Net de Java puro: son controladores escritos completamente en Java que entienden un protocolo de red estndar (HTTP, etc.) y permiten comunicarse con un servidor de acceso a bases de datos, que es el que finalmente provee el acceso al SGBD especfico (posiblemente con ODBC). JDBC o Java Data Base Connectivity_ Creado por la empresa Sun, es la API estndar de acceso a bases de datos con Java. Sun opt por crear una nueva API en lugar de utilizar ODBC, porque esta ltima presentaba algunos problemas desde ciertas aplicaciones Java. JDBC esta escrito en Java y es automticamente instalable y portable. El nivel de abstraccin al que trabaja JDBC es ms alto que el de ODBC y, de esta forma, se pueden crear libreras de ms alto nivel.Introduccin al controlador JDBC (para SQL Server)El controlador JDBC de Microsoft SQL Server 2005 es un controlador compatible con Java Database Connectivity (JDBC) 3.0 que proporciona un acceso confiable a los datos de las bases de datos de Microsoft SQL Server 2000 y SQL Server 2005Requisitos del sistema para el controlador JDBCPara tener acceso a los datos desde una base de datos de SQL Server mediante el controlador JDBC de Microsoft SQL Server 2005, debe tener los siguientes componentes instalados en el equipo: Microsoft Controlador JDBC de SQL Server 2005 Java Runtime Environment Requisitos del sistema operativo El controlador JDBC se ha diseado para funcionar en cualquier sistema operativo que admita el uso de una mquina virtual Java (JVM). No obstante, slo se admiten oficialmente los sistemas operativos Sun Solaris, Red Hat Linux y Windows 2000 o posterior.

UNIDAD III. Respaldos y restauracin de bases de datosDispositivos de almacenamientoLos dispositivos de almacenamiento de informacin, como ya dice el nombre, son dispositivos capaces de grabar datos en su memoria, facilitando as, el transporte de informacin y la distribucin de la misma en distintos equipos. Adems de eso, los dispositivos de almacenamiento de informacin auxilian como herramientas de almacenamiento seguro de datos, tambin conocidos como backup. Entre los dispositivos ms utilizados en el da a da estn: - Dispositivos de almacenamiento por medio magntico (Discos duros y Disquetes) - Dispositivos de almacenamiento por medio ptico (CD, DVD, Blu-Ray) - Dispositivos de almacenamiento por medio electrnico (pendrive y tarjeta de memoria).A continuacin, las principales caractersticas de cada uno:Dispositivos de Almacenamiento de Informacin por Medio Magntico Esos dispositivos son los ms antiguos y utilizados a gran escala. Su ventaja reside en que ellos permiten el almacenamiento de grandes cantidades de informacin en pequeos volmenes. La gestin de los datos almacenados se realiza a travs de dipolos magnticos presentes en su superficie. Los ejemplos ms conocidos de dispositivos de almacenamiento de informacin por medio magntico son los HD's (discos duros), HD's Externos y el antiguo disquete. Estos dispositivos son utilizados en distintas ocasiones, principalmente para almacenar grandes cantidades de datos en las computadoras (HD's) o poco volumen de informacin (disquete). Dispositivos de Almacenamiento de Informacin por Medio ptico La principal funcin de los dispositivos de almacenamiento por medio ptico es almacenar archivos multimedia, como msica, fotos y videos. Adems de eso, son bastante utilizados para almacenar programas de computadoras, juegos y aplicaciones comerciales. La grabacin de los datos es realizada a travs de un rayo lser de alta precisin. Son ejemplos de dispositivos de almacenamiento de informacin por medio ptico: CDs, DVDs y Blu-Ray. Estos discos son capaces de almacenar grandes cantidades de informacin y su utilizacin es bastante comn, principalmente en computadoras, radios, reproductores de DVD y Blu-Ray. El valor de este medio es que es muy accesible y encontrado fcilmente en papeleras, tiendas de informtica, supermercados, etc. Dispositivos de Almacenamiento de Informacin por Medio Electrnico La ms joven y prometedora forma de almacenamiento de informacin. Utiliza circuitos electrnicos para almacenar la informacin, los cuales no necesitan moverse para efectuar tal funcin. Este dispositivo es encontrado en los pendrives y tarjetas de memoria, muy comunes hoy en da. Debido su fcil manipulacin, estos dispositivos ganaron fuerza rpidamente en el mercado. Sin embargo, su capacidad de almacenamiento de informacin todava es limitada debido al alto valor de esta tecnologa. Su tamao es muy pequeo y se utilizan masivamente en computadoras, cmaras digitales y telfonos celulares. Se los identifica cmo unidades de estado slido (SSD)

Anlisis de requerimientos (Aeropuerto)Un aeropuerto internacional necesita iniciar funciones de operacin, ya cuenta con su sistema y base de datos para dichas actividades, lo que no tiene son equipos de cmputo ni servidor para prestar sus servicios, se requiere 20 equipos de cmputo para la venta de boletos y otros 10 para las funciones administrativas, no cuenta con un servicio de conexin a red.Elabora el anlisis y propuesta para adquirir lo necesario, el presupuesto destinado es de 1, 000, 000 de pesos.

Base: $5500 Servidor: Torre $75000 Sistema operativo: UNIX $500 Procesador: 10 GHz Memoria RAM: 16 Gb Conexin a red: $25,000 Computadoras: 30 $540,000. Disco duro: 1 TB

El servidor ser una torre ya que este se adapta a las necesidades del aeropuerto

Anlisis de requerimientos (Hospital)Un hospital automatizar sus procesos generales de todas las reas incluyendo las de especialidades para ello ya cuenta con un sistema y su base de datos lo nico que necesita son equipos de cmputo para el servidor y para sus reas tambin necesitara un administrador de dicho sistema, adicionalmente requiere de buena conexin de internet para llevar a cabo para realizar diferentes transacciones de informacin y as tambin videoconferencias para el rea de especialidades, para ello el presupuesto que se ha destinado es de 850 mil pesos, no olvidar que se debe prever el respaldo de la informacin.Realizar el anlisis para la seleccin del equipo y su instalacin del equipo.CantidadCaractersticasCostoBeneficioCosto-BeneficioAceptable S/N

1Servidor: Torre BaseSistema operativoMicrosoft Windows Server 2008/2012 SP2, x86/x64 (x64 incluye Hyper-VTM)Microsoft Windows Server 2008/2012 R2, x64 (incluye Hyper-VTM v2)Microsoft Windows HPC Server 2008Novell SUSE Linux Enterprise ServerProcesador Intel Xeon E5-2600 v3Memoria RAM: 64 Gb DDR4Admite hasta 32 discos duros de 2,5" o 18 discosControladora de red2 x 1 GB duros de 3,5",

75,000Servidor disponible las 24 horasServidor propio Equipo de calidad

775,000

Si

20Computadoras avanzadas procesador Intel Core i3-4130T (3MB Cach, 2.90 GHz)Sistema operativoWindows 8.1 Edicin de un Solo Idioma (64-bit), EspaolMemoria4 GB6 Un canal DDR3L a 1600 MHzDisco duroDisco Duro SATA de 1TB 5400 RPMTarjeta de videoGrficos integrados Intel360,000Computadoras capaces de soportar las aplicaciones ms avanzadas.

415,000

Si

1Administrador del sistema79,000Crear y configurar la base de datos.Mantendr el sistema en constante actualizacinLe dar mantenimiento al sistema 336,000Si

2Red (Paquete Telmex Todo Mxico sin Limites) Pago anual36,000Tener una red para el servidor y otra para las computadoras y otros dispositivos.Tener las redes disponibles sin algn error de conexin para evitar prdidas de informacin300,000Si

Bitcora de la BD

BITACORAPermite guardar las transacciones realizadas sobre una base de datos en especfico, de tal manera que estas transacciones puedan ser auditadas y analizadas posteriormente.Pueden obtenerse datos especficos de la transaccin como son la Operacin que se realiz, el Usuario de BD y Windows, Fecha, Maquina y Programa.

ALERTASRegistro y envo de notificaciones al momento en que se produzca un evento de modificacin de datos en los sistemas de acuerdo a los criterios definidos por el usuario.Envi de las notificaciones al correo electrnico de los usuarios especificados para cada alerta, con posibilidad de envo de mensaje a un telfono mvil.

BENEFICIOS No se requiere hacer cambios en los sistemas de produccin para la implementacin de la bitcora.A travs de la parametrizacin se generan las pantallas de consulta y reportes sin necesidad de programar.Acceso a la bitcora a travs de una aplicacin WEB. Control de Acceso a la informacin de la bitcora a travs de Roles.Se puede implementar en los sistemas de informacin que utilicen las principales bases de datos del mercado: ORACLE, SQL SERVER,INFORMIX, SYBASE. Permite hacer el seguimiento de todos los cambios que ha tenido un registro. Registra informacin acerca de eventos relacionados con el sistema que la gener. Reduce riesgos operacionales por cambios no autorizados. Se envan alertas cuando se realizan cambios a la configuracin del sistema, permitiendo corregir a tiempo malas configuraciones. Permite dar el seguimiento a cada una de las alertas generadas de acuerdo a los parmetros establecidos por el usuario.

Con el crecimiento de Internet, y el desarrollo de sistemas de informacin bajo la arquitectura Cliente/Servidor, los sistemas de cmputo, en general, estn expuestos a mltiples amenazas, vulnerabilidades y ataques cada vez ms complejos. Por lo tanto, es importante que las organizaciones implementen bitcoras (o archivos logs) para almacenar los sucesos que ocurren en el sistema. La informacin contenida en una bitcora es muy importante y til cuando ocurre un incidente de seguridad o cuando se realiza una auditora de sistemas.

Una bitcora puede registrar mucha informacin acerca de eventos relacionados con el sistema que la genera los cuales pueden ser:Fecha y hora.Host origen.Usuario.Actividad realizada.La importancia de las bitcoras es la de recuperar informacin ante incidentes de seguridad, deteccin de comportamiento inusual, informacin para resolver problemas, evidencia legal, es de gran ayuda en las tareas de cmputo forense.

Enseguida plantear un ejemplo de una bitcora desarrollada para la siguiente base de datos de MySQL, llamada proyecto, que tiene las tablas carrera, departamento y maestros.CREATE DATABASE proyecto;

USE proyectoCREATE TABLE IF NOT EXISTS `carrera` (`clave_carrera` int(11) NOT NULL, `nom_carrera` varchar(20) NOT NULL, `num_depto` int(11) NOT NULL, PRIMARY KEY (`clave_carrera`), KEY `num_depto` (`num_depto`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `departamento` ( `num_departamento` int(11) NOT NULL,`nombre_dept` varchar(20) NOT NULL, `jefe_num_tarjet` int(11) NOT NULL, PRIMARY KEY (`num_departamento`), KEY `jefe_num_tarjet` (`jefe_num_tarjet`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `maestros` (`num_tarjeta` int(11) NOT NULL DEFAULT 0,`nombre` varchar(50) DEFAULT NULL, PRIMARY KEY (`num_tarjeta`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

La estructura de la tabla bitcora sera la siguiente:CREATE TABLE IF NOT EXISTS `bitacora` (`id` int(11) NOT NULL AUTO_INCREMENT, `operacion` varchar(10) DEFAULT NULL, `usuario` varchar(40) DEFAULT NULL, `host` varchar(30) NOT NULL, `modificado` datetime DEFAULT NULL, `tabla` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;La bitcora debe registrar todos los movimientos (insertar, eliminar y modificar) que se realicen en las tablas de la base de datos. Para lograr lo anterior es necesario crear un trigger para que se ejecute despus de la operacin de insertar, otro para despus de eliminar y el ltimo para despus de modificar para cada una de las 3 tablas de la base de datos. Los nueve triggers necesarios para que funcione la bitcora son los siguientes:

DROP TRIGGER IF EXISTS `bit_carr_ins`;DELIMITER //CREATE TRIGGER `bitacora` AFTER INSERT ON `carrera`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), INSERTAR, NOW(), CARRERA)//

DROP TRIGGER IF EXISTS `bit_carr_upd`;CREATE TRIGGER `bit_carr_upd` AFTER UPDATE ON `carrera`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), ACTUALIZAR, NOW(), CARRERA)//

DROP TRIGGER IF EXISTS `bit_carr_del`;CREATE TRIGGER `bit_carr_del` AFTER DELETE ON `carrera`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), ELIMINAR, NOW(), CARRERA)//

DROP TRIGGER IF EXISTS `bit_depto_ins`;CREATE TRIGGER `bit_depto_ins` AFTER INSERT ON `departamento`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), INSERTAR, NOW(), DEPARTAMENTO)//

DROP TRIGGER IF EXISTS `bit_depto_upd`;CREATE TRIGGER `bit_depto_upd` AFTER UPDATE ON `departamento`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), ACTUALIZAR, NOW(), DEPARTAMENTO)//

DROP TRIGGER IF EXISTS `bit_depto_del`;CREATE TRIGGER `bit_depto_del` AFTER DELETE ON `departamento`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), ELIMINAR, NOW(), DEPARTAMENTO)//DROP TRIGGER IF EXISTS `bit_mae_ins`;CREATE TRIGGER `bit_mae_ins` AFTER INSERT ON `maestros`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), INSERTAR, NOW(), MAESTROS)//

DROP TRIGGER IF EXISTS `bit_mae_upd`;CREATE TRIGGER `bit_mae_upd` AFTER UPDATE ON `maestros`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), ACTUALIZAR, NOW(), MAESTROS)//

DROP TRIGGER IF EXISTS `bit_mae_del`;CREATE TRIGGER `bit_mae_del` AFTER DELETE ON `maestros`FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),@')+1)), SUBSTRING(USER(),1,(instr(user(),@')-1)), ELIMINAR, NOW(), MAESTROS)//El resultado que se espera de la bitcora se muestra en la siguiente imagen.Resultado de la bitcora

Respaldos y restauracin

Para hacer una copia de respaldo de una base de datos se recomienda crear un dump. Para hacer un dump de todas las bases de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** -A > /Ruta/Hacia/archivo_dump.SQL Para hacer un dump de slo algunas bases de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** db_1 db_2 db_n> /Ruta/Hacia/archivo_dump.SQL Para hacer un dump de todas las tablas de una base de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** db > /Ruta/Hacia/archivo_dump.SQL Para hacer un dump de slo ciertas tablas de una base de datos es necesario ejecutar el comando:

mysqldump --user=****** --password=****** db --tablas tab1 tab2 > /Ruta/Hacia/archivo_dump.SQL

Para cada uno de estos comando es necesario indicar un usuario (user) y la contrasea (password) con derechos de administrador en la base de datos.

RestauracinPara restaurar un dump tan slo hay que ejecutar el comando:

mysql --user=****** --password=****** db_nom < /Ruta/Hacia/archivo_dump.SQL

Automatizacin de respaldo1. Cree usuario con privilegios para respaldar todas las bases de datos:2. mysql> grant select, show view, create view, insert, update, create, drop, reload,3. -> shutdown, alter, super, lock tables, replication client on *.* to4. -> 'myrespaldos'@'localhost' identified by 'passwordrespaldos';5. mysql>flushprivileges;6. Cree un archivo de configuracin para cliente en el $HOME del usuario:# vim ~/.my.cnfCon el siguiente contenido:[client]user=myrespaldospassword=passwordrespaldosprotocol=tcpAsigne los privilegios:# chmod 600 ~/.my.cnf7. Ahora cree el siguiente script:# vim /usr/local/sbin/mysqlrespaldos.shCon el siguiente contenido:#!/bin/bash

DIR_RESPALDOS=/var/local/mysqlrespaldos

mkdir -p $DIR_RESPALDOS

# Respalda todas las bases de datos, en archivos individualesmysql --defaults-extra-file=/root/.my.cnf -B -N -e "show databases" | while read dbdo ARCHIVO_RESPALDO=$DIR_RESPALDOS/$db.mysqlecho "Respaldando DB $db en $ARCHIVO_RESPALDO"/usr/bin/mysqldump --defaults-extra-file=/root/.my.cnf $db>> $ARCHIVO_RESPALDOdoneAsigne permisos de ejecucinchmod +x /usr/local/sbin/mysqlrespaldos.sh8. Ejecute el script para realizar el respaldo automtizado.9. # mysqlrespaldos.sh10. Respaldando DB information_schema en /var/local/mysqlrespaldos/information_schema.mysql11. Respaldando DB midb en /var/local/mysqlrespaldos/midb.mysqlRespaldando DB mysql en /var/local/mysqlrespaldos/mysql.mysql

Exportacin e importacin de datos.

Para exportar1. Ingresar al administrador de bases de datos phpMyadmin desde tu panel de control > Mysql > Administrador de bases de datos.2. Una vez ah, seleccion la base de datos sobre la cul vas a realizar la exportacin y luego la pestaa Exportar (Ver imagen).3. Para exportar, tenemos dos opciones. Podemos generar un archivo descargable (recomendado) o exportar el texto de la consulta. Para generar el archivo descargable, tild la opcin Enviar (genera un archivo descargable).4. Hac click en Continuar para generar la exportacin.

Para importarPara importar una base de datos, primero debs crear una vaca. Una vez creada la base, ingres a la misma mediante el Administrador de base de datos y complet los siguientes pasos:1. Seleccion la pestaa Importar (si dispons de un archivo para realizar la importacin)2. Hac click en Examinar para buscar en tu compu el archivo .sql, seleccionalo y dale click a Continuar3. Si todo sali bien, vas a ver una pgina con el resumen de la informacin importada.

Otra forma es ingresar directamente la consulta sql, sobre la base vaca. Para esto, tenemos que contar con la sintaxis mysql completa (la forma de exportacin que no utiliza la opcion Enviar tildada). Debemos seleccionar la pestaa Sql y pegar en el campo de texto el cdigo sql obtenido en el proceso de exportacin.

Exportar una base de datosSupongamos que tienes acceso SSH al servidor donde esta alojada la base de datos MySQL que quieres exportar. Esta situacin se cumple en nuestros servicios de hosting, ya que la base de datos esta ubicada en el mismo servidor de tu cuenta de hosting, al que evidentemente tienes acceso SSH.Lo primero es acceder mediante SSH al servidor donde esta la base de datos.Luego, suponiendo que la base de datos se llama miweb_tienda y que tienes un usuario MySQL llamado miweb_usuario que tiene acceso a la base de datos, debes ejecutar:

mysqldump -u miweb_usuario -p miweb_tienda > miweb_tienda.sqlTe pedir la contrasea del usuario miweb_usuario. Introduce la contrasea y espera a que el comando se complete. Cuando lo haga tendrs un nuevo archivo llamado miweb_tienda.sql con todo el contenido de la base de datosImportar una base de datosSiguiendo con las suposiciones anteriores, el comando que deberas ejecutar es:mysql -u miweb_usuario -p miweb_tienda < miweb_tienda.sqlAl igual que antes, cuando te lo pida, tendrs que introducir la contrasea del usuario miweb_usuario.Al ejecutar este comando lo que has hecho es importar el contenido del archivo miweb_tienda.sql a la base de datos miweb_tienda.

UNIDAD IV. SEGURIDAD DE BDEntidadesSon objetos concretos o abstractos que presentan inters para el sistema y sobre los que se recoge informacin que ser representada en un sistema de bases de datos. Por ejemplo, clientes, proveedores y facturas seran entidades en el entorno de una empresa.AtributosEs una unidad bsica e indivisible de informacin acerca de una entidad o una relacin. Por ejemplo la entidad proveedor tendr los atributos nombre, domicilio, poblacin, CIF.DominiosEs el conjunto de valores que puede tomar cada atributo. Por ejemplo el dominio del atributo poblacin, ser la relacin de todas las poblaciones del mbito de actuacin de nuestra empresaTablaEs la forma de estructurar los datos en filas o registros y columnas o atributos.

RelacinEs la asociacin que se efecta entre entidades. Por ejemplo la relacin entre las entidades facturas emitidas y clientes.ClavesEn una tabla relacional a veces es necesario poder determinar una tupla (registro) concreta, lo cual es posible mediante la clave. Se debe elegir la clave entre los atributos, de forma que no puedan existir valores duplicados (la clave puede contener uno o ms atributos).

DBMS

Un sistema manejador de base de datos o DBMS, es una herramienta generalizada para el manejo de grandes bases de datos. La tecnologa de DBMS surge desde la bsqueda de un proceso generalizado para construir funciones de datos especiales que permitieran el procesar tareas frecuentemente utilizadas.

Entre los objetivos de un DBMS tenemos:

El crear una coleccin integrada de datos accesible a una amplia variedad de usuarios.Proveer calidad e integridad a los datos.Asegurar la privacidad a travs de medidas de seguridad como passwords o llaves privadas que eviten accesos no autorizados. Mantener un control centralizado de los datos para una administracin eficienteManejadores de Base de Datos

Existe una amplia variedad de manejadores tales como: Oracle, Informix, Sql Server, MySql, MSql, Adabas D, Dbase, Solid, ProgresSql, Empress, FiclePro, InterBase, Sybase, Velocis, Uns dbm.

Funciones

Las funciones en PHP pueden contener o no parmetros, lo que determina si son recursivas o tradicionales. Si se le pasan parmetros y estos permiten devolver algn valor, se dice que la funcin es recursiva, de lo contrario ser una funcin tradicional.

49