Académique Documents
Professionnel Documents
Culture Documents
cajimene@itesm.mx
Sitio de Entrenamiento en:
Universidad Virtual / Biblioteca Virtual
Administrativa / Modelos 2004 - 2005 / FordStar
Versin Evaluacin de SQLServer2000
www.microsoft.com download
Lenguajes
computacionales
SQL
FORMS
VISUAL BASIC
JAVA
Herramientas
De aplicacin
DBMS
REPORTS
GRAPHS...
VISUAL C...
SQL SERVER
ORACLE
INFORMIX...
DBMS
Herramientas
Para el Diseo
Programadores
Usuarios
Programas
De Aplicacin
Query y
Procedimientos
M
O
T
O
R
B.
D.
Datos del
Usuario
B.D.
Catlogo del
Sistema: Indices,
Restricciones,
descripciones,
etc,(Metadatos)
Num.nmina
Num.Dpto
EMPLEADO
Fecha Nac.
N
tiene
Direccin
1
Num.Dpto
DEPARTA
MENTO
Nombre
CURSO
# Codigo
* Nombre
* Duracin
FK Requisito
* Predecesor
PARTICIPANTE
# Clave
* Nombre
* Direccin
* Puesto
INSCRIPCION
#(1)FK Clave Participante
#(1)FK Codigo Curso
* Fecha
* Evaluacion
TERMINOLOGIA
COLUMNAS/CAMPO / ATRIBUTO,
caractersticas de una entidad
REGISTRO/TUPLA(E)/RENGLONES.
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 de Base de Datos
(DBMS) completo y poderoso, su
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
Genera programas
Diccionario de
Datos
Metadatos
Instancia a la B.D.
Base de Datos Operativas
y Usuario
Control de Seguridad
Instancia a la B.D.
Base de datos
Servicios de Transformacin .
Administracin
Seguridad
Servicios compatibles
Meta Datos
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
Funcin
Seguridad *
Servicios de
Soporte
Servicio de
MetaDatos
Descripcin
Master
Msdb
Pub
Model
Tempdb
Descripcin
Descripcin
Grupo de
Archivos
Opciones
Permisos
Requisitos de HARDWARE
Equipo
Intel o Compatible
Pentium 166MHz o superior.
Memoria RAM
Espacio en
Disco Duro
Pantalla
Requisitos de SOFTWARE
Enterprise
Standar
Personal
Developer
Solo
Herramientas Windows ME , Windows 98
Cliente
Todos los Sistemas Operativos anteriores
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 .
Tipo de Dato
Int
Decimal
DateTime
Char(N)
Varchar(N)
Text
Descripcin
Enteros
Nmeros Reales
Fecha
Caracteres Fijo
Caracteres Variable
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);
Fecha_ing
7698
BLAKE
34200
01-MAY-81
7654
MARTIN
15000
28-SEP-81
7499
ALLEN
19200
20-FEB-81
7844
TURNER 18000
08-SEP-81
Agregar Una
nueva Columna
dentro de la
Tabla Empleado
.......
NumE
7698
7654
7499
7844
.......
Nombre
BLAKE
MARTIN
ALLEN
TURNER
Salario
34200
15000
19200
18000
Fecha_ing
01-MAY-81
28-SEP-81
20-FEB-81
08-SEP-81
Pues
to
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);
Ejemplo :
ALTER TABLE cliente
(ADD email varchar(50) );
ELIMINANDO COLUMNAS
Eliminar la Columna de
Fecha_ing de la Tabla Empleado
Empleado
NumE
Nombre
Salario
Fecha_ing
7698
BLAKE
34200
01-MAY-81
7654
MARTIN
15000
28-SEP-81
Sales
7499
ALLEN
19200
20-FEB-81
Manag
7844
TURNER
18000
08-SEP-81
sales
.......
Pues
to
mkt
EMPNO
7698
7654
7499
7844
............
ENAME
BLAKE
MARTIN
ALLEN
TURNER
6 rows selected.
ANNSAL
34200
15000
19200
18000
JOB
SALESMAN
MANAGER
SALESMAN
MANAGER
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
DESCRIPCION
NOT NULL
UNIQUE Key
PRIMARY Key
FOREIGN Key
CHECK
CREATE TABLE
alumno
(
matricula
INT,
nombre
VARCHAR2(14) ,
carrera
VARCHAR(13) ,
curp
VARCHAR(15),
CONSTRAINT alumno_curp_uk UNIQUE (curp),
CONSTRAINT alumno_mat_pk
PRIMARY KEY(matricula)) ;
Constraint de UNIQUE
El campo curp deber contener un valor nico
CREATE TABLE
alumno
(
matricula
INT,
nombre
VARCHAR2(14) ,
carrera
VARCHAR(13) ,
curp
VARCHAR(15),
CONSTRAINT alumno_curp_uk
UNIQUE (curp);
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)) );
emp
emp_mgr_uq UNIQUE(manager);
CONSTRAINT_CATALOG
EPTNO
EMP_EMPNO-PK
EMP_MGR_FK
COLUMN_NAME
EMPNO
MGR
CONSTRAINT_CATALOG
DEPARTAMENTO
EMPLEADO
CONSTRAINT_NAME
pk_deptno_cve
fk_emp_cat
DESCRIPTION
Agrega nuevos registros a la tabla
UPDATE
DELETE
ROLLBACK
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
UPDATE employee
SET dept_id = 32, salary = 2550
WHERE id = 2 ;
UPDATE employee
SET commission = 10;
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.
ROLLBACK
begin transaction
insert into producto5
values (400,'desarmador A',01/05/02);
select * from producto5;
ROLLBACK transaction
select * from producto5
SELECT
SELECCIN DE DATOS
INSERT
UPDATE
DELETE
CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMIT
ROLLBACK
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;
DNOMBRE
DLOC
DEPTNO
10
20
30
40
ESAL
KING
5000
BLAKE
2850
CLARK
2450
JONES
2975
MARTIN
1250
ALLEN
1600
... 14 lneas seleccionadas
ESAL+300
5300
3150
2750
3275
1550
1900
ESAL
ANUAL
4900
60000
2900
36000
2400
30000
2900
36000
1400
18000
1900
24000
14 lneas seleccionadas
DEPTNO
EFECHA_ING
BLAKE
43
07-APR-90
CLARK
44
09-FEB-92
DANCS
44
30-NOV-90
DUMAS
45
17-MAR-91
MARTIN
35
09-OCT-91
KING
32
18-JAN-92
.....
14 lneas seleccionadas
DEPTNO
EFECHA_ING
CLARK
44
09-FEB-92
KING
32
18-JAN-92
MARTIN
35
09-OCT-91
DUMAS
45
17-MAR-91
DANCS
44
30-NOV-90
BLAKE
43
07-APR-90
.....
14 lneas seleccionadas
DEPTNO
SALARIO
KING
32
1450
MARTIN
35
1250
CLARK
44
1400
DANCS
44
750
BLAKE
45
1950
DUMAS
45
1800
.....
14 lneas seleccionadas
DEPTNO
KING
32
MARTIN
35
SALARIO
1450 ****
1250
CLARK
44
1400
DANCS
44
750
BLAKE
45
1950 ****
DUMAS
45
1800 ****
.....
14 lneas seleccionadas
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 ;
EL OPERADOR LIKE
Smbolo
%
Descripcin
Es un comodn
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;
Resultado
MONTH
YEAR
ao 4 dgitos
DAY
Select month(fechaing)
From EMPLEADO;
Puesto
------------ -----------Juan
analista
lider proyecto
Ana
vendedor
1525
1400
7380
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
Nmero
----------------4
Departamento
----------------41
42
43
Nmero
----------------4
6
5
FUNCION GROUP BY
SELECT puesto , SUM(salario) Nmina
FROM empleado
GROUP BY puesto
ORDER BY SUM(salario);
Puesto
Nmina
--------------------------------President
2500
Gerentes
6150
Vendedores
7380
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.
INNER JOIN
Base de
Datos
Diferencial Log
Archivo (s)
Transacciones
Simple
Requerido Opcional
No necesario
No necesario
Requerido
Opcional
Por
volumen
Requerido
Opcional
Requerido Opcional
Beneficio
Costo
Punto de
Recuperacin
Simple
Performance
Alto
Actualizaciones
Se recupera haste
posteriores a la B.D el ltimo punto
se deben reaplicar. respaldado.
Completo Se pueden
recuperar
desde
cualquier
punto.
Ninguno
Se puede
recuperar en
cualquier
momento.
Por
volumen
El problema se da
cuando el registro
de transacciones se
daa
Se puede
recuperar al final
o en cualquier
momento
Performance
Alto
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 :
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.
PERFORMANCE en B.D.
exec ('DBCC SQLPERF(WAITSTATS)' )
Wait Type
Requests
Wait Time
COMPROBAR CONSISTENCIA
DBCC CHCKDB(nombre base de datos ).
Esta instruccin comprueba y repara la inconsistencia dentro
de nuestra B.D.
COMPROBACIONES DE CONSISTENCIA