Sunteți pe pagina 1din 132

Mdulo de SQLServer 2000

Curso de Certificacin FORD


Ma Carmen Jimnez Mayo 2004

Mdulo de SQLServer 2000


1. 2. 3. 4. 5. Introduccin a Base de Datos Conceptos Bases de Datos Introduccin a SQLserver 2000 Server Enterprice Manager SQL Server Base de Datos y sus Propiedades

6. Instalacin de SQL server 2000 7. Requisitos de Hardware 8. Requisitos de Software 9. Permisos de la Base de Datos 10. Funciones para Usuarios

Mdulo de SQLServer 2000


11. Crear una Base de Datos 12. Accesar una Base de Datos 13. Instrucciones DDL 14. Manejo de Constraints 15. Instrucciones DML 16. Consultas a una Base de Datos (Querys) 17. Sentencia WHERE 18. Funciones para datos tipo Caracter 19. Funciones para datos tipo Fecha 20. Funciones Grupales 21. Sentencia GROUP BY 22. JOIN

Mdulo de SQLServer 2000


23. Respaldos y Recuperacin de Bases de Datos 24. Performance y Optimizacin de Base de Datos 25. Manejo de LOG 26. Plan de Mantenimiento

Lenguajes computacionales
VISUAL BASIC JAVA VISUAL C...

SQL

Herramientas De aplicacin
FORMS

DBMS

REPORTS GRAPHS...

SQL SERVER ORACLE INFORMIX...

Sistema de Base de Datos


Desarrolladores Programas De Aplicacin Programadores DBMS
Herramientas Para el Diseo M O T O R B. D.

Datos del Usuario

B.D.
Catlogo del Sistema: Indices, Restricciones, descripciones, etc,(Metadatos)

Usuarios

Programas De Aplicacin

Query y Procedimientos

PROCESO DEL DESARROLLO DE UNA BASE DE DATOS


Recoleccin y Anlisis de requerimientos
Esquema Conceptual Diseo Lgico de la Base de Datos Diseo Fsico de la Base de datos

Base de Datos operando

PROCESO DEL DESARROLLO DE UNA BASE DE DATOS


Esquema Conceptual

Se Se Se Se Se

crea el modelo Entidad - Relacin definen las entidades. definen los atributos (campos). definen las relaciones. crea el diagrama de la B.D.

MODELO ENTIDAD RELACIN


MODELO CHEN
Nombre Num.Dpto

Num.nmina

EMPLEADO

Fecha Nac.

N tiene 1
Direccin

Num.Dpto

DEPARTA MENTO

Nombre

MODELO ENTIDAD RELACIN


MODELO PATAS DE GALLO
INSTRUCTOR #(1) Clave * Nombre * Direccin #(2) RFC FK Profesion ASIGNACION #(1)Clave Instructor #(1)Codigo Curso * Fecha PROFESION # Clave * Descripcin CURSO # Codigo * Nombre * Duracin FK Requisito * Predecesor PARTICIPANTE # Clave * Nombre * Direccin * Puesto

INSCRIPCION #(1)FK Clave Participante #(1)FK Codigo Curso * Fecha * Evaluacion

PROCESO DESARROLLO DE UNA BASE DE DATOS


Diseo Lgico de la Base de Datos

Se crea el esquema conceptual Se definen las caracteristicas de los atributos (tipo, longitud, tamao). Se definen restricciones. Es independiente al software de la B.D.

PROCESO DESARROLLO DE UNA BASE DE DATOS


Diseo Fsico de la Base de Datos

Se crea fisicamente la B.D. Se definen el manejador de la B.D. con el cual se creara la B.D. (DBMS) Se crea la estructura de la B.D. Se introduce la informacin en la Estructura de la B.D.

TERMINOLOGIA

TABLA/ ENTIDAD / AFINIDAD, algo o alguien de quin se requiere informacin. COLUMNAS/CAMPO / ATRIBUTO, caractersticas de una entidad REGISTRO/TUPLA(E)/RENGLONES. LLAVE (PK, FK, SK, llave compuesta)

Definicin de LLAVES
LLAVE PRIMARIA (PK), Atributo nico dentro de una Entidad, se representa con el signo de #. LLAVE FORANEA (FK), aquel atributo que es llave Primaria en otra entidad, lo que nos permite Tener el acceso a dicha entidad. LLAVE SECUNDARIA, atributo con valor nico Dentro de una entidad pero no es la llave primaria LLAVE COMPUESTA, llave compuesta por ms de Dos o ms atributos.

Qu es SQLServer 2000

SQLServer es una sistema de administracin (DBMS) de Base y de Datos su completo poderoso,

interfaz de usuario es amigable similar a las interfases tipo Windows, con barras de mens, iconos, etc.

COMPONENTES DE UN DBMS
QUERYS DML DDL Procedure Diccionario de Datos Consultas Base de Datos Data Manipulation Language Data Definition Language Genera programas Metadatos

BASE DE DATOS Datos, conjunto de tablas, registros.

Iniciar el Servicio de SQLServer 2000


Nombre Hardware

Nombre de Servicio

Server Enterprice Manager SQLServer

Instancia a la B.D.

Base de Datos Operativas y Usuario Control de Seguridad

SERVER ENTERPRICE MANAGER Raz de la Consola Instancia a la B.D. Base de datos Servicios de Transformacin . Administracin Seguridad Servicios compatibles Meta Datos

Server Enterprice Manager SQLServer


Herramienta Base de Datos * Servicios de Transformacin de Datos Administrador Funcin Base de Datos Operativas, y creadas por el usuario DTS, es una herramienta que permite transformar, extraer y consolidar datos de diferentes fuentes Permite administrar las tareas de la base de datos, es un apoyo del DBA

Server Enterprice Manager SQLServer


Herramienta Seguridad * Servicios de Soporte Servicio de MetaDatos Funcin Configura usuarios, password, roles asociados a los permisos de la B.D. Servicios Adicionales como SQLMail, Herramientas de apoyo a ndices. Administra los Medatos de la B.D.

B.D. operativas de SQLserver


Base de Datos Descripcin

Master Model Tempdb Msdb Pub

B.D. controla los usuarios , cuentas, etc. Configura el medio ambiente, la ubicacin de la B.D. Provee template, prototipos para nuevas B.D. Provee una rea de almacenamiento para tablas temporales. Almacena datos histricos y respaldos B.D. opcional, contiene ejemplos

Propiedades de las B.D. SQLserver

Propiedades General

Descripcin Datos generales de la Base de Datos : nombre de la B.D. , propietario, fecha de creacin , tamao, etc. usuarios , cuentas, etc. Ubicacin de la B.D., crecimiento automtico de la B.D. se sugiere 10%. Se indica el rea de trabajo de la B.D.

Archivo de Datos Registro de transacciones

Propiedades de las B.D. SQLserver


Propiedades Grupo de Archivos Opciones Descripcin Permite integrar todas las tablas del sistema en un grupo de manera que residan en un solo disco. Por default PRIMARY. Restringe accesos, controla recuperaciones y configura el comportamiento de la aplicacin de la B.D. ejemplo NULL o NOT NULL Asigna permisos a usuarios para determinar las acciones que puede realizar en la B.D.

Permisos

Permisos de la B.D. SQLserver


Se debe navegar por el Server Entrerprice Manager , hasta la carperta de SEGURIDAD seleccionar NUEVO LOGIN. Encontraremos 3 opciones : General , inicin de sesin. Funciones del Servidor. Acceso a la Base de Datos.

Permisos de la B.D. SQLserver


Propietario de la Base de Datos, significa que este usuario tiene la Capacidad de agregar, configurar, crear y quitar de la base de datos Lo que desee. El DBO es el propietario de la Base de Datos. Para cada usuario se debe crear una cuenta y asignarles distintos Permisos (accesos otorgados o denegados). Estos permisos estn relacionados con el servidor, las base de datos o los objetos dentro de una instancia. Nota : Windows 2000 o NT, permite la autenticacin desde que se Inicia la sesin al equipo.

Permisos de la B.D. SQLserver


General, inicin de sesin . USUARIO. Asignar nombre de usuario y password, o bien se autenticacin con los datos de Windows NT. Datos Predeterminado. Se especfica el idioma (formatos de fecha) y la base de datos prederteminados para una sesin. Otorgar accesos a la Base de Datos . Aparece una lista con las Base de Datos, se deben seleccionar las que se asignaran al usuario . Permisos, en este punto se determina cual es la funcin del usuario el default es PUBLIC.

Permisos de la B.D. SQLserver


Funciones para Usuarios de la B.D. db_owner db_securityadmin db_accessadmin db_ddladmin db_backupoperator db_datawriter db_datareader db_denydatawriter db_denydatareader

Permisos de la B.D. SQLserver


Qu tipo de PERMISOS tiene cada FUNCION (grupo)? db_owner , sta es la funcin ms poderosa que pueda tener un usuario. Permite al usuario un control completo de la B.D. El usuario sa es un miembro de esta funcin. db_securityadmin, permite que un administrador maneje todas las funciones y seguridad de los usuarios, sin necesidad de tener el control completo. db_accessadmin, permite que este usuario tenga el derecho de agregar o quitar usuarios de la base de datos. db_ddladmin, permite a un usuario manipular todos los objetos de la B.D. Ejemplo : un usuario, tablas, etc.

Permisos de la B.D. SQLserver


Qu tipo de PERMISOS tiene cada FUNCION (grupo)? db_backupoperator , sta es la funcin permite que los usuarios realicen copias de seguridad de la B.D. db_datawriter, permite que un usuario modifique los datos de todas las tablas de usuario . db_datareader, permite que un usuario vea los datos de todas las tablas de usuario. db_denydatawriter, evita que cualquier usuario modifique cualquier dato de las tablas de usuario. db_denydatareader, evita que cualquier usuario consulte o lea cualquier dato de las tablas de usuario.

Permisos de la B.D. SQLserver


Un usuario puede pertener a una o varias funciones, sin caer en contradicciones. Ejemplo si un usuario pertenece a las funciones db_datawriter y db_denydatawriter, evita que el usuario modifique cualquier dato de las tablas de usuario, ya que el denegado tiene una precedencia mayor. Ejemplo si un usuario pertenece a las funciones db_datawriter y db_backupoperator, podra evita que el usuario modifique cualquier dato de las tablas de usuario, ya que el denegado tiene una precedencia mayor.

Permisos de la B.D. SQLserver


Tambin se pueden asignar funciones a la instancia de la B.D. sysadmin securityadmin serveradmin setupadmin processadmin dbcreator

Permisos de la B.D. SQLserver


Tipo de funciones que se asignan a una instancia de la B.D. sysadmin, esta funcin tiene control total sobre la instancia de SQL Server 2000, la cuenta sa pertenece a esta funcin. securityadmin, puede crear y administrar inicios de sesin para el servidor. serveradmin, configura la instancia de SQL Server 2000, puede apagar incluso el servidor. setupadmin, tiene la capacidad de administrar procedimientos de inicio y servidores vinculados. processadmin, tiene la capacidad de administrar procesos que SQL Server 2000 tiene en ejecucin. dbcreator, esta funcin puede crear, alterar y quitar B.D.

Permisos de la B.D. SQLserver


Control de permisos a usuarios Se tiene un nivel muy fino de granularidad en los permisos, Ejemplo : Se puede negar la consulta a un campo especfico. Se debe crear una funcin para la B.D. Navegue hasta la carpeta de funciones. Seleccione nueva funcin.

Seleccionar tipo de funciones : estndar contiene usuarios con permisos, aplicacin se asigna usuarios y permisos por aplicacin.

Permisos de la B.D. SQLserver


Para verificar el usuario que esta conectado a la Base de Datos. select SYSTEM_USER.

Requisitos de HARDWARE
Equipo Memoria RAM Espacio en Disco Duro Pantalla Intel o Compatible Pentium 166MHz o superior. 64MB Mnimo, se recomienda 128 MB Componentes B.D SQLserver 95 a 270 MB Analysis Services 50MB 130 MB VGA o resolucin superior

Requisitos de SOFTWARE
Enterprise Standar Microsoft Windows NT Server 4.0, Microsoft Windows NT Server Enterprise 4.0, Windows 2000 Server, Windows 2000 Advanced Server y Windows 2000 Data Center Server. Personal Microsoft Windows ME, Windows 98 Windows 2000 Profesional Adems de los Sistemas Operativos anteriores Developer Sistemas Operativos Windows NT y Windows 2000 Solo Herramientas Windows ME , Windows 98 Cliente Todos los Sistemas Operativos anteriores

Requisitos de SOFTWARE de Red


Microsoft Windows NT, Windows 2000, Windows Me, Windows 98 y Windows 95 tienen software de red integrado. Slo se requiere software de red adicional si va a utilizar Banyan VINES o AppleTalk ADSP. La compatibilidad con el cliente Novell NetWare IPX/SPX se proporciona mediante el protocolo NWLink del Entorno de red de Windows.

Requisitos de SOFTWARE en Clientes


Microsoft SQL Server 2000 admite los siguientes clientes: Windows NT Workstation, Windows 2000 Professional, Windows 98, Windows 95. Apple Macintosh, OS/2 y UNIX. Macintosh, OS/2 y UNIX no admiten las herramientas grficas de SQL Server y requieren el software cliente ODBC de otro fabricante.

Ediciones de SQL Server 2000


Enterprise,

Standard, Personal, Developer y Evaluation.

Instalar SQLServer2000
Instalar un servidor de base de datos SQL Server 2000 Enterprise o SQL Server 2000 Standard. Instalar una base de datos personal en una estacin de trabajo SQL Server 2000 Personal. Normalmente, estas instalaciones incluyen el motor de base de datos, las herramientas de administracin de base de datos del cliente y los componentes de conectividad del cliente.

Instalar SQLServer2000
Para dar inicio a la instalacin seleccione la opcin COMPONENTES de SQL Server 2000 Instalar Servidor de Bases de Datos, proporciona soporte para soluciones escalables . Instalar Analysis Services, diseado para aplicaciones OLAP y minera de datos. Instalar English Query, permite modelar instrucciones en ingls en lugar de formar instrucciones en SQL.

CREAR BASE DATOS SQLserver 1 ) Atravs de SQL Server Entrerprice Manager, dentro del rbol de WINDOWS, seleccionar NEW DATABASE 2) A travs de Server Query Analyzer CREATE DATABASE NombreBase Datos;

ACCESAR BASE DATOS SQLserver 1 ) Atravs de SQL Server Entrerprice Manager, dentro del rbol de WINDOWS

2) A travs de Server Query Analyzer USE NombreBase Datos;

TIPO DE DATOS SQLServer

Tipo de Dato Int Decimal(M,D) DateTime Char(N) Varchar(N) Text

Descripcin Enteros Nmeros Reales Fecha Caracteres Fijo Caracteres Variable

CREAR TABLAS SQLServer

Instrucciones DDL
CREATE TABLE nombre (campo1 tipo de dato, campo2 tipo de dato NOT NULL, campo3 tipo de dato VALOR INICIAL, campo4 tipo de dato CONSTRAINT);

CREAR TABLAS SQLServer

Instrucciones DDL
CREATE TABLE cliente (numero int, nombre varchar(20) NOT NULL, saldo float DEFAULT 0, fecha_ing date DEFAULT GETDATE(), constraint num_pk PRIMARY KEY (numero);

AGREGAR COLUMNAS SQLserver


TABLA EMPLEADO EMPNO ENAME 7698 7654 7499 7844 ....... EMPNO ENAME 7698 7654 7499 7844 ....... BLAKE MARTIN ALLEN ANNSAL HIREDATE 34200 15000 19200 01-MAY-81 28-SEP-81 20-FEB-81 08-SEP-81 JOB BLAKE MARTIN ALLEN ANNSAL HIREDATE 34200 15000 19200 01-MAY-81 28-SEP-81 20-FEB-81 08-SEP-81 Agregar Una nueva Columna dentro de la Tabla DEPT30

TURNER 18000

TURNER 18000

CREAR TABLAS SQLServer ALTER TABLE nombre (ADD campo1 tipo de dato);

Ejemplo : ALTER TABLE cliente (ADD email varchar(50) );

TRUNCATE UNA TABLA

La instruccin TRUNCATE TABLE , elimina todos los registro


respetando la estructura. A la instruccin TRUNCATE no se le puede aplicar ROLLBACK.

Una instruccin alternativa , es utilizar la instruccin DML DELETE.

TRUNCATE TABLE departamento;

ELIMINANDO COLUMNAS
Eliminar la Columna de HIREDATE de la Tabla DEPT30

DEPTO30 EMPNO ENAME 7698 7654 7499 7844 ....... BLAKE MARTIN ALLEN ANNSAL HIREDATE 34200 15000 19200 01-MAY-81 28-SEP-81 20-FEB-81 08-SEP-81 JOB
mkt Sales Manag sales

TURNER 18000

ELIMINADO COLUMNAS (DROP COLUMN )


ALTER TABLE dept30 DROP COLUMN(HIREDATE); Elimina la columna dentro de la tabla, incluyendo los datos

EMPNO 7698 7654 7499 7844 ............

ENAME BLAKE MARTIN ALLEN TURNER

ANNSAL 34200 15000 19200 18000

JOB SALESMAN MANAGER SALESMAN MANAGER

6 rows selected.

MODIFICANDO COLUMNAS
Se pueden realizar los siguientes cambios : Incrementar de tamao un campo. Decrementar de tamao un campo, siempre y cuando los valores sean nulos o bien no haya registros. Cambiar el tipo de campo, bajo la misma condicin del punto anterior. Agregar un constraint de NOT NULL siempre que no haya valores NULOS en la columna

Desde el Administrador de SQL Se elige DISEO DE TABLAS

Qu son los CONSTRAINTS ?


Los Constraints son reglas a nivel Tabla. Los Constraints protegen la integridad de las tablas. Los tipos de Contraints que maneja SQL server 2000 son: o NOT NULL. o UNIQUE Key. o PRIMARY Key. o FOREING Key. o CHECK.

TIPOS DE CONSTRAINTS
CONSTRAINT NOT NULL UNIQUE Key DESCRIPCION El campo no se puede quedar NULO El campo debe tener un valor nico dentro de toda la tabla Identificador nico dentro de la tabla Indica que la columna es llave primaria Especfica condiciones especiales para una columna

PRIMARY Key FOREIGN Key CHECK

CONSTRAINT NOT NULL


Este tipo de constraint se define a nivel campo

CREATE TABLE emp( empno NUMBER(4) , ename VARCHAR2(10) NOT NULL , job VARCHAR2(9) , mgr NUMBER(4) , hiredate DATE, sal NUMBER(7,2) , comm NUMBER(7,2) , deptno NUMBER(7,2) NOT NULL ;

Constraint de UNIQUE
El campo dname deber contener un valor nico

CREATE TABLE dept ( deptno INT, dname VARCHAR2(14) , loc VARCHAR(13) , CONSTRAINT dept_dname_uk UNIQUE (dname);

Constraint de PRIMARY KEY


El campo deptno es la llave primaria de la tabla

CREATE TABLE dept( deptno INT , dname VARCHAR2(14) , loc VARCHAR(13) , CONSTRAINT dept_dname_uk UNIQUE (dname), CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno)) ;

Constraint de FOREIGN KEY


Dentro de la tabla de emp, el campo deptno es una FK, Y su referencia es con la tabla dept donde del campo deptno es PK
CREATE TABLE emp ( empno NUMBER(4) , ename VARCHAR2(10) NOT NULL , job VARCHAR2(9) , mgr NUMBER(4) , hiredate DATE, sal NUMBER(7,2) , comm NUMBER(7,2) , deptno NUMBER(7,2) NOT NULL ; CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno) REFERENCES dept (deptno));

Constraint de CHECK
Dentro de la tabla de emp, el campo comm solo aceptara valores De 10, 20 y 30. CREATE TABLE emp ( empno INT , ename VARCHAR2(10) NOT NULL , job VARCHAR2(9) , mgr INT , hiredate DATE, sal INT , comm INT , deptno INT NOT NULL ; CONSTRAINT emp_comm_ck CHECK (comm IN (10,20,30)) );

Agregar / Borrar CONSTRAINT


Elimar el constraint emp_mgr_uq de la tabla EMP . ALTER TABLE emp DROP CONSTRAINT emp_mgr_uq; The command(s) completed successfully . Agregar el constraint emp_mgr_fk de la tabla EMP . ALTER TABLE ADD CONSTRAINT emp emp_mgr_uq UNIQUE(manager);

The command(s) completed successfully .

CONSULTA DE LOS CONSTRAINTS


SQL> SELECT * FROM INFORMATION_schema.table_constraints

CONSTRAINT_CATALOG EPTNO EMP_EMPNO-PK EMP_MGR_FK SYS_C00674 SYS_C00675

COLUMN_NAME

EMPNO MGR EMPNO DEPTNO

CONSULTA DE LOS CONSTRAINTS


SELECT * FROM INFORMATION_schema.table_constraints

CONSTRAINT_CATALOG DEPARTAMENTO EMPLEADO

CONSTRAINT_NAME pk_deptno_cve fk_emp_cat

DATA MANIPULATION LANGUAGE/ DML


COMMAND INSERT UPDATE DELETE ROLLBACK DESCRIPTION Agrega nuevos registros a la tabla Modifica registros ya existentes Elimina registros ya existentes Deshace el ltimo cambio (con excepciones)

INSERTAR DATOS A LA B.D.


INSERT INTO table [(column1 , column2)] VALUES (value1 , value2);

La estructura de la tabla DEPT


Name Null Type ----------------------------------------------------------ID Not Null INT NAME Not Null VARCHAR2(25) REGION_ID INT SQL> INSERT INTO DEPT 2 VALUES (11, Finance,2);

Actualizar Registros en la B.D.


UPDATE table SET column = value [WHERE condition];

UPDATE dept SET region_id = 10 WHERE id = 2

Si la clave del departamento es igual a 2, cambia el valor que tiene la region por 10.

Name Null Type ----------------------------------------------------------ID Not Null INT NAME Not Null INT REGION_ID INT

Actualizar Registros en la B.D.


Actualiza el dept_id con valor de 32 y el salario con Valor 2550, para el empleado con id = 2

UPDATE employee SET dept_id = 32, salary = 2550 WHERE id = 2 ;

Actualiza la comisin de todos los empleados con el Valor de 10.

UPDATE employee SET commission = 10;

Eliminar Registros en la B.D.


DELETE FROM table [WHERE condition];

Elimina todos los registros de la tabla de dept.

DELETE FROM dept;

Elimina Registros en la B.D.


SQL>DELETE dept 2 WHERE region_id = 1;
Este registro no se puede borrar debido a que es llave fornea de la tabla de empleados. Es decir un empleado tiene la clave de un departamento

ROLLBACK SQL>DELETE FROM employee;


30,000 rows delete

Se borran 30,000 registros de la tabla de employee, al indicar la instruccin Rollback se des-hace el delete antes realizado. Los 30,000 registros se vuelven a habilitar.

SQL> ROLLBACK;
Rollback complete.

Resumen de instrucciones SQL


SELECT INSERT UPDATE DELETE CREATE ALTER DROP RENAME TRUNCATE COMMIT ROLLBACK SELECCIN DE DATOS

LENGUAJE DE MANIPULACIN DE DATOS (DML)

LENGUAJE DE DEFINICIN DE DATOS (DDL)

CONTROL DE TRANSACCIN (Administra los cambios realizados por DML)

SELECCIONANDO COLUMNAS La instruccin SELECT , permite seleccionar datos de la De una o ms tablas de la Base de Datos. Sintaxis : SELECT [DISTINCT] { * , nombre columna [alias]} FROM nombre de la tabla;

SELECCIONANDO TODAS LAS COLUMNAS SELECT * FROM departamento; Resultados : DEPTNO 10 20 30 40 DNOMBRE DLOC

ACCOUNTING NEW YORK RESEARCH DALLAS SALES CHICAGO OPERATIONS BOSTON ... 4 lneas seleccionadas

SELECCIONANDO COLUMNAS ESPECIFICAS SELECT dloc, deptno FROM departamento; Resultados : DLOC NEW YORK DALLAS CHICAGO BOSTON DEPTNO 10 20 30 40

... 4 lneas seleccionadas

SELECCIONANDO COLUMNAS ESPECIFICAS (con operaciones aritmticas) SELECT ename, esal, esal+300 FROM empleado; ENAME ESAL ESAL+300 5300 3150 2750 3275 1550 1900

KING 5000 BLAKE 2850 CLARK 2450 JONES 2975 MARTIN 1250 ALLEN 1600 ... 14 lneas seleccionadas

DEFINIENDO UN ALIAS DE COLUMNA Renombrar el encabezado de la columna. Es comn que se utilice cuando se realizan clculos matemticos. Inmediatamente despus del nombre de la columna, se escribe la palabra reservada AS y se indica el titulo deseado para la columna. Requiere doble comillas si es que contiene espacios o caracteres especiales.

DEFINIENDO UN ALIAS DE COLUMNA SELECT ename, esal, 12*(esal+100) AS ANUAL FROM empleado; ENAME KING BLAKE CLARK JONES MARTIN ALLEN ..... ESAL 4900 ANUAL 60000

2900 36000 2400 30000 2900 36000 1400 18000 1900 24000 14 lneas seleccionadas

SELECCIONANDO LAS COLUMNAS CON CIERTO ORDEN La instruccin ORDER BY , permite seleccionar las Columnas con cierto orden. Sintaxis : SELECT nombre columnas FROM nombre de la tabla [ORDER BY { nombre columna} [ASC/DESC] ];

SELECCIONANDO LAS COLUMNAS CON CIERTO ORDEN SELECT ename, deptno, efecha_ing FROM empleado ORDER BY ename; ENAME BLAKE CLARK DANCS DUMAS MARTIN KING ..... DEPTNO 43 44 44 45 35 32 EFECHA_ING 07-APR-90 09-FEB-92 30-NOV-90 17-MAR-91 09-OCT-91 18-JAN-92

14 lneas seleccionadas

SELECCIONANDO LAS COLUMNAS CON CIERTO ORDEN SELECT ename, deptno, efecha_ing FROM empleado ORDER BY efecha_ing DESC; ENAME CLARK KING MARTIN DUMAS DANCS BLAKE ..... DEPTNO 44 32 35 45 44 43 EFECHA_ING 09-FEB-92 18-JAN-92 09-OCT-91 17-MAR-91 30-NOV-90 07-APR-90

14 lneas seleccionadas

SELECCIONANDO LAS COLUMNAS CON CIERTO ORDEN SELECT ename, deptno, esal AS SALARIO FROM empleado ORDER BY deptno, esal DESC; ENAME KING MARTIN CLARK DANCS BLAKE DUMAS ..... DEPTNO 32 35 44 44 45 45 SALARIO 1450 1250 1400 750 1950 1800

14 lneas seleccionadas

LIMITANDO LA SELECCIN DE COLUMNAS


ENAME KING MARTIN CLARK DANCS BLAKE DUMAS ..... DEPTNO 32 35 44 44 45 45 14 lneas seleccionadas SALARIO 1450 **** 1250 1400 750 1950 **** 1800 ****

SELECT * FROM empleado WHERE salario > 1400;

Operadores de Comparacin

OPERADORES

Operador Significado = Igual > Mayor que <= Menor o igual


Operadores SQL

Operadores Lgicos

Operador BETWEEN.. AND.. IN (lista) LIKE IS NULL

Significado Entre dos valores Match algun valor Match El valor es NULO

Operador Significado AND El resultado es TRUE cuando ambos se cumplen OR El resultado es TRUE cuando uno se cumple NOT Niega la condicin

EL OPERADOR BETWEEN SELECT first_name, last_name FROM s_emp WHERE start_date BETWEEN 09-may-91 AND 17-jun-91 ;

SELECT id, name, region_id FROM s_dept WHERE region_id IN (1,3,5);

EL OPERADOR LIKE Smbolo % Descripcin Es un comodn

SELECT first_name, last_name FROM s_emp WHERE last_name LIKE M%; SELECT * FROM s_emp WHERE last_name NOT LIKE %a%;

EL OPERADOR NULL SELECT first_name, last_name, commission_pct FROM s_emp WHERE commission_pct IS NOT NULL;

SELECT * FROM s_emp WHERE sales_rep is NULL;

EL OPERADOR AND & OR SELECT * FROM s_emp WHERE dept_id = 41 AND title = Clerk SELECT * FROM s_emp WHERE dept_id = 41 OR title = Clerk

FUNCIONES SIMPLES PARA DATOS TIPO CHAR Nombre de la Funcion (column) LOWER : convierte a minsculas UPPER : convierte a maysculas + LEN : une dos o ms campos : regresa el tamao del string SUBSTRING : regresa un conjunto de caracteres.

FUNCIONES SIMPLES PARA DATOS TIPO CHAR SELECT LOWER(first_name), UPPER (last_name) FROM s_emp; SELECT first_name + last_name, SUBSTRING(last_name,2,3) FROM s_emp WHERE LENGTH(last_name) > 10;

FUNCIONES PARA DATOS TIPO FECHA Operacin MONTH YEAR DAY Resultado nmero del mes 2 dgitos ao 4 dgitos nmero del da 2 dgitos

Select month(fechaing) From EMPLEADO;

FUNCIONES PARA DATOS NUMERICOS SELECT nombre, puesto FROM EMPLEADO where month(FEC_NAC ) = 2 Nombre Juan Karla Ana Puesto analista lider proyecto vendedor

------------ -----------Luis Angel vendedor

FUNCIONES DE GRUPO NUMERICAS AVG(atributo) : promedio de todos los atributos, [que cumplen la condicin] COUNT(atributo) : nmero de registros, * cuenta todos incluso los nulos y los rpetidos. MAX(atributo) : mximo valor. MIN(atributo) : mnimo valor. SUM(atributo) : suma los valores excepto nulos.

FUNCIONES DE GRUPO NUMERICAS SELECT AVG(salario), MAX(salario), MIN(salario), SUM(salario) FROM s_emp WHERE UPPER(puesto) LIKE VENTAS; AVG(salario), MAX(salario), MIN(salario), SUM(salario) ------------------------------------------------------------------1476 1525 1400 7380

FUNCIONES DE GRUPO NUMERICAS SELECT COUNT(*) FROM s_emp WHERE dept_id = 31;

COUNT(*) -----------5

FUNCION GROUP BY Nombre_emp ----------------Juan Antonio Luis Angel Karla Ana Alberto Sergio Elena Sofa Antonio Dolores Bin Laden departamento ----------------41 41 41 41 42 42 42 42 43 43 43

FUNCION GROUP BY SELECT columnas, funcin de grupo FROM tabla [WHERE condicin] [GROUP BY columna] [HAVING condicin];

FUNCION GROUP BY SELECT nombre_emp, departamento FROM empleado WHERE dept_id = 41 Nombre_emp ----------------Juan Antonio Luis Angel Karla Ana departamento ----------------41 41 41 41

FUNCION GROUP BY SELECT departamento , COUNT(*) Nmero FROM empleado WHERE dept_id = 41; Departamento ----------------41 Departamento ----------------41 42 43 Nmero ----------------4 Nmero ----------------4 6 5

FUNCION GROUP BY SELECT puesto , SUM(salario) Nmina FROM empleado GROUP BY puesto ORDER BY SUM(salario); Puesto ----------------President Gerentes Vendedores Nmina ----------------2500 6150 7380

FUNCION GROUP BY/ HAVING SELECT puesto , SUM(salario) Nmina FROM empleado GROUP BY puesto ORDER BY SUM(salario) HAVING SUM(salario) > 2000; Puesto ----------------President Gerentes Vendedores Nmina ----------------2500 6150 7380

FUNCION GROUP BY/ HAVING

SELECT campo grupal , SUM(salario) Nmina FROM empleado WHERE condicin para otro campo no grupal GROUP BY campo grupal ORDER BY campo grupal, o funciones grupales HAVING campo grupal o funciones grupales

JOIN La funcin join , se utiliza para consultar ms de 2 tablas. Tipos de Join : INNER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN

INNER JOIN La funcin join , se utiliza para consultar ms de 2 tablas. El join se realiza utilizando la PK de una tabla con FK de otra tabla. Este tipo de join es el ms utilizado.

Select c.nombre, c.apellido, a.categoria From cliente c INNER JOIN categoria a ON c.cvecategoria = a.clave

LEFT OUTER JOIN Combina los datos de la tabla especificada en la clasula FROM con la tabla que se especfica en la instruccin join. Es similar al INNER JOIN, la diferencia es cuando no coinciden las filas devuelve NULL. En el ejemplo de abajo observamos, cuando un cliente no tiene categora asignada regresa NULL.

Select c.nombre, c.apellido, a.categoria From cliente c LEFT OUTER JOIN categoria a ON c.cvecategoria = a.clave

RIGHT OUTER JOIN Combina los datos de la tabla especificada en la instruccin JOIN con la tabla definida en la sentenecia FROM. Es similar al LEFT JOIN, la diferencia es la tabla que toma como base. En el ejemplo de abajo observamos, cuando una categoria no tiene una cliente asignada regresa NULL. Esto no sucede si hay integridad referencial

Select c.nombre, c.apellido, a.categoria From cliente c RIGHT OUTER JOIN categoria a ON c.cvecategoria = a.clave

FULL OUTER JOIN Combina todas las filas de una tabla como de la otra. Las filas de la tabla que se incluyen en la clasula FROM son las que se regresan como NULL. El resultado es un producto cartesiano.

Select c.nombre, c.apellido, a.categoria From cliente c FULL OUTER JOIN categoria a ON c.cvecategoria = a.clave

Respaldos y Proteccin de la B.D.


Realizar copias de seguridad perodicamente. Proteger copias de seguridad por medio de contraseas. Modelo de recuperacin completa. Recuperar hasta el punto de la falla.

Mtodos de Respaldos de la B.D.


Respaldo Completo de la B.D. , crea una copia completa Con las actualizaciones realizadas a la fecha. Este tipo de Respaldo requiere grandes recursos. Respaldo Diferencial de la B.D. Crea un respaldo solo de los cambios realizados (commit) despus de un respaldo completo. Se recomienda realizarlo varias veces a la semana. Respaldo del registro de Transacciones. Realiza una copia del registro de transacciones (UTL) , se utiliza cuando se requiere regresar a un punto especfico de la B.D.(RollBack) Se recomienda realizarlo cada hora.

Estrategias de Respaldos B.D.


Modelo Simple Base de Datos Diferencial Log Archivo (s) Transacciones No necesario Requerido Requerido No necesario Opcional Opcional

Requerido Opcional

Completo Requerido Opcional Por volumen Requerido Opcional

Estrategias de Respaldos B.D.


Modelo Simple Beneficio Performance Alto Costo Actualizaciones posteriores a la B.D se deben reaplicar. Ninguno Punto de Recuperacin Se recupera haste el ltimo punto respaldado. Se puede recuperar en cualquier momento. Se puede recuperar al final o en cualquier momento

Completo Se pueden recuperar desde cualquier punto. Por Performance volumen Alto

El problema se da cuando el registro de transacciones se daa

Realizar copias o respaldos de la B.D.


Dentro del rbol de opciones del Administrador Corporativo, Se debe seleccionar la opcin de BASE DE DATOS , ubicar el Nombre de la B.D. Que se desea respaldar, dentro de TODAS LAS TAREAS encontramos : Respaldos (BACKUP). Restaurar (RESTORE).

Realizar copias o respaldos de la B.D.


Realizar una copia de Seguridad por medio del Administrador Corporativo : Navegue hasta llegar a la Base de Datos deseada. Encontrar la opcin Todas las Tareas. Seleccionar COPIA DE SEGURIDAD DE LA BASE DE DATOS Se debe especficar el nombre de la copia de seguridad.

Realizar copias o respaldos de la B.D.


Realizar una copia de Seguridad por medio del Administrador Corporativo : Se puede escribir una pequea descripcin como la fecha. Elegir el tipo de copia de seguridad . Dentro del rbol del Administrador aparece la copia de la B.D.

Realizar copias o respaldos B.D.


Realizar copias o respaldos de Seguridad por medio de Instrucciones de Transact-SQL : BACKUP DATABASE ejemplo TO DISK = C:\Copias de Archivos\Ejemplo.bak;

Restaurar copias o respaldos de la B.D.


Restaurar una copia de Seguridad por medio del Administrador Corporativo : Navegue hasta llegar a la Base de Datos deseada. Encontrar la opcin Todas las Tareas. Seleccionar RESTAURAR BASE DE DATOS Se especifica el nombre de la copia de seguridad a restaurar. Existen varias opciones para ejecutar la restauracin

Restaurar una B.D.


Restaurar una copia de Seguridad por medio de instrucciones De Transact-SQL : RESTORE DATABASE ejemplo FROM DISK = C:\Copias de Archivos\Ejemplo.bak;

SITUACIONES que degradan el PERFORMANCE en B.D.

SQL server se ejecuta con ms de 2 procesos. Cuntos usuarios accesan concurrentemente la Base de Datos? Qu tipo de QUERYS se ejecuta? Por ejemplo JOIN con tablas muy grandes, ordenamientos . Un gran nmero de registros.

CONSIDERACIONES A OPTIMIZAR en B.D.


OPTIMIZAR EL SERVIDOR SQL , instalando adecuadamente SQL server , as como crear usuarios y permisos. VELOCIDAD & CONCURRENCIA. Cuntos usuarios accesan concurrentemente la Base de Datos? DISEO DE LA BASE DE DATOS. Mantener Integridad Referencial, ndices y constraints.

COMPROBAR EL FUNCIONAMIENTO DE UNA CONSULTA.


Cuando se habla del PERFORMANCE de la B.D. Es importante el funcionamiento de las consultas. Ejemplo : SELECT * FROM CLIENTES WHERE NOMBRE LIKE A%; Si analizamos la ejecucin que se desprende de esta consulta el rubro ms importante es el de OPERACIN FISICA, donde indica que tipo de ndice se utiliza as como el COSTO DEL CPU. En este caso el ndice que por el cual trabajar la consulta es la PK, lo que deprecia el funcionamiento.

COMPROBAR EL FUNCIONAMIENTO DE UNA CONSULTA. La solucin es crear un ndice especial para est consulta. Ejemplo : CREATE NONCLUSTERED INDEX id_nombre ON CLIENTES (nombre); SELECT * FROM CLIENTES WITH (INDEX (id_nombre)) WHERE NOMBRE LIKE A%; Si analizamos la ejecucin que se desprende de esta consulta el rubro ms importante es el de OPERACIN FISICA, donde indica que tipo de ndice se utiliza as como el COSTO DEL CPU, a diferencia de la consulta anterior se detecta un performance mayor. Esto refleja el uso de menos recursos.

PERFORMANCE en B.D.
Cuando dos o ms usuarios lean /escriban una operacin sobre la misma seccin del disco, existen conflictos. Se proponen las siguientas reglas :

Tiempo de Respuesta Leer/Escribir.


Administrar el Buffer (UTL) se cuenta con el mtodo RAID, obtener informacin sobre leer/escribir y decidir. Monitorear siempre las operaciones de leer/escribir antes de decidir sobre el hardware. Incrementar la memoria requerida. Incrementar la velocidad del procesador

PERFORMANCE en B.D.
Administrar el Buffer (UTL) Identificar cuando haya retrasos en transacciones (DELAY). La utilera que nos apoya es DBCC SQLPERF (WAITSTATS) . Monitorear el tiempo de una transaccin, lo que arroga datos estadsticos.

exec ('DBCC SQLPERF(WAITSTATS)' )

PERFORMANCE en B.D. exec ('DBCC SQLPERF(WAITSTATS)' )


Wait Type Requests Wait Time Signal Wait Time -------------------------------- ------------------------ ------------------------ -----------------------MISCELLANEOUS 29925.0 3.4290787E+8 1.7172752E+8 LCK_M_SCH_S 0.0 0.0 0.0 LCK_M_SCH_M 0.0 0.0 0.0 RESOURCE_SEMAPHORE 0.0 0.0 0.0 DTC 0.0 0.0 0.0 OLEDB 0.0 0.0 0.0 WRITELOG 78.0 1011.0 60.0 PSS_CHILD 0.0 0.0 0.0 EXCHANGE 0.0 0.0 0.0 XCB 0.0 0.0 0.0 DBTABLE 0.0 0.0 0.0 LOGMGR 0.0 0.0 0.0 CMEMTHREAD 0.0 0.0 0.0 CXPACKET 0.0 0.0 0.0

OPTIMIZAR LA OPERACION B.D.


Existen conflictos dentro de la operacin de una Base de Datos, debido al gran volumne de datos, ndices , etc. Para resolver esto se cuenta con el mtodo de configurar la matriz RAID. RAID,(matriz redundante de discos independientes) permite que muchos discos realicen muchas tareas a la vez sin perder la sincronizacin entre ellos.

ADMINISTRACION DEL LOG B.D.

Todos las modificaciones a la Base de Datos se registran en el archivo LOG . En ese archivo se considera la bitcora de la Base de Datos, es til para repaldos, seguridad, etc

ADMINISTRACION de la Base de Datos


Alertas , configura las acciones que deben ocurrir en caso

de ocurrir un error. Se utilizan cuando suceden errores, ejemplo la B.D. crece notablemente una alerta nos puede enviar un mensaje de aviso y un trabajo para respaldar la B.D. Operadores, son cuentas de usuario que nos permiten enviar mensajes de error. Trabajos , son procesos BATCH ejemplo : respaldos, etc.

Administracin de la Base de Datos

COMPROBAR CONSISTENCIA DBCC CHCKDB(nombre base de datos ). Esta instruccin comprueba y repara la inconsistencia dentro de nuestra B.D.

PLAN DE MANTENIMIENTO de una B.D.


Permite combinar las siguientes funciones : COMPROBACIONES DE CONSISTENCIA COPIAS DE SEGURIDAD BASE DE DATOS, EN UNA SOLA UNIDAD DE TRABAJO. ACTUALIZA ESTADISTICAS DE LA BASE DE DATOS. PERMITE REDUCIR ESPACIO EN LA BASE DE DATOS.

PLAN DE MANTENIMIENTO de una B.D. Pasos para crear un plan de mantenimiento : Navegue por el rbol del ADMINISTRADOR de SQL server hasta ubicar la Base de Datos seleccionada, con el botn izquierdo del mouse oprima y elija TODAS LAS TAREAS, posteriormente PLAN DE MANTENIMIENTO. Se desplegar un asistente para planes de mantenimiento de Base de Datos.

PLAN DE MANTENIMIENTO de una B.D. Pasos para crear un plan de mantenimiento : Seleccionar la(s) Bases de Datos, para la cual desea crear el plan de mantenimiento (pueden ser todas las B.D, las del sistema, o solo una). La siguiente pantalla se refiere a la organizacin de ndices y optimizacin del espacio en memoria. Se deshace del espacio no utilizado. Permite establecer una fecha y hora en que ocurrirn las tareas de optimizacin

PLAN DE MANTENIMIENTO de una B.D. Pasos para crear un plan de mantenimiento : Comprobar la integridad de la Base de Datos : Incluir ndices, comprueba la consistencia de los ndices. Intenta reparar problemas menores, tratar de reparar los problemas que encuentre al ejecutar la comprobacin de la consistencia. Realizar comprobaciones antes de crear copias de seguridad.

PLAN DE MANTENIMIENTO de una B.D. Pasos para crear un plan de mantenimiento : Por ltimo se puede solicitar que se genere un informe con el desarrollo del plan de mantenimiento , indicando cualquier error que haya ocurrido.

S-ar putea să vă placă și