Administrar SQL Server y Lenguaje SQL

  • Published on
    05-Jul-2015

  • View
    87

  • Download
    1

Transcript

Semana 1: Administrar SQL Server y Lenguaje SQL 1.1.- MS SQL Server 2000

Microsoft SQL Server 2000 es un conjunto de componentes que trabajan juntos para cubrir las necesidades de almacenamiento y anlisis de datos de los sitios Web de mayor tamao y de sistemas de procesamiento de datos corporativos. Los temas de la arquitectura de SQL Server describen cmo trabajan juntos los diferentes componentes para administrar datos de un modo eficaz.En otras palabras es el mejor manejador de base de datos de Microsoft Entre sus componentes tenemos el:

Administrador Corporativo .- Herramienta para crear y administrarbase de datos asi como acceso de usuarios, procedimientos almacenados, restricciones, etc.

Para entrar debemos irnos al menu INICIO- PROGRAMAS - MICROSOFT SQL SERVER ADMINISTRADOR CORPORATIVO

y nos debe salir la siguiente pantalla:

en la cual nos saldr la consola con los servidores de SQL Server que se unen por grupos y cada grupo puede tener varios servidores en este caso solo tenemos un grupo y tenemos tambien un solo servidor que toma el nombre de la pc. estos se crearon automticamente al instalar SQL Server Si quisiramos aadir un nuevo servidor nos vamos al grupo hacemos clic derecho NUEVO REGISTRO DE SERVIDOR SQL SERVER

Nos saldra el sgte asistente:

Como se muestra en las figuras saldra un asistente para despus escoger el nombre de la pc a la cual nos queremos conectar luego escogemos el modo de autenticacin si es con la autenticacin de windows o de sql en este caso escogemos SQL luego escogemos el usuario administrador por defecto que es SA de ah siguiente y finalizar. Con eso hemos creado una nueva cuenta de servidor (Ojo que podemos tener varias cuentas si lo deseamos) NOTA: Debemos tener en cuenta que el servicio de SQL este activo para eso debemos asegurarnos que le icono del SQL este en color verde . Este icono se mostrara en la barra de tareas al costado del reloj.

En caso de no estar encendido el servicio debemos irnos a INICIO- PROGRAMAS MICROSOFT SQL SERVER - ADMINISTRADOR DE SERVICIOS En servidor se mostrara el nombre de la PC con al cual deseamos trabajar y en servicios debemos asegurarnos que este SQL Server. No olvidar que el icono debe tomar un color verde que indica que el servicio esta activo de otra forma no se podra trabajar con la base de datos.

CREAR BASE DE DATOS.- Para crear una base de datos escogemos la carpeta base de datos clic derecho y NUEVA BASE DE DATOS de ah ponemos el nombre de la base de datos y listo

Una vez creada la base de datos podemos crear tablas dentro de ella En este caso se vamos a crear un tabla dentro de la base de datos BDCOMPRA

miren que salen varias opciones y nosotros debemos escoger TABLA clic derecho NUEVA TABLA

aqu estamos definiendo los campos que tendra esa tabla, se pone el nombre del campo, se escoge el tipo la longitud y marcamos si queremos permitir valores nulos caso contrario lo desmarcamos. Si queremos establecer clave principal a algun campo lo seleccionamos y hacemos clic en el icono de la llave o sino clic derecho y establecer clave principal. Una vez terminado de definir los campos de la tabla lo guardamos y el ponemos un nombre (Se guarda haciendo clic en el icono de guardar o simplemente cerrando la ventana) Una vez cerrada la tabla si hubiera que hacer alguna modificacin seleccionamos la tabla clic derecho DISEAR TABLA

Para llenar datos a la tabla Clic derecho a la tabla Abrir Tabla y DEVOLVER TODAS LAS FILAS

Para llenar datos en SQL Server es muy similar a Access solo llenamos los datos y si en caso queremos eliminar alguno hacemos clic derecho y Eliminar o en todo caso si queremos desplazar la fila la seleccionamos y la arrastramos DIAGRAMAS.- En esta parte podemos relacionar las tablas Seleccionamos La base de datos con la cual vamos a trabajar luego Diagrama y NUEVO DIAGRAMA, despus de esto nos saldra un asistente.

El asistente nos pedira que agreguemos las tablas las cual queremos relacionar

Para

relacionar las tablas lo primero que se debe de tener en cuenta es que tablas se van a relacionar, en este caso vamos a relacionar la tabla cliente con facturacabe ya que en la tabla facturacabe se jala el codigo del cliente, entonces lo que debemos hacer es escoger la tabla cliente(ya que de aqu se van a jalar los codigos) exactamente escogemos el campo del cual vamos a jalar los datos en este caso codcli y lo vamos a arrastrar y dejar encima de la tabla facturacabe exactamente encima del campo codcli que esta en facturacabe de ah se mostrara una ventana indicando la relacin que se ha creado , el nombre que se ha puesto, etc. A lo cual damos aceptar. IMPORTAR y EXPORTAR DATOS.- Otra de las herramientas que tiene el administrador corporativo del SQL server es el de importar datos y exportarlos Por ejemplo tenemos una base de datos y queremos exportarlo a Access. Escogemos la base de datos clic derecho TODAS LAS TAREAS y EXPORTAR DATOS

Nos saldra un asistente: Aqu debemos escoger el origen de datos que en este caso seria SQL Server (Proveedor Microsoft OLE DB para SQL Server) Luego escogemos el servidor donde se encuentra la base de datos y escogemos la autenticacin si es sql debemos poner el usuario SA. Por ultimo en base de datos escogemos la base de datos la cual se va a exportar

Despus de escoger el origen ahora escogemos el destino en este caso es Microsoft Access, en nombre de archivo escogemos la base de datos de access que debe estar vacia para exportar los datos hasta alla. Luego damos siguiente y escogemos Copiar Tablas de ah nos saldra otra pantalla en la cual debemos marcar que tablas

queremos exportar, siguiente y de ahi Finalizar a lo cual nos saldra un mensaje indicando el resultado. NOTA: Debemos de tener en cuenta que la base de datos debe estar creada (vacia), Si queremos exportar a excel en destino debemos escoger Microsoft Excel 8.0 o si queremos exportarla aun documento de texto escogemos Archivo de Texto Para Importar es igual no olvidar que en origen se escoge de donde se va a jalar los datos y en destino a donde se va a copiar los datos. Generar SCRIPT

Un script es un codigo en este caso un codigo para crear base de datos. Para esto escogemos la base de datos clic derecho Todas las Tareas y escogemos Generar Secuencia de Comandos SQL Hacemos clic en el boton MOSTRAR TODO y luego marcamos INCLUIR TODOS LOS OBJETOS y damos aceptar, Sql Server respondera mostrando una ventana en la cual nos pedira guardar ese script a lo cual debemos escoger en donde queremos guardarlo y que nombre le ponemos. Lo que se graba es un archivo similar a un archivo de texto que tiene extensin SQL el cual se podra abrir con el analizador de consultas y tendra codigo que creara base de datos, tablas , etc. BACKUP Y RESTAURAR BASE DE DATOS.- Para realizar una copia de seguridad debemos hacer lo siguinte:

Escogemos la base de datos clic derecho TODAS LAS TAREAS luego escogemos COPIA DE SEGURIDAD DE LA BASE DE DATOS Una vez que sale esta ventana hacemos clic en AGREGAR

Luego en donde dice nombre de archivo ponemos la ruta donde queremos guardar la copia de seguridad o en todo caso hacemos clic en el boton (...) para escoger la ruta donde queremos guardar el backup Luego damos aceptar.aceptar y nos debe salir un mensaje que todo salio bien. Restaurar

Para restaurar la base de datos debemos escoger la base de datos en la cual queremos restaurar clic derecho TODAS LAS TAREAS y RESTAURAR BASE DE DATOS. Al salir esta pantalla escogemos DESDE DISPOSITIVO y despus hacemos clic en el boton DISPOSITIVOS

Luego hacemos clic en Agregar y nos saldra esta pantalla en donde debemos escoger el backup que queremos restaurar y le damos aceptar luego debemos irnos a OPCIONES y marcar Forzar restauracion

NOTA: Para restaurar la base de datos debe tener el mismo nombre de la base de datos de la cual se hizo el backup, si en caso tienen nombre distintos debemos modificar algunas cosas.

Analizador de Consultas.Esta es una herramienta en el cual podremos crear base de datos, tablas, etc mendiante codigo sql (Lenguaje SQL podriamos hacer lo mismo que hemos hecho con el administrador corporativo pero con puro codigo) Para entrar debemos irnos a INICIO- PROGRAMASMICROSOFT SQL SERVER ANALIZADOR DE CONSULTAS En servidor escogemos la PC a la cual queremos conectarnos si ponemos punto significa que nos estamos conectando a la PC local, marcamos la opcion INICIAR SQL si esta detenido escogemos la autenticacin si es sql en usuario ponemos SA Y ACEPTAR. Despus de esto nos saldr una pantalla en blanco en la cual podremos escribir codigo sql para crear base de datos, tablas ,vistas, etc. Lo primero que debemos de tener en cuenta es de seleccionar la base de datos con la cual se va a trabajar, o en todo caso lo podemos hacer con codigo sql con la instruccin USE que ya veremos mas adelante. Para ver los objetos que hay en el SQL Server presionamos F8 (Examinador de objetos) y nos saldra una ventana parecida a la del administrador corporativo. Lenguaje de Definicin de datos

Ejemplos:Tenemos la base de Datos BDBANCO y tenemos las sgtes tablas: create table banco(codban varchar(4) not null primary key, nomban varchar(30) not null) go create table cuenta(nrocta int primary key not null, nomcli varchar(70) not null, dircli varchar(40) not null, fecaper datetime not null, saldoaper numeric(8,2) not null, tipocta varchar(1) not null, codban varchar(4) not null, foreign key(codban) references banco(codban) on delete cascade on update cascade --Foreign key es para crear un clave foranea es decir Codban es una clave foranea que va a ser jalada de la tabla banco del campo codban

--Se pone on delete cascade y on update cascade para eliminar y actualizar en cascada es --decir si se elimina un banco se eliminaran las cuentas de ese banco. go create table movimiento(nromov int identity(100001,1) primary key not null, tipomov varchar(1) not null, fechamov datetime not null, monto numeric(8,2) not null) --Identity(100001,1) quiere decir que es autonumerico empieza del 100001 y va avanzar de 1 en 1 --Agregar un campo Ciudad a la tabla banco que tenga Lima como valor x defecto. alter table banco add ciudad varchar(15) default 'lima' --Modificar el campo nomcli de la tabla cuenta alter table cuenta alter column nomcli varchar(50) --Agregar una restriccion al campo fecaper y poner la fecha actual x defecto alter table cuenta add constraint resfechaaper default getdate() for fecaper --Agregar una restriccion a la tabla cuenta al campo tipocta que solo acepte S o D alter table cuenta add constraint restipocta check(tipocta like '[s,d]') --Eliinar el campo dircli de cuenta alter table cuenta drop column dircli alter table movimiento add constraint restipomov check(tipomov like '[D,R]') --Agregar un campo nrocta a Movimiento que sea clave foramea es decir va a jalar los ----datos de nrocta de la tabla cuenta alter table movimiento add nrocta int foreign key(nrocta) references cuenta(nrocta) on update cascade on delete cascade Nota:Si el campo nrocta ya hubiera existido y solo queremos crear el constraint que haga la relacion con la tabla cuenta la sentencia seria asi: alter table movimiento add constraint pkNro foreign key(nrocta) references cuenta(nrocta) --Agregar una restriccion al campo monto que solo acepte numeros del 0 al 1000 alter table movimiento add constraint resmonto check(monto between 0 and 1000) MAnipulacion de Datos Ejemplo: Tomando la base de datos del ejemplo Anterior BDBANCO llenemos datos --Esta es una forma de llenar datos poniendo los campos y los valores insert into banco (codban,nomban) values('b','latino') --Esta es mas sencilla no se pone los campos solo los valores insert into banco values('a','wiese',default) insert into banco values('c','credito',default) insert into banco values('d','continental','piura') go insert into cuenta values(10001,'ana suarez','01/01/2001',100.20,'s','a') insert into cuenta values(10002,'luis salas',default,500.00,'s','a') insert into cuenta values(10003,'pedro chang','04/10/1998',750.50,'d','c') go insert into movimiento values('d',default,140,10001) insert into movimiento values('d',default,90,10001)

insert into movimiento values('r','01/10/2002',123,10001) insert into movimiento values('r','11/03/2002',200,10002) NOTA: Observen que en algunos campos se pone DEFAULT y esto se debe a que al campo se le ha puesto una restriccin para que tome un valor x defecto ademas en la tabla movimiento no se esta llenando el campo nromov y esto se debe a que ese campo es autonumerico.

Practica dirigida DDL y DML --lenguaje de definicion de datos --use activa la base de datos --en este caso se activa la base de datos master use master --go continua con la line de abajo go --sysdatabases es una tabla del sistema y en el campo name se almacena --el nombre de las bases de datos que han sido creadas --exists devuelve true si cumple la condicion o false si no cumple if exists(select name from sysdatabases where name='bdidat') bejn --drop database elimina la base de datos drop database bdidat end go --create database crea una base de datos create database bdidat go --se activa la base de datos bdidat use bdidat go --create table crea una tabla create table alumno(codalu int,nomalu varchar(50),diralu varchar(50),numlocal

varchar(2)) go create table curso(codcur varchar(4),nomcur varchar(50),precur numeric(8,2)) go create table nota(codalu int,codcur varchar(4),np int,nf int,susti int,prom int) go

--lenguaje de manipulacion de datos --sentencia insert insert into alumno (codalu,nomalu,diralu,numlocal)values(1001,'juan perez','jr arica 1234','01') insert into alumno (codalu,nomalu,diralu,numlocal)values(1002,'miguel solis','jr tarma 123','01') insert into alumno (codalu,nomalu,diralu,numlocal)values(1003,'ana salas','jr peru 3454','02') insert into alumno (codalu,nomalu,diralu,numlocal)values(1004,'nadia chu','jr lima 1221','02') insert into alumno (codalu,nomalu,diralu,numlocal)values(1005,'mario espinoza','jr piura 334','03') go insert into curso values('mate','matematica',43.20) insert into curso values('lp-1','lenguaje de programacion i',50.00) insert into curso values('lp-2','lengaaa',55.50) go insert into nota (codalu,codcur,np,nf)values(1001,'mate',12,09) insert into nota (codalu,codcur,np,nf)values(1001,'lp-1',05,12) insert into nota (codalu,codcur,np,nf)values(1001,'lp-2',15,16) insert into nota (codalu,codcur,np,nf)values(1002,'mate',14,12) insert into nota (codalu,codcur,np,nf)values(1002,'lp-1',20,12) insert into nota (codalu,codcur,np,nf)values(1003,'mate',17,15) go --sentencia update --modificar el nombre del curso lp-2 update curso set nomcur='lenguaje de programacion ii' where codcur='lp-2' --actualizar los promedios de las notas update nota set prom=(np+nf)/2 --el alumno 1001 en el examen sustitutorio de matematica saco 12 actualizar su nota

update nota set susti=12 where codalu=1001 and codcur='mate' --reemplazar la nota menor con la nota del susti update nota set nf = susti where codalu=1001 and codcur='mate' --volver a calcular el promedio update nota set prom=(np+nf)/2 where codalu=1001 and codcur='mate' go --sentencia delete --eliminar todos los alumnos jalados en el promedio final delete from nota where prom