Sie sind auf Seite 1von 12

17/10/2011

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

DISEO DE BASE DE DATOS

Facultad de Ingeniera de Sistemas

INGENIERA DE SOFTWARE

IMPLEMENTACIN DE BASE DE DATOS


MG. RICHARD Y. MERCADO RIVAS

DEL DISEO CONCEPTUAL AL DISEO LGICO


DISEO LGICO ESTNDAR EJEMPLO DE TRANSFORMACIN

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.

OBJETIVOS DEL DISEO FSICO

OBJETIVOS DEL DISEO FSICO


Las entradas de esta etapa son: Lista de objetivos de diseo fsico con sus correspondientes prioridades y cuantificacin (a ser posible); Esquema lgico especfico; Recursos de mquina disponibles; Recursos de software disponibles (sistema operativo, middleware, ...); Informacin sobre las aplicaciones que utilizarn la BD; y Polticas de seguridad de datos. A partir de estas entradas, se producirn las siguientes salidas: Estructura interna (esquema interno); Especificaciones para el afinamiento (tunning) de la BD; y Normas de seguridad.

OBJETIVOS DEL DISEO FSICO ACTIVIDADES


Algunos de las tcnicas ms importantes que se pueden considerar en el diseo fsico son: Determinacin de los ndices secundarios y sus caractersticas (compresin, orden, etc.); Tipo de registros fsicos; Uso de punteros; Direccionamiento calculado (Hashing); Agrupamientos (Clustering) de tablas; Bloqueos (Locking) y compresin de datos; Definicin de tamaos de memorias intermedias (Buffers); Asignacin de conjuntos de datos a particiones y/o a dispositivos fsicos; y Redundancia de datos. NO existe un modelo formal general para el diseo fsico, sino que depende mucho de cada producto comercial concreto.

17/10/2011

Modelo Lgico

MODELO FSICO DE UNA BASE DE DATOS

Modelo Fsico Documentacin de Base de Datos

Modelo Entidad Relacin

CDIGO SQL

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

Facultad de Ingeniera de Sistemas

INGENIERA DE SOFTWARE

Introduccin a SQL Server

M G . R I C HARD Y. M E RC ADO R I VAS.

INTRODUCCIN A SQL SERVER 2005-2008


SQL Server 2005-2008 est diseado para ayudar a las organizaciones a enfrentar los desafos de datos que cada vez son ms numerosos entre ellos agilizar la toma de decisiones, mejorar la productividad, optimizar los recursos en TI, etc. Esta solucin de administracin y anlisis de datos que se presenta en est versin ofrece seguridad, escalabilidad y disponibilidad mayores a las aplicaciones de datos empresariales y analticas, a la vez que las hace ms fciles de crear, desplegar y administrar.

PLATAFORMA DE SQL SERVER


SQL Server 2005-2008 es una solucin de datos global, integrada y de extremo a extremo que habilita a los usuarios en toda su organizacin mediante una plataforma ms segura, confiable y productiva para datos empresariales y aplicaciones de BI.

17/10/2011

SQL SERVER MANAGEMENT STUDIO

OPERACIONES CON EL SERVIDOR SQL SERVER


La caracterstica anterior nos ha permitido Iniciar el servidor de SQL Server, en algn momento necesitamos realizar ciertas operaciones con el servicio de Base de datos, como por ejemplo si tendramos una base de datos creada y quisiramos llevarla a otro servidor, lo que tendramos que hacer es copiar los archivos mdf y ldf de la base de datos respectiva, la cul no podr hacerse de manera directa debido a que como el servidor esta iniciado esos archivos estn en uso por lo que tendramos que detener el servicio o desconectar a la instancia de SQL server.

CREACION DE BASE DE DATOS CON SQL SERVER


Archivos de datos y registro de Transacciones Antes de crear una base de datos es necesaria la configuracin de la estructura de almacenamiento, SQL Server maneja tres tipos de archivos para las bases de datos: Archivos de Datos Primario (.mdf) Contiene la informacin de inicio de la base de datos y se utiliza para almacenar los datos, cada base de datos tiene un archivo primario. Archivos de Datos Secundario (.ndf) Contiene los datos que no caben en el archivo principal de datos. Estos tipos de archivos son opcionales, pero en caso que la base de datos sea demasiado grande se pueden crear estos archivos y colocarlos inclusive en otros discos duros. Archivos de Registro de Transacciones (.ldf) Contiene la informacin de registro que se utiliza para recuperar la base de datos. Cada base de datos debe contar con al menos un archivo de registro.

CREACION DE BASE DE DATOS CON SQL SERVER


En el Management Studio tenemos la carpeta Base de datos nos situamos en dicha carpeta y al hacer un clic derecho se nos muestra las opcin de Nueva base de datos

CREACIN DE BASE DE DATOS CON SQL SERVER


Se nos muestra una nueva ventana donde se presenta la opcin para asignar el nombre a la base de datos y podemos apreciar los archivos primario y de registro que automticamente se generan con la creacin de la base de datos. Adems se puede apreciar el tamao asignado a la base de datos que puede ser modificado o en todo caso se tiene la opcin de crecimiento automtico el cual cada vez que se vayan llenando los datos este podr incrementarse de manera automtica.

CREACIN DE BASE DE DATOS CON SQL SERVER

17/10/2011

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

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.

Facultad de Ingeniera de Sistemas

INGENIERA DE SOFTWARE

Tablas y Restricciones

M G . R I C H A RD Y. M E RC A DO R I VA S .

CREACIN DE TABLAS CON SQL SERVER MANAGEMENT STUDIO


Podemos crear las tablas directamente desde el SQL Server Management, para lo cul una vez creada la base de datos (Ventas), se crean una variedad de carpetas y una de ellas es la de Tablas, al hacer un clic derecho sobre est carpeta se nos muestra la opcin de Nueva Tabla.

CREACIN DE TABLAS CON SQL SERVER MANAGEMENT STUDIO


Estableciendo Llave primaria
Al hacer un clic derecho en un campo se nos muestran las opciones que se ven en la figura 3.3 donde podemos seleccionar de acuerdo a las necesidades en nuestro caso vamos a establecer la clave principal de la tabla, para lo cual vamos a trabajar con el campo DNI.

CREACIN DE TABLAS CON TRANSACT SQL


Podemos crear las tablas a travs de Transact SQL, para lo cul podemos trabajar con la sentencia CREATE TABLE, la cul permitir generar las tablas deseadas.

CREACIN DE DIAGRAMAS DE BASE DE DATOS


Una vez creadas las tablas respectivas de la base de datos es necesario generar un diagrama para poder realizar las relaciones entre las tablas, las relaciones se pueden realizar tambin en base a sentencias SQL. Pero la utilizacin de los diagramas para esta parte complementara y mejorar la administracin de la base de datos en vista a que se podr apreciar grficamente. Dentro de la base de datos se tiene una carpeta denominada Diagrama de base de datos, la cul al hacer un clic derecho se mostrar la opcin para poder crear un nuevo diagrama, al seleccionarlo nos mostrar un mensaje el cul tenemos que aceptar.

17/10/2011

CREACIN DE DIAGRAMAS DE BASE DE DATOS


Para poder crear una relacin lo que debemos hacer es situarnos en la tabla principal y arrastrar la llave primaria hasta la columna con la que se va a relacionar de la otra tabla.

CREACIN DE DIAGRAMAS DE BASE DE DATOS


Este proceso se realiza para cada una de las relaciones existentes en la base de datos y finalmente podemos tener el diagrama completo

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

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

Facultad de Ingeniera de Sistemas

INGENIERA DE SOFTWARE

Manipulacin de Datos

I N G . R I C H ARD Y. M E RCADO R I VAS.

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.

INSERCIN DE DATOS CON SQL SERVER MANAGEMENT


Para el ingreso de datos de manera directa, en el SQL Server Management hacemos un clic derecho en la tabla respectiva y elegimos la opcin Abrir tabla y se mostrar la ventana donde podemos ingresar de manera directa los datos:

INSERCIN DE DATOS CON TRANSACT SQL


Para el proceso de insercin de datos podemos utilizar las sentencias SQL, en este caso la sentencia Insert. La estructura de la sentencia INSERT INSERT [INTO] nombre_de_tabla [ (lista_de_columnas) ] VALUES expresin

INSERCIN DE DATOS CON TRANSACT SQL


Debemos tener en cuenta que para la insercin de datos se debe poner en orden de acuerdo a la estructura de la tabla. En este caso no colocamos la lista de columnas debido a que se estn considerando todas.

Para ver la utilizacin de esta sentencia trabajaremos con la tabla producto de la base de datos ventas el cual tiene la siguiente estructura.

Las opciones de INTO y Lista de Columnas son opcionales.

17/10/2011

INSERCIN DE DATOS CON TRANSACT SQL


Ahora insertemos mas datos.

INSERCIN DE DATOS CON TRANSACT SQL


Ahora veamos un caso diferente. Aqu podemos apreciar que la tabla vendedor puede aceptar valores nulos. En este caso la forma de ingresar Los datos van a cambiar

Como podemos apreciar las sentencias anteriores al ejecutarse han insertado los datos indicados.

INSERCIN DE DATOS CON TRANSACT SQL


Por lo tanto pongmonos en el caso de que conocemos el DNI y domicilio pero no el nombre. Para este caso la sentencia INSERT tendr la siguiente estructura

INSERCIN DE DATOS PROCEDENTES DE OTRAS TABLAS


En muchas situaciones se hace necesario que tengamos que pasar datos de otras tablas para ello es necesario realizar lo siguiente: Necesitamos una tabla donde copiar los datos para nuestro caso crearemos una tabla llamada EvalProd que estar conformada por los campos Nombre y StockMin. A esta tabla copiaremos los datos de la tabla producto para lo cual vamos a copiar los campos Descripcin y Stock_min. La sentencia SQL ser la siguiente, la cul al ejecutarla mostrar el mensaje respectivo.

Al momento de ejecutar la sentencia tenemos como resultado lo siguiente:

INSERCIN DE DATOS PROCEDENTES DE OTRAS TABLAS


Podemos apreciar que en el mensaje han sido 5 filas afectadas que son la cantidad de productos que inicialmente hemos insertado en la tabla producto. Podemos utilizar sentencias mas complejas que veremos en el prximo capitulo.

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

En este caso vamos se actualizo el nombre del vendedor cuyo identificador es 1.

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.

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

Facultad de Ingeniera de Sistemas

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.

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

Facultad de Ingeniera de Sistemas

MG. RICHARD Y. MERCADO RIVAS

12

Das könnte Ihnen auch gefallen