Documente Academic
Documente Profesional
Documente Cultură
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
Lenguajes computacionales
VISUAL BASIC JAVA VISUAL C...
SQL
Herramientas De aplicacin
FORMS
DBMS
REPORTS GRAPHS...
B.D.
Catlogo del Sistema: Indices, Restricciones, descripciones, etc,(Metadatos)
Usuarios
Programas De Aplicacin
Query y Procedimientos
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.
Num.nmina
EMPLEADO
Fecha Nac.
N tiene 1
Direccin
Num.Dpto
DEPARTA MENTO
Nombre
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.
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
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
Nombre de Servicio
Instancia a la B.D.
SERVER ENTERPRICE MANAGER Raz de la Consola Instancia a la B.D. Base de datos Servicios de Transformacin . Administracin Seguridad Servicios compatibles Meta Datos
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 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.
Permisos
Seleccionar tipo de funciones : estndar contiene usuarios con permisos, aplicacin se asigna usuarios y permisos por aplicacin.
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
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
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);
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);
TURNER 18000
TURNER 18000
CREAR TABLAS SQLServer ALTER TABLE nombre (ADD campo1 tipo de dato);
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
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
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
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);
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 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)) );
COLUMN_NAME
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
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.
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
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
Operadores de Comparacin
OPERADORES
Operadores Lgicos
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 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;
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
FUNCIONES PARA DATOS NUMERICOS SELECT nombre, puesto FROM EMPLEADO where month(FEC_NAC ) = 2 Nombre Juan Karla Ana Puesto analista lider proyecto 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
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
Requerido Opcional
Completo Se pueden recuperar desde cualquier punto. Por Performance volumen Alto
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.
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 :
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.
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
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.
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. 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.