creación de una base de datos

14
¿PARA QUÉ SIRVE SQL? El lenguaje SQL es un lenguaje con el cual se escriben todas las acciones u operaciones que se realizan sobre los motores de bases de datos relacionales. Es un lenguaje que S" utiliza para las consultas y programación de la base de datos. Se lo utiliza para acceder a los datos y para consultar, actualizar y gestionar sistemas de bases de datos relacionales. Existe un estándar para el lenguaje SQL el cual es el ANSI (American National Stan- dards Instituto, que traducido al castellano es Insti ruto de normalización americano SQL, pero cada motor de base de datos realizó luego sus propias adecuaciones. Como nosotros en este libro estamos utilizando como motor de base de datos el NE- crosoft SQL Server 2000 utilizaremos el lenguaje SQL que posee rucho motor. Este se llama Transacr SQL o abreviadamente T-SQL. Dicho lenguaje (el SQL y como el T- SQL es una variación de aquel, también respeta lo que vamos a definir a continuación se divide en dos grandes secciones o partes el DDL (Data Definitíon Language trade- cido al castellano es el lenguaje de definición de datos) y el DML (Data manipula . Úlnguage traducido al castellano es lenguaje de manipulación o tratamiento de datos Utilizaremos un ejemplo de modelo relacional: empleados empleados conceptos venta C? legajo 1- Cp'CEl legajo r--- C? Cad Concepto I Cp,CE2 Cad Concepto Apellido Dese_Concepto Nombre TIpo_Concepto Dirección Porcentaje Tarea Importe_Fijo CEI Cod_Categoria categorias Signo Fecha_Ingreso Foto '-- C? Cad categoría Email Dese Categcría HomePage Sueldo_Basico liquidación cabec;ra liquidación detalle C? Nro Recibo f- Cp'CEI Nro Recibo CP Cad_Concepto CEI Legajo Anio_liquidado Importe Mes_liquidado Fecha_Pago Total_HCA Total_HSA Total RET Figura 1. Modelo relacional para un sistema de liquidación de sueldos.

Upload: carlos-arturo

Post on 21-Dec-2014

344 views

Category:

Technology


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Creación de una base de datos

¿PARA QUÉ SIRVE SQL?El lenguaje SQL es un lenguaje con el cual se escriben todas las acciones u operacionesque se realizan sobre los motores de bases de datos relacionales. Es un lenguaje que S"

utiliza para las consultas y programación de la base de datos. Se lo utiliza para acceder alos datos y para consultar, actualizar y gestionar sistemas de bases de datos relacionales.Existe un estándar para el lenguaje SQL el cual es el ANSI (American National Stan-dards Instituto, que traducido al castellano es Insti ruto de normalización americanoSQL, pero cada motor de base de datos realizó luego sus propias adecuaciones.Como nosotros en este libro estamos utilizando como motor de base de datos el NE-crosoft SQL Server 2000 utilizaremos el lenguaje SQL que posee rucho motor. Este sellama Transacr SQL o abreviadamente T-SQL. Dicho lenguaje (el SQL y como el T-SQL es una variación de aquel, también respeta lo que vamos a definir a continuaciónse divide en dos grandes secciones o partes el DDL (Data Definitíon Language trade-cido al castellano es el lenguaje de definición de datos) y el DML (Data manipula .Úlnguage traducido al castellano es lenguaje de manipulación o tratamiento de datosUtilizaremos un ejemplo de modelo relacional:

empleados empleados conceptos venta

C? legajo 1- Cp'CEl legajo r--- C? Cad Concepto ICp,CE2 Cad ConceptoApellido Dese_ConceptoNombre TIpo_ConceptoDirección PorcentajeTarea Importe_Fijo

CEI Cod_Categoria categoriasSigno

Fecha_IngresoFoto '-- C? Cad categoríaEmail Dese CategcríaHomePageSueldo_Basico

liquidación cabec;ra liquidación detalle

C? Nro Recibo f- Cp'CEI Nro ReciboCP Cad_Concepto

CEI LegajoAnio_liquidado ImporteMes_liquidadoFecha_PagoTotal_HCATotal_HSATotal RET

Figura 1. Modelo relacional para un sistema de liquidación de sueldos.

Page 2: Creación de una base de datos

El modelo relacional del sisrema de liquidación de sueldos indica en cada entidadcon CP los atributos que son o componen la clave primaria de la relación y con CElos atributos que son claves externas o foráneas en la entidad.

DDLEl lenguaje DDL se utiliza para definir y administrar objetos de la base de datos,tales como base de datos, rabIas, vistas. Normalmente las insrrucciones incluidasen este lenguaje son CREATE, ALTER, DROP aplicadas sobre los diferentes objetoscomo tablas o visras. Yaveremos cómo se las urilizan, más adelante en los próximosapartados del libro. Como mencionamos anteriormente, todos los ejemplos de es-re libro estarán escritos en T-SQL, pero no hay gran diferencia (la mayoría de lasveces) con las mismas instrucciones en ANSI SQL.

Instrucción CREATEPara crear una base de datos se utiliza la insrrucción CREATE DATABASE con un con-junto de parámetros, quiero aclararle que dicha instrucción posee más parámetrosde los que utilizaremos en el ejemplo, si desea conocer todos los parámerros de es-ra y de las demás instrucciones del lenguaje T-SQL, sugiero que urilice el Help o laayuda del Query Analizer (analizador de consulras de SQL es una aplicación que vie-ne incluida en el motor SQL Server) como muesrra la Figura 2 y una vez desplega-da la ventana, buscar como muesrra la Figura 3.

I---:c--'---'-:=-c------! """• ~ • r;j; liiI 10/ .' ". e Q>n""~""¡""'" F1

~ 8rowaet ~ 'r~~""lÍ!"""E:II!II••• lllZi.IEl 'IOTtBOOK(NOTEBO< ~ 12.-..:..J Qa~~ Objed Lnformalion A1ti'f1

.:J NOTEBOOK& U """., _l';;,.:!!='-L_,, .J(+ U master ..'u ..•••~ U rnsdbf:f. ti NoMwnd, u ••••l. ti le:t¡)db

.=J Ob¡eto~ C«l11J1'lf;$

~ ':J Ftn:iooe:s de oodllp[.•~ '=..J Ftn::iones del cssor('t, :=J FI.noones de lecha y:; .-J F\rrciones ~l D hrIciooes de ~OC O fUlciones de metada~

Figura 2. Cómo ingresar al Help de las instrucciones de T-SQLdesde el Query Analizer.

Page 3: Creación de una base de datos

~U<;-""_.:;¡ ~ .g- (l, ~ ~- 6. ~ 11t._' __ JIoo __ ""l'or<~1¡-~.~~~'.::-""~---~3~.'-""""""T"""""' _

~ •• \loIOO I~j'_.¡ Il'ltroducci61'l ó!t Tnmsaet-SQLr.................... r,,·_«r.,,~""""'_.nw;..r_"""""'¡''''!i<lt!:4"Y<l-·TOOo''''''_''''''''-''O_:r.Q<

I:~~~~==~ll,.....,Io""'"""".,"""''''''''"'''''"'',_·ll()..,.....- .•.••'''' <lo•••.••..•••4'<_ .•••,. •••.•.••.••..ftll!."UT...... 1••__ :.<:r_"_~'_"""""''''''''"_<':"''O''''Ioo'_''''''•••.• :r ._ ••.••...•...,.. •••~ •••ot_:rI<"l"="~'"le,.oc<.••••••••<:tl4~ ••••••,..",""'.!te<*:

-• ~._ •••••.•••.••••••.••.•••••••.•olo•••.••••t=l~_ ••_. __ \o·,••.,..,y~_'._60_."· ._-" •.••~ •••__ ._.-....- ••.- ••.••••..•..,,$_ ••...

•.••.•.'WU,T"".'tr:.o.<TOo""'A,!_,neJo."_'1;<,,,,,-.......• "''''''-...;IilC"'_':-'~-"""""'''''-~J'\""'u~"t_ •••-''ll'r':ot"U'.!tl"DCIi<"'l:1"llU-:tl ••• T><'.t.(lt~1óIW.t<:.Jl':ó"","_(ItI4't,'O;">,--"-"" ...-:'---,~r_--_ .._'..-.--_.---:n••••.""-'_~ ..---.co'''-

• __ •••I.lN.04 ••••__ ·.......,..•- ••••_""<AOOt •• _SQ·_··f ••••~-__ ~_"''''-: •••.•••• __ OO<I•• ......,..,•••••••L

·_ •• '..-....~•...•.•~_ ••..."..._·__••••'_l• ~ •••• >$ •• ""',..,..,. .•••••• $ __ •••••__ ·.,_'C.~•.~ .•..•-'_o-..h .

¡.o.lo, .••••.•'"'"' •.•..••••••.••• rw""'_ •••_I •.•,;""_<lO •••••••••_""",<:o.IDIl~<'ODI::

• s..-.•~••"'" •••••• ""t •••••• _ ••••.••••..._,;q.~..•.••••• do_ ••• _"".. .•••• UO ••••••••••• L

• _ ••••••• "" •••_ •••t__ •••,•••, •• __ ••••••••••••~••••••• ,,_"' ••••·(~ •.•r •••.••..~."'..,,--."" ....~......•_-•••••••.•••.•••_.' •••••••_T'W> ••<tSQ..•••_<M .••""1 •••_._~ ••••_ .••__ ••"" •.~ ••.•••~y •••~ •••••••••r•••••••••<·••••' •••••··>fFJ ••••·r:a.u:;,~'"

:;.:.»t-''''' •••7P •••••••••••••• d"'" •• '_ ••••••• ., ••• " • ......,.

Figura 3. Cómo buscar ayuda sobre una instrucciónde T-SQL, en este caso, CREATEDATABA5E.

Pasaremos a crear una base de daros de nombre SUELDOS dentro del motor de SQLServer de 10 MByte de tamaño con un tamaño máximo de 50 Mbyre para el archi-vo de datos (sueldos.mdf) )' un tamaño de 5 Mbyre para el archivo de registro derransacciones o log y con un tarnafio máximo de 25 Mbyte para el archivo de log(sueldos.ldf), en ambos casos con un incremento de 5 Mbyre.

USB masterGOCRBATE DATABASE SUELDOSON

NAME = SUELDOS _ dat ,FILENAME = 'c:\program files\microsoft sql

ser~er\msBql\data\sueldosdat.mdf' ,

--.DI LA INSTRUCCiÓN USE

Esta Instrucción le indica al motor de base de datos qué base de datos tomar como la base de

datos activas donde se van a ejecutar las instrucciones T-SeL.En nuestro ejemplo USE master le está indicando a Sal Server que ejecute dichas instruccienes

sobre la base de datos master, mejor dicho le indica usar la base master.

Page 4: Creación de una base de datos

SIZIl = 10,

MAXSIZIl = 50,

FlLEGROWTH = 5

LOG ON

( NAMIl = 'SUELDOS_lag',

FILENAMB = 'c:\program files\microsoft sqlserver\mssql\data\sueldoslog.ldf/,

SIZIl = 5MB,

MAXSIZE = 25MB,

FILIlGROWTH = 5MB

GO

Observe cómo al ejecutar la instrucción CREATE DATABASE se ve la creación de la ba-o de datos SUELDOS (Figura 4) y nuestro motor ahora posee nuestra base de datos

SUELDOS (Figura 5) con los tamaños que nosotrOSdefinimos.

Q'C & •• tu~o;v..nQO.~I:~~= ~JU..llCS""t.

l'1a>IA.,:!:•• <7,,~,o~a"~:l ••••.•~""><," "". ""..~>'~-'n.\•••••.,.aI=:.ot."":·~fU' ¡g,I""u,::t • lO~. )~

owa: ••• Il.!:~ "40"~ - .",~;>"",~''' ••,,,,,-a· •••J •.• ~1••,..•••••",~H.,.·.·.•.• ,,,,,.•a'~!u· ),WI~.;.x.:%< • 7511I

rl~~.oort1'·ee~

I

1

: ~.O«.= o.u.n:: ~ .•..•..!U-l:r •.•••• "'g<.O<>4<l :~_~ l!Ilu ~l <I.>.Jl:o·~5_4lI".1 1"0-=-=>0='lE ~~T~[ ••.•<6 •• 1'0""""" •• C~ le ~,.. ~ •••• "" .,=t~~_.0<l".

!I

- ~~~_r-------------------''--i~'ltMOl_. _:a.o' __ ~I} __ ~ O_IJl>1,1;.OI1-"Figura 4. Creamos la base de datos SUELDOS.

----mI UBICACiÓN DE NUESTRA BASE DE DATOS

-'Jese que estamos creando nuestra base de datos SUELDOSen la ruta donde Sal Server guar-

ca sus bases de datos propias para su propia gestión. En lo posible. si hay espacio es recomen-

cable guardar nuestras bases de datos en el mismo lugar donde las guarda SQL Server. aunque

corno observará que dicha ruta se puede cambiar sin ningún tipo de problema.

Page 5: Creación de una base de datos

PiI<__ I"'_"

00 •• ro:J.!l.t_~-im ¡f~~ ,~o.. Olll!:'O..jP.D:>••Io..... ~l'_~W-••_»--- ()so._ ••.r.otu>

¡,,!hll:«/l~,<nl.0_:3::,0-,0-:~~..-~ I;j E.2Zl:a"'--8T_

*'-t!}Stoo"'_~="'-Qc.r._8:::'=~ ~ MaintcAllOlce

Iiil~T"'c._,B_'::'Oo"rI~_.12..1 •••••._':J~_.:.J$«I,o't,r·.:J$.<I;o1_·O ••."'•••••~-

SUELDOS ti

I<U't~_

;,."""'"n·a w'"'l.v.-t'II

14.01~e-,

-.- -•..•.•,." g¡:;¡; 'd.r~•.•l •- • .~.

Figura 5. El motor muestra informaciónrelacionada con la base de datos Sueldos,

"o,"!>e<olo'''-':

U.I~,

Crear una base de datos desde el Enterprise ManagerMás allá de que estemos viendo cómo crear una base de datos utilizando las !'"rrucciones DDL que posee T-SQL, aprovecharemos este momento para moscsrcómo realizar dicha tarea desde el Enterprise Manager,

~ File Aeton vew TooIs Wlndow HeIp

<lo ~ i.il ')< @I~ @ ¿~ ," ~¡¡j Ifl 4>bDe-R""""''''de~~''=:,.""".='=~--=:''''::c.-=_..::.. __ ::''''-=''=:~, D~"~aba>=e<=10nems

[_, ~ Servidor~ MicrosoftSQLsever- @ SQl serve!' Group

-:.:¡ lb NOlnOOK (V'lll1dows NT)

~·élEm~tD Data 'rrens "''''''''''''''''''''''''''''''1~+D Mana~eme-"'J D Repllcatlon AIlTasks+~Ii Rl!?!kabon View+J CJ secntv NewVoftido'•••.fromHere

~D'"-'"--------1~DMeta Data Refr~Export usr ...

New üateoese ...

ESOJela master rl,iSa

Figura 6. Cómo crear una base de datos desde el Enterprise Manager.

Page 6: Creación de una base de datos

Para ello nos posicionados en el servidor, en nuestro caso NüTEBüüK paradosen la carpeta de base de datos, presionamos el botón derecho del mouse y elegi-mos la opción Crear nueva base de datos, como lo muestra la figura.Luego elegimos su nombre, en nuestro ejemplo pusimos el nombre SUELDOS_Vlpues la base de dato sueldos ya la habíamos creado con las instrucciones DDL, ypresionamos el botón Aceptar y la base de datos será creada.

Si nos movemos a las solapas de Archivosde datos y Archivosde \og podemos con-figurarlos de una manera más sencilla de cómo 10hicimos con las instrucciones deT-SQL, personalmente le aconsejo que lo haga como práctica.

Gene<olI OM\! fjoo IT,~ log J

¡jJ.... "'Isu"'a"oo"s_';;;,-----

SI....., I~

C'M'ler' (I.Wtno»on)o.rtCJH!ed l~l$>lo l\H:r..,...,)SNoo •.•.~ ~/bTtler al <MIS I\.I<W-.l....,l.esl~~. Noroo1.4JI_1o;~ Nono.-

Figura 7. Crear una base de datos de nombre SUELDOS_VI.

Ahora veremos cómo utilizar la instrucción CREArEpara crear las distintas tablas denuestro base de daros SUELDOS.Empezaremos por crear la tabla CATEGORIASque esla más sencilla de rodas, como muestra el siguiente código.

USE SUELDOSCREATE TABLE CATEGORIAS (

Cod_Categoria char (2) NOT NULL ,Desc_Categoria varchar (50) NO! NULLCONSTRAINT PK CATEGORIAS PRIMARY KEY CLUSTERED

Cod_CategoriaON [PRIl'.ARYJ

ON [PRIMARY]

Page 7: Creación de una base de datos

Como le sugerimos anreriormenre, es recomendable ir a la opción CREATE TABLE dela ayuda de T-SQL y ver todas las opciones posibles que existen para crear una tabla.Creemos ahora la tabla EMPLEADOS que es un poco mas compleja. El código T-SQLes como el que se muestra a continuación.

Como vemos en el código anrerior la instrucción CREATE TABLE CATEGORIAS es lainstrucción que le indica a T-SQL que debe crear una tabla de nombre CATEGO-RIAS con los campos Cod_Categoria de tipo enrero y que no acepte valores nulos yDesc_Categoria de tipo cadena de caracteres variable de 50 posiciones que tampo-co debe aceptar valores nulos. Luego la instrucción CONSTRAINT define una res-tricción de integridad, en este caso la clave primaria de la tabla CATEGORIAS a lacual le asigna el nombre PK_CATEGORIAS sobre el campo Cod_Categoria y dice quetendrá ella un índice inrerno de tipo CLUSTERED (ya lo veremos más adelanre conmayor detalle en el libro cuando tratemos la creación de índices).

USB SUBLDOSCRBATB TABLB BMPLBADOS

Legajo int NOT NULLApellido varchar (20) NOT NULL ,Nombre varchar (0) NOT NULL ,

Direccion varchar (50) NOT NULLTarea varchar (SO) NOT NOLL ,Cod_Categoria ahar (2) NOT NULLFaena_Ingreso datetime NOT NULLFoto .varchar (50) NULL ,Email varchar (50) NULL 1

HomePage varchar (50) NULL

~ueldo_Basico money NOT NOLLCONSTRAINT PK EMPLEADOS PRlMARY KBY CLUSTBRBD

LegajoON [PRlMARY]

CONSTRAINT PK BMPLEADOS CATBGORIAS FORBIGN KBY- -

cod_categoriaREFBRBNCBS CATBGORIAS

Cod_Categoria

ON [PRlMARY]

Page 8: Creación de una base de datos

En la definición de la tabla de EMPLEADOS aparece una nueva instrucción T-SQL deintegridad, en este caso de integridad referencial que indica que la tabla EMPLEADOSposee una clave foránea con la tabla CATEGORIAS por medio del campo Cod_Categoria.

Crear una tabla utilizando el Enterprise ManagerComo dijimos antes, aunque en realidad no corresponda direcrarnenre a una ins-micción DDL, veremos en este caso cómo se crea una tabla utilizando el entornográfico. Para ello, posicionados en la base SUELDOS_Vi, presionamos el botón dere-cho del mouse sobre la carpeta Tablas y elegimos la opción Crear nueva tabla.

teoes 191tems:

••••• -rt:I•.••••••••!:IS'r"SaltM~üs~Wls'~<lW$eh....,tj~,'$~l~~-t::fo,eqi<oo\."::l~~fJl:rXta.~Ds'fSfIA~I(lr\lIUfy

L:ls\l<inde>.'l:5t:l S)=6!.ó:~1"I::::!s·....-.bes!:]~'rIOb)eC::;t:I,,.,.....,...~$;WQI:@f~

Ll~l"do¡!:)s.•.••eli!<tnte<:L3$Y$~.Lh~~$

•••••••••"'"••••••••"'"•••"'""'""'"•••••••••••••••

$)':'lo!<ll

s~••$'f$I,"Si'Sttms,...Srs,WIIs~••S'r'Ste'!l

"' .."' ..S\'StMI

S~$:errS','!:l_

5\'S!:ttl;

"' ..S~'Stem

Sl'~~S~••S~leIl

Figura 8. Cómo crear una tabla dentro de la base de datos de nombre SUELDOS_V1.

luego nos aparece la siguiente pantalla en la cual definimos todos los campos con susrespectivos tipos de datos, si aceptan o no acepran valores nulos y cuál de ellos será elcampo clave, como muestra la siguiente figura.

-no ORDEN DE LA SECUENCIA PARA ELIMINAR

Para eliminar las tablas de la base de datos. primero se deberán eliminar las tablas que poseenias claves foráneas y Luego las tablas de las cuales dependían. En nuestro ejemplo debería bo--rar primero la tabla EMPLEADOS_CONCEPTOS, luego la tabla EMPLEADOS, para por último elimi-llar la tabla CATEGORIAS. El orden de eliminación es inverso al orden de creado.

Page 9: Creación de una base de datos

';11 SQl Server Enterprise Manager - [Uew Table In 'SUUOOS_V1' 00 'NOTEBOOK'l ~ =:..- _ ..~-

~~ l&:¡,~•••.I!Hi~6j~~"'1!'JlalUmNal'rle oataoTwe ~ AIQ<,o¡N!.Is

f---

1-

=

Figura 9. Cómo definir los atributos de la tabla CATEGORIA.

Luego presionamos el botón de guardar donde el mismo nos pedirá que definamos elnombre de la tabla, nosotros escribitemos CATEGORIA, presionamos aceptar y listo.

La instrucción CREATE se utiliza también para crear VISTAS, PROCEDIMIENTOS ALMACE-NADOS YOtrOStipos de objetos que veremos más adelante en esre libro.

Instrucción ALTERLa instrucción ALTER se utiliza para modificar, agregar o quitar propiedades, restric-ciones O arriburos de las bases de datos, tablas vistas, procedimientos almacenados,desencadenadores, funciones entre otros. Nosotros daremos un ejemplo de cómoagregarle un atributo o campo a la rabia CATEGORIAS de nombre Usuario para regis-trar el usuario que agregó una caregoría a la tabla y luego sacaremos dicho atributocon la misma insrrucción como si nada hubiera sucedido.

1m BASE DE DATOS MODELO DI ORDEN DE CREACiÓN--'

Cada vez que se crea una nueva base, se utilizacomo modelo para crearla Labase model, queviene con Sal Server. Si se modifica sus pará-metros todas las bases se verán afectadas.

Cree primero todas las tablas que no poseerclaves foráneas y luego Las tablas que poseerlas claves foráneas relacionadas con Lasprime-

ras. Si invierte el orden tendrá inconvenientes.

Page 10: Creación de una base de datos

Para agregar el campo usuario utilizamos la siguiente instrucción T-SQL:

USB SUELDOS

ALTBR TABLB CATBGORIASADD Usuario varchar (30)

Si se fija notará que la rabIa CATEGORIAS ahora posee un campo Usuario de tipo var-char de (30). Para quitar el campo Usuario de la tabla CATEGORIAS que recién aca-bamos de agtegar se utiliza el siguiente código.

USE SUELDOS

ALTBR TABLE CATEGORIASDROP COLUMN Usuario

Como decíamos a lo largo de este capítulo, para conocer todas las opciones posiblesde la insrrucción ALTER se puede utilizar la ayuda de T-SQL.

Instrucción DROPComo ya habrá visto, en la instrucción anterior de eliminación de una columna deuna tabla la instrucción DROP se mil iza para borrar o eliminar base de daros, tablas,vistas, procedimientos almacenados, funciones, índices, desencadenadores, reglas,atributos, propiedades, restricciones, etc. ._rosotras mostraremos cómo borrar la tabla CATEGORIAS, le pido que no lo haga si-no qLlesimplemente qLlevea el ejemplo de código, pero además si lo intenta, SQLServer no le permitirá borrarla, ya que existe una restricción de integridad referen-cial de clave foránea con la tabla EMPLEADOS.

--.DI MODIFICACIONES DE LOS DATOS DE UNA TABLA

Para modificar los datos de una tabla de la base de datos, nunca realice modificaciones de Lasclaves primarias de las tablas por más que pueda, ya que eso finalmente le puede traer pro-

bternas en el futuro con las claves foráneas o con la unicidad de la clave primaria, y el motorde base de datas no se lo permitirá hacer.

Page 11: Creación de una base de datos

La instrucción T-SQL para eliminarla sería:

USB SUELDOS

D~OP TABLE CATBGQRIAS

INSERT INTO CATEGORIAS (Cod_Categoria, Dese_CategorialVALUES ('CA', 'CADBTE')

DMLEl lenguaje DML se utiliza para manipular los datos que se encuentran en los diferen-tes objetos de la base de datos. Cuando decimos manipular los datos, estamos hablan-do de la posibilidad de consultar los datos existentes (instrucción SELECT), insertarnuevos datos (instrucción INSERT), modificarlos (instrucción UPDATE) o eliminarlos(instrucción DELETE) de nuestra base de datos. Cabe hacer una aclaración irnportaneey es que toda esta manipulación de los datos se hace a nivel de tuplas (filas).

Instrucción IN5ERTLa instrucción INSERT se utiliza para insertar una o más filas en una tabla o vista.Por ejemplo, si se deseara inserrar una fila a la tabla CATEGORIAS de nuestro ejem-plo para realizar dicha operación el código de T-SQL sería el siguiente:

USE SUELDOS

En este ejemplo estarnos insertando en la tabla CATEGORIAS la fila que posee códi-go de categoría CA cuya descripción para la categoría es CADETE.

--.m ORDEN DE LA SECUENCIA PARA INSERTAR FILAS

Para insertar filas en las tablas de la base de datos, como siguen vigentes nuestras restriccio-

nes de integridad, deberá insertar primero las filas de LaS'tablas que no poseen claves foráneas

para luego insertar las filas en las tablas que poseen claves foráneas. Como no es suficiente. se

deberá garantizar además que los valores a insertar existan como clave primaria en Latabla.

Page 12: Creación de una base de datos

luego de la instrucción INSERT colocamos la palabra INTO (que le indica en dondedeseamos realizar la inserción de daros) y después el nombre de la tabla donde que-rernos agregar la fila de valores, en nuestro caso CATEGORIAS. Luego colocamos elnombre de los campos en su respectivo nombre entre paréntesis y después la pa-labra VALUE que le indica al moror de base de daros que a partir de ahí todo loque aparezca entre los paréntesis será el conjunto de valores a insertar.

•.\demás, los valores CA y CADETE están encerrados entre apóstrofos pues son cade-nas de caracteres y esa es la forma de indicárselo al moror de SQL Server (en gene-ral a rodas los morores de base de daros que utilizan SQL como lenguaje).

En cuanro al orden de la secuencia para insertar filas, en nuestro caso usted no po-drá insertar ninguna fila en la tabla EMPLEADOS hasta que no haya realizado la inser-ción correspondiente en la rabla CATEGORIAS; y además como en nuestra tabla CATEGO-JUAS hasta ahora tenernos cargada nada más que la caregoría cadete no podremos in-sertar en la tabla EMPLEADOS a ningún empleado que sea de una categoría distinta acadete a no ser que antes ingresemos la categoría en cuestión en la tabla CATEGORIAS.

Instrucción 5ELECTLa instrucción SELECT permite consultar los daros de una o más tablas, Dicha ins-rrucción además se puede utilizar para filtrar los daros mostrados tanto a nivel dearriburos (campos) como a nivel de tuplas (filas).De forma genérica, para que muestre rodas los daros de una tabla (rodas sus cam-pos con rodas sus filas) sería para nuestro ejemplo de la rabia CATEGORIAS.

USE SUELDOS

SELECT •

FROM CATEGORIAS

Ahora bien, si uno quisiera ver nada más que la descripción de la caregoría cuandoesta es el código CA (o mejor dicho, la caregoría cadete) el código sería:

USE SUELDOS

SELECT Desc_CategoriaFROM CATEGORIAS

WHERE Cod_Categoria 'CA'

Page 13: Creación de una base de datos

Aclaramos que la instrucción SELECT posee muchas más variantes a la mostrada eneste apartado, el cual realiza un uso básico de ella.A lo largo del libro veremos cómo ella se puede complejizar, pero si está muy ansio-so le sugiero que eche una mirada al help de T-SQL.

Instrucción UPDATELa instrucción UPDATE se utiliza para modificar (actualizar o cambiar) el valor O va-lores de una fila o fijas de una tabla. Por ejemplo, supongamos que deseamos cam-biar la descripción de la categoría del código de categoría CA de cadete a capataz.Para ello el código sería el siguiente:

USE SUELDOS

UPDATE CATEGORIASSET Desc_Categoria = 'Capataz~where Cod_categoria ='CA'

Instrucción DELETELa instrucción DELE TE permite eliminar una o más filas de una tabla. Se puede sidesea borrar todas las filas de una tabla, con lo cual le sugiero que sea muy cuida-doso al usar esta insrrucción y antes de ejecutarla esté seguro que lo que va a elimi-nar es realmente lo que usted desea eliminar. Para eliminar todas las filas de la tablaCATEGORIAS podría utilizar cualquiera de los siguientes códigos:

USE SUELDOS

DELETE FROM CATEGORIAS

o en su defecto:

USE SUELDOS

DELETE CATEGORIAS

Ahora bien, si usted desea eliminar las filas de la tabla categoría, cuyo código de ca-tegoría es CA,elcódigo sería el siguiente:

Page 14: Creación de una base de datos

USE SUELDOS

DELETE FROM CATEGORIASWHERE Cod_categoria=' CA'