lunes, 19 de julio de 2010

ADO .NET y Visual Basic 2008 (Parte 2)

Continuando con el tema anterior, el motor de un DBMS (Database Management System) o SGBD (Sistema Gestor de Base de Datos) se encarga de usar un lenguaje para la manipulación de los datos de forma eficiente.  Los datos están guardados en tablas y estas tablas a su vez tienen reglas de integridad relacional (Relaciones) y otras restricciones como clave primaria, tipos de datos, validación de columnas, etc. que permiten restringir el tipo de datos a utilizar, la seguridad de estos, etc.

Lenguaje SQL

Podemos manipular los datos desde el gestor de base de datos (en nuestro caso SQL Server) a través de las instrucciones DML (Data Manipulation Languaje).  También podemos crear objetos en la base de datos como tablas, vistas, procedimientos almacenados, disparadores, etc, a través de las instrucciones DDL (Data Definition Languaje), los dos parte del SQL.  SQL Server como tal contiene el lenguaje llamado T-SQL (Transact SQL) que contiene todas estas instrucciones.  Las instrucciones básicas de manipulación de datos son SELECT, INSERT, DELETE y UPDATE para consultar, agregar, borrar y modificar los datos respectivamente.

SELECT

Este comando se utiliza para leer una o más tablas.  Su sintaxis más sencilla se muestra a continuación

SELECT [campo1], [campo2]… [campoN]
FROM [Tabla1]
WHERE 
[campo1] = condición búsqueda
ORDER BY [campo1] ASC | DESC

Tomando como referencia la tabla creada en clase


Tablas


Por ejemplo si quisieramos obtener todos los vehículos marca Toyota de la tabla Coches tendríamos que hacer lo siguiente



SELECT * FROM Coches WHERE Marca = 'Toyota'

Tendríamos como resultado dos registros con la marca Toyota.  Para hacer esta consulta en SQL Server 2005 basta con presionar el botón “Nueva Consulta” o “New Query” y se abrirá una pantalla en blanco para ingresar este script, presionamos “Ejecutar” y listo tendremos los datos correspondientes.


image El comando SELECT tiene muchas variantes, es necesario para el curso de Programación II revisar los apuntes de Bases de Datos I y II para recordar toda su sintaxis y las diferentes formas en que se puede utilizar.


Se pueden agrupar los datos a través de las funciones de grupo, entre las cuales podremos sumar (SUM), contar (COUNT), promediar (AVG), etc


Por ejemplo si queremos tener un listado de cuantos vehiculos tenemos de cada marca podemos hacer lo siguiente



SELECT Marca, COUNT(Marca) 
FROM Coches
GROUP BY Marca

Revisen la documentación del SQL para que nos actualizemos con el uso de la sentencia SELECT


INSERT


La sentencia INSERT se utiliza para agregar nuevos registros a una tabla.  Su uso es casi siempre igual ya que su sintaxis no es muy compleja.



INSERT INTO [Tabla] ( [Campo1], [Campo2], …)
VALUES ('Valor1','Valor2',…)

Para ingresar un valor a la tabla Coches por ejemplo tendríamos que tener la siguiente instrucción



INSERT INTO Coches (Matricula, Marca, Modelo, Kilometros, CostoPorHora)
VALUES ('M-1111', 'Mitsubishi', 'Lancer',65432,7.89)





Consideraciones que hay que tener con el comando INSERT son las siguientes



  1. El comando INSERT generará un error si queremos ingresar un registro con la misma clave principal de un registro existente.

  2. Podemos omitir el ingreso de algunos campos siempre y cuando estos acepten valores nulos o no tengan referencia a claves foráneas.

  3. El orden en que se establecen los nombres de campos es el orden en que se establece los valores en la claúsula VALUES.

  4. Los datos tipo cadenas o caracteres siempre se colocan entre comillas simples. Los numéricos se escriben normal.  Los valores booleanos o lógicos se colocan como 0 para falso y 1 para verdadero.

DELETE


Es el comando más facil de usar, pero el más peligroso ya que sirve para eliminar registros de una tabla de la base de datos.  Su sintaxis es sencilla



DELETE FROM [Tabla]
WHERE [Campo1]=Condición

Si queremos por ejemplo borrar el registro ingresado en el ejemplo del insert, usaríamos la siguiente instrucción



DELETE FROM Coches
WHERE Matricula = 'M-1111'

Obsérvese que el campo utilizado en el Where corresponde a la clave primaria que identifica de forma única al registro que queremos eliminar.


Si no colocamos la sentencia WHERE eliminaríamos todos los registros de la tabla, lo cual sería un problema si no queremos ese resultado.


UPDATE


Se utiliza para actualizar uno o más campos de uno o más registros de una tabla de la base de datos.


Su sintaxis es la siguiente



UPDATE [Tabla]
SET [Campo1] = Nuevo Valor, [Campo2] = Nuevo Valor,...
WHERE [Campo1] = Condición

La claúsula WHERE se utiliza cuando queremos actualizar un solo registro y tenemos que establecer el valor de la clave principal del registro que queremos actualizar.  Por ejemplo si queremos cambiar el valor de Costo por hora del alquiler del Coche con matrícula M-3143 de 7.34 a 6.80 tendríamos que utlizar una instrucción como esta



UPDATE Coches
SET CostoPorHora = 6.80
WHERE Matricula = 'M-3143'

Si no colocáramos la claúsula WHERE la instrucción actualizaría todos los registros a 6.80.


Pero si por ejemplo quisieramos aumentar un 25% el costo por hora de los coches de marca Mitsubishi debido a un aumento de precio en los respuestos de esa marca deberiamos utilizar una instrucción como la siguiente



UPDATE Coches
SET CostoPorHora = CostoPorHora * 1.25
WHERE Marca='Mitsubishi'

La instrucción SET toma el costo por hora actual y lo multiplica po 1.25 con lo que le aumentamos el 25% al costo por hora y se lo asigna al campo con el mismo nombre.  Los vehículos que serán afectados por esta actualización son los que tengan como marca Mitsubichi.


Bueno, creo que es un resumen super rápido de lo que es el SQL y como se usan las instrucciones básicas.  Es bueno leer más sobre el T-SQL ya que es la base de las aplicaciones de Visual Basic con SQL Server y su uso con ADO.NET.


Hasta el próximo post. 

No hay comentarios:

Publicar un comentario