jueves, 30 de marzo de 2017

UNIDAD 2


UNIDAD 2 Arquitectura e instalación del SGBD

La arquitectura de un sistema de base de datos está influenciada por el sistema informático que soporta la instalación del SGBD, lo que reflejará muchas de las características propias del sistema subyacente en el SGBD.

Las bases de datos respetan la arquitectura de tres niveles definida, para cualquier tipo de base de datos, por el grupo ANSI/SPARC. En esta arquitectura la base de datos se divide en los niveles externo, conceptual e interno. 



1. Nivel interno: es el nivel más bajo de abstracción, y define cómo se almacenan los datos en el soporte físico, así como los métodos de acceso.

2. Nivel conceptual: es el nivel medio de abstracción. Se trata de la representación de los datos realizada por la organización, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visión organizativa total, e incluye la definición de datos y las relaciones entre ellos.

3. Nivel externo: es el nivel de mayor abstracción. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a la que tienen acceso.


El modelo de arquitectura propuesto permite establecer el principio de independencia de los datos. Esta independencia puede ser lógica y física. Por independencia lógica se entiende que los cambios en el esquema lógico no deben afectar a los esquemas externos que no utilicen los datos modificados. Por independencia física se entiende que el esquema lógico no se vea afectado por cambios realizados en el esquema interno, correspondientes a modos de acceso, etc. 

Las redes de computadores permiten separar tareas en un esquema de clientes y servidores, el procesamiento paralelo dentro del computador permite acelerar algunas de las tareas de la base de datos así como la posibilidad de ejecutar más transacciones por segundo. Las consultas se pueden paralelizar permitiendo así que una consulta se pueda ejecutar por más de un procesador al mismo tiempo, esta característica ha llevado al estudio de las bases de datos paralelas.




2.1 Estructura de memoria y procesos de la instancia

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 (SortAreas).
  • Memoria Virtual
  • j Area de codigo 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 más procesos. A la combinación 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 un misma computadora pueden ejecutarse varias instancias simultáneamente, accediendo cada una a su propia base de datos física.
Ú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 información que contiene.





2.2 Estructura física de la base de datos

En una base de datos almacenamos información relevante para nuestro negocio u organización y desde el punto de vista físico, la base de datos está conformada por dos tipos de archivos:
Archivos de datos: contiene los datos de la base de datos internamente, está compuesto por páginas enumeradas secuencialmente que representa la unidad mínima de almacenamiento. Cada página tiene un tamaño de 8kb de información. Existen diferentes tipos de páginas, a tener en cuenta:
Páginas de datos: es el tipo principal de páginas y son las que almacenan los registros de datos.
Páginas de espacio libre (PFS Page Free Space): almacenan información sobre la ubicación y el tamaño del espacio libre.
Paginas GAM and SGAM: utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones de índices (IAM – IndexAllocationMap): contiene información sobre el almacenamiento de páginas de una tabla o índice en particular.
Páginas Índices: Utilizada para almacenar registros de índices.


Archivo de Registro de Transacciones: El propósito principal del registro de transacciones es la recuperación de datos a un momento en el tiempo o complementar una restauración de copia de respaldo completa (full backup). El registro de transacciones no contiene páginas, sino entradas con todos los cambios realizados en la base de datos, como son las modificaciones de datos, modificaciones de la base de datos y eventos de copia de seguridad y restauración. El acceso a datos es secuencial, ya que el registro de transacciones se actualiza en el mismo orden cronológico en el que se hacen las modificaciones.
Este archivo no puede ser leído por herramientas de usuario de SQL auqnue existen herramientas de terceros que leen este archivo para recuperar los cambios efectuados. Dependiendo de la versión el registro de transacciones se utiliza para otros propósitos como por ejemplo bases de datos espejo (mirror) y transporte remoto de transacciones (log shipping).


Para muchos de los administradores de bases de datos, la imagen anterior representa la parte lógica y la parte física, donde:


Data File:

Los datafiles son los archivos físicos en los que se almacenan los objetos que forman parte de un tablespace. Un datafile pertenece solamente a un tablespace y a una instancia de base de datos. Un tablespace puede estar formado por uno o varios datafiles. Cuando se crea un datafile, se debe indicar su nombre, su ubicación o directorio, el tamaño que va a tener y el tablespace al que va a pertenecer. Además, al crearlos, ocupan ya ese espacio aunque se encuentran totalmente vacíos, es decir, Oracle reserva el espacio para poder ir llenándolo poco a poco con posterioridad. Por supuesto, si no hay sitio suficiente para crear un archivo físico del tamaño indicado, se producirá un error y no se creará dicho archivo.


Cuando se van creando objetos en un tablespace, éstos físicamente se van almacenando en los datafiles asignados a dicho tablespace, es decir, cuando creamos una tabla y vamos insertando datos en ella, estos datos realmente se reparten por los archivos físicos o datafiles que forman parte del tablespace. No se puede controlar en qué archivo físico se almacenan los datos de un tablespace. Si un tablespace está formado por 2 datafiles y tenemos una tabla en ese tablespace, a medida que vamos insertando filas éstas se almacenarán en cualquiera de los dos datafiles indistintamente, es decir, unas pueden estar en un datafile y otras en otro.


El espacio total disponible en un tablespace es lógicamente la suma de los tamaños que ocupan los archivos físicos o datafiles que lo forman. Como hemos indicado estos datafiles, al crearlos, están totalmente vacíos, simplemente es un espacio reservado y formateado por Oracle para su uso. A medida que se van creando objetos en ellos como tablas, índices, etc. y se van insertando registros en estas tablas, los datafiles se van llenando o, lo que es lo mismo, el tablespace se va llenando.


Tienen las siguientes características:
  • Un archivo sólo puede estar asociado con una base de datos.
  •  Los archivos de datos tienen atributos que permiten reservar automáticamente para ellos extensiones cuando se acaba el espacio.
  • Uno o más archivos de datos forman una unidad lógica de almacenamiento llamada tablespace.


Os Block:

Conocidos como Disk Block, estos mapean a los data blocks. A la hora de crear una nueva base de datos se debe indicar cuántos bloques de sistema operativo formarán un bloque de datos.


2.3 Requerimientos para instalación.

Antes de instalar cualquier SGBD es necesario conocer los requerimientos de hardware y software, el posible software a desinstalar previamente, verificar el registro de Windows y el entorno del sistema, así como otras características de configuración especializadas como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos HTML para los diversos navegadores.
Se presenta a continuación una serie de requerimientos mínimos de hardware y software para instalar oracle 11g Express y MySQL estándar versión 5.1. en Windows Seven y Ubuntu 10.


1. La regla general para determinar el tamaño de la memoria virtual depende del tamaño 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 tamaño. Si usted tiene más de 8 GB de memoria RAM instalada puede considerar usar el mismo tamaño como espacio de intercambio. Cuanta más memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, a menos que tenga un proceso inadecuado.





2.4 Instalación del SGBD en modo transaccional

Una base de datos en modo transaccional significa que la BD será capaz de que las operaciones de inserción y actualización se hagan dentro de una transacción, es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algún error en la operación se omite todo el proceso de modificación de la base de datos, si no sucede ningún error se hacen toda la operación con éxito.

Una transacción es un conjunto de líneas de un programa que llevan insert o update o delete. Todo aquél software que tiene un log de transacciones (que es la "bitácora" que permite hacer operaciones de commit o rollback), propiamente es un software de BD; aquél 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 transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio.
Se usan las siguientes métodos:
  •  Begin TRans para iniciar la transacción
  •  CommitTrans para efectuar los cambios con éxito
  •  RollbackTrans para deshacer los cambios
Y depende que base de datos uses para efectuar las operaciones pero, es la misma teoría 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 información sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la información deseada. Entonces, podrá responder una variedad de preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos serían:

  •  Crear una base de datos
  •  Crear una tabla
  •  Introducir datos en la tabla
  •  Recuperar datos desde la tabla de varias maneras
  •  Emplear múltiples tablas
  • La base de datos menagerie (palabra inglesa que en español significa "colección de animales") se ha hecho deliberadamente simple, pero no es difícil imaginar situaciones del mundo real donde podría usarse un tipo similar de base de datos. Por ejemplo, para un granjero que desee hacer el seguimiento de su hacienda, o para los registros de los pacientes de un veterinario.


2.5 Variables de Ambiente y archivos importantes para instalación.

Para instalar MySQL como primer instancia el archivo primordial es el que se descarga de la Web de MySQL. El proceso para instalar MySQL desde un archivo ZIP es el siguiente:





1. Extraer el contenido del archivo dentro del directorio de instalación deseado.
2. Crear un archivo de opciones.
3. Elegir un tipo de servidor MySQL
4. Iniciar el servidor MySQL.
5. Establecer la seguridad de las cuentas de usuario por defecto.

2.6 Procedimiento general de instalación

Oracle Database XE es una gran base de datos para:

  •  Desarrolladores que trabajan en PHP, Java, .NET, XML, y Open Sourceapplications
  •  DBAs que necesitan desarollar 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 líder 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 máquina con cualquier número de procesadores, solo puede contener una base de datos y direccionar un máximo de 4GB de datos y un máximo 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 gráfico para crear aplicaciones Web con base de datos. Oracle Database XE es una versión reducida de Oracle con las misma características 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:

Línea 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

Requerimientos del sistema para Oracle Database XE Server y Oracle Database XE Client.


Estos puertos son usados por defecto por Oracle Database XE

2.7 Procedimiento para configuración de un SGBD.

Para configurar nuestro DBMS podemos acceder a las siguientes pantallas, para Oracle o MySQL.

El esquema de una base de datos (en inglés, DatabaseSchema) 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 información sobre privilegios y procedimientos del gestor y no deben ser elimandos.


2.8 Comandos generales de alta y baja del SGBD

Una tabla es un sistema de elementos de datos (atributo - valores) que se organizan que usando un modelo vertical - columnas (que son identificados por su nombre)- y horizontal filas. Una tabla tiene un número específico de columnas, pero puede tener cualquier número de filas. Cada fila es identificada por los valores que aparecen en un subconjunto particular de la columna que se ha identificado por una llave primaria.

Una tabla de una base de datos es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se almacenan en filas y columnas. Como consecuencia, normalmente es bastante fácil importar una hoja de cálculo en una tabla de una base de datos. La principal diferencia entre almacenar los datos en una hoja de cálculo y hacerlo en una base de datos es la forma de organizarse los datos.





Por lo tanto, la creación de las tablas en el proceso de programación en Oracle juegan un papel muy importante. En el momento de crear las tablas se definen características a dos niveles: Tabla y Columna, como se muestra a continuación:

A nivel de tabla: Refieren a una o a varias columnas, donde cada columna se define individualmente.



A nivel de Columna el nombre de la columna puede tener un máximo de 30 caracteres.

En Oracle podemos implementar diversos tipos de tablas. A continuación se presenta una recopilación no exhaustiva de ellas.


La sintaxis del comando que permite crear un tabla es la siguiente

Del examen de la sintaxis de la sentencia CreateTable se pueden concluir que necesitamos conocer los distintos tipos de columna y las distintas restricciones que se pueden imponer al contenido de las columnas.

TERMINACIÓN DE CURSO

CERTIFICADO DEL CURSO

NIVEL 4 LECCION 1

NIVEL 3 LECCION 1

martes, 21 de febrero de 2017

1.4 nuevas tecnologías y aplicaciones de BD

2.  1.- MERCADO LIBRE //INTERNET

·         El mercado libre es el sistema en el que el precio de los bienes o servicios es acordado por el consentimiento de los vendedores y/o empresarios, mediante las leyes de la oferta y la demanda, siendo luego bajados a los consumidores.
·         Plaza vip es un ejemplo podría, Reactivar las compras de los clientes, las empresas virtuales pueden utilizar programas automáticos de correo que envían, recordatorios de compras de navidad, o promociones fuera de temporada, asi como descuentos. La base de datos puede ayudar a la empresa a realizar ofertas atractivas y oportunas.

3.  REDES DE LA COMUNICACIÓN
·         Google genera ventas por medio de la publicidad de sus productos u ofertas. Los anuncios contienen por norma general un sistema de respuesta, como una tarjeta de respuesta de negocios o un número gratuito, se confecciona la base de datos a partir de esas respuestas, en el caso de servicios comerciales hacen uso de Google.

4.  INSTITUCIONES DE GOBIERNO
·         Institución de gobierno cuyo fin es elaborar políticas de generación y mejora del empleo, contribuir al desarrollo de pequeñas empresas, así como promover las normas laborales en la región Arequipa.

5.  INTERFAZ DE PROGRAMACIÓN DE APLICACIONES (API)
·         Es un conjunto de rutinas, protocolos y herramientas para construir aplicaciones de interfaz. Una buena API hace más fácil el trabajo de desarrollo de un programa, ya que debe proveer todos los bloques para construirlo. El programador lo único que hace es poner todos los bloques juntos.
·          API está diseñado especialmente para los programadores, ya que garantiza que todos los programas que utilizan API, tendrán interfaces similares. Asimismo, esto le facilita al usuario aprender la lógica de nuevos programas.


6.  INTERFAZ DE PROGRAMACIÓN DE APLICACIONES DEL SERVIDOR INTERNET (ISAPI)
·          Es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI, y ya está incluida en el Servidor Microsoft Internet Information (IIS).
·          Así como los escritos CGI, los programas escritos usando ISAPI habilitan un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o intercambia información con otro software localizado en el servidor.
·          Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dynamic Link Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados.


7.  JAVA, JDBC Y JAVASCRIPT
·          Java ofrece un ambiente de programación muy sencillo, robusto, dinámico, de propósito general, orientado a objetos y múltiples plataformas, creado por Sun MicroSystems.
·          Es tanto un compilador como un lenguaje intérprete. El código fuente de Java es convertido en instrucciones binarias simples, y compilado con un formato universal.
·          El Compilador realiza todas las actividades de un procesador real en un ambiente virtual más seguro. Es decir, ejecuta instrucciones, crea y manipula información, carga y hace referencia a bloques de código nuevos.


8.  INSTRUMENTOS TECNOLOGICOS
·          Datawarehouse: Es simplemente el término para “almacenaje de volúmenes de información”. Consiste prácticamente en la utilización de sistemas de almacenamiento en medios electrónicos o magnéticos bajo un ambiente de seguridad de la información recopilada.

·          Fullfilment: Básicamente son estrategias de fidelización, mediante comunicación constante y retroalimentación buscando la mayor comodidad de comunicación al cliente y buscando mejorar niveles de venta.

miércoles, 8 de febrero de 2017

Análisis de los manejadores de bases de datos


El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.



Microsoft SQL Server al igual que Oracle DB y MySQL Server son sistemas de gestión o manejadores de base de datos, existen muchos como:

  •  MySQL
  •  PosgreSQL
  •  Microsoft SQL Server
  •  Oracle
  •  Microsoft Access
  •  Microsoft Visual Fox Pro
  •  Firebird
  •  mSQL (mini SQL)
  •  IBM DB2
  •  IBM Informix
  •  SQLite
  •  Sybase ASE
  •  Paradox
  •  dBase


Las principales ventajas de MySQL Server son: 

          *  Software gratuito. 
          * La velocidad y robustez. 
    * Multiproceso, es decir que puede usar varias CPU si éstas están   disponibles. 
     * Multiplataforma, es decir que puede trabajar en distintos   Sistemas Operativos. 
          *  Sistema de contraseñas y privilegios muy flexibles y seguros. 

Microsoft SQL server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL 

Las principales ventajas de SQL Server son: 

          * Soporte de transacciones. 
          * Escalabilidad, estabilidad y seguridad. 
          * Soporta procedimientos almacenados. 
        * Permite trabajar en modo cliente-servidor, donde la información   y datos se alojan en el servidor y las terminales o clientes   de la red sólo acceden a la información. 
         * Además permite administrar información de otros servidores   de datos.            * Una desventaja de SQL Server es que es costoso. 
Oracle es un sistema desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos. 

Las principales ventajas son: 
       
        * Soporte de transacciones. 
        * Estabilidad. 
        * Escalabilidad. 
        * Soporte multiplataforma. 

Una desventaja de este son las políticas de seguridad en el suministro de parches de actualización.

Funciones Del Administrador de Base de Datos








Administración de los Datos Almacenados. Creación de estructuras complejas requeridas para el almacenamiento de los datos, descargando al usuario de definir y programar las características físicas de los datos.
Transformación y Presentación de los Datos.Transformación de los datos nuevos para que satisfaga la estructura ya definida.

Seguridad. Fortalece la seguridad y la privacidad.
Control de Concurrencia. Controla el acceso multiusuarios. Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos.

Integridad de Datos. Minimiza la redundancia y maximiza la consistencia. Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

Lenguaje de Acceso a la Base de Datos. (Interfaz para la programación de aplicaciones). Provee acceso a los datos vía lenguaje de consulta SQL y vía lenguaje procedural (pascal, c, etc.).

Interfaz de Comunicación de Datos. Permite el requerimiento de usuarios en ambiente de red. Crear y organizar la Base de datos. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que  los datos puedan ser accesados rápidamente. Manejar los datos de acuerdo a las peticiones de los usuarios. Registrar el uso de las bases de datos.

Interacción con el manejador de archivos. Esto a través de las sentencias en DML al comando del sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos.

Respaldo y recuperación. Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Manejador de Bases de Datos.Su propósito es definir una arquitectura que sirva como referencia. Esta también es llamada arquitectura referencial a tres niveles, consta de tres niveles:

Nivel Interno: Es el más cercano al almacenamiento físico; es decir, es el que se ocupa de la forma como se almacena físicamente los datos.

Nivel Externo: Es el más cercano a los usuarios; es decir, es el que se ocupa de la forma como los usuarios individuales perciben los datos.

Nivel Conceptual: Es el nivel de mediación entre los dos anteriores. En este se trabaja con información; esto es, con datos suficientes para provocar acciones. La vista conceptual es la representación de toda la información contenida en la base de datos, también una forma un tanto abstracta si se compara con el almacenamiento físico de los datos. La información es una esencia nueva y no redundante por lo que su adquisición aumenta el conocimiento.