Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com/ve
Plan de Adiestramiento y
Capacitación
Personal de SPA
Consultoría Gerencial
Noviembre, 2013 Microsoft SQL Server 2005
como manejador de bases de
datos y fundamentos básicos
del SQL como lenguaje de
consultas.
VIII. Recursos
Libros
Enlaces a internet
Colaboradores
Te das cuenta que la fecha de cierre de estas pruebas es en una semana, y es cuando te
planteas la siguiente interrogante ¿Cómo comenzar a buscar definiciones y ejemplos de
código para ponerlas en contexto?
Este curso es para las personas que quieren aprender los fundamentos del Lenguaje
Estructurado de Consultas (Structured Query Language –SQL) rápidamente. A través de
algunos ejemplos relacionados con el área SPA, también conoceremos los principales
componentes del SQL Server como software de gestión y manejo de bases de datos.
Sin embargo, Microsoft SQL Server permite almacenar grandes volúmenes de datos, que
incluyen elementos como fotografías, videos, textos, números y mucho más. Ahora, yo
estoy seguro que todos piensan: "Pero Microsoft Access puede hacer eso también", y
tienen razón hasta cierto punto, pero Microsoft Access tiene límites muy definidos.
Microsoft SQL Server está diseñado para manejar Terabytes de datos, mientras que
Microsoft Access sólo puede manejar alrededor de 2 Gigabytes de información sin tener
problemas.
Creación de la BD
Para crear la base de datos con sus respectivas tablas, hacemos clic derecho sobre la
carpeta “Bases de datos” y pulsamos “Nueva base de datos…”:
La tabla contara con dos campos “id” y “nombre”. Los tipos de datos son los que se
muestran en la siguiente imagen:
Luego de crear la tabla hacemos clic derecho sobre el campo “id” y seleccionamos la
opción establecer clave principal:
Para ver una base de datos, usted puede crear uno o varios diagramas que muestren
algunas o todas las tablas, columnas, claves y relaciones de la base de datos.
Los pasos para poder contar con la relación entre tablas son los siguientes:
Hacemos clic derecho sobre la carpeta “Diagramas de bases de datos”, nos aparecerá una
ventana haciendo una pregunta referente a la creación de diagramas de base de datos, a la
cual responderemos “Yes”
Presionamos el botón “Aceptar”, y repetimos los mismos pasos con la tabla cursos. El
resultado final se muestra en la siguiente imagen:
En ocasiones no sabemos por dónde empezar, pero en esta sección les diremos como
importar esa información a la base de datos. Supongamos que tenemos nuestra hoja de
Excel y aún no hemos creado la tabla.
Importaremos la información que está en nuestra hoja de cálculo, para ello tendremos
que ir a la sección “Explorador de objetos”, seleccionar la base de datos, y hacer clic
derecho sobre ella, luego seleccionamos la opción “Tareas”, “Importar Datos” y hacemos
clic.
En ese momento se abrirá una nueva ventana, que es el asistente para importar datos.
La ventana anterior nos permite seleccionar la forma de extraer los datos, siendo las
opciones “Copiar los datos de una o varias tablas o vistas” o “Escribir una consulta para
especificar los datos que se van a transferir”, para lo cual dejaremos la que está
seleccionada por defecto que es la primera tal como se muestra en la imagen anterior y
damos clic en el botón “Siguiente”.
En esta pantalla, lo que tendremos a la izquierda serán las hojas de nuestro libro de Excel
y a la derecha, la tabla en la que se guardaran los datos de nuestra primera hoja de Excel.
Si quisiéramos ver el detalle de cómo se ven los datos de la hoja Excel en nuestra tabla,
solo tenemos que dar clic en el botón “Preview…”.
Por último, damos aceptar y finalizar al proceso de importar los datos del Excel a nuestra
base de datos, esta nos dará un informe sobre la importación de los datos o posibles
errores que puedan surgir durante el proceso, tal como se muestra en la siguiente imagen:
Una vez terminado el proceso de forma satisfactoria y sin errores, hacemos clic en el
botón “Close”.
Para hacer uso de esta poderosa herramienta es necesario aprender cómo escribir un
query en SQL.
Instrucción “Select”
SINTAXIS:
FROM <TABLA>
En caso que se necesite encontrar un ítem o grupo de ítems en particular dentro de la
base de datos, son necesarias una o más condiciones. Las condiciones están contenidas en
la cláusula WHERE como se muestra a continuación:
ENTRADA:
SELECT *
FROM ESTUDIANTES;
ENTRADA:
SELECT *
FROM ESTUDIANTES
WHERE pri_nom = 'Jon';
Una condición en SQL es una combinación de uno o varios predicados que utilizan
operadores lógicos para generar un valor TRUE ó FALSE (Verdadero ó Falso). Estas
están ubicadas generalmente en la cláusula WHERE y son las encargadas de hacer a un
query más selectivo. Dichos predicados también son una combinación de operadores de
diversos tipos, como aritméticos o de comparación. A continuación conoceremos los
grupos de operadores más usados:
Operadores lógicos: Los operadores lógicos comprueban la veracidad de alguna
condición. Éstos, como los operadores de comparación, devuelven el tipo de datos
Boolean con el valor TRUE, FALSE o UNKNOWN.
Operador Significado
ALL TRUE si el conjunto completo de comparaciones es TRUE
AND TRUE si ambas expresiones booleanas son TRUE
ANY TRUE si cualquier miembro del conjunto de comparaciones es TRUE
BETWEEN TRUE si el operando está dentro de un intervalo
EXISTS TRUE si una sub-consulta contiene cualquiera de las filas
IN TRUE si el operando es igual a uno de la lista de expresiones
LIKE TRUE si el operando coincide con un patrón
NOT Invierte el valor de cualquier otro operador booleano
OR TRUE si cualquiera de las dos expresiones booleanas es TRUE
SOME TRUE si alguna de las comparaciones de un conjunto es TRUE
Operador Significado
= Igual a
> Mayor que
< Menor que
Operador Significado
+ Suma
- Resta
* Multiplicación
/ División
% Devuelve el resto entero de una división. Ejemplo, 12 % 5 = 2 porque el
resto de 12 entre 5 es 2.
Operadores bit a bit: Los operadores bit a bit realizan manipulaciones de bits entre
dos expresiones de cualquiera de los tipos de datos de la categoría del tipo de datos
entero.
operador Significado
& (AND bit a bit) Operador AND bit a bit (dos operandos).
| (OR bit a bit) Operador OR bit a bit (dos operandos).
^ (OR exclusivo bit a bit) Operador OR exclusivo bit a bit (dos operandos).
Los operadores tienen los niveles de prioridad que se muestran en la siguiente tabla. Un
operador de un nivel más alto se evalúa antes que un operador de un nivel más bajo.
Nivel Operadores
1 ~ (operador bit a bit NOT)
2 * (multiplicar), / (dividir), % (módulo)
3 + (positivo), - (negativo), + (sumar), (+ concatenar), - (restar), & (AND bit a bit) ,
^ (OR exclusiva bit a bit), | (OR bit a bit)
4 =, >, <, >=, <=, <>, !=, !>, !< (operadores de comparación)
5 NOT
6 AND
7 ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
8 = (asignación)
Ejemplos / Sección 1
Espiñeira, Pacheco y Asociados
15 de 49
Modelando los datos de la consulta
En esta sección trataremos sobre funciones. Las Funciones en SQL permiten realizar
operaciones como determinar la suma de una columna o convertir todos los caracteres de
un string a mayúsculas.
Funciones para fecha y tiempo: Estas funciones realizan distintas operaciones sobre
entradas de fechas y tiempo, y retornan un valor numérico, string o fecha/tiempo.
Ejemplos / Sección 2
Hasta ahora hemos conocido las cláusulas FROM y WHERE, logrando cada una de ellas
efectos determinantes sobre la instrucción SELECT. Veamos a continuación otro grupo
de cláusulas que nos permiten hacer a nuestro query incluso más selectivo y acertado.
LIKE: Determina si una cadena de caracteres coincide con un patrón especificado. Un
patrón puede contener caracteres normales y caracteres comodines. Durante la operación
de búsqueda de coincidencias de patrón, los caracteres normales deben coincidir
exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los
caracteres comodín pueden coincidir con fragmentos arbitrarios de la cadena.
SINTAXIS:
match_expression [ NOT ] LIKE pattern [ ESCAPE
escape_character ]
ORDER BY: Especifica el orden utilizado en las columnas devueltas en una instrucción
SELECT.
SINTAXIS:
[ ORDER BY {order_by_expression } [ ,...n ]]
UNION [ALL]: Combina los resultados de dos o más consultas en un solo conjunto de
resultados que incluye todas las filas que pertenecen a las consultas de la unión. La
operación UNION es distinta de la utilización de combinaciones de columnas de dos
tablas.
SINTAXIS:
{ <query_specification> | ( <query_expression> ) }
UNION [ ALL ]
<query_specification | ( <query_expression> )
Veamos entonces la sintaxis de un SELECT en donde encajan todas las cláusulas que hemos
conocido:
SINTAXIS:
Espiñeira, Pacheco y Asociados
18 de 49
SELECT [DISTINCT | ALL] { * | { expr [ [AS] c_alias }
| column
... }
FROM {table | view }[t_alias] ...
[WHERE condition ][LIKE][JOIN type][JOIN condition]
[GROUP BY expr [, expr] ... [HAVING condition] ]
UNION [ ALL ] <query_specification | (
<query_expression> )
[ORDER BY {expr|position} [ASC | DESC]
Ejemplos / Sección 3
Haciendo uso de joins, podemos recuperar datos de dos o más tablas, basados en una
relación lógica entre dichas tablas. Una condición join define la manera como dos tablas
están relacionadas en un query.
SINTAXIS:
Ejemplos / Sección 4
Joins excluyentes:
Un subquery es un query cuyos resultados son enviados como argumento para otro
query. Los subqueries nos permiten enlazar varias consultas juntas.
IN: Determina si un valor especificado coincide con algún valor de una subconsulta o una
lista.
SINTAXIS:
SINTAXIS:
EXISTS subquery
Ejemplos / Sección 5
Instrucción “Insert”
La instrucción INSERT nos permite introducir datos a la base de datos. Esta puede ser
definida en dos instrucciones:
INSERT...VALUES
INSERT...SELECT
Insert...Values
La instrucción INSERT...VALUES introduce datos a una tabla un registro a la vez. Es
útil para operaciones pequeñas que manejan pequeñas cantidades de información.
SINTAXIS:
INSERT INTO table_name
(col1, col2...)
VALUES(value1, value2...)
Los valores usados deben ser del mismo tipo que el campo al cual están siendo
agregados.
Insert...Select
SINTAXIS:
INSERT INTO table_name
(col1, col2...)
SELECT col1, col2...
FROM tablename
WHERE search_condition
Ejemplos / Sección 6
Instrucción “Update”
SINTAXIS:
UPDATE table_name
SET columnname1 = value1
[, columname2 = value2]...
WHERE search_condition
Esta instrucción verifica la cláusula WHERE en primer lugar. Para todos los registros en
la tabla dada en los cuales la cláusula WHERE evalúe un valor TRUE, el campo
correspondiente es actualizado.
Si la cláusula WHERE es omitida, todos los registros en la tabla son actualizados con el
valor dado.
Instrucción “Delete”
Lo primero que tenemos que tomar en cuenta es que el comando DELETE no tiene una
validación. Los usuarios estamos acostumbrados a ser notificados y verificar cuando un
archivo o directorio va a ser eliminado. ¿Estás seguro (S/N)? es la pregunta más común
antes de ejecutar la operación. En SQL cuando le indicas al manejador que elimine unos
datos, este obedece sin preguntar.
Al igual que INSERT y UPDATE, eliminar registros de una tabla puede causar
problemas de integridad referencial con otras tablas.
En la ventana que se abrirá se podrán observar todas las tablas que pertenezcan a la base
de datos seleccionada
En este caso, seleccionamos las tablas que deseamos agregar y pulsamos “Add…”
Posteriormente, seleccionaremos los campos que deseamos que nos muestre la consulta:
Una vez culminado el proceso, procederemos a hacer clic en “Ok” y el SQL nos arrojará el
query en la ventana principal. Para obtener los resultados correspondientes debemos
hacer clic en el botón “Execute” .
Para realizar el backup desde el asistente, hacemos clic derecho a la Base de Datos que le
deseamos realizar la copia de seguridad. Luego hacemos clic en “Tareas” y “Copia de
Seguridad”.
En Opciones nos muestra otras características que podemos hacer con la copia de
seguridad.
Una vez que terminamos de marcar y llenar las opciones que queremos, presionamos el
botón “Aceptar”. El sistema indicará cuando haya finalizado, caso contrario nos notificará
el error.
Las causas por las que puede fallar el proceso pueden ser:
Alguna consulta abierta que está conectada a la base de datos
Alguna modificación de tablas o campos.
Conexión con alguna aplicación, etc.
Una vez verificado que la base de datos NO esté en uso, presionamos Aceptar nuevamente
en la ventana del Asistente de Restauración.
Hacer clic derecho sobre cualquier base de datos y seleccionar “Task” luego hacer clic en
“Generate – Scripts”
La base de datos que deseas debe de estar seleccionada, o puedes igualmente seleccionar
cualquier otra y hacer clic en “Next”
Errores
Los errores se indican mediante una "X" roja en la columna de la izquierda, un Status de
"Error" y, potencialmente, un Message. Deberá salir de la instalación (hacer clic en el
botón “Exit”) y resolver los posibles errores antes de proseguir con la instalación.
Una vez resueltos los errores, vuelva a iniciar la instalación de SQL Server 2005.
Advertencias
En la comprobación de configuración pueden mostrarse también advertencias, que
pueden ignorarse o solucionarse. Una de las posibles advertencias es “IIS Feature
Requirement”. Algunas de las nuevas funciones de SQL Server 2005 precisan de IIS, pero
el paquete de edición 2D de SQL Server (CREO Elements/Direct Manager Server) no
utiliza ninguna de estas funciones, de modo que se puede hacer caso omiso de la
advertencia sin problemas.
Si no hay ningún error, el botón “Exit” se convierte en un botón “Next”
Haga clic en el botón “Next”
Utilice una instancia Predeterminada a menos que tenga la necesidad de utilizar una
instancia con nombre. Para obtener información sobre los nombres de instancia, haga
clic en el botón “Help”.
Si instala una “Named instance”, deberá indicar este nombre durante la instalación de
“Create Elements”/”Direct Manager Server”.
Seleccione “Default instance”.
Haga clic en el botón “Next”.
Ahora que está instalado SQL Server 2008 Express, necesitará configurar las opciones de
red que se encuentran deshabilitadas de manera predeterminada.
3. Habilitar TCP/IP. Si necesita Named Pipes, se pueden habilitar tal como se evidencia
en la siguiente imagen:
Si tiene un servidor de seguridad de software instalado, debe agregar excepciones para los
servicios de “SQL Server” y “SQL Server Browser”. Si utiliza “Windows Firewall”, haga lo
siguiente:
Server90Sharedsqlbrowser.exe.
Si utiliza un servidor de seguridad de terceros, debe seguir sus instrucciones para agregar
excepciones a sqlservr.exe y sqlbrowser.exe
Cuando haya completado todos los pasos anteriores, necesitará reiniciar los servicios de
SQL Server y SQL Server Browser para completar el proceso. Si todavía tiene problemas,
es posible que deba reiniciar el computador.
Enlaces a internet
http://msdn.microsoft.com/es-es/library/bb510741.aspx
Colaboradores
Luis Fernando Farías
Consultoría Gerencial
Jonathan González
Consultoría Gerencial