You are on page 1of 26

Que es un dato:

El dato es una representacin simblica (numrica, alfabtica, algortmica, etc)


de un atributo o variable cuantitativa. Los datos describen hechos empricos,
sucesos y entidades.
Es un valor o referente que recibe el computador por diferentes medios, los datos
representan la informacin que el programador manipula en la construccin de
una solucin o en el desarrollo de un algoritmo.
Los datos aisladamente pueden no contener informacin humanamente relevante.
Slo cuando un conjunto de datos se examina conjuntamente a la luz de un
enfoque, hiptesis o teora se puede apreciar la informacin contenida en dichos
datos. Los datos pueden consistir en nmeros, estadsticas o proposiciones
descriptivas. Los datos convenientemente agrupados, estructurados e
interpretados se consideran que son la base de la informacin humanamente
relevante que se pueden utilizar en la toma de decisiones, la reduccin de la
incertidumbre o la realizacin de clculos. Es de empleo muy comn en el mbito
informtico y, en general, prcticamente en cualquier investigacin cientfica.
En programacin, un dato es la expresin general que describe las caractersticas
de las entidades sobre las cuales opera un algoritmo.
En Estructura de datos, es la parte mnima de la informacin.









Que es una base de datos
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemticamente para su posterior uso. En este
sentido; una biblioteca puede considerarse una base de datos compuesta en su
mayora por documentos y textos impresos en papel e indexados para su consulta.
Actualmente, y debido al desarrollo tecnolgico de campos como la informtica y
la electrnica, la mayora de las bases de datos estn en formato digital
(electrnico), y por ende se ha desarrollado y se ofrece un amplio rango de
soluciones al problema del almacenamiento de datos.

Existen programas denominados sistemas gestores de bases de datos, abreviado
DBMS, que permiten almacenar y posteriormente acceder a los datos de forma
rpida y estructurada. Las propiedades de estos DBMS, as como su utilizacin y
administracin, se estudian dentro del mbito de la informtica.

Las aplicaciones ms usuales son para la gestin de empresas e instituciones
pblicas; Tambin son ampliamente utilizadas en entornos cientficos con el objeto
de almacenar la informacin experimental.
Computadora
Una computadora o computador (del ingls computer y este del latn computare -
'calcular'), tambin denominada ordenador (del francs ordinateur, y este del latn
ordinator), es una mquina electrnica que recibe y procesa datos para
convertirlos en informacin til. Una computadora es una coleccin de circuitos
integrados y otros componentes relacionados que pueden ejecutar con exactitud,
rapidez y de acuerdo a lo indicado por un usuario o automticamente por otro
programa, una gran variedad de secuencias o rutinas de instrucciones que son
ordenadas, organizadas y sistematizadas en funcin a una amplia gama de
aplicaciones prcticas y precisamente determinadas, proceso al cual se le ha
denominado con el nombre de programacin y al que lo realiza se le llama
programador. La computadora adems de la rutina o programa informtico,
necesita de datos especficos (a estos datos, en conjunto, se les conoce como
"Input" en ingls o de entrada) que deben ser suministrados, y que son requeridos
al momento de la ejecucin, para proporcionar el producto final del procesamiento
de datos, que recibe el nombre de "output" o de salida. La informacin puede ser
entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s)
persona(s), computadora(s) o componente(s) electrnico(s) local o remotamente
usando diferentes sistemas de telecomunicacin, que puede ser grabada, salvada
o almacenada en algn tipo de dispositivo o unidad de almacenamiento.



La caracterstica principal que la distingue de otros dispositivos similares, como la
calculadora no programable, es que es una mquina de propsito general, es
decir, puede realizar tareas muy diversas, de acuerdo a las posibilidades que
brinde los lenguajes de programacin y el hardware.
Que es un procesador:
El procesador es el cerebro del sistema, encargado de procesar toda la
informacin. Bsicamente, es el "cerebro" de la computadora. Prcticamente, todo
pasa por l, ya que es el responsable de ejecutar todas las instrucciones
existentes. Mientras ms rpido vaya el procesador, ms rpido sern ejecutadas
las instrucciones.
Es el componente donde es usada la tecnologa ms reciente. Los mayores
productores de procesadores en el mundo, son grandes empresas con tecnologa
para fabricar procesadores competitivos para computadoras: Intel (que domina el
mercado), AMD, Va e IBM, que fabrica procesadores para otras empresas, como
Transmeta.
Algunos de los modelos ms modernos, y los cuales cuentan con la tecnooga
ms avanzada de la actualidad son el Intel Core Sandy Bridge en sus variabtes i3,
i5 e i7, el AMD Fusion y FX, los cuales pueden incorporar hasta 8 ncleos.
Los anteriormente mencionados cubren la mayora de las necesidades en
computadoras de escritorio, mientras que para dispositivos porttiles como
celulares y tablets podemos contar con procesadores ARM, Atom, Tegra2 y
Snapdragon.
El procesador es el componente ms complejo y frecuentemente ms caro, pero l
no puede hacer nada solo. Como todo cerebro, necesita de un cuerpo, que es
formado por los otros componentes de la computadora, incluyendo la memoria, el
disco duro, la placa de vdeo y de red, monitor, teclado y mouse.












NIVELES DE ABSTRACCIN DE UNA BASE DE DATOS:
1.- En el nivel interno.
Este esquema se especifica mediante un modelo fsico y describe todos los
detalles para el almacenamiento de la base de datos, as como los mtodos de
acceso.
Es el nivel ms cercano al almacenamiento fsico de los datos. Permite escribirlos
tal y como estn almacenados en el ordenador. En este nivel se disean los
archivos que contienen la informacin, la ubicacin de los mismos y su
organizacin, es decir se crean los archivos de configuracin.
2.- En el nivel conceptual.
Este esquema oculta los detalles de las estructuras de almacenamiento y se
concentra en describir entidades, atributos, relaciones, operaciones de los
usuarios y restricciones.
En este nivel se representan los datos que se van a utilizar sin tener en cuenta
aspectos como lo que representamos en el nivel interno.
3.- En el nivel externo.
Se describen varios esquemas externos o vistas de usuario. Cada esquema
externo describe la parte de la base de datos que interesa a un grupo de usuarios
determinados y ocultos a ese grupo el resto de la base de datos.
Es el ms cercano al usuario. En este nivel se describen los datos o parte de los
datos que ms interesan a los usuarios.
Una base de datos especfica tiene un nico nivel interno y un nico nivel
conceptual pero puede tener varios niveles externos.
Modelo entidad-relacin
Un diagrama o modelo entidad-relacin (a veces denominado por sus siglas en
ingls, E-R "Entity relationship", o del espaol DER "Diagrama de Entidad
Relacin") es una herramienta para el modelado de datos que permite representar
las entidades relevantes de un sistema de informacin as como sus
interrelaciones y propiedades.
El Modelo Entidad-Relacin.
Se elabora el diagrama (o diagramas) entidad-relacin.
Se completa el modelo con listas de atributos y una descripcin de otras
restricciones que no se pueden reflejar en el diagrama.


El modelado de datos no acaba con el uso de esta tcnica. Son necesarias otras
tcnicas para lograr un modelo directamente implementarle en una base de datos.
Brevemente:
Permite mostrar resultados entre otras entidades pertenecientes a las existentes
de manera que se encuentre la normatividad de archivos que se almacenaran
Transformacin de relaciones mltiples en binarias.
Normalizacin de una base de datos de relaciones (algunas relaciones pueden
transformarse en atributos y viceversa).
Conversin en tablas (en caso de utilizar una base de datos relacional).
Entidad
Representa una cosa u "objeto" del mundo real con existencia independiente, es
decir, se diferencia unvocamente de otro objeto o cosa, incluso siendo del mismo
tipo, o una misma entidad.
Algunos Ejemplos:
Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).
Un automvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrn
atributos diferentes, por ejemplo, el nmero de chasis).
Una casa (Aunque sea exactamente igual a otra, an se diferenciar en su
direccin).
Una entidad puede ser un objeto con existencia fsica como: una persona, un
animal, una casa, etc. (entidad concreta); o un objeto con existencia conceptual
como: un puesto de trabajo, una asignatura de clases, un nombre,etc. (entidad
abstracta).
Una entidad est descrita y se representa por sus caractersticas o atributos. Por
ejemplo, la entidad Persona las caractersticas: Nombre, Apellido, Gnero,
Estatura, Peso, Fecha de nacimiento.
Atributos
Los atributos son las caractersticas que definen o identifican a una entidad. Estas
pueden ser muchas, y el diseador solo utiliza o implementa las que considere
ms relevantes. Los atributos son las propiedades que describen a cada entidad
en un conjunto de entidades.
En un conjunto de entidades del mismo tipo, cada entidad tiene valores
especficos asignados para cada uno de sus atributos, de esta forma, es posible
su identificacin unvoca.





Ejemplos:
A la coleccin de entidades alumnos, con el siguiente conjunto de atributos en
comn, (id, nombre, edad, semestre), pertenecen las entidades:
(1, Sofa, 38 aos, 2)
(2, Josefa, 19 aos, 5)
(3, Carlos, 20 aos, 2)
...
Cada una de las entidades pertenecientes a este conjunto se diferencia de las
dems por el valor de sus atributos. Ntese que dos o ms entidades diferentes
pueden tener los mismos valores para algunos de sus atributos, pero nunca para
todos.
En particular, los atributos identificativos son aquellos que permiten diferenciar a
una instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo
que distingue a un alumno de otro es su nmero de id.
Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de
datos que ser almacenado o a restricciones en los valores que el atributo puede
tomar (cadenas de caracteres, nmeros, solo dos letras, solo nmeros mayores
que cero, solo nmeros enteros...).
Cuando algn atributo correspondiente a una entidad no tiene un valor
determinado, recibe el valor nulo, bien sea porque no se conoce, porque no existe
o porque no se sabe nada al respecto del mismo.
Modelo relacional
El modelo relacional para la gestin de una base de datos es un modelo de datos
basado en la lgica de predicados y en la teora de conjuntos. Es el modelo ms
utilizado en la actualidad para modelar problemas reales y administrar datos
dinmicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de
los laboratorios IBM en San Jos (California), no tard en consolidarse como un
nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podran
considerarse en forma lgica como conjuntos de datos llamados tuplas. Pese a
que sta es la teora de las bases de datos relacionales creadas por Edgar Frank
Codd, la mayora de las veces se conceptualiza de una manera ms fcil de
imaginar, esto es, pensando en cada relacin como si fuese una tabla que est


compuesta por registros (cada fila de la tabla sera un registro o tupla), y columnas
(tambin llamadas campos).

Descripcin
En este modelo todos los datos son almacenados en relaciones, y como cada
relacin es un conjunto de datos, el orden en el que stos se almacenen no tiene
relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto
tiene la considerable ventaja de que es ms fcil de entender y de utilizar por un
usuario no experto. La informacin puede ser recuperada o almacenada por medio
de consultas que ofrecen una amplia flexibilidad y poder para administrar la
informacin.
Este modelo considera la base de datos como una coleccin de relaciones. De
manera simple, una relacin representa una tabla que no es ms que un conjunto
de filas, cada fila es un conjunto de campos y cada campo representa un valor que
interpretado describe el mundo real. Cada fila tambin se puede denominar tupla o
registro y a cada columna tambin se le puede llamar campo o atributo.
Para manipular la informacin utilizamos un lenguaje relacional, actualmente se
cuenta con dos lenguajes formales el lgebra relacional y el Clculo relacional. El
lgebra relacional permite describir la forma de realizar una consulta, en cambio,
el Clculo relacional slo indica lo que se desea devolver.

Esquema
Un esquema contiene la definicin de una estructura (generalmente relaciones o
tablas de una base de datos), es decir, determina la identidad de la relacin y qu
tipo de informacin podr ser almacenada dentro de ella; en otras palabras, el
esquema contiene los metadatos de la relacin. Todo esquema constar de:

Nombre de la relacin (su identificador).
Nombre de los atributos (o campos) de la relacin y sus dominios; el dominio de
un atributo o campo define los valores permitidos para el mismo, equivalente al
tipo de dato por ejemplo character, integer, date, string...
Instancias
Una instancia de manera formal es la aplicacin de un esquema a un conjunto
finito de datos. En palabras no tan tcnicas, se puede definir como el contenido de
una tabla en un momento dado, pero tambin es valido referirnos a una instancia


cuando trabajamos o mostramos nicamente un subconjunto de la informacin
contenida en una relacin o tabla, como por ejemplo:

Ciertos caracteres y nmeros (una sola columna de una sola fila).
Algunas o todas las filas con todas o algunas columnas
Cada fila es una tupla. El nmero de filas es llamado cardinalidad.
El nmero de columnas es llamado aridad o grado.
Base de datos relacional
Base de datos relacional
Una base de datos relacional es un conjunto de una o ms tablas estructuradas en
registros (lneas) y campos (columnas), que se vinculan entre s por un campo en
comn, en ambos casos posee las mismas caractersticas como por ejemplo el
nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID,
identificador o clave. A esta manera de construir bases de datos se le denomina
modelo relacional.
Estrictamente hablando el trmino se refiere a una coleccin especfica de datos
pero a menudo se le usa, en forma errnea como sinnimo del software usado
para gestionar esa coleccin de datos. Ese software se conoce como SGBD
(sistema gestor de base de datos) relacional o RDBMS (del ingls relational
database management system).
Las bases de datos relacionales pasan por un proceso al que se le conoce como
normalizacin de una base de datos, el cual es entendido como el proceso
necesario para que una base de datos sea utilizada de manera ptima.
Entre las ventajas de este modelo estn:
Garantiza herramientas para evitar la duplicidad de registros, a travs de campos
claves o llaves.
Garantiza la integridad referencial: As al eliminar un registro elimina todos los
registros relacionados dependientes.
Favorece la normalizacin por ser ms comprensible y aplicable.










Estructura de los Diferentes SMBD
Un SMBD es el sistema manejador de las bases de
Datos, aqu se muestra la estructura del funcionamiento interno de algunos
manejadores.
Ejemplos:
- Oracle
- SQL Server
- My SQL
- PostgreSQL

ORACLE
Oracle es un sistema de administracin de base de datos (o RDBMS), fabricado
por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases
de datos ms completos, destacando su:

Soporte de transacciones.
Estabilidad.
Escalabilidad.
Es multiplataforma.
Su mayor defecto es su enorme precio, que es de varios miles de euros (segn
versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas
es la seguridad de la plataforma, y las polticas de suministro de parches de
seguridad.
Contenido:
ESTRUCTURA DE ORACLE
La estructura de Oracle tiene tres componentes bsicos, las estructuras de
memoria para almacenar los datos y el cdigo ejecutable, los procesos que corren


el sistema de base de datos y las tareas de cada usuario conectado a la base de
datos y los archivos que sirven para el almacenamiento fsico, en disco, de la
informacin de la base de datos.




SQLServer
Microsoft SQL Server es un sistema administrador para Bases de Datos
relacionales basadas en la arquitectura Cliente / Servidor (RDBMS) que usa
Transact-SQL para mandar peticiones entre un cliente y el SQL Server.
Constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases
de datos como son Oracle, MySQL, PostgreSQL entre otros.
Caractersticas:
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Incluye tambin un potente entorno grfico de administracin, que permite el uso
de comandos


DDL y DML grficamente.
Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan
en el servidor y los terminales o clientes de la red slo acceden a la informacin.
Adems permite administrar informacin de otros servidores de datos.

Contenido:
- Estructura SQLServer
- Arquitectura RDBMS
- Arquitectura Cliente-Servidor
- Interfaces de Programacin Aplicables
SQL Server usa una estructura de comunicacin por capas para aislar
aplicaciones internas de red y protocolos. Esta estructura permite desplegar la
misma aplicacin en diferentes ambientes de red. Los componentes en la
estructura de comunicacin incluyen:

APLICACIN: Una aplicacin es desarrollada usando una aplicacin de interfaz
de programacin para Base de Datos (API). La aplicacin no tiene conocimiento
de los protocolos internos de red usados para la comunicacin con SQL Server.
INTERFAZ DE LA BASE DE DATOS: Esta es una interfaz usada por una
aplicacin para mandar peticiones a SQL Server y procesar los resultados
devueltos por SQL Server.
LIBRERA DE RED: Este es un componente de Software de comunicacin que
empaqueta las peticiones de la Base de Datos y los resultados para transmitirlos
por medio del protocolo de red apropiado. Una librera de Red, tambin conocida
como Net-Library, debe ser instalada tanto en el cliente como en el servidor. Tanto
Clientes como Servidores pueden usar ms de una Net-Library al mismo tiempo,
pero deben usar una Librera de Red comn para comunicarse satisfactoriamente.
SQL Server soporta protocolos de red tales como TCP/IP, Novell, IPX/SPX,
Banyan VINES/IP, Named Pipes,y Apple Talk ADSP.
TABULAR DATA STREAM: (TDS) Es un protocolo por niveles de aplicacin usado
para la comunicacin entre un Cliente y SQL Server. Los paquetes TDS son
encapsulados en los paquetes de red hechos por la protocol stak usada por las
Net-Libraries.
SERVICIOS OPEN DATA: Este es un componente de SQL Server que se encarga
de las conexiones de red, pasando las peticiones del cliente al SQL Server para


procesar y regresar cualquier resultado a los Clientes. Open Data escucha
automticamente en todas las Net-Libraries que estn instaladas en el servidor.




ARQUITECTURA RDBMS
Arquitectura de servidor simtrico y paralelo con balanceo automtico de carga en
mltiples procesadores.
Kernel multithread real para mejor rendimiento transaccional y escalabilidad.
Soporte grandes bases de datos (VLDB) (+1 TB).
Completo proceso transaccional interactivo con rollback automtico y recuperacin
de roll-forward.
Optimizador de consultas mejorado basado en coste.
Checkpointing mejorado para un mejor throughput de datos y tiempo de respuesta.
Soporte E/S asncrono para acceso en paralelo a mltiples dispositivos de disco
para un mejor throughput.
Bloqueo a nivel fija y pgina con escalacin de bloqueos; resolucin automtica de
deadlocks.
Datos distribuidos y replicacin.
Llamadas a procedimientos remotos servidor-a-servidor (procedimientos
almacenados remotos).


Replicacin asncrona o contnua basada en registros, o sincronizacin planificada
de tablas point-in-time.
Configuracin de replicacin grfica y caractersticas de gestin.
Replicacin de subscriptores ODBC, incluyendo IBM DB2, ORACLE, SYBASE y
Microsoft Access.
Ei Distributed Transaction Coordinator gestiona transacciones que involucran a
dos o ms servidores SQL (proceso Two Phase Commit 2PC) transparente.
Replicacin de tipos de datos Texto e Imagen.
Data Warehousing y amplio soporte de datos.
Ejecucin transaccional en paralelo, carga e indexacin de datos , y verificacin de
integridad.
Backup/restore en paralelo de alta velocidad que soporta hasta 32 discos o
dispositivos de cinta.
Las extensiones de consulta OLAP, CUBE, y ROLLUP permiten conjuntos de
resultados multidimensionales.
EXEC e INTO ahora permiten almacenar en tablas resultados desde
procedimientos almacenados.
Copias de seguridad en cinta y recuperacin de tablas individuales.
Reconstruccin de ndice sin realizar dropping y recreacin del ndice.
ARQUITECTURA CLIENTE SERVIDOR

SQL Server usa la arquitectura Cliente / Servidor para separar la carga de trabajo
en tareas que corran en computadoras tipo Servidor y tareas que corran en
computadoras tipo Cliente:
El Cliente es responsable de la parte lgica y de presentar la informacin al
usuario. Generalmente, el cliente corre en una o ms computadoras Cliente,
aunque tambin puede correr en una computadora Servidor con SQL Server.
SQL Server administra Bases de Datos y distribuye los recursos disponibles del
servidor (tales como memoria, operaciones de disco, etc) entre las mltiples
peticiones.
La arquitectura Cliente /Servidor permite desarrollar aplicaciones para realizar en
una variedad de ambientes.
INTERFACES DE PROGRAMACIN DE APLICACIONES


Una Base de Datos API define como escribir una aplicacin para conectar una
Base de Datos y pasar comandos a la Base de Datos. SQL Server provee soporte
nativo para dos clases principales de Bases de Datos API, lo cual define la interfaz
de objetos de datos que se puede usar. Las Bases de Datos API se usan para
tener mayor control sobre el comportamiento y desarrollo de las aplicaciones.


OLE DB: Esta es una interfaz de acceso a datos basada en el COM
(Component Object Model). Soporta aplicaciones escritas usando OLE DB
o Interfaces de Objetos de Datos basadas en OLE DB. Puede accesar a la
informacin en SQL Server, otras Bases de Datos relacionales y otras
fuentes de datos.

OPEN DATABASE CONNECTIVITY: (ODBC) Es una interfaz por capas.
Accesa directamente al protocolo SQL Server TDS y soporta aplicaciones o
componentes que estn escritos usando ODBC o interfaces basadas en
ODBC. Puede accesar a los datos en SQL Server, y otras Bases de Datos
relacionales, pero generalmente no puede ser usado para accesar otras
fuentes de datos.
MySQL
MySQL es un sistema de gestin de base de datos relacional, multihilo y
multiusuario una subsidiaria de Sun Microsystems y sta a su vez de Oracle
Corporation, desde abril de 2009 desarrolla MySQL como software libre en un
esquema de licenciamiento dual.


Por un lado se ofrece bajo la GNU PL para cualquier uso compatible con esta
licencia, pero para aquellas empresas que quieran incorporarlo en productos
privativos deben comprar a la empresa una licencia especfica que les permita
este uso. Est desarrollado en su mayor parte en ANSI C.
Contenido:
- Estructura de MySQL

ESTRUCTURA MySQL

En la siguiente figura se muestra la estructura interna de MySQL, ms adelante se
describe el funcionamiento de cada una de sus partes.
A continuacin se
enumeran cada parte de la estructura de MySQL mostradas en la figura.
Contenido:
Aplicaciones e Interfaces


- Procesador Query
- Manejador de Transaccin y Recuperacin
- Manejador de Almacenado



Aplicaciones e Interfaces
La capa de aplicacion de MySQL es donde los clientes y los usuarios obran
recprocamente con el MySQL RDBMS.

Hay tres componentes en esta capa como puede ser visto en el diagrama acodado
de la arquitectura de MySQL en la siguiente imagen.


Estos componentes ilustran las diversas clases de usuarios que puedan obrar
recprocamente con el MySQL RDBMS, que son los administradores, los clientes y
los usuarios de la pregunta. Los administradores utilizan el interfaz y las utilidades
administrativos
Procesador Query

La mayora extensa de interacciones en el sistema ocurre cuando un usuario
desea visin o manipular los datos subyacentes en el almacenaje.A continuacin
se muestra la estructura del Procesador Query en MySQL y ms adelante la
explicacin de cada una de las partes que lo componen.




Precompiler Encajado de DML
Cuando una peticin se recibe de un cliente en la capa de uso, es la
responsabilidad del precompiler encajado de DML (lengua de manipulacin de
datos) extraer las declaraciones relevantes del SQL encajadas en los comandos
del API del cliente, o traducir al cliente ordena en las declaraciones
correspondientes del SQL.
- Recopilador de DDL
Las peticiones de tener acceso a las bases de datos de MySQL recibidas de un
administrador son procesadas por el recopilador de DDL (idioma de definicin de
datos). El recopilador de DDL compila los comandos (que son declaraciones del
SQL) de obrar recprocamente directamente con la base de datos. El
administrador y las utilidades administrativas no exponen un interfaz, y por lo tanto
se ejecutan directamente al servidor de MySQL. Por lo tanto, el precompiler
encajado de DML no lo procesa, y ste explica la necesidad de un recopilador de
DDL.
- Programa de anlisis de Query
El paso siguiente implica el analizar de la pregunta de MySQL. En esta etapa, el
objetivo del programa de anlisis de la pregunta es crear una estructura
arborescente del anlisis basada en la pregunta para poderla entender fcilmente
por los otros componentes ms adelante en la tubera.
-Preprocesador Query
La pregunta analiza el rbol, segn lo obtenido del programa de anlisis de la
pregunta, despus es utilizada por el preprocesador de la pregunta comprobar el
sintaxis del SQL y comprobar la semntica de la pregunta de MySQL para
determinarse si la pregunta es vlida.


- Encargado De Security/Integration
Una vez que la pregunta de MySQL se juzgue para ser vlida, el servidor de
MySQL necesita comprobar el Access Control List para saber si hay el cliente.
- Optimizador De Query
MySQL utiliza el optimizador de la pregunta para ejecutar preguntas del SQL tan
rpidamente como sea posible. Consecuentemente, sta es la razn por la que el
funcionamiento de MySQL es rpido comparado al otro RDBMS. La tarea del
optimizador de la pregunta de MySQL es analizar la pregunta procesada para
considerar si puede aprovecharse de algunas optimizaciones que permitan que
procese la pregunta ms rpidamente.

- Motor De la Ejecucin
Una vez que el optimizador de la pregunta de MySQL haya optimizado la pregunta
de MySQL, la pregunta se puede entonces ejecutar contra la base de datos. Esto
es realizada por el motor de la ejecucin de la pregunta, que despus procede a
ejecutar las declaraciones del SQL y tiene acceso a la capa fsica de la base de
datos de MySQL.

Manejador de Transaccin y Recuperacin
La estructura del manejador de transaccin y recuperacin de MySQL se muestra
en la siguiente imagen, y a continuacin se explica su funcionamiento.







- Gestor de transacciones
Una transaccin es una sola unidad del trabajo que tiene unos o ms comandos
de MySQL en ella. El gestor de transacciones es responsable de cerciorarse de
que la transaccin est registrada y ejecutada atmico.
- Encargado Del Control Concurrencia apropiados de datos en la base de
datos del encargado de recurso.


Una vez que se adquiera la cerradura, slo las operaciones en una transaccin
pueden manipular los datos. Si una diversa transaccin intenta manipular los
mismos datos bloqueados, el encargado del concurrencia-control rechaza la
peticin hasta que la primera transaccin es completa.
- Encargado Del Registro
El encargado del registro es responsable de registrar la operacin de e mismo
ejecutada en la base de datos. Hace tan almacenando el disco del entrar a travs
del encargado del almacenador intermediario. Las operaciones en el registro se
almacenan como comandos de MySQL. As, en el caso de un fallo del sistema,
ejecutar cada comando en el registro traer detrs la base de datos a su estado
estable pasado.

- Encargado De la Recuperacin
El encargado de la recuperacin es responsable de restaurar la base de datos a
su estado estable pasado. Hace tan usando el registro para la base de datos, que
se adquiere del encargado del almacenador intermediario, y ejecutando cada
operacin en el registro. Desde los registros del encargado del registro todas las
operaciones realizadas en la base de datos (del principio de la vida de la base de
datos), ejecutando cada comando en el fichero de diario recuperaran la base de
datos a su estado estable pasado.
Manejador de Almacenado
El almacenaje se hace fsicamente en un cierto tipo de almacenaje secundario, no
obstante el acceso dinmico de este medio no es prctico. As, todo el trabajo se
hace a travs de un nmero de almacenadores intermediarios. Los almacenadores
intermediarios residen en memoria principal y virtual y son manejados por un
encargado del almacenador intermediario. Este encargado trabaja conjuntamente
con dos otras entidades del encargado relacionadas con el almacenaje: el
encargado de recurso y el encargado del almacenaje. A continuacin se muestra
la estructura:






- Encargado Del Almacenaje


En el nivel ms bajo existe el encargado del almacenaje. El papel del encargado
del almacenaje es mediar peticiones entre el encargado del almacenador
intermediario y el almacenaje secundario. El encargado del almacenaje hace
peticiones a travs del regulador de disco subyacente (y a veces del sistema
operativo) de recuperar datos del disco fsico y los divulga de nuevo al encargado
del almacenador intermediario.
- Encargado Del Buffer
El papel del encargado del almacenador intermediario es asignar los recursos de
la memoria para el uso de la visin y los datos de la manipulacin. El encargado
del almacenador intermediario toma en peticiones ajustadas a formato y decide
cunto memoria a asignar por almacenador intermediario y cunta almacenadores
intermediarios a asignar por la peticin. Todas las peticiones se hacen del
encargado de recurso.
- Encargado De Recurso
El propsito del encargado de recurso es aceptar peticiones del motor de la
ejecucin, puesto les en peticiones de la tabla, y solicita las tablas del encargado
del almacenador intermediario. El encargado de recurso recibe referencias a los
datos dentro de la memoria del encargado del almacenador intermediario y vuelve
estos datos a las capas superiores.

PostgreSQL
PostgreSQL es un potente sistema de bases de datos relacional libre, liberado
bajo licencia BSD. Tiene ms de 15 aos de activo desarrollo y arquitectura
probada que se ha ganado una muy buena reputacin por su confiabilidad e
integridad de datos.
Funciona en todos los sistemas operativos importantes, incluyendo LINUX, UNIX,
Mac OSX, Solaris y Windows.
Contenido:
La DBMS por dentro.
Almacenamiento y Organizacin de los Datos.
Los ndices.
LA DBMS POR DENTRO



PostgreSQL tiene una arquitectura que involucra muchos estilos, en su nivel ms
alto es un esquema clsico cliente-servidor, mientras que el acceso a la data es un
esquema en capas.







El Libpq es el responsable de manipular las comunicaciones entre la aplicacin
cliente y el postmaster (servicio del PostgreSQL en el servidor).
El server esta compuesto por 2 grandes subsistemas, el Postmaster que es el
responsable de aceptar las comunicaciones con el cliente y autentificar y dar
acceso. El Postgre se encarga de la administracin de los querys y comandos
enviados por el cliente. PostgreSQL trabaja bajo el concepto de process per
user, eso significa un solo procesos cliente por conexin. Tanto el Postmaster
como el Postgre deben estar junto en el mismo servidor siempre.
El Storage Manager es responsable de la administracin general de
almacenamiento de los datos, controla todos lostrabajos del back-end incluido la
administracin del buffer, archivos, bloqueos y control de la consistencia de la
informacin.
ALMACENAMIENTO Y ORGANIZACIN DE LOS DATOS
Los datos siempre se van a guardar en disco (esto puede no ser literalmente un
HD).
Esto genera un intenso trabajo de I/O, cuando leemos la data la sacamos del
disco para pasarla a la RAM, cuando escribimos la bajamos de la RAM al disco.

















La data en cualquier DBMS se almacena en pequeos bloques de disco llamadas
pginas.img3.png
Ests pginas se guardan en un disco en diferentes posiciones fsicas, mucha
dispersin crear uno desempeo en el dbms, en sistemas de almacenamiento
como los HD (osea casi el 99%) esto es un gran problema. Afortunadamente
ahora existen soluciones basadas en Discos de Estado Slido que ayudan con
este problema.
El tamao de una pgina en PostgreSQL puede ser tan pequeo como 8k (por
defecto) hasta un mximo de 32k y no se permite que un tupla pueda ser mas
grande que una pgina de tamao.
Cuando se necesita guardar data muy grande (un video por ejemplo) la data es
comprimida y partida en pequeas filas que se guardan en una tabla paralela,
esto es transparente para el usuario.
Las pginas contienen items los cuales apuntan a tuplas o entradas de ndices
junto con metadata
Para el caso de PostgreSQL las operaciones de L/E primero se consulta al Buffer
Manager (memoria RAM) si contiene la pgina.


PostgreSQL posee un solo Storage Manager (MySql tiene 5 o ms por ejemplo),
este esta compuesto por varios mdulos que proveen administracin de las
transacciones y acceso a los objetos de la base de datos.
Los mdulos que componen el Storage Manager son:

Transaction System
Relational Storage
Time Management
Concurrency Control y Timestamp Management
Record Acces

PostgreSQL siempre esta aadiendo data, la data modificada o borrada realmente
no se modifica o se borra, las pginas donde ellas estn almacenadas se marca
como no visible y se inserta un nuevo registro completo con un clon de toda la
data.

Esto hace que la base de datos ocupe mucho espacio y afecta el tiempo de
acceso a la data.

LOS NDICES
Cada tipo de bsqueda tienen un tipo de ndice adecuado para trabajarla,
bsicamente un es un archivo donde esta parte de la data y estructura de una
tabla con las search key de bsqueda.
En simple como es un ndice:

La forma clsica es buscar por extremos y medios (bsqueda binaria), pero esto
hace que sea altamente costosa la bsqueda, entonces es preferible organizar los
ndices en estructuras ms eficientes como los rboles.



La cantidad de elementos en un nodoes delimitado por una constante predefinida,
exactamente no deben haber mas de 2 veces elementos que la constante.





Los nuevos elementos son insertados en el nodo que le corresponda segn su
valor, en caso de que el nodo haya copado su capacidad mxima de elementos
entonces el nodo se divide en 2 partes iguales y se crea una hoja superior con
los ndices apropiados.
Para borrar un elemento se realiza la bsqueda del mismal llegar al nodo que lo
contiene se bloquea.


























El nodo se trabaja en memoria sacando el elemento a borrar y se reescribe
totalmente el nodo, ocasionalmente el nodo queda con menos elementos que la
cantidad de la constante definida de elementos mximos.
Caractersticas de los ndices:
Segn la estructura de ordenamiento del mismo:
Tree-based (Btree, Rtree), hash-based, other (Tsearch2).
Segn el ordenamiento fsico de la data.
Clustered vs. Unclustered Indexes.
Segn la asociacin con la data.
primary vs. secondary indexes, manejo de duplicados.
Segn la cantidad de columnas que incorpore en la search key.
Multi-part key = Composite Indexes.
Los ndices clusterizados o no clusterizados.


Un ndice clusterizado es aquel donde la data esta ordenada o cercanamente
ordenada fsicamente con las entradas de la data del ndice.
Una tabla solo puede estar clusterizada solo por un ndice, no ms.
Son altamente apreciados en bsquedas por rangos, pero su costo de
mantenimiento es alto debido al reordenamiento que siempre tiene que hacerse a
la data.

You might also like