Manual Practico SQL
Manual Practico SQL
Manual Practico SQL
914anualPrctico de SQL
ORIENTADO A SQL 7.0
Preparado por:
Alvaro E. Garca
[email protected]
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
NDICE
INTRODUCCIN 3
CREAR UNA BD 6
SENTENCIA CREATE 8
LIGADURAS 9
ELIMINACIN DE TABLAS 14
SENTENCIA ALTER 14
CONSULTAS SIMPLES 17
COLUMNAS CALCULADAS 21
CONDICIONES DE BSQUEDA 22
CONSULTAS RESUMEN 30
CONCLUSIN 32
BIBLIOGRAFA 33
2
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
INTRODUCCIN.
3
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
R e g l a s ( R U L E ) , D o mi n i o s ( D o m a i n ) y V a l o r e s p o r d e f e c t o
(DEFAULT).
CREATE,
ALTER y
DROP
COMMIT TRANSACTION,
ROLLBACK TRANSACTION,
GRANT
REVOKE
4
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Pasos para implementar una base de datos:
PASO Descripcin
Definir en el disco duro, el rea fsica que contendr las
1 tablas de la base de datos. Sentencia SQL --> CREATE
DATABASE. Tema 1 de este manual
5
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Crear una base de datos:
Sentencia SQL CREATE DATABASE
SINTAXIS:
log on
(
name = BDTRANSITO log,
filename = 'c: \BDTRANSIT0.1df, ,
size = 3mb,
maxsize = 7mb,
filegrowth = 2 mb
)
Tipo de archivo Extensin de nombre de
archivo recomendada
Archivo de datos principal .mdf
Archivo de datos secundario .ndf
Archivo de registro de transacciones .Idf
6
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
CREATE DATABASE VENTAS ON PRIMARY
(
NAME=VENTAS data,
FILENAME=icAVINTAS.mdf,
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=1 MB
)
LOG ON
(
NAME=VENTAS log,
FILENAME= 1 c:WTAS.Idf,
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=1 MB
)
7
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Sentencia CREATE
En est a oport unidad veremos las sent encias correspondi entes a la creacin
de l os esquem as o lo que es l o m ismo las t abl as que cont endrn los dat os
de la base de datos, La sentencia CREATE TABLE.
Sintaxis:
DEFAULT expresinConstante],
campo2 tipo dato [NULL/NOT NULL] 1 C H E C K ( e x p r e s i n L g i c a ) 1 [
DEFAULT expresinConstante ],
campo-N,
PRIMARY KEY(campo_llave),
FOREIGN KEY (campo_llave) REFERENCES tabla2 (campo_llave -tabla2)
)
8
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Ligaduras
Es t o de l as l i gadu ra s es m u y i m port ant e que l e pres ent en at enci n. A yud a
a que dejes la vigilancia de la entrada de datos al DBMS y no al que
programa la aplicacin que a veces puede darse que no haga tal validacin
en la entrada de los datos. Esto tiene l a ventaja de ahorrar lneas de
cdigos en los programas y no te que se implementan en la sentencia SQL
CREATE TABLE .
D es c r i p c i n Clusula SQL
Tipos de
R es t r ic c i n
Esta restriccin asigna DEFAULT
un valor es pec f ico a
una columna cuando
P o r ej em p lo , s l as r e g la s d e l n ego c io d ic en
el valor para ello no
que no se contratan a menores de edad, en la
haya sido
Por Defecto c o lu m n a E DA D en l a t a b la EM P LEA D O s e
explcit am ent e restringe a que si una edad para un empleado
proporcionado para tal que ingresa no es sealada explcitamente, el
co lumn a en un a DBMS asigne 18 que es la mayora de ed ad.
s en t enc ia "INSE RT" o
de adicin de un nuevo
registro en la tabla. CREATE TABLE EMPLEADO (ID_EMPL int
Primary KEY, EDAD int not null default 18 )
Especfic a los valores CHECK
de datos que el DBMS
Por Validac i n acepta le sean CREATE TABLE EMPLEADO ( ID INT
i n gr es a do s p ar a u n a
co lumn a. PRIMARY KEY, EDAD INT DEFAULT 18, SEXO
VARCHAR(1) CHECK ( SEXO IN ('F','M') ) )
9
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
desempeo. Los
valores nulos no
estn permitidos
para este tipo de
restriccin.
desempeo. Y al igual
que las llaves
primarias, no se le
est permitido que se
introduzcan valores
nulos.
10
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Tipo: Integridad Referencial
La Integridad Referencial asegura que las relaciones que existe entre llave
primaria (en la tabla referenciada) y la llave fornea (en las tablas referenciantes)
sern siempre mantenidas. Una fila o registro en la tabla referenciada (tabla
donde reside la llave primaria) no puede ser borrada o su llave primaria cambiada
si existe una fila o registro con una llave fornea (en la tabla referenciante) que
se refiere a esa llave primaria.
11
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
A continuacin se muestran las sentencias CREATE TABLE que crean las
t a b l a s d e l a B a s e d e D a t o s V E N T A S , d e l a c u a l ya s e c r e o e l r e a a l
principio de este manual.
P ri m ero crea r l as t a bl as que sol o t i enen l l ave pri m ari a y l u ego l as t abl as
q u e i n c l u ye n l l a v e s f o r n e a s . E n n u e s t r o c a s o , p r i m e r o c r e a m o s a l a s
t a b l a s : C LIE N T E , A R T IC U LO y V E N D E D O R y d e s p u s a P E D ID O y a
DETALLE PED.
12
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
13
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Eliminacin de Tablas:
La sentencia para eliminar una tabla y por ende todo los objetos asociados
con esa t abl a como: las vistas, disparadores, et c., DR OP TABLE, donde r
es el nom bre de un a t abl a ex i st ent e.
DROP TABLE r
Por ejemplo si deseamos eliminar a la tabla ARTICULO PANAMA,
revis emos haber si est a ya exi st e, de l a si gui et e m anera
P os t eriorm ent e una vez verii fcada que la t abl a exi st e, se procede a borrar
la tabla, escribiendo lo siguiente en 1 ainterface de consultas del SQL:
Sentencia ALTER
Despus que una tabla ha sido utilizada durante algn tiempo, los
usuarios suelen descubrir que desean almacenar informacin adicional
con res p ect o a l as t abl as. P or ej em pl o en l a b ase d e dat os VE NT AS , s e
podra desear:
Por lo general, esta sentencia ALTER TABLE se utiliza sobre tablas que ya
poseen desde cientos a miles de filas por ser tablas de un sistemas de
Bas e d e Dat os qu e ya est a en p roducci n .
14
Manual Prctico de SQL
Preparado por: Alvaro E. Garca
Los cambios que se pueden realizar con la sentencia SQL ALTER TABLE
son (ver ejemplo con la figura ) :
TI
al a2 a3 a4 a5
1. Aadi r una d efi ni ci n de l a col um na de una t abl a. P ued e crea rse con
valores nulos o valores
A LT E R T A B LE n o m b r e _ d e _ l a _ t a b l a AD D n o m b r e _ d e _ c o l u m n a _ n u e v a
TIPO DE DATO NULL
E j e m p l o: A LT E R T A B LE T 1 A D D a 6 V A R C H A R ( 3 0 ) N UL L
E j e m p l o: A LT E R T A B LE T 1 D R O P C OLU M N a 4
3 . El i m i n ar l a de fi ni ci n de : l l a v e p ri m a ri a, f o r n ea o r es t r i c c i on es d e
ligaduras de integridad (check), existentes para una tabla. Esta accin no
elimina la a la columna con sus valores, ella permanece tal cual como
esta, solo se elimina su definicin. Este procedimiento varia de DBMS, con
SQL SEVER, Primero se debe averiguar el nombre de la restriccin o
ligadura de integridad (CONSTRAINT) eliminar se ejecuta el
p r o c e d i m i e n t o a l m a c e n a d o S P _ H E LP n o m b r e d e T a b l a y e n e l r e s u l t a d o
s e bu s ca en l a col u m na co nst r ai nt _n am e a l a d e r ec h a de co nst ra i nt _t yp e
para saber el nombre que el DBMS le puso a la restriccin de llave
primaria y luego se ejecuta la sentencia ALTER TABLE con el nombre de la
definicin de llave primaria a eliminar.
Es t o e l i m i na c u al q u i e r a l i ga du r a d e i nt e gri da d t r at ad a en el t em a 4. 2.1 .
P ara ve ri fi ca r al ej ecut ar nuevam ent e S P _ HELP nom br e d e Tabl a, en el
res ul t ado ya no sal e en const rai nt _ t ype el nombre de l a ll ave prim ari a.
15