NOMBRE: Arturo Espinosa López Fecha: Lunes 27 de Agosto del 2012
MAESTRO(A): Hilda Diaz Rincon
CARRERA: ITIC´s
MATERIA: Fundamentos de Base de Datos
No. de Control:11250921Nota: las palabras en azul estan especificadas en una especie de glosario.
MY SQL
MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.
Aplicaciones
Es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL.
Drupal: Es un sistema de gestión de contenidos que permite publicar y administrar artículos, imágenes, entre otros archivos y servicios como foros, encuestas, blogs etc.
phpBB: Es un sistema de foros gratuito cuya intención es proporcionar herramientas para crear comunidades.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.
MyISAM: es la tecnología de almacenamiento de datos usada por defecto por My SQL.
Caracteristicas
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.
Integridad referencial: Es una propiedad de las bases de datos que garantiza que una fila o registro siempre se relacionen con otras filas o registros válidos. Implica que en todo momento dichos datos sean correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.
Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las características disponibles en las últimas versiones se puede destacar:- Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
- Disponibilidad en gran cantidad de plataformas y sistemas.
- Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferente velocidad de operación, soporte físico, capacidad, distribución geográfica, transacciones...
- Transacciones y claves foráneas.
- Conectividad segura.
- Replicación.
- Búsqueda e indexación de campos de texto.
MySQL es un software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y qué no puede hacer con el software en diferentes situaciones. Si no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, se puede comprar una versión comercial licenciada.
GPL (GNU General Public License): Es una licencia creada para proteger la libre distribución, modificación y uso de software.
Evaluación: En general, My SQL me parece muy eficiente ya que archiva todos los datos en tablas separadas y no en un solo archivo, permitiendo con esto una mayor velocidad a la hora de interactuar con el gestor, principalmente al hacer consutas.
Otra ventaja de este Gestor es que es un Sistema de Software Abierto, lo cual me permite usarlo y modificarlo.
Además, ya sea estudiando y apreniendo su código fuente o simplemente con bajarlo de internet, yo lo puedo manipular y usarlo a mi conveniencia para acomodarlo a las necesidades que yo tenga en cuanto a la base de datos.
SQLite
A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host.
Caracteristicas
Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de escritura falla devolviendo un código de error (o puede automáticamente reintentarse hasta que expira un tiempo de expiración configurable). Esta situación de acceso concurrente podría cambiar cuando se está trabajando con tablas temporales. Sin embargo, podría producirse un interbloqueo debido al multihilo.
Software que utiliza SQLite
SQLite es utilizado en un gran variedad de aplicaciones, destacando las siguientes:- Adobe Photoshop Elements utiliza SQLite como motor de base de datos en su última versión del producto (la 6.0) en sustitución del Microsoft Access, utilizado en las versiones anteriores.[4]
- Clementine usa SQLite para guardar su colección de datos por defecto.
- Kexi usa SQLite como un motor de base de datos interno por defecto.
- Mozilla Firefox usa SQLite para almacenar, entre otros, las cookies, los favoritos, el historial y las direcciones de red válidas.[4]
- Los desarrolladores de OpenOffice.org han considerado embeber SQLite en el modelo de base de datos de Base, pero esto depende en gran manera del progreso de sqlite-sdbc-driver, que está todavía en estado de alpha. Actualmente han decidido usar HSQLDB.
- Varias aplicaciones de Apple utilizan SQLite, incluyendo Apple Mail y el gestor de RSS que se distribuye con Mac OS X. El software Aperture de Apple guarda la información de las imágenes en una base de datos SQLite, utilizando la API Core Data.[4]
- El navegador web Opera usa SQLite para la gestión de bases de datos WebSQL.
- Skype es otra aplicación de gran despliegue que utiliza SQLite.[5] [4]
- SQLFilter, un plugin para OmniPeek, usa SQLite para indexar paquetes en una base de datos para poder se consultada por medio de SQL.
- The New Yorker guarda el índice para un set de DVD conteniendo todos los números publicados por la revista.
- XBMC Media Center (antes conocido como "XBox Media Center") es un reproductor de medios de audio, video, fotos, etc de código libre (open source) multi-plataforma a la vez que un centro de entretenimiento. Usa SQLite para administrar las librerías de música, video y fotografías, listas de reproducción y bookmarks entre otras utilidades menores.
Evaluacion: Para mi la principal ventaja de este Gestor de Base de Datos es su capacidad para trabajar en funciones multihilo o multitarea, esta propiedad da la ventaja de que al estar ya utilizando el Gestor de Base de Datos, tu puedas hacer muchas cosas o tareas a la vez sin ningún tipo de problemas, como consulas, transacciones, etc. Una pequeñisima desventaja que le veo a este gestor es que al acceso de escritura es el único que no puede ejecutarse simultáneamente con alguna otra tarea, pero realmente no es algo muy grave, pero si se podría presentar algún tipo de interbloqueo en la misma.
TABLA DE COMPARACION DE SGBD:
NOMBRE
|
CARACTERISTICAS Y PROPIEDADES
|
REQUERIMIENTOS DE HARDWARE
|
PLATAFORMA
|
My SQL
|
Es relacional, multihilo y multiusuario, posee un amplio subconjunto de ANSI SQL99, procedimientos almacenados, disparadores, soporte para SSL.
|
Consumidor medio de recursos (afortunadamente las PC’s de hoy tienen mucha capacidad)
|
Multiplataforma
(Windows, Mac,
Unix, Linux, etc.)
|
SQLite
|
SQLite es una biblioteca de software que implementa un autónomo, sin servidor, configuración cero, el motor de base de datos transaccional de SQL. SQLite es el motor de base de datos SQL más ampliamente implementado en el mundo. El código fuente de SQLite es de dominio público.
|
SQLite es una biblioteca compacto. Con todas las características habilitadas, el tamaño de la biblioteca puede ser menor que 350KiB, dependiendo de la plataforma de destino y la configuración del compilador de optimización. (64-bit de código es más grande. Y algunas optimizaciones del compilador como inlining función agresivo y desenrollamiento del ciclo puede provocar que el código de objeto para ser mucho más grande.) Si las características opcionales se omiten, el tamaño de la biblioteca SQLite puede reducirse por debajo 300KiB. SQLite también puede ser obligado a correr en el espacio de pila mínimo (4KiB) y el montón de muy poco (100KiB), por lo que la base de datos SQLite una elección popular motor en aparatos de memoria limitados, tales como teléfonos móviles, PDAs y reproductores MP3.
|
Multiplataforma
|
Referencia: http://es.wikipedia.org/wiki/SQLite
1. ¿Para que me sirve la abtraccion?
La abstracción me sirve para enfocarme en una cosa en particular para poderle dar un mayor entendimiento, por ejemplo, para comprender el funcionamiento de un programa por completo y parte por parte.
2. Menciona los tres niveles de abstracción y quien actua en cada nivel.
Nivel físico: contiene la manera en que los datos son guardados.
Nivel logico: en esta se describen que datos se almacenan y como estos interactúan entre si.
Nivel de vistas: enesta se describe solo una parte de la base de datos completa, aquí el que actua es el usuario.
3. ¿Qué es modelo de datos?
Es un modelo de conceptos que nos permiten describir los datos, las relaciones que existen entre ellos, la semántica y las restricciones de conciencia.
4. Menciona 3 categorias de conceptos que se pueden modelar y menciona un ejemplo de cada uno de ellos.
1. Modelos externos o lógicos basados en objetos: Nos permite representar los datos que necesita cada usuario con las estructuras propias del lenguaje de programación que se vaya a usar.
Ejemplo: un ejemplo seria en una consulta en una base de datos relacional, porque el usuario necesita saber el lenguaje que necesita emplear para hacer la consulta, ya que normalmente la información que se asocia esta distribuida en varias tablas de información.
2. Modelos globales o lógicos basados en registros: ayuda a escribir los datos para el conjunto de usuarios.
Ejemplo: se que es algo asi como con google cuando escribes algo y te da posibles opciones de lo que estas buscando.
3. Modelo físico de datos: esta orientado a la maquina.
Ejemplo: se refiere a las diferentes vistas de la base de datos.
Referencia: http://aurea.es/wp-content/uploads/modelodedatos.pdf
TABLA DE VARIABLES DE JAVA
TABLA DE VARIABLES DE JAVA
TABLA DE VARIABLES EN C
Es interesante lo que menciona de SQlite, pero no realizo el cuadro de comparación que indique para ver las diferencias entre uno y otro.
ResponderEliminarLe falta subir aun otras actividades que se indicaron.
Atentamente.
Profa. Hilda Díaz
Le comento que la comparación debe incluir lo que se indico en clase como base para la misma, ademas debe poner atención al diseñar su blog en como colocar lo que se indica, ya que no tan solo es pegar lo que se indica en las variables, podía usted haber generado un archivo en excell o word y después colocarlo, o en su caso realizar una tabla dentro de su blog.
ResponderEliminarAtentamente.
Profa. Hilda Díaz