290 likes | 531 Views
Unidad 3. Lenguaje SQL. Contenidos. Que es SQL ? Estructura de SQL Instrucciones DML Instrucciones DDL Funciones Diccionario de Datos Procedimientos Almacenados Ejercicio de Aplicacion. Lenguaje SQL. Que es SQL ???.
E N D
Unidad 3 Lenguaje SQL Contenidos • Que es SQL ? • Estructura de SQL • Instrucciones DML • Instrucciones DDL • Funciones • Diccionario de Datos • Procedimientos Almacenados • Ejercicio de Aplicacion
Lenguaje SQL • Que es SQL ??? • Es un Lenguaje estandard de alto nivel con el cual los DBMS interactuan con las aplicaciones del usuario. • Su nombre es la cicla de “Structured Query Language”, que traducido al español significa : Lenguaje de Consultas Estructurado.
Lenguaje SQL • Estructura de SQL • SQL clasifica sus instrucciones en de 2 tipos, de acuerdo al impacto de de de ellas sobre la Base de Datos : • De Definicion : DDL (Data Definition Language) • De Manipulacion :DML (Data Manipulation Language)
Lenguaje SQL • Instrucciones DML • Estas instrucciones actuaran sobre las tablas de la Base de Datos que administra el DBMS. Entre estas instrucciones se encuentran: • ·INSERT: Agrega tuplas en una tabla • ·SELECT: Consulta tuplas de una tabal • ·UPDATE: Actualiza tuplas de una tabla • ·DELETE: Borra tuplas de una tabla
Lenguaje SQL • Instrucciones DML • Select Instruccion que se define como la “estrella” por su versatilidad y mayor uso en las funciones de extraccion de datos de las BD
Lenguaje SQL • Instrucciones DML • Sintaxis y opciones SELECT [DISTINCT ] lista_elementos_selecciónFROM lista_referencias_tabla[ WHERE expresión_condicional ][ GROUP BY lista_columnas ][ HAVING expresión_condicional ][ ORDER BY lista_columnas ]
Lenguaje SQL • Instrucciones DML • Select distinct SELECT [DISTINCT ] lista_elementos_selección • Se eliminan las líneas que resultan duplicadas.
Lenguaje SQL • Instrucciones DML • Select Group by [ GROUP BY lista_columnas ] • Las líneas resultantes se reagrupan según los valores presentes en las columnas especificadas en la cláusula GROUP BY. • Líneas con valores iguales se unen en una única línea. • Las columnas no comprendidas en la cláusula tienen que comprender expresiones con funciones de agregación (como por ejemplo AVG, que calcula la media) que, por tanto, se calculan produciendo un único valor para cada grupo.
Lenguaje SQL • Instrucciones DML • Select Having [ HAVING expresión_condicional ] • Del resultado se eliminan las líneas que no satisfacen la expresión condicional de la cláusula HAVING. • Order by ORDER BY nombre_columna [ ASC | DESC ] [ , nombre_columna [ ASC | DESC ] ... ] • Las líneas del resultado se ordenan según los valores presentes en las columnas especificadas en la cláusula.
Lenguaje SQL • Instrucciones DML • Select Into • Permite insertar los resultados de un Query (Select) en una tabla de destino. • La tabla de destino debe existir y tener la estructura apropiada para recibir los datos. • Sintaxis: • Select <lista de campos> Into <tabla_destino>From <lista de tablas>Where <condición>
Lenguaje SQL • Instrucciones DML • Like • Permite realizar comparaciones parciales entre strings. • Utiliza un carácter de comodín, el cual le indica al DBMS que sección del string es irrelevante en la comparación. El carácter de comodín puede ser utilizado en cualquier posición del string. • Util para la búsqueda incompleta de nombres. • Se utiliza en la cláusula WHERE. • Sintaxis: • Where <campo> LIKE “%JUAN%” • Efecto: compara positivamente todo string que incluya en alguna posición “JUAN”
Lenguaje SQL • Instrucciones DML • INSERT INSERT INTO nombre_tabla (campo1, campo2 ...) VALUES (valor1, valor2, ...)
Lenguaje SQL • Instrucciones DML • DELETE • Sintaxis • DELETE nombre_tabla • WHERE expresión_condicional • Si no se especifica cláusula WHERE, borra toda la tabla.
Lenguaje SQL • Instrucciones DML • UPDATE Actualiza las tupla de una tabla Sintaxis • UPDATE nombre_tabla • SET campo1 = valor1, • campo2 = valor2, ... • WHERE expresión_condicional
Lenguaje SQL • Instrucciones DDL • Estas instrucciones actuaran sobre de las tablas del sistema del DBMS, en relación con los objetos de la Base de Datos. Entre estas instrucciones se encuentran: • ·CREATE : Crea Objetos en la Base de datos • ·DROP : Borra Objetos en la Base de Datos • ·ALTER : Modifica la definicion de objetos
Lenguaje SQL • Instrucciones DDL • CREATE TABLE creación de tabla Sintaxis • CREATE TABLEtable_name (column_name datatype[default {constant_expression}] [{identity | null | not null] [check {check_expression}] , next_column, ..., [constraint constraint_name primary key(fields) [clustered | nonclustered] [asc | desc] )
Lenguaje SQL • Instrucciones DDL • ALTER TABLE Modifica la definición de una tabla Sintaxis • ALTER TABLEtable_name (column_name datatype[default {constant_expression}] [{identity | null | not null] [check {check_expression}] , next_column, ..., [constraint constraint_name primary key(fields) [clustered | nonclustered] [asc | desc] )
Lenguaje SQL • Instrucciones DDL • DROP TABLE Borra la definicion de la tabla • Sintaxis • DROP TABLEtable_name
Lenguaje SQL • Instrucciones DDL • Ejemplos create table CLIENTE (RutClientechar(12) not null, NombreCliente char(30) not null, FechaNacimiento datetime not null default “01/01/1900”, SaldoCuenta numeric(12,2) not null default 0 check (SaldoCuenta >= 0), constraint Cliente_ID primary key (RutCliente) clustered asc)
Lenguaje SQL • Funciones • Funciones sobre Numéricos
Lenguaje SQL • Funciones • Funciones sobre Strings
Lenguaje SQL • Diccionario de Datos • Dada una Entidad y su lista de atributos, el diccionario de datos define el Dominio y reglas básicas para cada uno de ellos. Ejemplo: Empleado
Lenguaje SQL • Diccionario de Datos • Formato del diccionario de datos Nombre Entidad: Descripción: Atributos
Lenguaje SQL • Diccionario de Datos • Ejercicio: desarrolle el diccionario de datos
Lenguaje SQL • Procedimientos Almacenados • Definición • Permiten la creación de objetos tipo procedimientos o funciones, que son parte de la base de datos, e incluyen código SQL de consulta y/o manipulación de datos. • Estos procedimientos se invocan desde el mismo DBMS o desde aplicaciones clientes y permiten el paso de parámetros.
Lenguaje SQL • Procedimientos Almacenados • Encapsulan la lógica del negocio, minimizando el impacto de cambios en la estructura de la base de datos o lógica de los sistemas. • Permiten ocultar las tablas y sus estructuras a los usuarios y aplicaciones que utilizan la base de datos. • Provee un mecanismo de seguridad que impide a los usuarios finales tener acceso directo a las tablas.
Lenguaje SQL • Procedimientos Almacenados • Sintaxis: • Create Procedure <nombre_procedimiento>( @param1 <tipo de dato> <nulidad>, @param2 <tipo de dato> <nulidad>, ...) • AS<Código SQL> • End • Ejecución: • EXEC <nombre_procedimiento> param1, param2, ...
Lenguaje SQL • Ejercicio de Aplicación
Lenguaje SQL • Cantidad de Usuarios por tipo de Cliente • Valor Total de Activos Asignados por Cliente • Cantidad y valor total de Activos por Marca • Cantidad de Sucursales por Cliente • Identificación del activo de mayor y menor valor registrado en el sistema