Beruflich Dokumente
Kultur Dokumente
INGENIERA DE SOFTWARE
La ltima etapa de la metodologa de diseo de BD es el diseo fsico, cuyo objetivo general es satisfacer los requisitos del sistema optimizando la relacin costos/beneficios. Esto se concreta en los siguientes objetivos concretos: Disminuir los tiempos de respuesta, Minimizar el espacio de almacenamiento, Evitar las reorganizaciones peridicas, Proporcionar la mxima seguridad, y Optimizar el consumo de recursos.
17/10/2011
Modelo Lgico
CDIGO SQL
INGENIERA DE SOFTWARE
17/10/2011
17/10/2011
CREACIN DE TABLAS
Como se ha visto una base de datos est constituida por un conjunto de tablas, por lo tanto debemos crear las tablas que componen nuestra base de datos. Debemos considerar que las tablas se constituyen de campos y cada campo tiene que tener asignado un tipo de dato de acuerdo al tipo de informacin que almacenar. Adems debemos contemplar que cada tabla puede poseer una serie de restricciones como aceptar valores nulos, llaves primarias, llaves forneas, valores por defecto, restricciones check, etc.
INGENIERA DE SOFTWARE
Tablas y Restricciones
M G . R I C H A RD Y. M E RC A DO R I VA S .
17/10/2011
CREACIN DE RESTRICCIONES
Restricciones UNIQUE, estas restricciones tienen la caracterstica de que en el campo asignado no se encuentre un dato duplicado. Por ejemplo si al vendedor le hemos asignado un vendedor_id que es la llave primaria y se cuenta con el campo dni, el cul no debe de duplicarse o no puede haber dos vendedores que tengan el mismo numero de DNI, por lo tanto para controlar este aspecto se puede asignar la restriccin UNIQUE a este campo.
CREACIN DE RESTRICCIONES
Para poder asignar esta restriccin a travs del SQL Server Management lo que hay que hacer es abrir la tabla, luego hacemos un clic derecho sobre la columna seleccionada y podemos elegir la opcin ndices y claves, posteriormente pulsamos en agregar y asignamos un nombre a la restriccin, seleccionamos la columna y en la opcin Es Unique elegimos Si, en Tipo elegimos Clave Unique y en la opcin crear como CLUSTERED ponemos NO y ya tenemos configurado el campo con la restriccin UNIQUE.
CREACIN DE RESTRICCIONES
CREACIN DE RESTRICCIONES
Restricciones Primary Key y Foreign Key, Estas restricciones mayormente se utilizan al momento de identificar las caractersticas de cada atributo de una tabla, la restriccin PRIMARY KEY, tiene la caracterstica de identificar a cada registro de una tabla y es nico es decir no se debe repetir. La clave fornea es el atributo que sus valores coinciden con el de la llave primaria que es de la misma tabla o de otra. A travs de estas llaves se aplica el concepto de integridad referencial en donde los valores asignados a la llave primaria son los valores que se presentan en la llave fornea.
Otra manera de poder asignar esta restriccin es utilizando la sentencia UNIQUE al momento de crear la tabla con el lenguaje SQL.
17/10/2011
CREACIN DE RESTRICCIONES
Restricciones CHECK, Al momento de crear las tablas de la base de datos se pueden agregar las restricciones Check que tiene la funcin de definir los valores que son aceptados en los campos de una tabla, en un campo se pueden agregar varias restricciones Check. Ests restricciones pueden ser implementadas a travs de SQL Server Management o tambin del lenguaje SQL. Por ejemplo en la tabla cliente de la base de datos tenemos el campo DNI que se ha asignado como llave Primaria esto va a hacer que los datos sean nicos, pero no va ha delimitar las caractersticas de los datos. Es decir un DNI por ejemplo tiene la siguiente estructura 45896321, es decir puede aceptar valores numricos y no caracteres. Por lo tanto para ello vamos a implementar una restriccin CHECK
CREACIN DE RESTRICCIONES
Restricciones CHECK En la ventana de SQL Server Management vamos a modificar la tabla Cliente, por lo que hacemos un clic derecho en el campo respectivo y seleccionamos la opcin restricciones check y pulsamos agregar asignamos un nombre a la restriccin y en la opcin expresin escribimos lo siguiente:
Luego finalizamos y aceptamos nuestra restriccin ha sido implementada con xito.
CREACIN DE RESTRICCIONES
Restricciones CHECK Luego finalizamos y aceptamos nuestra restriccin ha sido implementada con xito.
CREACIN DE RESTRICCIONES
Restricciones CHECK Luego finalizamos y aceptamos nuestra restriccin ha sido implementada con xito.
De est manera podemos implementar las restricciones de acuerdo a las necesidades que se tengan para cada campo. Dentro de esta opcin podemos implementar tambin a nivel del lenguaje SQL al momento de crear la tabla como hemos visto con anterioridad o al modificar la tabla.
De est manera podemos implementar las restricciones de acuerdo a las necesidades que se tengan para cada campo. Dentro de esta opcin podemos implementar tambin a nivel del lenguaje SQL al momento de crear la tabla como hemos visto con anterioridad o al modificar la tabla.
CREACIN DE RESTRICCIONES
Restricciones CHECK Dentro de esta opcin podemos implementar tambin a nivel del lenguaje SQL al momento de crear la tabla como hemos visto con anterioridad o al modificar la tabla.
CREACIN DE RESTRICCIONES
Restricciones CHECK EJEMPLOS
17/10/2011
CREACIN DE RESTRICCIONES
Restricciones CHECK EJEMPLOS
INGENIERA DE SOFTWARE
Manipulacin de Datos
MANIPULACIN DE DATOS
Insercin de Datos: Una vez que contemos con la base de datos ya estructurada y relacionada se tiene que empezar a llenar los datos en cada una de las tablas.
Para ver la utilizacin de esta sentencia trabajaremos con la tabla producto de la base de datos ventas el cual tiene la siguiente estructura.
17/10/2011
Como podemos apreciar las sentencias anteriores al ejecutarse han insertado los datos indicados.
MODIFICACIN DE DATOS
En algunas situaciones nos veremos con la necesidad de modificar los datos insertados ya sean por cuestiones de error o actualizacin de la informacin. Desde el SQL Server Management este proceso es sencillo tan solo abrimos la tabla respectiva y podemos cambiar los datos. Pero al igual que en el caso anterior muchas veces esto es necesario hacerlo desde una aplicacin desarrollada para la base de datos y en ese caso es necesario conocer las sentencias respectivas para que sean ejecutadas. Para esto se utiliza la instruccin UPDATE la que nos permitir modificar o actualizar los datos existentes.
17/10/2011
MODIFICACIN DE DATOS
La sintaxis bsica UPDATE tiene la estructura: UPDATE nombre_de_tabla SET nombre_de_columna=expresin [FROM origen_de_tabla] WHERE condicin_de_bsqueda En este caso vamos a actualizar los nombres de los vendedores que inicialmente haban sido tomados como valores nulos. La sentencia sera la siguiente:
MODIFICACIN DE DATOS
Imaginemos que ahora se presento una inflacin en los precios por lo tanto nos indican que a aumentado el costo a un 15% de los producto y esto debe actualizarse al precio de cada producto. En la figura siguiente mostramos el cdigo SQL y la actualizacin del campo precio
Es necesario recordar que en el caso que se quiera modificar un campo que este relacionado con otro campo de la misma u otra tabla debemos considerar el tipo de actualizacin o en caso contrario no se podr realizar la actualizacin.
ELIMINACIN DE DATOS
En algn momento se tiene la necesidad de borrar los datos de las tablas ya sea parcialmente o de manera total. Al igual que en el caso anterior se puede hacer de manera directa desde el SQL Server Management as como tambin con la sentencia DELETE. La estructura de la instruccin DELETE es:
DELETE [FROM] nombre_de_tabla | nombre_de_vista [FROM origenes_de_tabla] WHERE condicin_de_bsqueda
ELIMINACIN DE DATOS
Cabe mencionar que no solo podemos borrar directamente de una tabla sino tambin desde una vista.
A continuacin podemos apreciar la sentencia SQL que se ejecuto y podemos ver que el producto Vinifan ha sido borrado de la tabla respectivamente.
ELIMINACIN DE DATOS
Adems se pueden borrar todos los datos de una tabla para lo cul utilizamos la siguiente sentencia.
INGENIERA DE SOFTWARE
En este caso solo es necesario colocar la sentencia Delete sin uso de la sentencia Where. En caso que deseemos eliminar la tabla de la base de datos podemos utilizar la sentencia Drop de la siguiente manera.
Consulta de Datos
MG. RICHARD Y. MERCADO RIVAS.
17/10/2011
CONSULTA DE DATOS
Sentencia Where y Condiciones de Bsqueda
La sentencia WHERE permite restringir las filas que se devuelven de una consulta segn las condiciones de bsqueda especificadas. La condicin de bsqueda puede contener un nmero ilimitado de predicados combinados mediante los operadores lgicos AND, OR y NOT. Un predicado es una expresin que devuelve un valor TRUE, FALSE o UNKNOWN. Una expresin puede ser un nombre de columna, constante, funcin escalar (una funcin que devuelve un valor), variable, subconsulta escalar (una subconsulta que devuelve una columna) o una combinacin de estos elementos combinados por operadores.
CONSULTA DE DATOS
Operadores de comparacin
A continuacin se muestra los operadores de igualdad y desigualdad que se pueden utilizar dentro de la sentencia Where en una consulta.
CONSULTA DE DATOS
Por ejemplo veamos una aplicacin utilizando el operador =. El la figura podemos apreciar que primero ejecutamos una consulta para seleccionar la venta que tiene el cdigo 1, y la siguiente consulta nos muestra todo el detalle de la venta que se almacena en la tabla Detalle_venta.
CONSULTA DE DATOS
Operadores lgicos AND OR Y NOT
Estos operadores nos ayudan a hacer consultas ms selectivas. Veamos cada una de las caractersticas que poseen. En la siguiente tabla se muestran los resultados de la comparacin de los valores TRUE y FALSE mediante el operador AND.
CONSULTA DE DATOS
LlKE: La palabra clave LlKE indica el patrn de ajuste con una condicin de bsqueda asignada. La coincidencia de patrones significa analizar una coincidencia entre una expresin y el patrn especificado en la condicin de bsqueda, segn la siguiente sintaxis: <expresin> LIKE <patrn>
CONSULTA DE DATOS
LlKE
Por ejemplo si quisiramos tener los productos cuya descripcin empiece con la letra L entonces tendramos la siguiente sentencia:
10
17/10/2011
LlKE
CONSULTA DE DATOS
CONSULTA DE DATOS
BETWEEN: La palabra clave BETWEEN se utiliza siempre con el operador AND y especifica
un rango inclusivo para verificar una condicin de bsqueda. La sintaxis es la siguiente: <expresin de comprobacin>BETWEEN <expresin inicial>AND <expresin final> El resultado de una condicin de bsqueda ser el valor booleano TRUE si expresin de comprobacin es mayor o igual a expresin inicial y menor o igual que expresin final. En otro caso el resultado ser FALSE.
Por ejemplo si quisiramos mostrar los productos cuyo Stock mnimo inicie con el digito 2 y el siguiente valor es opcional, por lo tanto la sentencia sera la siguiente: Veamos un caso utilizando la sentencia LIKE con la opcin [ ], para este ejemplo busquemos la descripcin de los productos que contengan L y P en su estructura, por lo tanto la sentencia y los resultados se pueden ver en la siguiente figura.
CONSULTA DE DATOS
IS NULL: La palabra clave IS NULL se utiliza en una condicin de bsqueda para
seleccionar filas que contienen valores nulos en una columna especificada. Veamos en la tabla del detalle de venta hay existe el campo Subtotal que hasta el momento posee algunos datos nulos por lo tanto si quisiramos saber cules son esos datos, realizaramos la siguiente consulta:
Sentencia Group By
CONSULTA DE DATOS
Esta clausula GROUP BY se utiliza despus de la clusula WHERE para indicar que las filas en el resultado deben estar agrupadas segn las columnas de agrupacin especificadas. S se utiliza una funcin agregado en la clusula SELECT, se calcula un valor resumen de agregado para cada grupo y muestra en la salida. Por ejemplo si quisiramos saber la cantidad de productos vendidos a la fecha tendramos que consultar la Tabla Detalle_venta, sumar la cantidad vendida de cada producto y finalmente agruparlo por el cdigo del producto. Todo esto lo podemos apreciar en la siguiente figura que muestra la sentencia SQL y el resultado de la consulta.
CONSULTA DE DATOS
Sentencia ORDER BY
Est clusula ORDER BY permite especificar el orden en el que se han de ordenar las filas en el resultado de una consulta. Se puede especificar tanto en orden ascendente (de menor a mayor) o descendente (de mayor a menor) mediante el uso de ASC o DESC. Si no se especifica, el orden predeterminado es el orden ascendente. Se puede especificar ms de una columna en la clusula ORDER BY. El resultado se ordenar segn la primera columna listada. Si la primera columna contiene valores duplicados, estas filas se ordenarn segn la segunda columna y as sucesivamente. Esta ordenacin tiene ms sentido cuando se utiliza ORDER BY con GROUP BY.
Funciones de Agregado
CONSULTA DE DATOS
Hasta el momento hemos hecho uso de las clusulas bsicas que se pueden utilizar con la instruccin SELECT. Ahora vamos ha ver algunas funciones T-SQL que se pueden utilizar en la clusula SELECT para tener mayor flexibilidad en la creacin de consultas. Estas funciones estn agrupadas en varias categoras, incluyendo funciones de configuracin, de cursor, de fecha y hora, de seguridad, estadsticas del sistema, texto e imagen, matemticas, conjunto de filas, cadena de caracteres y de agregados. Estas funciones pueden realizar clculos, conversiones y otras operaciones o pueden devolver cierta informacin. Hay muchas funciones disponibles, pero en esta seccin solamente examinaremos las funciones de agregado que inclusive hemos venido utilizando algunas en los ejemplos anteriores.
11
17/10/2011
CONSULTA DE DATOS
CONSULTA DE DATOS
Consultas con el Asistente
Como se ha ido viendo las consultas se pueden trabajar a travs de las sentencias SQL, una caracterstica adicional que tiene la versin de SQL Server 2005-2008 es que presenta el asistente para la creacin de consultas. En la ventana de Consultas del SQL al hacer un clic derecho se muestra un conjunto de opciones y entre ellas tenemos la opcin Disear consulta en el editor
La siguiente sentencia por ejemplo nos permitir ver que producto tiene el precio ms caro, el mas bajo y el promedio de los precios de los productos.
12