Lenguaje de Consulta Estructurado.pptx
-
Upload
edwuard-alejandro-castaneda-millan -
Category
Documents
-
view
215 -
download
0
Transcript of Lenguaje de Consulta Estructurado.pptx
BASE DE DATOS
Lenguaje de Consulta Estructurado
SQLStructured Query Language
Prof. Edwuard CastañedaActualizado a 10/05/2014
BASE DE DATOSAGENDA
•Definición de Lenguaje de Consulta Estructurado.
•Tipos de Sentencias SQL• DDL (Data Definition Language)
o CREATEo ALTERo DROP
• DML (Data Manipulation Language)o INSERTo UPDATEo DELETE
BASE DE DATOSSQL - Definición
Lenguaje Estándar de Comunicación con Base de
Datos, el cual está compuesto por un conjunto de
comandos que permiten manipular, administrar y
consultar datos requeridos para una organización.
BASE DE DATOSSQL - Características
• Crear estructuras de base de datos y tablas.
• Administración de datos (agregar, actualizar, eliminar)
• Consulta de datos previamente almacenados.
• Ofrece una sintaxis de “fácil” aprendizaje.
BASE DE DATOSSQL – Tipo de Sentencias
• Lenguaje de Definición de Datos (DDL).
Conjunto de Sentencias que afectan la estructura de los
elementos pertenecientes a una base de datos (Base de
datos, Tablas, Vistas, Funciones, Triggers, Indices,
Secuencias, Tipos de datos, entre otras)
Sentencias:
CREATE, ALTER, DROP
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
Ejemplos
CREATE DATABASE nombre_base_de_datos;
CREATE DATABASE clase1;Crea una base de datos de nombre clase1.
Recomendaciones
Para el nombre de la base de datos, no utilice espacios, ni caracteres especiales a
excepción de ‘_’.
Ejecute la sentencia show databases; para verificar que la misma se haya creado, y
luego escriba la sentencia use clase1, para posicionarnos en la base de datos
creada,
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
Sintaxis
CREATE TABLE nombre_de_tabla( campo1 tipo_de_dato otras_propiedades, campoN tipo_de_dato otras_propiedades
)Recomendaciones
Para el nombre de las tablas, no utilice espacios, ni caracteres especiales a
excepción de ‘_’. Ejecute la sentencia show tables; para verificar que la misma se
haya creado.
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
EjemplosCREATE TABLE duenho(
id integer primary key, nombres varchar(50)NOT NULL,apellidos varchar(50) not null,sexo character(1),fecha_nacimiento date
);
Recomendaciones
Ejecute la sentencia show tables; para verificar que la misma se haya creado.
Ejecute describe duenho para verificar los campos creados.
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
Ejemplos - Definiendo una clave foránea.
1.- Definir el Indice:
index (campo foráneo),
2.- Definir la clausula foreign key
foreign key(campo_foraneo) references tabla_externa(campo_primario)
3.- Definir regla sobre actualización y eliminación de el registro referencia:
On update Cascade On Delete Restrict
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
Ejemplos - Definiendo una clave foránea.
CREATE TABLE apartamento(nro_apto character(5) primary key, piso integer NOT NULL,cantidad_habitantes integer,id_duenho integer not null,index (id_duenho),foreign key(id_duenho) references duenho(id) on update cascade on delete restrict);
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
Ejemplos - Definiendo una clave foránea (sin declarar index y
colocando constraint)
CREATE TABLE apartamento(nro_apto character(5) primary key, piso integer NOT NULL,cantidad_habitantes integer,id_duenho integer not null,constraint fk_apto_duenho foreign key(id_duenho) references duenho(id) on update cascade on delete restrict);
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
CASCADE: Cuando se elimina o actualiza el registro en la tabla padre, de forma automática se elimina o actualiza los registros coincidentes en la tabla hija.
SET NULL: Cuando elimina o actualiza el registro en la tabla padre se colocan en NULL la(s) de clave foránea en la tabla hija. Siempre y cuando no hayan sido definidas como NOT NULL.
NO ACTION/RESTRICT: Al intentar eliminar o actualizar un valor de clave primaria, este no será permitido si en la tabla referenciada hay registros relacionados. InnoDB rechaza la operación de eliminación o actualización en la tabla padre.
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
Sintaxis
ALTER TABLE nombre_de_tabla especificaciones
EjemploAgregando columnas (add):
Alter table apartamento add column ubicación varchar(100);
Alter table apartamento add column ubicación varchar(100) default
‘frente’;
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
ALTER TABLE nombre_de_tabla especificaciones
EjemploCambiando nombre de columnas(change):
Alter table apartamento change localizacion ubicacion;
Cambiando el tipo de dato (modify)
Alter table apartamento modify ubicacion varchar(100);
Eliminando columna
Alter table apartamento drop ubicación;
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
ALTER TABLE nombre_de_tabla especificaciones
EjemploAgregando clave primaria:
Alter table apartamento add primary key (nro_apto);
Agregando clave foránea
Alter table apartamento add foreign key(id_duenho)
References duenho(id) on update cascade on delete restrict;
BASE DE DATOSSQL – Tipo de Sentencias - DDL
• Lenguaje de Definición de Datos (DDL).
DROP Database nombre_basededatos;
TABLE nombre_de_tabla;Ejemplo
Drop database clase1;
Drop table apartamento;
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
INSERT: inserción de datos en una tabla.
SintaxisInsert into tabla (campos) value (valores);
insert into duenho(id, nombres, apellidos, sexo, fecha_nacimiento)
values(1,’Edwuard’,’Castañeda’,’M’,’1977-01-29’);
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
INSERT: inserción de datos en una tabla.
Sintaxis (sin especificar los campos)Insert into tabla values (valores); Deben respetarse el orden en el
que fueron definidos los campos con sus respectivos valores.
insert into duenho values(2,’Ana’,’Pérez’,’F’,’1970-05-29’);
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
INSERT: inserción de datos en una tabla.
Sintaxis (Sin importar el orden de los campos)Insert into tabla (campo1, campo3, campo2) values (valor1,
valor3,valor2);
Ejemplo
insert into duenho(id, apellidos, nombres)
values(3,’Gómez’, ’Carlos’);
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
INSERT: inserción de datos en una tabla.
Sintaxis (Insertando varios registros)Insert into tabla (campos) values (valores),(valores),…,(valores);
Ejemplo
insert into duenho(id, nombres, apellidos, sexo, fecha_nacimiento)
values(4,’Julia’,’Ramirez’,’F’,’1971-12-29’),
(5,’Maria’,’López’,’F’,’1954-03-08’),
(6,’Pedro’,’Jimenes’,’M’,’1980-07-19’);
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
UPDATE: Actualización de datos en una tabla.
Sintaxis UPDATE TABLA
SET campo1 = valor1, campo2 = valor2, … campoN = valorNWHERE Condiciones (Si aplica);
Importante: Si no se especifican condiciones se actualizan
todos los registros.
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
UPDATE: Actualización de datos en una tabla.
EjemploUPDATE duenho
SET fecha_nacimiento = ‘1976-02-24’WHERE id=2;
Se actualiza la fecha de nacimiento del duenho que tiene id
igual a 2;
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
UPDATE: Actualización de datos en una tabla.
EjemploUPDATE apartamentos
SET id_duenho= 2WHERE piso=7;
Se actualiza el id_duenho de todos los apartamentos del piso 7
BASE DE DATOSSQL – Tipo de Sentencias - DML
• Lenguaje de Manipulación de Datos (DML).
DELETE: Eliminar datos en una tabla.
SintaxisDELETE FROM TableWHERE Condiciones (Opcional);
Ejemplo
DELETE FROM apartamentosWHERE piso=7;
Elimina todos los apartamentos del piso 7. Si no se especifican condiciones se eliminan todos los registros de la tabla.