Scrip De Bases De Datos
Enviado por chachalote • 13 de Junio de 2013 • 238 Palabras (1 Páginas) • 422 Visitas
SCRIPT DML, DDL, PROCEDIMIENTOS ALMACENADOS, TRIGGER Y VISTAS.
DROP Database IF EXISTS ticasi;
CREATE Database IF NOT EXISTS ticasi;
USE ticasi;
DROP table IF EXISTS grupos;
CREATE table IF NOT EXISTS grupos (id_grupo int(3), NOT NULL AUTOINCREMENT, nombre_grupo varchar(30), cuatrimestre int(5), PRIMARY KEY (id_grupo));
DROP table IF EXISTS alumnos;
CREATE table IF NOT EXIST alumnos (id_alumno int(10) NOT NULL AUTOINCREMENT, nombre_alumno varchar(30), cuatrimestre_alumno int(5), id_grupo int(3), FOREN KEY (id_grupo));
ALTER table alumnos;
INSERT INTO alumnos (‘id_alumno’, ‘nombre_alumno’, ‘cuatrimestre_alumno’, ‘grupo’)
VALUES (‘100086’, ‘Javier’, ‘8’, ‘A’), (‘100054’, ‘Marcelo’, ‘5’, ‘B’), (‘130215’, ‘Blanca’, ‘2’, ‘C’);
UPDATE alumnos SET cuatrimestre=5, WHERE id_alumno=100054;
DELETE FROM alumnos (WHERE nombre=Javier);
SELECT nombre_grupo, cuatrimestre FROM grupos;
CREATE VIEW grupo_alumno[(nombre_alumno, nombre_grupo)];
CREATE VIEW alumno_grupo[(id_grupo, nombre_grupo, id_alumno, nombre_alumno)];
CREATE PROCEDURE alta_alumnos (
@grupo_alumno int(3),
@nombre_alumno varchar(30),
@cuatrimestre_alumno varchar(10),
@id_alumno int(10) OUTPUT)
AS
SELECT * FROM alumnos WHERE matricula=@id_alumno
IF @@Rowcount > 0
BEGIN
SET @id_alumno=-1
RETURN
END
SELECT * FROM alumnos WHERE @cuatrimestre_alumno=@cuatrimestre_alumnos
IF @@Rowcount > 0 /* es el número de filas devueltas por el select */
BEGIN
SET @id_alumno=-2
RETURN
END
INSERT INTO alumnos (matricula, nombre_alumno, cuatrimestre_alumno, grupo_alumno)
VALUES (id_alumno, nombre_alumno, cuatrimestre_alumno, grupo_alumno)
SET @id_alumno=@@identify /* es el valor de un campo idéntico al realizar un insert */
RETURN
CREATE PROCEDURE alta_grupos (
@nombre_grupo varchar(30),
@cuatrimestre int(5),
@id_grupo int(10) OUTPUT)
AS
SELECT * FROM grupos WHERE num_salon=@id_grupo
IF @@Rowcount > 0
BEGIN
SET @id_grupo=-1
RETURN
END
SELECT * FROM grupos WHERE @nombre_grupo=@nombre_grupo
IF @@Rowcount > 0 /* es el número de filas devueltas por el select */
BEGIN
SET @id_grupo=-2
RETURN
END
INSERT INTO grupos (num_salon, nombre_grupo, cuatrimestre)
VALUES (id_grupo, nombre_grupo, cuatrimestre)
SET @id_grupo=@@identify /* es el valor de un campo idéntico al realizar
...