Está en la página 1de 3

Sremaydell Grimote

2022-0549

Presentación
Nombre
Sremaydell María

Apellido
Grimote Javier

Matricula
2022-0549

Asignatura
Base de datos avanzada

Maestro
Carlos Caraballo
Sremaydell Grimote
2022-0549
1- Crea una tabla que represente una entidad “Estudiante” y coloca
propiedades donde puedas aplicar diferentes restricciones de
integridad, como “CHECK”, “FOREIGN KEY”, etc.
create table Estudiantes
(
nombre varchar(50),
apellido varchar(50),
edad int, sexo varchar (1),
matricula int primary key not null
)

alter table Estudiantes add CONSTRAINT sexo CHECK (sexo in ('Femenino','Masculino'))

create table Materias


(
ID int,
Maestro varchar(50),
matricula_estu int foreign key references Estudiantes (matricula)

2- Describe el brevemente las siguientes anomalías


• Lectura fantasma
Se refiere a los diferentes conjuntos de resultados devueltos por múltiples
consultas dentro de la misma transacción (como agregar o reducir filas).
Por ejemplo, en la misma transacción A, hay n registros en la primera
consulta, pero hay n + 1 registros en la segunda consulta bajo las mismas
condiciones Esto parece tener una ilusión de por qué los dos resultados
son diferentes. De hecho, al igual que las lecturas no repetibles, la razón
de las lecturas fantasmas es que otra transacción agrega, elimina o
modifica los datos en el conjunto de resultados de la primera transacción.
• Lectura repetible
Es un nivel de aislamiento más alto, que además de las garantías del nivel
comprometido de lectura, también garantiza que cualquier lectura de
datos no puede cambiar, si la transacción lee los mismos datos
nuevamente, encontrará los datos leídos previamente en su lugar, sin
cambios. y disponible para leer.
Sremaydell Grimote
2022-0549

• Lectura sucia
Se refiere a cuando una transacción está accediendo a datos, y los datos
se modifican, y esta modificación no se ha enviado a la base de datos, en
este momento, otra transacción también accede a los datos y luego los
usa. Dé otro ejemplo serio para probar el peligro.

3- Crea un bloque transaccional con manejo de errores y comenta los


puntos donde la transacción se encuentra en cada uno de los estados
que una transacción puede tener.
4-
5- begin try
6- begin tran
7- --La transaccion esta activa
8- insert into Estudiantes(nombre,apellido,edad,matricula)
9- values('Martina','Guerrero','21','2021-7843')
10- --Transacion comprometida
11- commit
12-
13- end try
14- begin catch
15- --Si la operacion paso a aca la operaciion fallo y no se pudo continuar
16- --Es fallida
17- rollback
18- --Ejectamos ROLLBACK para cancelar la transacion.
19- print 'Existe un error en el codigo'+ERROR_MESSAGE()

20- end catch

También podría gustarte