martes, 28 de agosto de 2012

Tarea 2

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:11250921

Nota: 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.
Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas integrados, y también está incluido en:
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. With all features enabled, the library size can be less than 350KiB, depending on the target platform and compiler optimization settings. 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 code is larger. And some compiler optimizations such as aggressive function inlining and loop unrolling can cause the object code to be much larger.) If optional features are omitted, the size of the SQLite library can be reduced below 300KiB. (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 can also be made to run in minimal stack space (4KiB) and very little heap (100KiB), making SQLite a popular database engine choice on memory constrained gadgets such as cellphones, PDAs, and MP3 players. 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


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 EN C

martes, 21 de agosto de 2012

NOMBRE: Arturo Espinosa López                                    Fecha: Lunes 22 de Agosto del 2012
MAESTRO(A): Hilda Diaz Rincon
CARRERA: ITIC´s
MATERIA: Fundamentos de Base de Datos

Consistencia: Unión y relación adecuada de todas las partes que forman un todo.
Inconsistencia: Falta total de unión y relación adecuada de todas las partes que forman un todo.


Variables de Java

int a, b, c; / / declara tres enteros, a, b, y c.
int d = 3, e, f = 5; // declares three more ints, initializing int d = 3, e, f = 5 / / declara más de tres enteros, inicializando
                     // d and f. / / Dy f.
byte z = 22; // initializes z. byte z = 22 / / inicializa z.
double pi = 3.14159; // declares an approximation of pi. doble pi = 3,14159 / / declara una aproximación de pi.
char x = 'x'; // the variable x has the value 'x'. char x = 'x', / / ​​la variable x tiene 'x' el valor.
Variables locales
public class Test { 

   public void pupAge(){ pupAge public void () {
      int age = 0; int edad = 0;
      age = age + 7; edad = edad + 7;
      System.out.println("Puppy age is : " + age) System.out.println ("edad del perrito es:" edad +)
   } }
   
   public static void main(String args[]){ public static void main (String args []) {
      Test test = new Test(); Test de prueba = new prueba ();
      Test.pupAge(); Test.pupAge ();
   } }
} }
Las variables de instancia
import java.io. *;
 
class Employee{ clase Employee {
   // this instance variable is visible for any child class. / / Esta variable de instancia es visible para cualquier clase hija.
   public String name; public String nombre;
   
   // salary variable is visible in Employee class only. / / Salario variable es visible en la clase Empleado solamente.
   private double salary; doble salario privado;
   
   // The name variable is assigned in the constructor. / / El nombre de la variable se le asigna en el constructor. 
   public Employee (String empName){ public Empleado (String empName) {
      name = empName; name = empName;
   } }
 
   // The salary variable is assigned a value. / / La variable salario se le asigna un valor.
   public void setSalary(double empSal){ setSalary public void (doble empSal) {
      salary = empSal; = salario empSal;
 
Clase / variables estáticas
import java.io. *;

class Employee{ clase Employee {
   // salary variable is a private static variable / / Salario variable es una variable estática privada
   private static double salary; privado doble salario fijo;

   // DEPARTMENT is a constant / / DEPARTAMENTO es una constante
   public static final String DEPARTMENT = "Development"; DEPARTAMENTO público static final String = "desarrollo";

   public static void main(String args[]){ public static void main (String args []) {
      salary = 1000; sueldo = 1000;
      System.out.println(DEPARTMENT+"average salary:"+salary); System.out.println (DEPARTAMENTO + "sueldo promedio:" sueldo +);
   } }

Propiedades de los objetos en P.O.O.
Los objetos tienen propiedades que los describen. Algunas de las propiedades de un objeto Window es su nombre, las palabras en su barra de estado, la URL del documento dentro de la ventana y el documento de la ventana en sí mismo que incluye las palabras imágenes y enlaces dentro de la ventana.
1)       ¿Cuál es la importancia del diseño lógico de la base de datos?
Es comprobar que el diseño tenga una estructura correcta y sea capaz de soportar las transacciones que se requieren.

2)       Identifique dos características del nivel externo de la arquitectura del sistema de base de datos. Describe únicamente la base de datos que es de interés para el usuario, escondiendo la demás información. Tiene varios esquemas externos o vistas de usuario.
3)       El nivel lógico o conceptual esta basado en: mostrar la base de datos un determinado grupo de usuarios sin describir a detalle la estructura física de la misma.
4)       El nivel interno es la representación de: la estructura física de almacenamiento de base de datos.
5)       Identifica dos diferencias entre un sistema de base de datos y un sistema de gestión de base de datos.
La base de datos es el archivo donde se almacenan las tablas de información con sus respectivos datos físicos y el Sistema de Gestión de Base de Datos es el sistema o programa que administra a las Bases de Datos, desde donde se pueden crear, eliminar o modificar información de la Base de Datos, entre otras cosas.
Atributos
Los atributos son las características por  de los cuales se puede describir una entidad. Por ejemplo de la entidad  podemos asignarle atributos como: nombre, apellido, dirección, teléfono, y su  llave que puede ser: numero de cedula, número de matrícula, o un código cualquiera.
En bases de datos, una entidad es la representación de un objeto o concepto del mundo real que se describe en una base de datos.Una entidad se describe en la
estructura de la base de datos empleando un modelo de datos.
Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado, Artículo, etc.
Cada entidad está constituida por uno o más
atributos. Por ejemplo, la entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.
En el
modelo de entidad-relación se emplean dos tipos de entidades: entidad fuerte y entidad débil.
Las entidades fuertes tienen atributos claves, en tanto las entidades débiles no tienen atributos claves propios.

Tablas: unidad donde crearemos el conjunto de datos de nuestra base de datos. Estos datos estarán ordenados en columnas verticales. Aquí definiremos los campos y sus características. Más adelante veremos qué es un campo.
Consultas: aquí definiremos las preguntas que formularemos a la base de datos con el fin de extraer y presentar la información resultante de diferentes formas (pantalla, impresora...)
Formulario: elemento en forma de ficha que permite la gestión de los datos de una forma más cómoda y visiblemente más atractiva.
Informe: permite preparar los registros de la base de datos de forma personalizada para imprimirlos.
Macro: conjunto de instrucciones que se pueden almacenar para automatizar tareas repetitivas.
Módulo: programa o conjunto de instrucciones en lenguaje Visual Basic.
Relación
1. En bases de datos, una relación o vínculo entre dos o más entidades describe alguna interacción entre las mismas. Por ejemplo, una relación entre una entidad "Empleado" y una entidad "Sector" podría ser "trabaja_en", porque el empleado trabaja en un sector determinado.
Las relaciones se describen en la
estructura de la base de datos empleando un modelo de datos.
Las relaciones son muy empleadas en los modelos de bases de
datos relacional y afines.
En
SQL las relaciones son llamadas tablas.