Upload
alicia-martita-galvan-lopez
View
45
Download
0
Embed Size (px)
Citation preview
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:
20Tambin 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
61CLAVES 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