Sunteți pe pagina 1din 7

Objetivos: Aprender a:

PRACTICA 02
? Identificar entidades, atributos, interrelaciones y claves.
? Creaci�n de una base de datos con el lenguaje Transact-SQL en el MS SQL Server
2005.
? Creaci�n de tablas con sus claves (PK y FK) de una base de datos con el
lenguaje Transact-SQL.
? Ingresar datos a las tablas de una base de datos con el lenguaje Transact-SQL.

Transact-SQL es el lenguaje que utilizan todos los comandos que se env�an a


Microsoft SQL Server 2005 desde todas las aplicaciones. Transact-SQL contiene
instrucciones compatibles con todo el trabajo administrativo de SQL Server.
Dentro de estas instrucciones podemos distinguir:
� DDL (Data Definition Language) - Lenguaje de Definici�n de Datos: que se utiliza
para definir y administrar todos los objetos de una base de datos SQL.
Las principales instrucciones son:
CREATE que permite crear objetos de una BD SQL.
ALTER que permite modificar objetos de una BD SQL. DROP que permite eliminar
objetos de una BD SQL. GRANT que permite otorgar permisos.
REVOKE que permite revocar permisos.
� DML (Data Manipulation Language) - Lenguaje de Manipulaci�n de Datos: que se
utiliza para seleccionar, insertar, actualizar y eliminar datos en los objetos
definidos mediante DDL.
Las principales instrucciones son:
INSERT que permite insertar de una tabla. DELETE que permite eliminar filas de una
tabla. UPDATE que permite actualizar filas de una tabla. SELECT que permite
seleccionar filas de una tabla.

1. Cargar el MS Server 2005. (Inicio/Todos los programas/Microsoft SQL Server


2005/ SQL Server Mangement Studio).

2. Configurado el entorno de SQL, nos mostrara la siguiente ventana.

Nombre del servidor: Digita el nombre de tu PC, por ejemplo PC210


Autenticaci�n: Autenticaci�n de SQL Server

Inicio de sesi�n: sa

3. Clic en el bot�n Conectar.

4. Clic en el men� Archivo\Nuevo\Consulta de motor de base de datos.

5. Clic en el bot�n Conectar.

6. Digitar creaci�n de base de datos Biblioteca.

7. Hacer clic en el bot�n Ejecutar o [F5].


La sintaxis del Transact SQL Server para crear una base de datos es: CREATE
DATABASE Nombre_base_datos
ON PRIMARY (NAME = Nombre_l�gico_datos,
FILENAME = �Ubicaci�n_y_nombre_archivo�, SIZE = Tama�o_en_MB,
MAXSIZE = Tama�o_m�ximo_en_MB, FILEGROWTH = Incremento_crecimiento) LOG ON
(NAME = Nombre_l�gico_log,
FILENAME = �Ubicaci�n_y_nombre_archivo�, SIZE = Tama�o_en_MB,
MAXSIZE = Tama�o_m�ximo_en_MB,
FILEGROWTH = Incremento_crecimiento)

CREATE DATABASE Biblioteca


ON PRIMARY (NAME = Biblioteca_Datos,
FILENAME = 'G:\INTRODUCCION_BASE_DATOS\Biblioteca_Datos.mdf', SIZE = 1MB,
MAXSIZE = 3MB,
FILEGROWTH = 20%) LOG ON
(NAME = Biblioteca_Registro,
FILENAME = 'G:\INTRODUCCION_BASE_DATOS\Biblioteca_Registro.ldf', SIZE = 1MB,
MAXSIZE = 2MB, FILEGROWTH = 1MB)

8. Men� contextual de la carpeta Base de datos y elegir el comando Actualizar para


ver la BD
Biblioteca.

9. Guardar el archivo Datos, hacer clic en el men� Archivo\ Guardar biblioteca.sql


como�
10. Guardar con el nombre: Biblioteca
11. Clic en el bot�n Guardar.

12. Creaci�n de Tablas.


La sintaxis del Transact SQL Server para crear una tabla es: CREATE TABLE
Nombre_tabla
( Nombre_columna1 propiedades [restricciones], Nombre_columna2 propiedades
[restricciones],
....)
? Propiedades: Se especifica el tipo de dato, longitud, si permite valores nulos,
si es columna IDENTITY (identidad).
? Restricciones: Se especifica una restricci�n de columna o de tabla, si es clave
primaria, candidata, for�nea o �ndices.

La sintaxis principal del Transact SQL Server para modificar la estructura de una
tabla es: ALTER TABLE Nombre_tabla
[ALTER COLUMN Nombre_column propiedades [restricciones]], [ADD Nombre_columna
propiedades [restricciones] ],
[ADD PRIMARY KEY (Columna(s))]
[ADD FOREIGN KEY (Columna(s)) REFERENCES Nombre_tabla] [UNIQUE (Columnas(s))]
[DROP Nombre_columna] [n]], [...]

? ALTER COLUMN: Cambia el nombre, tipo, longitud, propiedades y restricciones de


una columna IDENTITY.
? ADD: Agrega una nueva columna, una clave primaria, clave for�nea o un �ndice
de tipo UNIQUE.
? DROP: elimina una o varias columnas.
? UNIQUE: Crea un �ndice �nico.
? [n] solo indica repetici�n.

Los tipos de �ndices que maneja SQL Server son dos:


? Clustered.
? Non Clustered.

USE Biblioteca
CREATE TABLE Lector
(Cod_lector CHAR(5) PRIMARY KEY,
Apellido vARCHAR(40) NOT NULL, Nombre VARCHAR(35) NOT NULL, Fecha_nac DATETIME NOT
NULL, Sexo BIT,
Direcci�n VARCHAR(60),
Tel�fono CHAR(6), Tipo CHAR(1) , UNIQUE(Apellido, Nombre))

USE Biblioteca
CREATE TABLE Libro
(Cod_libro CHAR(8) PRIMARY KEY, T�tulo VARCHAR(180) ,
Autor VARCHAR(120)NOT NULL, Editorial VARCHAR(40), A�o_edit INT,
P�ginas INT, Descripci�n TEXT, UNIQUE (T�tulo))
USE Biblioteca
CREATE TABLE Empleado
(Cod_empleado CHAR(5) PRIMARY KEY,
Ape_empleado VARCHAR(40) NOT NULL, Nom_empleado VARCHAR(35) NOT NULL, Fna_empleado
DATETIME NOT NULL, Sex_empleado BIT,
Dir_empleado VARCHAR(60),
Tel_empleado CHAR(6), Dni_empleado CHAR(8))

USE Biblioteca
CREATE TABLE Ejemplar (Cod_Ejemplar CHAR(2) NOT NULL, Cod_libro CHAR(8)NOT NULL,
Fecha_ingreso DATETIME NOT NULL, Precio MONEY,
PRIMARY KEY (Cod_ejemplar, Cod_libro), FOREIGN KEY(Cod_libro) REFERENCES Libro)

USE Biblioteca
CREATE TABLE Pr�stamo
(Cod_lector CHAR(5) NOT NULL,
Cod_empleado CHAR(5) NOT NULL, Cod_ejemplar CHAR(2) NOT NULL, Cod_libro CHAR(8) NOT
NULL, Fecha DATETIME NOT NULL, Fecha_devo DATETIME,
PRIMARY KEY (Cod_lector, Cod_empleado, Cod_ejemplar, Cod_libro, Fecha), FOREIGN KEY
(Cod_lector) REFERENCES Lector,
FOREIGN KEY (Cod_ejemplar, Cod_libro) REFERENCES Ejemplar, FOREIGN KEY
(Cod_empleado) REFERENCES Empleado)

USE Biblioteca
CREATE INDEX IX_Fechanac_Lector
ON Lector(Fecha_nac)

USE Biblioteca
CREATE INDEX IX_Autor
ON Libro(Autor)

USE Biblioteca
CREATE UNIQUE INDEX UQ_Autor_T�tulo
ON Libro(Autor, T�tulo)

Identificador SQL
Descripci�n
Rango de valores
Tama�o

Char
Alfanum�rico de longitud fija.
Hasta 255 caracteres
1 byte

Varchar
Alfanum�rico de longitud variable.
Hasta 255 caracteres
1 byte

Int
Entero.
-2.147483648 a
2.147483648
4 bytes

Smallint
Entero peque�o.
-32768 a 32768
2 bytes

Tinyint
Entero min�sculo.
0 a 255
1 byte

Numeric(p,s) Decimal(p,s)

Decimal exacto sin redondeo


-1.79E308 a 1.79E308 p= parte entera s= parte decimal

2 a 17 bytes

Float(n)
Num�rico con coma flotante y
Redondeo = -1.79E308 a
1.79E308
8 bytes

Real
Num�rico con coma flotante. Simple precisi�n
1? n ? 7
Redondeo = -340E38 a
34E38
Precisi�n =
-1.18E-38 a 340E38

4 bytes

Datatime
Fecha y hora hist�ricas.
1-enero-1735 a
31-diciembre-9999
8 bytes

Smalldatatime
Fecha y hora de uso com�n.
1-enero-1900 a
31-diciembre-2079
4 bytes

Money
Moneda de doble precisi�n.
-922337203685447,5508 a
22337203685447,5508
8 bytes

Smallmoney
Moneda de simple precisi�n.
-214748,3684 a
214748,3684
4 bytes

Binary(n)
Binario de longitud fija.
Hasta 255 bytes
n bytes sean
usados o no

Varbynary(n)
Binario de longitud variable.
Hasta 255 bytes
n bytes como m�ximo

Text
Para texto largo tipo Memo
Hasta 2GB
Hasta 2GB

Image
Im�genes de hasta 2 GB.
Hasta 2GB
Hasta 2GB

Lector

insert Lector values(


'25001','LASCURAIN y TORQUEMADA','Mar�a', '14/08/84', '0','28 de Julio 178',
'405624','A')

25002,BUENDIA IGUARAN,Aureliano,22/01/76,1,Los Mirlos 197,421336,A


25003,IBA�EZ MARZOLINI,Maricielo,25/12/78,0,Bolognesi 1045,412523,A
25004,BORJA JIMENEZ,Jorge Luis,30/04/77,1,Asamblea 980,841425,A
25005,SANCHEZ FUENTES,Roberto,24/01/75,1,Ayacucho 295,244477,A
25006,BERNALES SOTOMAYOR,Alfredo,24/06/64,1,28 de Julio 178,807641,P
25007,QUISPE SANCHEZ,Carlota,12/11/66,0,Dos de Mayo 768,804321,P
25008,GUTIERREZ PEREZ,Mario,15/02/78,1,9 de Diciembre 666,425505,P
25009,BERNARDI ARIAS,Jos� Carlos,20/08/77,1,Zela 451,410908,P
25010,CISNEROS GALVEZ,Antonio,24/03/65,1,Grau 987, ,P
25011,TOLEDO MARTINEZ,Genoveva,24/11/70,0,Pinto 485,248974,E
25012,DEL POZO MONCAYO,Ra�l,17/12/80,1,Bolognesi 1011,425588,E

Libro

INBD.001,INTRODUCCI�N A LOS SISTEMAS DE BASES DE DATOS,DATE c.J.,Mc. Graw


Hill,2001,650,
INBD.002,FUNDAMENTOS DE BASES SE DATOS,KORTH Henry F.- SILBERCHATZ Abraham, Mc.
Graw Hill,1995,450,
INBD.003,FUNDAMENTOS Y MODELOS DE BASES SE DATOS, DE MIGUEL Adoraci�n - PIATTINI
Mario,Alfaomega - Rama,2003,380,
INBD.004,BASE DE DATOS CON SQL SERVER 2000 PASO A PASO,ABURTO CORREA Eddy
Blaider,SAN MARCOS,2003,450,
INBD.005,PROGRAMACI�N EN SQL SERVER 2000: CON EJEMPLOS,GUERRERO Fernando G. -
ROJAS Carlos Eduardo,SAN MARCOS,2003,560,
INBD.006,MICROSOFT SQL SERVER 2000: MANUAL DEL ADMINISTRADOR,STANEx Williams,Mc.
Graw Hill,2001,850,
Ejemplar

01,INBD.001,12/05/03,280
02,INBD.001,12/05/03,280
01,INBD.002,18/03/04,240
02,INBD.002,18/03/04,240
03,INBD.002,18/03/04,240
01,INBD.003,18/03/04,180
02,INBD.003,18/03/04,180
03,INBD.003,18/03/04,180
04,INBD.003,18/03/04,180
05,INBD.003,18/03/04,180
01,INBD.004,18/03/04,30
02,INBD.004,18/03/04,30
03,INBD.004,18/03/04,30
04,INBD.004,18/03/04,30
05,INBD.004,18/03/04,30
01,INBD.005,25/08/04,30
02,INBD.005,25/08/04,30
03,INBD.005,25/08/04,30
04,INBD.005,25/08/04,30
05,INBD.005,25/08/04,30
01,INBD.006,25/08/04,80
02,INBD.006,25/08/04,80
03,INBD.006,25/08/04,80

Empleado

AV001,VARGAS VILA,Eduardo Jos�,18/03/75,1,Ayacucho 125,245896,00558749


MC002,CACERES VENTURA,M�nica,10/08/70,0,Dos de mayo 235,425897,00885471
QP003,PEREZ GOMEZ,Quiterio,24/08/68,1,Bolognesi 1458,417898,24589674
SC004,CASTRO MORALES,Segundo,15/10/80,1,Pinto 889,245877,00589741
GT005,TICONA LAGUNA,Gloria Elba,22/09/82,0,Arequipa 697,802165,00236541
HC006,CHAVEZ FALCON,Hugo Demetrio,24/12/72,1,Arias Araguez 897,412635,56987432
JZ007,ZEGARRA MOSTO,Juan Jos�,25/12/74,1,Bolivar 654,425879,00589741
JR008,ROMANI GARCIA,Julieta,05/01/79,0,Miller 56,312569,00669987
PS009,SUAREZ VEGA,Pedro Pablo,18/09/78,1,Patricio Mel�ndez 639,312698,00789654
ER010,REYNOSO MOLINA,Edelmira,26/03/80,0,Las Buganvillas H-8,429984,00456987

Pr�stamo

25001,AV001,01,INBD.001,06/11/07,10/11/07
25005,GT005,02,INBD.001,06/11/07,10/11/07
25010,ER010,01,INBD.002,06/11/07,10/11/07
25002,MC002,02,INBD.002,06/11/07,10/11/07
25004,SC004,03,INBD.002,06/11/07,10/11/07
25006,HC006,01,INBD.004,06/11/07,10/11/07
25003,QP003,02,INBD.004,06/11/07,10/11/07
25007,JZ007,03,INBD.004,06/11/07,10/11/07
25009,PS009,04,INBD.004,06/11/07,10/11/07
25008,JR008,05,INBD.005,06/11/07,10/11/07

S-ar putea să vă placă și