TRANSACT SQL BSICO CREAR
UNA BASE DE DATOS CON
LLAVES PRIMARIAS Y
RELACIONES EN SQL-SERVER
Lo primero es crear la base de datos
Create Database Inscripciones
go
luego le decimos que cambie a la base
que hemos creado
Use Inscripciones
go
Ahora creamos las tablas en nuestra base
de datos:
Create Table Estudiantes
(IdEstudiante int,
Nombres VarChar(25),
Apellidos VarChar(25),
Direccion VarChar(50),
Telefono VarChar(8),
Primary Key (IdEstudiante))
go
Create Table Materias
(IdMateria int,
Materia VarChar(30),
Primary Key (IdMateria))
go
Create Table Notas
(IdEstudiante int,
IdMateria int,
Nota decimal (10,2))
go
Ahora que tenems nuestras tablas
creadas con sus respectivas llaves
primarias, procederemos a crear los
constraint o relaciones para las tablas.
Alter Table Notas
add constraint fk_Notas_IdEstudiante
Foreign key (IdEstudiante)
References Estudiantes(IdEstudiante)
go
Alter Table Notas
add constraint fk_Notas_IdMateria
Foreign key (IdMateria)
References Materias(IdMateria)
go
ahora podemos perfectamente ver el
diagrama de la base de datos que queda
de esta forma:
Diagrama DB Inscripciones
Ahora nuestra base de datos est lista
para que podamos trabajar con ella, y
para que sea mas real, le agregaremos
algunos registros y jugaremos con ella un
poco
Primero, agregaremos algunos
estudiantes
Insert Into Estudiantes Values (01, Maria,
Hernandez, Col. Santa Isabel,
22542121)
Insert Into Estudiantes Values (02,
Oscar, Meja, Final 4 calle ote.,
26098345)
Insert Into Estudiantes Values (03,
Hilario, Urrutia, Final calle el progreso,
29078341)
Insert Into Estudiantes Values (04, Jos,
Quezada, Mejicanos, 23456895)
Insert Into Estudiantes Values (05,
Adriana, Urrutia, San Jacinto,
22204789)
Ahora agregamos algunas materias
Insert Into Materias Values(111, Base de
Datos II)
Inset Into Materias Values(114, Ingeniera
del Software)
Insert Into Materias Values(115, SQL
Server)
Ahora algunos registros de notas
Insert Into Notas Values (01, 111, 7)
Insert Into Notas Values (01, 115, 6.0)
Insert Into Notas Values (01, 115, 4)
Insert Into Notas Values (02, 111, 6)
Insert Into Notas Values (02, 114, 10)
Insert Into Notas Values (02, 115, 8.0)
Ahora, con la base creada y con registros
en ella podemos modificar lo que
queramos
por ejemplo, borrar los registros de notas
que correspondan a la materia Base de
Datos II:
Delete From notas Where IdMateria = 111
Modificarle a 9.0 la nota a Oscar Meja
para la materia Sql Server:
Update notas Set nota = 9.0 Where
IdEstudiante = 02 and IdMateria = 115
Modificar el nombre de la materia
Ingeniera del Software a Desarrollo de
Software:
Update Materias Set Materia = Desarrollo
del Software Where Materia = Ingeniera
del Software
Borrar a los estudiantes que tengan
apellido Urrutia:
Delete From Estudiantes Where Apellidos
= Urrutia
Mostrar a todos los estudiantes:
Select * From Estudiantes
Mostrar el apellido y la direccin del
estudiante 01
Select Apellidos, Direccion From
Estudiantes Where IdEstudiante = 01
Seleccionar el cdigo de materia, el
nombre de materia y la nota de las
materias que cursa el estudiante 02,
(Este inner join esta bueno para los que
nunca han consultado dos tablas a la
vez).
Select Materias.IdMateria,
Materias.Materia, Notas.Nota From
Materias inner join Notas on
Materias.IdMateria = Notas.IdMateria
Where Notas.IdEstudiante = 02
Muestra la nota media de cada estudiante
para las materias que cursa.
Select IdEstudiante, AVG(Nota) From Notas Group
By IdEstudiante