Documente Academic
Documente Profesional
Documente Cultură
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.
Inicio de sesi�n: sa
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]], [...]
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)
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
Libro
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
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