Vous êtes sur la page 1sur 29

Instituto Tecnológico de Nuevo Laredo

“Con la ciencia por la humanidad”


Ingeniería En Sistemas Computacionales
Taller de base de datos
Practica #1
Docente: Ing. Humberto Peña Valle
Alumnos: Manuel Infiesta de León N° ctrl. 07100278
Jesús Valadez Moreno N° ctrl. 07100378
Juan Uriel Vera Ortega N° ctrl. 07100384
Índice 2
2.) Lo visto en la unidad 1 y 2……………………………………………………………………………………………3

2.1) Instalación de SGBD……………………………………………………………………………………………………7

2.2) Creación de Bases de Datos………………………………………………………………………………………17

a) Sin especificar parámetros……………………………………………………………………………………………17

b) Especificando parámetros del archivo de datos y del archivo de transacciones………..17

c) Especificando parámetros solo del archivo de datos…………………………………………………..17

2.3) Creación de tablas………………………………………………………………………………………………………18

a) Sin llaves ni restricciones………………………………………………………………………………………………18

b) Con valores predeterminados……………………………………………………………………………………….18

c) Con campos de identidad……………………………………………………………………………………………..18

d) Con campos calculados………………………………………………………………………………………………….19

e) Con llaves primarias………………………………………………………………………………………………………19

f) Con restricciones de dominio………………………………………………………………………………………..19

g) Con llaves foráneas (integridad referencial)…………………………………………………………………20

2.4) Reestructuración de tablas…………………………………………………………………………………………20

a) Agregar campos…………………………………………………………………………………………………………….20

b) Modificar campos………………………………………………………………………………………………………….20

c) Eliminar campos……………………………………………………………………………………………………………20

d) Agregar llaves foráneas………………………………………………………………………………………………..21

2.5) Eliminación de tablas………………………………………………………………………………………………..21

2.6) Creación de índices…………………………………………………………………………………………………..21

a) Índices sencillos……………………………………………………………………………………………………………21

b) Índices compuestos……………………………………………………………………………………………………..21

2.7) Eliminación de índices……………………………………………………………………………………………..21

a) Ejemplos………………………………………………………………………………………………………………………22

2.8) Propuesta del proyecto final……………………………………………………………………………………28


UNIDAD 1: Introducción al DBMS
3
En esta unidad vimos o recordamos algunas definiciones que necesitamos para
poder entrar a trabajar de lleno con SQL Server.

Dato: Es la información sin sentido, los datos son caracteres o conjunto de ellos,
pueden ser numéricos, alfabéticos o alfanuméricos.

Información: Es el conjunto de datos ordenados y guardados dentro de un archivo


que al final se convierten en información que expresa algo para el usuario.

Concepto Básico de archivos computacionales.

Campo: Representa una característica de un individuo u objeto, en pocas palabras


son las columnas de una tabla.

Registro: Es la tupla o colección de campos que pueden ser de diferentes tipos y al


final representan a un objeto o un individuo según sea el caso, son los renglones
dentro de una tabla.

Archivo: Es la colección de registros almacenados en una estructura homogénea.

Base de datos: Es la colección de archivos interrelacionados entre sí.

Sistema Manejador de Base de Datos (DBMS).

Son los programas que utilizamos para la creación, manipulación y actualización de


una base de datos, viene siendo como el enlace entre el usuario la base de datos.

Algunas de sus funciones son:

 Definición de la BD.
 Creación de la BD.
 Recuperación de Datos.
 Actualización de Datos.
Componentes de un DBMS
4
Lenguaje de Definición de Datos (DDL):

Es en donde se define la estructura que tendrá nuestra base de datos, cuantas


tablas tendrá, cuáles serán sus llaves primarias, sus llaves secundarias, etc. El
resultado de estas definiciones se guarda en un archivo denominado diccionario de
datos.

Lenguaje de Manipulación de Datos (DML):

Se refiere a la acción de eliminar, recuperar, insertar o modificar datos.

Administrador de Base de Datos (DBA)

Es la persona encargada y que tiene el control del sistema de base de datos.Sus


funciones son:

Definición del Esquema: Crear el esquema de la BD, esto se hace escribiendo una
serie de instrucciones que el DDL traduce en tablas que son almacenadas en el
diccionario de datos.

Concesión de autorización para el acceso a los datos: Verificar cuales partes de la


BD serán accedidas por los usuarios.

Especificación de Limitación de Integridad: Serie de restricciones y reglas creadas


para la conservación y protección de la información almacenada dentro de la BD.

Usuarios de la Base de Datos.

Cualquier persona que trabaja con la BD mediante el DBMS.

Se clasifican de la siguiente manera:

Programadores de Aplicación: Profesionales en computación que interactúan con el


sistema por medio del DML atraves de instrucciones escritas en un lenguaje de
programación por ejemplo COBOL, Pascal, SQL.

Usuarios Sofisticados: Interactúan con el sistema sin escribir programas, pero


tienen conocimiento de algún lenguaje de consultas de base de datos.
Usuarios Especializados: Son usuarios sofisticados que escriben aplicaciones de
5
base de datos.

Usuarios ingenuos: Es el usuario que utiliza al final el sistema de base de datos sin
saber nada del diseño del mismo.

Unidad 2: Lenguaje de Definición de Datos (DDL).

Esquema de una Base de Datos Relacional:

Una base de datos relacional es un conjunto de relaciones normalizadas. Para


representar su esquema se debe dar el nombre de sus relaciones, los atributos de
estas, los dominios y las llaves primarias y secundarias.

El esquema se define mediante el DDL cuya función consiste en procesar las


sentencias del lenguaje para identificar la descripción de los esquemas y
almacenarla en el diccionario de datos. El diccionario de datos contiene metadatos
(descripción de los objetos de la BD).

Reglas de Integridad.

Al definir un atributo se impone una restricción sobre el conjunto de valores


permitidos para cada atributo, a este tipo de restricción se le llama restricción de
dominio.

Nulos: Cuando en una tupla un atributo es desconocido, se dice que es nulo (no
representa el valor de cero ni de espacio), el ser nulo significa la ausencia de
datos.

Regla de Integridad de Entidades:

Nos indica que ninguno de los atributos que componen la llave primaria puede ser
nulo.
Regla de Integridad Referencial:
6
Esta regla nos indica que las claves externas o llaves foráneas no se pueden
quedar huérfanas, esto se refiere que si existe una relación entre una llave
primaria y una foránea, la llave primaria no puede ser cambiada o eliminada
debido a que de ella depende una llave foránea.

Índices:

Los índices dentro de una BD permite al programa que la usa encontrar datos sin
la necesidad de recorrer por completo la tabla con la que trabajamos. La
desventaja de los índices es que las tablas con índices requieren de mayor espacio
de almacenamiento mayor tiempo en la edición y eliminación de tablas, etc.

Conclusión: En estas primeras unidades, recordamos algunas definiciones y


empezamos a familiarizarnos con el ambiente del SQL. Aprendimos como instalar
dicho software, y comenzamos a hacer nuestras primeras consultas.
2.1) Instalación de SGBD 7

1.- Se ejecuta el programa a instalar en este caso el SQL Server Express 2008.

2.- Esperamos un momento en lo que se extraen los archivos comprimidos del instalador.
3.- Elegimos el apartado de instalación.
8

4.- Después elegimos la opción de nueva instalación.


5.- Esperamos un momento en lo que se el programa verifica las reglas auxiliares
9

6.- Seguimos esperando un momento mas


7.- En esta pantalla elegimos Siguiente
10

8.- Aceptamos los términos de licencia y damos clic en Siguiente


9.- Esperamos un momento
11
10.- Si no hay ningún problemas con los archivos auxiliares, presionamos el botón Siguiente.
12

11.- Seleccionamos las características de la instalación, en este caso palomeamos la ventanilla de


Motor de Base de Datos y presionamos Siguiente.
12.- Aquí damos nombre a la instancia y presionamos Siguiente.
13

13.- Nos aparecerá un reporte del espacio requerido para la instalación del SQL, si se cumplen los
requrimientos , solo presionamos Siguiente
14.- Agregamos al Usuario y asignamos una contraseña
14

15.- Palomeamos a nuestro parecer las casillas de envio de informes y posteriormente


presionamos siguiente.
16.-Ahora por fin presionamos el botón instalar.
15

17.- Esperamos aproximadamente 10 minutos a que concluya la instalación.


18.- Al final nos saldra una ventana con el mensaje “La instalacion de SQL Server 2008 se ha
16
completado correctamente” y presionamos el botón Cerrar.
2.2) Creación de Bases de Datos
17
a) Sin especificar parámetros
 CREATE DATABASE TIENDA
 CREATE DATABASE ESTADOS
 CREATE DATABASE PAISES
 CREATE DATABASE tdeportes

b) Especificando parámetros del archivo de datos y del archivo de transacciones


CREATE DATABASE TIENDA
ON
( NAME = TIENDA,FILENAME ='C:\TIENDA.MDF', MAXSIZE= 2GB)
LOG ON
(NAME= 'TIENDA_LOG',FILENAME ='C:\TIENDA.LDF', MAXSIZE= 1GB)

CREATE DATABASE ESTADOS


ON
( NAME = ESTADOS,FILENAME ='C:\ESTADOS.MDF', MAXSIZE= 2GB)
LOG ON
(NAME= 'ESTADOS_LOG',FILENAME ='C:\ESTADOS.LDF', MAXSIZE= 1GB)

CREATE DATABASE PAISES


ON
( NAME = PAISES,FILENAME ='C:\PAISES.MDF', MAXSIZE= 2GB)
LOG ON
(NAME= 'PAISES_LOG',FILENAME ='C:\PAISES.LDF', MAXSIZE= 1GB)

CREATE DATABASE tdeportes


ON
( NAME = tdeportes,
FILENAME ='C:\BD\deportes.MDF', MAXSIZE= 2GB
c) Especificando parámetros solo del archivo de datos
CREATE DATABASE tdeportes
ON
( NAME = tdeportes,FILENAME ='C:\Tdeportes.MDF', MAXSIZE= 2GB)
LOG ON
(NAME= 'tdeportes_LOG',FILENAME ='C:\Tdeportes.LDF', MAXSIZE= 1GB)

CREATE DATABASE TIENDA


ON
( NAME = TIENDA,
FILENAME ='C:\BD\TIENDA.MDF', MAXSIZE= 2GB
)
CREATE DATABASE ESTADOS
ON
( NAME = ESTADOS,
FILENAME ='C:\BD\ESTADOS.MDF', MAXSIZE= 2GB
)
CREATE DATABASE PAISES 18
ON
( NAME = PAISES,
FILENAME ='C:\BD\PAISES.MDF', MAXSIZE= 2GB
)
2.3) Creación de tablas

a) Sin llaves ni restricciones


CREATE TABLE ARTICULOS
(CLAVE TINYINT, DESCRIPCION VARCHAR(20),PRECIO SMALLMONEY)

CREATE TABLE ESTADOS


(CLAVE TINYINT, NOMBRE VARCHAR(20),POBLACION INT)

CREATE TABLE PAISES


(CLAVE TINYINT, NOMBRE VARCHAR(20),POBLACION INT)

b) Con valores predeterminados


CREATE TABLE ARTICULOS
(CLAVE TINYINT, DESCRIPCION VARCHAR(20) DEFAULT 'NINGUNO',PRECIO
SMALLMONEY DEFAULT 0)

CREATE TABLE ESTADOS


(CLAVE TINYINT,NOMBRE VARCHAR(20) DEFAULT 'NINGUNO',POBLACION INT DEFAULT
0)

CREATE TABLE PAISES


(CLAVE TINYINT,NOMBRE VARCHAR(20) DEFAULT 'NINGUNO',POBLACION INT DEFAULT
0)

c) Con campos de identidad


CREATE TABLE ARTICULOS
(CLAVE TINYINT IDENTITY (1,1), DESCRIPCION VARCHAR(20) DEFAULT
'NINGUNO',PRECIO SMALLMONEY DEFAULT 0)

CREATE TABLE ESTADOS


(CLAVE TINYINT IDENTITY (1,1),NOMBRE VARCHAR(20) DEFAULT
'NINGUNO',POBLACION INT DEFAULT 0)

CREATE TABLE PAISES


(CLAVE TINYINT IDENTITY (1,1),NOMBRE VARCHAR(20) DEFAULT
'NINGUNO',POBLACION INT DEFAULT 0)
19

d) Con campos calculados


CREATE TABLE FACTURAS
(FOLIO INT IDENTITY (1,1), SUBTOTAL SMALLMONEY DEFAULT 0,PIVA SMALLMONEY
DEFAULT 0, IVA AS( SUBTOTAL*(PIVA/100)), TOTAL AS (SUBTOTAL+ (PIVA/100))
)

CREATE TABLE COMPRAS


(FOLIO INT IDENTITY (1,1), NOMBRE VARCHAR(20),PRECIO TINYINT,CANTIDAD
TINYINT, TOTAL AS(PRECIO*CANTIDAD))

CREATE TABLE CAMBIO


(FOLIO INT IDENTITY(1,1), DOLLARES TINYINT, PESOS AS (DOLLARES*12.50))

e) Con llaves primarias

CREATE TABLE ARTICULOS


(CLAVE TINYINT NOT NULL, DESCRIPCION VARCHAR(20) DEFAULT 'NINGUNO',PRECIO
SMALLMONEY DEFAULT 0, CONSTRAINT PK_ARTICULOS PRIMARY KEY (CLAVE) )

CREATE TABLE ESTADOS


(CLAVE TINYINT IDENTITY (1,1),NOMBRE VARCHAR(20) DEFAULT
'NINGUNO',POBLACION INT DEFAULT 0, CONSTRAINT PK_ESTADOS PRIMARY KEY
(CLAVE))

CREATE TABLE PAISES


(CLAVE TINYINT IDENTITY (1,1),NOMBRE VARCHAR(20) DEFAULT
'NINGUNO',POBLACION INT DEFAULT 0, CONSTRAINT PK_PAISES PRIMARY KEY
(CLAVE))

f) Con restricciones de dominio


CREATE TABLE ESTADOS
(CLAVE TINYINT IDENTITY (1,1),NOMBRE VARCHAR(20) DEFAULT
'NINGUNO',POBLACION INT DEFAULT 0,CONSTRAINT CK_CLAVE_ESTADOS CHECK
(CLAVE <= 32), CONSTRAINT PK_ARTICULOS PRIMARY KEY (CLAVE))

CREATE TABLE ARTICULOS


(CLAVE TINYINT NOT NULL, DESCRIPCION VARCHAR(20) DEFAULT 'NINGUNO',PRECIO
SMALLMONEY DEFAULT 0, CONSTRAINT PK_ARTICULOS PRIMARY KEY (CLAVE),
CONSTRAINT CK_CLAVE_ESTADOS CHECK (CLAVE <= 32))

CREATE TABLE PAISES


(CLAVE TINYINT IDENTITY (1,1),NOMBRE VARCHAR(20) DEFAULT
'NINGUNO',POBLACION INT DEFAULT 0, CONSTRAINT PK_ARTICULOS PRIMARY KEY 20
(CLAVE), CONSTRAINT CK_CLAVE_ESTADOS CHECK (CLAVE <= 191))

g) Con llaves foráneas (integridad referencial)

CREATE TABLE CIUDADES


(CLAVE SMALLINT NOT NULL, ESTADO TINYINT NOT NULL, NOMBRE VARCHAR(30) NOT
NULL, CONSTRAINT PK_CIUDADES PRIMARY KEY (CLAVE, ESTADO),CONSTRAINT
FK_CIUDADES_ESTADOS FOREIGN KEY (ESTADO)REFERENCES ESTADOS (CLAVE))

CREATE TABLE CODIGOS


(CLAVE TINYINT IDENTITY (1,1),NUMEROP TINYINT IDENTITY (1,1), DESCRIPCION
VARCHAR(20) DEFAULT 'NINGUNO',CLAVE VARCHAR(10) DEFAULT 0,CONSTRAINT
PK_CODIGOS PRIMARY KEY (CLAVE,NUMEROP),CONSTRAINT FK_CODIGOS_ARTICULOS
FOREIGN KEY (NUMEROP)REFERENCES ARTICULOS (CLAVE) )

CREATE TABLE CAPITALES


(CLAVE SMALLINT NOT NULL, PAIS TINYINT NOT NULL, NOMBRE VARCHAR(30) NOT
NULL, CONSTRAINT PK_CAPITALES PRIMARY KEY (CLAVE, PAIS),CONSTRAINT
FK_CAPITALES_PAISES FOREIGN KEY (PAIS)REFERENCES PAISES (CLAVE))

2.4) Reestructuración de tablas

a) Agregar campos

ALTER TABLE CLIENTES ADD TELEFONO CHAR(10)

ALTER TABLE CAPITALES ADD CLIMA CHAR(10)

ALTER TABLE CIUDADES ADD CLIMA CHAR(10)

b) Modificar campos

ALTER TABLE CLIENTES ALTER COLUMN TELEFONO CHAR(15)

ALTER TABLE CAPITALES ALTER COLUMN CLIMA CHAR(15)

ALTER TABLE CIUDADES ALTER COLUMN CLIMA CHAR(15)

c) Eliminar campos

ALTER TABLE CLIENTES DROP COLUMN TELEFONO


ALTER TABLE CAPITALES DROP COLUMN CLIMA 21

ALTER TABLE CIUDADES DROP COLUMN CLIMA

d) Agregar llaves foráneas

ALTER TABLE CIUDADES ADD CONSTRAINT FK_CIUDADES_ESTADOS FOREIGN KEY


(ESTADO)REFERENCES ESTADOS (CLAVE)

ALTER TABLE CODIGOS ADD CONSTRAINT FK_CODIGOS_ARTICULOS FOREIGN KEY


(NUMEROP)REFERENCES ARTICULOS (CLAVE)

ALTER TABLE CAPITALES ADD CONSTRAINT FK_CAPITALES_PAISES FOREIGN KEY


(ESTADO)REFERENCES PAISES (CLAVE)

2.5) Eliminación de tablas

DROP TABLE CIUDADES

DROP TABLE CAPITALES

DROP TABLE CODIGOS

2.6) Creación de índices

a) Índices sencillos

CREATE INDEX IDX_CODIGOS1 ON CODIGOS(CLAVE)

CREATE INDEX IDX_CAPITALES1 ON CAPITALES(NOMBRE)

b) Índices compuestos

CREATE INDEX IDX_CAPITALES1 ON CAPITALES(CLAVE, NOMBRE)

2.7) Eliminación de índices

CREATE INDEX IDX_CIUDADES1

CREATE INDEX IDX_CODIGOSS1

CREATE INDEX IDX_CAPITALES1


Ejemplos
22
a) Sin especificar parámetros
 CREATE DATABASE TIENDA

Cuando se teclea el ejemplo de azul dentro de el analizador de consultas, este


mismo crea una base de datos, el cual aparecera en el manejador de este modo.

b) Especificando parámetros del archivo de datos y del archivo de transacciones


CREATE DATABASE TIENDA
ON
( NAME = TIENDA,FILENAME ='C:\TIENDA.MDF', MAXSIZE= 2GB)
LOG ON
(NAME= 'TIENDA_LOG',FILENAME ='C:\TIENDA.LDF', MAXSIZE= 1GB)
De esta manera cuando se teclea esto en el manejador, se especifica la ubicación
23
de los y cual sera su tamaño maximo

Por defecto, el tamaño minimo que se muesta es de 1Mb. Pero ya se le espeficico


cual sera su tamaño maximo.

c) Especificando parámetros solo del archivo de datos


CREATE DATABASE TIENDA
ON
( NAME = TIENDA,
FILENAME ='C:\BD\TIENDA.MDF', MAXSIZE= 2GB
)

Aquí solo se creo el archivo de datos con éxito!.


2.3) Creación de tablas
24

a) Sin llaves ni restricciones


CREATE TABLE ARTICULOS
(CLAVE TINYINT, DESCRIPCION VARCHAR(20),PRECIO SMALLMONEY)

Aquí podemos comprobar que la tabla fue creada con éxito!

b) Con valores predeterminados


CREATE TABLE ARTICULOS
(CLAVE TINYINT, DESCRIPCION VARCHAR(20) DEFAULT 'NINGUNO',PRECIO
SMALLMONEY DEFAULT 0)

Ahí podemos mostrar que especificamos lo largo de la cadena de descripcion, Que


la clave sea tiny int, y el precio tendre un default de 0.

C) Campos de identidad

CREATE TABLE ARTICULOS


(CLAVE TINYINT IDENTITY (1,1), DESCRIPCION VARCHAR(20) DEFAULT
'NINGUNO',PRECIO SMALLMONEY DEFAULT 0)
d) Campos calculados
25
CREATE TABLE FACTURAS
(FOLIO INT IDENTITY (1,1), SUBTOTAL SMALLMONEY DEFAULT 0,PIVA SMALLMONEY
DEFAULT 0, IVA AS( SUBTOTAL*(PIVA/100)), TOTAL AS (SUBTOTAL+ (PIVA/100))
)

Aquí vemos que a los campos de la tabla se le dio un valor para calcular, en su
total y subtotal.

e) con llaves primarias


CREATE TABLE ARTICULOS
(CLAVE TINYINT NOT NULL, DESCRIPCION VARCHAR(20) DEFAULT 'NINGUNO',PRECIO
SMALLMONEY DEFAULT 0, CONSTRAINT PK_ARTICULOS PRIMARY KEY (CLAVE) )

A diferencia de una simple creación de tabla, en esta opción se le asigna ya una


llave primaria, en la imagen mostramos la diferencia y cuya llave primaria es
CLAVE.
2.4) Reestructuración de tablas
26
a) Agregar Campos

ALTER TABLE articulos ADD marca CHAR(10)

Con alter, se puede agregar algún campo que se olvido al momento de crear la
tabla.

b) Modificar campos
ALTER TABLE articulos ALTER COLUMN marca CHAR(15)

Como en la agregación del campo marca, aquí le alteramos el numero de


caracteres permitidos de 10 a 15.

c) Eliminar campos

ALTER TABLE CLIENTES DROP COLUMN TELEFONO

Esta función sirvio para eliminar un campo de la tabla, aunque se recomienda no


usarla o desaparecer columnas, ya que a futuro el usuario final, puede desear
resusitar dicho campo.
2.5) Eliminación de tablas
27
DROP TABLE Articulos

Esta opcion elimina a diestra y siniestra la tabla, con todo y su contenido, no


recomendable.
2.8) Propuesta del proyecto final.
28

La propuesta de proyecto final de nuestro equipo, trata de una tienda


deportiva, de la que vende accesorios y artículos oficiales de futbol. Algunas
marcas que distribuyen artículos de futbol, también venden ropa de vestir, eso
también está incluido.
Los artículos que se distribuirán, serán, calcetas, tenis, camisetas, shorts
(todo esto que se menciona solo en versión deportiva, y en el caso de las
camisetas, algunas suelen ser de vestir), espinilleras, camisetas oficiales de los
futbolclub’s.
- Reglas
- La base de datos no debe contener valores nulos respecto a los
artículos en existencia.
- La base de datos dará un aviso en caso de que los artículos se
encuentren en poca existencia en el almacén.
- Llevaremos un registro de compras, y el corte se hará a medio día
(teniendo en cuenta de que la tienda abre de 9a.m. a 9p.m.
- Solo se venderá por mayoreo a concesionarias autorizadas.
- Mayoreo se considera 4 artículos o más.

Con el paso de las unidades iremos agregando un poco más de


restricciones, aunque me quedo duda si se permite agregar más a nuestro
proyecto.
29