Introduccion A Base de Datos
Introduccion A Base de Datos
Introduccion A Base de Datos
Una base de datos es uno o varios archivos a donde la información está registrada de forma
estructurada, en tablas. Estas tablas contienen registros. Los registros están compuestos de campos bien
identificados.
La base de datos más simple es un archivo texto, correspondiendo a una tabla, a donde los campos son
delimitados por un carácter (como una coma) o por posición (tamaño fijo).
Existen varios programas profesionales que permiten manejar de bases de datos que contienen varias
tablas relacionadas. Existen programas autónomos, que se pueden ejecutar en una misma
computadora, como MS Access, y otros que funcionan como cliente-servidor, como MySQL, Oracle,
Firebird, DB2, MS SQL Servidor,...
Existen también bases de datos ‘embarcadas’, que son base de datos incluidas en una aplicación, sin
servidor.
Características
Entre las principales características de los sistemas de base de datos podemos mencionar:
a. Independencia lógica y física de los datos.
b. Redundancia mínima.
c. Acceso concurrente por parte de múltiples usuarios.
d. Integridad de los datos.
e. Consultas complejas optimizadas.
f. Seguridad de acceso y auditoría.
g. Respaldo y recuperación.
h. Acceso a través de lenguajes de programación estándar.
Nota: La herramienta más difundida para realizar todas estas tareas es el lenguaje SQL.
Abstracción de la información.
Una base de datos es en esencia una colección de archivos relacionados entre sí, de la cual los usuarios
pueden extraer información sin considerar las fronteras de los archivos.
Un objetivo importante de un sistema de base de datos es proporcionar a los usuarios una visión
abstracta de los datos, es decir, el sistema esconde ciertos detalles de cómo se almacenan y mantienen
los datos. Sin embargo, para que el sistema sea manejable, los datos se deben extraer eficientemente.
Existen diferentes niveles de abstracción para simplificar la interacción de los usuarios con el sistema;
Interno, conceptual y externo, específicamente el de almacenamiento físico, el del usuario y el del
programador.
Nivel físico.
Es la representación del nivel más bajo de abstracción, en éste se describe en detalle la forma en cómo
de almacenan los datos en los dispositivos de almacenamiento (por ejemplo, mediante señaladores o
índices para el acceso aleatorio a los datos).
Nivel conceptual.
El siguiente nivel más alto de abstracción, describe que datos son almacenados realmente en la base de
datos y las relaciones que existen entre los mismos, describe la base de datos completa en términos de
su estructura de diseño. El nivel conceptual de abstracción lo usan los administradores de bases de
datos, quienes deben decidir qué información se va a guardar en la base de datos.
En el nivel conceptual la base de datos aparece como una colección de registros lógicos, sin descriptores
de almacenamiento. En realidad, los archivos conceptuales no existen físicamente. La transformación de
registros conceptuales a registros físicos para el almacenamiento se lleva a cabo por el sistema y es
transparente al usuario.
Nivel de visión.
Nivel más alto de abstracción, es lo que el usuario final puede visualizar del sistema terminado, describe
sólo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar
muchas visiones para la misma base de datos.
Ejemplares y Esquemas
Sabemos bien que las bases de datos están cambiando constantemente, esto debido al ingreso,
eliminación y actualización de la información registrada en ella. A la información que está guardada en
un momento determinado se le llama ejemplar. En cambio, la forma como está diseñada toda la
estructura de los datos se le denomina esquema y son raramente modificados.
Los ejemplares cambian constantemente, pues hacen referencia a la información registrada. A
diferencia de estos, los esquemas rara vez cambian. Solo cambian por dos razones:
La estructura de los datos fue mal realizada. (culpa del desarrollador).
Cuando se dieron las especificaciones para realizar la estructura no tomaron en cuenta muchos
aspectos (culpa del cliente).
Haciendo una analogía con programación: Los esquemas vendrían siendo la declaración de las variables
(que pueden tomar cualquier valor, al igual que en los esquemas se puede registrar información). Y los
ejemplares vendrían siendo los valores que toman esas variables en momentos determinados.
De éstos, el esquema lógico es con mucho el más importante, en términos de su efecto en los
programas de aplicación, ya que los programadores construyen las aplicaciones usando el esquema
lógico. El esquema físico está oculto bajo el esquema lógico, y puede ser fácilmente cambiado
usualmente sin afectar a los programas de aplicación. Los programas de aplicación se dice que muestran
independencia física de datos si no dependen del esquema físico y, por tanto, no deben ser modificados
si cambia el esquema físico.
Modelo entidad-relación
El modelo de datos entidad-relación (E-R) está basado en una percepción del mundo real que consta de
una colección de objetos básicos, llamados entidades, y de relaciones entre estos objetos. Una entidad
es una «cosa» u «objeto» en el mundo real que es distinguible de otros objetos. Por ejemplo, cada
persona es una entidad, y las cuentas bancarias pueden ser consideradas entidades.
Las entidades se describen en una base de datos mediante un conjunto de atributos. Por ejemplo, los
atributos número-cuenta y saldo describen una cuenta particular de un banco y pueden ser atributos del
conjunto de entidades cuenta. Análogamente, los atributos nombre-cliente, calle-cliente y ciudad-cliente
pueden describir una entidad cliente.
Un atributo extra, id-cliente, se usa para identificar unívocamente a los clientes (dado que puede ser
posible que haya dos clientes con el mismo nombre, dirección y ciudad. Se debe asignar un identificador
único de cliente a cada cliente. En los Estados Unidos, muchas empresas utilizan el número de la
seguridad social de una persona (un número único que el Gobierno de los Estados Unidos asigna a cada
persona en los Estados Unidos) como identificador de cliente*.
Una relación es una asociación entre varias entidades. Por ejemplo, una relación impositor asocia un
cliente con cada cuenta que tiene. El conjunto de todas las entidades del mismo tipo, y el conjunto de
todas las relaciones del mismo tipo, se denominan respectivamente conjunto de entidades y conjunto
de relaciones.
La estructura lógica general de una base de datos se puede expresar gráficamente mediante un
diagrama ER, que consta de los siguientes componentes:
Rectángulos, que representan conjuntos de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones entre conjuntos de entidades.
Líneas, que unen los atributos con los conjuntos de entidades y los conjuntos de entidades con
las relaciones.
Además de entidades y relaciones, el modelo E-R representa ciertas restricciones que los contenidos de
la base de datos deben cumplir. Una restricción importante es la correspondencia de cardinalidades, que
expresa el número de entidades con las que otra entidad se puede asociar a través de un conjunto de
relaciones. Por ejemplo, si cada cuenta puede pertenecer sólo a un cliente, el modelo puede expresar
esta restricción. El modelo entidad-relación se utiliza habitualmente en el proceso de diseño de bases de
datos.
Modelo relacional
En el modelo relacional se utiliza un grupo de
tablas para representar los datos y las
relaciones entre ellos. Cada tabla está
compuesta por varias columnas, y cada
columna tiene un nombre único. En la Figura se
presenta un ejemplo de base de datos
relacional consistente en tres tablas: la primera
muestra los clientes de un banco, la segunda,
las cuentas, y la tercera, las cuentas que
pertenecen a cada cliente.
La tercera tabla muestra las cuentas que pertenecen a cada cliente. Por ejemplo, la cuenta C-101
pertenece al cliente cuyo identificador es 19.283.746 (González), y los clientes 19.283.746 (González) y
01.928.374 (Gómez) comparten el número de cuenta A-201 (pueden compartir un negocio).
El modelo relacional es un ejemplo de un modelo basado en registros. Los modelos basados en registros
se denominan así porque la base de datos se estructura en registros de formato fijo de varios tipos.
Cada tabla contiene registros de un tipo particular. Cada tipo de registro define un número fijo de
campos, o atributos. Las columnas de la tabla corresponden a los atributos del tipo de registro.
No es difícil ver cómo se pueden almacenar las tablas en archivos. Por ejemplo, un carácter especial
(como una coma) se puede usar para delimitar los diferentes atributos de un registro, y otro carácter
especial (como un carácter de nueva línea) se puede usar para delimitar registros. El modelo relacional
oculta tales detalles de implementación de bajo nivel a los desarrolladores de bases de datos y usuarios.
El modelo de datos relacional es el modelo de datos más ampliamente usado, y una amplia mayoría de
sistemas de bases de datos actuales se basan en el modelo relacional.
El modelo relacional se encuentra a un nivel de abstracción inferior al modelo de datos E-R. Los diseños
de bases de datos a menudo se realizan en el modelo E-R, y después se traducen al modelo relacional.
Otros modelos de datos
Otros modelos que se han desarrollado son, por ejemplo:
El modelo de datos orientado a objetos es otro modelo de datos que está recibiendo una
atención creciente. El modelo orientado a objetos se puede observar como una extensión del
modelo E-R con las nociones de encapsulación, métodos (funciones) e identidad de objeto.
El modelo de datos relacional orientado a objetos combina las características del modelo de
datos orientado a objetos y el modelo de datos relacional.
Modelo de dato de red y el Modelo de datos jerárquico precedieron al modelo de datos
relacional.
La ejecución de la instrucción LDD anterior crea la tabla cuenta. Además, actualiza un conjunto especial
de tablas denominado diccionario de datos o directorio de datos.
Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos. El esquema de una
tabla es un ejemplo de metadatos. Un sistema de base de datos consulta el diccionario de datos antes de
leer o modificar los datos reales.
Especificamos el almacenamiento y los métodos de acceso usados por el sistema de bases de datos por
un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de almacenamiento y
definición de datos. Estas instrucciones definen los detalles de implementación de los esquemas de base
de datos, que se ocultan usualmente a los usuarios.
Los valores de datos almacenados en la base de datos deben satisfacer ciertas restricciones de
consistencia. Por ejemplo, supóngase que el saldo de una cuenta no debe caer por debajo de 100 . El
LDD proporciona facilidades para especificar tales restricciones. Los sistemas de bases de datos
comprueban estas restricciones cada vez que se actualiza la base de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o
manipular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos básicamente:
LMDs procedimentales. Requieren que el usuario especifique qué datos se necesitan y cómo
obtener esos datos.
LMDs declarativos (también conocidos como LMDs no procedimentales). Requieren que el
usuario especifique qué datos se necesitan sin especificar cómo obtener esos datos.
Los LMDs declarativos son más fáciles de aprender y usar que los LMDs procedimentales. Sin embargo,
como el usuario no especifica cómo conseguir los datos, el sistema de bases de datos tiene que
determinar un medio eficiente de acceder a los datos. El componente LMD del lenguaje SQL es no
procedimental.
Una consulta es una instrucción de solicitud para recuperar información. La parte de un LMD que implica
recuperación de información se llama lenguaje de consultas. Aunque técnicamente sea incorrecto, en la
práctica se usan los términos lenguaje de consultas y lenguaje de manipulación de datos como
sinónimos.
Para acceder a la base de datos, las instrucciones LMD necesitan ser ejecutadas desde el lenguaje
anfitrión. Hay dos maneras de hacerlo:
Proporcionando una interfaz de programas de aplicación (conjunto de procedimientos) que se
pueden usar para enviar instrucciones LMD y LDD a la base de datos, y recuperar los resultados.
El estándar de conectividad abierta de bases de datos (ODBC, Open Data Base Connectivity)
definido por Microsoft para el uso con el lenguaje C es un estándar de interfaz de programas de
aplicación usado comúnmente. El estándar conectividad de Java con bases de datos (JDBC, Java
Data Base Connectivity) proporciona características correspondientes para el lenguaje Java.
Extendiendo la sintaxis del lenguaje anfitrión para incorporar llamadas LMD dentro del programa
del lenguaje anfitrión. Usualmente, un carácter especial precede a las llamadas LMD, y un
preprocesador, denominado el precompilador LMD, convierte las instrucciones LMD en llamadas
normales a procedimientos en el lenguaje anfitrión.
Tipos de Base de Datos
Existen básicamente tres tipos de bases de datos:
Bases de Datos Jerárquicas.
Bases de Datos en Red.
Bases de Datos Relacionales.
Éstas últimas son, con diferencia, las más difundidas y utilizadas en la actualidad debido a su potencia,
versatilidad y facilidad de utilización. Se basan en el Modelo Relacional cuyas principales características
veremos en próximas clases. Para gestionarlas se utiliza el lenguaje SQL.
Las tablas están guardadas en archivos. Dependiendo de la base de datos, un archivo puede contener
varias tablas o no, y/o una tabla puede extender sobre varios archivos o no.
Otros componentes que pueden hacer parte de una base de datos, pero que no son presente en todas
(y que no vamos a ver en detalle en este curso), son entre otras las vistas, las funciones, los
procedimientos, las secuencias, los disparadores, etc...
Con los servidores corren también uno o varios servicios, dependiendo de la base de datos.
2. Importar una Base de Datos
3. Crear una Base de Datos en Access
https://www.youtube.com/watch?v=aXBZpDEjVRY
http://www.cartagena99.com/recursos/alumnos/apuntes/Manual-SQL1.pdf
http://www.solucionjava.com/pdf/Curso_SQL.pdf
https://slideplayer.es/slide/2273301/
http://www.frlp.utn.edu.ar/materias/info2/bases_de_datos.htm
http://www.ite.educacion.es/formacion/materiales/93/cd/indice.htm
http://dis.um.es/~barzana/Informatica/IAGP/IAGP_Sistemas_BD.html