Ejercicios Combinaciones de Tablas

Anuncio
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
Descargar