Vous êtes sur la page 1sur 8

::Introduccin::

1 ACTUALIZACIN Y MODIFICACIN DE DATOS EN


SQL.
SQL es un lenguaje completo de manipulacin de datos que no solo se utiliza para
consultas, sino tambin para modificar y actualizar los datos de la base de datos.
Comparadas con la complejidad de la sentencia SELECT, las sentencias de SQL que
modifican los contenidos de la base de datos son sencillas. En este tema se
describen las tres sentencias SQL que se emplean para modificar los datos de una
base de datos:
INSERT, que aade nuevas filas de datos a una tabla.
DELETE, que elimina filas de datos de una tabla.
UPDATE, que modifica datos existentes en la base de datos.

1.1 ALTER
"alter table" permite modificar la estructura de una tabla. Para agregar un
nuevo campo a una tabla empleamos la siguiente sintaxis bsica:
alter table NOMBRETABLA
add NOMBRENUEVOCAMPO DEFINICION;

Para eliminar campos de una tabla la sintaxis bsica es la siguiente:


alter table NOMBRETABLA
drop column NOMBRECAMPO;

No pueden eliminarse los campos que son usados por un ndice o tengan
restricciones. No puede eliminarse un campo si es el nico en la tabla.
Podemos eliminar varios campos en una sola sentencia:
alter table libros
drop column editorial,edicion;

1.2 RESTRICCIONES

DE INTEGRIDAD REFERENCIAL

Una restriccin de integridad referencial de Entity Data Model (EDM) es similar a


una restriccin de integridad referencial de una base de datos relacional. Del mismo
modo que una columna (o columnas) de una tabla de base de datos puede hacer
referencia a la clave principal de otra tabla, una propiedad (o propiedades) de un

tipo de entidad puede hacer referencia a la clave de entidad de otro tipo de entidad.
El tipo de entidad al que se hace referencia se denomina extremo principal de la
restriccin. El tipo de entidad que hace referencia al extremo principal se denomina
extremo dependiente de la restriccin.
Una restriccin de integridad referencial se define como parte de una asociacin
entre dos tipos de entidad. La definicin para una restriccin de integridad
referencial especifica la siguiente informacin:
El extremo principal de la restriccin. Es un tipo de entidad a cuya clave de entidad
hace referencia el extremo dependiente.
La clave de entidad del extremo principal.
El extremo dependiente de la restriccin. Es un tipo de entidad que tiene una o
varias propiedades que hacen referencia a la clave de entidad del extremo principal.
La propiedad o propiedades que hacen la referencia del extremo dependiente.
El propsito de las restricciones de integridad referencial de EDM es garantizar la
existencia de asociaciones vlidas.

1.3 RESTRICCIONES

DE INTEGRIDAD REFERENCIAL EN CASCADA


Las restricciones de integridad referencial en cascada permiten definir las acciones
que SQL Server lleva a cabo cuando un usuario intenta eliminar o actualizar una
clave a la que apuntan las claves externas existentes.
Las clusulas REFERENCES de las instrucciones CREATE TABLE y ALTER TABLE
admiten las clusulas ON DELETE y ON UPDATE. Las acciones en cascada tambin
se puede definir mediante el cuadro de dilogo Relaciones de clave externa.
ON DELETE CASCADE
Especifica que si se intenta eliminar una fila con una clave a la que hacen
referencia claves externas de filas existentes en otras tablas, todas las filas
que contienen dichas claves externas tambin se eliminan.
ON UPDATE CASCADE
Especifica que si se intenta actualizar un valor de clave de una fila a cuyo
valor de clave hacen referencia claves externas de filas existentes en otras
tablas, tambin se actualizan todos los valores que conforman la clave
externa al nuevo valor especificado para la clave.

2 DESARROLLO
Resuelve las siguientes sentencias:

1. Dado el siguiente diagrama relacional generar el esquema de la base


de datos correspondiente. Considerar la cardinalidad de las relaciones
para crear las llaves forneas correctamente. Al crear la tabla
utilizar ON UPDATE CASCADE y ON DELETE CASCADE en su

definicin.
1.2.- Cdigo
CREATE DATABASE Cinemex;
USE Cinemex;
-- ------------------------------------------------------ /*------------- Tabla de Cinemex -------------*/
-- ----------------------------------------------------CREATE TABLE Cinemex (
idCinemex INT NOT NULL PRIMARY KEY,
Nombre VARCHAR (45) NOT NULL,
Direccion VARCHAR (45),
Tel VARCHAR (20),
email VARCHAR (50) );
-- ------------------------------------------------------ /*--------------Tabla de Gerente --------------*/
-- ----------------------------------------------------CREATE TABLE Gerente (
idGerente INT NOT NULL PRIMARY KEY,
Nombre VARCHAR (45) NOT NULL,
Turno VARCHAR (15) NOT NULL,
noCel INT,
Salario DOUBLE,
id_Cinemex INT,
FOREIGN KEY (`id_Cinemex`) REFERENCES Cinemex(idCinemex) );
-- ------------------------------------------------------ /*------------ Tabla de Empleado -------------*/

-- ----------------------------------------------------CREATE TABLE Empleado (


idEmpleado VARCHAR (20) NOT NULL PRIMARY KEY,
Nombre VARCHAR (50) NOT NULL,
Direccion VARCHAR (100),
Tel VARCHAR (20),
Sex VARCHAR (1) );
-- ------------------------------------------------------ /*------ Tabla de Cinemex_Empleado -------*/
-- ----------------------------------------------------CREATE TABLE Cinemex_Empleado (
idCinemex INT NOT NULL,
idEmpleado VARCHAR (20) NOT NULL,
PRIMARY KEY (idCinemex,idEmpleado),
FOREIGN KEY (idCinemex) REFERENCES Cinemex(idCinemex)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (idEmpleado) REFERENCES Empleado(idEmpleado)
ON DELETE CASCADE
ON UPDATE CASCADE );

2. Agregar las columnas correspondientes para almacenar el salario y el


correo electrnico de los empleados.

3. Cambiar el tipo de dato del atributo noCel en gerente para que pueda
almacenarse en el siguiente formato (044)-(55-55-55-55-55).

4. Renombrar la tabla empleado, quedando como asociado.

5. Aumentar en 50 el tamao del tipo de dato del campo direccin en la


tabla asociado.

6. Dar de alta 3 registros en cada una de las tablas: Cinemex,


Cinemex_Empleado, Asociado.

7. Borrar el primer registro dado de alta en tabla Cinemex.

8. Redefinir la PK de la relacin Cinemex quedando de la siguiente


manera:
PK(idCinemex,Nombre);

9. Crea la siguiente tabla Cartelera(idCartelera, nombre, fechainicio,


fechafin, clasificacin) y relacionarla con la tabla Cinemex.
10.
-- ----------------------------------------------------11.
-- /*------------ Tabla de Cartelera -------------*/
12.-- ----------------------------------------------------13.CREATE TABLE Cartelera (
14.
idCartelera VARCHAR (20) NOT NULL PRIMARY KEY,
15.
Nombre VARCHAR (50) NOT NULL,
16.
Fechainicio DATE,

17.
18.
19.
20.
21.
22.

Fechafin DATE,
Clasificacion VARCHAR (4),
idCinemex INT NOT NULL,
Nom_Cinemex VARTCHAR (45),
FOREIGN KEY (idCinemex,Nom_Cinemex)
REFERENCES Cinemex(idCinemex,Nombre) );

3 CONCLUSIONES
En el desarrollo de esta prctica pudimos poner en prctica los
conocimientos sobre las restricciones sobre la integridad referencial, usamos
el ON UPDATE CASCADE Y EL ON DELETE CASCADE.
Estas restricciones nos aseguran de que en las tablas dependientes solo se
ingresen valores existentes en las tablas referenciadas, as como la
eliminacin de los datos que en vez de ir eliminando uno por uno en las
diferentes tablas, la restriccin ON DELETE CASCADE se encarga de eliminar
todos los registros referentes al eliminado.

Vous aimerez peut-être aussi