domingo, 29 de enero de 2012

Tablas – Restricciones de Validación

En mas de alguna ocasión vamos a necesitar utilizar validaciones en algunos campos de nuestras tablas, cuando me refiero a restricciones de validación me refiero por ejemplo a lo siguiente, si tengo un campo edad sería buena idea colocarle una validación para que solo acepte números entre 0 y 100, u otro ejemplo si tengo un campo para el género puedo colocar una validación para que solo acepte “M” o “F”, y por ejemplo imagesi tengo un campo donde se almacenarán los meses del año en formato numérico, puedo colocarle una validación para que solo me acepte números entre el 1 y el 12. Para esto utilizamos el comando CHECK, como pueden ver en el ejemplo estoy utilizando el comando check para que en el campo Precio solo ingresen precios entre Q 0.00 y Q999.99, fuera de ese rango no ingresara el valor.

Tablas–Integridad Referencial

Retomando el tema de las Tablas y las restricciones es bueno recordar de que la Integridad Referencial es algo importante en las Bases de Datos pero a veces provoca algunos problemas como por ejemplo, cuando intentamos eliminar un registro de una tabla principal que esta relacionado con uno varios registros de una tabla secundaria, esto es correcto que suceda para no perder la integridad en la información, pero cuando necesitemos hacer esto podemos utilizar los siguientes métodos para solucionar nuestros inconvenientes, para esto Oracle nos da dos soluciones que podemos agregar después de la cláusula REFERENCES

 

ON DELETE SET NULL Coloca nulos en todas las claves secundarias de los registros que tengan relación con la clave primaria que va a ser eliminada.

ON DELETE CASCADE Borra todos los registros con claves secundarias que estén relacionadas con la clave principal que va a ser eliminada.

 

Ahora bien cuando tengamos la necesidad de actualizar una llave primaria, que tenga una o varias llaves foráneas relacionadas, podemos hacerlo de dos formas.

  1. Crear un Trigger, para que cuando se actualice la llave primaria, se actualicen automáticamente las llaves foráneas relacionadas.
  2. Ingresar un nuevo registro con la nueva llave primaria, luego por medio de un UPDATE, actualizar todos los registros con llave foránea cuyo valor coincida con la llave primaria antigua, luego eliminar el registro con la llave primaria antigua.

jueves, 26 de enero de 2012

Tablas–Llaves Primaria y Foráneas

CLAVES PRIMARIAS

Una clave primaria se utiliza como identificador único, esto quiere decir imageque automáticamente una llave primaria queda como NOT NULL o sea que no va a recibir valores nulo y también UNIQUE porque no va a permitir valores repetidos, para definir una llave primaria hacemos uso del comando PRIMARY KEY. como podemos ver en el ejemplo creamos una tabla llamada libro con dos campos el primer campo que es codigo será nuestra llave primaria y utilizamos el comando mencionado anteriormente. imageEsto también lo podemos realizas haciendo uso de constraint para que nosotros seamos quien le coloquemos el nombre a nuestra llave primaria, en este caso el nombre que le colocamos fue  codigo_pk utilizamos el nombre del campo y al final agregamos la abreviatura pk para hacer referencia a que se trata del nombre de una clave primaria. En algún momento tendremos que hacer esto pero usando como llave primaria varios campos lo haremos de la siguiente manera. imageComo podemos ver en este caso utilizamos los dos campos como llaves primaria, primero que nada utilizamos el comando constraint, luego escribimos el nombre de la llave primaria en este caso se llama libro_pk, luego el tipo de restricción en este caso  primary key y por ultimo dentro de paréntesis escribimos los nombres de las columnas que formaran parte de la llave primaria en este caso están los nombres de las dos columnas.

LLAVE SECUNDARIA O FORÁNEA

Se compone de uno o más campos que estén relacionado con la clave principal de otra tabla , coloco como ejemplo la siguiente imágen.

Recordemos que una FK (Clave Foránea) es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas. Por ejemplo, el #Cliente puede ser una clave foránea en la tabla de VENTAS. Se permite que haya varios ventas para un mismo cliente, pero habrá uno y sólo un #Cliente por cliente que ingrese a la tabla CLIENTES.

Al momento de crear la tabla tienda lo hacemos de la siguiente manera

image

como pueden ver en este caso nos a saltado un error, el cimageual aprovecho para mencionar porque se ha dado y esto fue porque si se dan cuenta en el constraint que esta haciendo referencia a una tabla llamada dueños, esta tabla no existe y por esto nos ha dado el error, procedemos entonces a crear la tabla dueños esto para fines de ejemplo, una vez creada esta tabla procedemos nuevamente a ejecutar nuestros script anterior. ahora vemos como al momento de ejecutarlo todo funciona perfectamente y tenemos ya asignada una llave foránea llamada tienda_fk le colocamos fk al final para distinguir que se trata del nombre de una llave foránea y como se puede observar está haciendo referencia a la tabla dueño en su campo codigo.

 image

INTEGRIDAD REFERENCIAL

Cuando se toca el tema de las llaves primarias y secundarias no podemos dejar a un lado el recordatorio del tema de la integridad referencial, esta es una propiedad que tienen las BD, gracias a ella se garantiza que una fila o registro de una tabla tienes relación con una uno o mas registros de otras tablas, esto asegura que no existan datos repetidos o datos perdidos. Por ejemplo esto sirve cuando tengo una tabla padre llamada Hospital en la cual tengo registrado un código y un nombre del hospital y que esta haga referencia a una tabla empleado que tenga código y nombre del empleado, esto quiere decir que no puedo eliminar la tabla hospital si aun tengo empleados que tengan relación con el código del hospital que quiero borrar, a menos que primero borre todos los empleados con un código en común y luego borrar de la tabla hospital, el hospital con el código de los empleados que ya han sido borrados. Hasta el momento todas la BD relacionales tienen esta propiedad esto porque el SGBD se encarga de supervisar que esto se cumpla.

martes, 24 de enero de 2012

Tablas – Restricciones


RESTRICCIONES
Debemos de tener en cuenta de que una restricciones el algo que tenemos que cumplir obligatoriamente para poder insertar registros en una tabla, a estas restricciones le podemos colocar un nombre. los distintos tipos de restricciones que podemos utilizar son las siguientes:
  1. Llaves primarias
  2. Llaves Foráneas
  3. Valores únicos
  4. No permitir valores nulos (Vacíos)
Al momento de crear, modificar o eliminar una restricción, vamos a utilizar la siguiente sintaxis:
constraint NombreRestriccion TipoRestriccion (Columna(s))
Bueno voy a empezar a explicarles cada una de las restricciones:
PROHIBIR NULOS
Esta restricción lo que hace es no permitir que en un campo(s), queden valoimageres nulos o vacíos, en otras palabras esto obliga a que el registro que queramos insertar en la tabla, no quede ningún campo vacío. Este tipo de restricción lo podemos colocar cuando creamos o modificamos una tabla, el comando es NOT NULL y la sintaxis la tenemos en la imagen de la izquierda. En este caso creamos una tabla llamada fruta con dos campos, Codigo y Nombre, ambos en ningún momento van a permitir que ingresen valores nulos dentro de sus registros.

VALORES UNICOS
Este tipo de restricción lo que verifica es que en ningún momento se repitaimage un valor que ya haya sido ingresado con anterioridad dentro de una columna, de ahí su nombre que solo permite valores únicos y en este caso se utiliza la instrucción UNIQUE, la sintaxis de esto es como la que vemos en la imagen de la derecha, en este caso creamos una tabla llamada persona en el cual tenemos dos campos uno llamado DPI al cual le he asignado una restricción de tipo UNIQUE esto significa que en esta columna ningún valorimagees se tiene que repetir. Esta restricción se puede realizar de otra manera, pueden ver la sintaxis en el siguiente ejemplo y como podrán darse cuenta la restricción no se coloca en después de declarar el tipo de dato sino que se hace usando un constraint seguido del nombre de la restricción, luego el tipo de restricción y por ultimo las columnas a las cuales se les va aplicar la restricción declarada.

jueves, 19 de enero de 2012

Tablas - Valores por defecto

VALORES POR DEFECTO
A cada columna de la tabla se le pueden asignar valores predeterminados o por defecto como quieran llamarlos, esto al momento de la creación del objeto y para esto utilizamos el comando DEFAULT luego de esto el tipo de datos del campo y adicional a ello el valor que se desea por defecto. Por ejemplo:

En este caso se creo una tabla llamada producto en la cual el campo precio se estará llenando con el valor por defecto 3.5.

miércoles, 18 de enero de 2012

Tablas - Modificación de Tablas

CAMBIARLE DE NOMBRE
Continuando con nuestro tema de las tablas, para poder cambiarle el nombre a una tabla utilizaremos el comando RENAME,  tomen en cuenta que este comando permite cambiar el nombre de cualquier objeto de la BD. La sintaxis es la siguiente:

rename NombreViejo to NombreNuevo

Por ejemplo creamos la tabla alumno



Luego la re-nombramos y ahora se llamara estudiante


BORRAR EL CONTENIDO DE LAS TABLAS
Para esto vamos a utilizar el comando TRUNCATE TABLE luego escribimos el nombre de la tabla, esto hace que se elimine únicamente todo el contenido de la tabla, pero la tabla seguirá existiendo pero quedará vacía, tomar en cuenta que para esto no ponemos arrepentirnos y decir "Voy a revertir lo que hice usando ROLLBACK" porque no se puede anular. Como ejemplo veamos la siguiente instrucción, 
truncate table alumno; como pueden ver esta nos devuelve un error, porque si ustedes recuerdan la tabla alumno ya no existe porque le cambiamos el nombre y ahora se llama estudiante.


Como pueden ver ahora si utilizamos el comando truncate table estudiante; ahora si todo funciona correctamente, porque esta tabla si existe y con esto hemos eliminado todo el contenido la tabla en mención



MODIFICANDO TABLAS

Para esto podemos utilizar el comando ALTER TABLE ya que este comando permite hacer cambios en la estructura de las tablas, voy a tomar como ejemplo la tabla ya creada en este caso les recuerdo que ahora la tabla se llama estudiante.


AÑADIENDO COLUMNAS
Para esto vamos a utilizar el comando ADD la sintaxis para hacer esto es la siguiente:

alter table NombreTabla add 
     (
     NombreColumna      TipoDato,
     NombreColumaSig   TipoDato,
     ...
     );
En este ejemplo preciso he agregado dos columnas mas a mi tabla llamada estudiante.

BORRAR COLUMNAS
Para esto vamos a utilizar el comando DROP,  tomando en cuenta de que esto elimina la columna que se indique de manera irreversible y obviamente incluyendo los datos que la columna contenía. La sintaxis para hacer esto es la siguiente:

alter table NombreTabla drop
     (
     NombreColumna
     );
Adicional a esto, cuando una tabla ya solo tiene una solo columna y la queremos eliminar, no lo vamos a poder hacer de esta forma, para este caso especial vamos a utilizar la instrucción DROP TABLE. En este ejemplo preciso he borrado la columna edad de la tabla estudiante.




MODIFICAR COLUMNAS
Para esto vamos a utilizar el comando MODIFY,  esto permite cambiar el tipo de datos y las propiedades de una determinada columna. La sintaxis para hacer esto es la siguiente:

alter table NombreTabla modify
     (
     NombreColumna   NuevoTipo(Propiedades),
              NombreColumna   NuevoTipo(Propiedades)
     );
Los cambios que se permiten realizar, son:

  • El poder modificar el tamaño de un campo
  • Solo se puede modificar el tamaño de un campo, cuando toda la columna no tenga ningún registro.
  • Se puede pasar de char a varchar2 pero si no se modifica el tamaño del campo

Bueno primero vamos a ver como esta nuestra tabla actualmente y observen bien los tipos de datos de los campos nombre y apellido.



Ahora utilizando el comando modify para modificar la estructura de nuestra tabla.


He modificado el tipo de dato al campo nombre y le he cambiado el tamaño al campo apellido. revisemos de nuevo la tabla estudiante con el comando describe.  Y como pueden darse cuenta la estructura de la tabla ha cambiado.

COMENTARIOS A LA TABLAS
Se le puede añadir comentarios a las tablas, esto con la finalidad de documentar el contenido de cada una de las tablas con un texto descriptivo sobre la misma, 

comment on table
NombreTabla ó NombreTabla.NombreColuma
     is 'Comentario Respectivo'
;

Para poder mostrar los comentarios que tienen las tablas, podemos usar las siguientes instrucciones:

  • Si queremos ver los comentarios de las tablas del usuario actual USER_TAB_COMMENTS
  • Si queremos ver los comentarios de las columnas del usuario actual USER_COL_COMMENTS
  • Si queremos ver los comentarios de las tablas de todos los usuarios ALL_TAB_COMMENTS para esto solo tienen acceso los Administradores.
  • Si queremos ver los comentarios de las tablas de todos los usuarios ALL_COL_COMMENTS para esto solo tienen acceso los Administradores.

martes, 17 de enero de 2012

Tipos de Datos

Bueno continuando con nuestro tema hoy les explicaré sobre los tipos de datos que podemos utilizar en Oracle al momento de crear nuestros objetos, 

TIPO TEXTO
  • VARCHAR2(n) para textos con una longitud variable con un máximo de 4000 caracteres.
  • CHAR(n) para textos de longitud fija con un máximo de 2000 caracteres.
Dentro de los paréntesis se debe de indicar el tamaño que va a tener el tipo de dato, en el caso de VARCHAR2 es obligatorio, en el caso del tipo CHAR este es opcional y en caso de no escribirlo toma como valor 1. por ejemplo:

  • Nombre      varchar2(25)
  • Sexo           char

En este caso estoy declarando un campo llamado NOMBRE de tipo texto que me va a permitir escribir como máximo 25 caracteres. y un campo llamado SEXO que me permite ingresar un caracter.

En el caso de crear los campos y los tipos de datos es recomendable dejar suficiente espacio para los valores, esto sin exagerar, específicamente el tipo de dato varchar2 es muy flexible porque este no malgasta el espacio en la BD, ya que si el texto es mas pequeño que el tamaño indicado el resto del espacio se ocupa.

Explicado este con un ejemplo sencillo es lo siguiente, cuando tenemos 5 buses con espacio para 25 pasajeros en cada uno.

Entonces si los buses fueran de tipo char y a cada bus solo abordaran 5 pasajeros, cada bus partiría hacia su destino con 20 asientos vacíos, que desperdicio de espacio verdad. 

En cambio si los buses fueran de tipo varchar, ingresan los primeros 5 pasajeros, y queda 20 asientos libres Oracle al ver el espacio disponible no utiliza mas buses sino optimiza el espacio disponible que queda en el primer bus y de esta manera un solo bus partiría con los 25 pasajeros hacia su destino. 

TIPO NUMERO
Se utiliza, el tipo NUMBER ya que este es un tipo versátil, porque permite representar a todo tipo de números y toma encuenta todos los numeros que esten dentro de este rango:

 10^-130   y 999999999999 * 10^128

Los números decimales, se declaran con el comando NUMBER(p,s) la "P" indica la cantidad de dígitos en total que puede tener y la "S" la cantidad de decimales que va a tener el número, por ejemplo: number(4,2) este indica que acepta un numero que tenga un máximo de 4 dígitos y que el máximo de dígitos en los decimales es de 2, se podría decir que acepta un número como este: 98.43  tiene un total de 4 dígitos como máximo y después del punto solo hay dos decimales.

Como información adicional Oracle toma en cuenta el punto como el separador de los decimales. y para números enteros utilizaremos NUMBER(P) donde "P" es la cantidad de dígitos máximo que acepta y no se indica la cantidad de decimales. 

A continuación les pongo unos ejemplos de como se almacena el número que escribamos según el tipo de comando que utilicemos, veamos.

Formato
No. Escrito por el usuario
Se almacena como
number
345255.345
345255.345
number(9)
345255.345
345255
number(9,2)
345255.345
345255.35
number(7)
345255.345
Da error
number(7,-2)
345255.345
345300
number(7,2)
345255.345
Da error

Bueno, por el momento dejaré el tema acá, luego seguiré explicando los demás tipos de datos.


FECHAS Y HORAS


Para esto podemos utilizar el comando DATE,  ya que este es el que permite almacenar las fechas incluidas las  horas según el formato que utilicemos, por ejemplo si queremos almacenar la fecha 31/12/2011 utilizaríamos el siguiente formato DD/MM/YYYY estos separados con una diagonal o con guiones.Otro ejemplo si queremos guardar la hora 07:35:45 utlizamos el formato HH:MI:SS separados por los dos puntos.

Si en su momento queremos almacenar la fecha actual, utilizaremos el comando SYSDATE ya sea al realizar una consulta o al hacer inserciones en la BD.

lunes, 16 de enero de 2012

Tablas - Describe, Insert, Select, Drop

Continuando con nuestro tema de Base de Datos de Oracle, lo ultimo que comenté acá en mi blog era la forma de crear una tabla. ahora veremos otras cosas que podemos hacer con las tablas.

DESCRIBE
Este comando permite obtener la estructura de una tabla, por ejemplo: 

Primero creamos una tabla:

Luego al utilizar el comando describe podemos ver la estructura de esta tabla:

INSERT
Este comando permite añadir datos a las tablas, la sintaxis básica del comando INSERT es la siguiente:

insert into tabla
     (columa1, columna2, columna3, ...)
     values
     (valor1, valor2, valor3, ...)
     ;
Luego de haber indicado el nombre de la tabla, después del comando values se especifican los valores del nuevo registro, estos valores deben de corresponder al orden de las columnas, por ejemplo:


En este caso podemos ver que el valor para código es  0001 el cual no va dentro de comillas porque es de timo numero y Juan Pérez si aparece dentro de comillas, esto porque Juan Pérez es un String, y por tal motivo debe de ir dentro de comillas.

CONSULTAR TABLAS DEL USUARIO (USER_TABLES)
Dentro del diccionario de datos existe una entrada que nos permite poder consultar las tablas de los usuarios, los dueños de los objetos, este comando es USER_TABLES, de manera que si utilizamos el la siguiente instrucción o query select * from user_tables  vamos a obtener una vista de las tablas del usuario actual, por ejemplo:

Como podemos ver hay diferentes columnas que muestran información sobre las tablas del usuario, en este caso la columna TABLE_NAME muestra el nombre de la tabla que creamos hace un momento, y el motivo por el cual en este momento solo aparece una es porque para este usuario solo he creado un objeto/tabla.

BORRADO DE TABLAS (DROP)
Para esto se utiliza el comando DROP TABLE seguida del nombre de la tabla que queremos eliminar, al utilizar esta instrucción debemos de tener en cuenta lo siguiente: 
  • Toda la data de la Tabla desaparece
  • Cualquier vista y sinónimo, seguirá existiendo pero por obvias razones estas ya no van a funcionar así que es conveniente eliminarlas, 
  • Esta instrucción solo la pueden correr los propietarios de los objetos, en este caso la tabla, solo el propietario de la misma puede correr este comando sobre el nombre de su tabla. O si de cierta manera se tiene el privilegio de DROP ANY TABLE

Mucho ojo con esto, ya que el borrado de la tabla es irreversible y al momento de ejecutar la instrucción, no hay ninguna ventana que nos pregunte si deseamos confirmar la operación, de tal manera les recomiendo que tengan mucho cuidado al ejecutar esta instrucción.

Vamos con el ejemplo:

Como podemos ver, nuestro objeto tabla ya ha sido borrada.

domingo, 15 de enero de 2012

Tablas - Creación de Tablas

Creación de Tablas
Al momento de querer crear nuestra tabla dentro de nuestro esquema en Oracle, los nombres que le podemos colocar a nuestras tablas deben de cumplir algunas reglas, entre ellas las siguientes:

  • Deben de comenzar siempre por una letra. 
  • Se pueden usar letras del alfabeto inglés, números y el signo de subrayado.
  • El nombre de la tabla no debe de tener mas de 30 caracteres.
  • No pueden existir dos tablas con el mismo nombre para el miso usuario/esquema.
  • No debe coincidir con el nombre de ninguna palabra reservada de Word.

Crear Tablas (CREATE)
Para poder crear una tabla vamos a utilizar el comando CREATE, esta se almacena por defecto en el Tablespace del usuario que crea la tabla, la sintaxis para crear una tabla es la siguiente:

Como información adicional, al momento de crear tablas en la BD, existen dos puntos de vista, escribir los nombres de las tablas en Singular o en Plural, En lo personal lo hago en singular, esto porque me permite abstraer de mejor manera la información que se maneja en la BD. La forma en como ustedes lo hagan se los dejo de tarea. www.google.com

create table NombreTabla
     (
      NombreColumna1        TipoColuma1
      );


Por ejemplo:


create table alumno
     (
      Codigo      number(4) primary key,
      Nombre    varchar2(50)
      );

Con esto acabo de crear una Tabla llamada Alumno, que tiene dos campos, un campo llamado Código de tipo número con un máximo de 4 dígitos siendo este la Clave Primaria y un campo llamado Nombre de tipo Caracter con un máximo de 50 Caracteres.

Mas adelante les ampliare mas el tema acerca del Tipo de Datos que se pueden usar en Oracle y sobre las restricciones que se pueden aplicarle a las tablas.



viernes, 13 de enero de 2012

Esquemas de Usuarios y Objetos

Retomando el tema de Base de Datos voy a continuar con la siguiente información.

Esquemas de usuarios y objetos:

Cada usuario de la base de datos posee algo que se llama ESQUEMA, este tiene el mismo nombre del usuario y sirve para almacenar los objetos del esquema, es decir los objetos del usuario. Cuando me refiero a objetos es por ejemplo, una Tabla, una Vista, una Secuencia, un Disparador, estos son objetos que pueden pertenecer a un usuario. 

Por ejemplo: 

El usuario Salvarado tiene su propio esquema, esto quiere decir que Salvarado puede tener su propias tablas, secuencias, disparadores, vistas, etc.

el usuario Jperez tiene su propio esquema, esto quiere decir que Jperez puede tener su propias tablas, secuencias, disparadores, vistas, etc.

Salvarado es el único dueño de sus propios objetos y Jperez no puede tener acceso a los objetos de Salvarado, a menos de que Salvarado cree los permisos necesarios de acceso para que otros usuarios puedan tener acceso sobre sus objetos.

Como mencioné los objetos de los esquemas, pueden ser Tablas, Vistas, Secuencias, Índices, etc, estos pueden ser creados y manipulados por los usuarios, según el tipo de privilegio que se tenga, si se tienen privilegios de solo lectura obviamente no puedo crear objetos, en cambio si tengo privilegios de lectura y escritura si puedo crear y manipular los objetos.

En un principio solo el administrados y los usuarios propietarios, pueden acceder a sus propios objetos y como he mencionado, salvo que se asignen los privilegios necesarios para que otros usuarios pueden tener accesos a los objetos de otros.

jueves, 12 de enero de 2012

Estructura de Lenguaje SQL

En base a la experiencia que voy adquiriendo y a los conocimientos básicos que tengo y que poco a poco por el trabajo que ahora desempeño, estos conocimientos se irán ampliando, quiero compartir con ustedes esta información acá en mi blog. Si tienen alguna duda o sugerencia pueden escribirme a mi correo y con gusto puedo ayudarles. Bueno menos bla bla bla y vamos directo al tema. 

Para comenzar daré un concepto básico sobre el tema general y así poder tener una idea de lo que estaré compartiendo con ustedes.

BASE DE DATOS

Primero que nada voy a dar una pequeña explicación sobre el tema tan amplio que es BD, recordemos que una BD es un conjunto de datos, como por ejemplo una biblioteca puede considerarse como una BD por los libros, revistas y documentos impresos que ellos tienen registrado, un establecimiento también puede tener información en una BD, porque de este se puede almacenar el nombre de los estudiantes, los cursos, las colegiaturas, etc. Como la tecnología va avanzando, la mayoría de esta información esta siendo almacenada en formato digital o electrónico, brindando así una manera más fácil y accesible de manipular la información.

ESTRUCTURA DEL LENGUAJE SQL

En la mayoría de casos el comando mas utilizado dentro del lenguaje SQL me atrevo a decir que es el comando SELECT ya que este permite realizar las consultas sobre los datos que tenemos en la BD obteniendo así los datos de la misma.

Para ir entrando mas en materia, dentro de SQL encontramos los siguientes lenguajes DML, DDL, DCL, se preguntarán ustedes y eso que significa, ahora les explico.

DML  En inglés esto significa Data Manipulation Languaje o sea es un Lenguaje de manipulación de datos, como su mismo nombre lo indica, con este podemos realizar lo siguiente, Insertar registros en la BD, Actualizar registros en la BD,  Borrar registro en la BD, entre otros, los comandos utilados para este lenguajes son los siguientes:
  • Insert: Permite insertar registros en las tablas
  • Update: Permite Actualizar el contenido de los registros dentro de las tablas
  • Delete: permite borrar registros de una tabla



DDL En inglés esto significa, Lenguaje de Definición de Datos o sea es un Lenguaje que me permite modificar la estructura de las tablas de la BD, cuando me refiero a modificar la estructura de las tablas, esto significa por ejemplo, Crear una tabla, Borrar una trabla, Trunca una tabla, Renombrar una tabla o en su defecto Alterar una tabla. Los comandos usados para esto son los siguientes.

  • Create: Permite crear una tabla
  • Drop: Permite eliminar la tabla por completo incluyendo toda su estructura
  • Truncate: Permite eliminar el contenido completo de una tabla, similar al comando DELETE pero este es más rápido, en su momento les indicaré porque razón.
  • Rename: Permite cambiar el nombre de una tabla.
  • Alter: Permite alterar la estructura de una tabla, agregando columnas, modificando tipos de datos, etc.


DCL: En inglés esto significa, Data Control Languaje o sea Lenguaje de Control de Datos, como su mismo nombre lo indica, nos permite administrar los derechos y restricciones que se les aplica a los usuarios sobre el nivel de acceso que ellos pueden tener a la BD, los comando usados son.

  • Grant: Permite asignar permisos.
  • Revoke: Permite retirar los permisos.


INSTRUCCIONES DE TRANSFERENCIA: Sirve para poder administrar las modificaciones creadas por las instrucciones DML. Como por ejemplo, deshacer algo que se haya realizado, o confirmar lo que se ha realizado. Las instrucciones de transferencia son las siguientes:

  • Commit: Se usa para confirmar algún tipo de modificación realizada en la BD.
  • Rollback: Se usa para deshacer algún tipo de modificación realizada en la BD.
  • Savepoint: Marca un punto de referencia en alguna modificación para poder hacer un Rollback parcial. Algo similar a como funciona un punto de restauración.
  • Cabe mencionar que existe sentencias SQL que se auto-confirman y estas no se pueden regresar.


ALGUNOS CONSEJOS ADICIONALES AL MOMENTO DE ESCRIBIR SENTENCIA SQL


SQL no distingue entre mayúsculas y minúsculas, da igual como se escriba, siempre y cuando cada comando utilizado este correctamente escrito.

Al finalizar una instrucción SQL debemos hacerlo con un ";" Punto y Coma.

Recordemos usar las practicas sanas de programación tabulando las líneas para que las sentencias SQL llamadas "QUERYS" seán fáciles de leer.

Se puede comentar utilizando la diagonal y el asterisco, para comentar varias lineas y doble signo menos para comentar una línea, ejemplo:  
                         
                            /* Aquí pueden ir 
                               varias líneas*/     

                          --Acá puede ir solo una línea

Esto es todo por el momento, poco a poco iré aportando mas información.