lunes, 19 de septiembre de 2011

BASE DE DATOS

Video de Introduccion a BASE DE DATOS:
INTRODUCCION A BASE DE DATOS 1

VÍDEO ENTIDAD RELACIÓN


SEMANA 1

§ Conceptos Generales Base de Datos:
Algunos conceptos de bases de datos:
Base de Datos: es la colección de datos aparentes usados por el sistema de aplicaciones de una determinada empresa.Base de Datos: es un conjunto de información relacionada que se encuentra agrupada o estructurada. Un archivo por sí mismo no constituye una base de datos, sino más bien la forma en que está organizada la información es la que da origen a la base de datos.
Base de Datos: colección de datos organizada para dar 
servicio a muchas aplicaciones al mismo tiempo al combinar los datos de manera que aparezcan estar en una sola ubicación
Requerimientos de las bases de datos:
El análisis de requerimientos para una base de datos incorpora las mismas tareas que el análisis de requerimientos del software. Es necesario un contacto estrecho con el cliente; es esencial la identificación de las funciones e interfaces; se requiere la especificación del flujo, estructura y asociatividad de la información y debe desarrollarse un documento formal de los requerimientos.
Requerimientos administrativos: se requiere mucho más para el desarrollo de sistemas de bases de datos que únicamente seleccionan un modelo lógico de base de datos. La bases de datos es una disciplina organizacional, un método, más que una herramienta o una tecnología. Requiere de un cambio conceptual y organizacional.

§ Terminologías:
Campo – Field
Identifica solo un elemento dentro de la tabla con características específicas como tipo de datos, longitud, número de decimales, etc.

Consulta – Query
Identifica una instrucción propia del motor de base de datos que interactua con los datos almacenados en esta. Generálmente son instrucciones de lectura, aun que muchas veces se utiliza el término Query para cualquier instrucción (escritura, procesamiento o administración).

Tabla – Table
Identifica un objeto contenedor de información estructurada, esta estructura se repite en todos los registros en ella.

Vista – View
Identifica una consulta residente en el servidor que puede ejecutarse con una instrucción simple como si fuera otra tabla de la base de datos.

Índice – Index

Formulario: es el elemento en forma de fecha que permite la gestión de los datos de una forma mascomoda y visiblemente mas atractiva

JDBC: La conectividad de Bases de Datos Java 

§ Modelo de Datos
Un modelo de datos es un lenguaje orientado a describir una Base de Datos. Típicamente un modelo de datos permite describir:
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.

§ Base de Datos
Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

§ DBMS
Un sistema de gestión de base de datos ( DBMS ) es un paquete de software con los programas informáticos que controlan la creación, el mantenimiento y el uso de una base de datos . Permite a las organizaciones para desarrollar convenientemente las bases de datos para diferentes aplicaciones de los administradores de bases de datos (DBA) y otros especialistas. Una base de datos es una colección integrada de registros de datos, archivos, bases de datos y otros objetos . Un DBMS permite diferentes programas de aplicación de usuario para acceder al mismo tiempo la misma base de datos. DBMS puede utilizar una variedad de modelos de bases de datos , tales como el modelo relacional o modelo de objetos , para describir convenientemente y soporte de aplicaciones. Por lo general soportalenguajes de consulta , que en realidad son lenguajes de alto nivel de programación, dedicado idiomas base de datos que simplifica considerablemente la escritura de programas de bases de datos de aplicación. Idiomas base de datos también simplificar la organización de bases de datos, así como recuperar y presentar información de ella. Un DBMS proporciona facilidades para controlar el acceso a los datos , la aplicación de la integridad de datos , gestión de control de concurrencia , la recuperación de la base de datos después de los fracasos y su restauración a partir de archivos de copia de seguridad, así como el mantenimiento de la base de datos de seguridad .


SEMANA 2

§ ARCHIVOS
Los archivos como colección de datos sirve para la entrada y salida a la computadora y son manejados con programas.
Los archivos pueden ser contrastados con Arrays y registros; Lo que resulta dinámico y por esto en un registro se deben especificar los campos, él número de elementos de un arrays (o arreglo), el número de caracteres en una cadena; por esto se denotan como "Estructuras Estáticas".
En los archivos no se requiere de un tamaño predeterminado; esto significa que se pueden hacer archivos de datos más grandes o pequeños, según se necesiten.
Cada archivo es referenciado por su identificador (su nombre.).

§ Sistemas de Archivos
Los sistemas de archivos o ficheros (en inglés:filesystem), estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos.1
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).

§ Tipos de Archivos

1. -SEGÚN SU FUNCION.
Se define por:
a.- Archivos Permanentes:
Son aquellos cuyos registros sufren pocas o ninguna variación a lo largo del tiempo, se dividen en:
Constantes: Están formados por registros que contienen campos fijos y campos de baja frecuencia de variación en el tiempo.
De Situación: Son los que en cada momento contienen información actualizada.
Históricos: Contienen información acumulada a lo largo del tiempo de archivos que han sufridos procesos de actualización o bien acumulan datos de variación periódica en el tiempo.

b.- Archivos de Movimiento
Son aquellos que se utilizan conjuntamente con los maestros (constantes), y contienen algún campo común en sus registros con aquellos, para el procesamiento de las modificaciones experimentados por los mismos.

c.- Archivo de Maniobra o Transitorio
Son los archivos creados auxiliares creados durante la ejecución del programa y borrados habitualmente al terminar el mismo.

2. – SEGÚN SUS ELEMENTOS.
Archivo de Entrada: Una colección de datos localizados en un dispositivo de entrada.
Archivo de Salida: Una colección de información visualizada por la computadora.
Constantes: están formados por registros que contienen campos fijos y campos de baja frecuencia de variación en el tiempo.
De Situación: son los que en cada momento contienen información actualizada.
Históricos: Contienen información acumulada a lo largo del tiempo de archivos que han sufrido procesos de actualización, o bien acumulan datos de variación periódica en el tiempo.
Archivos de Movimiento o Transacciones: Son aquellos que se utilizan conjuntamente con los maestros (constantes), y contienen algún campo común en sus registros con aquellos, para el procesamiento de las modificaciones experimentados por los mismos.
Archivos de Maniobra o Transitorios: Son los archivos auxiliares creados durante la ejecución del programa y borrados habitualmente al terminar el mismo.
Archivo de Programa, un programa codificado en un lenguaje especifico y localizado o almacenado en un dispositivo de almacenamiento.
Archivo de Texto, una colección de caracteres almacenados como una unidad en un dispositivo de almacenamiento.


SEMANA 3

§ TIPOS DE ESTRUCTURAS
1.Según la variabilidad de los datos almacenados.
Bases de datos estáticas
Son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.
Bases de datos dinámicas
Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de un supermercado, una farmacia, un videoclub o una empresa.

2.Segunsu fuente.de datos
Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.
Directorios
Un ejemplo son las guías telefónicas en formato electrónico.
Bases de datos o "bibliotecas" de información química o biológica
Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:
Las que almacenan secuencias de nucleótidos o proteínas.
Las bases de datos de rutas metabólicas.
Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas-
Bases de datos clínicas.
Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos)


SEMANA 4

MODELO E/R (ENTIDAD / RELACION) I

Un diagrama o modelo entidad-relación (a veces denominado por sus siglas, E-R "Entityrelationship", o, "DER" Diagrama de Entidad Relación) es una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información así como sus interrelaciones y propiedades.

§ Modelo Conceptual

Esquema conceptual: Descripción de alto nivel del contenido de Información de la base de datos, independiente del SGBD que se vaya a utilizar.
Modelo conceptual: Lenguaje que se utiliza para describir esquemas conceptuales.
Propósito:Obtener un esquema completo que lo exprese todo

§ Aplicación del alumno


SEMANA 5

Modelo E/R (ENTIDAD / RELACION)II

§Modelo lógico
 Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación.
     *  Modelo Entidad-Relación. 

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de entidades, que son objetos  que existen y que se distinguen de otros por sus características, por ejemplo: un alumno se distingue de otro por sus características particulares como lo es el nombre, o el numero de control asignado al entrar a una institución educativa, así mismo, un empleado, una materia, etc. Las entidades pueden ser de dos tipos:
          romboa.jpg (739 bytes)  Tangibles :
                Son todos aquellos objetos físicos que podemos ver,
              tocar o sentir.
          romboa.jpg (739 bytes)  Intangibles:
                 Todos aquellos eventos u objetos conceptuales que no
              podemos ver, aun sabiendo que existen, por ejemplo:
              la entidad materia, sabemos que existe, sin embargo, no la 
              podemos visualizar o tocar.
Las características de las entidades en base de datos se llaman atributos, por ejemplo el nombre, dirección teléfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, número de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con más entidades a través de relaciones.
 Pero para entender mejor esto, veamos un ejemplo:
Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo (que es el producto en venta), y las características que los identifican son:
                  Empleado:       Artículo:
                  Nombre            Descripción
                  Puesto              Costo
                  Salario              Clave
                  R.F.C.
La relación entre ambas entidades la podemos establecer como Venta.
Bueno, ahora nos falta describir como se representa un modelo E-R gráficamente, la representación es muy sencilla, se emplean símbolos, los cuales son:
                            Simbolo                           Representa


Así nuestro ejemplo anterior quedaría representado de la siguiente forma:

 

Existen más aspectos a considerar con respecto a los modelos entidad relación, estos serán considerados en el tema Modelo Entidad Relación.


SEMANA 6

Modelo E/R (ENTIDAD / RELACION) III

§Modelo físico
Se usan para describir a los datos en el nivel más bajo, aunque existen muy pocos modelos de este tipo,   básicamente capturan aspectos de la implementación de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son:
       romboa.jpg (739 bytes) Modelo unificador
       
romboa.jpg (739 bytes) Memoria de elementos.


Base de Datos I Ing. Pablo Cesar Ttito C. Infoidat@gmail.com


SEMANA 7

§TEORÍA DE RELACIONES I


§Cardinalidada
1.- Uno a Uno: Una entidad de A se relaciona únicamente con una entidad en B y viceversa.
2.-Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A.
(Esta es de chocolate)Varios a Uno: Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A.(esta es la misma que la 2 pero al revés )
3.-Varios a Varios: Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa.

 

§Tipos de relaciones
Se pueden distinguir tres tipos de relaciones:
1. Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con una lista de Alcaldes, una población sólo puede tener un alcalde, y un alcalde lo será únicamente de una población.
2. Relación Uno a Varios: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla(tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).
Por ejemplo: tenemos dos tablas una con los datos de diferentes poblaciones y otra con los habitantes, una población puede tener más de un habitante, pero un habitante pertenecerá (estará empadronado) en una única población.
3. Relación Varios a Varios: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.
Por ejemplo: tenemos dos tablas una con los datos de clientes y otra con los artículos que se venden en la empresa, una cliente podrá realizar un pedido con varios artículos, y un artículo podrá ser vendido a más de un cliente.
Las relaciones varios a varios se suelen representar definiendo una tabla intermedia entre las dos tablas. Siguiendo el ejemplo anterior sería definir una tabla lineas de pedido relacionada con clientes y con artículos.

§Aplicación del alumno

SEMANA 8

TEORÍA DE RELACIONES II

§Recursivas
Definición.
Hablamos de recursividad, tanto en el ámbito informático como en el ámbito matemático, cuando definimos algo (un tipo de objetos, una 
propiedad o una operación) en función de sí mismo. La recursividad en programación es una herramienta sencilla, muy útil y potente.
Tipos.
Podemos distinguir dos tipos de recursividad:
Directa: Cuando un subprograma se llama a si mismo una o mas veces directamente.
Indirecta: Cuando se definen una serie de subprogramas usándose unos a otros.
Características.
Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condición de terminación. La parte recursiva y la condición de terminación siempre existen. En 
cambio la parte no recursiva puede coincidir con la condición de terminación.
Algo muy importante a tener en cuenta cuando usemos la recursividad es que es necesario asegurarnos que llega un momento en que no hacemos más llamadas recursivas. Si no se cumple esta condición el programa no parará nunca.
Ventajas e inconvenientes.
La principal ventaja es la simplicidad de comprensión y su gran 
potencia, favoreciendo la resolución de problemas de manera natural, sencilla y elegante; y facilidad para comprobar y convencerse de que la solución del problema es correcta.
El principal inconveniente es la ineficiencia tanto en tiempo como en 
memoria, dado que para permitir su uso es necesario transformar el programa recursivo en otro iterativo, que utiliza bucles y pilas para almacenar las variables.
Estructura Representación
Una tabla es una estructura homogénea en la que todos los elementos que la componen son del mismo tipo.Son estáticas, no crecen ni decrecen en tiempo de ejecución y tienen un límite preestablecido antes de la compilación.
Para acceder a los elementos de una tabla se utilizan los "índices" y estos pueden ser de cualquier tipo escalar de 
PASCAL (enumerados, INTEGER, CHAR, subrango, BOOLEAN).Por ello las tablas son estructuras de acceso directo o acceso por índice. 
Ventajas: eficientes y rápidos.
Inconvenientes: Para cada elemento de la lista se debe reserVAR un espacio para punteros lo que significa un desaprovechamiento de memoria en el "manejo de list

§Entidades asociativas
En este subapartado veremos un mecanismo que nos permite considerar una interrelación entre entidades como si fuese una entidad.

La entidad que resulta de considerar una interrelación entre entidades como si fuese una entidad es una entidad asociativa, y tendrá el mismo nombre que la interrelación sobre la que se define.


La utilidad de una entidad asociativa consiste en que se puede interrelacionar con otras entidades y, de forma indirecta, nos permite tener interrelaciones en las que intervienen interrelaciones. Una entidad asociativa se denota recuadrando el rombo de la interrelación de la que proviene.
Ejemplo de entidad asociativa



 Recorrido es una interrelación de conectividad M:N que registra las ciudades por donde han pasado los diferentes viajes organizados por una empresa de reparto de paquetes. Consideramos recorrido una entidad asociativa con el fin de interrelacionarla con la entidad cliente; de este modo nos será posible reflejar por orden de qué clientes se han hecho repartos en una ciudad del recorrido de un viaje, así como el número de paquetes cargados y descargados siguiendo sus indicaciones.
El mecanismo de las entidades asociativas subsume el de las entidades débiles
y resulta todavía más potente. Es decir, siempre que utilicemos una entidad débil podremos sustituirla por una entidad asociativa, pero no al revés.

Ejemplo de sustitución de una entidad débil por una asociativa
A continuación se muestra la entidad débil despacho, que tiene la interrelación asignación con la entidadempleado.


 

 
Podríamos modelizar este caso haciendo que despacho fuese una entidad asociativa si consideramos una nueva entidad número-despacho que contiene simplemente números de despachos. Entonces, la entidad asociativa despacho se obtiene de la interrelación entre edificio y número-despacho.
Aunque las entidades débiles se puedan sustituir por el mecanismo de las entidades asociativas, es adecuado mantenerlas en el modelo ER porque resultan menos complejas y son suficientes para modelizar muchas de las situaciones que se producen en el mundo real.

§Dependencia funcionales


Dependencia funcional



 
B es funcionalmente dependiente de A.
Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si se conoce el valor de FechaDeNacimiento podemos conocer el valor de Edad.
Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera:
FechaDeNacimiento \rightarrow Edad
Aquí a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos formasFechaDeNacimiento determina a Edad o Edad es funcionalmente dependiente de FechaDeNacimiento. De la normalización (lógica) a la implementación (física o real) puede ser sugerible tener éstas dependencias funcionales para lograr la eficiencia en las tablas.

Propiedades de la Dependencia funcional

Existen 3 axiomas de Armstrong:

Dependencia funcional Reflexiva

Si "x" está incluido en "x" entonces x \rightarrow x A partir de cualquier atributo o conjunto de atributos siempre puede deducirse él mismo. Si la dirección o el nombre de una persona están incluidos en el DNI, entonces con el DNI podemos determinar la dirección o su nombre.

Dependencia funcional Aumentativa

x \rightarrow y entonces xz \rightarrow yz
DNI \rightarrow nombre
DNI,dirección \rightarrow nombre,dirección
Si con el DNI se determina el nombre de una persona, entonces con el DNI más la dirección también se determina el nombre y su dirección.

Dependencia funcional transitiva



 
Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice entonces queZ depende transitivamente de X. Simbólicamente sería:
X \rightarrow Y \rightarrow Z entonces X \rightarrow Z
FechaDeNacimiento \rightarrow Edad
Edad \rightarrow Conducir
FechaDeNacimiento \rightarrow Edad \rightarrow Conducir
Entonces tenemos que FechaDeNacimiento determina a Edad y la Edad determina a Conducir, indirectamente podemos saber a través de FechaDeNacimiento a Conducir (En muchos países, una persona necesita ser mayor de cierta edad para poder conducir un automóvil, por eso se utiliza este ejemplo).
 

SEMANA 9
ATRIBUTOS Y DOMINIOS

§Definiciones
Atributo:  atributo representa una propiedad de interés de una entidad.

Los atributos se describen en la estructura de la base de datos empleando un modelo de datos.

Por ejemplo, se podría tener una entidad llamada "Alumno". Esta entidad puede estar constituida por uno o más atributos, que son propiedades de la entidad "Alumno" que interesan para almacenarse en la base de datos. Por ejemplo, la entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc.

La elección de los atributos de una entidad depende del uso que se le dará a la base de datos. El alumno puede tener una "religión", pero si no interesa al fin de la base de datos, no es necesario almacenarla en un atributo.

Dominio: Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc

§Características
 Atributos
-Todos los Atributos de la Entidad, se colocan de acuerdo a la entidad.
-Todos los Atributos de la Entidad, Pertenecen a las diferentes  funcionalidades que tiene la entidad.

Dominio
-Todo Dominio, va de acuerdo al atributo o campo.
-Todo Dominio, deve cumplir con los requerimientos del sistema.