Clase SQL Bases De Datos 2014
Base de Datos
SQL – Introducción
Structured Query Language
Es el lenguaje más universalmente usado para bases de datos
relacionales
Lenguaje declarativo de alto nivel
Desarrollado por IBM (1974-1977)
Se convirtió en un standard definido por :
ANSI (American National Standards Institute) e
ISO (International Standards Organization)
El standard actual es el SQL:1999 (aunquemuchas DBMS no lo
implementaron por completo aún. Existen revisiones del 2003 y 2006 )
SQL - Introducción
Las Sentencias del SQL se dividen en:
Sentencias DDL (Data Definition Language): Permiten
crear/modificar/borrar estructuras de datos.
Sentencias DML (Data Manipulation Languaje): para
manipular datos
Tambien provee sentencias para:
Definir permisos (control de acceso de usuarios)
Manejo de transacciones
Otros
SQL - Introducción
Términos
tabla
relación
fila tupla
columna atributo
DDL - Create table
CREATE TABLE empleados (
enombre
char(15) NOT NULL,
ecod
integer NOT NULL,
efnac
date,
dcod
integer
)
Crea la tabla empleados con 4 columnas. La tabla no tendrá
ninguna fila, hasta que no se ejecute un insert.
DDL - Create table
CREATE TABLE empleados(
enombre
char(15) NOT NULL,
ecod
integer NOT NULL,
efnac
date,
dcod
integer
) Primary Key (edoc)
Es posible definir una clave primaria
DDL - Create table
CREATE TABLE empleados
(
enombre
char(15) NOT NULL,
ecod
integer NOT NULL,
efnac
date,
dcod
integer
) Primary Key (edoc)
Foreign Key dcod References
Deptos
Define la columna dcod como clave foránea apuntando a Deptos
DDL – Sentencia Droptable
• DROP TABLE table;
Ejemplo:
DROP TABLE empleados;
Borra la tabla y todas sus filas
DDL – Alter table
Permite:
agregar columnas
cambiar la definición de columnas
agregar o borrar constraints
ALTER TABLE table
ADD (column datatype [DEFAULT expr]);
• ALTER TABLE table
MODIFY (column datatype [DEFAULT expr] );
• ALTER TABLE table
ADD FOREIGN KEY (column [,...]),]
REFERENCEStable((column [,...]);
SQL - Instrucciones DML
Instrucciones DML: Permiten Manipular (leer
y modificar) los datos almacenados en las
tablas.
INSERT: Crear nuevas filas en una tabla
SELECT: Leer filas (o columnas) de tablas.
UPDATE: Modificar filas existentes en una tabla
DELETE: Borrar filas de una tabla.
DML - INSERT
INSERT:
Agrega filas en una tabla.
Unica sentencia que provee SQLpara agregar filas.
Existen 2 Formas de ejecutar el insert
1) Usando la cláusula VALUES (agrega una sola fila por cada comando insert)
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);
INSERT INTO empleados VALUES (1, ‘Juan Perez’, ‘04/04/98’, 100)
INSERT INTO deptos (dcod, ddescr) VALUES (50, ‘CONTABILIDAD')
INSERT INTO deptos VALUES (50, ‘CONTABILIDAD')
2) Usando lacláusula SELECT (agrega un conjunto de filas mediante un solo insert)
Esta variante del INSERT La veremos más adelante……
DML – SELECT
SELECT [ALL/DISTINCT] select_list
FROM table [table alias] [,...]
[WHERE condition]
[GROUP BY column_list]
[HAVING condition]
[ORDER BY column_name [ASC/DESC] [,...]
DML – SELECT
SELECT a1, ..., an
FROM t1,....,tn
WHERE
ORDER BY ai, aj
En algebra relacional:a1…an (
SELECT
SELECT ecod, enombre
FROM empleados
WHERE dcod=5;
En algebra relacional:
ecod,enombre (
Obtener las columnas ecod, enombre de la tabla empleados
de aquellas filas cuya columna dcod tiene el valor 5
SELECT (*)
Para acceder a todas las columnas *
SELECT *
FROM empleados
WHERE dcod=40
Obtener TODAS las columnas de la tablaempleados
de aquellas filas cuya columna dcod tiene valor 40
DML - INSERT
Volvamos al Insert:
También pueden insertarse un conjunto de filas
INSERT INTO table [(column [, column...])]
SELECT...
INSERT INTO gerentes(gcod, gnombre, gsalario)
SELECT ecod, enombre, esalario
FROM
empleados
WHERE ecargo = ‘GERENTE';
La cantidad de columnas y tipos que devuelve el
select debe coincidir con la...
Regístrate para leer el documento completo.