Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Table de contenido
Tema 1 ..................................................................................................................................................... 3
1. Introducción ................................................................................................................................ 3
2. Datos, Bases de Datos y SGBD .................................................................................................... 4
2.1. Definición Una base de datos es un gran conjunto información estructurado
almacenado en un medio permanente. ......................................................................................... 5
2.2. Definición............................................................................................................................. 5
3. ¿Qué necesita saber para usar un SGBD? .................................................................................. 6
3.1. Definición del esquema de datos ....................................................................................... 6
3.2. Operaciones de datos ......................................................................................................... 8
3.3. Optimización ....................................................................................................................... 9
3.4. Competición de acceso ....................................................................................................... 9
3.5. el plan del curso .................................................................................................................. 9
Tema 2 El modelo entidad/ Relación .......................................................................................... 11
2.1. Principios generales .............................................................................................................. 11
2.1.1. Buenos y malos patrones. ............................................................................................ 11
2.1.2. El método correcto........................................................................................................ 12
2.2. El modelo E/A: presentación informal ................................................................................. 14
Sistemas de bases de datos
Tema 1
1. Introducción
Una base de datos es una recopilación organizada de información o datos estructurados,
que normalmente se almacena de forma electrónica en un sistema informático. Normalmente,
una base de datos está controlada por un sistema de gestión de bases de datos (DBMS).
¿Qué es una base de datos?
Se llama base de datos, o también banco de datos, a un conjunto
de información perteneciente a un mismo contexto, ordenada de modo sistemático para su
posterior recuperación, análisis y/o transmisión. Existen actualmente muchas formas de bases
de datos, que van desde una biblioteca hasta los vastos conjuntos de datos de usuarios de
una empresa de telecomunicaciones.
El manejo de las bases de datos se lleva mediante sistemas de gestión (llamados DBMS por sus
siglas en inglés: Database Management Systems o Sistemas de Gestión de Bases de Datos),
actualmente digitales y automatizados, que permiten el almacenamiento ordenado y la
rápida recuperación de la información. En esta tecnología se halla el principio mismo de
la informática.
Fuente: https://concepto.de/base-de-datos/#ixzz7vqBg0M16
Resumen
Este curso está dirigido a estudiantes del ciclo de Ingeniería Informática y Gestión de Sistemas
y tiene como objetivo estudiar los principios de los DBMS O SGBD relacionales y ponerlos en
práctica. Y tiene las siguientes partes:
Diseño de un esquema relacional
. Se trata de saber definir un esquema relacional completo y correcto, incluyendo tablas,
restricciones, vistas.
Lenguajes de consulta y manipulación
. Se hace énfasis en SQL y sus fundamentos, y en la integración de SQL con un lenguaje de
programación como C. Además, el curso incluye una introducción a los problemas de
concurrencia, cuyo conocimiento es necesario para los desarrolladores de aplicaciones basadas
en DBMS. El trabajo práctico con el SGBD Mysql permite poner en práctica las técnicas
estudiadas en clase, por lo que se hace más hincapié en las nociones básicas (qué es un SGBD,
qué es una base de datos, qué es un lenguaje de consulta) y su aplicación práctica. Solicitó haber
adquirido al final del curso los conocimientos necesarios para el uso de un DBMS por parte de
un informático no especialista: creación de un diagrama, inserción, actualización, destrucción,
consulta de datos y comprensión de los mecanismos de concurrencia involucrados en la gestión.
de un SGBD. Por otro lado, todo lo relacionado con la comprensión de los mecanismos internos
de un DBMS (representación física, evaluación de consultas) o los fundamentos teóricos del
modelo relacional no se tratan aquí. Este documento es un material de curso: ciertamente no
pretende ser exhaustivo o cubrir en detalle todos los temas tratados.
. Una base de datos es un conjunto, generalmente voluminoso, de dicha información, con una
característica esencial: se desea memorizarla permanentemente. De ahí la definición:
2.1. Definición
Una base de datos es un gran conjunto de información estructurado almacenado en un medio
permanente.
Tenga en cuenta que una organización que consta de uno (o más) archivos almacenados en la
memoria secundaria se ajusta a esta definición. Un conjunto de archivos que presentan solo una
complejidad bastante baja, no sería materia para una disertación larga allí. Desafortunadamente,
el uso directo de archivos plantea problemas muy grandes:
1. Gran acceso a los datos. En la práctica, para cada acceso, incluso el más simple, sería
necesario escribir un programa.
2. Falta de seguridad. Si cualquier programador puede acceder directamente a los archivos, es
imposible garantizar la seguridad e integridad de los datos.
3. Sin control de competencia en un entorno donde varios usuarios acceden a los mismos
archivos, surgen problemas de concurrencia para proporcionar los diferentes tipos de interfaz
necesarios para el acceso a los datos. Este software (el DBMS) es muy complejo y proporciona
el tema principal de este curso. En particular, una de las principales tareas del DBMS es ocultar
al usuario los detalles complejos y tediosos relacionados con la gestión de archivos. De ahí la
definición.
2.2. Definición
Un sistema de gestión de bases de datos (DBMS) es un software de alto nivel que permite
manipular la información almacenada en una base de datos.
La complejidad de un SGBD se debe fundamentalmente a la diversidad de técnicas
implementadas, la multiplicidad de componentes que intervienen en su arquitectura y los
distintos tipos de usuarios (administradores, programadores, no informáticos, etc.) a los que se
enfrenta, en distintos niveles; con el sistema. Aquí hay algunos ejemplos que ilustran todos los
escenarios que deben ser considerados en un curso exhaustivo:
o Modelos de datos: entidad-relación, red, modelos jerárquicos, relacionales, orientados
a objetos, semánticos.
o Lenguajes de consulta: fundamentos teóricos ( lógica de primer orden, lógica de punto
fijo, álgebras varias) y lenguajes como SQL, SQL3, Datalog, OQL, etc.
o Técnicas de almacenamiento: en disco (óptico), en cinta.– Organización de archivos:
índice, B-tree, hash, ..
o Arquitectura: centralizada, distribuida, sobre otras bases accesible por red.
o Técnicas de evaluación y optimización de consultas.
o La concurrencia de acceso y técnicas s de recuperación en el panel.SGDB
Para poner un poco de orden en todo esto, podemos ceñirnos a una arquitectura estándar
conforme a la mayoría de los SGBD existentes, y que ofrece la ventaja de ilustrar claramente
las principales características de un SGBD. Esta arquitectura distingue tres niveles que
corresponden por un lado a tres equivalentes representaciones de la información, por otro lado
a los respectivos campos de intervención de los actores principales. Para esto último,
utilizaremos la siguiente terminología:
Sistemas de bases de datos
la estructura física, (3) escribimos los programas de aplicación usando la estructura lógica,
finalmente (4) El SGBD es responsable de transcribir los comandos LMD en instrucciones
apropiadas aplicadas a LA representación física.
Este enfoque ofrece ventajas muy grandes que es importante subrayar. Primero ella abre
el uso de SGDB por parte de usuarios no expertos: los lenguajes que ofrecen los modelos
lógicos son
más simple y, por lo tanto, más accesible que las herramientas de administración de
archivos. Entonces, obtenemos una característica esencial: la independencia física. Puede
modificar el diseño físico sin modificar
programas de aplicación. Un concepto relacionado es el de independencia lógica: se puede
modificar el
programas de aplicación sin tocar la implementación.
Finalmente, el DBMS releva al usuario, y en gran medida al administrador, de la pesada
tarea de controlar la seguridad e integridad de los datos.
3.2. Operaciones de datos
3.3. Optimización
La optimización (de una consulta) se basa en la organización física de los datos. Los
principales tipos
organización son los archivos secuenciales, los índices (densos, secundarios, B-trees) y la
agrupación de datos por hash.
Un módulo particular del DBMS, el optimizador, tiene en cuenta esta organización y las
características
de la consulta para elegir la mejor secuencia de operaciones.
3.4.Competición de acceso
Varios usuarios deben poder acceder a los mismos datos al mismo tiempo. El SGBD debe
saber:
– Gestionar conflictos si ambos realizan actualizaciones.
– Ofrezca un mecanismo de reversión si decide cancelar los cambios en curso.
– Dar una imagen coherente de los datos si uno hace peticiones y el otro actualiza.
El objetivo: evitar bloqueos, evitando modificaciones anárquicas.
3.5. el plan del curso
El curso consta de tres partes dedicadas sucesivamente al diseño de una base de datos
relacional, a los lenguajes de consulta relacionales, finalmente a la práctica de un DBMS
relacional.
Diseño o concepción de un esquema relacional
El curso presenta primero la técnica de diseño clásica usando el modelo de
entidad/asociación,
seguido de la transcripción del diagrama obtenido en el modelo relacional. Obtenemos una
forma sencilla y comunes para crear esquemas con buenas propiedades. Los conceptos de
esquemas 'buenos' y 'malos' luego se revisan más formalmente con la teoría de la
normalización.
lenguajes relacionales
Se presentan los siguientes lenguajes de consulta y manipulación de datos: álgebra
relacional que proporciona un pequeño conjunto de operadores para expresar consultas
complejas y el Lenguaje SQL, estándar SQL2.
Práctica de un DBMS o SGBD relacional
Esta parte retoma y amplía los temas anteriores y desarrolla su aplicación en el entorno de
un SGBD relacional, comprende :
1. Una revisión exhaustiva del lenguaje de definición de datos SQL2 para crear esquemas
relacionales, incluidas expresiones de restricción, vistas y disparadores.
Sistemas de bases de datos
Este capítulo presenta el modelo Entidad/Asociación (E/A) que se usa casi universalmente para
diseño de bases de datos (principalmente relacionales). Diseñar un esquema correcto es
esencial para el desarrollo de una aplicación viable. Dado que la base de datos es
la base de todo el sistema, un error durante su diseño es difícil de recuperar por el
siguiente. El modelo E/A tiene las características de ser lo suficientemente simple y potente
para representar estructuras relacionales. Sobre todo, se basa en una representación gráfica que
facilita considerablemente su comprensión.
El modelo E/A también adolece de muchas deficiencias: la principal es ofrecer solo
estructuras No hay operación para manipular los datos, y ningún (o poco) medio
para expresar restricciones. Otra desventaja del modelo E/A es que conduce a ciertas
ambigüedades para diagramas complejos.
La siguiente presentación se centra deliberadamente en la utilidad del modelo E/A en el
contexto del diseño.
de una base de datos. Añadamos que no se trata de diseñar un diagrama E/A (ver un curso sobre
el sistema de información), sino para poder entenderlo e interpretarlo. A lo largo de este capítulo
tomamos el ejemplo de una base de datos que describe películas, con su director y su
actores, así como los cines donde se proyectan estas películas. También supondremos que esta
base de datos es accesible en la Web y que los internautas pueden calificar las películas que han
visto.
No hay nada que impida mostrar la misma película varias veces. Peor: es posible insertar varias
veces
la película Vértigo describiéndola cada vez de manera diferente, por ejemplo, atribuyéndola
una vez como director Alfred Hitchcock, luego en otra ocasión John Woo, etc.
Una buena pregunta es preguntarse qué distingue a dos películas entre sí, y
cuando podemos decir que se ha repetido la misma información. ¿Puede haber dos películas
diferentes con el mismo título por ejemplo? Si la respuesta es no, entonces uno debería poder
asegurarse de que no hay dos
filas en la tabla con el mismo valor para el atributo de título. Si la respuesta es afirmativa, queda
por determinar cuál es el conjunto de atributos que permite caracterizar de forma única una
película.
Anomalías durante una modificación
La redundancia de información también conduce a anomalías de actualización. Supongamos
que cambia el año de nacimiento de Hitchcock por la linea Vertigo y no por la linea Psychose.
Nosotros luego terminan con información inconsistente.
Surgen las mismas preguntas que antes. ¿Hasta qué punto podemos decir que no hay
tiene un solo director llamado Hitchcock, por lo que solo debe haber un año de nacimiento
para un director de ese nombre?
Anomalías durante una destrucción
No se puede borrar una película sin borrar al mismo tiempo a su director. Si lo deseamos,
por ejemplo, si ya no vemos aparecer la película Titanic en la base de datos, al mismo tiempo
eliminaremos la Información sobre James Cameron.
2.1.2. El método correcto
Un buen método para evitar las anomalías anteriores es;
1. poder representar películas y directores individualmente, de tal manera que un
la acción sobre uno no conduce sistemáticamente a la acción sobre el otro;
2. definir un método de identificación de una película o de un director, que permita asegurar
que la misma información se representa una sola vez;
3. preservar el vínculo entre películas y directores, pero sin introducir redundancia
Comencemos con los dos primeros pasos. Primero distinguiremos entre la mesa de películas y
la mesa de directores Entonces decidimos que dos películas no pueden tener el mismo título,
sino que dos directores puede tener el mismo nombre. Para tener una forma de identificar a los
directores, les asignaremos un número, denotado por id. Obtenemos el siguiente resultado,
estando los identificadores (o claves) en negrita.
1er progreso: ahora no hay más redundancia en la base de datos. Director Hitchcock, por
ejemplo, ahora solo aparece una vez, lo que elimina las anomalías de actualización mencionadas
previamente.
Queda por representar el vínculo entre las películas y los directores, sin introducir redundancias.
Ahora que hemos definido los identificadores, existe una forma sencilla de indicar cuál es el
director que dirigió una película: asociar el identificador del director con la película. Agregamos
un atributo idMES en la tabla Película, y obtenemos la siguiente representación.
línea en la tabla de directores que contiene toda la información sobre este director. Este
proceso
la reconstrucción de la información, dispersa en varias tablas, se puede expresar con SQL.
El modelado con un gráfico de Entidad/Asociación ofrece un método simple para llegar al
resultado
anterior, incluso en casos mucho más complejos.
que las cardinalidades máximas porque tienen menos impacto en la estructura de la base de
datos y
puede ser desafiado más fácilmente después. Debemos ser conscientes de más de ellos
representan solo una elección de diseño, a menudo discutible. En la notación UML que
presentamos
aquí hay notaciones abreviadas que dan valores implícitos a cardinalidades mínimas:
1. La notación * es equivalente a 0..*;
2. la notación 1 es equivalente a 1..1.
Además de las propiedades ya mencionadas (simplicidad, claridad de lectura), evidentes en
este diagrama, se puede
tenga en cuenta también que el modelado conceptual es completamente independiente de
cualquier elección de ubicación. EL
El diagrama de la figura 3.1 no especifica ningún sistema en particular. Tampoco es una
cuestión del tipo o
estructura de datos, algoritmo, lenguaje, etc. En principio, esta es por lo tanto la parte más
estable.
de una aplicación Deshacerse de la mayoría de las consideraciones técnicas en este punto
permite
para centrarnos en lo esencial: ¿qué queremos almacenar en la base de datos?
Una de las principales dificultades en el manejo de diagramas E/A es que la calidad del
resultado no puede
evaluarse a sí mismos solo frente a una solicitud que a menudo es vaga e incompleta. Por lo
tanto, a menudo es difícil
para validar (¿según qué criterios?) el resultado. ¿Podemos decir, por ejemplo, que:
1. se representa toda la información necesaria;
2. que una película nunca será dirigida por más de un artista;
3. que nunca habrá dos películas con el mismo título.
Debemos tomar decisiones informadas, sabiendo sin embargo que siempre es posible
desarrollar una base de datos, cuando este desarrollo no implique una reestructuración
excesiva.
Volviendo a los ejemplos anteriores, es fácil agregar información para describir una película o
un
usuario de Internet; sería mucho más difícil modificar la base para que una película pase de
una, y sólo una,
Sistemas de bases de datos
director, a varios. En cuanto a cambiar la tonalidad de Film, es una de las evoluciones más
complejas a
darse cuenta. Las cardinalidades y la elección de las claves son realmente parte de los
aspectos decisivos de las elecciones de
diseño.
Sistemas de bases de datos