Académique Documents
Professionnel Documents
Culture Documents
PRÁCTICAS
98/99.
PRACTICA MYSQL
PERSONA
Campo
Tipo dato
Tamaño
Otros
DNI
Texto-Varchar2
9
Primary Key
Nombre
Texto
25
Requerido - Not
Null
Apellido
Texto
50
Requerido - Not
Null
Ciudad
Texto
25
DireccionCalle
Texto
50
DireccionNum
Texto
3
Telefono
Texto
9
FechaNacimiento
Fecha/Hora
Fecha corta
Fecha corta
Varon
Texto
1
Check (Varon In
('0','1'))
ASIGNATURA
Campo
Tipo dato
Tamaño
Otros
IdAsignatura
Texto
6
Primary Key
Nombre
Texto
50
Not Null
Creditos
Numérico
Simple
Check
(Creditos In
(4.5,6,7.8,9))
Cuatrimestre
Texto
1
Check
(Cuatrimestre
In ('1','2'))
CosteBasico
Numérico
Simple
Number(3,2)
IdProfesor
Texto
4
References
PROFESOR(IdP
rofesor)
IdTitulacion
Texto
6
References
TITULACION(I
dTitulacion)
Curso
Fecha/Hora
Fecha corta
Check (Curso
In
('1','2','3','4'))
ALUMNO
Campo
Tipo dato
Tamaño
Otros
IdAlumno
Texto
7
Primary
Key
DNI
Texto
9
References
PERSONA(
DNI)
PROFESOR
Campo
Tipo dato
Tamaño
Otros
IdProfesor
Texto
4
Primary Key
DNI
Texto
9
References
PERSONA(D
NI)
TITULACION
Campo
Tipo dato
Tamaño
Otros
IdTitulacion
Texto
6
Primary Key
Nombre
Texto
20
Not Null -
Unique
ALUMNO_ASIGNATURA
Campo
Tipo dato
Tamaño
Otros
IdAlumno
Texto
7
References
ALUMNO(IdAlumno
)
IdAsignatura
Texto
6
References
ASIGNATURA(IdAsi
gnatura)
NumeroMatricula
Numérico
Entero
Not Null -
Check(NumeroMatr
icula>=1 AND
NumeroMatricula<
=6)
PRÁCTICA
#skip-innodb
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = D:/DEVserver/mysql/data/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = D:/DEVserver/mysql/data/
innodb_log_arch_dir = D:/DEVserver/mysql/data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
set-variable = innodb_buffer_pool_size=16M
set-variable = innodb_additional_mem_pool_size=2M
#Set .._log_file_size to 25 % of buffer pool size
set-variable = innodb_log_file_size=5M
set-variable = innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
set-variable = innodb_lock_wait_timeout=50
INDEX(`idProfesor`),
FOREIGN KEY (`idProfesor`) REFERENCES profesor (`idProfesor`),
INDEX(`idTitulacion`),
FOREIGN KEY (`idTitulacion`) REFERENCES titulacion (`idTitulacion`)
) ENGINE = innodb;
INDEX(`idAlumno`),
FOREIGN KEY (`idAlumno`) REFERENCES alumno (`idAlumno`),
INDEX(`idAsignatura`),
FOREIGN KEY (`idAsignatura`) REFERENCES asignatura (`idAsignatura`)
) ENGINE = innodb;
2)
• Exportamos las tables de access a archivos de texto (tabla a
tabla, tenemos que elegir bien los delimitadores de campos)
• Cargamos las tablas mysql con la instrucción LOAD DATA INFILE de
forma que se respete la integridad referencial.
Cargarlas de la forma:
3)
Integridad referencial:
ROLLBACK;
Ejemplo 2: insertar un nuevo alumno implica, insertar un registro
persona y un registro alumno
SET AUTOCOMMIT=0;
START TRANSACTION;
COMMIT;
y después
Para que se ejecutaran como una unidad tendriamos que colocarlos entre
el BEGIN y el COMMIT
BEGIN
UPDATE tablename SET value=value-100 WHERE accountno=111
UPDATE tablename SET value=value+100 WHERE accountno=222
COMMIT