lunes, 22 de mayo de 2017

SQL. Estándar Oficial

Introducción



Microsoft SQL Server es un sistema de manejo de base de datos del modelo relacional, desarrollado por la empresa Microsoft.

El lenguaje de desarrollo utlizado es Transact-SQL, es una nueva implementación del estándar ANSI de SQL utilizado para lograr manipular datos, crear tablas y establecer relaciones con ellas.

SQL Server esta disponible solo para Windows.


Estándar de Facto
ANSI Confirmada por ISO
SQL-86
SQL-92
SQL-99
SQL-2000X

Funciones de SQL


DDL (Data Definition Language)
  • Creación de estructuras de la base de datos
  • Integridad de los datos
     CREATE : Crear tabla/usuario/restricción/trigger/procedimiento
     ALTER:     Modificar el objeto
     DROP:      Borra completamente el objeto


DML (Data Manipulation Language)
  • Recuperación de datos
  • Manipulacion de datos
     INSERT:    Insertar
     UPDATE:  Modificar
     DELETE:  Eliminar
     SELECT:  Seleccionar

DCL (Data Control Language)
  • Control Acceso
  • Compartición de Datos
     GRANT:     Otorgar permisos
     REVOKE:  Quitar permisos

Ventajas SQL

  • Independencia de los fabricantes
  • Potabilidad a cualquier tipo de plataforma
  • SQL está estandarizado
  • Basado en el modelo relacional
  • Lenguaje de alto nivel
  • Consultas interactivas ad-hoc
  • Utilización de Lenguajes de programación
  • Múltiples vistas de los datos
  • Lenguaje de base de datos
  • Definición dinámica de datos
  • Arquitectura cliente/servidor

Tipos de Datos


  • CHARACTER(n)
  • CHARACTER VARYING(n)
  • BIT VARYING (n)
  • INTEGER
  • SMALLINT
  • SUMERIC(p,q)
  • DECIMAL(p,q)
  • FLOAT(p)
  • DATE YYYY-MM-DD

Operadores

  • Comparación:            =,<>, <, >, <=, >=, is null
  • Logicos:                    and, or, not
  • Intervalos:                 Between... And
  • Cadena de texto:       Like
  • Conjuntos:                In

Creación de Objetos: Tablas

Pasos para la creación de tablas:

  1. Se crea con el comando CREATE TABLE
  2. Se especifican los atributos, relaciones y tipos.
  3. Identificacion de clave primaria
  4. Se especifican las restricciones de integridad
  5. Se crea el esquema para la tabla

Además se pueden poner restricciones de columa:

  • UNIQUE
  • NOT NULL
  • DEFAULT
  • CHECK
  • PRIMARY KEY
  • REFERENCES

Como también restricciones de la tabla

  • UNIQUE
  • PRIMARY KEY
  • FOREING KEY
  • CHECK

Y acciones referenciales:

  • ON UPDATE
  • ON DELETE
  • RESTRICT 

Para borrar tablas se utiliza
  • DROP TABLE nombre_tabla (CASCADE CONSTRAINT)
    elimina la tabla y sus restricciones

Modificar una tabla
  • ALTER TABLE película ADD fecha_estreno DATE

Para insertar datos
  • INSERT INTO nombre_tabla (lista_atributos) VALUES (lista_valores);

Modificación de datos
  • UPDATE nombre_tabla
    SET nombre_atributo = nuevo_valor
    WHERE condición;

Borrado de datos
  • DELETE nombre_tabla
    WHERE condición;

Consulta de datos
  • SELECT lista_atributos
    FROM lista_tablas
    WHERE condicion
    GROUP BY lista_atributos
    HAVIND condición
    ORDER BY lista_atributos [ASC/DEsc];


Runión JOIN
  • SELECT COUNT(*)
    FROM pelicula P, protagoniza S, Actor A
    WHERE P.titulo = S.titulo_pelicula AND
                   P.anio = S.anio_pelicula AND
                   A..nombre = S.nombre_actor AND
                   A.nombre = "Mickey Mouse";


miércoles, 10 de mayo de 2017

Normalización de Bases de Datos Relacionales

Es una serie de reglas que se aplican sobre las bases de datos que hemos modelado.

Se trata de verificar que las tablas hayan sido bien modeladas a partir del modelo E-R y este normalizada.

Aplicaremos Principalmente la Primera, Segunda y Tercera Forma Normal.






¿Que es la normalización?


Es un conjunto de reglas que sirven para ayudar a los diseñadores a desarrollar un esquema que minimice los problemas de lógica.

Cada regla esta basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner  todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataba de manipular los datos.

Primera Forma Normal

  • Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimo.
  • La table contiene una clave primaria
  • La clave primaria no contiene atributos nulos.
  • No posee ciclos repetitivos
  • No debe de existir variación en el número de columnas




Segunda Forma Normal

  • Una tabla 1NF está en 2NF si y solo si, dada cualquier clave candidata y cualquier atributo que no sea parte de la clave candidata, dicho atributo depende de toda la clave andidata en vez de solo una parte de ella.
  • Observe que cuando una tabla 1NF no tiene ninguna clave candidata compuesta (claves candidatas consistiendo en más de un atributo), la tabla está automáticamente en 2NF 


Tercera Forma Normal

  • Una tabla está en Tercera Forma Normal o 3NF si está en 2NF y no existen atributos que no pertenezcan a la clave primaria que puedan ser conocidos mediante otro atributo que no forma parte de la clave primaria.

Pasos para este proceso

  1. Identificar las claves candidatas
  2. Identificar las columnas que solo dependen de las claves candidatas
  3. Identificar las columnas que puedan identificarse con claves no candidatas





miércoles, 3 de mayo de 2017

Algebra Relacional

Se denomina álgebra relacional a un conjunto de operaciones encargadas de la manipulación de datos agrupados (relaciones)

Estas operaciones describen la manipulan de datos. Son en si una representación intermedia de una consulta a una base de datos

Al aplicarse una operación a una tabla, el resultado es una  nueva tabla.

OPERADORES


Operaciones Unitarias

  • Seleccionar 
Se representa con la letra SIGMA y a continuación la condición.



  • Proyectar
Se representa con la letra PI y a continuación los atributos que se requiere

  • Eliminar Duplicados
Se representa con la letra DELTA y a continuación 



OPCIONES BINARIAS

Operación binaria en la cual obtenemos una tabla con los atributos de las dos tablas iniciales.


OPERACIONES CON CONJUNTOS

Se trabaja sobre dos o mas relaciones compatibles.

Unión


Interseccioón



Diferencia



JOIN


Ese equivalente a seleccionar las combinaciones completas del producto cartesiano.


Left Join VS Right Join

  • Join elimina algunos datos, los que no están en las dos tablas
  • Left Join reemplaza los eliminados por valores nulos en la tabla de la izquierda
  • Right Join reemplaza los eliminados por valores nulos en la tabla de la derecha






Evaluación Final: Investigación sobre DBMS Oracle y MySQL

Servicios: Servicios disponibles por el DBMS, para la ejecución de sus funcionalidades Descripción general de cada servicio, que indi...