Sunteți pe pagina 1din 8

1.

- Forma Grfica:

Primero vamos al SQL Serer Management Studio

Creemos nuestra base de Datos en Click derecho Databases New DataBase y le colocaremos el nombre Tienda.

Luego de creada nuestra Base de datos, vamos a crear tablas mediante el asistente, Click derecho New Table y le damos los siguientes campos:

Ahora si refrescas tu explorador del Management visualizars las tablas ya creadas. Si te has dado cuenta en las tablas Cliente tenemos el campo Cod_Distrito y en Factura tenemos el campo Cod_Cliente, te preguntars Por qu repito el valor?, bueno este campo nos permitir

hacer la relacin en el diagrama de bases de datos como llave Fornea, eso lo explicar mas adelante.

Ahora vamos a hacer el diagrama y crear las relaciones, vamos a Database Diagrams le hacemos click derecho New Database Diagram (te preguntar si deseas crearlo coloca Yes)

Selecciona las tablas que participaran en el diagrama (en este caso todas) y dale Add, luego cuando estn agregadas slo dale close y vers que las tablas estn en pantalla, puedes acomodarlas con el mouse si deseas.

Ahora asignaremos las Primary Keys, las Llaves primarias son valores especiales que identificar de manera nica a cada fila de la tabla y no pueden existir dos llaves primarias iguales estas no pueden repetirse en ningun otro registro de la tabla. Para asignarla simplemente en el diagrama puedes hacer click derecho sobre el campo y selecciona Set Primary Key (tambin se puede hacer al momento de crear los campos y tipos de datos).

Crearemos ahora la relacin, asignaremos la Foreign Key o tambin Llave Fornea esta establecer la relacin entre las tablas, para esto solo arrastramos desde el smbolo de la Primary Key en la tabla Distrito sin soltar hasta la tabla Cliente, donde nos pedir que especifiquemos el campo a relacionar y elegimos Cod_Distrito y le damos Ok dos veces. Como podemos ver elegimos Cod_Distrito que es igual al campo de la Tabla Distrito, esto se defini al inicio colocndolo de manera premeditada para que ahora sirva finalmente de campo a relacionar, estos campos de relacin pueden tener diferentes nombres pero es importanteque sea el mismo tipo de dato sino la relacin producir un error.

Hacemos los mismo desde la Tabla Cliente hacia la tabla Factura relacionandolo con el campo Cod_Cliente, ahora guarda los cambios. !!!Ahora seguramente si usas SQL Server 2008 tendrs un error Saving changes is not

permitted que no te permitar guardar los cambios, te sale un mensaje en el que te indica que tendrs que recrear las tablas, tranquilo para esto hay solucin Qu sucede? es que en SQL Server Management Studio ahora no te permite hacer este tipo de cambios mediante el Diseador osea a nivel de interfaz (una razn muy buena para hacer esto por Transact) as que para que puedas continuar primero debes desmarcar la opcion Prevent saving changes

that require table re-creation (Viene predeterminada) que se encuentra en la ruta Tools/Options/Designers/Table and Database Designers, as podrs guardar los
cambios y tendrs tu diagrama.

Finalmente el diagrama deber quedar as, cierralo y guarda los cambios.

*Diagrama para cliente nico 2.- Transact-SQL: Bueno ahora veremos la forma de hacerlo mediante las Querys:

Primero vamos al boton New Query y abrimos una nueva consulta. Debemos crear una base de datos y luego ponerla en uso entonces escribimos lo siguiente y lo ejecutamos: CREATE DATABASE HOTELERA USE HOTELERA

Ahora vamos a crear las tablas Hotel, Habitacin y Cliente para eso escribimos y ejecutamos lo siguiente: CREATE TABLE HOTEL (IdHotel char(5) not null, Nombre varchar (20), Direccion varchar (20), Telefono varchar (10), Num_Habitaciones int)

CREATE TABLE HABITACION (Num_Habitacion int not null, Estado varchar (20), Descripcin varchar (20), Num_Camas int)

CREATE TABLE CLIENTE (DNI char(8) not null, Nombre varchar (50), Apellido varchar (50), Fecha_Ingreso datetime, Fecha_Salida datetime, Hora_Ingreso time, Hora_salida time)

Como podrs ver despus de darle un refresh al explorador del Management tendremos nuestras tablas creadas, dentro de los tipos de datos te podrs preguntar porque algunos prefer colocarle char y en otras varchar, la razn es que en el tipo de dato char si colocas char(5) as se escriba un caracter se estar ocupando los 5 espacios reservados en cambio con varchar(5) si se escribe un slo caracter esta cadena solo ocupar 1 espacio de los 5 reservados, esto es para siempre cuidar la memoria utilizada en tu base de datos, otra inquietud quizs sea por qu utilizar la palabra reservada not null ? es que en estos campos se establecern las Primary Keys ms adelante y estas no aceptan valores nulos o vacios.

Podemos darles los siguientes Select para comprobar que estn correctamente creadas: SELECT * FROM HOTEL SELECT * FROM HABITACION SELECT * FROM CLIENTE

Ahora vamos a agregarle a las tablas Habitacin y Cliente los campos que servirn de referencia para las Foreign Keys (tambin son not null) mediante el comando ALTER TABLE ADD ALTER TABLE HABITACION ADD IdHotel char(5) not null ALTER TABLE CLIENTE ADD Num_Habitacion int not null

Ahora agregmosle las Llaves Primarias y Forneas ALTER TABLE HOTEL ADD PRIMARY KEY (IdHotel) ALTER TABLE HABITACION ADD PRIMARY KEY (Num_Habitacion) ALTER TABLE CLIENTE ADD PRIMARY KEY (DNI) ALTER TABLE HABITACION ADD FOREIGN KEY (IdHotel) references HOTEL ALTER TABLE CLIENTE ADD FOREIGN KEY (Num_Habitacion) references HABITACION

Mediante el Alter Table Add Foreign Key tambin hacemos referencia a la tabla de donde proviene la Llave Principal y con la palabra reservada references se crear la relacin entre las tablas.

Pasemos a la creacin del Diagrama, se seguirn los mismos pasos ya mencionados en el modo grfico, pero esta vez al agregar las tablas podremos observar que las relaciones ya estn creadas solo guardamos el diagrama y listo.

*Diagrama para cliente nico

Como dato adicional puedes tambien eliminar alguna columna con el comando ALTER TABLE DROP COLUMN --ALTER TABLE ELIMINAR CAMPO ALTER TABLE HOTEL DROP COLUMN Nombre_Campo ALTER TABLE CLIENTE DROP COLUMN Nombre_Campo ALTER TABLE HABITACION DROP COLUMN Nombre_Campo

Y Puedes modificar algun tipo de datos mediante el comando ALTER TABLE ALTER COLUMN --ALTER TABLE CAMBIO DE TIPO DE DATO ALTER TABLE HOTEL ALTER COLUMN Telefono Nuevo_Tipo_Dato ALTER TABLE HABITACION ALTER COLUMN Estado Nuevo_Tipo_Dato ALTER TABLE CLIENTE ALTER COLUMN Apellido Nuevo_Tipo_Dato

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