Beruflich Dokumente
Kultur Dokumente
LENGUAJE DDL
Sentencia CREATE
CREATE DATABASE
Crea una nueva base de datos y los archivos que se usan para almacenar la base de datos, una
instantnea de base de datos, o adjunta una base de datos a partir de los archivos separados de
una base de datos creada anteriormente.
Una base de datos totalmente independiente incluye todos los metadatos y opciones de
configuracin necesarios para definirla y no tiene dependencias de configuracin en la instancia
de Motor de base de datos de SQL Server donde est instalada.
containment = none
on primary
(
Name = 'dbcolegio_mdf', --Se especifica el nombre del archivo
Filename = 'D:\dbcolegio.mdf', -- Se indica la direccin donde se
va a guardar
size = 15MB, --Se indica el tamao inicial
maxsize = 250mb, --Se indica que el mximo tamao que puede tener.
filegrowth =10mb Se indica en cuanto aumento si se alcanza el
mximo tamao.
),(
Name = 'dbcolegio_ndf',
Filename = 'D:\dbcolegio.ndf',
size = 15MB,
maxsize = unlimited,
filegrowth =10mb
)
CODIGO 1
Sentencia USE
--SENTENCIA USE
USE dbreserva
GO
CODIGO 2 : BASE DE DATOS DE RESERVA
on primary (
name = 'dbreserva_mdf',
filename = 'D:\dbreserva.mdf',
size = 15MB,
maxsize = 250MB,
filegrowth = 10MB
),(
name = 'dbreserva_ndf',
filename = 'D:\dbreserva.ndf',
size = 15MB,
maxsize = unlimited,
filegrowth = 10MB
)
log on
(name = 'dbreserva_ldf',
filename = 'D:\dbreserva.ldf',
size = 15MB,
maxsize = 500MB,
filegrowth = 10%
)
go
--SENTENCIA USE
use dbreserva
go
CREATE TABLE
La clusula constraint se utiliza cuando se usa las sentencias ALTER TABLE y CREATE
TABLE especifica el inicio de una definicin para una restriccin PRIMARY KEY,
UNIQUE, FOREIGN KEY o CHECK o una definicin DEFAULT.
PRIMARY KEY
Es una restriccin que aplica la integridad de entidad para una columna o columnas
especificadas mediante un ndice nico. Solo se puede crear una restriccin PRIMARY KEY
por cada tabla.
UNIQUE
Es una restriccin que proporciona integridad de entidad para una columna o columnas
especificadas mediante un ndice nico.
--Tabla Carrera
create table carrera(
clave_c int,
nom_c varchar(50),
durac_c float,
constraint pk_cc primary key(clave_c)
)
--Tabla materia
create table materia(
clave_m int,
nom_m varchar(50),
cred_m float,
constraint pk_cm primary key(clave_m)
)
--Tabla profesor
create table profesor(
clave_p int,
nom_p varchar(150),
dir_p varchar(200),
tel_p bigint,
hor_p datetime,
constraint pk_cp primary key (clave_p)
)
--Tabla alumno
create table alumno(
mat_alu int,
nom_alu varchar(150),
edad_alu int,
sem_alu int,
gen_alu varchar(10),
clave_c1 int,
constraint pk_calu primary key (mat_alu),
constraint fk_fc1 foreign key(clave_c1) references carrera(clave_c)
)
--Tabla alu_pro
create table alu_pro(
mat_alu1 int,
clave_p1 int,
constraint fk_falu1 foreign key(mat_alu1) references
alumno(mat_alu),
constraint fk_fp1 foreign key(clave_p1) references profesor(clave_p)
)
--Tabla mat_alu
create table mat_alu(
clave_m1 int,
mat_alu2 int,
constraint fk_fm1 foreign key(clave_m1) references materia(clave_m),
constraint fk_falu2 foreign key(mat_alu2) references alumno(mat_alu)
)
--Tabla mat_pro
create table mat_pro(
clave_m2 int,
clave_p2 int,
constraint fk_fm2 foreign key(clave_m2) references materia(clave_m),
constraint fk_fp2 foreign key(clave_p2) references profesor(clave_p)
)
Para crear el diagrama de relaciones, tiene que alterarse cada una de las tablas para el caso
de las base de datos de Reserva, muy diferente en el caso Colegio, en el que en la propia
sentencia de crate table se establecio dicha relacin.
Sentencia INSERT
use dbcolegio
go
insert into carrera values(1, 'Derecho',3)
insert into carrera values(2, 'Ingenieria sistemas',4)
insert into materia values(1, 'Matematicas' ,25)
insert into materia values(2,'Espaol', 15)
insert into profesor values(1, 'Laura Rosas', 'Calle
azul', 969591161, '7:00')
insert into profesor values(2,'Roberto Diaz', 'Calle
verde',959713486., '7:00')
insert into alumno values(1, 'Ana Cruz', 18,6,'Mujer',1)
insert into alu_pro values(1,2)
insert into mat_alu values(1,1)
insert into mat_pro values(2,2)
Al usar la instruccin insert into table values en llaves forneas se especifica el cdigo
select * from carrera
que este almacena)
select clave_m,nom_m from materia
CODIGO
select 5: RELACIONES
* from materia DE LA BASE DE DATOS RESERVA
select * from profesor
CODIGO 6: INSERTAR TABLAS BASE DE DATOS RESERVA
select nom_alu,edad_alu,sem_alu
from alumno inner join carrera on alumno.clave_c1 =
carrera.clave_c
--Seleccionar de la tabla alumno y la tabla carrera mediante
--La tabla alumno atributo clave_c1 asociada a la tablacarrera
atriburo clave_c
use dbcolegio
go
select nom_alu,edad_alu,sem_alu, nom_c,nom_p, nom_m
from alumno inner join carrera on alumno.clave_c1 =
carrera.clave_c
inner join alu_pro on alu_pro.mat_alu1=alumno.mat_alu
inner join profesor on profesor.clave_p=alu_pro.clave_p1
inner join mat_alu on mat_alu.mat_alu2=alumno.mat_alu
inner join materia on materia.clave_m= mat_alu.clave_m1
where edad_alu >18
use modificar
--Relacionando tablas
update nota
set subtot = cant*precio
from nota inner join producto on
producto.clave_prod=nota.clave_prod1
use dbreserva
go
select * from pais
select * from pasajero
update pasajero
set telefono='SIN FONO'
where idpais= (select idpais from pais where nombre = 'peru')
go
Delete From
TRUNCATE
OPERADORES MATEMATICOS
ARITMETICOS
ASIGNACION
--DECLARACION DE VALORES
DECLARE @PI FLOAT
DECLARE @RADIO FLOAT
DECLARE @AREA FLOAT
--ASIGNAMOS VALORES
SET @PI = 3.1415
SET @RADIO = 7
--ENCONTRAR EL AREA DEL CIRCULO
--SET @AREA = @PI*@RADIO*@RADIO
SET @AREA = @PI * power(@RADIO,2)
SELECT @AREA AS [AREA]
USE dbreserva
GO
DECLARE @CORREO VARCHAR(70)
SELECT @CORREO=email from pasajero
where idpasajero = '00000005'
OPERADORES LOGICOS
AND : LOGICA Y
COMBINACIN DE TABLAS
En determinadas ocasiones se tendr que unir las tablas para combinar valores y
poder mostrarlos juntos en una consulta para esto utilizamos la clusula JOIN.
Existen 2 tipos:
Interna: Devuelvan todas las filas que cumplen con la condicin de las
tablas, en caso de encontrarse coincidencia de valores no muestra nada.
Externa: Las filas resultantes no son directamente de la tabla de origen,
podra ser la izquierda derecha o completa.
INNER JOIN
PERMITE EMPAREJAR FILAS DE DISTINTAS TABLAS DE FORMA MS EFICIENTE QUE
CON EL PRODUCTO CARTESIANO CUANDO UNA DE LAS COLUMNAS DE
EMPAREJAMIENTO ESTA INDEXADA.