Volver Inicio

Linux Notas - Notas

7 - Introducción a Bases de Datos

  1. Introducción a la Base de Datos 1ª Parte
  2. Introducción a la Base de Datos 2ª Parte

1. Introducción a la Base de Datos 1ª Parte

        Introducciòn a las Bases de Datoas

            -> Colecciòn de datos relacionados entre sì.
        
        Dato
            Es un Hecho que puede ser representado y almacenado
            Ej. EL número de Teléfono de Tal persona.
        
        Bases de Datos Relacionales
        Tienen:
            Un conjunto de tablas
            Restricciones de Integridad
        
        Tablas:
            Podemos describir esta tabla como: Personajes(Nombre, Edad, Trabajo)
            Lo que almacenamos en la tabla son los valores.
        
        Restricciones de Integridad:
            Son restricciones o reglas en los valores que pueden estar en la base de Datos.
            Ejemplo
            - La edad tiene que se un nùmero.
            - El nombre no puede quedar vacío.
            - No pueden haber filas duplicadas.
        
        Normalizaciòn:
            La informiación se guarda solamente en un lugar.
            Esto quiere decir que no hay redundacia, es decir que no haya repeticiones innecesarias.
        
            Para evitar que la información se repita, se puede separar la informaciòn en 2 tablas: Una que guarde a los personajes y otra que guarde la informacion 
        
        de sus trabajos.
        
        --------------------------------------------------------
        
        Lenguaje Sql
            - Es la herramienta con la que interactuamos con los datos.
            - Permite:
                Definir datos (Expresar la estructura y las restricciones)
                Manipular datos (Ingresar, modificar, eliminar y consultar datos)
        
                ->	-> Consulta
            Operaciones 	
                ->	-> Actualizacion.	-> Inserciòn
                            ->	-> Eliminación
                            ->	-> Modificación
        
        --------------------------------------------------------
            -Sql es un lenguaje declarativo o no procedural.
            Esto quiere decir que indica el resultado que se quiere obtener, pero no como obtenerlo
            - Permite optimizaciones
        --------------------------------------------------------
        
        Estándares de SQL
            Core SQL : Son los requerimientos de las partes 2 y 11. Los gestores que lo respetan cumplen con lo mìnimo del estándard
            El resto es opcional. Esto hace que las cosas que no forman parte del core puedan funcionar en un gestor pero no en otro.
        
        --------------------------------------------------------
        
        Sistema de Gestión de Bases de Datos (SGBD)
            Es un conjunto de programas que permite manejar la base de datos.
            Permite la creación, manipulación y el acceso a la base de datos.
        
        Independencia de Datos
            Es la propiedad de los SGBD que permite que los cambios en la estructura de la BDD no afecten a los programas que la usan.
            Los SGBD proveen una capa de abstracción para evitar eso.
        
        Funciones del SGBD
            Independencia de Datos
            Actualizaciones y consultas
                Permite ejecutarlas de manera eficiente
            Integridad
                Asegura la integridad de los datos usando restricciones que evitan errores
            Seguridad
                Permite determinar quien puede acceder a cada cosa
            Concurrencia 
                Muchos usuarios pueden acceder a la vez
            Recuperación y durabilidad
                Garantiza que una vez que el gestor dice que algo está guardado, esté guardado.
            Transacciones
                operciones que o bien se hacen completas o bien no se hacen.
        
        --------------------------------------------------------
        
        Gestores más populares
            - Mysql		-> Relacional
            - PostgresSQl	-> Relacional
            - Sqllite	-> Relacional
            - MongoDB	-> No relacional
        
        --------------------------------------------------------
        
        Arquitectura Cliente - Servidor
            
            Cliente -> Lan -> Server -> Data
                <-     <-
        
        --------------------------------------------------------
        
        Ejemplo de una Base de Datos
            -StackOverflor
            https://data.stackexchange.com/stackoverflow/query/new
        
        --------------------------------------------------------
        
        ¿Que es un CSV?
            Es un archivo que contiene en cada línea la información de una fila
            Las columnas están separadas por comas
            Sirve para cargar los datos en la base de Datos.
        
        --------------------------------------------------------
        CRUD    -> Create, read, update o Delete
        ABM 	-> Altas, Bajas, MOdificaciones
        
        --------------------------------------------------------
    
Arriba

2. Introducción a la Base de Datos 2ª Parte

        Conectamos a la base de Datos desde el idle de la Base de Datos.
        Usamos la tablass de la base de datos de las películas.. movies_sqlite
        
        Usamos la tabla directors y la tabla de movies
        
        --------------------------------------------------------
        
        Para hacer consultas usamos scripts de SQL
                   ->columnas	      ->tabla
            -> SELECT   title      FROM movies;
        
        --------------------------------------------------------
        
        *Consultamos dos columnas. 
        
            -> SELECT title, popularity FROM movies;
        
        --------------------------------------------------------
        
        Seleccionamos todas las columnas de la tabla movies
        
            -> SELECT * FROM movies;
        
            -> SELECT * FROM directors;
        
            -> SELECT gender FROM directors;
        
            -> SELECT DISTINCT gender FROM directors;
        
        --------------------------------------------------------
        Para sumar
            -> SELECT SUM(revenues) FROM movies;
        
        Contar las filas
            -> SELECT COUNT(gender) FROM directors;
        
            -> SELECT COUNT(DISTINCT gender) FROM directors;		-> Cuenta los distintos
        
        --------------------------------------------------------
        
        kaggle -> Una página web para consultar bases de datos.
                .lite		o bien, 	.csv
        
        --------------------------------------------------------
        Obtener el dato mayor
        
            -> SELECT MAX(revenue) FROM movies;		-> Mayor
        
            -> SELECT MIN(revenue) FROM movies;		-> Menor
        
            -> SELECT AVG(revenue) FROM movies;		-> Promedio
        
        --------------------------------------------------------
        Where, donde  
        
            -> SELECT * FROM movies WHERE popularity > 112; 
        
            -> SELECT * FROM movies WHERE popularity < 112; 
        
            -> SELECT * FROM movies WHERE popularity <= 112; 
        
            -> SELECT * FROM movies WHERE popularity >= 112; 
            
            -> SELECT * FROM movies WHERE popularity = 112; 
        
        -- PARA COMENTAR
        
        --------------------------------------------------------
        
            -> SELECT * FROM movies WHERE title = "Avatar"; 		-> Solo exclusivamente.
        
            -> SELECT * FROM movies WHERE popularity = 112; 
        
        --------------------------------------------------------
        
        Para usar el distinto
        
            -> SELECT * FROM directors WHERE gender <> 2;		-> Traerìa el 0 o 1, lo distinto de 2
        
        --------------------------------------------------------
        
        Para poder ver las filas que se generaban al consultar varias tablas usamos:
        
            -> SELECT * FROM mini_movies, mini_directors;
        
        Recuerden no hacer esto con las tablas enteras porque va a tardar mucho en procesar la consulta.
        
        --------------------------------------------------------
        
        Para quedarnos solamente con las filas importantes:
            -> SELECT * FROM movies, directors WHERE movies.director_id = directors.id;
        
        --------------------------------------------------------        
    


Arriba

3.

        
    


Arriba




Volver Inicio