domingo, 4 de junio de 2017



Creación de objetos tablas:


  • Se utiliza el comando CREATE TABLE.
  • Se especifican atributos con sus relaciones y tipos.
  • Se especifica clave primaria.
  • Se especifica restricciones de integridad (fecha inicio con fecha fin).
  • Se especifica la integridad referencial.


Figura 54. Ejemplo de creación de tabla.




Restricciones de la columna:


  • UNIQUE : valores únicos que no se pueden repetir
  • NOT NULL : no valores nulos o vacíos.
  • DEFAULT <valor> : valor que se ponga por defecto
  • CHECK (condición) :
  • PRIMARY KEY : Clave primaria, valor único.
  • REFERENCES nombre_tabla (nombre_atributo) accion_referencial



Ejemplo:

Cantidad Integer Not null Check( Cantidad>0 and Cantidad <500)

Figura 55. Ejemplo de columnas.


Restricciones de tabla:


  • UNIQUE (nombre_atributo,....)
  • PRIMARY KEY (nombre_atributo, …..)
  • FOREIGN KEY (nombre_atributo, …..) REFERENCES nombre_tabla(nombre_atributo) accion_referencial
  • CHECK (condición)


Acciones referenciales


  • ON UPDATE acción
  • ON DELETE acción
  • RESTRICT


Borrado de tablas

Elimina tablas. Si se utiliza CASCADE CONSTRAINT se elimina la tabla con todas sus restricciones.

Figura 56. Ejemplo de borrado de tablas.


Modificar una tabla


  • Acciones de modificación:
    Añadir atributos ADD nuevo_atributo tipo restricciones.
    Las restricciones pueden ser solo NOT NULL, CHECK y DEFAULT.
  • Borrar atributos:
    DROP (nombre_atributo, …..)
    DROP COLUMN nombre atributo [CASCADE CONSTRAINT].
  • Modificar atributos:
    MODIFY nombre_atributo nuevo_tipo restricciones


Inserción de datos


  • Introduce información en la tabla y atributos indicados.
  • El orden y el tipo de los atributos debe coincidir con el orden y tipo de valores.
  • Si el valor no se indica se puede tomar un valor de NULL.
    Ejemplo: INSERT INTO TABLA (columna1, columna2, …...)


Figura 57. Ejemplo de creación de inserción de datos.



Modificación de datos


  • Actualiza en la tabla indicada los valores del atributo siempre y cuando se cumpla la condición especificada.
  • Los valores se pueden obtener mediante una subconsulta o mediante fórmulas matemáticas.
  • Siempre debe existir condición para no actualizar todas las filas de la tabla con un mismo valor.


Figura 58. Ejemplo de creación de modificación.


Borrado de datos


  • Borra de la tabla las tuplas que cumplen cierta condición.
  • Si no hay condición se pueden borrar todos los datos de la columna.


Figura 59. Ejemplo de creación de modificación de datos.


Consulta de datos


  • Consulta valores de una o varias tablas de acuerdo a las condiciones impuestas en la sentencia.
  • Las partes obligatorias son SELECT y FROM.
  • HAVING solo aparece si hay GROUP BY


Ejemplo:
SELECT lista_atributos
FROM lista_tablas
WHERE condicion
GROUP BY lista_atributos
HAVING condición
ORDER BY lista_atributos [ASC/DESC]



SELECT: Indica los atributos que se quieren obtener
FROM: Selecciona las tablas de las cuales quiero obtener datos.
WHERE: Condicion de la consulta.
GROUP BY: Trabaja solo cuando se usan operaciones (SELECT nombre, avg(cantidad) FROM tabla GROUP BY nombre
HAVING: Condiciones de operaciones y solo se usa cuando existe un GROUP BY
ORDER BY: Ordena datos de manera ascendente y descendente.


Alias en tablas

Cuando un dato se usa en más relaciones.

Ejemplo: Tabla ALIASTabla
                 Cliente C


Subconsultas

Se admiten varios niveles de anidación.
Para evitar problemas es recomendable cualificar atributos y utilizar alias para las relaciones.


Operaciones

AVG = Promedio
SUM = Sumatoria
MAX = Valor máximo.
MIN = Valor minimo



Funciones de SQL


  • DDL (data definition languaje)

Creación de estructuras de la base de datos. Integridad de los datos.
Se usan comandos como create, alter, drop = Database, table, user, function, constraint, trigger, procedure, etc.
Create para crear.
Alter para modificar.
Drop para borrar objeto.


  • DML (data manipulation languaje)

Recuperación y manipulación de datos.
Se usan los comandos insert, update, delete y select.
Insert inserta datos a la tabla. Update actualiza datos del usuario. Delete borra un registro (tupla). Select para seleccionar una columna.


  • DCL (data control languaje)

Control de acceso y compartición de datos.
Se usan los comandos Grant y revoke.
Grant otorga permisos. Revoke quita permisos.


Roles de SQL


  1. Invocación directa o interactiva
  2. Invocación no directa.


Ventajas de SQL


  • Independencia de fabricantes.
  • Portabilidad a cualquier plataforma.
  • SQL estandarizado.
  • Basado en modelo relacional.
  • Lenguaje de alto nivel.
  • Consultas interactivas.
  • Utilización de lenguajes de programación.
  • Múltiples vistas de datos.
  • Definición dinámica de los datos.
  • Arquitectura cliente/servidor.


Tipos de datos:


  • Char.
  • BIT.
  • Integer.
  • Numeric.
  • Decimal (p,q).
  • Varchar.
  • Float..
  • Date: YYYY-MM-DD
  • Time HH:MM:SS

Creación de dominios:

Los dominios se utilizan como tipos de datos. Permite cambiar simultáneamente a varios atributos.

Ejemplo:
Create domain [AS] tipodato [DEFAULT valor_defecto] [CHECK condición]

Operadores:


  • Comparación: (=, <>, <,>, <=, >=, is null)
  • Lógicos: AND, OR, NOT
  • Intervalos: Between…...AND.
  • Cadenas de texto: LIKE
  • Conjuntos: IN