Sunteți pe pagina 1din 14

EJEMPLO 1

El siguiente paso del diseo nos obliga a elegir tipos para cada atributo de cada relacin. Para el primer ejemplo tenamos el siguiente esquema:

PROVEEDOR(Codproveedor, ruc, razon, direccion) SUMINISTRO(codsuministro, descripcion, medida, stockactual, cuenta) CUENTA_CONTABLE(cuenta, subcta, clase, descripcion) INGRESO(numero, fecha, codprovedor, moneda, tipocambio) DETA_INGRESO(numero, codsuministro,cantidad, precio)

En MySQL, es importante, aunque no obligatorio, usar valores enteros como claves principales, ya que las optimizaciones que proporcionan un comportamiento mucho mejor para claves enteras.

Relacin proveedor

Codproveedor: El codigo de un proveedor nos servir para identificarlo, puede ser un INT. RUC: El RUC de una persona natural o jurdica est comprendida por 11 dgitos, para ello utilizaremos CHAR(15) Razn: Representa la razn social del proveedor, la que puede tomar el valor de VARCHAR(40). Direccin: Representa la direccin de un proveedor, la que tambin puede tomar el valor VARCHAR(50).

Relacin suministro

Codsuministro: El cdigo de suministro puede ser un INT Descripcion: La descripcin de un suministro puede ser una tipo de dato VARCHAR(40). Medida: La medida de un suministro puede ser expresada como un CHAR(3), Stockactual: Muestra la cantidad actual de suministros que hay en el almacn, puede ser un FLOAT. Cuenta: Es la clave fornea y toma el mismo valor de la cuenta contable INT

Relacin Cuenta_Contable

Cuenta: Representa la cuenta contable de un suministro, toma el valor de INT. Subcta: Representa la subcuenta contable, toma el valor INT. Clase: Indica a que clase pertenece un suministro, toma el valor de VARCHAR(30). Descripcion: Indica la descripcin de la cuenta contable, toma el valor de VARCHAR(50).

Relacin Ingreso

Numero: Representa el numero de ingreso de suministros al almacen, toma el valor de INT. Fecha: Representa la fecha de ingreso, toma el valor DATE. Moneda: Indica si es soles o dlares, toma el valor CHAR(1). Tipocambio: Indica el valor de dlar diario, toma el valor FLOAT. Codproveedor: Indica el codigo del proveedor, toma el valor INT

Relacin Deta_Ingreso

Numero: Representa el numero de ingreso de suministros al almacen, toma el valor de INT. Codsuministro: Es el cdigo de suministro, y toma el valor anterior INT. Cantidad: Es la cantidad de suministros ingresados al almacn INT. Precio: Es el precio con que ingresa al almacn FLOAT.

EJEMPLO 2

Trabajando con este nuevo esquema:

ALUMNO(Codalumno, Nombre, Escuela ,Ciclo) LIBRO(Codlibro, registro, titulo, paginas, codeditorial, codespecialidad) ESPECIALIDAD(codespecialidad, Nombre) AUTOR(Codautor, Nombre, email) EDITORIAL(codeditorial, Nombre, Direccin, Telfono) PRESTA(numero, Codalumno, Fecha_presta,Fecha_devolucin, observacin) DETA_PRESTA(numero, codlibro) ESCRITO_POR(Codlibro, Codautor)

Relacin Alumno

Codalumno: Cdigo de un alumno, toma el valor INT. Nombre: Toma el valor VARCHAR(40) Escuela: Toma el valor VARCHAR(30) Ciclo: Toma el valor VARCHAR(3)

Relacin Libro

Codlibro: Cdigo de Libro, toma el valor INT. Registro: Tambin toma el valor INT. Titulo: Puede tomar el valor VARCHAR(50) Paginas: Toma el valor INT Codeditorial: Cdigo de Editorial, toma el valor INT. Codespecialidad: Es el codigo de la especialidad. Toma el valor INT

Relacin Especialidad

Codespecialidad: Toma el valor INT Nombre: Puede tomar el valor VARCHAR(30)

Relacin Autor

Codautor: Cdigo de autor, toma el valor INT. Nombre: Puede tomar el valor VARCHAR(50) Email: Puede tomar el valor VARCHAR(30)

Relacin Editorial

Codeditorial: Cdigo de editorial, toma el valor INT. Nombre: Puede tomar el valor VARCHAR(50) Direccin: Puede tomar el valor VARCHAR(50) Telfono: Puede tomar el valor VARCHAR(15)

Relacin Presta

Numero: Es el nmero de prstamo INT

Codalumno: Toma el valor INT. Fecha_presta: Toma el valor DATE. Fecha_devolucin: Toma el valor DATE. Observacin: Se necesita espacio, VARCHAR(100)

Relacin Deta_Presta

Numero: Es el nmero de prstamo INT Codlibro: Toma el valor INT.

Escrito_por

Codlibro: Toma el valor INT. Codautor: Toma el valor INT.

Crear una Base se datos

Para crear una base de datos, usamos el siguiente comando:

La base de datos se crea slo una vez, pero debemos seleccionarla cada vez que iniciamos una sesin con MySql. Es recomendable que se indique la base de datos sobre la que vamos a trabajar al momento de invocar al monitor de MySQL. Por ejemplo:

Crear tablas

Por ejemplo vamos a crear una tabla alumno para la base de datos Biblioteca.

Ahora que se ha creado la tabla alumno, la sentencia SHOW TABLES, debe producir lo siguiente:

20
Tambin podemos verificar la estructura de la tabla con la opcin DESCRIBE.

Procedemos a crear nuevamente la tabla alumno con su clave primaria correspondiente (Primary Key), la cual puede ser autoincrementada (auto_increment), tambin puedes aadir un comentario con el comando comment.

Ahora veremos la nueva estructura de la tabla alumno.

PRIMARY KEY

61
CLAVES FORNEAS

Creamos las tablas tipo InnoDB edito y libros.

Insertamos registros en ambas tablas

Ahora vamos a probar la Integridad Referencial.

Por ejemplo vamos a tratar de eliminar la editorial Megabyte de la tabla Edito, la cual tambin se encuentra asignada en la tabla Libros.

El resultado que nos muestra es que no puede eliminar una fila, la cual est referenciada en otras tablas como clave fornea.

Consultar Registros

Selecciona los alumnos de la escuela de Medicina.

Selecciona los alumnos que estn estudiando Derecho o que cursen el I ciclo.

Selecciona los alumnos que estn estudiando Derecho y que no tengan datos de ciclo.

Selecciona los nombres de todos los alumnos.

Selecciona el nombre y la escuela de los alumnos que se encuentren en el III ciclo.

Selecciona el nombre, escuela y ciclo de los alumnos, y ordnalos por ciclo.

Selecciona el nombre, escuela y ciclo de los alumnos, y ordnalos por nombre.

Selecciona la cantidad de alumnos agrupados por ciclo.

Consulta de varias tablas

Eliminar Registros

SHOW COLUMNS: Lista las columnas de una tabla dada

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