cesareox » Docencia » SXBD » El lenguaje SQL


Crear Modelos de Datos

Más Cursos BD »

  1. Búsquedas en Internet
  2. Introducción a las Bases de Datos
  3. Modelo Relacional y el Modelo E/R
  4. Crear Modelos de Datos
  5. Utilizar el Modelo de Datos
  6. SGBDR PostgreSQL
  7. Mini-Proyecto

El lenguaje SQL se utiliza para la descripción del modelo de datos, y para la modelización de consultas y acciones sobre la base de datos. En esta unidad didáctica el objetivo es obtener un modelo de datos robusto y bien definido, para ello se utiliza el lenguaje DDL (Data Description Language).

Objetivos

  • Saber cómo conectarse a una base de datos Postgres
  • Descripción del modelo de Datos (DDL)

Clases

  1. Introducción a SQL:
    1. Lenguaje SQL
      1. Pequeña Historia (Investigación: 70s (SEQUEL/2), Producción: 80s (SQL))
      2. Standards: ANSI X3.135 (1986), ISO (1987), SQL1 (1989), SQL2 (1992), SQL3 (1999) pero NINGUN SGBDR los cumple totalmente (el más cercano es Postgres)
      3. Características: declarativo (importa el qué no el como), ejemplo ("select nombre from alumnos where id=120")
      4. Palabras Reservadas (tokens: palabras reservadas e Identificadores)
      5. Tipos de Instrucciones (Lenguajes):
        1. DDL (Data Definition Language): Creación de Datos
        2. DML (Data Manipulation Language): Consulta y Manipulación de Datos
        3. DCL (Data Control Language): Control del Sistema
    2. Estructura de una sentencia SQL (SQL Statements): comando, expresiones, cláusula, operador y funciones de agregado
      1. Comando: describe la acción a realizar (por ejemplo SELECT)
      2. Palabras reservadas: comandos y símbolos especiales: (*, ', ")
      3. Constantes: cadena ('cadena de texto'), numeros (15 o 14.34 o 14e+8), fechas ('2004-01-02'), boolean ( true/false, t/f) etc
      4. Expresiones: identificadores y operadores ( por ejemplo 15.4*2 ó 15.4 > 4 )
      5. Operadores: relaciona un identificador con un valor (aritméticos y lógicos)
      6. Cláusula: describe completamente el comando (FROM alumnos)
    3. Comando Básico (por ejemplo SELECT)
      1. Ayuda Interactiva: \help SELECT
      2. Envíar el comando al SGBDR: \g ó más útil ; (punto y coma)
      3. Uso de la palabra reservada AS (nombre de salida)
      4. Sintaxis (no está completa):
        		    SELECT * | expression [ AS output_name ] [, ...] [ FROM from_item [, ...] ]
    4. Ejemplos:
      	      SELECT id, num FROM paquetes; 
      	      UPDATE alumnos SET nombre = 'Manuel';
      	      CREATE TABLE prueba (id integer, nombre varchar(80));
      	      INSERT INTO inventario VALUES ('0385121679', true);
      	    
    5. Conectarse a un SGBDR: utilizando consola (psql) y Modo SQL Emacs
      1. Qué es una base de datos y qué es una tabla
      2. Sintaxis comando: (psql --help) Ejemplo: psql -h HOST -d BASEDATOS -U USUARIO; Listado de BD: psql -l
      3. Pidiendo ayuda: \? (comandos de consola), \h (ayuda sobre SQL), \g (ejecutar consultas, vale ";"), \q (salir de consola)
      4. Algunos Comandos útiles: \l, \d, \dt, \d tabla ...
      5. Trabajo con la consola de Emacs
        1. Configurar Emacs: M-x customize-options (sql-postgres-options, sql-user, sql-postgres-program)
        2. SQL Buffer (M-p, M-n, M-r, M-s)
        3. Modo SQL (C-c C-r, C-c C-b) - Ligado a un buffer interactivo
  2. Comenzando a usar SQL
    1. Uso de la Sintaxis de SQL:
      1. En mayúsculas: palabras reservadas
      2. En minúsculas: expresiones
      3. Entre Corchetes [ ]: opcional
      4. Entre Llaves { }: obligatorio
      5. Tres puntos: repetir anterior
      6. Con Operador | : Opciones Excluyentes
    2. Creación de Datos (DDL)
      1. Creando Tablas
        1. CREATE TABLE (tabla, atributos, dominios)
        2. Tipos de Datos
          1. SQL: lenguaje fuertemente tipado (control de tipos de datos)
          2. Tipos básicos (estándares): boolean, caracteres (char, varchar), numeros ( integer, real, numeric(p,s) ) y Tiempo (date, time, timestamp)
          3. Tipo de Datos Serial: identificadores únicos
          4. Ejemplos de Constantes: String, Integer y Boolean
          5. Forzar el tipo: operador ::. Ejemplo: select 15::real;
          6. En realidad hay muchos tipos de datos (Data Types) URLs, geometría, etc: Ver con \dT en consola
        3. DROP TABLE (borrar tablas)
        4. Entender la sintaxis (\help comando SQL)
      2. Restricciones (Constraints)
        1. Sobre los campos (column constraint): NOT NULL, DEFAULT, UNIQUE, PRIMARY KEY, check. Por ejemplo:
          create table prueba (ejemplo_campo integer default 9, otro_ejemplo varchar(80) not null)
        2. Con otras tablas (table_constraint): FOREIGN KEY, REFERENCES. Por ejemplo:
          create table prueba (ejemplo_clave_ajena integer references usuarios (dni) )
        3. Añadir restricciones (table_constraint) a la tabla ya creada
    3. Manipulación Básica de Datos (DML)
      1. ¿Qué es?
      2. Consultas (SELECT). Ojo a: AS output_name, FROM from_item, WHERE condition). Ejemplo: SELECT id AS Codigo, nombre AS "Nombre Completo" FROM alumnos WHERE id > 5;
      3. Insertar Datos (INSERT INTO). Ojo a la colocación de paréntesis. Ejemplo: INSERT INTO alumnos (id,nombre,apellido) VALUES (87,'Pepe','Perez');
      4. Operadores Comparación: aritméticos (>, <, =, OR, AND ...), caracteres (LIKE, expresiones regulares ~)
  3. Ejercicio: Realizar un modelo de datos
  4. Mayor profundidad sobre los comandos
    1. Sintaxis CREATE TABLE
      1. Explicación Column Constraint
      2. Explicación Table Constraint
      3. Control de datos de entrada: check (expresion)
    2. Sintaxis ALTER TABLE
    3. Sintaxis CREATE SEQUENCE
  5. Repaso y crear nuevo modelo de datos (II)

Actividades

  1. Introducción a SQL
    1. Conexión a una Base de Datos Postgres
      • Saber Manejar la consola en línea de comandos (psql)
      • Saber Manejar la conexión con Emacs (comando sql-postgres)
    2. Manejo básico de SQL
      1. Uso y Manejo de la consola para ejecutar comandos
      2. Uso de la sentencia SELECT para jugar con los tipos de datos, números y cadenas de texto
      3. Entender la estructura de los comandos
  2. Uso de SQL
    • Entender la sintaxis de la ayuda de SQL, utilizando el comando \h seguido del comando SQL
    • Conocer las sentencias de creación de un modelo de datos y su sintaxis
    • Crear y Borrar Tablas con soltura.
    • Insertar datos en las tablas
    • Ejecutar Consultas Básicas (SELECT) (Ver el contenido de la tabla, ver datos, AS, FROM, WHERE )
  3. Crear un modelo de datos SQL sobre un ejercicio (mini-banco) (utilizar E/R, esquema conceptual o cualquier técnica) (Dos Clases)
    1. Crear Tablas, diferentes tipos de datos y diferentes restricciones a nivel de tabla y a nivel de columna
    2. Cambiar el nombre a la tabla, quitar/añadir campos, etc
  4. Crear un modelo de datos SQL sobre un ejercicio (Lineas de Metro) (utilizar E/R, esquema conceptual o cualquier técnica) (Dos Clases)
  5. Entender un modelo de datos escrito por otro programador. Si tienes mucho interés puedes ver el código original

Tiempo Estimado

4 semanas

Recursos a Utilizar

Enviar un comentario a Cesareo