You are on page 1of 8

MANUAL DEL PARTICIPANTE

I.S.E.P. CARLOS MEDRANO VSQUEZ


SAN CLEMENTE PISCO
ADMINISTRACIN BASE DE DATOS MS SQL SERVER
D.S. N 019 89 - ED

TIPOS DE DATOS BSICOS

El tipo de dato especifica el tipo de informacin que puede guardar un campo:


caracteres, nmeros, etc. Estos son algunos tipos de datos bsicos de SQL
Server (posteriormente veremos otros):

varchar: se usa para almacenar cadenas de caracteres. Una cadena es una


secuencia de caracteres. Se coloca entre comillas (simples); ejemplo: 'Hola',
'Juan Perez'. El tipo "varchar" define una cadena de longitud variable en la
cual determinamos el mximo de caracteres entre parntesis. Puede guardar
hasta 8000 caracteres. Por ejemplo, para almacenar cadenas de hasta 30
caracteres, definimos un campo de tipo varchar(30), es decir, entre parntesis,
junto al nombre del campo colocamos la longitud. Si asignamos una cadena
de caracteres de mayor longitud que la definida, la cadena no se carga,
aparece un mensaje indicando tal situacin y la sentencia no se ejecuta. Por
ejemplo, si definimos un campo de tipo varchar(10) e intentamos asignarle la
cadena 'Buenas tardes', aparece un mensaje de error y la sentencia no se
ejecuta.

integer: se usa para guardar valores numricos enteros, de -2000000000 a


2000000000 aprox. Definimos campos de este tipo cuando queremos
representar, por ejemplo, cantidades.
float: se usa para almacenar valores numricos con decimales. Se utiliza
como separador el punto (.). Definimos campos de este tipo para precios, por
ejemplo. Antes de crear una tabla debemos pensar en sus campos y optar por
el tipo de dato adecuado para cada uno de ellos. Por ejemplo, si en un campo
almacenaremos nmeros enteros, el tipo "float" sera una mala eleccin; si
vamos a guardar precios, el tipo "float" es ms adecuado, no as "integer" que
no tiene decimales. Otro ejemplo, si en un campo vamos a guardar un nmero
telefnico o un nmero de documento, usamos "varchar", no "integer" porque
si bien son dgitos, con ellos no realizamos operaciones matemticas.

Para almacenar TEXTO usamos cadenas de caracteres. Las cadenas se colocan


entre comillas simples. Podemos almacenar letras, smbolos y dgitos con los

ROXANA PALOMINO LLAMOSA 1


MANUAL DEL PARTICIPANTE
I.S.E.P. CARLOS MEDRANO VSQUEZ
SAN CLEMENTE PISCO
ADMINISTRACIN BASE DE DATOS MS SQL SERVER
D.S. N 019 89 - ED

que no se realizan operaciones matemticas, por ejemplo, cdigos de


identificacin, nmeros de documentos, nmeros telefnicos. Tenemos los
siguientes tipos:

1. varchar(x): define una cadena de caracteres de longitud variable en la


cual determinamos el mximo de caracteres con el argumento "x" que va
entre parntesis. Si se omite el argumento coloca 1 por defecto. Su rango
va de 1 a 8000 caracteres.
2. char(x): define una cadena de longitud fija determinada por el argumento
"x". Si se omite el argumento coloca 1 por defecto. Su rango es de 1 a
8000 caracteres. Si la longitud es invariable, es conveniente utilizar el tipo
char; caso contrario, el tipo varchar. Ocupa tantos bytes como se definen
con el argumento "x". "char" viene de character, que significa caracter en
ingls.
3. text: guarda datos binarios de longitud variable, puede contener hasta
2000000000 caracteres. No admite argumento para especificar su
longitud.
4. nvarchar(x): es similar a "varchar", excepto que permite almacenar
caracteres Unicode, su rango va de 0 a 4000 caracteres porque se
emplean 2 bytes por cada carcter.
5. nchar(x): es similar a "char" excepto que acepta caracteres Unicode, su
rango va de 0 a 4000 caracteres porque se emplean 2 bytes por cada
carcter.
6. ntext: es similar a "text" excepto que permite almacenar caracteres
Unicode, puede contener hasta 1000000000 caracteres. No admite
argumento para especificar su longitud.

TIPO DE DATO (FECHA Y HORA)

Para almacenar valores de tipo FECHA Y HORA SQL Server dispone de dos
tipos:
1. DATETIME: puede almacenar valores desde 01 de enero de 1753 hasta 31
de diciembre de 9999.
2. SMALLDATETIME: el rango va de 01 de enero de 1900 hasta 06 de junio de
2079. Las fechas se ingresan entre comillas simples. Para almacenar valores
de tipo fecha se permiten como separadores "/", "-" y ".". SQL Server reconoce
varios formatos de entrada de datos de tipo fecha. Para establecer el orden
de las partes de una fecha (da, mes y ao) empleamos "set dateformat". Estos
son los formatos: -mdy: 4/15/96 (mes y da con 1 2 dgitos y ao con 2 4
dgitos), -myd: 4/96/15, -dmy: 15/4/1996 -dym: 15/96/4, -ydm: 96/15/4, -ydm:
1996/15/4

ROXANA PALOMINO LLAMOSA 2


MANUAL DEL PARTICIPANTE
I.S.E.P. CARLOS MEDRANO VSQUEZ
SAN CLEMENTE PISCO
ADMINISTRACIN BASE DE DATOS MS SQL SERVER
D.S. N 019 89 - ED

CREAR UNA BASE DE DATOS

Una base de datos en un sistema relacional est compuesta por un conjunto de tablas,
que corresponden a las relaciones del modelo relacional. En la terminologa usada en
SQL no se alude a las relaciones, del mismo modo que no se usa el trmino
atributo, pero s la palabra columna, y no se habla de tupla, sino de lnea. A
continuacin se usarn indistintamente ambas terminologas, por lo que tabla estar
en lugar de relacin, columna en el de atributo y lnea en el de tupla, y viceversa.
Prcticamente, la creacin de la base de datos consiste en la creacin de las tablas
que la componen. En realidad, antes de poder proceder a la creacin de las tablas,
normalmente hay que crear la base de datos, lo que a menudo significa definir un
espacio de nombres separado para cada conjunto de tablas. De esta manera, para una
DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo
sin que se den conflictos con los nombres que se usan en cada una de ellas. La sintaxis
empleada por PostgreSQL, pero tambin por las DBMS ms difundidas, es la siguiente:

CREATE DATABASE nombre_base de datos

INGRESAR ALGUNOS CAMPOS (insert into)

Se utiliza dicha condicin para registrar e insertar datos en una tabla teniendo
como condicin el Values Si ingresamos valores para todos los campos, podemos
omitir la lista de nombres de los campos.

Por ejemplo, si tenemos creada la tabla "libros" con los campos "titulo", "autor" y
"editorial", podemos ingresar un registro de la siguiente manera:

insert into libros values ('Uno','Richard Bach','Planeta');

Tambin es posible ingresar valores para algunos campos. Ingresamos valores


solamente para los campos "titulo" y "autor":

insert into libros (titulo, autor) values ('El aleph','Borges');

ROXANA PALOMINO LLAMOSA 3


I.S.E.P. CARLOS MEDRANO VSQUEZ MANUAL DEL PARTICIPANTE
SAN CLEMENTE PISCO
D.S. N 019 89 - ED ADMINISTRACIN BASE DE DATOS MS SQL SERVER

CREAR UNA TABLA (create table - sp_tables -


sp_columns - drop table

Una base de datos almacena su informacin en tablas. Una tabla es una estructura de
datos que organiza los datos en columnas y filas; cada columna es un campo (o
atributo) y cada fila, un registro. La interseccin de una columna con una fila, contiene
un dato especfico, un solo valor.
Cada registro contiene un dato por cada columna de la tabla.
Cada campo (columna) debe tener un nombre. El nombre del campo hace
referencia a la informacin que almacenar. Cada campo (columna) tambin debe
definir el tipo de dato que almacenar.
Las tablas forman parte de una base de datos.

Al crear una tabla debemos resolver qu campos (columnas) tendr y que tipo de datos
almacenarn cada uno de ellos, es decir, su estructura.
La sintaxis bsica y general para crear una tabla es la siguiente:

create table NOMBRETABLA(


NOMBRECAMPO1
TIPODEDATO,
...
NOMBRECAMPON TIPODEDATO);

La tabla debe ser definida con un nombre que la identifique y con el cual accederemos
a ella.
Creamos una tabla llamada "usuarios" y entre parntesis definimos los campos y
sus tipos:
create table usuarios (
nombre varchar(30),
clave varchar(10));

Cada campo con su tipo debe separarse con comas de los siguientes, excepto el
ltimo.
Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo
con su tipo de dato. En esta tabla "usuarios" definimos 2 campos:

nombre: que contendr una cadena de caracteres de 30 caracteres de


longitud, que almacenar el nombre de usuario y
clave: otra cadena de caracteres de 10 de longitud, que guardar la clave de

ROXANA PALOMINO LLAMOSA 4


I.S.E.P. CARLOS MEDRANO VSQUEZ MANUAL DEL PARTICIPANTE
SAN CLEMENTE PISCO
D.S. N 019 89 - ED ADMINISTRACIN BASE DE DATOS MS SQL SERVER

cada usuario.
Cada usuario ocupar un registro de esta tabla, con su respectivo nombre y clave. Para
nombres de tablas, se puede utilizar cualquier carcter permitido para nombres
de directorios, el primero debe ser un carcter alfabtico y no puede contener
espacios. La longitud mxima es de 128 caracteres.
Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese
nombre), mostrar un mensaje indicando que ya hay un objeto llamado 'usuarios' en la
base de datos y la sentencia no se ejecutar. Esto es muy importante ya que cuando
haga los ejercicios en este sitio puede haber otra persona que haya creado una tabla
con el nombre que usted especifique.
Para ver la estructura de una tabla usamos el procedimiento almacenado

"sp_columns" junto al nombre de la tabla: sp_columns usuarios;

Aparece mucha informacin que no analizaremos en detalle, como el nombre de la


tabla, su propietario, los campos, el tipo de dato de cada campo, su longitud, etc.:

.COLUMN NAMETYPE NAME LENGHT


Nombre Varchar 30
clave varchar 10

Para eliminar una tabla usamos "drop table" junto al nombre de la tabla a eliminar:

drop table usuarios;

Si intentamos eliminar una tabla que no existe, aparece un mensaje de error indicando
tal situacin y la sentencia no se ejecuta. Para evitar este mensaje podemos agregar
a la instruccin lo siguiente:
if object_id('usuarios') is not null drop table usuarios;

En la sentencia precedente especificamos que elimine la tabla "usuarios" si existe.

Problema:

Vamos a crear una tabla llamada "usuarios". En primer lugar vamos a eliminar la tabla

ROXANA PALOMINO LLAMOSA 5


I.S.E.P. CARLOS MEDRANO VSQUEZ MANUAL DEL PARTICIPANTE
SAN CLEMENTE PISCO
D.S. N 019 89 - ED ADMINISTRACIN BASE DE DATOS MS SQL SERVER

"usuarios" averiguando si existe (a esto vamos a repetirlo siempre porque puede haber
otro usuario que haya creado una tabla con el mismo nombre):
if object_id('usuarios') is not null drop table usuarios;
Recordar que debemos finalizar cada comando con un punto y coma.

La tabla "usuarios" contendr los siguientes campos:

- nombre: varchar de 30 caracteres de longitud,

- clave: varchar de 10 caracteres de longitud. Ahora si creamos la tabla:

Aparece un mensaje indicando que el comando se complet exitosamente. Veamos


las tablas existentes: sp_tables @table_owner='dbo';

Veamos la estructura de la tabla "usuarios": sp_columns usuarios;

Aparece mucha informacin que no analizaremos en detalle, como el nombre de la


tabla, su propietario, los campos y sus tipos de datos, su longitud, etc.:

Intentemos crear una tabla con el mismo nombre, mostrar un mensaje indicando que
ya hay un objeto llamado 'usuarios' en la base de datos y la sentencia no se ejecutar:

Eliminemos la tabla: drop table usuarios;

ROXANA PALOMINO LLAMOSA 6


I.S.E.P. CARLOS MEDRANO VSQUEZ MANUAL DEL PARTICIPANTE
SAN CLEMENTE PISCO
D.S. N 019 89 - ED ADMINISTRACIN BASE DE DATOS MS SQL SERVER

Verifiquemos si se ha eliminado: sp_tables @table_owner='dbo'; no debe aparecer


la tabla "usuarios".

EJERCICIOS

A. Un videoclub que alquila pelculas en video almacena la informacin


de sus pelculas en una tabla llamada "pelculas"; para cada pelcula
necesita los siguientes datos:

nombre, cadena de caracteres de 20 de longitud,


actor, cadena de caracteres de 20 de longitud,
duracin, valor numrico entero.
cantidad de copias: valor entero.

1. Elimine la tabla, si existe: drop table peliculas;


2. Cree la tabla eligiendo el tipo de dato adecuado para cada campo:

create table
peliculas( nombre
varchar(20), actor
varchar(20),
duracion integer,
cantidad integer);

3. Vea la estructura de la tabla


4. Ingrese 5 registros
5. Muestre todos los registros
B. Necesita almacenar los datos de sus amigos en una tabla. Los datos que
guardar sern: apellido, nombre, domicilio y telfono.
1. Elimine la tabla "agenda" si existe:
2. Intente crear una tabla llamada "/agenda":
create table /agenda(
apellido varchar(30),
nombre varchar(20),
domicilio varchar(30),
telefono varchar(11));
Aparece un mensaje de error porque usamos un carcter invlido ("/")
para el nombre.
3. Cree una tabla llamada "agenda", debe tener los siguientes
campos: apellido, varchar(30); nombre, varchar(20); domicilio, varchar (30)
y telefono, varchar(11)
4. Intente crearla nuevamente. Aparece mensaje de error.
5. Visualice las tablas existentes (sp_tables @table_owner='dbo').
6. Visualice la estructura de la tabla "agenda" (sp_columns).
7. Elimine la tabla.
8. Intente eliminar la tabla, sin controlar si existe. Debe aparecer un mensaje
de error.

ROXANA PALOMINO LLAMOSA 7


I.S.E.P. CARLOS MEDRANO VSQUEZ MANUAL DEL PARTICIPANTE
SAN CLEMENTE PISCO
D.S. N 019 89 - ED ADMINISTRACIN BASE DE DATOS MS SQL SERVER

ROXANA PALOMINO LLAMOSA 8

You might also like