You are on page 1of 12

5 clase sql

1. Primero creamos las llaves primarias para todas las entidades (PK)
--activar la base de datos venta use ventas go --crear la restriccion de clave primaria en la tabla categoria alter table Categoria add constraint pk_categoria primary key(idcategoria) go --crear la restriccion de clave primaria en la tabla cliente alter table Cliente add constraint pk_clienete primary key(idcliente) go --crear la restriccion de clave primaria en la tabla vendedor alter table Vendedor add constraint pk_vendedor primary key(idvendedor) go --crear la restriccion de clave primaria en la tabla producto alter table Producto add constraint pk_producto primary key(idproducto) go --crear la restriccion de alter table Factura add constraint pk_factura primary key(idfactura) go clave primaria en la tabla factura

--crear la restriccion de clave primaria en la tabla distrito alter table distrito add constraint pk_distrito primary key(iddistrito) go --crear la restriccion de clave primaria en la tabla detalle alter table Detalle add constraint pk_detalle primary key(idfactura,idproducto) go

Se cre el primary key para la entidad categora

En la entidad detalle existe una llave primaria compuesta .

2. Ahora creamos las llaves secundarias (FK)// la clave fornea implica dos identidades
--creacion de restricciones de clave foranea

--la restriccion de clave foranea en la tabla cliente-distrito alter table Cliente add constraint fk_distrito foreign key (iddistrito) references distrito (iddistrito) go

--la restriccion de clave foranea en la tabla producto-categoria alter table producto add constraint fk_categoria foreign key (idcategoria) references categoria (idcategoria) go --la restriccion de clave foranea en la tabla factura-cliente alter table factura add constraint fk_cliente foreign key (idcliente) references cliente (idcliente) go --la restriccion de clave foranea en la tabla factura-vendedor alter table factura add constraint fk_vendedor foreign key (idvendedor) references vendedor (idvendedor) go --la restriccion de clave foranea en la tabla detalle-factura alter table detalle add constraint fk_factura foreign key (idfactura) references factura (idfactura) go --la restriccion de clave foranea en la tabla detalle-producto alter table detalle add constraint fk_producto foreign key (idproducto) references producto (idproducto) go

Se cre el foren key para la entidad cliente

Ahora las columnas id producto e id factura son (PK y FK ) 3. Crear diagramas base de datos

Ejercicio

1. Crear la base de datos de usuario biblioteca utilizar dos archivos Datos 30mb Log 10mb 2. Crear tablas 3. Crear las restricciones de clave primaria 4. Crear las restricciones de clave fornea 5. Crear el diagrama 6. Ingresar 3 filas de cada tabla

1. Crear la base de datos de usuario biblioteca utilizar dos archivos Datos 30mb Log 10mb

USE master GO CREATE DATABASE VENTAS ON ( NAME=BDBIBLIOTECA_DAT, FILENAME='F:\DATA\BD_VENTASDAT.mdf', size=10, maxsize=30, filegrowth=5) log on (NAME=BDBIBLIOTECA_LOG, FILENAME='F:\DATA\BD_VENTASLOG.ldf', size=1, maxsize=10, filegrowth=5) go

USE master GO CREATE DATABASE BIBLIOTECA ON ( NAME=BDBIBLIOTECA_DAT, FILENAME='G:\DATA\BD_BIBLIODAT.mdf', size=30, maxsize=50, filegrowth=2) log on (NAME=BDBIBLIOTECA_LOG, FILENAME='G:\DATA\BD_BIBLIOLOG.ldf', size=10, maxsize=20, filegrowth=2) go --para poder eliminar la base de datos use master go drop database BIBLIOTECA go --ACTIVAR EL USUARIO BIBLIOTECA USE BIBLIOTECA GO --CREAR TABLAS --crear tabla categoria

CREATE TABLE DISTRITO ( Iddistrito INT NOT NULL, Descrip_dist VARCHAR(50) NOT NULL ) GO CREATE TABLE TIPO_PRODUCTO( Idproducto INT NOT NULL, Descrip_tipo_pro VARCHAR(50) NOT NULL ) GO -- Crear la tabla lector CREATE TABLE PRODUCTO( Idproducto INT NOT NULL, Descrip_pro VARCHAR(50) NOT NULL, precio_pro decimal(10,2) NOT NULL, stock_act_pro decimal(10,2)NOT NULL, stock_min_pro decimal(10,2) NOT NULL, cod_tipo_pro INT NOT NULL ) GO -- Crear la tabla ejemplar CREATE TABLE EMPLEADO( Idempleado INT NOT NULL, estado VARCHAR(30) NOT NULL, idlibro int not null ) GO -- Crear la tabla prestamo CREATE TABLE PRESTAMO( Idprestamo INT NOT NULL, feprestamo datetime NOT NULL, idejemplar int not null, idlector int not null ) go -- Crear la tabla libro CREATE TABLE LIBRO( Idlibro INT NOT NULL, titulo varchar(100) not null, numeroPaginas int not null, editorial varchar(50) not null, fecha datetime not null, idcategoria int not null ) go -- Crear la tabla libro_autor CREATE TABLE LIBRO_AUTOR( Idlibro INT NOT NULL, idautor int not null )

go

--crear la restriccion de clave primaria en la tabla categoria alter table Categoria add constraint pk_categoria primary key(idcategoria) go --crear la restriccion de clave primaria en la tabla autor alter table autor add constraint pk_autor primary key(idautor) go --crear la restriccion de clave primaria en la tabla lector alter table lector add constraint pk_lector primary key(idlector) go --crear la restriccion de clave primaria en la tabla ejemplar alter table ejemplar add constraint pk_ejemplar primary key(idejemplar) go --crear la restriccion de clave primaria en la tabla prestamo alter table prestamo add constraint pk_prestamo primary key(idprestamo) go --crear la restriccion de clave primaria en la tabla libro autor alter table libro_autor add constraint pk_libroautor primary key(idlibro,idautor) go --crear la restriccion de clave primaria en la tabla libro alter table libro add constraint pk_libro primary key(idlibro) go

**para poder eliminar un constraint Se utiliza los comandos


alter table ejemplar drop constraint pk_ejemplar alter table prestamo drop constraint pk_prestamo alter table libro drop constraint pk_libro

--creacion de restricciones

de clave foranea

--la restriccion de clave foranea en la tabla libro-categoria alter table libro add constraint fk_categoria foreign key (idcategoria) references categoria (idcategoria) go --la restriccion de clave foranea en la tabla ejemplar-libro alter table ejemplar add constraint fk_libro foreign key (idlibro) references libro (idlibro) go --la restriccion de clave foranea en la tabla prestamo-ejemplar alter table prestamo add constraint fk_ejemplar foreign key (idejemplar) references ejemplar (idejemplar) go --la restriccion de clave foranea en la tabla prestamo-lector alter table prestamo add constraint fk_lector foreign key (idlector) references lector (idlector) go --la restriccion de clave foranea en la tabla libro_autor-libro alter table LIBRO_AUTOR add constraint fk_libro1 foreign key (idlibro) references libro (idlibro) go --la restriccion de clave foranea en la tabla libro_autor-AUTOR alter table LIBRO_AUTOR add constraint fk_autor foreign key (idautor) references autor (idautor) go