UN NIVERSID DAD TECN NOLOGICA A DE LOS ANDES CP: INGEN NIERIA DE SISTEMAS S E INFORMÁ ÁTICA GUÍA DE LA ABORATOR RIO Nº 2 Tema: Ejercicios E de Combinación n de Tablas CICLLO 2012-II Asignaatura: Base de d Datos I Docentte: Ing. Rafaael Ricardo Quispe Q Merm ma OBJETTIVOS ESPEC CIFICOS Utilice alias en los nom mbres de las tablas. Combine datos d de variias tablas meediante com mbinaciones. 1 1. INTRODUCCCION Clave primaria Una clave primaria es un campo (o varios) que identifica un solo registro (fila) en una tabla. Para un valor del campo clave existe solamente un registro. create table usuarios( nombre varchar(20), clave varchar(10), primary key(nombre) ); Clave foranea Con la restricción "foreign key" se define un campo (o varios) cuyos valores coinciden con la clave primaria de la misma tabla o de otra, es decir, se define una referencia a un campo con una restricción "primary key" o "unique" de la misma tabla o de otra. La integridad referencial asegura que se mantengan las referencias entre las claves primarias y las externas. Por ejemplo, controla que si se agrega un código de editorial en la tabla "libros", tal código exista en la tabla "editoriales". También controla que no pueda eliminarse un registro de una tabla ni modificar la clave primaria si una clave externa hace referencia al registro. Por ejemplo, que no se pueda eliminar o modificar un código de "editoriales" si existen libros con dicho código. alter table NOMBRETABLA1 add constraint NOMBRERESTRICCION foreign key (CAMPOCLAVEFORANEA) references NOMBRETABLA2 (CAMPOCLAVEPRIMARIA); Ejercicio: Crear la base de datos matriculas. El script es el siguiente: use master; GO --Eliminar la base de datos matriculas si existe. IF EXISTS(SELECT * from sys.databases WHERE name='matriculas') BEGIN DROP DATABASE matriculas; END --Crear la nueva base de datos matriculas CREATE DATABASE matriculas; go 2 Se tienen las tablas CARRERAPROFESIONAL , ALUMNO, ASIGNATURA Y FICHA dichas tablas están relacionadas respectivamente. El script es el siguiente use matriculas; go --Creacion de tablas CREATE TABLE CarreraProfesional ( CodCP CHAR(2) NOT NULL PRIMARY KEY, Nombre VARCHAR(40)) go CREATE TABLE Alumno ( CodAlumno VARCHAR(10) NOT NULL PRIMARY KEY, Nombres VARCHAR(30), Apellidos VARCHAR(80), CodCP CHAR(2), FOREIGN KEY (CodCP) REFERENCES CarreraProfesional(CodCP)) go CREATE TABLE Asignatura ( CodAsignatura VARCHAR(6) NOT NULL PRIMARY KEY, Nombre VARCHAR(80), Categoria VARCHAR(4), Creditos int, PreReq VARCHAR(6)) go 3 CREATE TABLE Ficha ( CodAlumno VARCHAR(10) NOT NULL, CodAsignatura VARCHAR(6) NOT NULL, Nota numeric(4,2), PRIMARY KEY (CodAlumno,CodAsignatura), FOREIGN KEY (CodAlumno) REFERENCES Alumno(CodAlumno), FOREIGN KEY (CodAsignatura) REFERENCES Asignatura(CodAsignatura)); Inserte los siguientes datos: INSERT INTO CarreraProfesional VALUES ('IS','Ing. de Sistemas') go INSERT INTO CarreraProfesional VALUES ('IC','Ing. Civil') go INSERT INTO CarreraProfesional VALUES ('CO','Contabilidad') go INSERT INTO Alumno VALUES ('09204004B','Bady','Llallerco','IS') go INSERT INTO Alumno VALUES ('09204005A','Rafael','Quispe Merma','IS') go INSERT INTO Alumno VALUES ('09204015B','Carlos','Cruz Quin','CO') go 4 INSERT INTO Asignatura VALUES('SI045','Base de Datos I','OE',4,'SI035') go INSERT INTO Asignatura VALUES('SI035','Algorimos y Estructura de Datos','OE',4,'SI025') go INSERT INTO Asignatura VALUES('SI025','Informática Basica','OE',4,Null) go INSERT INTO Ficha VALUES ('09204005A','SI045',Null) go Update Ficha Set Nota=14 WHERE CodAlumno='09204005A' go INSERT INTO Ficha VALUES ('09204004B','SI035',10) go INSERT INTO Ficha VALUES ('09204015B','SI025',14) go 5 Realice las siguientes consultas: 1. Listar los alumnos de Sistemas cuya nota sea mayor a 14 en alguna asignatura. 2. 3. 4. 5. 6. 7. Listar los alumnos que estan matriculados en asignaturas obligatorias de especialidad Listar los alumnos de la Carrera de Ing de Sistemas que estan matriculados en asignaturas obligatorias de especialidad. Listar el ranking de los alumnos de la carrera de Sistemas. Listar el ranking de alumnos de la UTEA. Listar las Asignaturas llevadas, con sus notas respectivas del alumno Bady Llallerco. Calcular el total de creditos acumulados del alumno Rafael Quispe Merma. 6