tema 5 bases de datos.docx
Document Details
Uploaded by Deleted User
Tags
Full Transcript
**TEMA 5. BASES DE DATOS** 1. **SISTEMA GESTOR DE BASES DE DATOS (SGDB)** Colección de datos interrelacionados y conjunto de programas para acceder a esos datos. Esta colección de datos se llama base de datos. El objetivo de un SGDB es proporcionar una forma de almacenar y recuperar info de una...
**TEMA 5. BASES DE DATOS** 1. **SISTEMA GESTOR DE BASES DE DATOS (SGDB)** Colección de datos interrelacionados y conjunto de programas para acceder a esos datos. Esta colección de datos se llama base de datos. El objetivo de un SGDB es proporcionar una forma de almacenar y recuperar info de una base de datos de manera práctica, diseñadas para gestionar grandes cantidades de info **FUNCIONALIDADES DE UN SGDB** -crear y especificar datos y su estructura -administrar y crear la estructura de almacenamiento -permitir manipulación de datos -dar herramientas de recuperación (en caso de fallo), copias de seguridad, exportación/importación datos, instalación base de datos **FUNCIONES DE UN SGDB** -DESCRIPCIÓN/DEFINICIÓN -estructuras de datos -relaciones entre los datos -reglas que deben cumplir los datos -MANIPULACIÓN -inserción, eliminación, modificación, búsqueda de datos -CONTROL -mecanismos de protección de datos (usuarios y permisos) ![](media/image2.png)**TIPOS DE SGDB** -modelo jerárquico -modelo en red -modelo relacional -modelo de bases de datos orientadas a objetos -bases de datos objeto-relacionales -bases de datos NoSQL **APLICACIONES** -banca, líneas aéreas, unis, telecomunicaciones, finanzas, ventas, producción, recursos humanos... 2. **BASES DE DATOS RELACIONALES** Sus objetivos son: -indep física (no influye en cómo se almacenan datos) -indep lógica (no se modifica el código de apps al modificar datos) -flexibilidad (diferentes vistas en función de usuarios y apps) -uniformidad (siempre tienen una sola forma: las tablas) -sencillez (fácil manejo) esta es la mas importanteeeeee **RELACIÓN** -tb se llama tabla -parecido a hoja de cálculo (como Excel) -los datos tienen que estar puestos lo más sencillo posible -c/tabla puede ser pensada como una persona, lugar, cosa... -si hablamos de relación: tuplas y atributos -si hablamos de tabla: filas y columnas ![](media/image4.png) **ATRIBUTOS** -es c/propiedad de los datos que se almacenan en la relación -tienen que tener nombres únicos -tienen un tipo: entero, decimal, cadena de texto... -tienen propiedades: si se permiten campos en blanco... **TUPLA** -c/una de las entradas/registros de la relación -representan info almacenada -no debe haber dos tuplas con todos los valores iguales (tiene que haber alguno dif) -puede haber tantas tuplas como se quiera **TÉRMINOS** -importante aprenderse los nombres y llamar c/cosa como se quiera -grado: tamaño de tabla en función de las columnas -cardinalidad: número de filas de una tabla -dominio: todos los posibles valores que puede tener un atributo **UNIONES ENTRE RELACIONES** (poco imp) -los datos de una relación están unidos de la manera indicada con los datos de otra relación -varios tipos: -uno a uno: una fila de una tabla se relaciona con una fila de otra tabla -uno a muchos: una fila de una tabla se relaciona con varias filas de otra tabla -muchos a muchos: no se permite en bases de datos relacionales **RESTRICCIONES** (poco imp) -condiciones de obligatorio cumplimiento por las tuplas de la base de datos -pueden ser: -inherentes: -no puede haber dos tuplas iguales -no importa orden tuplas ni orden atributos -c/atributo solo puede tomar un valor en la tupla y dominio en el que está inscrito -semánticas: -clave principal (atributo identificador de la relación) -unicidad (indica si el atributo puede repetirse o no) -obligatoriedad (indica si un atributo puede quedar vacío o no) -integridad referencial/clave foránea (indica si ese valor debe estar en la clave principal) **CLAVE PRINCIPAL** (importante) -atributo que identifica de manera única una fila (no se puede repetir) -puede estar compuesta por combinación atributos -suele ser de tipo entero -puede ser autoincremental (el entero lo asigna el sistema) **CLAVE FORÁNEA** -para relacionar dos tablas (si hay una tabla con info alumnos y otra info asignaturas, se necesita una tercera para poner las notas) -es la clave principal de otra relación -si dos relaciones están referenciadas entre sí, una de ellas debe tener una variable que sea clave foránea de la otra relación **CONSULTAS** (importante) -cuando se tienen muchos datos -para buscar: hay que tener un criterio, se pueden hacer cálculos y se pueden guardar las búsquedas y volver a usar **CÁLCULOS EN CONSULTAS** (import) -se puede asignar un nuevo nombre a cada uno de los atributos que resultan al hacer la consulta ![](media/image6.png) 3. **LENGUAJE SQL** -NO es leguaje de programación -los SBD necesitan lenguaje de consultas cómodo. Este es el de más influencia **COMPONENTES** -lenguaje de def de datos: órdenes -lenguaje interactivo de manipulación de datos: insertar, modificar... tuplas -def de vistas: órdenes -control de transacciones: definir inicio y fin **ESTRUCTURA BÁSICA DE SQL** -consiste en tres cláusulas: -select: para listar atributos deseados del resultado de una consulta -from: relaciones que deben ser analizadas -where: engloba los abributos de las relaciones de la cláusula from